Revision: 201015
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 16:12:37 +0300
changeset 20 244d7c5f118e
parent 19 1f776524b15c
child 23 6b1d113cdff3
Revision: 201015 Kit: 201015
basebandabstraction/basebandchanneladaptor/group/networking_bca.mrp
basebandadaptationplugins/basebandchanneladaptorforc32/group/networking_c32bca.mrp
cellularsrv_info/cellularsrv_metadata/cellularsrv_metadata.mrp
cellularsrv_info/telephonyconfidentialdocs/telephony_confidential.mrp
cellularsrv_info/telephonydocs/telephony_documentation.mrp
fax/faxclientandserver/FAXCLI/CFAXSET.CPP
fax/faxclientandserver/FAXCLI/CFAXTSRC.CPP
fax/faxclientandserver/FAXCLI/FAXCLI.CPP
fax/faxclientandserver/FAXSVR/CFAX1.CPP
fax/faxclientandserver/FAXSVR/CFAX2.CPP
fax/faxclientandserver/FAXSVR/CFAX20.CPP
fax/faxclientandserver/FAXSVR/CFAXMDRV.CPP
fax/faxclientandserver/FAXSVR/CFAXMODM.CPP
fax/faxclientandserver/FAXSVR/FAXMDRV.H
fax/faxclientandserver/FAXSVR/FAXMDRV.INL
fax/faxclientandserver/FAXSVR/FAXMODEM.H
fax/faxclientandserver/FAXSVR/FAXMODEM.INL
fax/faxclientandserver/FAXSVR/FAXSERV.CPP
fax/faxclientandserver/FAXSVR/FAXSERV.H
fax/faxclientandserver/FAXSVR/FAXSTUB.CPP
fax/faxclientandserver/FAXSVR/FAXSTUB.H
fax/faxclientandserver/FAXSVR/FONT8X16.DAT
fax/faxclientandserver/FAXSVR/FRAMES.H
fax/faxclientandserver/FAXSVR/ZEROS.DAT
fax/faxclientandserver/Group/FAXCLI.MMP
fax/faxclientandserver/Group/FAXIO.MMP
fax/faxclientandserver/Group/FAXSTB.MMP
fax/faxclientandserver/Group/FAXSVR.MMP
fax/faxclientandserver/Group/Fax.iby
fax/faxclientandserver/Group/FaxIO.iby
fax/faxclientandserver/Group/bld.inf
fax/faxclientandserver/Group/faxstrm.iby
fax/faxclientandserver/Group/faxstrm.mmp
fax/faxclientandserver/Group/telephony_fax.history.xml
fax/faxclientandserver/Group/telephony_fax.mrp
fax/faxclientandserver/Inc/CFAX32.H
fax/faxclientandserver/Inc/CFAX32.INL
fax/faxclientandserver/Inc/FAXLOG.H
fax/faxclientandserver/Inc/FAXSET.H
fax/faxclientandserver/Inc/FAXSTD.H
fax/faxclientandserver/Inc/FAXTSRC.H
fax/faxclientandserver/Inc/faxerr.ra
fax/faxclientandserver/Inc/faxerr.rls
fax/faxclientandserver/Inc/faxsettings.h
fax/faxclientandserver/Test/TE_FAX/TE_Fax.iby
fax/faxclientandserver/Test/TE_FAX/TE_Fax.ini
fax/faxclientandserver/Test/TE_FAX/TE_Fax.mmp
fax/faxclientandserver/Test/TE_FAX/TE_FaxBase.cpp
fax/faxclientandserver/Test/TE_FAX/TE_FaxBase.h
fax/faxclientandserver/Test/TE_FAX/TE_FaxServer.cpp
fax/faxclientandserver/Test/TE_FAX/TE_FaxServer.h
fax/faxclientandserver/Test/TE_FAX/TE_FaxTest.cpp
fax/faxclientandserver/Test/TE_FAX/TE_FaxTest.h
fax/faxclientandserver/Test/TE_FAX/TE_Fax_9210_IR.cfg
fax/faxclientandserver/Test/TE_FAX/TE_Fax_9210_comm0.cfg
fax/faxclientandserver/Test/TE_FAX/TE_Fax_9210_comm1.cfg
fax/faxclientandserver/Test/TE_FAX/TE_Fax_BadPage.FAX
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Blank.FAX
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Chart4.FAX
fax/faxclientandserver/Test/TE_FAX/TE_Fax_No_Phone.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_One.FAX
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Receive_Comm0.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Receive_Comm1.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Receive_IR.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Setup_Comm0.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Setup_Comm1.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Setup_IR.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Six.FAX
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Test.FAX
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Transmit_Comm0.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Transmit_Comm1.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Transmit_IR.script
fax/faxclientandserver/Test/TE_FAX/TE_Fax_Two.FAX
fax/faxclientandserver/Test/bwins/TE_FAXU.DEF
fax/faxclientandserver/bwins/FAXCLIU.DEF
fax/faxclientandserver/bwins/FAXIOU.DEF
fax/faxclientandserver/bwins/FAXSTBU.DEF
fax/faxclientandserver/bwins/FAXSTRMU.DEF
fax/faxclientandserver/bwins/FAXSVRU.DEF
fax/faxclientandserver/eabi/FAXCLIU.DEF
fax/faxclientandserver/eabi/FAXSTRMU.def
fax/faxclientandserver/eabi/FAXSVRU.DEF
fax/faxclientandserver/eabi/FaxIOU.def
fax/faxclientandserver/eabi/faxstbu.def
fax/faxclientandserver/faxio/CFAXIO.H
fax/faxclientandserver/faxio/FAXHEAD.CPP
fax/faxclientandserver/faxio/FAXHUFF.H
fax/faxclientandserver/faxio/FAXIO.CPP
fax/faxclientandserver/faxio/FAXSTPAN.H
fax/faxclientandserver/faxio/FAXUHUFF.H
fax/faxclientandserver/faxstrm/FAXSTORE.H
fax/faxclientandserver/faxstrm/FAXSTPAN.H
fax/faxclientandserver/faxstrm/FAXSTRM.CPP
fax/faxclientandserver/faxstrm/faxpageinfo.h
hwpluginsimulation/mocksy/group/telephony_tools_mocksy.mrp
package_definition.xml
smsprotocols/smsstack/documentation/SMS Design.mdl
smsprotocols/smsstack/group/nbprotocols_smsstackv2.mrp
smsprotocols/smsstack/gsmu/inc/gsmupdu.h
smsprotocols/smsstack/gsmu/inc/gsmustor.h
smsprotocols/smsstack/gsmu/src/Gsmuelem.cpp
smsprotocols/smsstack/gsmu/src/gsmupdu.cpp
smsprotocols/smsstack/gsmu/src/gsmustor.cpp
smsprotocols/smsstack/smsprot/Group/bld.inf
smsprotocols/smsstack/smsprot/Inc/smspproc.h
smsprotocols/smsstack/smsprot/Inc/smspqueue.h
smsprotocols/smsstack/smsprot/Inc/smsprot.h
smsprotocols/smsstack/smsprot/Src/smspenum.cpp
smsprotocols/smsstack/smsprot/Src/smspqueue.cpp
smsprotocols/smsstack/smsprot/Src/smsprov.cpp
smsprotocols/smsstack/smsprot/Src/smspstor.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscaps.mmp
smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsserver.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsserver.h
smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsstep.h
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.h
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.mmp
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.script
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTBASE.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTBASE.h
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTSERVER.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTSERVER.h
smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_smsemsprt_setup.script
smsprotocols/smsstack/smsprot/Test/TE_SMSINTER/TE_smsinterbase.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.h
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.mmp
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress_setup.script
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressbase.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressbase.h
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressserver.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressserver.h
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressutils.h
smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/te_smsprtstress.script
smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstor.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstor.h
smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstorbase.cpp
smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstorbase.h
smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/te_smsstor.script
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SIMTSYTestNumbers.ini
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SMSOutOfDiskSpace.ini
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SMSStackOutOfDiskSpace.txt
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_CloseSMSProtocol.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DeleteSARStores.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DiskSpaceMonitor.ini
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DoESockMemoryLeakTest.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_EnumerateInOODCondition.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_FreeDiskSpace.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_LoadSMSProtocol.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_ReceiveSMS.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SendReceiveSMSWhileServerInOOM.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SendSMS.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SetDiskSpace.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SetDiskSpaceMonitorLimits.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsmondsk.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.mmp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.script
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt_setup.script
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtbase.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtbase.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtserver.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtserver.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_Class0StoreEnabled.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_ForwardSystemTime.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SMSStackOutOfDiskSpace.script
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SmsTestSteps.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SmsTestSteps.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportScheme.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportScheme.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeSteps.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeTransfer.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeTransfer.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_smsprt_data.ini
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_smsprttestcase.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/logcheck.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/logcheck.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprt_R6.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprt_R6.h
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprttestcase.cpp
smsprotocols/smsstack/smsprot/Test/TE_Smsprt/tsmsprt_config.txt
smsprotocols/smsstack/smsprot/Test/configfiles/tsmsemsprt_config.txt
smsprotocols/smsstack/smsprot/Test/configfiles/tsmsprtstress_config.txt
smsprotocols/smsstack/smsu/inc/smsuaddr.H
smsprotocols/smsstack/smsu/src/smsustrm.cpp
smsprotocols/smsstack/test/TE_R6SMS/TE_testR6SMS.cpp
smsprotocols/smsstack/test/TE_R6SMS/TE_testR6SMS.h
smsprotocols/smsstack/test/bld.inf
smsprotocols/smsstack/test/bwins/SMSSTACKTESTUTILITIESU.DEF
smsprotocols/smsstack/test/configfiles/PDU Book.xls
smsprotocols/smsstack/test/eabi/smsstacktestutilitiesU.def
smsprotocols/smsstack/test/smsstackbackupeskfile.script
smsprotocols/smsstack/test/smsstackbasetestserver.cpp
smsprotocols/smsstack/test/smsstackbasetestserver.h
smsprotocols/smsstack/test/smsstackbaseteststeps.cpp
smsprotocols/smsstack/test/smsstackbaseteststeps.h
smsprotocols/smsstack/test/smsstackcleanprivatedata.script
smsprotocols/smsstack/test/smsstackrestoreeskfile.script
smsprotocols/smsstack/test/smsstacksimtsytestnumbers.ini
smsprotocols/smsstack/test/smsstacktestcase.cpp
smsprotocols/smsstack/test/smsstacktestcase.h
smsprotocols/smsstack/test/smsstacktestconsts.h
smsprotocols/smsstack/test/smsstacktestutilities.cpp
smsprotocols/smsstack/test/smsstacktestutilities.h
smsprotocols/smsstack/test/smsstacktestutilities.mmp
smsprotocols/smsstack/test/te_smsstack.iby
smsprotocols/smsstack/wapprot/Inc/WAPDGRM.H
smsprotocols/smsstack/wapprot/Inc/wapthdr.inl
smsprotocols/smsstack/wapprot/Src/wapdgrm.cpp
smsprotocols/smsstack/wapprot/Src/wappstor.cpp
smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_testwapdgrm.cpp
smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_wapdgrm.mmp
smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_wapdgrmbase.h
smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_testwapthdr.cpp
smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_testwapthdr.h
smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdr.mmp
smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdr.script
smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdrbase.h
smsprotocols/smsstack/wapprot/test/Te_wapprot/Config.txt
smsprotocols/smsstack/wapprot/test/Te_wapprot/TE_WapProt.mmp
smsprotocols/smsstack/wapprot/test/Te_wapprot/Te_WapProt.script
smsprotocols/smsstack/wapprot/test/Te_wapprot/Te_WapStackOutOfDiskSpace.script
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapIoctlSteps.cpp
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapIoctlSteps.h
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuite.ini
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteDefs.h
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.cpp
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.h
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteStepBase.cpp
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteStepBase.h
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.cpp
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.h
smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.ini
telephonyprotocols/csdagt/group/networking_csdagt.mrp
telephonyprotocols/gprsumtsqosinterface/group/networking_umtsif.mrp
telephonyprotocols/gprsumtsqosprt/group/networking_guqos.mrp
telephonyprotocols/pdplayer/group/networking_pdp.mrp
telephonyprotocols/pdplayer/src/mbmsengine.cpp
telephonyprotocols/pdplayer/src/pdptiermanager.cpp
telephonyprotocols/pdplayer/src/psdavailabilitylistener.cpp
telephonyprotocols/pdplayer/umts/Documentation/UmtsGprsSCPR - Design - UML.vsd
telephonyprotocols/pdplayer/umts/Documentation/UmtsGprsSCPR - Design.vsd
telephonyprotocols/pdplayer/umts/spudtel/src/eteldriverstrategies.cpp
telephonyprotocols/pdplayer/umts/test/te_spud/src/SpudUnitTestStepBase.cpp
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6.cfg
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6.ini
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6_loopbackcsy.ini
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6_simtsy_config.txt
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_spudNetworkSide.ini
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_spudNetworkSide_config_9x.txt
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/group/BLD.INF
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/group/TE_spudNetworkSide.iby
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/scripts/te_pdplayer_ip6.script
telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/src/te_spudNetworkSideSteps.cpp
telephonyprotocols/pdplayer/umts/test/te_spudRSubConn/src/te_spudRSubConnSteps.cpp
telephonyprotocols/psdagt/group/networking_psdagt.mrp
telephonyprotocols/qos3gppcpr/group/networking_Qos3GPP.mrp
telephonyprotocols/qosextnapi/group/networking_qosextnapi.mrp
telephonyprotocols/rawipnif/group/networking_rawipnif.mrp
telephonyprotocols/rawipnif/inc/BcaIoController.h
telephonyprotocols/rawipnif/inc/Constants.h
telephonyprotocols/rawipnif/src/BcaIoController.cpp
telephonyprotocols/rawipnif/version1/group/networking_rawipnif.mrp
telephonyprotocols/secondarypdpcontextumtsdriver/group/networking_spud.mrp
telephonyserver/etelmultimode/CETEL/mm_phone.cpp
telephonyserver/etelmultimode/DTsy/mmtsy.h
telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp
telephonyserver/etelmultimode/INC/ETELMM.H
telephonyserver/etelmultimode/INC/secure/ETELMMCS.H
telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmphone.cpp
telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmphone.h
telephonyserver/etelmultimode/bwins/ETELMMU.def
telephonyserver/etelmultimode/eabi/ETelmmU.DEF
telephonyserver/etelmultimode/group/telephony_etelmm.mrp
telephonyserver/etelpacketdata/documentation/PREQ1405 Use Case Diagrams.EAP
telephonyserver/etelpacketdata/group/telephony_etelpckt.mrp
telephonyserver/etelserverandcore/EtelRecorder/playback/inc/tipclookup.h
telephonyserver/etelserverandcore/SETEL/ET_SVR.CPP
telephonyserver/etelserverandcore/TETEL/CapTestFramework/EtelMessage.csv
telephonyserver/etelserverandcore/group/etel.iby
telephonyserver/etelserverandcore/group/telephony.iby
telephonyserver/etelserverandcore/group/telephony_etel-config.mrp
telephonyserver/etelserverandcore/group/telephony_etel.mrp
telephonyserver/etelsimtoolkit/group/telephony_etelsat.mrp
telephonyserverplugins/common_tsy/commontsy/exportinc/serviceapi/MmTsy_IPCdefs.h
telephonyserverplugins/common_tsy/commontsy/inc/mmsms/cmmussdtsy.h
telephonyserverplugins/common_tsy/commontsy/inc/mmstorage/cmmphonebookstoretsy.h
telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmphonetsy.h
telephonyserverplugins/common_tsy/commontsy/inc/mmutility/MmTsy_timeoutdefs.h
telephonyserverplugins/common_tsy/commontsy/src/mmcustomtsy/CMmCustomTsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmcustomtsy/CMmSIMTsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketcontexttsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketqostsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketservicetsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmbroadcasttsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmsmsstoragetsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmsmstsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmussdtsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmenstoretsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmtsy/CMmMessageRouterProxy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmconferencecalltsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmnettsy.cpp
telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmphonetsy.cpp
telephonyserverplugins/common_tsy/group/telephony_commontsy.mrp
telephonyserverplugins/common_tsy/phonetsy/src/cmmphonefactorytsy.cpp
telephonyserverplugins/common_tsy/test/component/group/component_test.pkg
telephonyserverplugins/common_tsy/test/component/inc/cctsycallcontrolfu.h
telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmmmessagerouter.cpp
telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmockphonemesshandler.cpp
telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/ipcnames.cpp
telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callcontrol_individual.script
telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_phoneidentity_individual.script
telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_smsmessaging_individual.script
telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsyphoneidentityfu.cpp
telephonyserverplugins/common_tsy/test/component/src/cctsysmsmessagingfu.cpp
telephonyserverplugins/common_tsy/test/component/testdata/TestGetPhoneId0001f.ini
telephonyserverplugins/common_tsy/test/integration/group/integration_test.pkg
telephonyserverplugins/common_tsy/test/integration/group/te_ctsyintegrationtestsuite.iby
telephonyserverplugins/common_tsy/test/integration/inc/cctsyinidata.h
telephonyserverplugins/common_tsy/test/integration/inc/cctsyintegrationtestsmsmessaging.h
telephonyserverplugins/common_tsy/test/integration/inc/tnetworktsytesthelper.h
telephonyserverplugins/common_tsy/test/integration/scripts_implemented/te_ctsyintegration_customapi_auto.script
telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallwaiting.cpp
telephonyserverplugins/common_tsy/test/integration/src/tnetworktsytesthelper.cpp
telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp
telephonyserverplugins/common_tsy/test/integration/testdata/ctsyintegration_ntn_data.ini
telephonyserverplugins/common_tsy/test/integration/testdata/testexecute.ini
telephonyserverplugins/ctsydispatchlayer/group/telephony_dispatcher.mrp
telephonyserverplugins/licenseetsystub/group/licenseetsystub.mrp
telephonyserverplugins/multimodetsy/Multimode/ETELFAX.CPP
telephonyserverplugins/multimodetsy/Multimode/ETELFAX.H
telephonyserverplugins/multimodetsy/eabi/MMU.DEF
telephonyserverplugins/multimodetsy/group/mmtsy.mmp
telephonyserverplugins/multimodetsy/group/telephony_mmtsy.mrp
telephonyserverplugins/multimodetsy/hayes/ATANSWER.CPP
telephonyserverplugins/multimodetsy/hayes/ATANSWER.H
telephonyserverplugins/multimodetsy/hayes/ATCALL.CPP
telephonyserverplugins/multimodetsy/hayes/ATCONNCT.CPP
telephonyserverplugins/multimodetsy/hayes/ATCONNCT.H
telephonyserverplugins/multimodetsy/hayes/ATDIAL.CPP
telephonyserverplugins/multimodetsy/hayes/ATDIAL.H
telephonyserverplugins/multimodetsy/hayes/ATHANGUP.CPP
telephonyserverplugins/multimodetsy/hayes/ATHANGUP.H
telephonyserverplugins/multimodetsy/hayes/CALL.CPP
telephonyserverplugins/multimodetsy/hayes/CALL.H
telephonyserverplugins/multimodetsy/hayes/FAX.CPP
telephonyserverplugins/multimodetsy/hayes/FAX.H
telephonyserverplugins/multimodetsy/hayes/LINE.CPP
telephonyserverplugins/multimodetsy/hayes/LINE.H
telephonyserverplugins/multimodetsy/hayes/NOTIFY.CPP
telephonyserverplugins/multimodetsy/hayes/PHONE.CPP
telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBack.script
telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcincall.cpp
telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcincall.h
telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcssfax.cpp
telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackctwofaxrx.cpp
telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_Loopbackcfaxpremclose.cpp
telephonyserverplugins/simatktsy/group/commonsimatktsy.mrp
telephonyserverplugins/simtsy/group/telephony_simtsy.mrp
telephonyserverplugins/simtsy/inc/CSimCallForwarding.h
telephonyserverplugins/simtsy/inc/CSimPhone.h
telephonyserverplugins/simtsy/inc/SimConstants.h
telephonyserverplugins/simtsy/inc/SimTsy.h
telephonyserverplugins/simtsy/inc/Simlog.h
telephonyserverplugins/simtsy/inc/csimsmsmess.h
telephonyserverplugins/simtsy/src/CSimCallForwarding.cpp
telephonyserverplugins/simtsy/src/CSimPhone.cpp
telephonyserverplugins/simtsy/src/csimsmsmess.cpp
telephonyserverplugins/simtsy/test/Te_SimNetwork/Te_SimNetwork_config.txt
telephonyutils/dial/group/telephony_dial.mrp
telephonyutils/etel3rdpartyapi/Group/telephony_etel3rdparty.mrp
telephonyutils/telephonywatchers/group/telephony_watchers.mrp
--- a/basebandabstraction/basebandchanneladaptor/group/networking_bca.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/basebandabstraction/basebandchanneladaptor/group/networking_bca.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_bca
 source	\sf\os\cellularsrv\basebandabstraction\basebandchanneladaptor
 binary	\sf\os\cellularsrv\basebandabstraction\basebandchanneladaptor\group	all
--- a/basebandadaptationplugins/basebandchanneladaptorforc32/group/networking_c32bca.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/basebandadaptationplugins/basebandchanneladaptorforc32/group/networking_c32bca.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_c32bca
 source	\sf\os\cellularsrv\basebandadaptationplugins\basebandchanneladaptorforc32
 binary	\sf\os\cellularsrv\basebandadaptationplugins\basebandchanneladaptorforc32\group	all
--- a/cellularsrv_info/cellularsrv_metadata/cellularsrv_metadata.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/cellularsrv_info/cellularsrv_metadata/cellularsrv_metadata.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component           cellularsrv_metadata
 source   \sf\os\cellularsrv\cellularsrv_info\cellularsrv_metadata 
 source   \sf\os\cellularsrv\package_definition.xml
--- a/cellularsrv_info/telephonyconfidentialdocs/telephony_confidential.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/cellularsrv_info/telephonyconfidentialdocs/telephony_confidential.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_confidential
 
 source	\sf\os\cellularsrv\cellularsrv_info\telephonyconfidentialdocs
--- a/cellularsrv_info/telephonydocs/telephony_documentation.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/cellularsrv_info/telephonydocs/telephony_documentation.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_documentation
 
 source	\sf\os\cellularsrv\cellularsrv_info\telephonydocs\
--- a/fax/faxclientandserver/FAXCLI/CFAXSET.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "CFAX32.H"
-#include "faxsettings.h"
-
- #include <commsdattypesv1_1.h>
- 
- using namespace CommsDat;
-
-// amended August 1998 as follows :
-
-// 1. TFaxSettings is defined, with its internalize and externalize functions,
- // in this module solely for use by the apps that use faxtrans.  They should
- // decide where the setting are stored and get or set them using the
- // functions here. A reference to the settings to use are passed to
- // faxtrans as parameters on instantiation of the CFaxTransfer object - eg
- //
- // CFaxTransfer * session =  CFaxTransfer::NewL (aFaxSettings);
- //
- // 2. A number of items previous part of TFaxSettings are now kept as part of
- // the modem definitions by Dialstor - these include both ModemInitString
- // and FaxInitString, together with the CSY module name and the comm port
- // name and number.  Most importantly, the fax modem class is now part of the
- // Dialstor data. A TDialstorModemPreferences object with this information in it is now
- // part of the TFaxSettings, but this need NOT be initialized in the
- // reference passed to CFaxTransfer on instantiation.  If the modem class
- // does happen to be unknown, then a special CFaxModemDriver is used which
- // does autodetection and nothing else.
- //
- // 3. As a conseqence, CFaxSettings no longer has Get or Set functions
- // for TFaxSettings.  Instead, we have a ValidateAndGetClass function to
- // validate the passed values in TFaxSettings (in case they are
- // nonsense) and get the values from DialStore.
- //
-
-/********************************************************************/
-
-EXPORT_C TFaxSettings& TFaxSettings::operator=(const TFaxSettings& aFaxSettings)
-/** Assignment operator.
-
-Copies the content of one TFaxSettings into another, replacing the existing 
-content.
-
-@param aFaxSettings A reference to the TFaxSettings to be copied. 
-@return A reference to this TFaxSettings. 
-@capability None
-*/
-	{
-	iFaxId = aFaxSettings.iFaxId;
-	iMaxSpeed = aFaxSettings.iMaxSpeed;
-	iMinSpeed = aFaxSettings.iMinSpeed;
-	iPreferredResolution = aFaxSettings.iPreferredResolution;
-	iPreferredCompression = aFaxSettings.iPreferredCompression;
-	iPreferredECM = aFaxSettings.iPreferredECM;
-	iVerbose = aFaxSettings.iVerbose;
-	iFaxOnDemandDelay = aFaxSettings.iFaxOnDemandDelay;
-	iFaxClass = aFaxSettings.iFaxClass;
-	return (*this);
-	}
-
-/********************************************************************/
-
-EXPORT_C void TFaxSettings::ExternalizeL (RWriteStream & inifile) const
-/** Externalises the TFaxSettings object to a write stream. The presence of this
-function means that the standard templated operator<<() (defined in s32strm.h) is available
-to externalise objects of this class.
-
-@param inifile  The stream to which the object should be externalised. 
-@capability None
-*/
-   {
-   inifile << iFaxId;
-   inifile.WriteInt32L (iMaxSpeed);
-   inifile.WriteInt32L (iMinSpeed);
-   inifile.WriteInt32L (iPreferredResolution);
-   inifile.WriteInt32L (iPreferredCompression);
-   inifile.WriteInt32L (iPreferredECM);
-   inifile.WriteInt32L (iVerbose);
-   inifile.WriteInt32L (iFaxOnDemandDelay);
-   inifile.WriteInt32L (iFaxClass);
-   }
-/********************************************************************/
-
-EXPORT_C void TFaxSettings::InternalizeL (RReadStream & inifile)
-/** Internalises the TFaxSettings object from a read stream. The presence of this
-function means that the standard templated operator>>() (defined in s32strm.h) is 
-available to internalise objects of this class. This function may leave if there 
-is a problem reading from the stream, or if internalisation causes an out of memory 
-error. 
-@param inifile  The stream from which the object should be internalised. 
-@capability None
-*/
-   {
-   inifile >> iFaxId;
-   iMaxSpeed = inifile.ReadInt32L ();
-   iMinSpeed = inifile.ReadInt32L ();
-   iPreferredResolution = (TFaxResolution) inifile.ReadInt32L ();
-   iPreferredCompression = (TFaxCompression) inifile.ReadInt32L ();
-   iPreferredECM = inifile.ReadInt32L ();
-   iVerbose = inifile.ReadInt32L ();
-   iFaxOnDemandDelay = inifile.ReadInt32L ();
-   iFaxClass = (TFaxClass) inifile.ReadInt32L ();
-   }
-/********************************************************************/
-
-CFaxSettings *CFaxSettings::NewLC ()
-   {
-   CFaxSettings *self = new (ELeave) CFaxSettings;
-   CleanupStack::PushL (self);
-   self->ConstructL ();
-   return self;
-   }
-/********************************************************************/
-
-CFaxSettings *CFaxSettings::NewL ()
-   {
-   CFaxSettings *self = NewLC ();
-   CleanupStack::Pop ();
-   return self;
-   }
-/********************************************************************/
-
-void CFaxSettings::ConstructL()
-	{
-
-	}
-/********************************************************************/
-
-CFaxSettings::~CFaxSettings ()
-   {
-   }
-/********************************************************************/
-
-void CFaxSettings::ValidateAndSetClassL (TFaxSettings * aFaxSettings)
-	{
-	TInt badspeed;
-
-	TFaxClass passedFaxClass = aFaxSettings->iFaxClass;
-	// first we check that the settings we are making are within range
-
-	badspeed = aFaxSettings->iMaxSpeed % 2400;
-	if (badspeed)
-		aFaxSettings->iMaxSpeed -= badspeed;
-	if ((aFaxSettings->iMaxSpeed > 14400) || (aFaxSettings->iMaxSpeed < 2400))
-		aFaxSettings->iMaxSpeed = 9600;
-
-	badspeed = aFaxSettings->iMinSpeed % 2400;
-	if (badspeed)
-		aFaxSettings->iMinSpeed -= badspeed;
-	if ((aFaxSettings->iMinSpeed > 14400) || (aFaxSettings->iMinSpeed < 2400))
-		aFaxSettings->iMinSpeed = 2400;
-
-	if (aFaxSettings->iMinSpeed > aFaxSettings->iMaxSpeed)
-		aFaxSettings->iMinSpeed = aFaxSettings->iMaxSpeed;
-
-	if (aFaxSettings->iPreferredResolution != EFaxNormal)
-		aFaxSettings->iPreferredResolution = (TFaxResolution)EFaxFine;
-
-	if (aFaxSettings->iPreferredCompression != (TFaxCompression)EModifiedHuffman)
-		aFaxSettings->iPreferredCompression = (TFaxCompression)EModifiedRead;
-
-	// second we read the current modem class
-
-	// AnnW, 9/8/99 - This all assumes that we are taking the modem settings from the 
-	// dial out IAP, which is fince for now, but may not be in the future?  This may also 
-	// need modifying for Linda?
-
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-	CleanupStack::PushL(db);
-	
-	// Read the currently selected connection preference and find preferred IAP
-	TInt prefRank  = 1;
-	
-	CCDConnectionPrefsRecord *connectionPrefs =
-		static_cast<CCDConnectionPrefsRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord));
-	CleanupStack::PushL(connectionPrefs);
-	connectionPrefs->iRanking = prefRank;
-	connectionPrefs->iDirection = ECommDbConnectionDirectionOutgoing;
-	connectionPrefs->FindL(*db);
-	
-	// The following code is a temporary solution until an issue has been resolved in CommsDat
-	// start
-	CCDIAPRecord* tempPIapRecord =
-		static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
-	tempPIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	connectionPrefs->iDefaultIAP.iLinkedRecord = tempPIapRecord;
-	
-	CCDIAPRecord* pIapRecord = (CCDIAPRecord*)connectionPrefs->iDefaultIAP.iLinkedRecord;
-	pIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	pIapRecord->LoadL(*db);
-	
-	CCDBearerRecordBase* tempBearerRecord =
-		static_cast<CCDBearerRecordBase*>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
-	tempBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pIapRecord->iBearer.iLinkedRecord = tempBearerRecord;
-
-	CCDBearerRecordBase* pBearerRecord = (CCDBearerRecordBase*) pIapRecord->iBearer.iLinkedRecord;
-	pBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pBearerRecord->LoadL(*db);
-	// end
-	
-	TUint32 iapId = pBearerRecord->iRecordTag;
-	
-	CMDBField<TUint32>* bearerField = new(ELeave) CMDBField<TUint32>(KCDTIdIAPBearer);
-	CleanupStack::PushL(bearerField);
-	bearerField->SetRecordId(iapId);
-	bearerField->LoadL(*db);
-	TUint32 modemId = *bearerField;
-	CleanupStack::PopAndDestroy(bearerField);
-		
-	CMDBField<TUint32>* faxField = new(ELeave) CMDBField<TUint32>(KCDTIdFaxClassPref);
-	CleanupStack::PushL(faxField);
-	faxField->SetRecordId(modemId);
-	faxField->LoadL(*db);
-	TUint32 faxClass;
-	faxClass = *faxField;
-	aFaxSettings->iFaxClass = static_cast<TFaxClass>(faxClass);
-		
-	// finally we validate the modem class - if not class 1 or 2 or 2.0 we
-	// write back the class we came in with, which is assumed to be correct
-	// - this is how we update the Comms database  - other settings are ignored
-	
-	if ((aFaxSettings->iFaxClass != EClass1)
-		&& (aFaxSettings->iFaxClass != EClass2)
-		&& (aFaxSettings->iFaxClass != EClass2point0))
-		{
-		aFaxSettings->iFaxClass = passedFaxClass;
-		db->OpenTransactionL();
-		*faxField = aFaxSettings->iFaxClass;
-		faxField->ModifyL(*db);
-		db->CommitTransactionL();
-		}
-	CleanupStack::PopAndDestroy(faxField);
-		
-	CleanupStack::PopAndDestroy(2);		// db, connectionPrefs 
-		
-	}
-
-/********************************************************************/
--- a/fax/faxclientandserver/FAXCLI/CFAXTSRC.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
-*/
-
-
-#include "CFAX32.H"
-
-/********************************************************************/
-
-CFaxTransferSource *CFaxTransferSource::NewLC()
-	{
-	CFaxTransferSource *self = new(ELeave) CFaxTransferSource;
-	CleanupStack::PushL(self);
-	self->ConstructL();
-	return self;
-	}
-/********************************************************************/
-
-CFaxTransferSource *CFaxTransferSource::NewL()
-	{
-	CFaxTransferSource *self = NewLC();
-	CleanupStack::Pop();
-	return self;
-	}
-/********************************************************************/
-
-void CFaxTransferSource::ConstructL ()
-   {
-   iSources = CBufSeg::NewL (256);
-   }
-/********************************************************************/
-
-CFaxTransferSource::~CFaxTransferSource ()
-   {
-   delete iSources;
-   iSources = NULL;
-   }
-/********************************************************************/
-
-// we come here with a document and a page or range of pages
-//EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, const TFileName & aFaxPageStore2)
-//	{
-//	AddSourceL(aFaxPageStore,1);
-//	AddSourceL(aFaxPageStore2,1);
-//	iFaxPages=iFaxPages/2;
-//	}
-
-EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, TFaxPreferredCompression aPreferredCompression)
-/**
-@capability WriteUserData
-*/
-   {
-   AddSourceL (aFaxPageStore, 1, aPreferredCompression);
-   }
-
-EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, TInt aStartPage, TFaxPreferredCompression aPreferredCompression)
-/**
-@capability WriteUserData
-*/
-   {
-   if (aStartPage < 1)
-      User::Leave (KErrUnderflow);
-   TInt lastPage = OpenFaxOutL (aFaxPageStore);
-   CloseFaxStore ();
-   AddSourceL (aFaxPageStore, aStartPage, lastPage, aPreferredCompression);
-   }
-
-EXPORT_C void CFaxTransferSource::AddSourceL (const TFileName & aFaxPageStore, TInt aStartPage, TInt aEndPage, TFaxPreferredCompression aPreferredCompression)
-/**
-@capability WriteUserData
-*/
-   {
-   iPage = 0;
-   if (aStartPage < 1)
-      User::Leave (KErrUnderflow);
-   else
-      {
-      if (aStartPage > aEndPage)
-         User::Leave (KErrOverflow);
-      else
-         {
-         iOurFaxEntry.iFaxPageStore = aFaxPageStore;
-         iOurFaxEntry.iStartPage = aStartPage;
-         iOurFaxEntry.iPageCount = (aEndPage - aStartPage + 1);
-
-         iOutstream.Append (*iSources);
-         iOutstream << iOurFaxEntry;
-         iOutstream.CommitL ();
-
-         iFaxListEntries++;
-         iFaxPages += iOurFaxEntry.iPageCount;
-		 iOurPreferredCompression=aPreferredCompression;
-         }
-      }
-   }
-/********************************************************************/
-
-EXPORT_C void CFaxTransferSource::RemoveAllSources ()
-/**
-@capability WriteUserData
-*/
-   {
-   iFaxPages = 0;
-   iFaxListEntries = 0;
-   iSources->Reset ();
-   }
-/********************************************************************/
-
-// this gets the next page of the fax
-// and makes it all ready to be sent
-
-// the iInstream is opened already, and
-// we never call this if iFaxListEntries
-// and iOurFaxEntry.iPageCount are both zero
-
-void CFaxTransferSource::GetNextPageReadyL ()
-   {
-   // if no pages in a current open document we need to get the next doc
-
-   if (iOurFaxEntry.iPageCount == 0)
-      {
-
-      // if page count is 0 we haven't started yet
-      // otherwise close the finished document
-      // then read the next entry in
-      // mark one less entry to deal with
-      // and open the next document
-
-      if (iPage != 0)
-         CloseFaxStore ();
-
-      iInstream >> iOurFaxEntry;
-
-      --iFaxListEntries;
-      OpenFaxOutL (iOurFaxEntry.iFaxPageStore);
-
-      // skip pages if we don't send from page 1
-
-      for (--iOurFaxEntry.iStartPage; iOurFaxEntry.iStartPage; --iOurFaxEntry.iStartPage)
-         ReadPageParmsL ();
-      }
-   ReadPageParmsL ();
-   iPage++;
-   --iOurFaxEntry.iPageCount;
-   }
-/********************************************************************/
-
-void CFaxTransferSource::OpenFaxInL (const TDesC & aFileName)
-   {
-   if (iWriteFaxFile == NULL)
-      iWriteFaxFile = CWriteFaxFile::NewL ();
-   iWriteFaxFile->OpenL (aFileName, 0);
-   }
-
-void CFaxTransferSource::PagePrepare ()
-   {
-   iLines = 0;
-   ++iPage;
-   }
-
-void CFaxTransferSource::WriteFaxDataL (const TDesC8 & aBuffer)
-   {
-   iWriteFaxFile->iWriteFaxPages->AddEncodedScanLineL (aBuffer);
-   if (aBuffer.Length () != KMaxT4Des)
-      iLines++;
-   }
-
-void CFaxTransferSource::WritePageParmsL (TFaxBufSenderId & aSenderId)
-   {
-   iWriteFaxFile->iWriteFaxPages->EndPageL (TFaxResolution (iResolu), aSenderId, TFaxCompression (iCompression));
-   iWriteFaxFile->CommitL ();
-   }
-
-void CFaxTransferSource::CloseFaxInStore ()
-   {
-   iWriteFaxFile->Close ();     // was CloseL till 6/3/97
-   delete iWriteFaxFile;
-   iWriteFaxFile = NULL;
-   }
-/*******************************************************************/
-
-TInt CFaxTransferSource::OpenFaxOutL (const TDesC & aFileName)
-   {
-   CReadFaxFile *fax = iReadFaxFile;
-   if (fax == NULL)
-      iReadFaxFile = fax = CReadFaxFile::NewL ();
-   fax->OpenL (aFileName);
-   iPageInCurrentFile = 0;
-   return (fax->iReadFaxPages->NumPages ());
-   }
-
-TInt CFaxTransferSource::NextPageFind ()
-   {
-   return (iReadFaxFile->iReadFaxPages->NumPages ()) - iPageInCurrentFile;
-   }
-
-void CFaxTransferSource::ReadPageParmsL ()
-   {
-   CReadFaxPages & pages = *iReadFaxFile->iReadFaxPages;
-   pages.SetPageL (iPageInCurrentFile++);
-   const TFaxPageInfo & info = pages.CurrentPageInfo ();
-   iLines = info.iNumScanLines;
-   iResolu = info.iResolution;
-   iCompression = info.iCompression;
-   }
-
-void CFaxTransferSource::ReadFaxData(TDes8& aBuffer)
-	{
-	// Discard the following error
-	TRAP_IGNORE(iReadFaxFile->iReadFaxPages->GetEncodedScanLineL(aBuffer));
-	}
-
-void CFaxTransferSource::PreviousPageFindL()
-	{
-	--iPageInCurrentFile;
-	ReadPageParmsL();
-	}
-
-void CFaxTransferSource::CloseFaxStore ()
-   {
-   if (iReadFaxFile != NULL)
-      {
-      iReadFaxFile->Close ();
-      delete iReadFaxFile;
-      iReadFaxFile = NULL;
-      }
-   }
-
-
-/*******************************************************************/
-
-// we've also got a small subclass to handle the details of pages in the fax
-
-void TFaxEntry::ExternalizeL (RWriteStream & aStream) const
-   {
-   aStream << iFaxPageStore;
-   aStream.WriteUint8L (iStartPage);
-   aStream.WriteUint8L (iPageCount);
-   }
-
-void TFaxEntry::InternalizeL (RReadStream & aStream)
-   {
-   aStream >> iFaxPageStore;
-   iStartPage = aStream.ReadUint8L ();
-   iPageCount = aStream.ReadUint8L ();
-   }
-/********************************************************************/
--- a/fax/faxclientandserver/FAXCLI/FAXCLI.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1338 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "CFAX32.H"
-#include "dial.h"	                      // we no longer depend on DialStor, so must depend directly on Dial
-
-#include "FAXLOG.H"
-#include "faxsettings.h"
-
- #include <commsdattypesv1_1.h>
- #include <commsdatutils.h>
- #include <commsdat_partner.h>
-
- using namespace CommsDat;
-
-TInt FaxClientThread (TAny * session);  // function declaration needed here
-//TInt FaxConverterThread (TAny *);
-//RSemaphore jerry;
-/********************************************************************/
-
-
-/********************************************************************/
-
-CFaxTransfer::CFaxTransfer()
-	: CBase()
-	{}
-
-EXPORT_C CFaxTransfer *CFaxTransfer::NewLC (const TFaxSettings & aFaxSettings)
-/** Constructs a CFaxTransfer object, which offers the publicly exported 
-Symbian OS Fax Client API. 
-As is usual in Symbian OS, the only difference between this function and 
-NewL() is that this variant pushes the object to the cleanup stack.
-
-@param aFaxSettings  A reference to a TFaxSettings object which contains 
-persistent information applicable to all fax sessions. 
-@return  Pointer to the newly created object. 
-@leave KErrNoMemory There is insufficient memory to perform the operation. 
-@capability None
-*/
-   {
-   CFaxTransfer *self = new (ELeave) CFaxTransfer;
-   CleanupStack::PushL (self);
-   self->ConstructL (aFaxSettings);
-   return self;
-   }
-
-EXPORT_C CFaxTransfer *CFaxTransfer::NewL (const TFaxSettings & aFaxSettings)
-/** Constructs a CFaxTransfer object, which offers the publicly exported 
-Symbian OS Fax Client API.
-
-@param aFaxSettings A reference to a TFaxSettings object, which
-contains persistent information applicable to all fax sessions. 
-@return A pointer to the newly created object. 
-@leave KErrNoMemory There is insufficient memory to perform the operation. 
-@capability None
-*/
-   {
-   CFaxTransfer *self = NewLC (aFaxSettings);
-   CleanupStack::Pop ();
-   return self;
-   }
-/********************************************************************/
-
-void CFaxTransfer::ConstructL (const TFaxSettings & aFaxSettings)
-   {
-   // we now copy the TFaxSettings passed to us - we then
-   // validate the contents and fill in the DialStor bits.
-   // if we don't know the modem class we find it our here
-   iFaxSettings = aFaxSettings;
-   CFaxSettings *currentsettings;
-   currentsettings = CFaxSettings::NewL ();     // bug fix thanks to MartinA
-   CleanupStack::PushL (currentsettings);       // currentsettings saved
-   currentsettings->ValidateAndSetClassL (&iFaxSettings);       // since this could leave
-   CleanupStack::PopAndDestroy ();      // currentsettings deleted
-
-	//   if (((TFaxClass) iFaxSettings.iFaxClass != EClass1) &&
-	//     ((TFaxClass) iFaxSettings.iFaxClass != EClass2) &&
-	//       ((TFaxClass) iFaxSettings.iFaxClass != EClass2point0))
-	//      User::Leave (KFaxCannotAutodetect);
-
-   iFaxSessionSettings.iFaxClass = (TFaxClass) iFaxSettings.iFaxClass;
-   iFaxSessionSettings.iFaxId.Copy (iFaxSettings.iFaxId);
-   iFaxSessionSettings.iMaxSpeed = iFaxSettings.iMaxSpeed;
-   iFaxSessionSettings.iMinSpeed = iFaxSettings.iMinSpeed;
-   iFaxSessionSettings.iRxResolution = iFaxSettings.iPreferredResolution;
-   iFaxSessionSettings.iRxCompression = iFaxSettings.iPreferredCompression;
-   iFaxSessionSettings.iPreferredECM = iFaxSettings.iPreferredECM;
-   iFaxSessionSettings.iFaxOnDemandDelay = iFaxSettings.iFaxOnDemandDelay;
-
-   iSource = CFaxTransferSource::NewL ();
-   }
-/********************************************************************/
-
-CFaxTransfer::~CFaxTransfer ()
-/** Destructor
-
-Frees all resources owned by the object, prior to its destruction. */
-   {
-   delete iSource;
-   }
-/********************************************************************/
-
-// this function updates the TFaxTransferProgress structure for the
-// caller. It should be prior to inspection.
-
-EXPORT_C TInt CFaxTransfer::Progress ()
-/** Causes ETel to update the fax progress information in RFax::TProgress.
-
-It should be called prior to displaying the fax progress information.
-
-@return KErrNone if successful, otherwise another of the system-wide error 
-codes. 
-@capability None
-*/
-{
-	if (iFaxStarted)
-		{
-		iFaxClientProgress=EProgressRxTx;
-		return (iFax.GetProgress (iProgress));
-		}
-	if (iConverting)
-		{
-		iFaxClientProgress=EProgressConverting;
-		//aProgress=EProgressPreparing;
-		return (KErrNone);
-		}
-
-	//aProgress=EProgressInitialising;
-	return (KErrNone);
-}
-/********************************************************************/
-
-// this function tells faxtrans what phone number to dial
-// obviously only useful in a dialling mode !
-// the phone number is translated for the modem and service
-// and location required using dialstor facilities if they are
-// available - if not, the number is used in its raw state
-//
-// if use of a raw phonenumber is required then the inline function
-// SetPhoneNumber should be called instead.
-
-EXPORT_C void CFaxTransfer::SetPhoneNumberL (TDesC8 & aNumber)
-/** Resolves a local telephone number into an international number by 
-taking account of the current location and country.
-The alternative SetPhoneNumber() should be used if the phone number 
-must be used in its raw state. One of these functions must be called 
-before CFaxTransfer::Start() when a fax is to be sent. 
-This function may leave with KErrNoMemory if there is insufficient 
-memory to perform the operation. The leave code is one of the system 
-error codes: see system-wide error codes. 
-The current location and country information is obtained from the 
-location table in the communications database.
-The resolved number is then set as the actual phone number to dial.
-
-@param aNumber  Descriptor containing the phone number to be resolved. 
-@capability WriteUserData
-*/
-	{
-	SetPhoneNumber (aNumber);
-	TBuf < KMaxDialString > rawPhoneNumber;
-	rawPhoneNumber.Copy (aNumber);
-
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-		
-	// Read the currently selected connection preference and find preferred IAP
-	TInt prefRank  = 1;
-	
-	CCDConnectionPrefsRecord *connectionPrefs =
-		static_cast<CCDConnectionPrefsRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord));
-	CleanupStack::PushL(connectionPrefs);
-	connectionPrefs->iRanking = prefRank;
-	connectionPrefs->iDirection = ECommDbConnectionDirectionOutgoing;
-	TBool error = connectionPrefs->FindL(*db);	
-	
-	// The following code is a temporary solution until an issue has been resolved in CommsDat
-	// start
-	CCDIAPRecord* tempPIapRecord =
-		static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
-	tempPIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	connectionPrefs->iDefaultIAP.iLinkedRecord = tempPIapRecord;
-	
-	CCDIAPRecord* pIapRecord = (CCDIAPRecord*)connectionPrefs->iDefaultIAP.iLinkedRecord;
-	pIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	pIapRecord->LoadL(*db);
-	
-	CCDBearerRecordBase* tempBearerRecord =
-		static_cast<CCDBearerRecordBase*>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
-	tempBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pIapRecord->iBearer.iLinkedRecord = tempBearerRecord;
-
-	CCDBearerRecordBase* pBearerRecord = (CCDBearerRecordBase*) pIapRecord->iBearer.iLinkedRecord;
-	pBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pBearerRecord->LoadL(*db);
-	// end
-	
-	TUint32 iapId = pBearerRecord->iRecordTag;
-	
-	CCDIAPRecord *iapRecord =
-		static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
-	CleanupStack::PushL(iapRecord);
-	iapRecord->SetRecordId(iapId);
-	iapRecord->LoadL(*db);
-
-	// more temporary code
-	// start	
-	CCDBearerRecordBase* tempLocationRecord =
-		static_cast<CCDBearerRecordBase*>(CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord));
-	tempLocationRecord->SetRecordId(iapRecord->iLocation);
-	iapRecord->iLocation.iLinkedRecord = tempLocationRecord;
-	
-	CCDLocationRecord* pLocationRecord = (CCDLocationRecord*)iapRecord->iLocation.iLinkedRecord;
-	pLocationRecord->SetRecordId(iapRecord->iLocation);
-	pLocationRecord->LoadL(*db);
-	// end
-	
-	//CommsDat Migration: Would this be the correct way to check whether or not a linked record exists:
-	if (pLocationRecord == NULL)	
-		{
-		iPhoneNumber.Copy(rawPhoneNumber);
-		}
-	else
-		{
-		TBuf<32> serviceType;
-		serviceType.Copy(iapRecord->iServiceType);
-
-		if (!serviceType.Compare(TBuf<32>(DIAL_OUT_ISP)))	// Chargecard only valid for dial out ISP
-			{
-			// Get service type id
-			TUint32 serviceId = iapRecord->iService;
-			
-			CCDDialOutISPRecord *ispRecord =
-				static_cast<CCDDialOutISPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdDialOutISPRecord));
-			CleanupStack::PushL(ispRecord);
-			ispRecord->SetRecordId(serviceId);
-			ispRecord->LoadL(*db);
-			TUint32 locationId = 0;
-			TUint32 chargecardId = 0;
-			TRAPD(err,CommsDatUtils::CCommsDatUtils::ResolvePhoneNumberL(rawPhoneNumber, iPhoneNumber, TParseMode(EForDialing), locationId, chargecardId));
-			// if resolving the phone number fails, use the raw phone number
-			if (err)
-				{
-				iPhoneNumber.Copy(rawPhoneNumber);
-				}
-			
-			CleanupStack::PopAndDestroy(ispRecord);
-			}
-		else
-			{
-			iPhoneNumber.Copy(rawPhoneNumber);
-			}
-		}
-	CleanupStack::PopAndDestroy(3); // db, connectionPrefs, iapRecord
-	}
-/********************************************************************/
-
-// in order to cancel a fax session we set a cancel flag in the lowest
-// level (CFaxModem) - if this has not yet been fully created then we set
-// a flag in the next level up (CFaxModemDriver) instead, which is always
-// going to be there as it is created via CFaxTransfer::ConstructL
-//
-// because of the way that the CFaxModem monitors its request flag
-// we need to avoid multiple cancel requests, so only the first call to
-// Cancel has any effect on it
-
-EXPORT_C void CFaxTransfer::Cancel ()
-/** Tells the fax engine to cancel the fax session at the first convenient 
-opportunity.
-
-The caller should wait for cancellation to complete, which will usually be 
-signalled by the fax thread's TRequestStatus completing with a KFaxCancelRequested 
-error code. After the fax thread completes, Stop() should be called in the 
-normal way.
-
-The function can be called at any time after the call to Start(). 
-@capability None
-*/
-   {
-   if ((iClientCancel == KRequestPending) || (iClientCancel == KErrNone))
-      {
-      TRequestStatus *cancelClient = &iClientCancel;
-      iDriverThread.RequestComplete (cancelClient, KErrCancel);
-      }
-   }
-/********************************************************************/
-
-EXPORT_C TInt CFaxTransfer::Start (TRequestStatus & aThreadStat)
-/**
-Start fax sending or receiving session by launching a separate high priority thread.
-A call to Start must be paired with a call to Stop as this is an EPOC32 requirement.
-
-@param     aThreadStat  thread logon request status
-@return    thread creation code
-@capability NetworkServices
-@capability ReadUserData
-@capability WriteUserData
-*/
-   {
-    // the heap and stack sizes set here (4K each) are pure guesswork
-    // CFaxModemDriver has allocated heap space in the parent thread
-    // for any objects it needs to create after this stage
-    // stack sizes increased by 512K to allow etel to connect
-
-   TInt state = KErrNone;
-   TInt heapSize = 0x14000;
-   TInt stackSize = 0x14000;
-
-	__FLOG_FAXCLI(_L8(" "));
-	__FLOG_FAXCLI(_L8("-------------------------- new log --------------------------"));
-	__FLOG_FAXCLI(_L8("CFaxTransfer::Start, starting FaxClientThread"));
-	__FLOG_FAXCLI(_L8(" "));
-
-   state = iDriverThread.Create ((_L ("FaxClientThread")), FaxClientThread, stackSize, heapSize, heapSize, this, EOwnerThread);
-   if (state)
-      {
-      state = KFaxThreadError;
-      }
-   else
-      {
-      aThreadStat = KRequestPending;
-      if (iClientCancel != KErrCancel)
-         iClientCancel = KRequestPending;
-      iDriverThread.Logon (aThreadStat);
-      iDriverThread.SetPriority (EPriorityRealTime);
-      iDriverThread.Resume ();
-      }
-   return (state);
-   }
-/*********************************************************************/
-
-EXPORT_C void CFaxTransfer::Stop ()
-/** Kills the fax thread once it has completed. 
-
-Fax threads do not kill themselves, so every successful call to CFaxTransfer::Start() 
-must be paired with a call to CFaxTransfer::Stop(). 
-@capability NetworkServices
-@capability ReadUserData
-@capability WriteUserData
-*/
-   {
-   iDriverThread.Close ();
-   }
-/*********************************************************************/
-
-// this is a utility function which is the entry to our thread
-// it isn't part of any class, but we pass the address
-// of our CFaxTransfer in so that we can check the
-// session parameter and get back to the required function
-//
-// All possible leaves should be trapped as the return
-// from this function is the TRequestStatus which the
-// caller to CFaxTransfer::Start is waiting for.
-
-TInt FaxClientThread (TAny * session)
-   {
-
-
-   // start of unecessary bureaucracy - error checking left out
-/*#define CSY_NAME _L("ECUART")
-#define LDD_NAME _L("ECOMM")
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#else
-#define PDD_NAME _L("EUART1")
-#endif*/
-
-/*
-   User::LoadPhysicalDevice (PDD_NAME);
-   User::LoadLogicalDevice (LDD_NAME);*/
-// jerry.CreateGlobal(_L("FaxCliSem"),0,EOwnerProcess);
-   
-   RCommServ server;
-   // coverity[check_return]
-   server.Connect ();
-// end of unecessary bureaucracy
-
-   TInt state;
-   CTrapCleanup *cleanup = CTrapCleanup::New ();
-// CFaxTransfer *faxsession = (CFaxTransfer *) session;
-   CFaxTransfer *faxsession =reinterpret_cast<CFaxTransfer *>(session);
-	__FLOG_FAXCLI(_L8("FaxClientThread entering..."));
-
-   state = faxsession->iTelServer.Connect ();
-   if (state == KErrNone)
-   {
-   TBuf<KCommsDbSvrMaxFieldLength> tsyName;
-   TRAP(state,faxsession->GetPhoneModuleNameL(tsyName));
-   if (state==KErrNone)
-	{
-      state = faxsession->iTelServer.LoadPhoneModule (tsyName);
-      if (state == KErrNone)
-         {
-		 RTelServer::TPhoneInfo phoneInfo;
-		 state = faxsession->GetPhoneInfoForTsy(tsyName,phoneInfo);
-		 if (state == KErrNone)
-			{
-			
-			__FLOG_FAXCLI(_L8("FaxClientThread iPhone.Open"));
-			state = faxsession->iPhone.Open (faxsession->iTelServer, phoneInfo.iName);
-            if (state == KErrNone)
-				{
-				
-				__FLOG_FAXCLI(_L8("FaxClientThread iLine.Open"));
-				state = faxsession->iLine.Open (faxsession->iPhone, _L ("Fax"));
-				if (state == KErrNone)
-					{
-					//
-					// If the call name has been provided, then open the
-					// existing call, otherwise open a new call.
-					//
-					if (faxsession->iCallName.Length() == 0)
-						{
-						__FLOG_FAXCLI(_L8("FaxClientThread iCall.OpenNewCall"));
-						state = faxsession->iCall.OpenNewCall (faxsession->iLine);
-						}
-					else
-						{
-						__FLOG_FAXCLI(_L8("FaxClientThread iCall.OpenExistingCall"));
-						state = faxsession->iCall.OpenExistingCall(faxsession->iLine, faxsession->iCallName);
-						}
-
-					if (state == KErrNone)
-						{
-						faxsession->iSource->iPage = 0;
-						if (faxsession->iMode & KFaxReceive)
-							{
-							faxsession->iFaxSessionSettings.iMode = RCall::EReceive;
-							TRAP (state, faxsession->FaxReceiveL ());
-							
-							__FLOG_FAXCLI1(_L8("FaxClientThread FaxReceiveL exited state=%d"),state);
-							
-							faxsession->iSource->CloseFaxInStore ();
-							}		
-			            else
-					        {
-							faxsession->iFaxSessionSettings.iMode = RCall::ETransmit;
-							TRAP (state, faxsession->FaxTransmitL ());
-							faxsession->iSource->iInstream.Close ();
-							}
-
-	                    // we tidy up by deleting any objects created
-						// (it does no harm if their pointers are already NULL)
-						// and we close any streams (which also does no harm
-						// if they have already been closed)
-
-						faxsession->iFaxStarted = EFalse;
-						faxsession->iFax.Close ();
-						faxsession->iSource->CloseFaxStore ();
-						delete faxsession->iSource->iWriteFaxFile;
-						faxsession->iSource->iWriteFaxFile = NULL;
-		                delete faxsession->iSource->iReadFaxFile;
-						faxsession->iSource->iReadFaxFile = NULL;
-						
-						faxsession->iSource->iOutstream.Close ();
-						faxsession->iSource->iInstream.Close ();
-						
-						RCall::TStatus callStatus;
-						faxsession->iCall.GetStatus(callStatus);
-						
-						__FLOG_FAXCLI1(_L8("FaxClientThread callStatus=%d"),callStatus);
-
-						if (callStatus!=RCall::EStatusIdle)
-							faxsession->iCall.HangUp ();
-						
-						__FLOG_FAXCLI(_L8("FaxClientThread iCall.Close"));
-						faxsession->iCall.Close ();
-						}
-					
-					__FLOG_FAXCLI(_L8("FaxClientThread iLine.Close"));
-					faxsession->iLine.Close ();
-					}
-				
-				__FLOG_FAXCLI(_L8("FaxClientThread iPhone.Close"));
-				faxsession->iPhone.Close ();
-				}
-			}
-		faxsession->iTelServer.UnloadPhoneModule (tsyName);
-		}
-		}
-    faxsession->iTelServer.Close ();
-    }
-
-   delete cleanup;
-
-// intercept the etel wrong modem type error
-   if (state == KErrEtelWrongModemType) state = KFaxErrWrongModemType;
-
-   return (state);
-   }
-
-/*********************************************************************/
-
-void CFaxTransfer::GetPhoneModuleNameL(TDes& aModuleName) const
-	{
-	// AnnW, 9/8/99 - This all assumes that we are taking the modem settings from the 
-	// dial out IAP, which is fince for now, but may not be in the future?  This may also 
-	// need modifying for Linda?
-	
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-	CleanupStack::PushL(db);
-	
-	// Read the currently selected connection preference and find preferred IAP
-	TInt prefRank  = 1;
-	
-	CCDConnectionPrefsRecord *connectionPrefs = 
-		static_cast<CCDConnectionPrefsRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord));
-	CleanupStack::PushL(connectionPrefs);
-	connectionPrefs->iRanking = prefRank;
-	connectionPrefs->iDirection = ECommDbConnectionDirectionOutgoing;
-	connectionPrefs->FindL(*db);
-	
-	// The following code is a temporary solution until an issue has been resolved in CommsDat
-	// start
-	CCDIAPRecord* tempPIapRecord =
-		static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
-	tempPIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	connectionPrefs->iDefaultIAP.iLinkedRecord = tempPIapRecord;
-	
-	CCDIAPRecord* pIapRecord = (CCDIAPRecord*)connectionPrefs->iDefaultIAP.iLinkedRecord;
-	pIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	pIapRecord->LoadL(*db);
-	
-	CCDBearerRecordBase* tempBearerRecord =
-		static_cast<CCDBearerRecordBase*>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
-	tempBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pIapRecord->iBearer.iLinkedRecord = tempBearerRecord;
-
-	CCDBearerRecordBase* pBearerRecord = (CCDBearerRecordBase*) pIapRecord->iBearer.iLinkedRecord;
-	pBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pBearerRecord->LoadL(*db);
-	// end
-	
-	TUint32 iapId = pBearerRecord->iRecordTag;
-	
-	CMDBField<TUint32>* bearerField = new(ELeave) CMDBField<TUint32>(KCDTIdIAPBearer);
-	CleanupStack::PushL(bearerField);
-	bearerField->SetRecordId(iapId);
-	bearerField->LoadL(*db);
-	TUint32 modemId = *bearerField;
-	CleanupStack::PopAndDestroy(bearerField);
-
-	CMDBField<TDesC>* tsyField = new(ELeave) CMDBField<TDesC>(KCDTIdTsyName);
-	CleanupStack::PushL(tsyField);
-	tsyField->SetRecordId(modemId);
-	tsyField->SetMaxLengthL(KMaxTextLength);
-	tsyField->LoadL(*db);
-	aModuleName = *tsyField;
-	CleanupStack::PopAndDestroy(tsyField);
-	
-	CleanupStack::PopAndDestroy(2); // db, connectionPrefs
-	}
-
-void CFaxTransfer::CancelFaxServerSession ()
-   {
-   if (iMode & KFaxWaitForRing)
-      iCall.AnswerIncomingCallCancel ();
-   else
-      {
-      if (iMode & KFaxOffHook)
-         iCall.ConnectCancel ();
-      else
-         iCall.DialCancel ();
-      }
-   }
-/*********************************************************************/
-// receiving a fax is easy because it is passive
-// just open the file for receiving and off we go
-
-void CFaxTransfer::FaxReceiveL ()
-   {
-
-	__FLOG_FAXCLI(_L8("CFaxTransfer::FaxReceiveL entering"));
-
-   if (iMode & KFaxPoll)
-      iFaxSessionSettings.iFaxRetrieveType = RCall::EFaxPoll;
-   else
-      iFaxSessionSettings.iFaxRetrieveType = RCall::EFaxOnDemand;
-
-   iSource->OpenFaxInL (iReceiveFileName);
-
-   SetFaxSettingsL();
-
-   if (iMode & KFaxWaitForRing)
-      {//-- answering incoming call if fax is waiting for a call
-	  iCall.AnswerIncomingCall (iTransferStatus);	
-      if (iClientCancel != KRequestPending)
-         {//-- cancel request, leave
-         iCall.AnswerIncomingCallCancel ();
-		 User::WaitForRequest(iTransferStatus);
-         User::Leave (KFaxCancelRequested);
-         }
-      }
-   else	//if (iMode & KFaxWaitForRing) 
-      {//-- if fax is not waiting for a call, dial
-      if (iMode & KFaxOffHook)
-         iCall.Connect (iTransferStatus);
-      else
-         {
-         if (iPhoneNumber.Length() == 0)
-            User::Leave (KErrCouldNotConnect);
-         iCall.Dial (iTransferStatus, iPhoneNumber);
-         }
-      }
-
-   TRequestStatus reqStatus;
-   RCall::TStatus callStatus;
-   iCall.NotifyStatusChange (reqStatus, callStatus);
-
-   for (;;)
-      {
-      User::WaitForAnyRequest ();
-      if (reqStatus != KRequestPending)
-         {
-         //-- Call status changed
-         if (reqStatus.Int () != KErrNone)
-            {
-            CancelFaxServerSession ();
-            User::Leave (reqStatus.Int ());
-            }
-         if (iMode & KFaxWaitForRing)
-            {//-- Fax is waiting for a ring
-			if (callStatus == RCall::EStatusRinging)
-				{//-- Call status is 'Ringing', continue waiting 
-				iCall.NotifyStatusChange(reqStatus, callStatus);
-				reqStatus = KRequestPending;
-				continue;
-				}
-			else 
-			 //-- due to PIA-586KGE fix (changes in CATAnswerFax::Start()) 'Connecting' may be not noticed here
-			 //-- so EStatusConnected state is ok
-			 if (callStatus != RCall::EStatusAnswering && callStatus != RCall::EStatusConnected )
-					{
-					iCall.AnswerIncomingCallCancel ();
-					User::Leave (KFaxEtelServerError);
-					} //if (callStatus != RCall::EStatusAnswering)
-            } //if (iMode & KFaxWaitForRing)
-         else
-            {//-- Fax is not waiting for a ring 
-            if (iMode & KFaxOffHook)
-               {
-               if (callStatus != RCall::EStatusConnecting)
-                  {
-                  iCall.ConnectCancel ();
-                  User::Leave (KFaxEtelServerError);
-                  }
-               }
-            else if (callStatus != RCall::EStatusDialling)
-               {
-               iCall.DialCancel ();
-               User::Leave (KFaxEtelServerError);
-               }
-            }
-         TInt ret = iFax.Open (iCall);
-         if (ret != KErrNone)
-            {
-            CancelFaxServerSession ();
-            User::Leave (ret);
-            }
-         iFaxStarted = ETrue;
-         reqStatus = KRequestPending;
-         }//if (reqStatus != KRequestPending)
-      else if (iClientCancel != KRequestPending)
-         {//-- Fax cancel request
-         if (iFaxStarted == EFalse)
-            iCall.NotifyStatusChangeCancel ();
-         CancelFaxServerSession ();
-         User::Leave (KFaxCancelRequested);
-         }
-      else if (iTransferStatus != KRequestPending)
-         {//--iCall.AnswerIncomingCall status changed
-         if (iFaxStarted == EFalse)
-            iCall.NotifyStatusChangeCancel ();
-         User::LeaveIfError (iTransferStatus.Int ());
-         break;
-         }
-      else
-         {
-         if (iFaxStarted == EFalse)
-            iCall.NotifyStatusChangeCancel ();
-         CancelFaxServerSession ();
-         User::Leave (KErrCompletion);  // stray event handle
-         }
-      }
-
-   //-- Data transfer phase
-   User::LeaveIfError (iFax.GetProgress (iProgress));
-   while (iProgress.iPhase == EDataTransfer)
-      {
-      iSource->iResolu = iProgress.iResolution;
-      iSource->iCompression = iProgress.iCompression;
-      for (;;)
-         {
-         iFax.Read (iTransferStatus, iDataBuf);
-         User::WaitForRequest (iTransferStatus, iClientCancel);
-         if (iClientCancel != KRequestPending)
-            {
-            iFax.TerminateFaxSession ();
-            User::Leave (KFaxCancelRequested);
-            }
-         User::LeaveIfError (iTransferStatus.Int ());
-
-         // the server has buffered up lines to minimize interaction
-         // iDataBuf starts with a TInt containing the number of lines
-         // Each line follows, preceded with a TInt containing its length
-         // which must be copied as it might not be aligned on a 4-byte
-         // boundary - a line of zero length indicates we have reached
-         // the end of the page
-
-         TUint8 *nextLine = CONST_CAST (TUint8 *, iDataBuf.Ptr ());
-         TInt lengthOfLine=0;
-         TInt numberOfLines;
-
-         Mem::Copy (&numberOfLines, nextLine, sizeof (TInt));
-         nextLine += sizeof (TInt);
-
-         while (numberOfLines--)
-            {
-            Mem::Copy (&lengthOfLine, nextLine, sizeof (TInt));
-            if (lengthOfLine == 0)
-               break;
-            nextLine += sizeof (TInt);
-            TPtrC8 currentLine (nextLine, lengthOfLine);
-            iSource->WriteFaxDataL (currentLine);
-            nextLine += lengthOfLine;
-            }
-         if (lengthOfLine == 0)
-            break;
-         }
-      iSource->WritePageParmsL (iProgress.iAnswerback);
-      iFax.WaitForEndOfPage (iTransferStatus);
-      User::WaitForRequest (iTransferStatus, iClientCancel);
-      if (iClientCancel != KRequestPending)
-         {
-         iFax.TerminateFaxSession ();
-         User::Leave (KFaxCancelRequested);
-         }
-      User::LeaveIfError (iTransferStatus.Int ());
-      User::LeaveIfError (iFax.GetProgress (iProgress));
-	  	  
-      }
-//	iSource->CloseFaxInStore ();
-    if (iProgress.iCompression==EModifiedRead)
-		 Convert1dL ();
-   }
-/*********************************************************************/
-
-// sending a fax is rather more complex
-//
-// we need a valid phone number (we don't do polling)
-//
-// we need a valid list of pages to send
-//
-// we need to set the resolution we require to that of the
-// fax we want to send (use the last page)
-//
-
-void CFaxTransfer::FaxTransmitL ()
-   {
-   
-   
-   __FLOG_FAXCLI(_L8("CFaxTransfer::FaxTransmitL entering"));
-
-   TBool ConversionStatus=FALSE;
-   //TInt err=0;
-   if (iSource->iOurPreferredCompression==Prefer2D)
-		{	
-		TRAPD (retcode,Convert2dL());
-		if (retcode==KErrNone)
-			ConversionStatus=TRUE;
-		else
-			{
-			ConversionStatus=FALSE;
-			iSource->iOurPreferredCompression=Prefer1D;		// if anything goes wrong during conversion
-			}												// try the 1D version.
-		}
-   if ((iSource->iFaxPages == 0) || (iSource->iFaxListEntries == 0))
-      User::Leave (KErrNotFound);
-   iSource->iSavedFaxListEntries = iSource->iFaxListEntries;
-   iSource->iOurFaxEntry.iPageCount = 0; 
-   iSource->iInstream.Open (*iSource->iSources);
-   iSource->GetNextPageReadyL ();
-
-   if (iSource->iOurPreferredCompression==Prefer1D)
-	   iFaxSessionSettings.iTxPages=iSource->iFaxPages;
-
-   // we pass in to the server the resolution of the last added source page
-
-   iFaxSessionSettings.iTxResolution = (TFaxResolution) iSource->iResolu;
-   if ((iSource->iOurPreferredCompression==Prefer2D) && ConversionStatus==TRUE)
-		iFaxSessionSettings.iTxCompression = (TFaxCompression) EModifiedRead;	
-   else
-	   iFaxSessionSettings.iTxCompression = (TFaxCompression) iSource->iCompression;
-
-   SetFaxSettingsL();	// pass the settings to the Fax Server
-   SetSharedFileHandlesL();
-
-   if (iMode & KFaxOffHook)
-      iCall.Connect (iTransferStatus);
-   else
-      {
-      if (iPhoneNumber.Length() == 0)
-         User::Leave (KErrCouldNotConnect);
-      iCall.Dial (iTransferStatus, iPhoneNumber);
-      }
-
-   TRequestStatus reqStatus;
-   RCall::TStatus callStatus;
-   iCall.NotifyStatusChange (reqStatus, callStatus);
-
-   for (;;)
-      {
-      User::WaitForAnyRequest ();
-      if (reqStatus != KRequestPending)
-         {
-         if (reqStatus.Int () != KErrNone)
-														// initialisation and comm port errors
-            {
-            CancelFaxServerSession ();
-            User::Leave (reqStatus.Int ());
-            }
-         if (iMode & KFaxOffHook)
-            {
-            if (callStatus != RCall::EStatusConnecting)
-               {
-               iCall.ConnectCancel ();
-               User::Leave (KFaxEtelServerError);
-               }
-            }
-         else if (callStatus != RCall::EStatusDialling)
-            {
-            iCall.DialCancel ();
-            User::Leave (KFaxEtelServerError);
-            }
-         TInt ret = iFax.Open (iCall);
-         if (ret != KErrNone)
-            {
-            CancelFaxServerSession ();
-            User::Leave (ret);
-            }
-         iFaxStarted = ETrue;
-         reqStatus = KRequestPending;   // to prevent first scenario being
-										// chosen each time any request comes in
-         }
-      else if (iClientCancel != KRequestPending)
-         {
-         if (iFaxStarted == EFalse)
-            iCall.NotifyStatusChangeCancel ();
-         CancelFaxServerSession ();
-         User::Leave (KFaxCancelRequested);
-         }
-      else if (iTransferStatus != KRequestPending)
-         {
-         if (iFaxStarted == EFalse)
-            iCall.NotifyStatusChangeCancel ();
-         User::LeaveIfError (iTransferStatus.Int ());
-         break;
-         }
-      else
-         {
-         if (iFaxStarted == EFalse)
-            iCall.NotifyStatusChangeCancel ();
-         CancelFaxServerSession ();
-         User::Leave (KErrCompletion);  // stray event handle
-         }
-      }
-
-   for (;;)
-      {
-      User::LeaveIfError (iFax.GetProgress (iProgress));
-      TInt thispage = iProgress.iPage;
-      TInt thisline = 1;
-      ASSERT (iSource->iLines);
-
-		if ((iProgress.iCompression) && (iSource->iSavedFaxListEntries>=1))
-			{
-			while (iSource->iCompression == EModifiedHuffman)		// loop until we 
-			iSource->GetNextPageReadyL ();							// find the 2D document
-			}
-	  
-      //we buffer up lines to minimize client-server interaction
-      //iDataBuf starts with a TInt containing the number of lines
-      //Each line follows, preceded with a TInt containing its length
-      //which must be copied as it might not be aligned on a 4-byte boundary
-
-      TUint8 *startData;
-      TUint8 *lineData;
-      TInt numberOfLines;
-      const TUint8 *maxData;
-
-      TUint8 *currentLineData;
-      TInt currentLineLength;
-
-      for (;;)
-         {
-         lineData = startData = CONST_CAST (TUint8 *, iDataBuf.Ptr ());
-         maxData = startData + iDataBuf.MaxLength () - KMaxT4Des - sizeof (TInt);
-
-         iDataBuf.SetMax ();
-         numberOfLines = 0;
-         lineData += sizeof (TInt);
-         for (;;)
-            {
-            if (thisline > iSource->iLines)
-               break;
-            thisline++;
-            numberOfLines++;
-            currentLineData = lineData + sizeof (TInt);
-            *currentLineData = 0x0;
-            TPtr8 currentLine (currentLineData + 1, 0, KMaxT4Des - 1);
-            iSource->ReadFaxData (currentLine);
-            currentLineLength = currentLine.Length () + 1;
-            Mem::Copy (lineData, &currentLineLength, sizeof (TInt));
-            lineData += sizeof (TInt);
-            lineData += currentLineLength;
-            if (lineData > maxData)
-               break;
-            }
-         Mem::Copy (startData, &numberOfLines, sizeof (TInt));
-         iDataBuf.SetLength (lineData - startData);
-         iFax.Write (iTransferStatus, iDataBuf);
-         User::WaitForRequest (iTransferStatus, iClientCancel);
-         if (iClientCancel != KRequestPending)
-            {
-            iFax.TerminateFaxSession ();
-            User::Leave (KFaxCancelRequested);
-            }
-         User::LeaveIfError (iTransferStatus.Int ());
-         if (thisline > iSource->iLines)
-            break;
-         }
-      iDataBuf.Zero ();
-      iFax.WaitForEndOfPage (iTransferStatus);
-      User::WaitForRequest (iTransferStatus, iClientCancel);
-      if (iClientCancel != KRequestPending)
-         {
-         iFax.TerminateFaxSession ();
-         User::Leave (KFaxCancelRequested);
-         }
-      User::LeaveIfError (iTransferStatus.Int ());
-      User::LeaveIfError (iFax.GetProgress (iProgress));
-      if (iProgress.iPhase != EDataTransfer)
-         break;
-      if (thispage == iProgress.iPage)
-         iSource->PreviousPageFindL ();
-      else
-         iSource->GetNextPageReadyL ();
-      }
-   if ((iProgress.iCompression==EModifiedHuffman) && (iSource->iOurPreferredCompression==Prefer2D))
-   {
-	   for (TInt i=0; i<(iSource->iFaxPages/2);i++)
-	   iSource->GetNextPageReadyL ();						
-   }
-}
-
-void CFaxTransfer::SetFaxSettingsL()
-	{
-   TInt error;
-   RPhone::TStatus phoneStatus;
-   
-   error=iPhone.GetStatus(phoneStatus);
-	if (error == KErrNone)
-		{
-		if ((phoneStatus.iModemDetected == RPhone::EDetectedNotPresent) || (phoneStatus.iModemDetected == RPhone::EDetectedUnknown))
-			{
-			TRequestStatus initialiseStatus;
-			iPhone.Initialise(initialiseStatus);
-			User::WaitForAnyRequest();
-			if (iClientCancel != KRequestPending)
-				{
-				iPhone.InitialiseCancel();					// issue initialiseCancel command
-				User::WaitForRequest(initialiseStatus);		// wait for it to complete
-				User::Leave(KFaxCancelRequested);			// leave with  KFaxCancelRequested
-				}	
-			User::LeaveIfError(initialiseStatus.Int());
-			}
-		}   
-   TInt ret=KErrNone;	// so communication with modem has begun...
-   TInt count=0;		// we have a loop where we try three times to set fax settings in the
-						// unlikely event that the initialisation sequence has just started
-						// so the phoneStatus gives ModemDetected Present, but the supported fax
-						// classes have not yet been ascertained.
-   do 
-	{
-	ret=iCall.SetFaxSettings (iFaxSessionSettings);	// retry until init sequence has found out what
-													// the fax classes supported are.
-	if (ret==KErrEtelUnknownModemCapability)
-		User::After(500000);
-	}
-   while (ret==KErrEtelUnknownModemCapability && iClientCancel==KRequestPending && count++<3);
-   if (iClientCancel!=KRequestPending)
-	   ret=KFaxCancelRequested;
-   User::LeaveIfError(ret);
-   }
-void CFaxTransfer::SetSharedFileHandlesL()
-	{
-	//Open a file server session and a file handle on the private header file to be shared.
-	RFs sharedFs;
-	RFile sharedHeaderFile;
-	
-	User::LeaveIfError(sharedFs.Connect());
-	CleanupClosePushL(sharedFs);
-	//allow it to be shared
-	User::LeaveIfError(sharedFs.ShareProtected());
-	
-	//get path 
-	TFileName headerFullPath;
-	CFaxHeaderLines::GeneratePathForHeaderFileL(headerFullPath);
-	
-	//Open the file in read-only mode
-	User::LeaveIfError(sharedHeaderFile.Open(sharedFs, headerFullPath, EFileRead));
-	CleanupClosePushL(sharedHeaderFile);
-	
-	User::LeaveIfError(iCall.AdoptFaxSharedHeaderFile(sharedHeaderFile));
-	CleanupStack::PopAndDestroy();//sharedHeaderFile
-	CleanupStack::PopAndDestroy();//sharedFs
-	}
-	
-TInt CFaxTransfer::GetPhoneInfoForTsy(const TDes& aTsyName, RTelServer::TPhoneInfo& aPhoneInfo) const
-//
-//	Finds the index of the phone which belongs to TSY named "aTsyName", and retrieves its info.
-//
-	{
-	 TInt count=0;
-	 iTelServer.EnumeratePhones(count);
-	 TName matchTsyName;
-	 TInt ret = iTelServer.GetTsyName(0,matchTsyName);
-	 if (ret == KErrNone)
-		{
-		 TInt i=0;
-		 if (count>1)
-			{
-			while (matchTsyName.CompareF(aTsyName)!=KErrNone && i++<count && ret==KErrNone)
-				ret = iTelServer.GetTsyName(i,matchTsyName);
-			}
-		 ASSERT(matchTsyName.CompareF(aTsyName)==KErrNone);
-		 iTelServer.GetPhoneInfo(i,aPhoneInfo);
-		}
-	 return ret;
-	}
-
-/********************************************************************/
-
-EXPORT_C void CFaxTransfer::AddSourceL (const TFileName & aFaxPageStore, TFaxPreferredCompression aPreferredCompression)
-/** Specifies which pages of a fax store file should be sent. 
-It can be called more than once to add multiple pages from different files. Typically, 
-this function is called twice for each transmission: once to queue the cover sheet, 
-and a second time to queue the remainder of the fax.
-The overloaded variants are supplied primarily to help error recovery in cases when 
-a fax transmission is either incomplete or when specific pages need to be resent. 
-When transmitting a fax, at least one variant of this function must be called before 
-CFaxTransfer::Start().
-
-@param aFaxPageStore  Name of the fax store file from which to take pages.
-@param  aPreferredCompression Preferred compression.
-@capability WriteUserData
-*/
-   {
-   iSource->AddSourceL (aFaxPageStore, 1,aPreferredCompression);
-   }
-
-EXPORT_C void CFaxTransfer::AddSourceL (const TFileName & aFaxPageStore, TInt aStartPage,TFaxPreferredCompression aPreferredCompression)
-/** Specifies which pages of a fax store file should be sent. 
-It can be called more than once to add multiple pages from different files. 
-Typically, this function is called twice for each transmission: once to queue 
-the cover sheet, and a second time to queue the remainder of the fax.
-The overloaded variants are supplied primarily to help error recovery in cases 
-when a fax transmission is either incomplete or when specific pages need to be 
-resent. When transmitting a fax, at least one variant of this function must be 
-called before CFaxTransfer::Start().
-
-@param aFaxPageStore  Name of the fax store file from which to take pages. 
-@param aStartPage  Page in file to start from. If omitted, the file is sent 
-from the start. 
-@param  aPreferredCompression Preferred compression.
-@capability WriteUserData
-*/
-   {
-   iSource->AddSourceL (aFaxPageStore, aStartPage, aPreferredCompression);
-   }
-
-EXPORT_C void CFaxTransfer::AddSourceL (const TFileName & aFaxPageStore, TInt aStartPage, TInt aEndPage, TFaxPreferredCompression aPreferredCompression)
-/**Specifies which pages of a fax store file should be sent. 
-It can be called more than once to add multiple pages from different files. 
-Typically, this function is called twice for each transmission: once to queue 
-the cover sheet, and a second time to queue the remainder of the fax.
-The overloaded variants are supplied primarily to help error recovery in cases 
-when a fax transmission is either incomplete or when specific pages need to be 
-resent. When transmitting a fax, at least one variant of this function must be 
-called before CFaxTransfer::Start().
-
-@param aFaxPageStore  Name of the fax store file from which to take pages. 
-@param aStartPage  Page in file to start from. If omitted, the file is sent from the start. 
-@param aEndPage  Page in file to stop sending. If omitted, transmission continues to the end. 
-@param  aPreferredCompression Preferred compression.
-@capability WriteUserData
-*/
-   {
-   iSource->AddSourceL (aFaxPageStore, aStartPage, aEndPage, aPreferredCompression);
-   }
-
-//EXPORT_C void CFaxTransfer::AddSourceL (const TFileName & aFaxPageStore, const TFileName & aFaxPageStore2)
-//	{
-//	iSource->AddSourceL(aFaxPageStore, aFaxPageStore2);
-//	}
-
-EXPORT_C void CFaxTransfer::RemoveAllSources ()
-/** Clears the complete list of pages previously selected for faxing using one 
-of the variants of AddSourceL(). 
-
-Removal of individual items from the list of pages to be fax is not possible. 
-
-This function must be used between successive fax transmissions if previously 
-sent pages aren't to be sent again. 
-@capability WriteUserData
-*/
-   {
-   iSource->RemoveAllSources ();
-   }
-
-/********************************************************************/
-void CFaxTransfer::Convert2dL ()
-	{	
-	TInt err=0;
-	TInt k=0;
-	TBuf<64> filename;
-	CWriteFaxFile*  writeFaxFile;
-	CReadFaxFile*   readFaxFile;
-	TRawScanLine	decodedScanLine;
-	//TFaxBufSenderId sd;
-	TFaxBufSenderId senderId;
-
-
-	writeFaxFile = CWriteFaxFile::NewL();
-	CleanupStack::PushL(writeFaxFile);
-	readFaxFile  = CReadFaxFile::NewL();
-	CleanupStack::PushL(readFaxFile);
-	iConverting=TRUE;
-	
-	TRAP (err,readFaxFile->OpenL(iSource->iOurFaxEntry.iFaxPageStore));
-	if (err!=KErrNone)
-		{
-		iConverting=FALSE;
-		User::Leave(err);
-		}
-
- 	readFaxFile->iReadFaxPages->SetPageL(0);
-	TFaxPageInfo info = readFaxFile->iReadFaxPages->CurrentPageInfo();
-	if (info.iCompression != EModifiedHuffman)
-		User::Panic(_L("Not a 1D file"),1);
-
-	//writeFaxFile->OpenL(_L("c:\\blank2D.fax"),64);
-	filename.Copy(iSource->iOurFaxEntry.iFaxPageStore);
-	filename.Append(_L("2d"));
-	// the second push in OpenL doesn't cause a double deletion of writeFaxFile, since it is pushed by using TCleanupItem.
-	// coverity [double_push]
-	writeFaxFile->OpenL(filename,64);
-	//writeFaxFile->OpenL(iSource->iOurFaxEntry.iFaxPageStore,64);
-	
-
-	for (k=0; k<iSource->iFaxPages; k++)
-	{
-	readFaxFile->iReadFaxPages->SetPageL(k);
-	TFaxPageInfo info = readFaxFile->iReadFaxPages->CurrentPageInfo();
-	if (info.iCompression != EModifiedHuffman)
-		User::Panic(_L("Not a 1D file"),1);
-	writeFaxFile->iWriteFaxPages->StartPage(info.iResolution, EModifiedRead);
-	for (TInt n = info.iNumScanLines ; n  ; n--)
-		{
-		readFaxFile->iReadFaxPages->GetScanLineL(decodedScanLine);	
-		writeFaxFile->iWriteFaxPages->AddScanLineL(decodedScanLine);
-		}
-
-	writeFaxFile->iWriteFaxPages->EndPageL(info.iResolution,senderId, EModifiedRead);
-	}// end of for statement
-		
-	writeFaxFile->CommitL();
-	writeFaxFile->Close();
-	readFaxFile->Close();
-		
-	AddSourceL(filename,Prefer2D);
-	iFaxSessionSettings.iTxPages = (iSource->iFaxPages/2);	// sent only the 2d version of the document
-															// which means half the attached pages
-	CleanupStack::PopAndDestroy(2);
-	iConverting=FALSE;
-}	
-
-
-
-/***********************************************************************************/
-// This function takes the received 2D file and converts it to 1D
-// The 2D file will be deleted and the 1D version of the file will 
-// inherit the name of the received 2D version
-/************************************************************************************/
-void CFaxTransfer::Convert1dL ()
-	{	
-	TInt err=0;
-	TInt k=0;
-	TBuf<64> filename;
-	CWriteFaxFile* writeFaxFile;
-	CReadFaxFile*  readFaxFile;
-	TRawScanLine decodedScanLine;
-	//TFaxBufSenderId sd;
-	TFaxBufSenderId senderId;
-
-	writeFaxFile = CWriteFaxFile::NewL();
-	CleanupStack::PushL(writeFaxFile);
-	readFaxFile  = CReadFaxFile::NewL();
-	CleanupStack::PushL(readFaxFile);	
-	iConverting=TRUE;
-
-	//TRAP (err,readFaxFile->OpenL(iSource->iOurFaxEntry.iFaxPageStore));
-	TRAP (err,readFaxFile->OpenL(iReceiveFileName));
-	if (err!=KErrNone)
-		User::Leave(err);
-		
- 	readFaxFile->iReadFaxPages->SetPageL(0);
-	TFaxPageInfo info = readFaxFile->iReadFaxPages->CurrentPageInfo();
-	//if (info.iCompression != EModifiedHuffman)
-	if (info.iCompression != EModifiedRead)
-		User::Panic(_L("Not a 2D file"),1);
-	
-	//filename.Copy(iSource->iOurFaxEntry.iFaxPageStore);
-	filename.Copy(iReceiveFileName);
-	filename.Append(_L("1d"));
-	// the second push in OpenL doesn't cause a double deletion of writeFaxFile, since it is pushed by using TCleanupItem.
-	// coverity [double_push]
-	writeFaxFile->OpenL(filename,64);
-	//	writeFaxFile->OpenL(iSource->iOurFaxEntry.iFaxPageStore,64);
-	
-
-	TInt iRxPages=readFaxFile->iReadFaxPages->NumPages();
-
-	for (k=0; k<iRxPages; k++)
-	{
-	readFaxFile->iReadFaxPages->SetPageL(k);
-	TFaxPageInfo info = readFaxFile->iReadFaxPages->CurrentPageInfo();
-	//if (info.iCompression != EModifiedHuffman)
-	if (info.iCompression != EModifiedRead)
-		User::Panic(_L("Not a 2D file"),1);
-	//writeFaxFile->iWriteFaxPages->StartPage(info.iResolution, EModifiedRead);
-	writeFaxFile->iWriteFaxPages->StartPage(info.iResolution, EModifiedHuffman);
-	for (TInt n = info.iNumScanLines ; n  ; n--)
-		{
-		readFaxFile->iReadFaxPages->GetScanLineL(decodedScanLine);	
-		writeFaxFile->iWriteFaxPages->AddScanLineL(decodedScanLine);
-		}
-
-	//writeFaxFile->iWriteFaxPages->EndPageL(info.iResolution,senderId, EModifiedRead);
-	writeFaxFile->iWriteFaxPages->EndPageL(info.iResolution,senderId, EModifiedHuffman);
-	}// end of for statement
-		
-	writeFaxFile->CommitL();
-	writeFaxFile->Close();
-	readFaxFile->Close();
-	
-	RFs FileServer;
-	err = FileServer.Connect();
-	if (err !=KErrNone)
-		User::Leave(err);
-	User::LeaveIfError(FileServer.Delete(iReceiveFileName));
-
-	User::LeaveIfError(FileServer.Rename(filename,iReceiveFileName));
-	
-	FileServer.Close();
-
-	CleanupStack::PopAndDestroy(2);	
-	iConverting=FALSE;
-//	AddSourceL(filename,Prefer2D);
-//	iFaxSessionSettings.iTxPages = (iSource->iFaxPages/2);	// sent only the 2d version of the document
-	}	
-
-
-/*
-
-CFaxTransfer::StartThread()
-	{
-	TInt state = KErrNone;
-	TInt heapSize = 0x14000;	
-	TInt stackSize = 0x14000;
-
-	reinterpret_cast<TAny*>(this);  // this points to a CFaxTransfer Object
-	state = iConverterThread.Create ((_L ("FaxConverterThread")), FaxConverterThread, stackSize, heapSize, heapSize, this, EOwnerThread);
-	if (state)
-		{
-		state = KFaxThreadError;
-		}
-	else
-		{
-		//aThreadStat = KRequestPending;
-		//if (iClientCancel != KErrCancel)
-		//iClientCancel = KRequestPending;
-		//iDriverThread.Logon (aThreadStat);
-		
-		iConverterThread.SetPriority (EPriorityRealTime);
-		iConverterThread.Resume ();
-		}
-	return state;
-	}
-
-TInt FaxConverterThread (TAny * session)
-	{
-	TInt m;
-	CTrapCleanup *cleanup = CTrapCleanup::New ();
-	CFaxTransfer *faxtransfer =reinterpret_cast<CFaxTransfer *>(session);
-	RSemaphore aSemaphore;
-	TFindSemaphore mysemaphore(_L("FaxCli*"));
-
-    TFullName      theName (_L("FaxCliSem"));
-//  RSemaphore     theSem;             // derived from RHandleBase
-    
-  if ((mysemaphore.Next(theName))==KErrNone)
-        {
-        aSemaphore.Open(mysemaphore,EOwnerThread);
-        }
-
-
-	TRAP(m,faxtransfer->Convert2dL());
-
-	aSemaphore.Signal();	
-	return KErrNone;
-	}
-*/
--- a/fax/faxclientandserver/FAXSVR/CFAX1.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1855 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "FAXSERV.H"
-#include "fax_reversebytes.h"
-#include "FAXMDRV.H"
-#include "FAXMODEM.H"
-
-
-// this module has three parts
-// first receive routines rx
-// second transmit routines tx
-// third utilities
-
-/********************************************************************/
-
-CFaxModemDriver *CFaxClass1::NewLC (TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-{
-	CFaxModemDriver *self = new (ELeave) CFaxClass1;
-	CleanupStack::PushL (self);
-	self->ConstructL (aFaxServerSessionSettings, aProgress);
-	return self;
-}
-
-CFaxModemDriver *CFaxClass1::NewL (TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-{
-	CFaxModemDriver *self = NewLC (aFaxServerSessionSettings, aProgress);
-	CleanupStack::Pop ();
-	return self;
-}
-/********************************************************************/
-
-// here we set up a fax receive - Phase A
-// this does require HDLC frames to be sent
-
-TInt CFaxClass1::RxConnectL ()
-{
-	TInt faxIdFcf;               // CSI or CIG
-	TInt capabilityFcf;          // DIS or DTC
-	TBuf8 < 3 > faxIdTxt;        // CSI or CIG
-	TBuf8 < 3 > capabilityTxt;   // DIS or DTC
-
-	TInt i, x;
-	iDisBytes = 3;
-	iOldFrame.Zero ();
-
-	// we query the modem to find out what its speed capabilities are
-
-    CheckCadenceExportL (_L8 ("AT+FRM=?\r"));
-    // coverity[check_return]
-    iModem->ImportL (iResults, 2);
-    iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-    iModem->ProgressUpdateL ();
-    iModem->GetMatchL (_L8 ("OK"), 1);
-
-	// the available speeds are stored in iResults
-	// we set our proposed speed to the highest compatible with faxini settings
-
-	if ((iResults.FindF (_L8 ("24"))) >= 0)
-		iActualFaxSpeed = 24;
-	else
-		return (KFaxErrModemNotWorking);
-	if ((iFaxServerSessionSettings->iMaxSpeed) > 2400)
-		if ((iResults.FindF (_L8 ("48"))) >= 0)
-			iActualFaxSpeed = 48;
-	if ((iFaxServerSessionSettings->iMaxSpeed) > 4800)
-		if ((iResults.FindF (_L8 ("96"))) >= 0)
-			iActualFaxSpeed = 96;
-	if ((iFaxServerSessionSettings->iMaxSpeed) > 9600)
-		if ((iResults.FindF (_L8 ("145"))) >= 0)
-			iActualFaxSpeed = 145;
-
-	// we now prepare our DIS/DTC answer capabilities frame
-	// the resolution and compression are taken from our settings
-
-	for (x = 0; x < 5; x++)
-		iDisFrame.byte[x] = 0;
-	iDisFrame.bit.b09 = 0;
-	iDisFrame.bit.b10 = 1;
-	iDisFrame.bit.b20 = 1;
-	iDisFrame.bit.b21 = 1;
-	iDisFrame.bit.b22 = 1;
-	iDisFrame.bit.b23 = 1;
-	if (iFaxServerSessionSettings->iRxResolution == EFaxFine)
-		iDisFrame.bit.b15 = 1;
-	if (iFaxServerSessionSettings->iRxCompression == EModifiedRead)
-		iDisFrame.bit.b16 = 1;
-
-//	if (iFaxServerSessionSettings->iMode & KFaxWaitForRing)
-//		{
-	//	while ((iModem->GetMatchL (_L8 ("RING"), 3)) == 0);
-	//	iTimeOfLastRing.UniversalTime();
-//		}
-//	else
-//		{
-		if (((iFaxServerSessionSettings->iMode & KFaxOffHook) == 0) && (!(iFaxServerSessionSettings->iMode & KFaxWaitForRing)))
-//		if ((iFaxServerSessionSettings->iMode & KFaxOffHook) == 0)
-			DialFaxOnDemandL ();
-//		}
-
-	// if we a trying to poll, we've dialled, so we wait for a DIS from the answerer
-	// otherwise we do an answer ourselves
-
-	if (iFaxServerSessionSettings->iMode & KFaxPoll)
-		{
-		faxIdFcf = KT30_CIG;
-		faxIdTxt.Copy (_L8 ("CIG"));
-		capabilityFcf = KT30_DTC;
-		capabilityTxt.Copy (_L8 ("DTC"));
-		iModem->iOurMessage.Format (_L8 ("about to poll fax"));
-
-		}
-	else
-		{
-		faxIdFcf = KT30_CSI;
-		faxIdTxt.Copy (_L8 ("CSI"));
-		capabilityFcf = KT30_DIS;
-		capabilityTxt.Copy (_L8 ("DIS"));
-		CheckCadenceExportL (_L8 ("ATA\r"));
-		iModem->iOurMessage.Format (_L8 ("about to receive fax"));
-		}
-
-	iModem->iProgress.iPhase = ECallEstablishment;
-	iModem->ProgressUpdateL ();
-
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, KT30_T1)))
-			return (KFaxErrCannotConnect);
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-		if ((iResults.FindF (_L8 ("NO DIALTONE"))) >= 0 ||
-			iResults.FindF (_L8 ("NO DIAL TONE")) >= 0)
-			return (KFaxErrNoDialTone);
-		if ((iResults.FindF (_L8 ("BUSY"))) >= 0)
-			return (KFaxErrBusy);
-		if ((iResults.FindF (_L8 ("NO ANSWER"))) >= 0)
-			return (KFaxErrNoAnswer);
-		if ((iResults.FindF (_L8 ("NO CARRIER"))) >= 0)
-			return (KFaxErrNoCarrier);
-		if ((iResults.FindF (_L8 ("CONNECT"))) >= 0)
-			break;
-		}
-
-	if (iFaxServerSessionSettings->iMode & KFaxPoll)
-		User::LeaveIfError (RxPrePollL ());
-	else
-		{
-		iModem->iOurMessage.Format (_L8 ("Fax call detected"));
-		iModem->ProgressUpdateL ();
-		}
-
-	iModem->iOurMessage.Format (_L8 ("sending %S"), &faxIdTxt);
-	iModem->ProgressUpdateL ();
-	iFrame.Zero ();
-	iFrame.Append (KT30_CTLNXT);
-	iFrame.Append (faxIdFcf);
-	for (i = 20; i > iFaxServerSessionSettings->iFaxId.Length (); i--)
-		iFrame.Append (0x20);
-	for (i = iFaxServerSessionSettings->iFaxId.Length (); i;)
-	iFrame.Append (iFaxServerSessionSettings->iFaxId[--i]);
-	if (SendframeL (iFrame) != 1)
-		return (KFaxErrCSIorCIG);
-
-	// we follow that with our DIS frame
-
-	iModem->iOurMessage.Format (_L8 ("sending %S"), &capabilityTxt);
-	iModem->iProgress.iPhase = ESessionNegotiation;
-	iModem->ProgressUpdateL ();
-	iDisFrame.byte[1] &= 0xc3;
-	switch (iActualFaxSpeed)
-		{
-		case 48:
-			iDisFrame.byte[1] |= 0x08;
-			break;                 /* V.27 4800+2400            */
-		case 96:
-			iDisFrame.byte[1] |= 0x0c;
-			break;                 /* & V.29 9600+7200            */
-		case 145:
-			iDisFrame.byte[1] |= 0x2c;
-			break;                 /* & V.17 14400+1200+9600+7200 */
-		default:
-			iDisFrame.byte[1] |= 0x00;     /* V.27 fallback 2400 only     */
-		}
-	iFrame.Zero ();
-	iFrame.Append (KT30_CTLLST);
-	iFrame.Append (capabilityFcf);
-	for (i = 0; i < iDisBytes; i++)
-		iFrame.Append (iDisFrame.byte[i]);
-	if (SendframeL (iFrame) != 1)
-		return (KFaxErrDISorDTC);
-
-	// and now we await the negotiation from the caller
-	// note that we'll resend the last frame (DIS or DTC) if we get no reply
-	// until we get a TSI or a DCS (which show the DIS or DTC was received)
-
-	return (RxPrePageL ());
-}
-
-/********************************************************************/
-
-// here we prepare for receiving via a poll
- // we have received a DIS in iResults, so check the polling bit
- // iResults[0] is the address
- // iResults[1] is the control
- // iResults[2] is the FCF
- // iResults[3] has bits 1-8 of the FIF
- // iResults[4] has bits 9-16 of the FIF
- // the polling bit is bit 9
-
-TInt CFaxClass1::RxPrePollL ()
-{
-	TInt pollDocsAvailable = 0;
-	TInt i;
-	iResults.Copy (_L8 ("CALL JUST ANSWERED"));
-	for (;;)
-		{
-		if (GetframeL (iResults) == 0)
-			return (KFaxErrFrameFail);
-		iModem->ProgressUpdateL ();
-
-		// the third byte in the frame is the FCF (fax control field)
-
-		switch ((TUint8) iResults[2])
-			{
-			case 0x20:            // this marks a non-standard frame, which we ignore
-				iModem->iOurMessage.Format (_L8 ("NSF nonstandard facilities Frame"));
-				iModem->ProgressUpdateL ();
-				break;
-
-			case 0x40:            // this marks the receiver ID
-				iModem->iOurMessage.Format (_L8 ("CSI identity Frame"));
-				iModem->ProgressUpdateL ();
-				iModem->iProgress.iAnswerback.Zero ();
-				for (i = 22; i > 2; i--)
-					iModem->iProgress.iAnswerback.Append (iResults[i]);
-				iModem->iOurMessage.Format (_L8 ("Remote fax ID is %S"), &iModem->iProgress.iAnswerback);
-				iModem->ProgressUpdateL ();
-				break;              // the capability frame should follows
-
-			case 0x80:            // this marks the receiver capability frame
-				iModem->iOurMessage.Format (_L8 ("DIS capability Frame"));
-				iModem->ProgressUpdateL ();
-				iFcfXbit = 1;       // we've received a DIS, so set the X bit
-				pollDocsAvailable = iResults[4] & 0x01;     // and record the polling bit too
-				break;
-
-			case 0xfa:            // this means we were asked to disconnect
-				RxDCNL ();
-				return (KFaxErrRemoteDCN);
-
-			default:;
-			}
-
-		// if a final frame we return
-		// else we just issue AT+FRH=3 and continue
-
-		if (iResults[1] & 0x10)
-			break;
-		iModem->ExportL (_L8 ("AT+FRH=3\r"));
-		}
-
-	if (pollDocsAvailable)
-		{
-		iModem->iOurMessage.Format (_L8 ("Polling bit set"));
-		iModem->ProgressUpdateL ();
-		return (KErrNone);
-		}
-	return (KFaxNothingToPoll);  // if the other machine isn't pollable we exit
-}
-/********************************************************************/
-
-// here we negotiate a fax reception - Phase B
- // this function is always called after we have connected. However,
- // it can be called at other times if we have requested a renegotiation
- // or if the sender want to change the fax parameters
-
-TInt CFaxClass1::RxPrePageL ()
-{
-	TInt x, z, i, nullCounter;
-	TUint8 thisChar, lastChar;
-	TInt ticks;
-
-	for (;;)
-		{
-		iModem->ExportL (_L8 ("AT+FRH=3\r"));
-		if (GetframeL (iResults) == 0)
-			return (KFaxErrFrameFail);
-		iModem->iOurMessage.Format (_L8 ("Response received"));
-		iModem->ProgressUpdateL ();
-
-		// analyse the possible responses
-
-		switch ((TUint8) iResults[2])
-			{
-			case 0x42:            // this is the sender ID - their capability should follow
-
-				iModem->iOurMessage.Format (_L8 ("TSI identity Frame"));
-				iModem->ProgressUpdateL ();
-				iModem->iProgress.iAnswerback.Zero ();
-				for (i = 22; i > 2; i--)
-					iModem->iProgress.iAnswerback.Append (iResults[i]);
-				iModem->iOurMessage.Format (_L8 ("Remote fax ID is %S"), &iModem->iProgress.iAnswerback);
-				iModem->ProgressUpdateL ();
-				break;
-
-			case 0x82:            // here's the sender capability frame - the most complex case
-
-				iModem->iOurMessage.Format (_L8 ("DCS capability Frame"));
-				iModem->ProgressUpdateL ();
-				for (i = 0; i < 5; i++)
-					iDcsFrame.byte[i] = (TUint8) iResults[i + 3];
-
-				// we have the DCS saved - we analyse it for speed and resolution and compression
-
-				if (iDcsFrame.bit.b24 == 0)
-					iDcsFrame.byte[3] = 0;
-
-				iModem->iProgress.iResolution = TFaxResolution (iDcsFrame.bit.b15);
-				iModem->iProgress.iCompression = TFaxCompression (iDcsFrame.bit.b16);
-
-				switch (iDcsFrame.byte[1] & 0x3c)
-					{
-				case 0x08:
-					iActualFaxSpeed = 48;
-					break;        /* 4800  V.27 */
-				case 0x04:
-					iActualFaxSpeed = 96;
-					break;        /* 9600  V.29 */
-				case 0x0c:
-					iActualFaxSpeed = 72;
-					break;        /* 7200  V.29 */
-				case 0x24:
-					iActualFaxSpeed = 97;
-					break;        /* 9600  V.17 */
-				case 0x2c:
-					iActualFaxSpeed = 73;
-					break;        /* 7200  V.17 */
-				case 0x20:
-					iActualFaxSpeed = 145;
-					break;        /* 14400 V.17 */
-				case 0x28:
-					iActualFaxSpeed = 121;
-					break;        /* 12000 V.17 */
-				default:
-					iActualFaxSpeed = 24; /* 2400  V.27 */
-					}
-
-				i = (iActualFaxSpeed & (~1));
-
-				// now we prepare to recieve the training frame that follows the DCS
-				// we try to get the carrier at this speed three times before giving up
-
-				for (x = 0; x < 3; x++)
-					{
-					iModem->iOurMessage.Format (_L8 ("setting %d00"), i);
-					iModem->iProgress.iSpeed = (i * 100);
-					iModem->ProgressUpdateL ();
-
-					iResults.Copy (_L8 ("AT+FRM="));
-					iResults.AppendNum (iActualFaxSpeed);
-					iResults.Append (_L8 ("\r"));
-					iModem->ExportL (iResults);
-					z = FramestatL ();
-					if (z == 1)
-						break;
-				if (z != 0)
-					{
-					iModem->TxcharL (Kcan);
-					if (FramestatL () < 0)
-						iModem->TxcharL (Kreturn);
-					ReceiveSilenceL ();
-					iModem->iOurMessage.Format (_L8 ("sending FTT"));
-					iModem->ProgressUpdateL ();
-					iFrame.Append (KT30_FTT);
-					if (SendframeL (iFrame) == 0)
-						return (KFaxErrTrainFail);
-					break;
-					}
-					}
-				if (x == 3)
-					return (KFaxErrAtNegotiatedSpeed);
-
-				// once we have a carrier, we start receiving the training frame
-				// we look for a clear 750 milliseconds of zeros ending in <dle><etx>
-				// this is determined by calculating the number of number of null bytes
-				// taken at any given speed
-
-				iModem->iOurMessage.Format (_L8 ("training .... "));
-				iModem->ProgressUpdateL ();
-
-				ticks = (CLK_TCK * 165) / 100;	// bug fix - was originally "CLK_TICK * (165/100)"
-												// This failed because 165/100 is rounded to 1 because
-												// ticks is an integer and that made the fax server
-												// training for 1 second instead of 1.5
-				for (lastChar = 0, nullCounter = 0;;)
-					{
-					if (iModem->RxcharWaitL (ticks) == 0)
-						{
-						break;
-						}
-					thisChar = iModem->iReadone[0];
-					if (nullCounter != (i * 75 / 8))
-						{
-						if (thisChar != 0)
-							nullCounter = 0;
-						else
-							++nullCounter;
-						}
-					if ((thisChar == Ketx) && (lastChar == Kdle))
-						break;
-				lastChar = thisChar;
-					}
-				if (FramestatL () < 0)
-					{
-					iModem->TxcharL (Kcan);
-					if (FramestatL () < 0)
-						iModem->TxcharL (Kreturn);
-					}
-
-				// now we check the count of null bytes and either send FTT
-				// (in which case the sender will send a new DCS and try again)
-				// or else send CFR confirmation and wait for the first page
-
-				iFrame.Zero ();
-				iFrame.Append (KT30_CTLLST);
-				if (nullCounter == (i * 75 / 8))
-					{
-					iModem->iOurMessage.Format (_L8 ("training OK"));
-					iModem->ProgressUpdateL ();
-					}
-				else
-					{
-					ReceiveSilenceL ();
-					iModem->iOurMessage.Format (_L8 ("sending FTT"));
-					iModem->ProgressUpdateL ();
-					iFrame.Append (KT30_FTT);
-					if (SendframeL (iFrame) == 0)
-						return (KFaxErrTrainFail);
-					break;
-					}
-
-				iModem->iOurMessage.Format (_L8 ("sending CFR"));
-				iModem->ProgressUpdateL ();
-
-				iFrame.Append (KT30_CFR);
-				if (SendframeL (iFrame) == 0)
-					return (KFaxErrCFR);
-
-				// after we send a CFR, we interpret a failure to
-				// establish a high-speed carrier as an indication
-				// that the sender didn't get our CFR, and will
-				// act as if they received an FTT
-
-				if (RxSetHighSpeedL () != KErrNone)
-					break;
-			return (KErrNone);
-
-			// lastly, we cater for the sender disconnecting us,
-			// either because we couldn't train or because our
-			// capabilities were wrong, or because they were only trying
-			// to hack our fax machine
-
-			case 0xfa:
-				RxDCNL ();
-				return (KFaxErrRemoteDCN);
-
-			default:;
-			}
-		}
-}
-/********************************************************************/
-
-// this is a small function to set a class 1 fax modem to phase C
- // reception speed (found in iActualFaxSpeed) in preparation for
- // receiving data.  This is called before the first page and also
- // between pages.  If the modem can't find a high speed carrier, we
- // leave the caller to decide what action to take - if we'd just sent a
- // page confirmation we should try resending our last negotiating frame
- // in case it was lost, but if we have just sent a CFR, we wait for the
- // sender to retrain.
-
-// If the protocol is out of sync and we get a low speed carrier
- // then we'll get a +FCERROR response (same as ERROR)
-
-TInt CFaxClass1::RxSetHighSpeedL ()
-{
-	TInt x, portSpeed;
-	switch (iActualFaxSpeed)
-		{
-		case 145:
-			x = 144;
-			portSpeed = 146;
-			break;
-		case 121:
-			x = 120;
-			portSpeed = 122;
-			break;
-		case 97:
-			x = 96;
-			portSpeed = 98;
-			break;
-		case 73:
-			x = 72;
-			portSpeed = 74;
-			break;
-		default:
-			x = portSpeed = iActualFaxSpeed;
-		}
-
-	iModem->iOurMessage.Format (_L8 ("setting %d00"), x);
-	iModem->iProgress.iSpeed = (x * 100);
-	iModem->ProgressUpdateL ();
-
-	iResults.Copy (_L8 ("AT+FRM="));
-	iResults.AppendNum (portSpeed);
-	iResults.Append (_L8 ("\r"));
-	iModem->ExportL (iResults);
-
-	x = FramestatL (KT30_T2);     // always wait 6 seconds before a timeout
-	if (x == 1)
-		{
-		return (RxStartPageL ());
-		}
-	if (x != 0)
-		{
-		iModem->TxcharL (Kcan);
-		if (FramestatL () < 0)
-			iModem->TxcharL (Kreturn);
-		}
-	return (KFaxErrAtNegotiatedSpeed);
-}
-/********************************************************************/
-
-// after page data has been received, we go back to 300 bps negotiation
-// for the post-page message which the transmitter sends 75ms after the
-// end of the data
-
-TInt CFaxClass1::RxPostPageL ()
-{
-	TInt i, x = 0;
-	iOldFrame.Zero ();
-	iModem->iProgress.iPhase = EPostPageStatus;
-	iModem->ProgressUpdateL ();
-
-	// wait for the modem to react to the end of fax data before proceeding
-
-	if ((iModem->GetMatchL (_L8 ("NO CARRIER"), 5)) == 0)
-		return (KFaxErrCannotEndData);
-
-	for (;;)
-		{
-
-		// we start by requesting a frame
-
-		iModem->ExportL (_L8 ("AT+FRH=3\r"));
-		if (GetframeL (iResults) == 0)
-			{
-			if (x++ == 3)
-				return (KFaxErrFrameFail);
-			continue;
-			}
-
-		iModem->iOurMessage.Format (_L8 ("Response received"));
-		iModem->ProgressUpdateL ();
-
-		// now we work out what it is
-
-		switch ((TUint8) iResults[2])
-			{
-
-			// the first case is where the last page was the end of the fax
-
-			case 0x3e:            // we recognize PRI-Q frames but treat them like non-PRI-Q variants
-				iModem->iOurMessage.Format (_L8 ("PRI-Q bit set"));
-				iModem->ProgressUpdateL ();
-				// fallthrough
-			case 0x2e:
-				iModem->iOurMessage.Format (_L8 ("EOP end of page %u and transmission"), iModem->iProgress.iPage);
-				iModem->ProgressUpdateL ();
-				iModem->iOurMessage.Format (_L8 ("sending MCF"));
-				iModem->ProgressUpdateL ();
-				iFrame.Zero ();
-				iFrame.Append (KT30_CTLLST);
-				iFrame.Append (KT30_MCF);
-				if (SendframeL (iFrame) == 0)
-					return (KFaxErrMCF);
-
-				// now it isn't an error if get a DCN and hang up
-				// so, loop and wait for it
-
-				iModem->iProgress.iPhase = EDisconnection;
-				continue;
-
-				// the second case is where the sender demands a renegotiation
-
-			case 0x9e:            // we recognize PRI-Q frames but treat them like non-PRI-Q variants
-				iModem->iOurMessage.Format (_L8 ("PRI-Q bit set"));
-				iModem->ProgressUpdateL ();
-				// fallthrough
-			case 0x8e:
-				iModem->iOurMessage.Format (_L8 ("EOM end of page %u and document"), iModem->iProgress.iPage);
-				iModem->ProgressUpdateL ();
-				iModem->iOurMessage.Format (_L8 ("sending MCF"));
-				iModem->ProgressUpdateL ();
-				iFrame.Zero ();
-				iFrame.Append (KT30_CTLLST);
-				iFrame.Append (KT30_MCF);
-				if (SendframeL (iFrame) == 0)
-					return (KFaxErrMCF);
-				iModem->iProgress.iPhase = ESessionNegotiation;
-				iOldFrame.Zero ();
-				iOldFrame.Append (KT30_CTLLST);
-				iOldFrame.Append (KT30_DIS);
-				for (i = 0; i < iDisBytes; i++)
-					iOldFrame.Append (iDisFrame.byte[i]);
-				return (RxPrePageL ());
-
-				// the third case is where another page is going to follow
-
-			case 0x5e:            // we recognize PRI-Q frames but treat them like non-PRI-Q variants
-
-				iModem->iOurMessage.Format (_L8 ("PRI-Q bit set"));
-				iModem->ProgressUpdateL ();
-				// fallthrough
-			case 0x4e:
-				iModem->iOurMessage.Format (_L8 ("MPS end of page %u"), iModem->iProgress.iPage);
-				iModem->ProgressUpdateL ();
-
-				iModem->iOurMessage.Format (_L8 ("sending MCF"));
-				iModem->ProgressUpdateL ();
-
-				iFrame.Zero ();
-				iFrame.Append (KT30_CTLLST);
-				iFrame.Append (KT30_MCF);
-				if (SendframeL (iFrame) == 0)
-					return (KFaxErrMCF);
-
-				for (x = 0; x < 3; x++)
-					{
-				if (RxSetHighSpeedL () == KErrNone)
-					return (KErrNone);
-				iModem->iOurMessage.Format (_L8 ("Resending last response .... "));
-				iModem->ProgressUpdateL ();
-				if (SendframeL (iOldFrame) == 0)
-					return (KFaxErrMCF);
-					}
-				return (KFaxErrMCF);
-
-				// the fourth case is where we are told to disconnect
-				// it's an error if we hadn't been expecting it
-
-			case 0xfa:
-				if (iModem->iProgress.iPhase == EDisconnection)
-					{
-					RxDCNL ();
-					return (KErrNone);
-					}
-
-				RxDCNL ();
-				return (KFaxErrRemoteDCN);
-
-				// the fifth case is where we see a negotiation frame
-				// the sixth case is where we see a negotiation frame
-				// our supposed page may have been a mistake
-				// just go back to phase B and try to recover that way
-
-			case 0x42:            // TSI frame
-			case 0x82:            // DCS frame
-				if ((TUint8) iResults[2] == 0x42)
-					iModem->iOurMessage.Format (_L8 ("TSI identity"));
-				else
-					iModem->iOurMessage.Format (_L8 ("DCS capability"));
-				iModem->iOurMessage.Append (_L8 (" Frame - renegotiating session parameters"));
-				iModem->ProgressUpdateL ();
-				iModem->iProgress.iPhase = ESessionNegotiation;
-				return (RxPrePageL ());
-
-				// the last case is where we see an unsupported frame
-				// if it is a final frame we ask for a repeat via CRP
-
-			default:
-				if (SendCRPL () != KErrNone)
-					return (KFaxErrCRP);
-			}
-		}
-}
-/********************************************************************/
-
-// here we have detected a disconnection frame so we hang up the modem
-
-void CFaxClass1::RxDCNL ()
-{
-	iModem->iOurMessage.Format (_L8 ("DCN disconnect Frame"));
-	iModem->iProgress.iPhase = EDisconnection;
-	iModem->ProgressUpdateL ();
-}
-/********************************************************************/
-
-// here we send a DCN disconnect frame and then hang up the modem
-
-TInt CFaxClass1::TxDCNL ()
-{
-	iModem->iOurMessage.Format (_L8 ("sending DCN"));
-	iModem->iProgress.iPhase = EDisconnection;
-	iModem->ProgressUpdateL ();
-	ReceiveSilenceL ();
-	iFrame.Zero ();
-	iFrame.Append (KT30_CTLLST);
-	iFrame.Append (KT30_DCN);
-	if (SendframeL (iFrame) == 0)
-		return (KFaxErrDCN);
-	return (KErrNone);
-}
-/********************************************************************/
-
-// here we set up a fax transmit - Phase A
- // there's no HDLC stuff here
-
-TInt CFaxClass1::TxConnectL ()
-{
-
-	// we query the modem to find out what its speed capabilities are
-    iModem->ExportL (_L8 ("AT+FTM=?\r"));
-    // coverity[check_return]
-    iModem->ImportL (iResults, 2);
-    iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-    iModem->ProgressUpdateL ();
-    iModem->GetMatchL (_L8 ("OK"), 1);
-    
-	// the available speeds are stored in iResults
-	// we set our proposed speed to the highest compatible with faxini settings
-
-	if ((iResults.FindF (_L8 ("24"))) >= 0)
-		iActualFaxSpeed = 24;
-	else
-		return (KFaxErrModemNotWorking);
-	if ((iFaxServerSessionSettings->iMaxSpeed) > 2400)
-		if ((iResults.FindF (_L8 ("48"))) >= 0)
-			iActualFaxSpeed = 48;
-	if ((iFaxServerSessionSettings->iMaxSpeed) > 4800)
-		if ((iResults.FindF (_L8 ("96"))) >= 0)
-			iActualFaxSpeed = 96;
-	if ((iFaxServerSessionSettings->iMaxSpeed) > 9600)
-		if ((iResults.FindF (_L8 ("145"))) >= 0)
-			iActualFaxSpeed = 145;
-
-	// we now issue our ATD command, and if we aren't in immediate
-	// transmit mode (already off hook) then we dial a number
-
-	iModem->ExportL (_L8 ("ATD"));
-	if ((iFaxServerSessionSettings->iMode & KFaxOffHook) == 0)
-		iModem->ExportL (iFaxServerSessionSettings->iPhoneNumber);
-	iModem->TxcharL (Kreturn);
-	iModem->iOurMessage.Format (_L8 ("Call has been dialled"));
-	iModem->iProgress.iPhase = ECallEstablishment;
-	iModem->ProgressUpdateL ();
-
-	// now we wait up to KDialTimeout seconds for the modem to connect
-
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, KDialTimeout)))
-			return (KFaxErrNoDial);
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-		if ((iResults.FindF (_L8 ("NO DIALTONE"))) >= 0 ||
-			iResults.FindF (_L8 ("NO DIAL TONE")) >= 0)
-			return (KFaxErrNoDialTone);
-		if ((iResults.FindF (_L8 ("BUSY"))) >= 0)
-			return (KFaxErrBusy);
-		if ((iResults.FindF (_L8 ("NO ANSWER"))) >= 0)
-			return (KFaxErrNoAnswer);
-		if ((iResults.FindF (_L8 ("NO CARRIER"))) >= 0)
-			return (KFaxErrNoCarrier);
-		if ((iResults.FindF (_L8 ("CONNECT"))) >= 0)
-			break;
-		}
-
-	// we can now go on to phase B
-
-	iResults.Copy (_L8 ("CALL JUST ANSWERED"));
-	return (TxPrePageL ());
-}
-/********************************************************************/
-
-// here we negotiate a fax transmission, or a polled reception - Phase B
-// this function is always called after we have connected. However,
-// it can be called at other times if the receiver has requested a
-// renegotiation or if we want to change the fax parameters, in which
-// case we would enter with iModem->iProgress.iPhase == RFax::EPostPageStatus
-
-TInt CFaxClass1::TxPrePageL ()
-{
-	TInt i;
-	//TInt x;
-	TInt successiveErrors = 0;
-	TInt trainingAttempts = 0;
-	iDcsBytes = 3;
-	iOldFrame.Zero ();
-	TInt ticks;
-	TInt trainbytes;
-
-	// this routine is one big frame waiting loop - note that on first entry
-	// here we have set the length of the last frame stored in iOldFrame to
-	// zero, so we don't resend any last frame on first entry here.
-	// Subsequent iterations of our receive loop will resend the iOldFrame
-	// if nothing is received, in an attempt at error recovery, unless of
-	// course we have deliberately reset iOldFrame to zero again
-
-	//x = 0;
-	for (;;)
-		{
-		if (iModem->iProgress.iPhase != EPostPageStatus)
-			{
-			if (GetframeL (iResults) == 0)
-				{
-				if (successiveErrors++ > 3)
-					return (KFaxErrFrameFail);
-
-				 if (iModem->iProgress.iPhase == ECallEstablishment)
-				 // no point in carrying on without any capability frame
-				{
-				iModem->ExportL (_L8 ("AT+FRH=3\r"));
-				continue;
-				}
-		//		if (iModem->iProgress.iPhase == ECallEstablishment)
-		//			{
-		//			if (x++ == 3)
-		//				return (KFaxErrFrameFail);
-		//			
-		//			iModem->ExportL (_L8 ("AT+FRH=3\r"));
-		//			continue;
-		//			}
-
-				// no point in carrying on without any capability frame
-				// else
-
-				iResults[1] = 0x10;
-				iResults[2] = 0xff;
-
-				// this is a nonexistent response
-				// the effect of this is to force a retransmission of the TSI and DCS
-				// with (hopefully) a subsequent retrain in an attempt to resync
-				}
-			else 
-			    successiveErrors = 0;
-
-
-			
-			if (iResults[2] != 0xff)
-			{
-			
-			iModem->iOurMessage.Format (_L8 ("Response received"));
-			iModem->ProgressUpdateL ();
-
-			// the third byte in the frame is the FCF (fax control field)
-
-			switch ((TUint8) iResults[2])
-				{
-				case 0xff:         // this is our dummy octet to force a restart
-					break;
-
-				case 0x40:         // this marks the receiver ID
-					iModem->iOurMessage.Format (_L8 ("CSI identity Frame"));
-					iModem->ProgressUpdateL ();
-					iModem->iProgress.iAnswerback.Zero ();
-					for (i = 22; i > 2; i--)
-						iModem->iProgress.iAnswerback.Append (iResults[i]);
-					iModem->iOurMessage.Format (_L8 ("Remote fax ID is %S"), &iModem->iProgress.iAnswerback);
-					iModem->ProgressUpdateL ();
-					break;           // the capability frame should follows
-
-				case 0x80:         // this marks the receiver capability frame
-					iFcfXbit = 1;    // we've received a DIS, so set the X bit
-					iModem->iOurMessage.Format (_L8 ("DIS capability Frame"));
-					iModem->ProgressUpdateL ();
-					AnalyseDISL ();   // analyse the DIS and compose a DCS
-					if (iDisFrame.bit.b10 != 1)
-						return (KFaxErrRemoteCannotReceive);  // if the other machine can't receive we exit
-					break;
-
-				case 0x84:         // this marks a good train and is the normal exit from this loop
-					iModem->iOurMessage.Format (_L8 ("CFR confirmation Frame"));
-					iModem->ProgressUpdateL ();
-					return (TxSetHighSpeedL ());
-
-				case 0x44:         // this marks a failed train so we drop the speed
-					iModem->iOurMessage.Format (_L8 ("FTT failure to train Frame"));
-					iModem->ProgressUpdateL ();
-					if (++trainingAttempts & 1)      // train down on failures 2 4 6 8
-						break;
-				if (iActualFaxSpeed == 73)
-					iActualFaxSpeed = 96;
-				else
-					iActualFaxSpeed -= 24;
-				if (iActualFaxSpeed < (iFaxServerSessionSettings->iMinSpeed / 100))
-					{
-				TxDCNL ();
-				return (KFaxBelowMinSpeed);
-					}
-				break;
-
-				case 0xfa:         // this means we were asked to disconnect
-					RxDCNL ();
-					return (KFaxErrRemoteDCN);
-
-				case 0x20:         // this marks a non-standard frame, which we ignore
-					iModem->iOurMessage.Format (_L8 ("NSF nonstandard facilities Frame"));
-					iModem->ProgressUpdateL ();
-					break;
-
-				// the last case is where we see an unsupported frame
-				// if it is a final frame we ask for a repeat via CRP
-
-				default:
-					if (SendCRPL () != KErrNone)
-						return (KFaxErrCRP);
-				}
-
-			// if not a final frame we just issue AT+FRH=3 and continue
-
-			if (!(iResults[1] & 0x10))
-				{
-				iModem->ExportL (_L8 ("AT+FRH=3\r"));
-				continue;
-				}
-			// otherwise we send our proposals, starting with our own ID
-
-			iModem->iOurMessage.Format (_L8 ("Final frame received"));
-			iModem->ProgressUpdateL ();
-			}
-		}// if (iResults[2] !=0) statement
-		if (iModem->iProgress.iPhase == ECallEstablishment)
-			{
-			iModem->iOurMessage.Format (_L8 ("sending TSI"));
-			iModem->ProgressUpdateL ();
-			iFrame.Zero ();
-			iFrame.Append (KT30_CTLNXT);
-			iFrame.Append (KT30_TSI);
-			for (i = 20; i > iFaxServerSessionSettings->iFaxId.Length (); i--)
-				iFrame.Append (0x20);
-			for (i = iFaxServerSessionSettings->iFaxId.Length (); i;)
-			iFrame.Append (iFaxServerSessionSettings->iFaxId[--i]);
-			if (SendframeL (iFrame) != 1)
-				return (KFaxErrHDLC);
-			}
-		else
-			{
-			iModem->ExportL (_L8 ("AT+FTH=3\r"));
-			if (FramestatL () != 1)
-				return (KFaxErrHDLC);
-			}
-
-		iModem->iProgress.iPhase = ESessionNegotiation;
-
-		// before sending our DCS frame we ensure the speeds bits match what we want
-
-		iDcsFrame.byte[1] &= 0xc3;
-		switch (iActualFaxSpeed)
-			{
-			case 48:
-				iDcsFrame.byte[1] |= 0x08;
-				break;						/* 4800 */
-			case 96:
-				iDcsFrame.byte[1] |= 0x04;
-				break;						/* 9600 V.29 */
-			case 97:
-				iDcsFrame.byte[1] |= 0x24;
-				break;						/* 9600 V.17 */
-			case 72:
-				iDcsFrame.byte[1] |= 0x0c;
-				break;						/* 7200 V.29 */
-			case 73:
-				iDcsFrame.byte[1] |= 0x2c;
-				break;						/* 7200 V.17 */
-			case 145:
-				iDcsFrame.byte[1] |= 0x20;
-				break;						/* 14400 */
-			case 121:
-				iDcsFrame.byte[1] |= 0x28;
-				break;						/* 12000 */
-			default:
-				iDcsFrame.byte[1] |= 0x00;  /* 2400 */
-			}
-		iModem->iOurMessage.Format (_L8 ("sending DCS "));
-		iModem->ProgressUpdateL ();
-		iFrame.Zero ();
-		iFrame.Append (KT30_CTLLST);
-		iFrame.Append (KT30_DCS);
-		//x = 3;
-		for (i = 0; i < iDcsBytes; i++)
-			iFrame.Append (iDcsFrame.byte[i]);
-		if (SendframeL (iFrame) != 1)
-			return (KFaxErrHDLC);
-
-		// after sending our DCS frame we wait fot 75 ms before training
-		//
-		// Note on the 75 millisecond delays
-		// =================================
-		// At this point we need to introduce a 75 ms delay (+-20%).
-		// this is usually done with the AT+FTS=8 command and the code
-		// would normally run as follows :
-		//
-		// iModem->ExportL (_L8 ("AT+FTS=8\r"));
-		// if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-		// return (KFaxErrStopAndWait);
-		//
-		// or, alternatively, we could use our own routines to delay
-		// for this amount of time using
-		//
-		// iModem->Silence (75000);
-		//
-		// However, the innards of the comms driver in EPOC32 introduces
-		// 2-tick delays on timed reads and writes - in other words, there
-		// was a 2-tick delay before the OK from our last frame was received
-		// and there will also be a 2-tick delay before the next command
-		// reaches the modem. Note that a 2-tick delay could be from 15
-		// to 30 ms - we want a delay from 60ms to 90 ms (75 ms +- 20%) -
-		// which must be between 4 and 6 ticks.  All the delays we use
-		// here are empirically arrived at via Faxlab testing rather
-		// than being worked out in advance.
-
-		// NOTE : these delays are really applicable ONLY to Protea/ARM7100
-		// the machine dependency is unavoidable under the
-		// circumstances. Protea ticks @ 64 Hz, which gives
-		// us 15.625 ms per tick.  WINS ticks @ 10 Hz,
-		// which gives us 100 microseconds per tick - clearly a
-		// significant difference - the delta timers in the comms
-		// kernel are therefore also very different
-
-		iModem->iOurMessage.Format (_L8 ("delaying for 75 ms"));
-		iModem->ProgressUpdateL ();
-		
-	//	iModem->Silence ((iModem->iGranularity - 125) * 4);       // 4 ticks pre-TCF - below iModem->iGranularity x 1
-		
-		TInt delay=iModem->iCalls*37;		//iCalls for 2ms *37 to get an approximatelly 75ms delay
-		TInt k=0;
-
-		for (k=0;k<delay;k++)		// this loop will  generate the 75ms delay
-		iModem->clock();
-		
-		i = (iActualFaxSpeed & 0xfe);
-		iModem->iOurMessage.Format (_L8 ("setting %d00"), i);
-		iModem->iProgress.iSpeed = (i * 100);
-		iModem->ProgressUpdateL ();
-		iResults.Copy (_L8 ("AT+FTM="));
-		iResults.AppendNum (iActualFaxSpeed);
-		iResults.Append (_L8 ("\r"));
-		iModem->ExportL (iResults);
-
-		// say how many bytes in the 1.5 second TCF
-		// prepare a null filled transmit buffer length and get length to maxnulls
-		// calculate minimum scan line times
-		// wait for the modem CONNECT
-
-		trainbytes = (i * 150 / 8);
-		iModem->iOurMessage.Format (_L8 ("training sequence for %d bytes"), trainbytes);
-
-		iModem->iTransmitBuffer.SetMax ();
-		iModem->iTransmitBuffer.FillZ ();
-		TInt maxnulls = iModem->iTransmitBuffer.Length ();
-		iModem->ProgressUpdateL ();
-		if (iMinscan == 0)
-			iMinlinelength = 0;
-		else
-			iMinlinelength = ((iModem->iProgress.iSpeed / (1000 / iMinscan)) / 8) + 1;
-		if ((iModem->GetMatchL (_L8 ("CONNECT"), 5)) == 0)
-			return (KFaxErrAtNegotiatedSpeed);
-
-		// now we send our TCF with flow control
-
-		iModem->Xonon ();
-		
-		iModem->iOurMessage.Format (_L8 ("Entering training loop"));
-		iModem->ProgressUpdateL ();
-		
-		while (trainbytes != 0)
-			{
-			if (maxnulls > trainbytes)
-				{
-				iModem->iTransmitBuffer.SetLength (trainbytes);
-				trainbytes = 0;
-				}
-			else
-				{
-				iModem->iTransmitBuffer.SetMax ();
-				trainbytes -= maxnulls;
-				}
-			iModem->CommitTransmitBufferL ();
-			}
-
-		iModem->iTransmitBuffer.Append (Kdle);
-		iModem->iTransmitBuffer.Append (Ketx);
-		iModem->CommitTransmitBufferL ();
-
-
-		iModem->iOurMessage.Format (_L8 ("Train complete"));
-		iModem->ProgressUpdateL ();
-
-		// now wait for the modem to return to command mode
-
-		while (iModem->Rxstat () != 0)
-			{
-			ticks = CLK_TCK;
-			iModem->RxcharWaitL (ticks);
-			}
-		if ((iModem->GetMatchL (_L8 ("OK"), 5)) == 0)
-			return (KFaxErrTrainStop);
-
-		iModem->Xonoff ();
-		// there's no frame to resend, so we prepare a CRP in case of
-		// any errors before looping for the response
-
-		iOldFrame.Zero ();
-		iModem->ExportL (_L8 ("AT+FRH=3\r"));
-		}
-}
-/********************************************************************/
-
-// this is a small function to set a class 1 fax modem to phase C
- // transmission speed (found in iActualFaxSpeed) in preparation for
- // sending data.  This function is called before the first page
- // and also between pages. Class 1 modems require that we delay for
- // 75 ms before going to phase C transmission - see the note
- // earlier on method of achieving a 75 ms delay here
-
-TInt CFaxClass1::TxSetHighSpeedL ()
-{
-	TInt x, portSpeed;
-	iFrame.SetMax ();
-	iModem->iOurMessage.Format (_L8 ("delaying for 75 ms"));
-	iModem->ProgressUpdateL ();
-//	iModem->Silence ((iModem->iGranularity - 125) * 4);  // 4 ticks pre-T4 - below iModem->iGranularity x 3
-
-	TInt delay=iModem->iCalls*37;		//iCalls for 2ms *37 to get an approximatelly 75ms delay
-	TInt k=0;
-
-	for (k=0;k<delay;k++)		// this loop will  generate the 75ms delay
-		iModem->clock();
-
-	switch (iActualFaxSpeed)
-		{
-		case 145:
-			x = 144;
-			portSpeed = 146;
-			break;
-		case 121:
-			x = 120;
-			portSpeed = 122;
-			break;
-		case 97:
-			x = 96;
-			portSpeed = 98;
-			break;
-		case 73:
-			x = 72;
-			portSpeed = 74;
-			break;
-		default:
-			x = portSpeed = iActualFaxSpeed;
-		}
-	iModem->iOurMessage.Format (_L8 ("setting %d00"), x);
-	iModem->iProgress.iSpeed = (x * 100);
-	iModem->ProgressUpdateL ();
-	iResults.Copy (_L8 ("AT+FTM="));
-	iResults.AppendNum (portSpeed);
-	iResults.Append (_L8 ("\r"));
-	iModem->ExportL (iResults);
-	if (FramestatL () != 1)
-		return (KFaxErrAtNegotiatedSpeed);
-	return (TxStartPageL ());
-}
-/********************************************************************/
-
-// here's where we wait after sending a page and the postpage
-// message to see what the receiver thought - there are five responses
-// MCF RTP PIP = good page         RTN PIN = bad page
-//
-// TxPostPage should return either with
-//
-// a) an error code and iPhase set to RFax::EPostPageStatus, in which case the send returns with the error
-// b) KErrNone and iPhase set to RFax::EDataTransfer, in which case we send the next page
-// c) KErrNone and iPhase set to RFax::EDisconnection, in which case the send returns with KErrNone
-//
-
-TInt CFaxClass1::TxPostPageL ()
-{
-	if (iModem->iProgress.iCompression == EModifiedRead)
-		{
-		iModem->iTransmitBuffer.Append (0x00);
-		iModem->iTransmitBuffer.Append (0x60);
-		iModem->iTransmitBuffer.Append (0x00);
-		iModem->iTransmitBuffer.Append (0x0C);
-		iModem->iTransmitBuffer.Append (0x80);
-		iModem->iTransmitBuffer.Append (0x01);
-		iModem->iTransmitBuffer.Append (0x30);
-		iModem->iTransmitBuffer.Append (0x00);
-		iModem->iTransmitBuffer.Append (0x06);
-		iModem->iTransmitBuffer.Append (0xC0);
-		}
-	else
-		{
-		for (TInt x = 3; x; x--)
-			{
-			iModem->iTransmitBuffer.Append (0x0);
-			iModem->iTransmitBuffer.Append (0x08);
-			iModem->iTransmitBuffer.Append (0x80);
-			}
-		}
-	iModem->iTransmitBuffer.Append (Kdle);
-	iModem->iTransmitBuffer.Append (Ketx);
-	iModem->CommitTransmitBufferL ();
-
-	iModem->iOurMessage.Format (_L8 ("<dle><etx> transmitted after %d lines"), iModem->iProgress.iLines);
-	iModem->iProgress.iPhase = EPostPageStatus;
-	iModem->ProgressUpdateL ();
-	while (iModem->Txstat () != 0)
-		;
-
-	// we've just ended phase C data, so we need to wait for the modem to respond with OK
-
-	if (iModem->GetMatchL (_L8 ("OK"), (32 * 1024) / (iModem->iProgress.iSpeed / 10)) == 0)
-		return (KFaxErrCannotEndData);
-
-	iModem->Xonoff ();
-
-	iModem->iOurMessage.Format (_L8 ("delaying for 75 ms"));
-	iModem->ProgressUpdateL ();
-
-
-/*************************************          NOTE       *******************************************************	
-// see the note earlier on reason for the lack of an explicit 75 ms delay here
-
-
-//	iModem->Silence ((iModem->iGranularity - 125) * 4);   4 ticks post-T4 - below iModem->iGranularity x 1
-//  The above line of code was removed because the Silence function calls User::After which is fairly inaccurate
-//  Faxlab revealed that we were actually waiting for 432 ms !!! instead of the recomended 75ms +- 20%
-//  The delay is now generated using the timing callibration loop
-//  This is more CPU intensive than the User::After call because essentially is a aoftware delay loop but 
-//  will enhance the reliability of fax class 1 especially over GSM
-*****************************************************************************************************************/
-	TInt delay=iModem->iCalls*30;		//iCalls for 2ms *37 to get an approximatelly 75ms delay
-	TInt k=0;
-
-	for (k=0;k<delay;k++)		// this loop will  generate the 75ms delay
-		iModem->clock();
-
-	iOldFrame.Zero ();
-	iFrame.Zero ();
-	iFrame.Append (KT30_CTLLST);
-
-
-	if ((iFaxServerSessionSettings->iTxPages) == iModem->iProgress.iPage)
-		{
-		iModem->iOurMessage.Format (_L8 ("sending EOP"));
-		iModem->ProgressUpdateL ();
-
-		iFrame.Append ((KT30_EOP));
-		if (SendframeL (iFrame) == 0)
-			return (KFaxErrEOP);
-
-		iModem->iOurMessage.Format (_L8 ("End of document transmitted"));
-		iModem->ProgressUpdateL ();
-		}
-	else
-		{
-		iModem->iOurMessage.Format (_L8 ("sending MPS"));
-		iModem->ProgressUpdateL ();
-
-		iFrame.Append ((KT30_MPS));
-		if (SendframeL (iFrame) == 0)
-			return (KFaxErrMPS);
-
-		iModem->iOurMessage.Format (_L8 ("End of page %u transmitted"), iModem->iProgress.iPage);
-		iModem->ProgressUpdateL ();
-		}
-
-	// now we await the post-page response from the receiver
-	// we loop here because we need a final frame
-
-	for (;;)
-		{
-		iModem->ExportL (_L8 ("AT+FRH=3\r"));
-		if (GetframeL (iResults) == 0)
-			return (KFaxErrFrameFail);
-		iModem->iOurMessage.Format (_L8 ("Response received"));
-		iModem->ProgressUpdateL ();
-
-		// the third byte in the frame is the FCF (fax control field)
-		// for those we recognize straight off, we say so
-		// for any others, we either loop immediately or after a CRP request
-
-		switch ((TUint8) iResults[2])
-			{
-			case 0x8c:
-				iModem->iOurMessage.Format (_L8 ("MCF"));
-				break;
-			case 0xcc:
-				iModem->iOurMessage.Format (_L8 ("RTP"));
-				break;
-			case 0xac:
-				iModem->iOurMessage.Format (_L8 ("PIP"));
-				break;
-			case 0x4c:
-				iModem->iOurMessage.Format (_L8 ("RTN"));
-				break;
-			case 0x2c:
-				iModem->iOurMessage.Format (_L8 ("PIN"));
-				break;
-
-			// the last case is where we see an unsupported frame
-			// if it is a final frame we ask for a repeat via CRP
-
-			default:
-				if (SendCRPL () != KErrNone)
-					return (KFaxErrCRP);
-				continue;
-			}
-
-		// now back to look at the FCF some more
-		switch ((TUint8) iResults[2])
-			{
-			case 0x8c:
-			case 0xcc:            // for good pages we say confirmed
-			case 0xac:
-				iModem->iOurMessage.Append (_L8 (" message confirmation"));
-				iModem->ProgressUpdateL ();
-				break;
-
-			case 0x4c:            // for bad pages we say no good
-			case 0x2c:            // if we haven't done so, resent last page
-				iModem->iOurMessage.Append (_L8 (" : page not confirmed"));
-				iModem->ProgressUpdateL ();
-				if (iRepeatPage == 0)
-					{
-				iRepeatPage++;
-				iModem->iProgress.iPage--;
-				return (TxPrePageL ());
-					}
-
-			default:;
-			}
-
-		// we aren't going to resend the last page now
-
-		iRepeatPage = 0;
-
-		// if we've reached the end, we just quit
-
-		if ((iFaxServerSessionSettings->iTxPages) == iModem->iProgress.iPage)
-			{
-			return (TxDCNL ());
-			}
-
-		// if we've received an MCF we carry on with phase C
-
-		if (iResults[2] == KT30_MCF)      // carry on with phase C only if MCF
-
-			{
-			return (TxSetHighSpeedL ());
-			}
-
-		// we renegotiate if PIP or RTP, or PIN or RTN with no resend
-
-		iModem->iOurMessage.Format (_L8 ("Renegotiating session parameters"));
-		iModem->ProgressUpdateL ();
-		return (TxPrePageL ());
-		}
-}
-/********************************************************************/
-
-// the analysis of the DIS frame and composition of the DCS frame
- // has been moved here for readability
-
-inline void CFaxClass1::AnalyseDISL ()
-{
-	TInt i;
-
-	// we copy iResults to our iDisFrame and compose our reply in iDcsFrame
-
-	for (i = 0; i < 5; i++)
-		iDisFrame.byte[i] = (TUint8) iResults[i + 3];
-
-	for (i = 0; i < 5; i++)
-		iDcsFrame.byte[i] = 0;
-
-	// we always set T.4
-
-	iDcsFrame.bit.b10 = 1;
-
-	// we check the speed capability next and reset our iActualFaxSpeed
-
-	switch (iDisFrame.byte[1] & 0x3c)
-		{
-		case 0x08:
-			i = 48;
-			break;                 /* V.27 ter 4800 2400 */
-		case 0x0c:
-			i = 96;
-			break;                 /* V.29 9600 7200 + V.27 */
-		case 0x2c:
-			i = 145;
-			break;                 /* V.17 14400 + V.29 + V.27 */
-		default:
-			i = 24;                /* V.27 fallback 2400 only */
-		}
-	if (i < (iActualFaxSpeed))
-		iActualFaxSpeed = i;
-
-	// we set our resolution to that of the fax we want to send
-	// but if the receiver can only understand normal resolution
-	// then we send all our faxes as normal and resign ourselves
-	// to stretching them to double length
-
-	iDcsFrame.bit.b15 = iFaxServerSessionSettings->iTxResolution;
-	if (iDisFrame.bit.b15 == 0)
-		iDcsFrame.bit.b15 = 0;
-	iModem->iProgress.iResolution = TFaxResolution (iDcsFrame.bit.b15);
-
-	// we set our compression to that of the fax we want to send
-	// unless the receiver can only understand 1D compression - in
-	// which case the sender should be able to compensate from the 
-	// progress settings
-
-	iDcsFrame.bit.b16 = iFaxServerSessionSettings->iTxCompression;
-	if (iDisFrame.bit.b16 == 0)
-		{
-		iDcsFrame.bit.b16 = 0;
-		}
-	
-	if ((iDisFrame.bit.b16==1) && ((iFaxServerSessionSettings->iTxCompression==EModifiedRead)))
-		{
-		iDcsFrame.bit.b16 = 1;
-		}
-
-	iModem->iProgress.iCompression = TFaxCompression (iDcsFrame.bit.b16);
-
-	if (iModem->iProgress.iCompression==0)
-		{
-		iModem->iOurMessage.Format (_L8("DCS frame set to 1D"));
-		iModem->ProgressUpdateL();
-		}
-	else 
-		{
-		iModem->iOurMessage.Format (_L8("DCS frame set to 2D"));
-		iModem->ProgressUpdateL();
-		}
-
-
-	// we set the minumum scan line time to that of the receiver
-
-	iDcsFrame.byte[2] &= 0x8f;
-	switch (iDisFrame.byte[2] & 0x70)
-		{
-		case 0x70:
-                                        			iMinscan = 0;
-			iDcsFrame.byte[2] |= 0x70;
-			break;                 /* b21=1 b22=1 b23=1 */
-		case 0x50:
-			if (iDcsFrame.bit.b15 == 0)
-				{
-			iMinscan = 40;
-			iDcsFrame.byte[2] |= 0x40;
-				}
-			else
-				{
-				iMinscan = 20;
-				}
-			break;                 /* b21=1 b22=0 b23=1 - for fine res, /by 2 */
-		case 0x30:
-			if (iDcsFrame.bit.b15 == 0)
-				{
-				iMinscan = 20;
-				}
-			else
-				{
-				iMinscan = 10;
-				iDcsFrame.byte[2] |= 0x20;
-				}
-			break;                 /* b21=1 b22=1 b23=0 - for fine res, /by 2 */
-		case 0x60:
-			if (iDcsFrame.bit.b15 == 0)
-				{
-				iMinscan = 10;
-				iDcsFrame.byte[2] |= 0x20;
-				}
-			else
-				{
-				iMinscan = 5;
-				iDcsFrame.byte[2] |= 0x10;
-				}
-			break;                 /* b21=0 b22=1 b23=1 - for fine res, /by 2 */
-		case 0x10:
-			iMinscan = 5;
-			iDcsFrame.byte[2] |= 0x10;
-			break;                 /* b21=1 b22=0 b23=0 */
-		case 0x20:
-			iMinscan = 10;
-			iDcsFrame.byte[2] |= 0x20;
-			break;                 /* b21=0 b22=1 b23=0 */
-		case 0x40:
-			iMinscan = 40;
-			iDcsFrame.byte[2] |= 0x40;
-			break;                 /* b21=0 b22=0 b23=1 */
-		default:
-			iMinscan = 20;         /* b21=0 b22=0 b23=0 */
-		}
-
-	// lastly, we always match our page length to the receiver page length
-
-	iDcsFrame.bit.b19 = iDisFrame.bit.b19;
-	iDcsFrame.bit.b20 = iDisFrame.bit.b20;
-}
-/********************************************************************/
-
-// this is where we wait for modem responses
-
- // this function can be called either with a timeout in seconds
- // or with nothing, in which case we use a default as follows :
-
- // when we wait for the frame data we use a 6 second timeout
- // as specified in T.30 as timer T2 if we are waiting for
- // a command or a 3 second timer as specified in timer T4
- // if we are waiting for a response, with the presence of
- // a resendable frame in iOldFrame being the test
-
- // notice that importL() takes a timeout specified in seconds
-
- // normally OK and CONNECT are good with ERROR or NO CARRIER being bad
- // we save the actual result for inspection as ERROR codes after
- // frame reception with AT+FRH needs special handling via GETFRAMESTAT
-
-TInt CFaxClass1::FramestatL ()
-{
-	TInt ticks;
-	if (iOldFrame.Length () == 0)
-		ticks = KT30_T2;
-	else
-		ticks = KT30_T4;
-	return (FramestatL (ticks));
-}
-/********************************************************************/
-
-TInt CFaxClass1::FramestatL (TInt aTicks)
-{
-	for (;;)
-		{
-		iModemString.SetMax ();
-		if (iModem->ImportL (iModemString, aTicks) == 0)
-			return (-1);;
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iModemString);
-		iModem->ProgressUpdateL ();
-
-		if ((iModemString.FindF (_L8 ("OK"))) >= 0)
-			return (1);
-		if ((iModemString.FindF (_L8 ("CONNECT"))) >= 0)
-			return (1);
-		if ((iModemString.FindF (_L8 ("ERROR"))) >= 0)
-			return (0);
-		if ((iModemString.FindF (_L8 ("NO CARRIER"))) >= 0)
-			return (0);
-		}
-}
-/********************************************************************/
-
-// if we have an ERROR result on receiving a frame it means that
- // the CRC was incorrect - the action is to wait until 200 ms of
- // silence have elapsed before resending the last frame - we use
- // the ReceiveSilenceL function for this
-
-TInt CFaxClass1::GetFramestatL ()
-{
-	TInt code = FramestatL ();
-	if ((iModemString.FindF (_L8 ("ERROR"))) >= 0)
-		ReceiveSilenceL ();
-	return (code);
-}
-/********************************************************************/
-
-// this is the HDLC frame reception handler after AT+FRH commands
-
-TInt CFaxClass1::GetframeL (TDes8 & aResult)
-{
-	TInt i, retries = 0, frameStatus = 1;
-	TInt ticks;
-	TUint8 thisChar, lastChar;
-	TBuf8 < 4 > iHexchar;
-
-	iModem->iOurMessage.Format (_L8 ("Waiting for Frame"));
-	iModem->ProgressUpdateL ();
-
-	// framestat is set to 1 for no error before entry to the loop
-
-	for (;;)
-		{
-
-		// we only try three times before giving up
-
-		retries++;
-		if (retries > 3)
-			return (0);
-
-		// if we timed out, cancel the frame before proceeding
-
-		if (frameStatus < 0)
-			{
-			iModem->TxcharL (Kcan);
-			iModem->iOurMessage.Format (_L8 ("Frame timed out"));
-			iModem->ProgressUpdateL ();
-			GetFramestatL ();
-			}
-
-		// on any error, we resend the last frame if possible before
-		// waiting for another go
-
-		if (frameStatus != 1)
-			{
-			if (SendframeL (iOldFrame) == 0)
-				{
-				iModem->iOurMessage.Format (_L8 ("Cannot resend Frame"));
-				iModem->ProgressUpdateL ();
-				return (0);
-				}
-			iModem->iOurMessage.Format (_L8 ("Frame has been resent"));
-			iModem->ProgressUpdateL ();
-			iModem->ExportL (_L8 ("AT+FRH=3\r"));
-			}
-
-		// if we've just answered the phone, we don't wait for a result
-		// otherwise we must have an OK or CONNECT before proceeding
-
-		if ((aResult.Compare (_L8 ("CALL JUST ANSWERED"))) == 0)
-			{
-			frameStatus = 1;
-			}
-		else
-			{
-			frameStatus = GetFramestatL ();
-			}
-
-		aResult.FillZ ();
-		aResult.SetMax ();
-
-		// if we got NO CARRIER or ERROR then we have to try again
-
-		if (frameStatus != 1)
-			continue;
-
-		// when we wait for the frame data we use a 6 second timeout
-		// as specified in T.30 as timer T2 if we are waiting for
-		// a command or a 3 second timer as specified in timer T4
-		// if we are waiting for a response, with the presence of
-		// a resendable frame in iOldFrame being the test
-
-		// note that RxcharWaitL () takes a timeout in microseconds
-
-		if (iOldFrame.Length () == 0)
-			ticks = CLK_TCK * KT30_T2;
-		else
-			ticks = CLK_TCK * KT30_T4;
-
-		// we expect data with dle shielding, ending with dle etx,
-		// and with a hex dump for our session log
-
-		// there is a 3 second maximum length to a frame but
-		// the modem will detect bad HDLC frames for us and
-		// flag with ERROR
-
-		for (i = 0, lastChar = 0; i < 64;)
-			{
-			if ((iModem->RxcharWaitL (ticks)) == 0)
-				{
-				frameStatus = (-1);
-				break;
-				}
-			thisChar = iModem->iReadone[0];
-			if (lastChar == Kdle)
-				{
-				if (thisChar == Ketx)
-					break;
-				lastChar = 0;
-				if (thisChar != Kdle)
-					continue;
-				}
-			else if (thisChar == Kdle)
-				{
-				lastChar = Kdle;
-				continue;
-				}
-			aResult[i++] = thisChar;
-
-			iHexchar.Format (_L8 ("%x "), thisChar);
-			if ((iModem->iOurMessage.Length () + iHexchar.Length ()) + 18 < iModem->iOurMessage.MaxLength ())
-				iModem->iOurMessage.Append (iHexchar);
-			}
-
-		iModem->ProgressUpdateL ();
-
-		// if we timed out during the wait, then go round again and handle it
-
-		if (frameStatus != 1)
-			continue;
-
-		// otherwise we wait for the result code following the dle etx
-		// and handle any errors from that
-
-		frameStatus = GetFramestatL ();
-		if (frameStatus != 1)
-			continue;
-
-		// the third byte in the frame is the FCF (fax control field)
-		// we don't care whether we originated or answered the call
-		// so we always knock off the T.30 X bit (LSB)
-
-		aResult[2] &= 0xfe;
-
-		// if we have been asked for a frame repeat we do that in here
-
-		if (aResult[2] == 0x1a)
-			{
-			iModem->iOurMessage.Format (_L8 ("CRP command repeat Frame"));
-			iModem->ProgressUpdateL ();
-			ReceiveSilenceL ();
-			frameStatus = 0;       // treat as a timeout and resend
-			continue;
-			}
-
-		// otherwise we can now return with success
-
-		return (1);
-		}
-}
-/********************************************************************/
-
-// this is the send HDLC frame handler following AT+FTH commands
-
-TInt CFaxClass1::SendframeL (TDes8 & newframe)
-{
-	TUint8 i;
-	TInt frameSize;
-	TBuf8 < 4 > iHexchar;
-
-	// we take a copy of the frame we've been passed in case we want
-	// to resend for error recovery during GetFrame - it's the copy
-	// we work with
-
-	if (&newframe != &iOldFrame)
-		iOldFrame.Copy (newframe);
-	frameSize = iOldFrame.Length ();
-	if (frameSize < 2)
-		return (0);
-
-	// all frames must be at least three characters
-	// note that calling SendframeL with an empty frame disables
-	// resends - iOldFrame.Zero() is rather quicker though
-
-	// we don't need to tell the modem that we're going to send a frame
-	// if we're sending DCS or CSI or DIS/DTC for the first time after a CONNECT response
-	// (not a resend) - in all other cases we need to send AT+FTH
-
-	iOldFrame[1] |= iFcfXbit;    // combine the FCF with the X bit
-	i = iOldFrame[1];
-
-	if (!((&newframe != &iOldFrame) && (i == (KT30_DCS|iFcfXbit)) || (i == KT30_CSI) || (i == (KT30_DIS|iFcfXbit))))
-		{
-		iModem->ExportL (_L8 ("AT+FTH=3\r"));
-		if (FramestatL () != 1)
-			return (0);
-		}
-
-	// we have a short delay before sending data here after any modem response
-
-	iModem->ExportL (_L8 (""));
-
-	// we now send the frame, starting with the fixed address followed
-	// by the data we have been passed.  We use dle shielding and end
-	// with dle etx and a hex dump before returning with the modem
-	// response code
-
-	iModem->TxcharL (KT30_ADDR);
-	iModem->iOurMessage.Format (_L8 ("%x "), KT30_ADDR);
-	for (i = 0; i < frameSize; i++)
-		{
-		iModem->TxcharL (iOldFrame[i]);
-		iHexchar.Format (_L8 ("%x "), iOldFrame[i]);
-		if ((iModem->iOurMessage.Length () + iHexchar.Length ()) + 18 < iModem->iOurMessage.MaxLength ())
-			iModem->iOurMessage.Append (iHexchar);
-		if (iOldFrame[i] == Kdle)
-			iModem->TxcharL (Kdle);
-		}
-	iModem->TxcharL (Kdle);
-	iModem->TxcharL (Ketx);
-	iModem->ProgressUpdateL ();
-	return (FramestatL ());
-}
-/********************************************************************/
-
-// this is short routine to request a resend of a frame
-
-TInt CFaxClass1::SendCRPL ()
-{
-	iModem->iOurMessage.Format (_L8 ("Inappropriate frame %x"), (TUint8) iResults[2]);
-	iModem->ProgressUpdateL ();
-	if (iResults[1] & 0x10)
-		{
-		iModem->iOurMessage.Format (_L8 ("sending CRP"));
-		iModem->ProgressUpdateL ();
-		ReceiveSilenceL ();
-		iFrame.Zero ();
-		iFrame.Append (KT30_CTLLST);
-		iFrame.Append (KT30_CRP);
-		if (SendframeL (iFrame) == 0)
-			return (KFaxErrCRP);
-		iResults[1] = 0x0;
-		}
-	return (KErrNone);
-}
-/********************************************************************/
-
-// this utility waits for 200 ms of silence before proceeding. We allow
-// a three second timeout here in case we are waiting for a train to
-// finish.  we used the modem AT+FRS command - if it fails we'll have
-// waited for three seconds in any case, so why bother with an error ? -
-// this code is used mostly for error recovery purposes but note that
-// not all modems support the +FRS command properly for example the
-// Megahertz PCMCIA sportster
-
-void CFaxClass1::ReceiveSilenceL ()
-{
-	iModem->ExportL (_L8 ("AT+FRS=20\r"));
-	if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-		{
-		iModem->iOurMessage.Format (_L8 ("Timeout waiting for silence"));
-		iModem->ProgressUpdateL ();
-		iModem->TxcharL (Kcan);
-		if (iModem->GetMatchL (_L8 ("OK"), 1) == 0)
-			iModem->TxcharL (Kreturn);
-		}
-}
-/********************************************************************/
-
--- a/fax/faxclientandserver/FAXSVR/CFAX2.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,609 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "FAXSERV.H"
-#include "fax_reversebytes.h"
-#include "FAXMODEM.H"
-#include "FAXMDRV.H"
-
-#include "FAXLOG.H"
-
-
-const TInt KClass2HangupStatusTimer=20;	// < Time used to wait for final +FHNG: report.
-
-// this module has three parts
-// first receive routines rx
-// second transmit routines tx
-// third utilities
-
-/********************************************************************/
-
-CFaxModemDriver *CFaxClass2::NewLC (TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-{
-	CFaxModemDriver *self = new (ELeave) CFaxClass2;
-	CleanupStack::PushL (self);
-	self->ConstructL (aFaxServerSessionSettings, aProgress);
-	return self;
-}
-
-CFaxModemDriver *CFaxClass2::NewL (TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-{
-	CFaxModemDriver *self = NewLC (aFaxServerSessionSettings, aProgress);
-	CleanupStack::Pop ();
-	return self;
-}
-/********************************************************************/
-
-TInt CFaxClass2::RxConnectL ()
-{
-	__FLOG_FAXSRV( _L8("CFaxClass2::RxConnectL entering"));
-	
-	CheckCadenceExportL (_L8 ("AT+FDCC=?\r"));
-	if (!(iModem->ImportL (iResults, 35)))
-		return (KFaxErrModemNotWorking);
-
-	iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-	iModem->ProgressUpdateL ();
-	ParseResults (iResults);
-
-	iModem->GetMatchL (_L8 ("OK"), 2);
-
-	if (iFaxServerSessionSettings->iRxResolution == EFaxNormal)
-		iModem->iProgress.iResolution = EFaxNormal;
-	else
-		iModem->iProgress.iResolution = EFaxFine;
-
-	if (iFaxServerSessionSettings->iRxCompression == EModifiedRead)
-		iModem->iProgress.iCompression = EModifiedRead;
-	else
-		iModem->iProgress.iCompression = EModifiedHuffman;
-	iActualFaxSpeed = iModem->iProgress.iSpeed;
-	if (iActualFaxSpeed > iFaxServerSessionSettings->iMaxSpeed)
-		iActualFaxSpeed = iFaxServerSessionSettings->iMaxSpeed;
-
-	iResults.Copy (_L8 ("AT+FDCC=0,0,0,2,0,0,0,0\r"));
-
-	iResults[8] = (TUint8) (iResults[8] + iModem->iProgress.iResolution);
-	iResults[10] = (TUint8) (((iActualFaxSpeed / 2400) - 1) + '0');
-	iResults[16] = (TUint8) (iResults[16] + iModem->iProgress.iCompression);
-	CheckCadenceExportL (iResults);
-	if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-		return (KFaxErrModemNotWorking);
-	CheckCadenceExportL (_L8 ("AT+FAA=0\r"));
-	if ((iModem->GetMatchL (_L8 ("OK"), 5)) == 0)
-		return (KFaxErrNoReceiveMode);
-	
-	TBuf8<RCall::KFaxIdUserNameMaxSize> narrowBuf;
-	narrowBuf.Copy(iFaxServerSessionSettings->iFaxId);
-	
-	//-- By Dmitry Lyokhin. concerns PIA-58ELQK defect.
-	if( narrowBuf.Length() < 1 ) narrowBuf.Append(' ');
-
-
-	if (iFaxServerSessionSettings->iMode & KFaxPoll)
-		{
-		iModem->ExportL (_L8 ("AT+FSPL=1\r"));
-		if ((iModem->GetMatchL (_L8 ("OK"), 5)) == 0)
-			return (KFaxPollingUnsupported);
-		iModem->ExportL (_L8 ("AT+FCIG=\""));
-		iModem->ExportL (narrowBuf);
-		iModem->ExportL (_L8 ("\"\r"));
-		if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-			return (KFaxPollingUnsupported);
-		}
-	else
-		{
-		CheckCadenceExportL (_L8 ("AT+FCR=1\r"));
-		if ((iModem->GetMatchL (_L8 ("OK"), 5)) == 0)
-			return (KFaxErrNoReceiveMode);
-		CheckCadenceExportL (_L8 ("AT+FLID=\""));
-		iModem->ExportL (narrowBuf);
-		iModem->ExportL (_L8 ("\"\r"));
-		if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-			return (KFaxErrModemNotWorking);
-		}
-
-	if (iFaxServerSessionSettings->iMode & KFaxWaitForRing)
-		{
-//		while ((iModem->GetMatchL (_L8 ("RING"), 3)) == 0);
-//		iTimeOfLastRing.UniversalTime();
-		}
-	else
-		{
-		if ((iFaxServerSessionSettings->iMode & KFaxOffHook) == 0)
-			DialFaxOnDemandL ();
-		}
-
-	if ((iFaxServerSessionSettings->iMode & KFaxPoll) == 0)
-		{
-		iModem->Silence (CLK_TCK);
-		CheckCadenceExportL (_L8 ("ATA\r"));
-		}
-
-	iModem->iProgress.iPhase = ECallEstablishment;
-
-	TInt pollDocsAvailable = 0;
-
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, 35)))
-			return (KFaxErrCannotAnswer);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("NO DIALTONE"))) >= 0 ||
-			iResults.FindF (_L8 ("NO DIAL TONE")) >= 0)
-			return (KFaxErrNoDialTone);
-		if ((iResults.FindF (_L8 ("BUSY"))) >= 0)
-			return (KFaxErrBusy);
-		if ((iResults.FindF (_L8 ("NO ANSWER"))) >= 0)
-			return (KFaxErrNoAnswer);
-		if ((iResults.FindF (_L8 ("NO CARRIER"))) >= 0)
-			return (KFaxErrNoCarrier);
-		if ((iResults.FindF (_L8 ("OK"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("FHNG"))) >= 0)
-			return (KFaxErrPrematureHangup);
-		if ((iResults.FindF (_L8 ("FCON"))) >= 0)
-			iModem->iProgress.iPhase = ESessionNegotiation;
-		else if ((iResults.FindF (_L8 ("FPOLL"))) >= 0)
-			pollDocsAvailable = 1;
-		else if ((iResults.FindF (_L8 ("FTSI"))) >= 0)
-			ExtractAnswerback (iResults);
-		else if ((iResults.FindF (_L8 ("FDCS"))) >= 0)
-			ParseResults (iResults);
-		}
-
-	if ((iFaxServerSessionSettings->iMode & KFaxPoll) && (pollDocsAvailable == 0))
-		return (KFaxNothingToPoll);
-
-	iModem->iOurMessage.Format (_L8 ("about to receive fax"));
-	iModem->ProgressUpdateL ();
-	return (RxPrePageL ());
-}
-
-/********************************************************************/
-TInt CFaxClass2::RxPrePageL ()
-{
-	__FLOG_FAXSRV( _L8("CFaxClass2::RxPrePageL entering"));
-
-	iModem->ExportL (_L8 ("AT+FDR\r"));
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, 35)))
-			return (KFaxErrCannotConnect);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("ERROR"))) >= 0)
-			return (KFaxErrNoReceiveMode);
-		if ((iResults.FindF (_L8 ("FHNG"))) >= 0)
-			return (KFaxErrPrematureHangup);
-		if ((iResults.FindF (_L8 ("CONNECT"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("FDCS"))) >= 0)
-			ParseResults (iResults);
-		}
-
-	iModem->TxcharL (Kdc2);
-	return (RxStartPageL ());
-}
-/********************************************************************/
-TInt CFaxClass2::RxPostPageL ()
-{
-	__FLOG_FAXSRV(_L8("CFaxClass2::RxPostPageL entering"));
-
-	iModem->iProgress.iPhase = EPostPageStatus;
-	iModem->ProgressUpdateL ();
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, 20)))
-			return (KFaxErrModemResponse);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("OK"))) >= 0)
-			return (KFaxErrPrematureOK);
-		if ((iResults.FindF (_L8 ("FHNG"))) >= 0)
-			return (KFaxErrPrematureHangup);
-		if ((iResults.FindF (_L8 ("FET"))) >= 0)
-			break;
-		}
-	if (iModem->GetMatchL (_L8 ("OK"), 5) == 0)
-		return (KFaxErrNoFinalOK);
-
-	if ((iResults.FindF (_L8 ("0"))) >= 0)
-		{
-		iModem->iOurMessage.Format (_L8 ("page %u successfully received"), iModem->iProgress.iPage);
-		iModem->ProgressUpdateL ();
-		return (RxPrePageL ());
-		}
-	if ((iResults.FindF (_L8 ("1"))) >= 0)
-		{
-		iModem->iOurMessage.Format (_L8 ("page %u successfully received : end of document"), iModem->iProgress.iPage);
-		iModem->ProgressUpdateL ();
-		iModem->iOurMessage.Format (_L8 ("Next fax awaited"));
-		iModem->ProgressUpdateL ();
-		return (RxPrePageL ());
-		}
-	if ((iResults.FindF (_L8 ("2"))) >= 0)
-		{
-		iModem->iOurMessage.Format (_L8 ("Final page %u successfully received"), iModem->iProgress.iPage);
-		iModem->ProgressUpdateL ();
-		iModem->iProgress.iPhase = EDisconnection;
-		iModem->ExportL (_L8 ("AT+FDR\r"));
-		if (iModem->GetMatchL (_L8 ("FHNG"), KClass2HangupStatusTimer) == 0)
-			return (KFaxErrNoHangup);
-		if (iModem->GetMatchL (_L8 ("OK"), 5) == 0)
-			return (KFaxErrNoFinalOK);
-		return (KErrNone);
-		}
-	return (KFaxErrUnknownPageCode);
-}
-/********************************************************************/
-
-TInt CFaxClass2::TxConnectL ()
-{
-	// we always use direct bit order when sending
-	// we always use reversed bit order when receiving
-	// this is in accordance with the rockwell bug.
-	// if a modem doesn't have the rockwell bug then
-	// the fax init string AT+FBOR=1 will force the
-	// use of reversed bit ordering on reception.
-	// since we have here a hardwired default AT+FBOR=0
-	// on transmission this will override the init string
-	// which will therefore only be used (as needed) for
-	// reception, and everything will work again
-
-    __FLOG_FAXSRV( _L8("CFaxClass2::TxConnectL entering"));
-
-	iModem->ExportL (_L8 ("AT+FBOR=0\r"));
-	iModem->GetMatchL (_L8 ("OK"), 3);
-
-	TBuf8<RCall::KFaxIdUserNameMaxSize> narrowBuf;
-	narrowBuf.Copy(iFaxServerSessionSettings->iFaxId);
-	
-	//-- if the fax local id string is empty, insert blank
-	//-- PIA-58ELQK defect fix by Dmitry Lyokhin 26.03.2001
-	if( narrowBuf.Length() < 1 ) narrowBuf.Append(' ');
-
-
-	iModem->ExportL (_L8 ("AT+FLID=\""));
-	iModem->ExportL (narrowBuf);
-	iModem->ExportL (_L8 ("\"\r"));
-	if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-		return (KFaxErrModemNotWorking);
-
-	iModem->ExportL (_L8 ("AT+FDCC=?\r"));
-	if (!(iModem->ImportL (iResults, 35)))
-		return (KFaxErrModemNotWorking);
-
-	iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-	iModem->ProgressUpdateL ();
-	ParseResults (iResults);
-
-	iModem->GetMatchL (_L8 ("OK"), 2);
-
-	iActualFaxSpeed = iModem->iProgress.iSpeed;
-	if (iActualFaxSpeed > iFaxServerSessionSettings->iMaxSpeed)
-		iActualFaxSpeed = iFaxServerSessionSettings->iMaxSpeed;
-
-	iResults.Copy (_L8 ("AT+FDCC=0,0,0,2,0,0,0,0\r"));
-
-	iResults[8] = (TUint8) (iResults[8] + iFaxServerSessionSettings->iTxResolution);
-	iResults[10] = (TUint8) (((iActualFaxSpeed / 2400) - 1) + '0');
-
-
-	// added to support 2Dfaxing using class 2
-	if (iModem->iProgress.iCompression==EModifiedRead)
-		iResults[16] = (TUint8) (iResults[16] + iFaxServerSessionSettings->iTxCompression);
-	else
-		iResults[16] = (TUint8) (iResults[16] + EModifiedHuffman);
-
-	iModem->ExportL (iResults);
-	if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-		return (KFaxErrModemNotWorking);
-
-	iModem->ExportL (_L8 ("ATD"));
-	if ((iFaxServerSessionSettings->iMode & KFaxOffHook) == 0)
-		iModem->ExportL (iFaxServerSessionSettings->iPhoneNumber);
-	iModem->TxcharL (Kreturn);
-
-	iModem->iProgress.iPhase = ECallEstablishment;
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, KDialTimeout)))
-			return (KFaxErrNoDial);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("NO DIALTONE"))) >= 0 ||
-			iResults.FindF (_L8 ("NO DIAL TONE")) >= 0)
-			return (KFaxErrNoDialTone);
-		if ((iResults.FindF (_L8 ("BUSY"))) >= 0)
-			return (KFaxErrBusy);
-		if ((iResults.FindF (_L8 ("NO ANSWER"))) >= 0)
-			return (KFaxErrNoAnswer);
-		if ((iResults.FindF (_L8 ("NO CARRIER"))) >= 0)
-			return (KFaxErrNoCarrier);
-		if ((iResults.FindF (_L8 ("FHNG"))) >= 0)
-			return (KFaxErrNoNegotiate);
-		if ((iResults.FindF (_L8 ("OK"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("FCON"))) >= 0)
-			iModem->iProgress.iPhase = ESessionNegotiation;
-		else if ((iResults.FindF (_L8 ("FCSI"))) >= 0)
-			ExtractAnswerback (iResults);
-		}
-	return (TxPrePageL ());
-}
-/********************************************************************/
-TInt CFaxClass2::TxPrePageL ()
-{
-    __FLOG_FAXSRV( _L8("CFaxClass2::TxPrePageL entering"));
-
-	iModem->ExportL (_L8 ("AT+FDT\r"));
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, 30)))
-			return (KFaxErrNoNegotiate);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("FHNG"))) >= 0)
-			return (KFaxErrNoNegotiate);
-		if ((iResults.FindF (_L8 ("CONNECT"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("FDCS"))) >= 0)
-			ParseResults (iResults);
-		}
-
-	for (;;)
-		{
-		
-		//TInt ticks = CLK_TCK * 10;
-		//-- PIA-58ELQK defect fix by Dmitry Lyokhin 26.03.2001
-		TInt XonTimeoutSec = CLK_TCK * 3; 
-		
-		if ((iModem->RxcharWaitL (XonTimeoutSec)) == 0)
-		{
-			//-- XON character sending timeout. Ignore. 
-			//-- PIA-58ELQK defect fix by Dmitry Lyokhin 26.03.2001
-			//return (KFaxNoClass2Xon);
-			break;
-		}
-
-		if (iModem->iReadone[0] == Kxon)
-			break;
-		}
-	return (TxStartPageL ());
-}
-/********************************************************************/
-
-//
- // TxPostPage should return either with
- //
- // a) an error code and iPhase set to RFax::EPostPageStatus, in which case the send returns with the error
- // b) KErrNone and iPhase set to RFax::EDataTransfer, in which case we send the next page
- // c) KErrNone and iPhase set to RFax::EDisconnection, in which case the send returns with KErrNone
- //
-
-TInt CFaxClass2::TxPostPageL ()
-{
-	
-	iModem->iTransmitBuffer.Append (Kdle);
-	iModem->iTransmitBuffer.Append (Ketx);
-	iModem->CommitTransmitBufferL ();
-
-	iModem->iOurMessage.Format (_L8 ("<dle><etx> transmitted after %d lines"), iModem->iProgress.iLines);
-	
-    __FLOG_FAXSRV(iModem->iOurMessage);
-
-	iModem->iProgress.iPhase = EPostPageStatus;
-	iModem->ProgressUpdateL ();
-	while (iModem->Txstat () != 0)
-		;
-
-	// we've just ended phase C data, so we need to wait for the modem to respond with OK
-
-
-
-	if (iModem->GetMatchL (_L8 ("OK"), (32 * 1024) / (iModem->iProgress.iSpeed / 10)) == 0)
-		return (KFaxErrCannotEndData);
-
-	iModem->Xonoff ();
-
-	if (iFaxServerSessionSettings->iTxPages == iModem->iProgress.iPage)
-		{
-		iModem->ExportL (_L8 ("AT+FET=2\r"));
-		iModem->iOurMessage.Format (_L8 ("End of document transmitted EOP frame"));
-		}
-	else
-		{
-		iModem->ExportL (_L8 ("AT+FET=0\r"));
-		iModem->iOurMessage.Format (_L8 ("End of page %u transmitted MPS frame"), iModem->iProgress.iPage);
-		}
-	iModem->ProgressUpdateL ();
-
-	for (;;)
-		{
-		
-//#if defined (__WINS__)
-//		RDebug::Print(_L("NOW"));
-//#endif
-
-
-		if (!(iModem->ImportL (iResults, 30)))
-		{
-			return (KFaxErrModemResponse);
-		}
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("FHNG"))) >= 0)
-			{
-			if (iResults[7] == '0')
-				break;
-			return (KFaxErrNoNegotiate);
-			}
-
-		if ((iResults.FindF (_L8 ("FPTS"))) >= 0)
-			{
-				
-				if (iResults.FindF (_L8("1"))==6)		// 6 is the position of the error code in descriptor
-					{
-						iModem->iOurMessage.Append (_L8("FPTS:1  MCF frame"));
-						iModem->ProgressUpdateL ();	
-						break;
-					}
-				else if (iResults.FindF(_L8("2"))==6)
-					{
-						iModem->iOurMessage.Append (_L8("FPTS:2  RTN frame"));
-						iModem->ProgressUpdateL ();	
-						break;
-					}
-				else if (iResults.FindF(_L8("3"))==6)
-					{
-						iModem->iOurMessage.Append (_L8("FPTS:3  RTP frame"));
-						iModem->ProgressUpdateL ();	
-						break;
-					}
-				else if (iResults.FindF(_L8("4"))==6)
-					{
-						iModem->iOurMessage.Append (_L8("FPTS:4  PIN frame"));
-						iModem->ProgressUpdateL ();	
-						break;
-					}
-				else if (iResults.FindF(_L8("5"))==6)
-					{
-						iModem->iOurMessage.Append (_L8("FPTS:5  PIP frame"));
-						iModem->ProgressUpdateL ();	
-						break;
-					}  
-				break;
-	
-			}
-	} // for(;;) ends here
-
-	if (iModem->GetMatchL (_L8 ("OK"), 5) == 0)
-		return (KFaxErrNoFinalOK);
-
-	if ((((iResults.FindF (_L8 ("2"))) >= 0) || (iResults.FindF (_L8 ("4")) >= 0)) && (iRepeatPage <= 3))  //RTN and 
-	{																								       //PIN  responses
-		iModem->iProgress.iPhase = ESessionNegotiation;
-		iRepeatPage++;
-		iModem->iProgress.iPage--;
-		return (TxPrePageL ());
-		}
-	if (iFaxServerSessionSettings->iTxPages != iModem->iProgress.iPage)
-		{
-		iRepeatPage = 0;
-		return (TxPrePageL ());
-		}
-	iModem->iProgress.iPhase = EDisconnection;
-	return (KErrNone);
-}
-/********************************************************************/
-
-// this routine parses both class 2 and class 2.0
- // T.30 session subparameter strings, from both interrogatories
- // and reports - for interrogatories, we assume that later capabilities
- // (inside the brackets) are preferable to earlier ones
-
-// amended July 1998 to support ECM for class 2.0
-
-void CFaxClass2::ParseResults (TDesC8 & aResults)
-{
-	TInt x, field, inbracket;
-	static const TInt minscans[][2] =
-		{
-			{0, 0
-			},
-			{5, 5
-			},
-			{10, 5
-			},
-			{10, 10
-			},
-			{20, 10
-			},
-			{20, 20
-			},
-			{40, 20
-			},
-			{40, 40
-			}
-		};
-
-	for ( x = 0, field = 0, inbracket = 0; x < aResults.Length (); x++)
-		{
-		if ((aResults[x] > '0' - 1) && (aResults[x] < '9' + 1))
-			{
-			if (field == 0)
-				iModem->iProgress.iResolution = TFaxResolution (aResults[x] & 1);
-			else if (field == 1)
-				iModem->iProgress.iSpeed = (aResults[x] - '0' + 1) * 2400;
-			else if (field == 4)
-				iModem->iProgress.iCompression = TFaxCompression (aResults[x] & 1);
-			else if (field == 5)
-				iModem->iProgress.iECM = (aResults[x] - '0');
-			else if (field == 7)
-				{
-				iMinscan = minscans[aResults[x] - '0'][iModem->iProgress.iResolution];
-				if (iMinscan == 0)
-					iMinlinelength = 0;
-				else
-					iMinlinelength = ((iModem->iProgress.iSpeed / (1000 / iMinscan)) / 8) + 1;
-				}
-			}
-		if (aResults[x] == 0)
-			break;
-		if (aResults[x] == 0x28)
-			inbracket = 1;
-		if (aResults[x] == 0x29)
-			inbracket = 0;
-		if ((aResults[x] == 0x2c) && (inbracket == 0))
-			field++;
-		if (field == 8)
-			break;
-		}
-	if (iFaxServerSessionSettings->iFaxClass == EClass2)
-		iModem->iProgress.iECM = 0;       // no ECM using class 2
-	if (iModem->iProgress.iECM)
-		iModem->iProgress.iECM = 1;       // and treat EC as a boolean
-}
-/********************************************************************/
-
-// this routine extract an ID string from a result code
-
-void CFaxClass2::ExtractAnswerback (TDesC8 & aResults)
-{
-	TInt startID = aResults.Locate (0x22);
-	if (startID != KErrNotFound)
-		{
-		startID++;
-		TInt maxIDlength = (aResults.Length () - startID);
-		if (maxIDlength > 20)
-			maxIDlength = 20;
-		iModem->iProgress.iAnswerback.Copy (aResults.Mid (startID, maxIDlength));
-		}
-}
-/********************************************************************/
--- a/fax/faxclientandserver/FAXSVR/CFAX20.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,520 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "FAXSERV.H"
-#include "fax_reversebytes.h"
-#include "FAXMODEM.H"
-#include "FAXMDRV.H"
-
-#include "FAXLOG.H"
-
-const TInt KClass20HangupStatusTimer=20;	// < Time used to wait for final +FHS: report.  Was 5s, but typical GSM delays range between 4s and 10s.
-
-// this module has two parts
-// first receive routines rx
-// second transmit routines tx
-
-/********************************************************************/
-
-CFaxModemDriver* CFaxClass20::NewLC(TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-	{
-	CFaxModemDriver* self = new(ELeave) CFaxClass20;
-	CleanupStack::PushL(self);
-	self->ConstructL(aFaxServerSessionSettings, aProgress);
-	return self;
-	}
-
-CFaxModemDriver* CFaxClass20::NewL(TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-	{
-	CFaxModemDriver* self = NewLC(aFaxServerSessionSettings, aProgress);
-	CleanupStack::Pop();
-	return self;
-	}
-/********************************************************************/
-
-TInt CFaxClass20::RxConnectL()
-	{
-	__FLOG_FAXSRV( _L8("CFaxClass20::RxConnectL entering"));
-
-	CheckCadenceExportL (_L8 ("AT+FNR=1,1,1,0\r"));
-	if ((iModem->GetMatchL (_L8 ("OK"), 5)) == 0)
-		return (KFaxErrModemNotWorking);
-
-	CheckCadenceExportL(_L8("AT+FCC=?\r"));
-	if (!(iModem->ImportL (iResults, 35)))
-		return (KFaxErrModemNotWorking);
-
-	iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-	iModem->ProgressUpdateL ();
-	ParseResults (iResults);
-
-	iModem->GetMatchL (_L8 ("OK"), 2);
-
-	if (iFaxServerSessionSettings->iRxResolution == EFaxNormal)
-		iModem->iProgress.iResolution = EFaxNormal;
-	else
-		iModem->iProgress.iResolution = EFaxFine;
-
-	if (iFaxServerSessionSettings->iRxCompression == EModifiedRead)
-		iModem->iProgress.iCompression = EModifiedRead;
-	else
-		iModem->iProgress.iCompression = EModifiedHuffman;
-
-	iActualFaxSpeed = iModem->iProgress.iSpeed;
-	if (iActualFaxSpeed > iFaxServerSessionSettings->iMaxSpeed)
-		iActualFaxSpeed = iFaxServerSessionSettings->iMaxSpeed;
-
-	if (iFaxServerSessionSettings->iPreferredECM == 0)
-		iModem->iProgress.iECM = 0;
-
-	iResults.Copy(_L8("AT+FCC=0,0,0,2,0,0,0,0\r"));
-
-	iResults[7] = (TUint8) (iResults[7] + iModem->iProgress.iResolution);
-	iResults[9] = (TUint8) (((iActualFaxSpeed / 2400) - 1) + '0');
-	iResults[15] = (TUint8) (iResults[15] + iModem->iProgress.iCompression);
-	iResults[17] = (TUint8) (iModem->iProgress.iECM + '0');
-	CheckCadenceExportL(iResults);
-	if ((iModem->GetMatchL(_L8("OK"), 3)) == 0)
-		{
-		return (KFaxErrModemNotWorking);
-		}
-	CheckCadenceExportL(_L8 ("AT+FAA=0\r"));
-	if ((iModem->GetMatchL(_L8("OK"), 5)) == 0)
-		{
-		return (KFaxErrNoReceiveMode);
-		}
-
-	TBuf8<RCall::KFaxIdUserNameMaxSize> narrowBuf;
-	narrowBuf.Copy(iFaxServerSessionSettings->iFaxId);	 // convert from unicode to narrow
-	
-	//-- By Dmitry Lyokhin. concerns PIA-58ELQK defect.
-	if( narrowBuf.Length() < 1 )
-		{
-		narrowBuf.Append(' ');
-		}
-
-	if (iFaxServerSessionSettings->iMode & KFaxPoll)
-		{
-		iModem->ExportL(_L8 ("AT+FSP=1\r"));
-		if ((iModem->GetMatchL(_L8("OK"), 5)) == 0)
-			{
-			return (KFaxPollingUnsupported);
-			}
-		iModem->ExportL(_L8("AT+FPI=\""));
-		iModem->ExportL(narrowBuf);
-		iModem->ExportL(_L8 ("\"\r"));
-		if ((iModem->GetMatchL(_L8("OK"), 3)) == 0)
-			{
-			return (KFaxPollingUnsupported);
-			}
-		}
-	else
-		{
-		CheckCadenceExportL(_L8("AT+FCR=1\r"));
-		if ((iModem->GetMatchL(_L8("OK"), 5)) == 0)
-			{
-			return (KFaxErrNoReceiveMode);
-			}
-		CheckCadenceExportL(_L8("AT+FLI=\""));
-		iModem->ExportL(narrowBuf);
-		iModem->ExportL(_L8("\"\r"));
-		if ((iModem->GetMatchL(_L8("OK"), 3)) == 0)
-			{
-			return (KFaxErrModemNotWorking);
-			}
-		}
-
-	if (iFaxServerSessionSettings->iMode & KFaxWaitForRing)
-		{
-//		while ((iModem->GetMatchL(_L8("RING"), 3)) == 0);
-//		iTimeOfLastRing.UniversalTime();
-		}
-	else
-		{
-		if ((iFaxServerSessionSettings->iMode & KFaxOffHook) == 0)
-			{
-			DialFaxOnDemandL();
-			}
-		}
-
-	if ((iFaxServerSessionSettings->iMode & KFaxPoll) == 0)
-		{
-		CheckCadenceExportL(_L8("ATA\r"));
-		}
-
-	iModem->iProgress.iPhase = ECallEstablishment;
-
-	TInt pollDocsAvailable = 0;
-
-	for (;;)
-		{
-		if(!(iModem->ImportL(iResults, 35)))
-			{
-			return KFaxErrCannotAnswer;
-			}
-
-		iModem->iOurMessage.Format(_L8("%S"), &iResults);
-		iModem->ProgressUpdateL();
-
-		if ((iResults.FindF(_L8("NO DIALTONE"))) >= 0 ||
-			iResults.FindF(_L8("NO DIAL TONE")) >= 0)
-			return (KFaxErrNoDialTone);
-		if ((iResults.FindF(_L8("BUSY"))) >= 0)
-			return (KFaxErrBusy);
-		if ((iResults.FindF(_L8("NO ANSWER"))) >= 0)
-			return (KFaxErrNoAnswer);
-		if ((iResults.FindF(_L8("NO CARRIER"))) >= 0)
-			return (KFaxErrNoCarrier);
-		if ((iResults.FindF(_L8("OK"))) >= 0)
-			break;
-		if ((iResults.FindF(_L8("FHS"))) >= 0)
-			return (KFaxErrPrematureHangup);
-		if ((iResults.FindF(_L8("FCO"))) >= 0)
-			iModem->iProgress.iPhase = ESessionNegotiation;
-		else if ((iResults.FindF(_L8("FPO"))) >= 0)
-			pollDocsAvailable = 1;
-		else if ((iResults.FindF(_L8("FTI"))) >= 0)
-			ExtractAnswerback(iResults);
-		else if ((iResults.FindF(_L8("FCS"))) >= 0)
-			ParseResults(iResults);
-		}
-
-	if ((iFaxServerSessionSettings->iMode & KFaxPoll) && (pollDocsAvailable == 0))
-		return (KFaxNothingToPoll);
-
-	iModem->iOurMessage.Format(_L8 ("about to receive fax"));
-	iModem->ProgressUpdateL();
-	return RxPrePageL();
-	}
-
-/********************************************************************/
-TInt CFaxClass20::RxPrePageL()
-	{
-	__FLOG_FAXSRV( _L8("CFaxClass20::RxPrePageL entering"));
-
-	iModem->ExportL(_L8 ("AT+FDR\r"));
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, 35)))
-			return (KFaxErrCannotConnect);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("ERROR"))) >= 0)
-			return (KFaxErrNoReceiveMode);
-		if ((iResults.FindF (_L8 ("FHS"))) >= 0)
-			return (KFaxErrPrematureHangup);
-		if ((iResults.FindF (_L8 ("CONNECT"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("FCS"))) >= 0)
-			ParseResults (iResults);
-		}
-
-	iModem->TxcharL (Kdc2);
-	return (RxStartPageL ());
-}
-/********************************************************************/
-TInt CFaxClass20::RxPostPageL ()
-{
-    __FLOG_FAXSRV( _L8("CFaxClass20::RxPostPageL entering"));
-
-	iModem->iProgress.iPhase = EPostPageStatus;
-	iModem->ProgressUpdateL ();
-	for (;;)
-		{
-		if (iModem->iProgress.iECM == 0)
-			{
-			if (!(iModem->ImportL (iResults, 20)))
-				return (KFaxErrModemResponse);
-			}
-        else
-            {
-            // coverity[check_return]
-            iModem->ImportL (iResults, 0x7fff);     // no timeout if ECM enabled
-            }
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("OK"))) >= 0)
-			return (KFaxErrPrematureOK);
-		if ((iResults.FindF (_L8 ("FHS"))) >= 0)
-			return (KFaxErrPrematureHangup);
-		if ((iResults.FindF (_L8 ("FET"))) >= 0)
-			break;
-		}
-	if (iModem->GetMatchL (_L8 ("OK"), 5) == 0)
-		return (KFaxErrNoFinalOK);
-
-	if ((iResults.FindF (_L8 ("0"))) >= 0)
-		{
-		iModem->iOurMessage.Format (_L8 ("page %u successfully received"), iModem->iProgress.iPage);
-		iModem->ProgressUpdateL ();
-		return (RxPrePageL ());
-		}
-	if ((iResults.FindF (_L8 ("1"))) >= 0)
-		{
-		iModem->iOurMessage.Format (_L8 ("page %u successfully received : end of document"), iModem->iProgress.iPage);
-		iModem->ProgressUpdateL ();
-		iModem->iOurMessage.Format (_L8 ("Next fax awaited"));
-		iModem->ProgressUpdateL ();
-		return (RxPrePageL ());
-		}
-	if ((iResults.FindF (_L8 ("2"))) >= 0)
-		{
-		iModem->iOurMessage.Format (_L8 ("Final page %u successfully received"), iModem->iProgress.iPage);
-		iModem->ProgressUpdateL ();
-		iModem->iProgress.iPhase = EDisconnection;
-		iModem->ExportL (_L8 ("AT+FDR\r"));
-		if (iModem->GetMatchL (_L8 ("FHS"), KClass20HangupStatusTimer) == 0)
-			return (KFaxErrNoHangup);
-		if (iModem->GetMatchL (_L8 ("OK"), 5) == 0)
-			return (KFaxErrNoFinalOK);
-		return (KErrNone);
-		}
-	return (KFaxErrUnknownPageCode);
-}
-/********************************************************************/
-
-TInt CFaxClass20::TxConnectL ()
-{
-    __FLOG_FAXSRV( _L8("CFaxClass20::TxConnectL entering"));
-
-	iModem->ExportL (_L8 ("AT+FNR=1,1,1,0\r"));
-	if ((iModem->GetMatchL (_L8 ("OK"), 5)) == 0)
-		return (KFaxErrModemNotWorking);
-	TBuf8<RCall::KFaxIdUserNameMaxSize> narrowBuf;
-	narrowBuf.Copy(iFaxServerSessionSettings->iFaxId);	 // convert from unicode to narrow
-	
-	//-- By Dmitry Lyokhin. concerns PIA-58ELQK defect.
-	if( narrowBuf.Length() < 1 ) narrowBuf.Append(' ');
-
-	
-	iModem->ExportL (_L8 ("AT+FLI=\""));
-	iModem->ExportL (narrowBuf);
-	iModem->ExportL (_L8 ("\"\r"));
-	if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-		return (KFaxErrModemNotWorking);
-
-	iModem->ExportL (_L8 ("AT+FCC=?\r"));
-	if (!(iModem->ImportL (iResults, 35)))
-		return (KFaxErrModemNotWorking);
-
-	iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-	iModem->ProgressUpdateL ();
-	ParseResults (iResults);
-
-	iModem->GetMatchL (_L8 ("OK"), 2);
-
-	iActualFaxSpeed = iModem->iProgress.iSpeed;
-	if (iActualFaxSpeed > iFaxServerSessionSettings->iMaxSpeed)
-		iActualFaxSpeed = iFaxServerSessionSettings->iMaxSpeed;
-
-	if (iFaxServerSessionSettings->iPreferredECM == 0)
-		iModem->iProgress.iECM = 0;
-
-	iResults.Copy (_L8 ("AT+FCC=0,0,0,2,0,0,0,0\r"));
-
-	iResults[7] = (TUint8) (iResults[7] + iFaxServerSessionSettings->iTxResolution);
-	iResults[9] = (TUint8) (((iActualFaxSpeed / 2400) - 1) + '0');
-
-	
-	// added to support 2Dfaxing using class 2.0
-	if (iModem->iProgress.iCompression)
-		iResults[15] = (TUint8) (iResults[15] + iFaxServerSessionSettings->iTxCompression);
-	else
-		iResults[15] = (TUint8) (iResults[15] + EModifiedHuffman);
-	
-	//iResults[15] = (TUint8) (iResults[15] + iFaxServerSessionSettings->iTxCompression);
-	
-		
-	iResults[17] = (TUint8) (iModem->iProgress.iECM + '0');
-	iModem->ExportL (iResults);
-	if ((iModem->GetMatchL (_L8 ("OK"), 3)) == 0)
-		return (KFaxErrModemNotWorking);
-
-	iModem->ExportL (_L8 ("ATD"));
-	if ((iFaxServerSessionSettings->iMode & KFaxOffHook) == 0)
-		iModem->ExportL (iFaxServerSessionSettings->iPhoneNumber);
-	iModem->TxcharL (Kreturn);
-
-	iModem->iProgress.iPhase = ECallEstablishment;
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, KDialTimeout)))
-			return (KFaxErrNoDial);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("NO DIALTONE"))) >= 0 ||
-			iResults.FindF (_L8 ("NO DIAL TONE")) >= 0)
-			return (KFaxErrNoDialTone);
-		if ((iResults.FindF (_L8 ("BUSY"))) >= 0)
-			return (KFaxErrBusy);
-		if ((iResults.FindF (_L8 ("NO ANSWER"))) >= 0)
-			return (KFaxErrNoAnswer);
-		if ((iResults.FindF (_L8 ("NO CARRIER"))) >= 0)
-			return (KFaxErrNoCarrier);
-		if ((iResults.FindF (_L8 ("FHS"))) >= 0)
-			return (KFaxErrNoNegotiate);
-		if ((iResults.FindF (_L8 ("OK"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("FCO"))) >= 0)
-			iModem->iProgress.iPhase = ESessionNegotiation;
-		else if ((iResults.FindF (_L8 ("FCI"))) >= 0)
-			ExtractAnswerback (iResults);
-		}
-	return (TxPrePageL ());
-}
-/********************************************************************/
-TInt CFaxClass20::TxPrePageL ()
-{
-    __FLOG_FAXSRV(_L8("CFaxClass20::TxPrePageL entering"));
-
-	iModem->ExportL (_L8 ("AT+FDT\r"));
-	for (;;)
-		{
-		if (!(iModem->ImportL (iResults, 30)))
-			return (KFaxErrNoNegotiate);
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("FHS"))) >= 0)
-			return (KFaxErrNoNegotiate);
-		if ((iResults.FindF (_L8 ("CONNECT"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("FCS"))) >= 0)
-			ParseResults (iResults);
-		}
-
-	for (;;)
-		{
-		TInt XonTimeoutSec = CLK_TCK * 3; 
-		
-		if ((iModem->RxcharWaitL(XonTimeoutSec)) == 0)
-			{
-			break;
-			}
-
-		if (iModem->iReadone[0] == Kxon)
-			{
-			break;
-			}
-		}
-	return (TxStartPageL());
-}
-/********************************************************************/
-
-//
- // TxPostPageL should return either with
- //
- // a) an error code and iPhase set to RFax::EPostPageStatus, in which case the send returns with the error
- // b) KErrNone and iPhase set to RFax::EDataTransfer, in which case we send the next page
- // c) KErrNone and iPhase set to RFax::EDisconnection, in which case the send returns with KErrNone
- //
-
-TInt CFaxClass20::TxPostPageL ()
-{
-	if (iModem->iProgress.iCompression == EModifiedRead)
-		{
-		iModem->iTransmitBuffer.Append (0x00);
-		iModem->iTransmitBuffer.Append (0x60);
-		iModem->iTransmitBuffer.Append (0x00);
-		iModem->iTransmitBuffer.Append (0x0C);
-		iModem->iTransmitBuffer.Append (0x80);
-		iModem->iTransmitBuffer.Append (0x01);
-		iModem->iTransmitBuffer.Append (0x30);
-		iModem->iTransmitBuffer.Append (0x00);
-		iModem->iTransmitBuffer.Append (0x06);
-		iModem->iTransmitBuffer.Append (0xC0);
-		}
-	else
-		{
-		for (TInt x = 3; x; x--)
-			{
-			iModem->iTransmitBuffer.Append (0x0);
-			iModem->iTransmitBuffer.Append (0x08);
-			iModem->iTransmitBuffer.Append (0x80);
-			}
-		}
-
-	iModem->iTransmitBuffer.Append (Kdle);
-	iModem->iOurMessage.Format (_L8 ("RTC transmitted after %d lines"), iModem->iProgress.iLines);
-	iModem->ProgressUpdateL ();
-	if (iFaxServerSessionSettings->iTxPages == iModem->iProgress.iPage)
-		{
-		iModem->iTransmitBuffer.Append (0x2e);
-		iModem->iOurMessage.Format (_L8 ("End of document transmitted <dle><eop>"));
-		}
-	else
-		{
-		iModem->iTransmitBuffer.Append (0x2c);
-		iModem->iOurMessage.Format (_L8 ("End of page %u transmitted <dle><mps>"), iModem->iProgress.iPage);
-		}
-    __FLOG_FAXSRV( iModem->iOurMessage);
-
-	iModem->CommitTransmitBufferL ();
-
-	iModem->iProgress.iPhase = EPostPageStatus;
-	iModem->ProgressUpdateL ();
-	while (iModem->Txstat () != 0)
-		;
-	iModem->Xonoff ();
-
-	// we've just ended phase C data, so we need to wait for the modem to respond with OK or ERROR
-
-	for (;;)
-		{
-		if (iModem->iProgress.iECM == 0)
-			{
-			if (!(iModem->ImportL (iResults, (32 * 1024) / (iModem->iProgress.iSpeed / 10))))
-				return (KFaxErrCannotEndData);
-			}
-        else
-            {
-            // coverity[check_return]
-            iModem->ImportL (iResults, 0x7fff);     // no timeout if ECM enabled, but NO CARRIER possible from some mobile phones
-            if ((iResults.FindF (_L8 ("NO CARRIER"))) >= 0)
-                return (KFaxErrCannotEndData);
-            }
-
-		iModem->iOurMessage.Format (_L8 ("%S"), &iResults);
-		iModem->ProgressUpdateL ();
-
-		if ((iResults.FindF (_L8 ("ERROR"))) >= 0)
-			break;
-		if ((iResults.FindF (_L8 ("OK"))) >= 0)
-			break;
-		}
-	if (((iResults.FindF (_L8 ("ERROR"))) >= 0) && (iRepeatPage == 0))
-		{
-		iModem->iProgress.iPhase = ESessionNegotiation;
-		iRepeatPage++;
-		iModem->iProgress.iPage--;
-		return (TxPrePageL ());
-		}
-	if (iFaxServerSessionSettings->iTxPages != iModem->iProgress.iPage)
-		{
-		iRepeatPage = 0;
-		return (TxPrePageL ());
-		}
-	iModem->iProgress.iPhase = EDisconnection;
-	return (KErrNone);
-}
-/********************************************************************/
-
--- a/fax/faxclientandserver/FAXSVR/CFAXMDRV.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,701 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "FAXSERV.H"
-#include "fax_reversebytes.h"
-#include "FONT8X16.DAT"
-#include "ZEROS.DAT"
-#include "FAXMDRV.H"
-#include "FAXMODEM.H"
-
-#include "FAXLOG.H"
-#include <et_phone.h>
-
-const TInt KLineReadTimeout=6;				// < The time-out (in secs) for a line read
-const TInt KECMLineReadTimeout=132;			// < The time-out (in secs) for a line read when using Error Correction Mode
-const TInt KSubsequentLineReadTimeout=10;	// < The time-out (in secs) for a subsequent line read
-const TInt KSubsequentECMLineReadTimeout=140;	// < The time-out (in secs) for a subsequent line read when using Error Correction Mode
-
-/********************************************************************/
-
-// we need to keep a local pointer to the current TDialstorModemPreferences in order to
- // do whatever is required
-
-void CFaxModemDriver::ConstructL (TFaxServerSessionSettings * iFaxServerSessionSettings, RFax::TProgress & aProgress)
-{
-	iModem = CFaxModem::NewL (iFaxServerSessionSettings, aProgress);
-}
-/********************************************************************/
-
-
-CFaxModemDriver::CFaxModemDriver()
-                :CBase(), iSharedHandles(NULL)
-{
-}
-
-CFaxModemDriver::~CFaxModemDriver ()
-{
-	delete iModem;
-}
-/********************************************************************/
-
-// function to check that we don't send commands out when there's less than half a second
-// before the next RING comes in
-
-
-/**
-*	function to check that we don't send commands out when there's less than half a second
-*	before the next RING comes in.
-*	This function has been modified by Dmitry Lyokhin for the sake of PIA-586KGE defect fix
-*
-* @param	aCommand	-	contains the command to be sent to the modem.
-*
-* @see	ExportL function
-*
-* @return	number of symbols sent to the modem.
-*			
-*
-*/
-TInt CFaxModemDriver::CheckCadenceExportL(const TDesC8 & aCommand)
-{
-	
-	
-	const TInt RingTimeout_Sec	= 5;		//-- 5 sec. waiting for 'RING' timeout
-	const TInt RingCadence_uSec	= 3000000;	//-- 3 sec. time span after 'RING' receiving during that commands 
-											//-- can be sent to the modem
-
-	const TInt CmdSendDelay_uSec= 100000;	//-- 100 ms delay between adjacent commands to the modem
-
-	TTime CurrentTime;
-
-    __FLOG_FAXSRV( _L8("-CFaxModemDriver::CheckCadenceExportL entering"));
-  
-  	
-	//-- @note iCadence now is used like a flag. If its value is 0 (thai is set initially) we will
-	//-- try to wait for 'RING' indication i.e synchronize with incoming rings. Otherwise - no.
-	while( iCadence.Int64() == 0 )
-	{
-		if(iTimeOfLastRing.Int64() == 0) 
-		{//-- we need to wait for 'RING' from the modem
-
-            __FLOG_FAXSRV( _L8("-CFaxModemDriver::CheckCadenceExportL waiting for RING"));
-	  
-			//-- wait for 'RING' from modem
-			if( iModem->GetMatchL (_L8 ("RING"), RingTimeout_Sec) == 0) 
-			{	//User::Leave(KFaxErrReceiveTimeout); //-- 'RING' waiting timeout, leaving
-				
-				//-- There is no 'RING'indication, no we will not leave, instead of that
-				//-- disable sync. with incoming rings and pass on to sending commands to the modem straightforward.
-				iCadence = 1;
-				break;
-			}
-
-			iTimeOfLastRing.UniversalTime(); //-- note the time
-		}
-
-		//-- get current time and check if we are in time to send a command to the modem
-		CurrentTime.UniversalTime ();
-	
-		if( CurrentTime < iTimeOfLastRing + TTimeIntervalMicroSeconds32(RingCadence_uSec) )
-			break; //-- send the command
-		else
-		{	//-- wait for the next 'RING'
-            __FLOG_FAXSRV( _L8("-CFaxModemDriver::CheckCadenceExportL Resetting"));
-			iTimeOfLastRing = 0;
-		}
-	}
-
-	//-- I had to introduce this delay between sending adjacent commands to the modem because
-	//-- some modems (e.g. Nokia9210) lose data.
-	iModem->Silence(CmdSendDelay_uSec);
-
-	//-- send the command
-	return iModem->ExportL (aCommand);
-}
-
-/********************************************************************/
-
-// if we have called FaxInL with a dial request, it calls this routine
- // to dial up a fax on demand service
- //
- // if not polling, we end with a colon to return to command mode and then
- // we delay for whatever time has been requested by the user
- // before returning, at which point FaxInL continues with ATA
-
-void CFaxModemDriver::DialFaxOnDemandL ()
-{
-	iModem->ExportL (_L8 ("ATD"));
-	iModem->ExportL (iFaxServerSessionSettings->iPhoneNumber);
-
-	if (iFaxServerSessionSettings->iMode & KFaxPoll)
-		iModem->TxcharL (Kreturn);
-	else
-		{
-		iModem->ExportL (_L8 (";"));
-		iModem->TxcharL (Kreturn);
-		if ((iModem->GetMatchL (_L8 ("OK"), KDialTimeout)) == 0)
-			User::Leave (KFaxErrNoDial);
-		iModem->Silence (CLK_TCK * iFaxServerSessionSettings->iFaxOnDemandDelay);
-		}
-}
-/********************************************************************/
-
-// now the routines to add a header line to the top of each fax page
-
-/********************************************************************/
-
-// we send four blank scan lines
- // we create a line of text containing time and date,
- // the Fax ID and Username,
- // the page number and total number of pages,
- // we digitize that, and send it out
- // our font height is 16 so that means 20 scan lines
- // are added to the top of each sent fax
-
-void CFaxModemDriver::SendFaxHeaderL ()
-{
-	TFaxHeaderInfo faxHeader;
-	TRawScanLine headline;
-	TRawScanLine fontline;
-	TBuf8 < KFaxT4MaxDesLength > encodedHeadLine;
-	TTime timeOfTransmission;
-	TBuf < 12 > timeText;
-
-	timeOfTransmission.HomeTime();
-	timeOfTransmission.FormatL (timeText, (_L ("%F%D%M%Y%H%T")));
-
-	iModem->iOurMessage.Format (_L8 ("Sending page header"));
-	iModem->ProgressUpdateL ();
-
-	for (TInt r = iModem->iProgress.iResolution ; r >= 0; r--)
-		{
-		for (TInt x = 0, y = 4 ; x < 4; x++)
-			{
-			iModem->iTransmitBuffer.Append (0x00);
-			if (iModem->iProgress.iCompression)
-				{
-				iModem->iTransmitBuffer.Append (Invert (0x00));
-				iModem->iTransmitBuffer.Append (Invert (0x34));
-				y = 5;
-				}
-			else
-				iModem->iTransmitBuffer.Append (Invert (0x14));
-			iModem->iTransmitBuffer.Append (Invert (0xD9));
-			iModem->iTransmitBuffer.Append (Invert (0xA8));
-			padLineL (y);
-			}
-		}
-
-	CFaxT4 * faxT4 =CFaxT4::NewLC();
-	faxT4->PageInitialize (iModem->iProgress.iResolution, iModem->iProgress.iCompression);
-	if(!iSharedHandles)
-		{
-		User::Leave(KErrBadHandle);
-		}
-	CFaxHeaderLines * faxheader = CFaxHeaderLines::NewLC (&iSharedHandles->File());	
-
-	faxheader->ReadFaxHeaderInfoL (faxHeader);
-	for (TInt n = 0; n < 12; n++)
-		timeText[n] -= '0';
-
-	// Forces 2 digit day - 2 digit month - 4 digit year - 2 digit hour - 2 digit minute
-
-	for (TInt scanline = 0; scanline < faxHeader.iHeaderFontHeightInLines; scanline++)
-		{
-		faxheader->ReadRawHeaderLineL (scanline, headline);
-		faxheader->ReadRawFontLineL (scanline, fontline);
-		for (TInt fontByte = 0; fontByte < faxHeader.iHeaderFontWidthInBytes; fontByte++)
-			{
-			headline[((faxHeader.iOffsetToDay) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[0] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToDay + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[1] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToMonth) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[2] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToMonth + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[3] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToYear) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[4] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToYear + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[5] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToYear + 2) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[6] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToYear + 3) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[7] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToHour) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[8] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToHour + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[9] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToMinute) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[10] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToMinute + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[11] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-
-			// put the page info in
-
-
-			if (iModem->iProgress.iPage > 9)
-				headline[((faxHeader.iOffsetToCurrentPage) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[((iModem->iProgress.iPage / 10) * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToCurrentPage + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[((iModem->iProgress.iPage % 10) * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			if (iFaxServerSessionSettings->iTxPages > 9)
-				headline[((faxHeader.iOffsetToTotalPages) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[((iFaxServerSessionSettings->iTxPages / 10) * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			headline[((faxHeader.iOffsetToTotalPages + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[((iFaxServerSessionSettings->iTxPages % 10) * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			}
-
-		// we send the line once in normal resolution but twice in fine resolution
-
-		for (TInt r = iModem->iProgress.iResolution ; r >= 0; r--)
-			{
-			faxT4->EncodeScanLine (headline, encodedHeadLine);
-
-			// always add the extra null at the start for the initial eol
-
-			iModem->iTransmitBuffer.Append (Knul);
-
-			// and then invert and finally send the encoded line
-
-			const TUint8 *px = CONST_CAST (TUint8 *, encodedHeadLine.Ptr ());
-			const TUint8 *ex = px + encodedHeadLine.Length ();;
-			TUint8 thisChar;
-			TInt bytesSent = 0;
-			while (px < ex)
-				{
-				thisChar = Invert (*px++);
-				iModem->iTransmitBuffer.Append (thisChar);
-				if (thisChar == Kdle)
-					iModem->iTransmitBuffer.Append (Kdle);
-				iModem->SendTransmitBufferL ();
-				bytesSent++;
-				}
-			padLineL (bytesSent);
-			}
-		}
-
-	CleanupStack::PopAndDestroy(faxheader);
-    CleanupStack::PopAndDestroy(faxT4);
-}
-
-/********************************************************************/
-
-// this function handles line padding out for minimum scan line times
- // this feature should really only be needed on class 1 modems ...
- // it takes a single integer parameter, which is the number of bytes sent
-
-void CFaxModemDriver::padLineL (TInt aByteCount)
-{
-	if (iFaxServerSessionSettings->iFaxClass == EClass1)
-		{
-		while (iMinlinelength > aByteCount)
-			{
-			aByteCount++;
-			iModem->iTransmitBuffer.Append (Knul);
-			iModem->SendTransmitBufferL ();
-			}
-		}
-}
-/********************************************************************/
-
-// rewritten to avoid using any AT commands August 1997 Andrew Margolis
- // pointer arithmetic courtesy of Andrew Thoelke
- // Though this doesn't use any AT command but it does need to know
- // about the various modem classes ... GetFaxDataL is in the same boat
-
-// the client has buffered up lines to minimize interaction
- // aData starts with a TInt containing the number of lines
- // Each line follows, preceded with a TInt containing its length
- // which must be copied as it might not be aligned on a 4-byte
- // boundary
-
-TInt CFaxModemDriver::SendFaxDataL (const TDesC8 * aData)
-{
-	TUint8 thisChar;
-	TInt ticks;
-	TInt numberOfLines;
-	TInt lengthOfLine;
-
-	TUint8 *thisLine = CONST_CAST (TUint8 *, (*aData).Ptr ());
-	Mem::Copy (&numberOfLines, thisLine, sizeof (TInt));
-	thisLine += sizeof (TInt);
-
-	// buffering debug message
-
-	iModem->iOurMessage.Format (_L8 ("%u lines in buffer taking up %u bytes"), numberOfLines, (*aData).Length ());
-	iModem->ProgressUpdateL ();
-
-	while (numberOfLines--)
-		{
-		Mem::Copy (&lengthOfLine, thisLine, sizeof (TInt));
-		thisLine += sizeof (TInt);
-		iModem->iProgress.iLines++;
-
-		TInt bytesSent = 0;
-		const TUint8 *px = thisLine;
-		const TUint8 *ex = px + lengthOfLine;
-		while (px < ex)
-			{
-			thisChar = Invert (*px++);
-			iModem->iTransmitBuffer.Append (thisChar);
-			if (thisChar == Kdle)
-				iModem->iTransmitBuffer.Append (Kdle);
-			iModem->SendTransmitBufferL ();
-			bytesSent++;
-			}
-		padLineL (bytesSent);
-
-		// we must check for cancel commands from the modem in class 2.0 transmission
-
-		if (iFaxServerSessionSettings->iFaxClass == EClass2point0)
-			{
-			while (iModem->Rxstat () != 0)
-				{
-				ticks = CLK_TCK;
-				iModem->RxcharWaitL (ticks);
-				if (iModem->iReadone[0] == Kcan)
-					{
-					iModem->TxcharL (Kdle);
-					iModem->TxcharL (Ketx);
-					iModem->CommitTransmitBufferL ();
-					iModem->Xonoff ();
-					iModem->GetMatchL (_L8 ("OK"), 5);
-					return (KFaxErrModemDisconnect);
-					}
-				}
-			}
-		thisLine += lengthOfLine;
-		}
-	return (KErrNone);
-}
-/********************************************************************/
- // This function takes a pointer to a binary data buffer.
- // We are guaranteed that the buffer is big enough to take
- // two entire scan lines up to KMaxT4Des in size.
-
- // We call GetLineL to fill the buffer up with scan lines, and
- // we keep a count of the number of lines received as an integer
- // at the start of the buffer.  We return when either we haven't
- // enough room to guarantee another line, or when we have received
- // a line of zero length, which means an end of page. The descriptor
- // is set to the correct length on return
-
- // So on return, aData starts with a TInt containing the number of lines
- // Each line follows, preceded with a TInt containing its length
- // which must be copied as it might not be aligned on a 4-byte
- // boundary - a line of zero length indicates we have reached
- // the end of the page
-
-void CFaxModemDriver::GetFaxDataL (TDes8 * aData)
-{
-	TUint8 *startData;
-	TUint8 *lineData;
-	const TUint8 *maxData;
-	TInt lineLength;
-	TInt numberOfLines = 0;
-
-	lineData = startData = CONST_CAST (TUint8 *, (*aData).Ptr ());
-	maxData = startData + (*aData).MaxLength () - KMaxT4Des - sizeof (TInt);
-
-	(*aData).SetMax ();
-	lineData += sizeof (TInt);
-
-	for (;;)
-		{
-		numberOfLines++;
-		lineLength = GetLineL (lineData);
-		Mem::Copy (lineData, &lineLength, sizeof (TInt));
-		lineData += sizeof (TInt);
-		lineData += lineLength;
-		if (lineData > maxData)
-			break;
-		if (lineLength == 0)
-			break;
-		}
-	Mem::Copy (startData, &numberOfLines, sizeof (TInt));
-	(*aData).SetLength (lineData - startData);
-
-	// buffering debug message
-
-	iModem->iOurMessage.Format (_L8 ("%u lines in buffer taking up %u bytes"), numberOfLines, (*aData).Length ());
-	iModem->ProgressUpdateL ();
-}
-/********************************************************************/
-// This function takes a pointer to a binary data buffer.
- // We are guaranteed that the buffer is big enough to take
- // an entire scan line up to KMaxT4Des in size.
- // We receive the scan line, with a leave if we timeout.
- // We return with the length of the scan line and the buffer has
- // a space for this to be placed as an integer by the caller,
- // followed by the scan line data.  If the length of the scan line
- // is zero, we have reached the end of the page
-
-TInt CFaxModemDriver::GetLineL (TUint8 * aFaxData)
-{
-	TUint8 *lineStart;
-	TUint8 *lineEnd;
-	TUint8 *currentByte;
-
-	lineStart = currentByte = (aFaxData + sizeof (TInt));
-	lineEnd = lineStart + KMaxT4Des;
-
-	TUint8 thisChar = 0;
-	TUint8 leading0s = 0;
-	TUint8 trailing0s = 0;
-	TInt nullcount = 0;
-
-	TInt ticks = CLK_TCK * KLineReadTimeout;
-	if (iModem->iProgress.iECM != 0)
-		ticks = CLK_TCK * KECMLineReadTimeout;
-
-	iModem->iProgress.iLines++;
-
-	TInt bol = 1;
-	TUint8 lastChar = 0xff;
-
-	// lastChar set to 0xff flags the entry to the function
-	// during iterations lastChar must be either 0 or 1
-	// we always come here just after detecting an EOL, and the character
-	// which contains the EOL bit is guaranteed to be re-readable
-	// lastChar set to 0xff indicates that's is not been read,
-	// so we re-read it, set its trailing0s, and put it in the buffer
-	// without bothering to do any dle checking (we already know it's ok)
-
-	for (;;)
-		{
-		if (lastChar == 0xff)
-			{
-			lastChar = 0;
-			thisChar = iModem->iReadone[0];
-			}
-		else
-			{
-			if ((iModem->RxcharWaitL (ticks)) == 0)
-				User::Leave (KFaxErrReceiveTimeout);
-			thisChar = iModem->iReadone[0];
-
-			// check if we have the character after a leading dle
-			// if we have unmark the last character as being a dle -
-			// dle etx is end of data
-			// dle dle is a shielded dle
-			// dle sub is two times dle for class 2.0 only
-			// dle and anything else we ignore
-
-			if (lastChar == Kdle)
-				{
-				lastChar = 0;
-
-				if (thisChar == Ketx)
-					{
-					iModem->iOurMessage.Format (_L8 ("<dle><etx> detected after %u lines"), iModem->iProgress.iLines);
-					iModem->ProgressUpdateL ();
-					return (0);
-					}
-
-				if (iFaxServerSessionSettings->iFaxClass == EClass2point0)
-					{
-					if (thisChar == 0x1a)
-						{
-						thisChar = Kdle;
-						*currentByte++ = Invert (thisChar);   // invert class 2.0
-						if (currentByte == lineEnd)
-							{
-							return (KMaxT4Des);
-							}
-						trailing0s = 4;
-						}
-					}
-
-				if (thisChar != Kdle)
-					continue;
-				}                   // drop through only with a data dle
-
-			// if not a trailing dle
-			// check if this character is itself a leading dle
-			// drop through only if it isn't
-
-			else if (thisChar == Kdle)
-				{
-				lastChar = Kdle;
-				continue;
-				}
-			}
-
-		// if we've received six EOL codes already, ignore everything
-		// till dle etx arrives
-
-		if (bol == 6)
-			continue;
-
-		// have we a null ? if yes we ignore nulls if they come in
-		// anything more than pairs - if no, we zero nullcount and
-		// invert the byte back the right way for non-class 2 modems
-		// THIS LAST IS IMPORTANT
-
-		if (thisChar == Knul)
-			{
-			if (nullcount == 2)
-				continue;
-			else
-				nullcount++;
-			}
-		else
-			{
-			nullcount = 0;
-			if (iFaxServerSessionSettings->iFaxClass != EClass2)
-				thisChar = Invert (thisChar);
-			}
-
-		// count the leading zeros in this byte
-
-		leading0s = zerotable[thisChar][0];
-
-		// if the leading zeros in this byte and the trailing zeros in the
-		// previous byte total 11 or more we have ourselves an EOL
-		// so we write the data we have so far as an entire line
-		// we are guaranteed than an eol will span at least two bytes
-		// so the data we have must include the end of the last line
-		// if this is a nul we don't write anything yet as we haven't
-		// detected a proper eol code
-		// we don't write anything for consecutibe eols
-
-		if (((trailing0s + leading0s) > 10) && (thisChar != Knul))
-			{
-			bol++;
-			if ((bol == 1) && (currentByte != lineStart))
-				{
-				return (currentByte - lineStart);
-				}
-			if (iModem->iProgress.iECM == 0)
-				ticks = CLK_TCK * KSubsequentLineReadTimeout;
-			else
-				ticks = CLK_TCK * KSubsequentECMLineReadTimeout;				// 11/1/01 AMC: ECM requires longer time-outs due to retries
-			}
-
-		// else if we had received an eol and this character is not nul
-		// we have ourselves a new line start
-
-		else
-			{
-			if (bol)
-				if (thisChar != Knul)
-					bol = 0;
-			}
-
-		// if we have a nul, add 8 to our trailing zero bits
-		// else count them by hand
-
-		if (thisChar == Knul)
-			trailing0s += 8;
-		else
-			trailing0s = zerotable[thisChar][1];
-
-		// ignore multiple eols
-
-		if (bol > 1)
-			continue;
-
-		// save everything else - we've already inverted the data if needed
-
-		*currentByte++ = thisChar;
-		if (currentByte == lineEnd)
-			{
-			return (KMaxT4Des);
-			}
-		}
-}
-/********************************************************************/
-
-TInt CFaxModemDriver::TxStartPageL ()
-{
-	iModem->iProgress.iPhase = EDataTransfer;
-	iModem->iProgress.iLines = 0;
-	iModem->iOurMessage.Format (_L8 ("About to send page %u"), ++iModem->iProgress.iPage);
-	iModem->ProgressUpdateL ();
-	iModem->Xonon ();
-
-	// for class 1 modems we start each page with a short burst of binary 1s
-
-	if (iFaxServerSessionSettings->iFaxClass == EClass1)
-		{
-		for (TInt x = (iActualFaxSpeed * 20 / 8); x; x--)
-			{
-			iModem->iTransmitBuffer.Append (0xff);
-			iModem->SendTransmitBufferL ();
-			}
-		iModem->CommitTransmitBufferL ();
-		}
-
-	// we're now in phase C so we start the page by sending the fax header
-
-	SendFaxHeaderL ();
-	return (KErrNone);
-}
-/********************************************************************/
-
-TInt CFaxModemDriver::RxStartPageL ()
-{
-	TUint8 thisChar, leading0s, trailing0s = 0;
-	TInt ticks = CLK_TCK * KLineReadTimeout;
-	if (iModem->iProgress.iECM != 0)
-		ticks = CLK_TCK * KECMLineReadTimeout;  // ECM mode requires longer time-outs due to retries
-
-	iModem->iProgress.iPhase = EDataTransfer;
-	iModem->iProgress.iLines = 0;
-	iModem->iOurMessage.Format (_L8 ("Awaiting page %u"), ++iModem->iProgress.iPage);
-	iModem->ProgressUpdateL ();
-	trailing0s = 0;
-
-	// this function looks for the start of the received fax
-	// this is the first EOL code - we invert bytes for non-class 2 modems
-
-	for (;;)
-		{
-		if ((iModem->RxcharWaitL (ticks)) == 0)
-			return (KFaxErrReceiveTimeout);
-		thisChar = iModem->iReadone[0];
-		if (iFaxServerSessionSettings->iFaxClass != EClass2)
-			thisChar = Invert (thisChar);
-		leading0s = zerotable[thisChar][0];
-		if (((trailing0s + leading0s) > 10) && (thisChar != 0))
-			break;
-		if (thisChar == Knul)
-			trailing0s += 8;
-		else
-			trailing0s = zerotable[thisChar][1];
-		}
-
-	// we've found the first EOL - it's left in iModem->iReadone[0]
-
-	iModem->iOurMessage.Format (_L8 ("Receiving data .... "));
-	iModem->ProgressUpdateL ();
-	return (KErrNone);
-}
-/********************************************************************/
-
-TInt CFaxModemDriver::RxConnectL ()
-{
-	return (KFaxErrWrongModemType);
-}
-TInt CFaxModemDriver::RxPrePageL ()
-{
-	return (KFaxErrWrongModemType);
-}
-TInt CFaxModemDriver::RxPostPageL ()
-{
-	return (KFaxErrWrongModemType);
-}
-TInt CFaxModemDriver::TxConnectL ()
-{
-	return (KFaxErrWrongModemType);
-}
-TInt CFaxModemDriver::TxPrePageL ()
-{
-	return (KFaxErrWrongModemType);
-}
-TInt CFaxModemDriver::TxPostPageL ()
-{
-	return (KFaxErrWrongModemType);
-}
-/********************************************************************/
-
-
-
-
--- a/fax/faxclientandserver/FAXSVR/CFAXMODM.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,985 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// CFaxModem class implementation
-// 
-//
-
-/**
- @file
-*/
-
-
-#include "FAXSERV.H"
-#include <e32hal.h>
-#include "FAXMODEM.H"
-
-#include "FAXLOG.H"
-
-// we embed this so that the session log tells us the version used
-
-#define FaxTransVersionString "FAX SERVER SESSION LOG (Release 033)" 
-
-/********************************************************************/
-
-CFaxModem::CFaxModem (RFax::TProgress & aProgress)      
-:iProgress (aProgress)
-   {
-   }
-/********************************************************************/
-
-CFaxModem *CFaxModem::NewLC (TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-   {
-   CFaxModem *self = new (ELeave) CFaxModem (aProgress);
-   CleanupStack::PushL (self);
-   self->ConstructL (aFaxServerSessionSettings);
-   return self;
-   }
-/********************************************************************/
-
-CFaxModem *CFaxModem::NewL (TFaxServerSessionSettings * aFaxServerSessionSettings, RFax::TProgress & aProgress)
-   {
-   CFaxModem *self = NewLC (aFaxServerSessionSettings, aProgress);
-   CleanupStack::Pop ();
-   return self;
-   }
-/********************************************************************/
-
-void CFaxModem::ConstructL (TFaxServerSessionSettings * aFaxServerSessionSettings)
-   {
-   TInt r;
-//   TBufC < 24 > logname (_L ("C:\\SYSTEM\\FAXLOG.TXT"));
-//   RFsBase closefile;
-
-    __FLOG_FAXSRV( _L8("CFaxModem::ConstructL entering"));
-
-   iVerbose = 1;
-
-// we start off with our timer functions
-
-   iStartTime.UniversalTime();
-
-// work out the granularity of the clock
-
-   TTimeIntervalMicroSeconds32 ourGranularity;
-   if (UserHal::TickPeriod (ourGranularity) == KErrNotSupported)
-      User::Leave (KErrNotSupported);
-   iGranularity = ourGranularity.Int ();
-
-// calibrate a 2 ms timing loop - see notes at start of cfaxTransfer::ExportL
-// this is only used for class 1 when iTimingLoopDelay is true
-
-   iCalls = 0;
-   TInt t;
-   t = clock () + iGranularity;
-   while (t > clock ())
-	   ;        // wait for the clock to tick once
-   t = clock () + iGranularity; // reset target
-   while (t > clock ())         // wait for it to tick again
-      iCalls++;                 // this time counting calls to clock
-   iCalls *= (CLK_TCK / iGranularity);  // work out calls per second
-   iCalls /= 500;               // and work out calls per 2 ms
-   if (iCalls == 0)
-      iCalls++;
-
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-   r = iFileSession.Connect (); // we may need the RFs link for PDD/LDD loading as well as the log
-   if (r)
-      User::Leave (KFaxFileSessionError);
-   iFileSessionOpen = ETrue;
-
-   if (iVerbose)
-      {
-      
-      
-//This is a log file that would normally only be created in debug builds, however due to the time critical nature of fax it is always generated
-//to avoid timing differences between debug and release builds.
-//With the introduction of platform security it not advisable to have a log file in a public directory so will now be created in the private dir 
-//of the fax server.
-
-	//create log in private path of server
-	TFileName logfile;
-	TDriveUnit driveUnit(EDriveC);	
-	TDriveName drive=driveUnit.Name();
-	logfile.Insert(0, drive);	
-	//append private path
-	TPath privatePath;
-	iFileSession.PrivatePath(privatePath);
-	logfile.Append(privatePath);
-	//append subdir & file name
-	logfile.Append(_L("fax\\FAXLOG.TXT"));	
-	
-	//generate dir
-	TInt kerr(iFileSession.MkDirAll(logfile)); //the directory may not exist, So create one.
-	if(kerr != KErrAlreadyExists)
-		{
-		User::LeaveIfError(kerr);
-		}
-	r = iFile.Replace(iFileSession, logfile, EFileWrite | EFileShareAny);
-	if (r)
-		{
-		User::Leave (KFaxLogCreateError);	
-		}
-	iFileOpen = ETrue;
-
-      }
-/*
-   r = User::LoadPhysicalDevice (PDD_NAME);
-   if ((r != KErrNone) && (r != KErrAlreadyExists))
-     User::Leave (KFaxPDDError);
-
-   r = User::LoadLogicalDevice (LDD_NAME);
-   if ((r != KErrNone) && (r != KErrAlreadyExists))
-      User::Leave (KFaxLDDError);  
-*/
-
-   RCommServ s;
-   r = s.Connect ();
-   if (r)
-      User::Leave (KFaxCommsServerError);
-
-   
-   r = s.LoadCommModule (aFaxServerSessionSettings->iPortDriverName);
-   if (r)
-      User::Leave (KFaxCommsPortError);   
-
-   r = iCommSession.Open (s, aFaxServerSessionSettings->iCommPortName, ECommShared);
-   if (r)
-      User::Leave (KFaxCannotOpenPort);  
-
-   iPortOpen = ETrue;
-
-   iCommSession.Config (iRS232Settings);
-
-   iRS232Settings ().iRate = EBps19200;
-
-   iRS232Settings ().iHandshake = 0;
-
-   iRS232Settings ().iTerminator[0] = Ketx;
-   iRS232Settings ().iTerminator[1] = Kxon;
-   iRS232Settings ().iTerminator[2] = Klinefeed;
-   iRS232Settings ().iTerminatorCount = 3;
-
-   r = iCommSession.SetConfig (iRS232Settings);
-   if (r)
-      User::Leave (KFaxConfigError);
-
-   iCommSession.SetSignals (KSignalDTR, 0);
-   iCommSession.SetSignals (KSignalRTS, 0);
-
-   iCommSession.SetReceiveBufferLength (KBufSize);
-   iCommSession.ResetBuffers();
-	
-   iTransmitBuffer.Zero ();
-   iSendone.Zero ();
-   SendL (iSendone);            // activate port -  switch on DTR/RTS
-   iSendone.SetMax ();          // we send single characters via iSendone[0]
-
-   TBuf8 < 20 > thisclass;
-   thisclass.SetMax ();
-
-   iOurMessage.Format (_L8 (FaxTransVersionString));
-   ProgressUpdateL ();
-   iOurMessage.Format (_L8 ("The clock ticks at %d Hz"), CLK_TCK / iGranularity);
-   ProgressUpdateL ();
-   iOurMessage.Format (_L8 ("Calibration of 2 ms timer at %u calls"), iCalls);
-   ProgressUpdateL ();
-
-   Speed (EBps19200);
-   iOurMessage.Format (_L8 ("Initialising at 19200 bps ...."));
-   ProgressUpdateL ();
-
-
-// added by JerryC from faxtrans cfaxmodm.cpp
-
-   
-	  Silence (CLK_TCK);
-      TxcharL (Kreturn);
-      Silence ();
-//	  Silence ();
-//	  Silence ();
-	  //  GetMatchL(_L8("OK"),3);
-	  
-
-//   while (iCommSession.QueryReceiveBuffer()!=0) GetMatch (_L8 ("OK"), 1);
-//   ExportL (_L8 ("AT+FCLASS=?\r"));
-//   GetMatchL (_L8 ("OK"), 3);
-      
-//   GetMatchL (_L8 ("OK"), 3);
-
-
-   //r = CLK_TCK;
-   //while (RxcharWaitL (r));
-
-// the addition ends here
-
-//   TxcharL (Kreturn);
-
-   iModemSet = ETrue;
-   iTimingLoopDelay = EFalse;
-
-   //-- Switch modem into command mode and clear its buffer. 
-   SetModemCommandModeL(); 
-
-   if ((aFaxServerSessionSettings->iFaxClass) == (TFaxClass) EClassAuto)
-      {
-      ExportL (_L8 ("AT+FCLASS=?\r"));
-      if(0 == ImportL (thisclass, 2))
-    	  {
-    	  User::Leave (KFaxErrWrongModemType);
-    	  }
-
-      iOurMessage.Format (_L8 ("%S"), &thisclass);
-      ProgressUpdateL ();
-      if ((thisclass.FindF (_L8 ("ERROR"))) >= 0)
-         User::Leave (KFaxErrWrongModemType);
-      GetMatchL (_L8 ("OK"), 1);
-
-      if ((thisclass.FindF (_L8 ("2.0"))) >= 0)
-         {
-         aFaxServerSessionSettings->iFaxClass = EClass2point0;
-         }
-      else if ((thisclass.FindF (_L8 ("2.1"))) >= 0)
-         {
-         aFaxServerSessionSettings->iFaxClass = EClass2point0;
-         }
-      else if ((thisclass.FindF (_L8 ("2"))) >= 0)
-         {
-         aFaxServerSessionSettings->iFaxClass = EClass2;
-         }
-      else if ((thisclass.FindF (_L8 ("1"))) >= 0)
-         {
-         aFaxServerSessionSettings->iFaxClass = EClass1;
-         }
-      else if ((thisclass.FindF (_L8 ("1.0"))) >= 0)
-         {
-         aFaxServerSessionSettings->iFaxClass = EClass1;
-         }
-      else
-         User::Leave (KFaxErrWrongModemType);
-
-      User::Leave (KFaxOnlyJustAutoDetected);
-      }
-
-   thisclass.Copy (_L8 ("AT+FCLASS="));
-   if (aFaxServerSessionSettings->iFaxClass == EClass2point0)
-      {
-      thisclass.Append (_L8 ("2.0\r"));
-      }
-   else if (aFaxServerSessionSettings->iFaxClass == EClass2)
-      {
-      thisclass.Append (_L8 ("2\r"));
-      }
-   else if (aFaxServerSessionSettings->iFaxClass == EClass1)
-      {
-      thisclass.Append (_L8 ("1\r"));
-      iTimingLoopDelay = ETrue;
-      }
-   else
-      User::Leave (KFaxErrWrongModemType);
-
-   Silence ();
-   ExportL (thisclass);
-   if ((GetMatchL (_L8 ("OK"), 1)) == 0)		
-      User::Leave (KFaxErrWrongModemType);
-
-   //Speed (EBps19200);
-
-   if (aFaxServerSessionSettings->iFaxInitString.Length ())
-      {
-      ExportL (aFaxServerSessionSettings->iFaxInitString);
-      ExportL (_L8 ("\r"));
-      //GetMatchL (_L8 ("OK"), 3);
-      }
-	else 
-		{
-		ExportL (_L8 ("AT\r"));
-		}
-   if ((GetMatchL (_L8 ("OK"), 3)) == 0)
-      User::Leave (KFaxBadInitialization);
-   
-    __FLOG_FAXSRV( _L8("CFaxModem::ConstructL exiting"));
-
-   }
-  
-/********************************************************************/
-
-CFaxModem::~CFaxModem ()
-	{
-//	iOurMessage.Format (_L8 ("Entering CFaxModem Destructor"));
-//	ProgressUpdateL ();
-	
-    __FLOG_FAXSRV( _L8("CFaxModem::~CFaxModem"));
-
-	iCancel = 2;
-
-	if (iModemSet)
-		{
-		Xonoff ();
-		Dropdtr ();
-		
-		TRAPD(ret, SetModemCommandModeL()); //-- Switch modem into command mode and clear its buffer. 
-		TRAP (ret, HangupProcedureL());		//-- Issue hung up commands
-		
-		Silence ();
-		}
-
-	if (iPortOpen)
-		{
-		iCommSession.ResetBuffers ();
-		iCommSession.Close ();
-		}
-
-	if (iFileOpen)
-		{
-		iFile.Close ();
-		}
-
-	if (iFileSessionOpen)
-		iFileSession.Close ();
-	}
-
-/**
-* Hang up. Senda 'ATH' command to the modem and sets Echo off, fax class = 0
-*
-* @note		This function can leave
-*/
-void CFaxModem::HangupProcedureL()
-	{
-	ExportL (_L8 ("ATH\r"));
-	GetMatchL (_L8 ("OK"), 2);
-	ExportL (_L8 ("ATE0+FCLASS=0\r"));  // Defect fix PBN-4ZLLX7, NM 23/07/01
-	GetMatchL (_L8 ("OK"), 2);
-	ExportL (_L8 ("\r"));
-	}
-
-
-/**
-* Switch modem into command mode and clear its buffer. 
-* LYN-585JMR defect fix. By Dmitry Lyokhin. 11.03.02
-*
-* @note		This function can leave
-*/
-void CFaxModem::SetModemCommandModeL(void)
-{
-	const TInt K_uS_ComWait=500000;			//-- used in cleaning up buffer. 0.5 sec timeout.
-	
-	ExportL (_L8("+++")); //-- switch the  modem to command mode
-   
-  	//-- clear modem's buffer by reading data
-    while(iCommSession.QueryReceiveBuffer() > 0)
-	 {
-	  iCommSession.Read (iRecstat, K_uS_ComWait ,iReceiveBuffer);    // read data from the serial port
-      User::WaitForRequest (iRecstat);
-	 }
-
-	Silence();
-}
-
-/********************************************************************/
-/*
-TBool CFaxModem::CheckModemL (TFaxSettings * aFaxSettings)
-   {
-   TInt len = aFaxSettings->iDialStoreData.iModemInitString.Length ();
-   for (TInt attempt = 0; attempt < 3; attempt++)
-      {
-      ExportL (_L8 ("ATH\r"));
-      GetMatchL (_L8 ("OK"), 1);
-      if (len)
-         {
-         ExportL (aFaxSettings->iDialStoreData.iModemInitString);
-         ExportL (_L8 ("\r"));
-         GetMatchL (_L8 ("OK"), 1);
-         }
-      iOurMessage.Format (_L8 ("ATE0X0Q0V1M%uL%uS0=0S8=%u\r"),
-                          (TUint) aFaxSettings->iDialStoreData.iSpeaker,
-                          (TUint) aFaxSettings->iDialStoreData.iSpeakerVolume,
-                          aFaxSettings->iDialStoreData.iPauseTime);
-      ExportL (iOurMessage);
-      if (GetMatchL (_L8 ("OK"), 1) != 0)
-         {
-         Silence ();            // allow s-l-o-w modems to catch up with us
-         return (ETrue);
-         }
-      }
-   return (EFalse);
-   }*/
-/********************************************************************/
-
-
-/**
-*
-* @return	number of microseconds elapsed since calling CFaxModem::ConstructL().
-*			
-*/
-TInt CFaxModem::clock ()
-   {
-   TTime now;
-   now.UniversalTime ();
-   TInt64 runningTime = now.MicroSecondsFrom (iStartTime).Int64 ();
-   return I64LOW(runningTime);
-   }
-
-/********************************************************************/
-
-/**
-*	Searches for a given substring in modem's answer.
-*	also calls ProgressUpdate().
-*
-* @param	aMatstring	- sample string.
-* @param	aMattime	- timeout in seconds.
-*
-* @see	ImportL function
-*
-* @return	0 -	given string (see param aMatstring) is found in modem answer.
-*       	1 - sample not found or answer timeout.
-*
-* @leave	This function can leave
-*/
-TInt CFaxModem::GetMatchL (const TDesC8 & aMatstring, TInt aMattime)
-
-   {
-   TBuf8 < 64 > modemstring;
-   TBuf8 < 64 > copymodemstring;
-   modemstring.SetMax ();
-
-   while (ImportL (modemstring, aMattime))
-      {
-      copymodemstring.Copy (modemstring);
-      iOurMessage.Format (_L8 ("%S"), &copymodemstring);
-      ProgressUpdateL ();
-
-      if ((modemstring.FindF (aMatstring)) >= 0)
-         return (1);
-
-
-      }
-   ProgressUpdateL ();
-   return (0);
-   }
-
-
-/********************************************************************/
-/**
-*	Gets textual answer from the modem.
-*	Calls SubImportL() and ProgressUpdateL().
-*
-* @param	aLine	-	ref. to the string descriptor that will accept data from modem if any.
-						will contain string in upper case without terminating 0x0d, 0x0a. 
-* @param	aTimeout -	Timeout in seconds.
-*
-* @see	SubImport function
-*
-* @return	0 - if timeout occured or wrong input descriptor. Otherwise -
-*				number of characters in string descriptor.
-*
-* @note		This function can leave
-*/
-TInt CFaxModem::ImportL (TDes8 & aLine, TInt aTimeout)
-{
-	const	TInt SubTimeout = 3; //-- modem response 3 seconds timeout 
-	TInt	linestate		= 0;
-	TInt	CurrTimeout;
-	
-   while( aTimeout > 0 )
-   {
-   	 if (aTimeout <= SubTimeout)	CurrTimeout = aTimeout;
-	 else							CurrTimeout = SubTimeout;
-
-     linestate = SubImportL (aLine, CurrTimeout);
-    
-		if (linestate) 
-		{//-- a response from modem received
-            __FLOG_FAXSRV2(_L8("mdm imp[%d]: %S"), aTimeout, &aLine);
-		
-			//-- look for '+CREG' or '+CGREG' answers from modem.
-			//-- if found, ignore them and continue waiting.
-			//-- these unwanted answers represent network registration status (unsolicited result code)
-			//-- and interfere with fax modem responses. For more information see mm.tsy and gprs.tsy
-			if ((aLine.FindF(_L8("REG"))) >= 0)
-			{
-				aLine.FillZ();
-				aLine.Zero ();
-			}
-			else break; 
-	 
-		}//if (linestate) 
-
-		aTimeout -= SubTimeout;
-
-		ProgressUpdateL ();
-    }// while
-	
-	if (!linestate)
-		{
-        __FLOG_FAXSRV2(_L8("mdm imp[%d]: %S"), aTimeout, &aLine);
-		}
-
-   return (linestate);
-}
-
-
-/********************************************************************/
-
-/**
-*	Gets textual answer from the modem.
-* 
-* @param	aLine	- ref. to the string descriptor that will accept data from modem if any.
-*						will contain string in upper case without terminating 0x0d, 0x0a
-* @param	aTimeout -	Timeout in seconds.
-*
-* @see		RxcharWait function, iReadone
-*
-* @return	0 - if timeout occured or wrong input descriptor. Otherwise -
-*				number of characters in string descriptor
-*
-* @note		This function can leave
-*/
-TInt CFaxModem::SubImportL (TDes8 & aLine, TInt aTimeout)
-
-   {
-   TInt i;
-   TInt8 k;
-   TInt t;
-
-   if (aLine.MaxLength () == 0)
-      return (0);
-   aLine.FillZ ();
-   aLine.Zero ();
-
-   t = aTimeout * CLK_TCK;
-
-   do
-      {
-      if ((RxcharWaitL (t)) == 0)
-         return (0);
-      k = iReadone[0];
-      }
-
-
-   while (k < 32);
-
-   for (i = 0; i < aLine.MaxLength (); i++)
-      {
-      aLine.Append (k);
-      aLine.UpperCase ();
-      t = aTimeout * CLK_TCK;
-      if ((RxcharWaitL (t)) == 0)
-         return (0);
-      k = iReadone[0];
-      if (k < 32)
-         break;
-      }
-
-   if (k == 0x0d)
-      for (;;)
-         {
-         t = CLK_TCK;
-         if ((RxcharWaitL (t)) == 0)
-            break;
-         if (iReadone[0] == 0x0a)
-            break;
-         }
-
-   return (i);
-   }
-/********************************************************************/
-
-/**
-Sends a textual string to the modem with delay.
-
-@param aLine - const. ref. to the string descriptor to be sent to modem.
-
-@see SendL function
-
-@return number of symbols sent to modem.
-			
-@note This function can leave
-*/
-TInt CFaxModem::ExportL(const TDesC8& aLine)
-	{
-	__FLOG_FAXSRV1(_L8("mdm exp: %S"), &aLine);
-
-	TInt i = 0;
-
-   // we need to guarantee a delay here before sending characters
-   // lots of modems ignore commands that come in too quickly
-   // we need to wait for at least twice the clock granularity to ensure
-   // a decent wait interval as the clock may be just about to tick
-
-   // example :
-
-   // Silence ((iGranularity * 2) + 2);
-
-   // BUT ...
-
-   // on Protea, the clock ticks at 64 beats per second
-   // that's every 15 ms or to be precise every 15625 microseconds
-   // iGranularity actually does return this value of 15625
-   // our maximum wait will be 30 ms (with a minumum of 15 ms)
-   // there's also a maximum 35 ms overhead on any timer call or active
-   // object or whatever - so we could have a delay here of up to 65 ms
-
-   // with the time the modem takes to respond, this leads to too much
-   // unreliability as we have a strict 75 ms +/- 20% T.30 requirement
-   // for class 1 modems. (For class 2 and 2.0 modems this isn't a
-   // problem so we happily delay for iGranularity*2).
-
-   // this applies also to WINS on the PC ticks 10 times per second
-   // this gives us a maximum delay of 200 ms, which is rather long
-   // so we resort to a timing loop we calibrate on first entry
-
-   for (;;)
-      {
-      i = Rxstat ();
-      if (iTimingLoopDelay != EFalse)
-         {
-         for (TInt x = 0; x < iCalls; x++)
-            clock ();
-         }
-      else
-         {
-         Silence ((iGranularity * 2) + 2);
-         }
-      if (i == Rxstat ())
-         break;
-      }
-
-	if (aLine.Length())
-		{
-#ifdef _DEBUG
-		TRAPD(modemUnplugged, SendL(aLine));
-		__FLOG_FAXSRV1(_L8("CFaxModem::ExportL SendL leave error code: %d"), modemUnplugged);
-#else
-		TRAP_IGNORE(SendL(aLine));
-#endif
-
-		iOurMessage.Format(_L8("%S"), &aLine);
-		i = iOurMessage.Length();
-		if ((i != 0) && (iOurMessage[i - 1] == 0x0d))
-			{
-			iOurMessage.Delete(i - 1, 1);
-			}
-		ProgressUpdateL();
-		}
-	return i;
-	}
-/********************************************************************/
-
-void CFaxModem::Dropdtr ()
-   {
-   
-   __FLOG_FAXSRV( _L8("CFaxModem::Dropdtr"));
-   
-   LowerDTR ();
-   Silence (CLK_TCK);
-   RaiseDTR ();
-   Silence (CLK_TCK);
-   }
-/********************************************************************/
-
-   
-/**
-* Wait approximately 75 ms
-*/
-void CFaxModem::Silence ()
-   {
-   Silence (CLK_TCK / 13);      // wait approx 75 milliseconds
-   }
-
-/********************************************************************/
-
-/**
-* Wait given number of microseconds
-*/
-void CFaxModem::Silence (TInt ticks) const
-   {
-   User::After (ticks);         // wait however long
-   }
-/********************************************************************/
-
-void CFaxModem::Speed (TBps aSpeed)
-   {
-   iRS232Settings ().iRate = aSpeed;
-   iCommSession.SetConfig (iRS232Settings);
-   }
-/********************************************************************/
-
-/**
-* Turns on obeying XON, XOFF characters and CTS signal
-*/
-void CFaxModem::Xonon ()
-   {
-   iRS232Settings ().iHandshake = (KConfigObeyXoff | KConfigObeyCTS | KConfigWriteBufferedComplete);
-   iCommSession.SetConfig (iRS232Settings);
-   }
-/********************************************************************/
-
-/**
-Turns off handshaking
-*/
-void CFaxModem::Xonoff()
-	{
-	iSendone.Zero(); // sending a null descriptor
-#ifdef _DEBUG
-	TRAPD(modemUnplugged, SendL(iSendone)); // waits till all pending transmits have gone
-	__FLOG_FAXSRV1(_L8("CFaxModem::Xonoff SendL leave error code: %d"), modemUnplugged);
-#else
-	TRAP_IGNORE(SendL(iSendone)); // waits till all pending transmits have gone
-#endif
-
-	iSendone.SetMax(); // we send single characters via iSendone[0]
-
-	iRS232Settings().iHandshake = 0;
-	iCommSession.SetConfig(iRS232Settings);
-	}
-/********************************************************************/
-
-void CFaxModem::LowerDTR()
-   {
-   iCommSession.SetSignals (0, KSignalDTR);     // SetSignals(SetMask,ClearMask) ;
-   }
-/********************************************************************/
-
-void CFaxModem::RaiseDTR()
-   {
-   iCommSession.SetSignals (KSignalDTR, 0);     // SetSignals(SetMask,ClearMask) ;
-   }
-/********************************************************************/
-
-/**
-* @return	0 - if there are no data waiting in driver's input buffer and receiver's buffer to be read.
-*        	otherwise - number of bytes to be read.
-*/
-TInt CFaxModem::Rxstat (void)
-   {
-   if (iReceiveBuffer.Length () != 0)
-      return (1);
-   else
-      return (iCommSession.QueryReceiveBuffer ());
-   }
-/********************************************************************/
-
-/**
-* Does nothing. Just returns 0.
-*/
-TInt CFaxModem::Txstat()
-   {
-   return 0;
-   }
-/********************************************************************/
-
-/**
-* Sends 1 byte to modem. 
-*
-* @param	aChar	-Byte to be sent.
-*
-* @note		This function can leave.
-*
-* @see	SendL() function
-*
-* @return	none.
-*/
-void CFaxModem::TxcharL (TUint8 aChar)
-   {
-   iSendone[0] = aChar;
-   SendL (iSendone);
-   }
-/********************************************************************/
-
-
-// this routine amended July 1998 to offer infinite timeouts when sending data in fax ECM
-
-void CFaxModem::SendL(const TDesC8 & astring)
-    {
-    TTimeIntervalMicroSeconds32 timeout = CLK_TCK * 10;
-    if ((iProgress.iECM) && (iProgress.iPhase == EDataTransfer))
-        {
-        iCommSession.Write(iTranstat, timeout, astring);
-        User::WaitForRequest(iTranstat);
-        if (iTranstat == KErrTimedOut)
-            {
-            TInt ticks = 1;
-            while (Rxstat() != 0)
-                {
-                RxcharWaitL(ticks);
-                if (iReadone[0] == Kcan)
-                    User::Leave(KFaxErrModemDisconnect);
-                }
-            }
-        else if (iTranstat != KErrNone)
-            iCommSession.ResetBuffers(KCommResetTx);
-        }
-    else
-        {
-        iCommSession.Write(iTranstat, timeout, astring);
-        User::WaitForRequest(iTranstat);
-        if (iTranstat != KErrNone)
-            {
-            iCommSession.ResetBuffers(KCommResetTx);
-            if (iTranstat == KErrTimedOut)
-                User::Leave(KFaxTransmitterStalled);
-            }
-        }
-    }
-/********************************************************************/
-
-/**
-*	Transmits iTransmitBuffer by calling SendL. After sending sets buffer's
-*	length to zero.
-*
-* @note		This function can leave.
-*
-* @see	SendL() function
-*/
-void CFaxModem::CommitTransmitBufferL ()
-   {
-   SendL (iTransmitBuffer);
-   iTransmitBuffer.Zero ();
-   }
-/********************************************************************/
-
-
-/**
-*  Reads 1 byte from serial port (or iReceiveBuffer) and puts it to iReadone buffer.
-*
-* @param	atimeout	-	timeout in microseconds.
-*
-* @return	0 - timeout, 
-*       	1 -	byte read and put into iReadone
-*
-* @note		This function can leave. See comments in CFAXMODM.CPP 
-*
-*/
-
-// this is our basic get char function with timeout
-
-// Note that this function *can* leave, despite not being named as an L
-// function.  This is because the leave is as a result of a user request
-// to end the entire fax thread and could occur at any time.  This
-// function (to read a character) is used at some point by virtually
-// every part of the fax system and consequently, were the normal
-// convention to be followed, every function would have to be an L
-// function - this destroys the whole point of having a separate
-// nomenclature.  Therefore, I declare that the possibility of a leave
-// as a result of the user cancel request is henceforth regarded as an
-// exception to the rule than a function which leaves must be called an
-// L function.  The new rule is that any fax session must be run inside
-// a trap harness - not simply because the modem and port need tidying up.
-
-// Note to the note : The check for user cancel request has been moved to
-// ProgressUpdate().  However, this function can still leave if the
-// rx buffer overruns, in which case we use the standard iCancel flag to
-// check if it is safe to leave and do so.  The original note still applies
-// but to be honest, I'm less happy about it now.
-
-TInt CFaxModem::RxcharWaitL (TInt & atimeout)
-   {
-   iReadone.Zero ();
-   if (atimeout == 0)
-      return (0);
-   if (iReceiveBuffer.Length () == 0)			//iReceiveBuffer == Receive descriptor
-      {
-      for (;;)
-         {
-         TInt timeBegin = clock ();
-         iCommSession.Read (iRecstat, atimeout, iReceiveBuffer, KBufSize);    // read data from the serial port
-         User::WaitForRequest (iRecstat);
-         if ((iRecstat == KErrCommsOverrun) && (iCancel == 0))  // check for overrun and user cancel request
-            {
-            iCancel = 2;
-            iCommSession.ResetBuffers (KCommResetRx);			//Reset serial port buffers
-            User::Leave (KErrCommsOverrun);
-            }
-            
-		 if ((iReceiveBuffer.Length () == 0) && (iRecstat == KErrTimedOut))
-			{
-			if (iCommSession.QueryReceiveBuffer () != 0 )
-				{
-					iCommSession.ReadOneOrMore (iRecstat, iReceiveBuffer);
-					User::WaitForRequest (iRecstat);
-				}
-			}	
-		 atimeout -= (clock () - timeBegin);					//decrement timeout 
-		 
-		 if (iReceiveBuffer.Length () != 0)
-            break;
-         if (atimeout > 0)
-            continue;
-         atimeout = 0;
-         return (0);
-         }
-      if (atimeout < 1)
-         atimeout = 1;
-      }
-   iReadone.Append (iReceiveBuffer[0]);
-   iReceiveBuffer.Delete (0, 1);
-   return (1);
-   }
-/********************************************************************/
-
-void CFaxModem::ProgressUpdateL ()
-   {
-// Commented out by AMC 13/3/00.  Pending complete deletion.  Not completely removed as removal of function from
-// Base has not yet propagated down Device Drivers.  Until the device drivers support it there's a chance it
-// will have to be re-introduced.
-
-//	UserHal::ResetAutoSwitchOffTimer (); // required to stop powerdown
-   if (iCancel == 1)
-      {
-      iCancel++;
-      User::Leave (KFaxCancelRequested);
-      }
-
-   TTime now;
-   now.UniversalTime ();
-
-   iProgress.iLastUpdateTime = now;
-
-   if (iVerbose)
-      {
-      if (iOurMessage.Length ())
-         {
-#ifdef _DEBUG
-         //
-         // Write the log message also to the main log file...
-         //
-         TBuf8<256> temp;
-
-         temp.Copy(iOurMessage);
-         __FLOG_FAXSRV1(_L8("ProgressUpdateL: %S"), &temp);
-#endif
-		 
-         TDateTime dateTime;
-         TBuf8 < 16 > datestamp;
-         dateTime = now.DateTime ();
-         datestamp.Format (_L8 ("%02d.%02d:%02d:%06d "), dateTime.Hour (), dateTime.Minute (), dateTime.Second (), dateTime.MicroSecond ());
-         iOurMessage.Insert (0, datestamp);
-         iOurMessage.Append (13);
-         iOurMessage.Append (10);
-		 
-		 if (iFileOpen)
-			iFile.Write (iOurMessage);
-
-		 iOurMessage.Zero ();
-         }
-      }
-   }
-/*********************************************************************/
--- a/fax/faxclientandserver/FAXSVR/FAXMDRV.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Contents :  fax s/r header file
-// 
-//
-
-/**
- @file
- @internalComponent 
-*/
-
-#ifndef __FAXMDRV_H
-#define __FAXMDRV_H
-
-// class 1 T.30 frame stuff
-
-#include "FRAMES.H"
-/**
-@internalComponent
-*/
-const TInt KDialTimeout (100);
-
-/********************************************************************/
-
-// now the CFaxModemDriver abstract class
-class CFaxModem;
-class CFaxModemDriver : public CBase
-/**
-@internalComponent
-*/
-   {
-
- public:
-   static CFaxModemDriver * NewLC (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-   static CFaxModemDriver * NewL (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-   void ConstructL (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-    CFaxModemDriver ();
-   ~CFaxModemDriver ();
-
-   void GetFaxDataL (TDes8 *);
-   TInt GetLineL (TUint8 *);
-   virtual TInt RxConnectL () = 0;
-   virtual TInt RxPrePageL () = 0;
-   virtual TInt RxPostPageL () = 0;
-
-   TInt SendFaxDataL (const TDesC8 *);
-   virtual TInt TxConnectL () = 0;
-   virtual TInt TxPrePageL () = 0;
-   virtual TInt TxPostPageL () = 0;
-
-   inline void SetSharedFileHandles(CFaxSharedFileHandles* aSharedHandles) 
-	   {
-	   iSharedHandles = aSharedHandles;
-	   }
-
- protected:
-   inline TUint8 Invert (TUint8);
-   void DialFaxOnDemandL ();
-   void WriteFaxStoreL (TInt);
-   TInt RxStartPageL();
-   TInt TxStartPageL();
-   void SendFaxHeaderL ();
-   void padLineL (TInt);
-   TInt CheckCadenceExportL(const TDesC8 &);
-
- public:
-   CFaxModem * iModem;
-   TFaxServerSessionSettings * iFaxServerSessionSettings;
-   TInt iRepeatPage;
-   TTimeIntervalMicroSeconds iCadence;
-   TTime iTimeOfLastRing;
-
- protected:
-   TInt iActualFaxSpeed;
-   TInt iMinscan;
-   TInt iMinlinelength;        // worked out from iMinscan and iActualFaxSpeed
-   TBuf8 < 128 > iResults;
-   CFaxSharedFileHandles* iSharedHandles;
-   };
-
-/********************************************************************/
-
-// Here we have the derived classes for various types of fax modems
-// class one is the only complicated one
-
-/********************************************************************/
-
-class CFaxClass1 : public CFaxModemDriver
-/**
-@internalComponent
-*/
-   {
-
- public:
-   static CFaxModemDriver * NewL (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-   static CFaxModemDriver * NewLC (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-
-   TInt RxConnectL ();
-   TInt RxPrePageL ();
-   TInt RxPostPageL ();
-   TInt TxConnectL ();
-   TInt TxPrePageL ();
-   TInt TxPostPageL ();
-
- private:
-   TInt RxPrePollL ();
-   TInt RxSetHighSpeedL ();
-   void RxDCNL ();
-   TInt TxSetHighSpeedL ();
-   TInt TxDCNL ();
-
-   TInt GetframeL (TDes8 &);
-   TInt SendframeL (TDes8 &);
-   TInt GetFramestatL ();
-   TInt FramestatL ();
-   TInt FramestatL (TInt);
-   void ReceiveSilenceL ();
-   TInt SendCRPL ();
-   inline void AnalyseDISL ();
-
-   union faxparms iDisFrame;
-   union faxparms iDcsFrame;
-   union faxparms iDtcFrame;
-   TInt iDcsBytes ;
-   TInt iDisBytes ;
-   TInt iFcfXbit ;             // the fcf X bit, see T.30/5.3.6.1
-   TBuf8 < 16 > iModemString;  // HDLC post-frame modem status
-   TBuf8 < 36 > iOldFrame;     // last frame resend for class 1
-   TBuf8 < 36 > iFrame;        // current frame data space
-   };
-/********************************************************************/
-
-class CFaxClass2 : public CFaxModemDriver
-/**
-@internalComponent
-*/
-   {
- public:
-   static CFaxModemDriver * NewL (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-   static CFaxModemDriver * NewLC (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-
-   TInt RxConnectL ();
-   TInt RxPrePageL ();
-   TInt RxPostPageL ();
-   TInt TxConnectL ();
-   TInt TxPrePageL ();
-   TInt TxPostPageL ();
-
- protected:
-   void ParseResults (TDesC8 &) ;
-   void ExtractAnswerback (TDesC8 &);
-   void AnalyseFHNG(void);
-
-   };
-/********************************************************************/
-
-class CFaxClass20 : public CFaxClass2
-/**
-@internalComponent
-*/
-   {
- public:
-   static CFaxModemDriver * NewL (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-   static CFaxModemDriver * NewLC (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-
-   TInt RxConnectL ();
-   TInt RxPrePageL ();
-   TInt RxPostPageL ();
-   TInt TxConnectL ();
-   TInt TxPrePageL ();
-   TInt TxPostPageL ();
-   };
-
-/********************************************************************/
-
-#include "FAXMDRV.INL"
-
-#endif
-
--- a/fax/faxclientandserver/FAXSVR/FAXMDRV.INL	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalComponent 
-*/
-
-#ifndef __FAXMDRV_INL
-#define __FAXMDRV_INL
-
-/********************************************************************/
-
-inline TUint8 CFaxModemDriver::Invert (TUint8 aOctet)
-   {
-   return (KReverseByte[aOctet]);
-   }
-
-/********************************************************************/
-
-#endif
-
--- a/fax/faxclientandserver/FAXSVR/FAXMODEM.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Contents :  fax s/r header file
-// 
-//
-
-/**
- @file
- @internalComponent 
-*/
-
-#ifndef __FAXMODEM_H
-#define __FAXMODEM_H
-
-#include "FAXLOG.H"
-// high level modem control functions
-
-class CFaxModem : public CBase
-/**
-@internalComponent
-*/
-	{
-public:
-	static CFaxModem * NewL (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-	static CFaxModem * NewLC (TFaxServerSessionSettings *,RFax::TProgress& aProgress);
-	CFaxModem (RFax::TProgress& aProgress);	// added by MattS
-	~CFaxModem ();
-
-private:
-	void ConstructL (TFaxServerSessionSettings *);
-	TInt SubImportL (TDes8 &, TInt);	// chop up long timeouts
-	void Dropdtr (void);				// drop DTR for a second
-	void LowerDTR (void);				// do this to hang up modem
-	void RaiseDTR (void);				// normal port state
-	void Speed (TBps);					// set port speed
-	void SendL (const TDesC8 &);		// Send a descriptor
-	void HangupProcedureL();			// Destructor Hangup procedure
-	void SetModemCommandModeL(void);	// Switch modem into command mode and clear its buffer.
-
-public:
-	TInt GetMatchL (const TDesC8 &, TInt);
-	TInt ImportL (TDes8 &, TInt);
-	TInt ExportL (const TDesC8 &);
-	TInt clock (void);					// get ticks since start
-	void Silence (void);
-	void Silence (TInt) const;
-	void Xonon (void);					// set Kxon/Kxoff
-	void Xonoff (void);					// no handshaking, normal port state
-	TInt Rxstat (void);					// Any character waiting to be read ?
-	TInt Txstat (void);					// Any characters waiting to be sent ?
-	void TxcharL (TUint8);				// this sends a byte
-	inline void SendTransmitBufferL (void);
-	void CommitTransmitBufferL (void);
-	TInt RxcharWaitL (TInt &);
-	void ProgressUpdateL ();
-
-	TInt iVerbose;
-	TInt iCancel;
-	RFax::TProgress& iProgress;			// was TFaxTransferProgress. MattS.
-	TBuf8 < 256 > iOurMessage;			// for feedback
-
-	TInt iGranularity;					// for looking up timer granularity
-	TInt iCalls;						// call calibration for high granularity
-	TBuf8 < 1 > iReadone;				// for single character reads
-	TBuf8 < KBufSize+16 > iTransmitBuffer;	// send data i/o buffer
-	TBuf8 < KBufSize > iReceiveBuffer;		// read data i/o buffer
-
-protected:									// all these will default to EFalse
-	TBool iFileSessionOpen;
-	TBool iFileOpen;
-	TBool iPortOpen;
-	TBool iModemSet;
-	TBool iTimingLoopDelay;
-
-	TCommConfig iRS232Settings;
-
-	TRequestStatus iRecstat;				// for reads
-	TRequestStatus iTranstat;				// for sends
-	TBuf8 < 1 > iSendone;					// for single character sends
-	TTime iStartTime;						// time we started at
-
-	RComm iCommSession;
-	RFs iFileSession;
-	RFile iFile;
-	};
-
-/********************************************************************/
-
-#include "FAXMODEM.INL"
-
-#endif
-
--- a/fax/faxclientandserver/FAXSVR/FAXMODEM.INL	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalComponent 
-*/
-
-#ifndef __FAXMODEM_INL
-#define __FAXMODEM_INL
-
-/********************************************************************/
-
-inline void CFaxModem::SendTransmitBufferL ()
-   {
-   if (iTransmitBuffer.Length () < KBufSize)
-      return;
-   CommitTransmitBufferL ();
-   }
-/********************************************************************/
-
-#endif
-
-
--- a/fax/faxclientandserver/FAXSVR/FAXSERV.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,500 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "FAXSERV.H"
-#include "fax_reversebytes.h"
-#include "FAXMDRV.H"
-#include "FAXMODEM.H"
-#include <et_phone.h>
-
-#include "FAXLOG.H"
-
-
-/*********************************************************************/
-
-CFaxSession *CFaxSession::NewLC ()
-	{
-	CFaxSession *self = new (ELeave) CFaxSession;
-	CleanupStack::PushL (self);
-	return self;
-	}
-
-CFaxSession *CFaxSession::NewL ()
-	{
-	CFaxSession *self = NewLC ();
-	CleanupStack::Pop ();
-	return self;
-	}
-/********************************************************************/
-CFaxSession::CFaxSession(void)
-            :CBase()
-{
-}
-
-CFaxSession::~CFaxSession ()
-	{
-	FxClose ();
-	delete iSharedFileHandles;
-	}
-
-void CFaxSession::SetCallBack(MFaxCompletionBase* aCompletionBase)
-	{
-	iCompletionBase = aCompletionBase;
-	}
-
-/********************************************************************/
-
-// this kicks off the send or receive session by launching a separate high
- // priority faxthread.  A FxOpen must be paired with a call to FxClose
- // as this is an EPOC32 requirement
- //
- // we are part of c32 here, so we cannot set a thread priority
- //
- // the heap and stack sizes set here (4K each) are pure guesswork
- // we need a handle to this parent thread so that our child thread
- // is able to signal back to us via a TRequestStatus
-
-TInt CFaxSession::FxOpen (TFaxServerSessionSettings & aSettings,RFax::TProgress* aProgress)
-{
-	
-    __FLOG_FAXSRV( _L8("CFaxSession::FxOpen entering"));
-
-	ASSERT (iFaxRequest == NULL);
-	iFaxServerSessionSettings = aSettings;
-
-// Initialise the Progress Settings
-	iProgress = aProgress;
-	iProgress->iLastUpdateTime=0;
-	iProgress->iAnswerback.Zero();
-	iProgress->iPhase = ENotYetStarted;
-	iProgress->iSpeed = 9600;
-	iProgress->iResolution = EFaxNormal;
-	iProgress->iCompression = EModifiedHuffman;
-	iProgress->iECM = 0;
- 	iProgress->iPage = 0;
-	iProgress->iLines = 0;
-
-	TRAPD (state, iFaxRequest = CFaxRequest::NewL (this));
-	if (state == KErrNone)
-		{
-		iFaxRequest->iChildThread.Logon (iChildDeath);
-		iFaxRequest->iChildThread.Resume ();
-		User::WaitForRequest (iFaxRequest->iThreadStat);
-		CActiveScheduler::Add (iFaxRequest);
-		}
-	return (state);
-}
-/********************************************************************/
-
-TInt CFaxSession::FxClose ()
-{
-    __FLOG_FAXSRV( _L8("CFaxSession::FxClose entering"));
-
-	if (iFaxRequest)
-		{
-		if (iFaxRequest->IsActive ())
-			{
-			Cancel ();
-			}
-		iFaxRequest->FaxRequest (EFxClose);
-		User::WaitForRequest (iChildDeath);
-		delete iFaxRequest;
-		iFaxRequest = NULL;
-		}
-	if (!iAmDestructing)
-		{
-		iAmDestructing = ETrue;
-		delete this;
-		}
-	return (KErrNone);
-}
-/********************************************************************/
-
-MFaxCompletionBase* CFaxSession::ReturnCompletionBase ()
-{
-	return (iCompletionBase);
-}
-
-/*******************************************************************/
-
-void CFaxSession::RxConnect ()
-{
-	iFaxRequest->FaxRequest (ERxConnect);
-}
-/********************************************************************/
-
-void CFaxSession::RxFaxData (TDes8 & aData)
-{
-	iRxData = &aData;
-	iFaxRequest->FaxRequest (ERxFaxData);
-}
-/********************************************************************/
-
-void CFaxSession::RxPostPage ()
-{
-	iFaxRequest->FaxRequest (ERxPostPage);
-}
-/********************************************************************/
-
-void CFaxSession::TxConnect ()
-{
-	iFaxRequest->FaxRequest (ETxConnect);
-}
-/********************************************************************/
-
-void CFaxSession::TxFaxData (const TDesC8 & aData)
-{
-	iTxData = &aData;
-	iFaxRequest->FaxRequest (ETxFaxData);
-}
-/********************************************************************/
-
-void CFaxSession::TxPostPage ()
-{
-	iFaxRequest->FaxRequest (ETxPostPage);
-}
-
-void CFaxSession::Cancel ()
-{
-	iFaxRequest->Cancel ();
-}
-
-void CFaxSession::StartModemL ()
-{
-    __FLOG_FAXSRV( _L8("CFaxSession::StartModemL entering"));
-
-	if (iModemDriver != NULL)
-		return;
-
-	if (iFaxServerSessionSettings.iFaxClass == EClass1)
-		iModemDriver = CFaxClass1::NewL (&iFaxServerSessionSettings,*iProgress);
-	else if (iFaxServerSessionSettings.iFaxClass == EClass2)
-		iModemDriver = CFaxClass2::NewL (&iFaxServerSessionSettings,*iProgress);
-	else if (iFaxServerSessionSettings.iFaxClass == EClass2point0)
-		iModemDriver = CFaxClass20::NewL (&iFaxServerSessionSettings,*iProgress);
-	else
-		User::Leave (KFaxCannotAutodetect);
-
-	iModemDriver->iFaxServerSessionSettings = &iFaxServerSessionSettings;
-   iCompletionBase->GetCadenceAndTimeOfLastRing(iModemDriver->iCadence, iModemDriver->iTimeOfLastRing);
-}
-
-void CFaxSession::SetFaxHeaderFile(CFaxSharedFileHandles* aSharedFileHandles)
-	{
-	//if we already have an object then delete it and use this one instead
-	if(iSharedFileHandles)
-	{
-		delete iSharedFileHandles;
-		iSharedFileHandles=NULL;
-	}
-	//we are now owners of this object and are responsible for its deletion.
-	iSharedFileHandles = aSharedFileHandles;
-	}
-
-/********************************************************************/
-
-// the CFaxRequest class is our Fax Server Active Object
-
-/*********************************************************************/
-
-CFaxSession::CFaxRequest::CFaxRequest ()
-:CActive (1)
-{
-}
-/********************************************************************/
-
-CFaxSession::CFaxRequest *CFaxSession::CFaxRequest::NewLC (CFaxSession * aFaxSession)
-{
-	CFaxSession::CFaxRequest *self = new (ELeave) CFaxSession::CFaxRequest ();
-	CleanupStack::PushL (self);
-	self->ConstructL (aFaxSession);
-	return self;
-}
-/********************************************************************/
-
-CFaxSession::CFaxRequest *CFaxSession::CFaxRequest::NewL (CFaxSession * aFaxSession)
-{
-	CFaxSession::CFaxRequest *self = NewLC (aFaxSession);
-	CleanupStack::Pop ();
-	return self;
-}
-/********************************************************************/
-
-void CFaxSession::CFaxRequest::ConstructL (CFaxSession * aFaxSession)
-{
-	TInt stackSize = 0x1400;
-	_LIT(KFaxThread,"FaxServerThread");
-
-	iFaxSession = aFaxSession;
-	TInt res = iFaxSession->iParentThread.Duplicate (RThread ());
-	if (res == KErrNone)
-		res = iChildThread.Create (KFaxThread,
-			FaxServerThread,
-			stackSize,
-			NULL,
-			iFaxSession,
-			EOwnerProcess);
-	if (res)
-		User::Leave (KFaxThreadError);
-}
-/********************************************************************/
-
-CFaxSession::CFaxRequest::~CFaxRequest ()
-{
-	iFaxSession->iParentThread.Close ();
-	iChildThread.Close ();
-}
-/********************************************************************/
-
-// once we have our active object, we simply call its FaxRequest
- // it re-activates the faxserver thread to process the request
- // and sets the FaxRequest object active before returning
-
-void CFaxSession::CFaxRequest::FaxRequest (CFaxSession::TFaxThreadRequest aFaxThreadRequest)
-{
-	TRequestStatus *threadStatus = &iThreadStat;
-	iFaxThreadRequest = aFaxThreadRequest;
-	if (iFaxThreadRequest != EFxClose)
-		{
-		iStatus = KRequestPending;
-		SetActive ();
-		}
-	iChildThread.RequestComplete (threadStatus, aFaxThreadRequest);
-}
-/********************************************************************/
-
-// here we request a cancel of a fax call
-
-void CFaxSession::CFaxRequest::DoCancel ()
-{
-	iCancel = 1;
-	if (iFaxSession->iModemDriver)
-		{
-		if (iFaxSession->iModemDriver->iModem->iCancel == 0)
-			iFaxSession->iModemDriver->iModem->iCancel++;
-		}
-}
-/********************************************************************/
-
-void CFaxSession::CFaxRequest::RunL ()
-{
-	switch (iFaxThreadRequest)
-		{
-		case ERxConnect:
-				{
-			iFaxSession->ReturnCompletionBase()->RxConnectComplete (iStatus.Int ());
-			break;
-				}
-
-		case ERxFaxData:
-				{
-				iFaxSession->ReturnCompletionBase()->RxFaxDataComplete (iStatus.Int ());
-			break;
-				}
-
-		case ERxPostPage:
-				{
-				iFaxSession->ReturnCompletionBase()->RxPostPageComplete (iStatus.Int ());
-				break;
-				}
-
-		case ETxConnect:
-				{
-				iFaxSession->ReturnCompletionBase()->TxConnectComplete (iStatus.Int ());
-				break;
-				}
-
-		case ETxFaxData:
-				{
-				iFaxSession->ReturnCompletionBase()->TxFaxDataComplete (iStatus.Int ());
-				break;
-				}
-
-		case ETxPostPage:
-				{
-				iFaxSession->ReturnCompletionBase()->TxPostPageComplete (iStatus.Int ());
-				break;
-				}
-		default:;
-		}
-}
-/********************************************************************/
-// this is a utility function which is the entry to our thread
- // it isn't part of any class, but we pass the address
- // of our CFaxModemDriver in so that we can check the
- // session parameter and get back to the required function
- //
- // it also has the thread service request dispatcher
-
-TInt FaxServerThread (TAny * session)
-	{
-	TInt state=0;
-	TInt ret;
-	TBool terminateThread=EFalse;
-	CTrapCleanup *cleanup = CTrapCleanup::New ();
-	CFaxSession *faxsession = (CFaxSession *) session;
-	TRequestStatus *openStatus = &faxsession->iFaxRequest->iThreadStat;
-	faxsession->iParentThread.RequestComplete (openStatus, state);
-
-	FOREVER
-		{
-		User::WaitForRequest (faxsession->iFaxRequest->iThreadStat);
-		state = ret = KErrNone;
-		
-        __FLOG_FAXSRV1( _L8("FaxServerThread: iThreadStat=%d"), faxsession->iFaxRequest->iThreadStat.Int ());
-		
-		switch (faxsession->iFaxRequest->iThreadStat.Int ())
-			{
-			case CFaxSession::ERxConnect:
-				TRAP (state, faxsession->StartModemL ());
-							
-				if (state == KErrNone)
-					{
-					faxsession->iModemDriver->iModem->iCancel = faxsession->iFaxRequest->iCancel;
-					TRAP (state, ret = faxsession->iModemDriver->RxConnectL ());
-                    __FLOG_FAXSRV2(_L8("FaxServerThread state: ERxConnect returned ret=%d, state=%d"), ret, state);
-					}
-				break;
-			
-			case CFaxSession::ERxFaxData:
-				if(faxsession->iModemDriver)
-					{
-					TRAP (state, faxsession->iModemDriver->GetFaxDataL (faxsession->iRxData));
-					__FLOG_FAXSRV2( _L8("FaxServerThread state: ERxFaxData returned ret=%d, state=%d"), ret, state);
-					}
-				else
-					__FLOG_FAXSRV( _L8("FaxServerThread state: ERxFaxData - faxsession->iModemDriver=NULL"));
-				break;
-			
-			case CFaxSession::ERxPostPage:
-				if(faxsession->iModemDriver)
-					{			
-					TRAP (state, ret = faxsession->iModemDriver->RxPostPageL ());
-					__FLOG_FAXSRV2( _L8("FaxServerThread: iModemDriver->RxPostPageL returned ret=%d, state=%d"), ret, state);
-					}
-				else
-					__FLOG_FAXSRV( _L8("FaxServerThread: iModemDriver->RxPostPageL - faxsession->iModemDriver = NULL"));
-				break;
-			
-			case CFaxSession::ETxConnect:
-				__FLOG_FAXSRV(_L8("FaxServerThread state: ETxConnect"));
-				TRAP (state, faxsession->StartModemL ());		//creates an instance of the appropriate 
-																//modem driver (CFax1, CFax2, CFax2.0)
-				if (state == KErrNone)
-					{
-					faxsession->iModemDriver->iModem->iCancel = faxsession->iFaxRequest->iCancel; // added now
-					faxsession->iModemDriver->SetSharedFileHandles(faxsession->iSharedFileHandles);
-					TRAP (state, ret = faxsession->iModemDriver->TxConnectL ());
-					}
-				break;
-			
-			case CFaxSession::ETxFaxData:
-				if(faxsession->iModemDriver)
-					{			
-					TRAP (state, ret = faxsession->iModemDriver->SendFaxDataL (faxsession->iTxData));
-					__FLOG_FAXSRV2(_L8("FaxServerThread state: ETxFaxData, state =%d, ret=%d"),state, ret);
-					}
-				else
-					__FLOG_FAXSRV(_L8("FaxServerThread state: ETxFaxData, faxsession->iModemDriver = NULL"));
-				break;
-			
-			case CFaxSession::ETxPostPage:
-                __FLOG_FAXSRV(_L8("FaxServerThread state: ETxPostPage"));
-				if(faxsession->iModemDriver)
-					{			
-					TRAP (state, ret = faxsession->iModemDriver->TxPostPageL ());
-					}
-				else
-					{
-					__FLOG_FAXSRV(_L8("FaxServerThread state: ETxPostPage, faxsession->iModemDriver = NULL"));
-					}
-				break;
-			
-			case CFaxSession::EFxClose:
-                __FLOG_FAXSRV(_L8("FaxServerThread state: EFxClose:"));
-
-				delete faxsession->iModemDriver;
-				faxsession->iModemDriver = NULL;
-				terminateThread=ETrue;
-				state = KErrNone;
-				ret   = KErrNone;
-				break;
-			
-			default:
-				state = KErrNone;
-				ret   = KErrNone;
-                break;
-			}
-		if (state == KErrNone)
-			state = ret;
-		if (faxsession->iFaxRequest->iCancel)
-			{
-			
-			__FLOG_FAXSRV1(_L8("FaxServerThread: iCancel=%d"), faxsession->iFaxRequest->iCancel);
-			
-			state = KFaxCancelRequested;
-			delete faxsession->iModemDriver;
-			faxsession->iModemDriver = NULL;
-			}
-		if (faxsession->iFaxRequest->IsActive ())
-			{
-			TRequestStatus *returnStatus = &faxsession->iFaxRequest->iStatus;
-			faxsession->iParentThread.RequestComplete (returnStatus, state);
-			}
-		if(terminateThread)
-			break;
-//		if (faxsession->iModemDriver == NULL)
-//			break;
-		}
-	delete cleanup;
-	return (state);
-}
-/*********************************************************************/
-
-TFaxServerSessionSettings& TFaxServerSessionSettings::operator=(const TFaxServerSessionSettings& aSettings)
-	{
-	iPhoneNumber = aSettings.iPhoneNumber;
-	iLogging = aSettings.iLogging;
-	iFaxInitString = aSettings.iFaxInitString;
-	iMode = aSettings.iMode;;
-	iFaxClass = aSettings.iFaxClass;
-	iPortDriverName = aSettings.iPortDriverName;
-	iCommPortName = aSettings.iCommPortName;
-	iFaxId = aSettings.iFaxId;
-	iMaxSpeed = aSettings.iMaxSpeed;
-	iMinSpeed = aSettings.iMinSpeed;
-	iPreferredECM = aSettings.iPreferredECM;
-	iFaxOnDemandDelay = aSettings.iFaxOnDemandDelay;
-	iTxResolution = aSettings.iTxResolution;
-	iTxCompression = aSettings.iTxCompression;
-	iTxPages = aSettings.iTxPages;
-	iRxResolution = aSettings.iRxResolution;
-	iRxCompression = aSettings.iRxCompression;
-	return(*this);
-	}
- 
-//
-// First Ordinal Functions
-//
-extern "C"
-	{
-	IMPORT_C CFaxSession* LibEntry(void);	// Force "Proper Name" export
-	}
-
-EXPORT_C CFaxSession* LibEntry()
-	{
-	return CFaxSession::NewL();
-	}
-
--- a/fax/faxclientandserver/FAXSVR/FAXSERV.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file 
-*/
-
-#if !defined(__FaxServ_H__)
-#define __FaxServ_H__
-
-#include <f32file.h>
-#include <s32file.h>
-#include <s32mem.h>
-
-#if !defined(__FAXSTORE_H__)
-#include <faxstore.h>
-#endif
-	  
-#if !defined(__FAXHUFF_H__)
-#include <faxhuff.h>
-#endif
-
-#if !defined(__ETEL_H__)
-#include "ETEL.H"
-#endif
-
-#include <faxstd.h>
-/**
-@internalTechnology
-*/
-const TUint KUidDynamicFaxServer = 0x10004C88;		
-const TUint KUidUnicodeDynamicFaxServer = 0x10004C89;
-/**
-@internalComponent
-*/
-TInt FaxServerThread (TAny * session);  // function declaration needed here
-/**
-@internalComponent
-*/
-#define KMaxDialLength		50		
-#define KConfigStringLength 32		
-
-
-//**********************************
-// TFaxServerSessionSettings
-//**********************************
-/**
-@internalTechnology
-*/	   
-struct TFaxServerSessionSettings
-	{
-	TFaxServerSessionSettings& operator=(const TFaxServerSessionSettings& aSettings);
-	TBuf8<KMaxDialLength> iPhoneNumber;
-	TBool iLogging;
-	TBuf8<KConfigStringLength> iFaxInitString;
-	TFaxMode iMode;
-	TFaxClass iFaxClass;
-	TFileName iPortDriverName;
-	TName iCommPortName;
-	TBuf<RCall::KFaxIdUserNameMaxSize> iFaxId;
-	TInt iMaxSpeed;
-	TInt iMinSpeed;
-	TInt iPreferredECM;
-	TInt iFaxOnDemandDelay;
-// Tx Settings
-	TFaxResolution iTxResolution;
-	TFaxCompression iTxCompression;
-	TInt iTxPages;
-// Rx Settings
-	TFaxResolution iRxResolution;
-	TFaxCompression iRxCompression;
-	};
-
-class MFaxCompletionBase
-/**
-@internalTechnology
-*/
-	{
-public:
-	virtual void RxConnectComplete(TInt aError)=0;		
-	virtual void RxFaxDataComplete(TInt aError)=0;		
-	virtual void RxPostPageComplete(TInt aError)=0;
-	virtual void TxConnectComplete(TInt aError)=0;
-    virtual void TxFaxDataComplete(TInt aError)=0;
-	virtual void TxPostPageComplete(TInt aError)=0;		
-
-	virtual void GetCadenceAndTimeOfLastRing(TTimeIntervalMicroSeconds& aCadence,TTime& aTime)=0;
-	};	
-
-
-class CFaxModemDriver;
-class CFaxSharedFileHandles;
-class CFaxSession : public CBase
-/**
-@internalTechnology
-*/
-   {
- public:
-     virtual TInt FxOpen(TFaxServerSessionSettings&,RFax::TProgress* aProgress);
-	 virtual TInt FxClose();
-	 virtual void RxConnect();
-	 virtual void RxFaxData(TDes8 & aData);
-	 virtual void RxPostPage();
-	 virtual void TxConnect();
-	 virtual void TxFaxData(const TDesC8 & aData);
-	 virtual void TxPostPage();
-	 virtual void Cancel();
-	 virtual void SetCallBack(MFaxCompletionBase* aBase);
-	 virtual void SetFaxHeaderFile(CFaxSharedFileHandles* iSharedFileHandles);
-
-     static CFaxSession * NewL ();
-     static CFaxSession * NewLC ();
-     ~CFaxSession ();
-     CFaxSession(void);
-
-	 MFaxCompletionBase* ReturnCompletionBase(void);		// added by JerryC
-     void StartModemL ();
-
-
-  enum TFaxThreadRequest
-     {
-     ERxConnect,
-     ERxFaxData,
-     ERxPostPage,
-     ETxConnect,
-     ETxFaxData,
-     ETxPostPage,
-     EFxClose
-     };
-
-	/********************************************************************/
-	// CFaxRequest active object
-	/********************************************************************/
-
-  class CFaxRequest : public CActive
-  /**
-  @internalComponent
-  */
-     {
-   public:
-     CFaxRequest();
-     ~CFaxRequest ();
-     static CFaxRequest * NewL (CFaxSession *);
-     static CFaxRequest * NewLC (CFaxSession *);
-     void ConstructL (CFaxSession *);
-     void DoCancel();
-     void FaxRequest (TFaxThreadRequest);
-     void RunL ();
-  
-   public:
-     RThread iChildThread;
-     TRequestStatus iThreadStat;
-     TInt iCancel;
-
-   private:
-     CFaxSession  * iFaxSession;
-     TFaxThreadRequest iFaxThreadRequest;
-     };
-
- public:
-   RThread iParentThread;
-   CFaxModemDriver * iModemDriver;
-   TDes8 * iRxData;
-   const TDesC8 * iTxData;
-   CFaxRequest * iFaxRequest;
-   TFaxServerSessionSettings iFaxServerSessionSettings;
-   RFax::TProgress* iProgress;
-   CFaxSharedFileHandles* iSharedFileHandles;
- private:
-   TRequestStatus iChildDeath;
-   MFaxCompletionBase* iCompletionBase;					// added by JerryC
-   TBool iAmDestructing;
-   };
-
-
-/********************************************************************/
-
-/* 
-class MFaxSession 
-	{
-public:
-     virtual TInt FxOpen(TFaxServerSessionSettings&,RFax::TProgress* aProgress)=0;
-	 virtual TInt FxClose()=0;
-
-	 virtual void RxConnect()=0;
-	 virtual void RxFaxData(TDes8 & aData)=0;
-	 virtual void RxPostPage()=0;
-
-	 virtual void TxConnect()=0;
-	 virtual void TxFaxData(const TDesC8 & aData)=0;
-	 virtual void TxPostPage()=0;
-
-	 virtual void Cancel()=0;
-
-	 virtual void SetCallBack(MFaxCompletionBase* aCompletionBase)=0;
-	};
-
-  */
-
-
-#endif
--- a/fax/faxclientandserver/FAXSVR/FAXSTUB.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,311 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "FAXSTUB.H"
-
-TTsyTimer::TTsyTimer()
-	{
-	iPending=EFalse;
-	}
-
-CFaxSession *CFaxSession::NewLC ()
-	{
-	return NULL;
-	}
-
-CFaxSession *CFaxSession::NewL ()
-	{
-	CFaxSession* faxstub=new(ELeave) CFaxSession();
-	CleanupStack::PushL(faxstub);
-	faxstub->ConstructL();
-	CleanupStack::Pop();
-	return faxstub;
-	}
-
-CFaxSession::CFaxSession()
-	: CBase()
-	{}
-
-void CFaxSession::SetCallBack(MFaxCompletionBase* aCompletionBase)
-	{
-	iCompletion = aCompletionBase;
-	}
-
-void CFaxSession::ConstructL()
-	{
-	iFaxTimer = CFaxTimer::NewL();
-	}
-
-CFaxSession::~CFaxSession()
-	{
-	
-		if(iFaxTimer) //-- LYN-585JX9, code improvements by Dmitry Lyokhin. 11.03.02
-		{
-			iFaxTimer->RemoveTimer(iRxConnect);
-			iFaxTimer->RemoveTimer(iRxFaxData);
-			iFaxTimer->RemoveTimer(iRxPostPage);
-			iFaxTimer->RemoveTimer(iTxConnect);
-			iFaxTimer->RemoveTimer(iTxFaxData);
-			iFaxTimer->RemoveTimer(iTxPostPage);
-
-			delete iFaxTimer;
-		}
-
-
-	}
-
-
-TInt CFaxSession::FxOpen(TFaxServerSessionSettings& aFaxSettings,RFax::TProgress* aProgress)
-	{
-	iTransferProgress = aProgress;
-	iTransferProgress->iLastUpdateTime = KDefaultLastUpdateTime;
-	iTransferProgress->iAnswerback = KDefaultAnswerBack;
-	iTransferProgress->iPhase = KDefaultPhase;
-	iTransferProgress->iResolution = KDefaultResolution;
-	iTransferProgress->iCompression = KDefaultCompression;
-	iTransferProgress->iPage = KDefaultPageNumber;
-	iTransferProgress->iLines = KDefaultLinesNumber;
-	iTransferProgress->iSpeed = KDefaultSpeed;
-	TFaxServerSessionSettings copy;
-	copy = aFaxSettings;
-    TBuf8<KMaxFileName> tmpName;    
-            
-	__FLOG_FAXSTUB (_L8("FaxStub:\tFxOpen called."));
-	__FLOG_FAXSTUB (_L8("FaxStub:\tFax settings received: "));
-	__FLOG_FAXSTUB1(_L8("Phone Number : %S"),&copy.iPhoneNumber);
-	__FLOG_FAXSTUB1(_L8("Fax Init String : %S"),&copy.iFaxInitString);
-	__FLOG_FAXSTUB1(_L8("Fax Mode: %d"),copy.iMode);
-	__FLOG_FAXSTUB1(_L8("Fax Class: %d"),copy.iFaxClass);
-	
-     
-    tmpName.Copy(_L8("Port Driver Name: "));
-    tmpName.Append(copy.iPortDriverName);
-    __FLOG_FAXSTUB(tmpName);
-
-	tmpName.Copy(_L8("Comm Port Name: "));
-    tmpName.Append(copy.iCommPortName);
-    __FLOG_FAXSTUB(tmpName);
-	
-    tmpName.Copy(_L8("Fax ID: "));
-    tmpName.Append(copy.iFaxId);
-    __FLOG_FAXSTUB(tmpName);
-
-
-	__FLOG_FAXSTUB1(_L8("Max speed: %d"),copy.iMaxSpeed);
-	__FLOG_FAXSTUB1(_L8("Min speed: %d"),copy.iMinSpeed);
-	__FLOG_FAXSTUB1(_L8("Tx compression: %d"),copy.iTxCompression);
-	__FLOG_FAXSTUB1(_L8("Rx compression: %d"),copy.iRxCompression);
-	__FLOG_FAXSTUB1(_L8("Fax on demand delay: %d"),copy.iFaxOnDemandDelay);
-	__FLOG_FAXSTUB1(_L8("Tx Fax Res: %d"),copy.iTxResolution);
-	__FLOG_FAXSTUB1(_L8("Tx pages: %d"),copy.iTxPages);
-	__FLOG_FAXSTUB1(_L8("Rx Fax Res: %d"),copy.iRxResolution);
-	return KErrNone;
-	}
-
-TInt CFaxSession::FxClose()
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tFxClose called."));
-	delete this;
-	return KErrNone;
-	}
-
-// Rx Fax
-void CFaxSession::RxConnect()
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tRxConnect called."));	
-	iFaxTimer->QueueTimer(iRxConnect,ASYNC_TIMEOUT,CFaxSession::RxConnectHandler,this);
-	iFaxTimer->QueueTimer(iProgressChanger,ASYNC_LONGTIMEOUT,CFaxSession::ProgressChanger,this);
-	}
-
-TInt CFaxSession::RxConnectHandler(TAny* aPtr)
-	{
-	CFaxSession* faxHayes = REINTERPRET_CAST(CFaxSession*,aPtr);
-	TTime timeAtLastRing;
-	TTimeIntervalMicroSeconds cadence;
-	faxHayes->iCompletion->GetCadenceAndTimeOfLastRing(cadence,timeAtLastRing);
-	
-	__FLOG_FAXSTUB2(_L8("FaxStub:\tTime at last RING is %d:%d"),timeAtLastRing.DateTime().Second(),timeAtLastRing.DateTime().MicroSecond());
-	__FLOG_FAXSTUB1(_L8("FaxStub:\tCadence is %d microseconds"),cadence.Int64());
-
-	faxHayes->iCompletion->RxConnectComplete(KErrNone);
-	faxHayes->iFaxTimer->ResetPending(((CFaxSession*)aPtr)->iRxConnect);
-	return KErrNone;
-	}
-
-void CFaxSession::RxFaxData(TDes8& aData)
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tRxFaxData called."));	
-	aData = _L8("INCOMING FAX DATA!!");
-	iFaxTimer->QueueTimer(iRxFaxData,ASYNC_TIMEOUT,CFaxSession::RxFaxDataHandler,this);
-	}
-
-TInt CFaxSession::RxFaxDataHandler(TAny* aPtr)
-	{
-	CFaxSession* faxHayes = REINTERPRET_CAST(CFaxSession*,aPtr);
-	faxHayes->iCompletion->RxFaxDataComplete(KErrNone);
-	faxHayes->iFaxTimer->ResetPending(((CFaxSession*)aPtr)->iRxFaxData);
-	return KErrNone;
-	}
-
-void CFaxSession::RxPostPage()
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tRxPostPage called."));	
-	iFaxTimer->QueueTimer(iRxPostPage,ASYNC_TIMEOUT,CFaxSession::RxPostPageHandler,this);
-	}
-
-TInt CFaxSession::RxPostPageHandler(TAny* aPtr)
-	{
-	CFaxSession* faxHayes = REINTERPRET_CAST(CFaxSession*,aPtr);
-	faxHayes->iCompletion->RxPostPageComplete(KErrNone);
-	faxHayes->iFaxTimer->ResetPending(((CFaxSession*)aPtr)->iRxPostPage);
-	return KErrNone;
-	}
-
-// Tx Fax
-
-void CFaxSession::TxConnect()
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tTxConnect called."));
-	iFaxTimer->QueueTimer(iTxConnect,ASYNC_TIMEOUT,CFaxSession::TxConnectHandler,this);
-	}
-
-TInt CFaxSession::TxConnectHandler(TAny* aPtr)
-	{
-	CFaxSession* faxHayes = REINTERPRET_CAST(CFaxSession*,aPtr);
-	faxHayes->iCompletion->TxConnectComplete(KErrNone);
-	faxHayes->iFaxTimer->ResetPending(((CFaxSession*)aPtr)->iTxConnect);
-	return KErrNone;
-	}
-
-void CFaxSession::TxFaxData(const TDesC8& /*aData*/)
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tTxFaxData called."));	
-	iFaxTimer->QueueTimer(iTxFaxData,ASYNC_TIMEOUT,CFaxSession::TxFaxDataHandler,this);
-	}
-
-TInt CFaxSession::TxFaxDataHandler(TAny* aPtr)
-	{
-	CFaxSession* faxHayes = REINTERPRET_CAST(CFaxSession*,aPtr);
-	faxHayes->iCompletion->TxFaxDataComplete(KErrNone);
-	faxHayes->iFaxTimer->ResetPending(((CFaxSession*)aPtr)->iTxFaxData);
-	return KErrNone;
-	}
-
-void CFaxSession::TxPostPage()
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tTxPostPage called."));	
-	iFaxTimer->QueueTimer(iTxPostPage,ASYNC_TIMEOUT,CFaxSession::TxPostPageHandler,this);
-	}
-
-TInt CFaxSession::TxPostPageHandler(TAny* aPtr)
-	{
-	CFaxSession* faxHayes = REINTERPRET_CAST(CFaxSession*,aPtr);
-	faxHayes->iCompletion->TxPostPageComplete(KErrNone);
-	faxHayes->iFaxTimer->ResetPending(((CFaxSession*)aPtr)->iTxPostPage);
-	return KErrNone;
-	}
-
-void CFaxSession::Cancel()
-	{
-	__FLOG_FAXSTUB(_L8("FaxStub:\tCancel called - set iTransferProgress.iPhase to EDisconnection"));
-	iTransferProgress->iPhase = EDisconnection;
-	}
-
-TInt CFaxSession::ProgressChanger(TAny* aPtr)
-	{
-	CFaxSession* faxHayes = REINTERPRET_CAST(CFaxSession*,aPtr);	
-	faxHayes->iTransferProgress->iLines++;
-	return KErrNone;
-	}
-
-// CFaxTimer
-
-CFaxTimer* CFaxTimer::NewL()
-	{
-	CFaxTimer* faxTimer = new(ELeave)CFaxTimer();
-	CleanupStack::PushL(faxTimer);
-	faxTimer->ConstructL();
-	CleanupStack::Pop();
-	return faxTimer;
-	}
-
-CFaxTimer::CFaxTimer()
-	{}
-
-void CFaxTimer::ConstructL()
-	{
-	iTimer=CDeltaTimer::NewL(CActive::EPriorityHigh,KEtelFaxTimerGranularity);
-	}
-
-CFaxTimer::~CFaxTimer()
-	{
-	delete iTimer;
-	}
-
-void CFaxTimer::QueueTimer(TTsyTimer& aTsyTimer,
-						TTimeIntervalMicroSeconds32 aTimeInMicroSeconds,
-						TInt (*aFunction)(TAny *aPtr),TAny* aPtr)
-	{
-	TCallBack callBackFn(aFunction,aPtr);
-	aTsyTimer.iEntry.Set(callBackFn);
-
-	aTsyTimer.iPending=ETrue;
-	aTimeInMicroSeconds=aTimeInMicroSeconds.Int()+(KEtelFaxTimerGranularity>>2);
-	if(aTimeInMicroSeconds.Int()<100000)
-		aTimeInMicroSeconds=aTimeInMicroSeconds.Int()+KEtelFaxTimerGranularity;
-	iTimer->Queue(aTimeInMicroSeconds,aTsyTimer.iEntry);
-	}
-
-TBool CFaxTimer::RemoveTimer(TTsyTimer& aTsyTimer)
-	{
-	if (aTsyTimer.iPending)
-		{
-		aTsyTimer.iPending=EFalse;
-		iTimer->Remove(aTsyTimer.iEntry);
-		return ETrue;
-		}
-	return EFalse;
-	}
-
-void CFaxTimer::ResetPending(TTsyTimer& aTsyTimer)
-	{
-	aTsyTimer.iPending=EFalse;
-	}
-
-TFaxServerSessionSettings& 
-	TFaxServerSessionSettings::operator=(const TFaxServerSessionSettings& aSettings)
-	{
-	iPhoneNumber = aSettings.iPhoneNumber; iLogging = aSettings.iLogging;
-	iFaxInitString = aSettings.iFaxInitString; iMode = aSettings.iMode;;
-	iFaxClass = aSettings.iFaxClass;
-	iPortDriverName = aSettings.iPortDriverName; iCommPortName = aSettings.iCommPortName; iFaxId = aSettings.iFaxId;
-	iMaxSpeed = aSettings.iMaxSpeed;
-	iMinSpeed = aSettings.iMinSpeed;
-	iPreferredECM = aSettings.iPreferredECM; iFaxOnDemandDelay = aSettings.iFaxOnDemandDelay; iTxResolution = aSettings.iTxResolution; iTxCompression = aSettings.iTxCompression; iTxPages = aSettings.iTxPages;
-	iRxResolution = aSettings.iRxResolution; iRxCompression = aSettings.iRxCompression; return(*this);
-	}
-
-//
-// First Ordinal Functions
-//
-extern "C"
-	{
-	IMPORT_C CFaxSession* LibEntry(void);	// Force "Proper Name" export
-	}
-
-EXPORT_C CFaxSession* LibEntry()
-	{
-	return CFaxSession::NewL();
-	}
--- a/fax/faxclientandserver/FAXSVR/FAXSTUB.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**@file
-   @internalComponent */
-#ifndef __FAXSTUB_H
-#define __FAXSTUB_H
-
-#if !defined(__E32STD_H__)
-#include <e32std.h>
-#endif
-
-#include "etel.h"
-#include "FAXLOG.H"
-
-#if !defined(__E32BASE_H__)
-#include <e32base.h>
-#endif
-
-#include "FAXSTD.H"
-/**
-@internalComponent
-*/
-#define KMaxDialLength		50		
-#define KConfigStringLength 32		
-
-//**********************************
-// TFaxServerSessionSettings
-//**********************************
-/**
-@internalComponent
-*/	   
-struct TFaxServerSessionSettings
-	{
-	TFaxServerSessionSettings& operator=(const TFaxServerSessionSettings& aSettings);
-	TBuf8<KMaxDialLength> iPhoneNumber;
-	TBool iLogging;
-	TBuf8<KConfigStringLength> iFaxInitString;
-	TFaxMode iMode;
-	TFaxClass iFaxClass;
-	TFileName iPortDriverName;
-	TName iCommPortName;
-	TBuf<RCall::KFaxIdUserNameMaxSize> iFaxId;
-	TInt iMaxSpeed;
-	TInt iMinSpeed;
-	TInt iPreferredECM;
-	TInt iFaxOnDemandDelay;
-// Tx Settings
-	TFaxResolution iTxResolution;
-	TFaxCompression iTxCompression;
-	TInt iTxPages;
-// Rx Settings
-	TFaxResolution iRxResolution;
-	TFaxCompression iRxCompression;
-	};
-
-class MFaxCompletionBase
-/**
-@internalTechnology
-*/
-	{
-public:
-	virtual void RxConnectComplete(TInt aError)=0;		
-	virtual void RxFaxDataComplete(TInt aError)=0;		
-	virtual void RxPostPageComplete(TInt aError)=0;
-	virtual void TxConnectComplete(TInt aError)=0;
-    virtual void TxFaxDataComplete(TInt aError)=0;
-	virtual void TxPostPageComplete(TInt aError)=0;		
-
-	virtual void GetCadenceAndTimeOfLastRing(TTimeIntervalMicroSeconds& aCadence,TTime& aTime)=0;
-	};	
-
-
-#ifdef __MARM__
-/**
-@internalComponent
-*/
-const TInt KEtelFaxTimerGranularity = 31000;
-#else
-const TInt KEtelFaxTimerGranularity = 80000;
-#endif
-/**
-@internalComponent
-*/
-#define KDefaultLastUpdateTime  5
-#define KDefaultAnswerBack  _L("01814590381")
-#define KDefaultPhase  ENotYetStarted
-#define KDefaultResolution  EFaxNormal;
-#define KDefaultCompression  EModifiedHuffman;
-#define KDefaultPageNumber  1
-#define KDefaultLinesNumber  3
-#define KDefaultSpeed  9600
-
-#define ASYNC_TIMEOUT		10000
-#define ASYNC_LONGTIMEOUT	500000
-
-class TTsyTimer
-/**
-@internalTechnology
-*/
-	{
-public:
-	TTsyTimer();
-	TBool iPending;
-	TDeltaTimerEntry iEntry;
-	};
-
-class CFaxTimer;
-class CFaxSession : public CBase
-/**
-@internalTechnology
-*/
-	{
-public:
-    static CFaxSession * NewL ();
-    static CFaxSession * NewLC ();
-
-	CFaxSession();
-	void ConstructL();
-	~CFaxSession();
-
-	virtual TInt FxOpen(TFaxServerSessionSettings& aFaxSettings,RFax::TProgress* aProgress);
-	virtual TInt FxClose();
-
-// Rx Fax
-	virtual void RxConnect();
-	virtual void RxFaxData(TDes8& aData);
-	virtual void RxPostPage();
-// Tx Fax
-	virtual void TxConnect();
-	virtual void TxFaxData(const TDesC8& aData);
-	virtual void TxPostPage();
-	virtual void Cancel();
-	virtual void SetCallBack(MFaxCompletionBase* aBase);
-
-	static TInt RxConnectHandler(TAny* aPtr);
-	static TInt RxFaxDataHandler(TAny* aPtr);
-	static TInt RxPostPageHandler(TAny* aPtr);
-	static TInt TxConnectHandler(TAny* aPtr);
-	static TInt TxFaxDataHandler(TAny* aPtr);
-	static TInt TxPostPageHandler(TAny* aPtr);
-	static TInt ProgressChanger(TAny* aPtr);
-public:
-	RFax::TProgress* iTransferProgress;
-
-	// Timer
-	CFaxTimer* iFaxTimer;
-	TTsyTimer iRxConnect;
-	TTsyTimer iRxFaxData;
-	TTsyTimer iRxPostPage;
-	TTsyTimer iTxConnect;
-	TTsyTimer iTxFaxData;
-	TTsyTimer iTxPostPage;
-	TTsyTimer iProgressChanger;	
-	MFaxCompletionBase* iCompletion;
-	};
-
-class CFaxTimer: public CBase
-/**
-@internalTechnology
-*/
-	{
-public:
-	static CFaxTimer* NewL();
-	CFaxTimer();
-	void ConstructL();
-	~CFaxTimer();
-
-	void QueueTimer(TTsyTimer& aTsyTimer,
-						TTimeIntervalMicroSeconds32 aTimeInMicroSeconds,
-						TInt (*aFunction)(TAny *aPtr), TAny* aPtr);
-	TBool RemoveTimer(TTsyTimer& aHandle);
-	void ResetPending(TTsyTimer& aHandle);
-private:
-	CDeltaTimer* iTimer;
-	};
-
-#endif //__FAXSTUB_H
--- a/fax/faxclientandserver/FAXSVR/FONT8X16.DAT	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,224 +0,0 @@
-// FONT8x16.DAT
-//
-// started by Andrew Margolis January 1997
-//
-// 8x16 256 font table for generating fax headers. 
-// The only characters included are those from 32 to 128.
-
-// Size of each font table = 96 x 16 = 1536 bytes
-
-#ifndef __FONT8X16_DAT
-#define __FONT8X16_DAT
-
-
-/***************************************************************************
-
-const TUint8 bigfont [][16] =
-  {
-    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 32 
-    {0x00,0x00,0x18,0x3c,0x3c,0x3c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // '!' 
-    {0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '"' 
-    {0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,0x00,0x00}, // '#' 
-    {0x18,0x18,0x7c,0xc6,0xc2,0xc0,0x7c,0x06,0x06,0x86,0xc6,0x7c,0x18,0x18,0x00,0x00}, // '$' 
-    {0x00,0x00,0x00,0x00,0xc2,0xc6,0x0c,0x18,0x30,0x60,0xc6,0x86,0x00,0x00,0x00,0x00}, // '%' 
-    {0x00,0x00,0x38,0x6c,0x6c,0x38,0x76,0xdc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00}, // '&' 
-    {0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ''' 
-    {0x00,0x00,0x0c,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0c,0x00,0x00,0x00,0x00}, // '(' 
-    {0x00,0x00,0x30,0x18,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x18,0x30,0x00,0x00,0x00,0x00}, // ')' 
-    {0x00,0x00,0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,0x00,0x00}, // '*' 
-    {0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00}, // '+' 
-    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00}, // ',' 
-    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '-' 
-    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // '.' 
-    {0x00,0x00,0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,0x00,0x00}, // '/' 
-    {0x00,0x00,0x3c,0x66,0xc3,0xc3,0xdb,0xdb,0xc3,0xc3,0x66,0x3c,0x00,0x00,0x00,0x00}, // '0' 
-    {0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00}, // '1' 
-    {0x00,0x00,0x7c,0xc6,0x06,0x0c,0x18,0x30,0x60,0xc0,0xc6,0xfe,0x00,0x00,0x00,0x00}, // '2' 
-    {0x00,0x00,0x7c,0xc6,0x06,0x06,0x3c,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00}, // '3' 
-    {0x00,0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00}, // '4' 
-    {0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xfc,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00}, // '5' 
-    {0x00,0x00,0x38,0x60,0xc0,0xc0,0xfc,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00}, // '6' 
-    {0x00,0x00,0xfe,0xc6,0x06,0x06,0x0c,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00}, // '7' 
-    {0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00}, // '8' 
-    {0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7e,0x06,0x06,0x06,0x0c,0x78,0x00,0x00,0x00,0x00}, // '9' 
-    {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00}, // ':' 
-    {0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00}, // ';' 
-    {0x00,0x00,0x00,0x06,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x06,0x00,0x00,0x00,0x00}, // '<' 
-    {0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '=' 
-    {0x00,0x00,0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x60,0x00,0x00,0x00,0x00}, // '>' 
-    {0x00,0x00,0x7c,0xc6,0xc6,0x0c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // '?' 
-    {0x00,0x00,0x00,0x7c,0xc6,0xc6,0xde,0xde,0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00}, // '@' 
-    {0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00}, // 'A' 
-    {0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,0x66,0x66,0xfc,0x00,0x00,0x00,0x00}, // 'B' 
-    {0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,0xc0,0xc2,0x66,0x3c,0x00,0x00,0x00,0x00}, // 'C' 
-    {0x00,0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00}, // 'D' 
-    {0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00}, // 'E' 
-    {0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00}, // 'F' 
-    {0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xde,0xc6,0xc6,0x66,0x3a,0x00,0x00,0x00,0x00}, // 'G' 
-    {0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00}, // 'H' 
-    {0x00,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00}, // 'I' 
-    {0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00}, // 'J' 
-    {0x00,0x00,0xe6,0x66,0x66,0x6c,0x78,0x78,0x6c,0x66,0x66,0xe6,0x00,0x00,0x00,0x00}, // 'K' 
-    {0x00,0x00,0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00}, // 'L' 
-    {0x00,0x00,0xc3,0xe7,0xff,0xff,0xdb,0xc3,0xc3,0xc3,0xc3,0xc3,0x00,0x00,0x00,0x00}, // 'M' 
-    {0x00,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00}, // 'N' 
-    {0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00}, // 'O' 
-    {0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00}, // 'P' 
-    {0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xd6,0xde,0x7c,0x0c,0x0e,0x00,0x00}, // 'Q' 
-    {0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00}, // 'R' 
-    {0x00,0x00,0x7c,0xc6,0xc6,0x60,0x38,0x0c,0x06,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00}, // 'S' 
-    {0x00,0x00,0xff,0xdb,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00}, // 'T' 
-    {0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00}, // 'U' 
-    {0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x66,0x3c,0x18,0x00,0x00,0x00,0x00}, // 'V' 
-    {0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xdb,0xdb,0xff,0x66,0x66,0x00,0x00,0x00,0x00}, // 'W' 
-    {0x00,0x00,0xc3,0xc3,0x66,0x3c,0x18,0x18,0x3c,0x66,0xc3,0xc3,0x00,0x00,0x00,0x00}, // 'X' 
-    {0x00,0x00,0xc3,0xc3,0xc3,0x66,0x3c,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00}, // 'Y' 
-    {0x00,0x00,0xff,0xc3,0x86,0x0c,0x18,0x30,0x60,0xc1,0xc3,0xff,0x00,0x00,0x00,0x00}, // 'Z' 
-    {0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,0x00,0x00,0x00}, // '[' 
-    {0x00,0x00,0x00,0x80,0xc0,0xe0,0x70,0x38,0x1c,0x0e,0x06,0x02,0x00,0x00,0x00,0x00}, // '\' 
-    {0x00,0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,0x00,0x00}, // ']' 
-    {0x10,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '^' 
-    {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00}, // '_' 
-    {0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '`' 
-    {0x00,0x00,0x00,0x00,0x00,0x78,0x0c,0x0c,0x7c,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00}, // 'a' 
-    {0x00,0x00,0xe0,0x60,0x60,0x78,0x6c,0x66,0x66,0x66,0x66,0x7c,0x00,0x00,0x00,0x00}, // 'b' 
-    {0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00}, // 'c' 
-    {0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00}, // 'd' 
-    {0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xfc,0xc0,0xc2,0x7e,0x00,0x00,0x00,0x00}, // 'e' 
-    {0x00,0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00}, // 'f' 
-    {0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00}, // 'g' 
-    {0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00}, // 'h' 
-    {0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00}, // 'i' 
-    {0x00,0x00,0x06,0x06,0x00,0x0e,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00}, // 'j' 
-    {0x00,0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00}, // 'k' 
-    {0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00}, // 'l' 
-    {0x00,0x00,0x00,0x00,0x00,0xe6,0xff,0xdb,0xdb,0xdb,0xdb,0xdb,0x00,0x00,0x00,0x00}, // 'm' 
-    {0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00}, // 'n' 
-    {0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00}, // 'o' 
-    {0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00}, // 'p' 
-    {0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x1e,0x00}, // 'q' 
-    {0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x66,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00}, // 'r' 
-    {0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x60,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,0x00}, // 's' 
-    {0x00,0x00,0x10,0x30,0x30,0xfc,0x30,0x30,0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00}, // 't' 
-    {0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00}, // 'u' 
-    {0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xc3,0x66,0x3c,0x18,0x00,0x00,0x00,0x00}, // 'v' 
-    {0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xdb,0xdb,0xff,0x66,0x00,0x00,0x00,0x00}, // 'w' 
-    {0x00,0x00,0x00,0x00,0x00,0xc3,0x66,0x3c,0x18,0x3c,0x66,0xc3,0x00,0x00,0x00,0x00}, // 'x' 
-    {0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00}, // 'y' 
-    {0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00}, // 'z' 
-    {0x00,0x00,0x0e,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0e,0x00,0x00,0x00,0x00}, // '{' 
-    {0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00}, // '|' 
-    {0x00,0x00,0x70,0x18,0x18,0x18,0x0e,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00}, // '}' 
-    {0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '~' 
-    {0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00}  // 128 
-  } ;
-
-**************************************************************************/
-
-/*************************************************************************/
-
-const TUint8 thinfont [][16] =
-  {
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // 32 
-	{0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x10,0x10,0x00,0x00,0x00,0x00}, // '!' 
-	{0x00,0x24,0x24,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '"' 
-	{0x00,0x42,0x42,0x42,0xFF,0x42,0x42,0x42,0xFF,0x42,0x42,0x42,0x00,0x00,0x00,0x00}, // '#' 
-	{0x00,0x10,0x7E,0x90,0x90,0x90,0x7C,0x12,0x12,0x12,0xFC,0x10,0x00,0x00,0x00,0x00}, // '$' 
-	{0x00,0x00,0x61,0x91,0x92,0x64,0x08,0x10,0x26,0x49,0x89,0x86,0x00,0x00,0x00,0x00}, // '%' 
-	{0x00,0x70,0x88,0x88,0x88,0x50,0x60,0x91,0x8A,0x84,0x4A,0x31,0x00,0x00,0x00,0x00}, // '&' 
-	{0x00,0x18,0x18,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ''' 
-	{0x00,0x06,0x18,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x18,0x06,0x00,0x00,0x00,0x00}, // '(' 
-	{0x00,0x60,0x18,0x04,0x02,0x02,0x02,0x02,0x02,0x04,0x18,0x60,0x00,0x00,0x00,0x00}, // ')' 
-	{0x00,0x00,0x10,0x92,0x54,0x38,0xFE,0x38,0x54,0x92,0x10,0x00,0x00,0x00,0x00,0x00}, // '*' 
-	{0x00,0x00,0x00,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00}, // '+' 
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x10,0x20,0x00,0x00}, // ',' 
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '-' 
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // '.' 
-	{0x00,0x00,0x01,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x80,0x00,0x00,0x00,0x00}, // '/' 
-	{0x00,0x3C,0x42,0x83,0x85,0x89,0x91,0xA1,0xC1,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // '0' 
-	{0x00,0x10,0x30,0x50,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x7C,0x00,0x00,0x00,0x00}, // '1' 
-	{0x00,0x3C,0x42,0x81,0x01,0x02,0x3C,0x40,0x80,0x80,0x80,0xFF,0x00,0x00,0x00,0x00}, // '2' 
-	{0x00,0x3C,0x42,0x81,0x01,0x02,0x3C,0x02,0x01,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // '3' 
-	{0x00,0x02,0x06,0x0A,0x12,0x22,0x42,0x82,0xFF,0x02,0x02,0x02,0x00,0x00,0x00,0x00}, // '4' 
-	{0x00,0xFF,0x80,0x80,0x80,0xFC,0x02,0x01,0x01,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // '5' 
-	{0x00,0x3C,0x42,0x81,0x80,0xBC,0xC2,0x81,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // '6' 
-	{0x00,0xFF,0x81,0x01,0x02,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00}, // '7' 
-	{0x00,0x3C,0x42,0x81,0x81,0x42,0x3C,0x42,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // '8' 
-	{0x00,0x3C,0x42,0x81,0x81,0x43,0x3D,0x01,0x01,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // '9' 
-	{0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00}, // ':' 
-	{0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x10,0x20,0x00,0x00}, // ';' 
-	{0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00,0x00,0x00}, // '<' 
-	{0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '=' 
-	{0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00,0x00,0x00}, // '>' 
-	{0x00,0x38,0x44,0x82,0x82,0x04,0x08,0x10,0x10,0x00,0x10,0x10,0x00,0x00,0x00,0x00}, // '?' 
-	{0x00,0x3C,0x42,0x81,0x99,0xA5,0xA5,0xA5,0x9E,0x80,0x41,0x3E,0x00,0x00,0x00,0x00}, // '@' 
-	{0x00,0x18,0x24,0x42,0x81,0x81,0xFF,0x81,0x81,0x81,0x81,0x81,0x00,0x00,0x00,0x00}, // 'A' 
-	{0x00,0xFC,0x42,0x41,0x41,0x42,0x7C,0x42,0x41,0x41,0x42,0xFC,0x00,0x00,0x00,0x00}, // 'B' 
-	{0x00,0x3C,0x42,0x81,0x81,0x80,0x80,0x80,0x80,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // 'C' 
-	{0x00,0xFC,0x42,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x42,0xFC,0x00,0x00,0x00,0x00}, // 'D' 
-	{0x00,0xFF,0x80,0x80,0x80,0x80,0xFC,0x80,0x80,0x80,0x80,0xFF,0x00,0x00,0x00,0x00}, // 'E' 
-	{0x00,0xFF,0x80,0x80,0x80,0x80,0xFC,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00}, // 'F' 
-	{0x00,0x3C,0x42,0x81,0x81,0x80,0x9F,0x81,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // 'G' 
-	{0x00,0x81,0x81,0x81,0x81,0x81,0xFF,0x81,0x81,0x81,0x81,0x81,0x00,0x00,0x00,0x00}, // 'H' 
-	{0x00,0x38,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x38,0x00,0x00,0x00,0x00}, // 'I' 
-	{0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x82,0x82,0x44,0x38,0x00,0x00,0x00,0x00}, // 'J' 
-	{0x00,0x81,0x82,0x84,0x88,0x90,0xE0,0x90,0x88,0x84,0x82,0x81,0x00,0x00,0x00,0x00}, // 'K' 
-	{0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0x00,0x00,0x00,0x00}, // 'L' 
-	{0x00,0x81,0xC3,0xA5,0x99,0x99,0x81,0x81,0x81,0x81,0x81,0x81,0x00,0x00,0x00,0x00}, // 'M' 
-	{0x00,0x81,0xC1,0xA1,0x91,0x89,0x85,0x83,0x81,0x81,0x81,0x81,0x00,0x00,0x00,0x00}, // 'N' 
-	{0x00,0x3C,0x42,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // 'O' 
-	{0x00,0xFC,0x82,0x81,0x81,0x82,0xFC,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00}, // 'P' 
-	{0x00,0x3C,0x42,0x81,0x81,0x81,0x81,0x81,0x89,0x85,0x42,0x3D,0x00,0x00,0x00,0x00}, // 'Q' 
-	{0x00,0xFC,0x82,0x81,0x81,0x82,0xFC,0x90,0x88,0x84,0x82,0x81,0x00,0x00,0x00,0x00}, // 'R' 
-	{0x00,0x3C,0x42,0x81,0x80,0x40,0x3C,0x02,0x01,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // 'S' 
-	{0x00,0xFE,0x92,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00}, // 'T' 
-	{0x00,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // 'U' 
-	{0x00,0x81,0x81,0x81,0x81,0x81,0x42,0x42,0x24,0x24,0x18,0x18,0x00,0x00,0x00,0x00}, // 'V' 
-	{0x00,0x81,0x81,0x81,0x81,0x81,0x81,0x99,0x99,0xA5,0xA5,0x42,0x00,0x00,0x00,0x00}, // 'W' 
-	{0x00,0x81,0x81,0x81,0x42,0x24,0x18,0x24,0x42,0x81,0x81,0x81,0x00,0x00,0x00,0x00}, // 'X' 
-	{0x00,0x82,0x82,0x82,0x82,0x44,0x28,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00}, // 'Y' 
-	{0x00,0xFF,0x01,0x01,0x02,0x04,0x18,0x20,0x40,0x80,0x80,0xFF,0x00,0x00,0x00,0x00}, // 'Z' 
-	{0x00,0x7E,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7E,0x00,0x00,0x00,0x00}, // '[' 
-	{0x00,0x00,0x80,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x01,0x00,0x00,0x00,0x00}, // '\' 
-	{0x00,0x7E,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x7E,0x00,0x00,0x00,0x00}, // ']' 
-	{0x00,0x18,0x24,0x42,0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '^' 
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00}, // '_' 
-	{0x00,0x08,0x04,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '`' 
-	{0x00,0x00,0x00,0x00,0x00,0x7C,0x02,0x02,0x7E,0x82,0x82,0x7D,0x00,0x00,0x00,0x00}, // 'a' 
-	{0x00,0x80,0x80,0x80,0x80,0xBC,0xC2,0x81,0x81,0x81,0xC2,0xBC,0x00,0x00,0x00,0x00}, // 'b' 
-	{0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x80,0x80,0x80,0x42,0x3C,0x00,0x00,0x00,0x00}, // 'c' 
-	{0x00,0x01,0x01,0x01,0x01,0x3D,0x43,0x81,0x81,0x81,0x43,0x3D,0x00,0x00,0x00,0x00}, // 'd' 
-	{0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x81,0xFF,0x80,0x40,0x3E,0x00,0x00,0x00,0x00}, // 'e' 
-	{0x00,0x0E,0x11,0x10,0x10,0xFE,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00}, // 'f' 
-	{0x00,0x00,0x00,0x00,0x00,0x3D,0x43,0x81,0x81,0x43,0x3D,0x01,0x02,0x7C,0x00,0x00}, // 'g' 
-	{0x00,0x80,0x80,0x80,0x80,0xBC,0xC2,0x81,0x81,0x81,0x81,0x81,0x00,0x00,0x00,0x00}, // 'h' 
-	{0x00,0x00,0x08,0x08,0x00,0x38,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,0x00}, // 'i' 
-	{0x00,0x00,0x02,0x02,0x00,0x06,0x02,0x02,0x02,0x02,0x02,0x82,0x44,0x38,0x00,0x00}, // 'j' 
-	{0x00,0x80,0x80,0x80,0x80,0x82,0x84,0x88,0x90,0xA8,0xC4,0x82,0x00,0x00,0x00,0x00}, // 'k' 
-	{0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,0x00,0x00}, // 'l' 
-	{0x00,0x00,0x00,0x00,0x00,0xEC,0x92,0x92,0x92,0x92,0x92,0x92,0x00,0x00,0x00,0x00}, // 'm' 
-	{0x00,0x00,0x00,0x00,0x00,0xB8,0xC4,0x82,0x82,0x82,0x82,0x82,0x00,0x00,0x00,0x00}, // 'n' 
-	{0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x81,0x81,0x81,0x42,0x3C,0x00,0x00,0x00,0x00}, // 'o' 
-	{0x00,0x00,0x00,0x00,0x00,0xBC,0xC2,0x81,0x81,0x81,0xC2,0xBC,0x80,0x80,0x00,0x00}, // 'p' 
-	{0x00,0x00,0x00,0x00,0x00,0x3D,0x43,0x81,0x81,0x81,0x43,0x3D,0x01,0x01,0x00,0x00}, // 'q' 
-	{0x00,0x00,0x00,0x00,0x00,0xBE,0xC1,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00}, // 'r' 
-	{0x00,0x00,0x00,0x00,0x00,0x7E,0x81,0x80,0x7E,0x01,0x81,0x7E,0x00,0x00,0x00,0x00}, // 's' 
-	{0x10,0x10,0x10,0x10,0x10,0xFE,0x10,0x10,0x10,0x10,0x11,0x0E,0x00,0x00,0x00,0x00}, // 't' 
-	{0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x81,0x81,0x81,0x43,0x3D,0x00,0x00,0x00,0x00}, // 'u' 
-	{0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x81,0x81,0x42,0x24,0x18,0x00,0x00,0x00,0x00}, // 'v' 
-	{0x00,0x00,0x00,0x00,0x00,0x82,0x82,0x92,0x92,0x92,0xAA,0x44,0x00,0x00,0x00,0x00}, // 'w' 
-	{0x00,0x00,0x00,0x00,0x00,0x81,0x42,0x24,0x18,0x24,0x42,0x81,0x00,0x00,0x00,0x00}, // 'x' 
-	{0x00,0x00,0x00,0x00,0x00,0x81,0x81,0x81,0x81,0x43,0x3D,0x01,0x02,0x7C,0x00,0x00}, // 'y' 
-	{0x00,0x00,0x00,0x00,0x00,0xFF,0x02,0x04,0x18,0x20,0x40,0xFF,0x00,0x00,0x00,0x00}, // 'z' 
-	{0x00,0x04,0x08,0x10,0x10,0x10,0x20,0x10,0x10,0x10,0x08,0x04,0x00,0x00,0x00,0x00}, // '{' 
-	{0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x00,0x00}, // '|' 
-	{0x00,0x40,0x20,0x10,0x10,0x10,0x08,0x10,0x10,0x10,0x20,0x40,0x00,0x00,0x00,0x00}, // '}' 
-	{0x00,0x00,0x70,0x99,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '~' 
-	{0x00,0x00,0x00,0x00,0x08,0x1C,0x36,0x63,0x63,0x7F,0x00,0x00,0x00,0x00,0x00,0x00}  // 128 
-  } ;
-
-#endif
-
-/*************************************************************************/
-
-
--- a/fax/faxclientandserver/FAXSVR/FRAMES.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// The bytes are all inverted as the T.30 spec indicates that all frame 
-// data should be transmitted from MSB -> LSB ( i.e. left to right just 
-// as printed).   However, asynchronous data is always send LSB -> MSB  
-// which would be the wrong way round.   Note that in the faxparms.bit  
-// structure the fields are declared in MSB -> LSB order, which is OK.  
-// ID strings are an exception : they are always transmitted completely 
-// backwards (LSB of last byte -> MSB of first byte.        
-// Where the MSB is listed as an x this should be set to 1 if we    
-// received KT30_DIS or left at to 0 if we received a response to our KT30_DIS
-// We have a mask on incoming data to knock this bit off
-// 
-//
-
-/**
- @file
- @internalComponent 
-*/
-
-#ifndef __FRAMES_H
-#define __FRAMES_H
-/**
-@internalComponent
-*/
-const TUint8 KT30_DISMASK (0xfe);
-
-const TUint8 KT30_TCF     (0x00);
-const TUint8 KT30_FILL    (0x00);
-
-const TUint8 KT30_T1        (35);  // this is the T1 35 second timeout
-const TUint8 KT30_T2         (6);  // this is the T2 6 second timeout
-const TUint8 KT30_T4         (3);  // this is the T4 3 second timeout (5.2E/T.30)
-
-const TUint8 KT30_ADDR    (0xff);  // HDLC address is palindromic 
-const TUint8 KT30_CTLNXT  (0x03);  // intermediate frame control field 11000000 
-const TUint8 KT30_CTLLST  (0x13);  // final control field 11001000 
-
-const TUint8 KT30_DIS     (0x80);  // answering capability follows 00000001 
-const TUint8 KT30_CSI     (0x40);  // answering station identity follows 00000010 
-const TUint8 KT30_NSF     (0x20);  // answering nonstandard facilities 00000100 
-
-const TUint8 KT30_DTC     (0x81);  // polling capability follows 10000001 
-const TUint8 KT30_CIG     (0x41);  // polling station identity follows 10000010 
-const TUint8 KT30_NSC     (0x21);  // polling nonstandard facilities 10000100 
-
-const TUint8 KT30_DCS     (0x82);  // transmitter capability follows x1000001 
-const TUint8 KT30_TSI     (0x42);  // transmitter station identity follows x1000010 
-const TUint8 KT30_NSS     (0x22);  // transmitter nonstandard facilities x1000100 
-
-const TUint8 KT30_CFR     (0x84);  // confirmation to received x0100001 
-const TUint8 KT30_FTT     (0x44);  // failure to train x0100010 
-
-const TUint8 KT30_EOM     (0x8e);  // end of document x1110001 
-const TUint8 KT30_MPS     (0x4e);  // end of page x1110010 
-const TUint8 KT30_EOP     (0x2e);  // end of transmission x1110100 
-const TUint8 KT30_PRIEOM  (0x9e);  // end of document - operator pls x1111001 
-const TUint8 KT30_PRIMPS  (0x5e);  // end of page - operator pls x1111010 
-const TUint8 KT30_PRIEOP  (0x3e);  // end of transmission - operator pls x1111100 
-
-const TUint8 KT30_MCF     (0x8c);  // message confirmation x0110001 
-const TUint8 KT30_RTP     (0xcc);  // message confirmation with retrain x0110011 
-const TUint8 KT30_PIP     (0xac);  // message confirmation - operator pls x0110101 
-const TUint8 KT30_RTN     (0x4c);  // message not received with retrain x0110010 
-const TUint8 KT30_PIN     (0x2c);  // message not received - operator pls x0110100 
-
-const TUint8 KT30_DCN     (0xfa);  // disconnect x1011111 
-const TUint8 KT30_CRP     (0x1a);  // command repeat x1011000 
-/**
-@internalComponent
-*/
-union faxparms
-   {
-   TUint8 byte[5] ;
-   struct
-      {
-      unsigned b01: 1 ; // transmitter T2 
-      unsigned b02: 1 ; // receiver T2 
-      unsigned b03: 1 ; // T2 IOC 
-      unsigned b04: 1 ; // transmitter T3 
-      unsigned b05: 1 ; // receiver T3 
-      unsigned b06: 1 ; // reserved 
-      unsigned b07: 1 ; // reserved 
-      unsigned b08: 1 ; // reserved 
-
-      unsigned b09: 1 ; // transmitter T4 
-      unsigned b10: 1 ; // receiver T4 
-      unsigned b11: 1 ; // data signalling rate b 1 
-      unsigned b12: 1 ; // data signalling rate b 2 
-      unsigned b13: 1 ; // data signalling rate b 3 
-      unsigned b14: 1 ; // data signalling rate b 4 
-      unsigned b15: 1 ; // fine vertical resolution 
-      unsigned b16: 1 ; // two dimensional coding 
-
-      unsigned b17: 1 ; // fax width b 1 
-      unsigned b18: 1 ; // fax width b 2 
-      unsigned b19: 1 ; // fax length b 1 
-      unsigned b20: 1 ; // fax length b 2 
-      unsigned b21: 1 ; // minimum scan line line b 1 
-      unsigned b22: 1 ; // minimum scan line line b 2 
-      unsigned b23: 1 ; // minimum scan line line b 3 
-      unsigned b24: 1 ; // extend field 
-
-      unsigned b25: 1 ; // 2400 bps handshake 
-      unsigned b26: 1 ; // uncompressed mode 
-      unsigned b27: 1 ; // error correction 
-      unsigned b28: 1 ; // frame size 64 octets 
-      unsigned b29: 1 ; // error limiting mode 
-      unsigned b30: 1 ; // G4 
-      unsigned b31: 1 ; // T6 coding 
-      unsigned b32: 1 ; // extend field 
-
-      unsigned b33: 1 ; // validity of width bs 17,18 
-      unsigned b34: 1 ; // width 1216 pels/151mm 
-      unsigned b35: 1 ; // width 864 pels/107mm 
-      unsigned b36: 1 ; // width 1728 pels/151mm 
-      unsigned b37: 1 ; // width 1728 pels/107mm 
-      unsigned b38: 1 ; // reserved 
-      unsigned b39: 1 ; // reserved 
-      unsigned b40: 1 ; // extend 
-      } bit ;
-   } ;
-
-#endif
-
--- a/fax/faxclientandserver/FAXSVR/ZEROS.DAT	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-// ZEROS.DAT
-//
-// started by Andrew Margolis January 1997
-//
-
-// table for finding embedded t4 eols in data streams
-// leading zeros first, trailing zeros second
-
-// so, for any character c
-// leading0s  = zerotable[c][0];
-// trailing0s = zerotable[c][1];
-
-
-#ifndef __ZEROS_DAT
-#define __ZEROS_DAT
-
-const TUint8 zerotable [][2] =
-   {
-      {8,8}, // 0x0
-      {7,0}, // 0x1
-      {6,1}, // 0x2
-      {6,0}, // 0x3
-      {5,2}, // 0x4
-      {5,0}, // 0x5
-      {5,1}, // 0x6
-      {5,0}, // 0x7
-      {4,3}, // 0x8
-      {4,0}, // 0x9
-      {4,1}, // 0xa
-      {4,0}, // 0xb
-      {4,2}, // 0xc
-      {4,0}, // 0xd
-      {4,1}, // 0xe
-      {4,0}, // 0xf
-      {3,4}, // 0x10
-      {3,0}, // 0x11
-      {3,1}, // 0x12
-      {3,0}, // 0x13
-      {3,2}, // 0x14
-      {3,0}, // 0x15
-      {3,1}, // 0x16
-      {3,0}, // 0x17
-      {3,3}, // 0x18
-      {3,0}, // 0x19
-      {3,1}, // 0x1a
-      {3,0}, // 0x1b
-      {3,2}, // 0x1c
-      {3,0}, // 0x1d
-      {3,1}, // 0x1e
-      {3,0}, // 0x1f
-      {2,5}, // 0x20
-      {2,0}, // 0x21
-      {2,1}, // 0x22
-      {2,0}, // 0x23
-      {2,2}, // 0x24
-      {2,0}, // 0x25
-      {2,1}, // 0x26
-      {2,0}, // 0x27
-      {2,3}, // 0x28
-      {2,0}, // 0x29
-      {2,1}, // 0x2a
-      {2,0}, // 0x2b
-      {2,2}, // 0x2c
-      {2,0}, // 0x2d
-      {2,1}, // 0x2e
-      {2,0}, // 0x2f
-      {2,4}, // 0x30
-      {2,0}, // 0x31
-      {2,1}, // 0x32
-      {2,0}, // 0x33
-      {2,2}, // 0x34
-      {2,0}, // 0x35
-      {2,1}, // 0x36
-      {2,0}, // 0x37
-      {2,3}, // 0x38
-      {2,0}, // 0x39
-      {2,1}, // 0x3a
-      {2,0}, // 0x3b
-      {2,2}, // 0x3c
-      {2,0}, // 0x3d
-      {2,1}, // 0x3e
-      {2,0}, // 0x3f
-      {1,6}, // 0x40
-      {1,0}, // 0x41
-      {1,1}, // 0x42
-      {1,0}, // 0x43
-      {1,2}, // 0x44
-      {1,0}, // 0x45
-      {1,1}, // 0x46
-      {1,0}, // 0x47
-      {1,3}, // 0x48
-      {1,0}, // 0x49
-      {1,1}, // 0x4a
-      {1,0}, // 0x4b
-      {1,2}, // 0x4c
-      {1,0}, // 0x4d
-      {1,1}, // 0x4e
-      {1,0}, // 0x4f
-      {1,4}, // 0x50
-      {1,0}, // 0x51
-      {1,1}, // 0x52
-      {1,0}, // 0x53
-      {1,2}, // 0x54
-      {1,0}, // 0x55
-      {1,1}, // 0x56
-      {1,0}, // 0x57
-      {1,3}, // 0x58
-      {1,0}, // 0x59
-      {1,1}, // 0x5a
-      {1,0}, // 0x5b
-      {1,2}, // 0x5c
-      {1,0}, // 0x5d
-      {1,1}, // 0x5e
-      {1,0}, // 0x5f
-      {1,5}, // 0x60
-      {1,0}, // 0x61
-      {1,1}, // 0x62
-      {1,0}, // 0x63
-      {1,2}, // 0x64
-      {1,0}, // 0x65
-      {1,1}, // 0x66
-      {1,0}, // 0x67
-      {1,3}, // 0x68
-      {1,0}, // 0x69
-      {1,1}, // 0x6a
-      {1,0}, // 0x6b
-      {1,2}, // 0x6c
-      {1,0}, // 0x6d
-      {1,1}, // 0x6e
-      {1,0}, // 0x6f
-      {1,4}, // 0x70
-      {1,0}, // 0x71
-      {1,1}, // 0x72
-      {1,0}, // 0x73
-      {1,2}, // 0x74
-      {1,0}, // 0x75
-      {1,1}, // 0x76
-      {1,0}, // 0x77
-      {1,3}, // 0x78
-      {1,0}, // 0x79
-      {1,1}, // 0x7a
-      {1,0}, // 0x7b
-      {1,2}, // 0x7c
-      {1,0}, // 0x7d
-      {1,1}, // 0x7e
-      {1,0}, // 0x7f
-      {0,7}, // 0x80
-      {0,0}, // 0x81
-      {0,1}, // 0x82
-      {0,0}, // 0x83
-      {0,2}, // 0x84
-      {0,0}, // 0x85
-      {0,1}, // 0x86
-      {0,0}, // 0x87
-      {0,3}, // 0x88
-      {0,0}, // 0x89
-      {0,1}, // 0x8a
-      {0,0}, // 0x8b
-      {0,2}, // 0x8c
-      {0,0}, // 0x8d
-      {0,1}, // 0x8e
-      {0,0}, // 0x8f
-      {0,4}, // 0x90
-      {0,0}, // 0x91
-      {0,1}, // 0x92
-      {0,0}, // 0x93
-      {0,2}, // 0x94
-      {0,0}, // 0x95
-      {0,1}, // 0x96
-      {0,0}, // 0x97
-      {0,3}, // 0x98
-      {0,0}, // 0x99
-      {0,1}, // 0x9a
-      {0,0}, // 0x9b
-      {0,2}, // 0x9c
-      {0,0}, // 0x9d
-      {0,1}, // 0x9e
-      {0,0}, // 0x9f
-      {0,5}, // 0xa0
-      {0,0}, // 0xa1
-      {0,1}, // 0xa2
-      {0,0}, // 0xa3
-      {0,2}, // 0xa4
-      {0,0}, // 0xa5
-      {0,1}, // 0xa6
-      {0,0}, // 0xa7
-      {0,3}, // 0xa8
-      {0,0}, // 0xa9
-      {0,1}, // 0xaa
-      {0,0}, // 0xab
-      {0,2}, // 0xac
-      {0,0}, // 0xad
-      {0,1}, // 0xae
-      {0,0}, // 0xaf
-      {0,4}, // 0xb0
-      {0,0}, // 0xb1
-      {0,1}, // 0xb2
-      {0,0}, // 0xb3
-      {0,2}, // 0xb4
-      {0,0}, // 0xb5
-      {0,1}, // 0xb6
-      {0,0}, // 0xb7
-      {0,3}, // 0xb8
-      {0,0}, // 0xb9
-      {0,1}, // 0xba
-      {0,0}, // 0xbb
-      {0,2}, // 0xbc
-      {0,0}, // 0xbd
-      {0,1}, // 0xbe
-      {0,0}, // 0xbf
-      {0,6}, // 0xc0
-      {0,0}, // 0xc1
-      {0,1}, // 0xc2
-      {0,0}, // 0xc3
-      {0,2}, // 0xc4
-      {0,0}, // 0xc5
-      {0,1}, // 0xc6
-      {0,0}, // 0xc7
-      {0,3}, // 0xc8
-      {0,0}, // 0xc9
-      {0,1}, // 0xca
-      {0,0}, // 0xcb
-      {0,2}, // 0xcc
-      {0,0}, // 0xcd
-      {0,1}, // 0xce
-      {0,0}, // 0xcf
-      {0,4}, // 0xd0
-      {0,0}, // 0xd1
-      {0,1}, // 0xd2
-      {0,0}, // 0xd3
-      {0,2}, // 0xd4
-      {0,0}, // 0xd5
-      {0,1}, // 0xd6
-      {0,0}, // 0xd7
-      {0,3}, // 0xd8
-      {0,0}, // 0xd9
-      {0,1}, // 0xda
-      {0,0}, // 0xdb
-      {0,2}, // 0xdc
-      {0,0}, // 0xdd
-      {0,1}, // 0xde
-      {0,0}, // 0xdf
-      {0,5}, // 0xe0
-      {0,0}, // 0xe1
-      {0,1}, // 0xe2
-      {0,0}, // 0xe3
-      {0,2}, // 0xe4
-      {0,0}, // 0xe5
-      {0,1}, // 0xe6
-      {0,0}, // 0xe7
-      {0,3}, // 0xe8
-      {0,0}, // 0xe9
-      {0,1}, // 0xea
-      {0,0}, // 0xeb
-      {0,2}, // 0xec
-      {0,0}, // 0xed
-      {0,1}, // 0xee
-      {0,0}, // 0xef
-      {0,4}, // 0xf0
-      {0,0}, // 0xf1
-      {0,1}, // 0xf2
-      {0,0}, // 0xf3
-      {0,2}, // 0xf4
-      {0,0}, // 0xf5
-      {0,1}, // 0xf6
-      {0,0}, // 0xf7
-      {0,3}, // 0xf8
-      {0,0}, // 0xf9
-      {0,1}, // 0xfa
-      {0,0}, // 0xfb
-      {0,2}, // 0xfc
-      {0,0}, // 0xfd
-      {0,1}, // 0xfe
-      {0,0}  // 0xff
-   } ;
-
-#endif
-
-/*************************************************************************/
--- a/fax/faxclientandserver/Group/FAXCLI.MMP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// faxcli.dll Fax client API 
-// 
-//
-
-/**
- @file
-*/
-
-target          faxcli.dll
-CAPABILITY      All -Tcb
-targettype      dll
-UID             0x1000008d 0x10003D47
-VENDORID        0x70000001
-SOURCEPATH      ../FAXCLI
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-userinclude     ../Inc
-userinclude     ../FAXCLI
-
-source          FAXCLI.CPP CFAXTSRC.CPP CFAXSET.CPP
-library         faxstrm.lib  euser.lib estor.lib etel.lib c32.lib efsrv.lib 
-library         commsdat.lib
-library faxio.lib
-DEBUGLIBRARY    comsdbgutil.lib
-
-start           wins
-baseaddress     0x44a00000
-end
-
-UNPAGED
--- a/fax/faxclientandserver/Group/FAXIO.MMP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// faxio.dll Fax encoding/decoding
-// 
-//
-
-/**
- @file
-*/
-
-TARGET        faxio.dll
-CAPABILITY All -Tcb
-TARGETTYPE    DLL
-
-UID    0x1000008d 0x10004F87
-VENDORID 0x70000001
-
-
-SOURCEPATH		../faxio
-SOURCE        FAXIO.CPP FAXHEAD.CPP
-
-USERINCLUDE   	../faxio
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-LIBRARY       euser.lib efsrv.lib
-
-START WINS
-BASEADDRESS   0x41e00000
-END
-
-UNPAGED
\ No newline at end of file
--- a/fax/faxclientandserver/Group/FAXSTB.MMP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-TARGET        	faxstb.dll
-CAPABILITY      CommDD PowerMgmt ReadDeviceData WriteDeviceData TrustedUI ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData 
-TARGETTYPE	DLL
-UID      	0x10004C89 0x10004C8A
-SOURCEPATH	../FAXSVR
-SOURCE	      	FAXSTUB.CPP
-
-USERINCLUDE   	../Inc
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-LIBRARY       	euser.lib
-DEBUGLIBRARY    comsdbgutil.lib
-
-UNPAGED
\ No newline at end of file
--- a/fax/faxclientandserver/Group/FAXSVR.MMP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// faxsvr.dll Fax server 
-// 
-//
-
-/**
- @file
-*/
-
-TARGET          faxsvr.dll
-CAPABILITY      CommDD PowerMgmt ReadDeviceData WriteDeviceData TrustedUI ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData 
-TARGETTYPE      dll
-UID             0x10004C89 0x10004C8A
-VENDORID        0x70000001
-SOURCEPATH      ../FAXSVR
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-USERINCLUDE     ../FAXSVR
-USERINCLUDE     ../Inc
-USERINCLUDE     ../../../telephonyserver/etelserverandcore/INC
-
-SOURCE          FAXSERV.CPP CFAXMDRV.CPP CFAXMODM.CPP
-SOURCE          CFAX1.CPP CFAX2.CPP CFAX20.CPP
-
-LIBRARY         euser.lib c32.lib efsrv.lib faxio.lib 
-LIBRARY etel.lib
-DEBUGLIBRARY    comsdbgutil.lib
-
-START           wins
-BASEADDRESS     0x44a00000
-END
-
-UNPAGED
--- a/fax/faxclientandserver/Group/Fax.iby	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#ifndef __FAX_ENGINE_IBY__
-#define __FAX_ENGINE_IBY__
-
-REM Fax Engine
-
-#ifdef SYMBIAN_EXCLUDE_FAX 
-REM The Following features are not included in this ROM:
-REM faxio.dll
-REM faxstrm.dll
-REM faxsvr.DLL
-REM faxcli.DLL
-#else
-file=ABI_DIR\BUILD_DIR\faxio.dll	SYSTEM_BINDIR\Faxio.dll 
-file=ABI_DIR\BUILD_DIR\faxstrm.dll	SYSTEM_BINDIR\Faxstrm.dll 
-file=ABI_DIR\BUILD_DIR\faxsvr.DLL	SYSTEM_BINDIR\FaxSvr.dll
-file=ABI_DIR\BUILD_DIR\faxcli.DLL	SYSTEM_BINDIR\FaxCli.dll
-#endif
-
-
-#endif
--- a/fax/faxclientandserver/Group/FaxIO.iby	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-//-- This is for backward compatibility with messaging's gtfaxmtm.iby only.
-//-- This file is supposed to be removed soon. And gtfaxmtm.iby will include <Fax.iby>
-//-- instead of this file.
-
-#ifndef __FAXIO_IBY__
-#define __FAXIO_IBY__
-
-#include <Fax.iby>
-
-#endif
--- a/fax/faxclientandserver/Group/bld.inf	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Toplevel build information for FAX engine
-// Fax Engine 
-// 
-//
-
-/**
- @file
-*/
-
-PRJ_EXPORTS
-
-//###### FaxIO 
-
-../faxio/CFAXIO.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(cfaxio.h)		
-../faxio/FAXHUFF.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(faxhuff.h)		
-
-
-//###### FaxStrm 
-
-../faxstrm/FAXSTORE.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(faxstore.h)
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../faxstrm/faxpageinfo.h  /epoc32/include/faxpageinfo.h
-#endif
-
-//###### FaxSvr 
-../FAXSVR/FAXSERV.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(faxserv.h)
-
-//###### Common fax headers
-
-../Inc/CFAX32.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(cfax32.h)
-../Inc/CFAX32.INL SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(cfax32.inl)
-../Inc/FAXSET.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(faxset.h)
-../Inc/FAXTSRC.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(faxtsrc.h)
-../Inc/FAXSTD.H SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(faxstd.h)
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../Inc/faxsettings.h /epoc32/include/faxsettings.h
-#endif
-
-../Inc/faxerr.ra		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(errors/generic/faxerr.ra)
-../Inc/faxerr.rls		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(errors/generic/faxerr.rls)
-
-//###### *.iby files 
-
-../Group/Fax.iby		/epoc32/rom/include/fax.iby
-
-
-PRJ_TESTEXPORTS
-
-../Test/TE_FAX/TE_Fax.iby           		/epoc32/rom/include/te_fax.iby
-../Test/TE_FAX/TE_Fax_9210_comm0.cfg		z:/testdata/configs/te_fax_9210_comm0.cfg
-../Test/TE_FAX/TE_Fax_9210_comm1.cfg		z:/testdata/configs/te_fax_9210_comm1.cfg
-../Test/TE_FAX/TE_Fax_9210_IR.cfg		z:/testdata/configs/te_fax_9210_ir.cfg
-../Test/TE_FAX/TE_Fax.ini			z:/testdata/configs/te_fax.ini
-../Test/TE_FAX/TE_Fax_Setup_Comm0.script  	z:/testdata/scripts/te_fax_setup_comm0.script
-../Test/TE_FAX/TE_Fax_Setup_Comm1.script  	z:/testdata/scripts/te_fax_setup_comm1.script
-../Test/TE_FAX/TE_Fax_Setup_IR.script           z:/testdata/scripts/te_fax_setup_ir.script
-../Test/TE_FAX/TE_Fax_Transmit_Comm0.script     z:/testdata/scripts/te_fax_transmit_comm0.script
-../Test/TE_FAX/TE_Fax_Transmit_Comm1.script     z:/testdata/scripts/te_fax_transmit_comm1.script
-../Test/TE_FAX/TE_Fax_Transmit_IR.script        z:/testdata/scripts/te_fax_transmit_ir.script
-../Test/TE_FAX/TE_Fax_Receive_Comm0.script      z:/testdata/scripts/te_fax_receive_comm0.script
-../Test/TE_FAX/TE_Fax_Receive_Comm1.script      z:/testdata/scripts/te_fax_receive_comm1.script
-../Test/TE_FAX/TE_Fax_Receive_IR.script         z:/testdata/scripts/te_fax_receive_ir.script
-../Test/TE_FAX/TE_Fax_No_Phone.script           z:/testdata/scripts/te_fax_no_phone.script
-../Test/TE_FAX/TE_Fax_Test.FAX			z:/testdata/data/te_fax_test.fax
-../Test/TE_FAX/TE_Fax_One.FAX			z:/testdata/data/te_fax_one.fax
-../Test/TE_FAX/TE_Fax_Two.FAX			z:/testdata/data/te_fax_two.fax
-../Test/TE_FAX/TE_Fax_Six.FAX			z:/testdata/data/te_fax_six.fax
-../Test/TE_FAX/TE_Fax_Blank.FAX			z:/testdata/data/te_fax_blank.fax
-../Test/TE_FAX/TE_Fax_BadPage.FAX		z:/testdata/data/te_fax_badpage.fax
-../Test/TE_FAX/TE_Fax_Chart4.FAX		z:/testdata/data/te_fax_chart4.fax
-
-PRJ_MMPFILES
-
-FAXIO.MMP	//-- Fax IO     [FaxIO.dll	]
-faxstrm.mmp //-- Fax Streams[FaxStrm.dll]
-FAXCLI.MMP	//-- Fax Client [faxcli.dll	]
-FAXSVR.MMP  //-- Fax Server [faxsvr.dll	]
-
-
-PRJ_TESTMMPFILES
-
-FAXSTB.MMP						support
-../Test/TE_FAX/TE_Fax.mmp
-
--- a/fax/faxclientandserver/Group/faxstrm.iby	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-//-- This is for backward compatibility with messaging's gtfaxmtm.iby only.
-//-- This file is supposed to be removed soon. And gtfaxmtm.iby will include <Fax.iby>
-//-- instead of this file
-
-#ifndef __FAXSTRM_IBY__
-#define __FAXSTRM_IBY__
-
-#include <Fax.iby>
-
-#endif
--- a/fax/faxclientandserver/Group/faxstrm.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// faxstrm.dll Fax streaming and storage
-// 
-//
-
-/**
- @file
-*/
-
-TARGET        faxstrm.dll
-CAPABILITY All -Tcb
-TARGETTYPE    DLL
-UID    0x1000008d 0x1000180a
-VENDORID 0x70000001
-
-SOURCEPATH		../faxstrm
-SOURCE        	FAXSTRM.CPP
-
-USERINCLUDE   	../faxstrm
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-library       	euser.lib efsrv.lib estor.lib faxio.lib
-
-START WINS
-	BASEADDRESS   0x7D460000
-END
-
-UNPAGED
-
--- a/fax/faxclientandserver/Group/telephony_fax.history.xml	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<relnotes name="Fax Client and Server">
-  <purpose>
-    Fax server side APIs and protocol stack, loaded (with Fax Client, its driver) by ETel Telephony Server, run as a thread within the Comms process. Drives the Fax Server, managing fax transmission and reception requests from potential application clients. Loaded (with Fax Server) by Etel.
-  </purpose>
-</relnotes>
--- a/fax/faxclientandserver/Group/telephony_fax.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-component	telephony_fax
-source	\sf\os\cellularsrv\fax\faxclientandserver
-binary	\sf\os\cellularsrv\fax\faxclientandserver\Group	all
-exports	\sf\os\cellularsrv\fax\faxclientandserver\Group
-notes_source	\component_defs\release.src
-
-
-ipr E 
-ipr T \sf\os\cellularsrv\fax\faxclientandserver\Test
-
--- a/fax/faxclientandserver/Inc/CFAX32.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Contents :  fax s/r header file
-// 
-//
-
-/**
- @file
-*/
-
-#ifndef __cfax32_h
-#define __cfax32_h
-
-/********************************************************************/
-
-/********************************************************************/
-
-// These are the other include files used when sending and receiving
-// faxes.  The order of inclusion should not be changed.  Unfortunately,
-// the design of the engine means that there's a very close coupling
-// between the various classes involved, and while each class doesn't
-// need to know how the other work, they all need to know what the others
-// have to offer.  The fax settings need to be accessible from modem for
-// autodetection to work, and since the modem handles the session log
-// and progress reporting, the the cfaxtransfersource and
-// cfaxmodemdriver classes need to be able know about that.  The inline
-// functions at the end of this faxtrans.h file clearly won't compile if
-// they don't know about cfaxtransfersource either. Ah well. So much for
-// neat modular encapsulation.
-
-
-#include <f32file.h>
-
-#include <c32comm.h>
-#include <s32file.h>
-#include <s32mem.h>
-
-#include <cdblen.h> 
-#include <faxstore.h>
-#include <faxdefn.h>
-
- #include <dial_consts.h>
-
-#include <etel.h>
-#include <faxtsrc.h>
-#include <faxset.h>
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <faxsettings.h>
-#endif
-#include <faxstd.h>
-
-/********************************************************************/
-
-// now the CFaxTransfer class
-
-
-//***************************** comment for 2D faxing****************************
-// The TFaxCompression parameter required by the AddSourceL() function is an enum type defined as 
-// enum TFaxCompression
-//		{
-//		Prefer1D,Prefer2D
-//		}
-// this enum is defined in faxtsrc.h
-
-/**
-@publishedPartner
-*/
-enum TFaxClientProgress
-	{
-	EProgressConverting,	// Fax Progress Information not yet available
-	EProgressRxTx			// Refer to Fax Progress Chunck for more detailed information
-	};
-
-/**
-Send or receive a fax
-
-Contains the public Fax Client API.
-
-The API includes a number of functions for setting up a fax, and then for 
-sending it. Functions to set up a fax allow the client to launch a fax client 
-session, set the fax mode, set the fax destination number, define the fax 
-pages to be sent, and declare a file in which received faxes are to be stored. 
-After setting up, the client can send, cancel and monitor the progress of 
-the fax. 
-
-This class is not intended for user derivation. 
-
-@publishedPartner
-@released
-*/
-class CFaxTransfer : public CBase
-	{
-public:
-	~CFaxTransfer ();							//< destructor
-	IMPORT_C static CFaxTransfer * NewL (const TFaxSettings &);
-	IMPORT_C static CFaxTransfer * NewLC (const TFaxSettings &);
-
-	IMPORT_C TInt Start (TRequestStatus &);		// starts the Fax Client thread		
-	IMPORT_C TInt Progress ();					// Gets the progress of the fax session (updates the global progress chunk
-	IMPORT_C void SetPhoneNumberL (TDesC8 &);	// sets the phone number to dial to
-	IMPORT_C void Cancel ();					// cancels the fax session
-	IMPORT_C void Stop ();						// calls Close() to the thread handle
-
-	IMPORT_C void AddSourceL (const TFileName &,TFaxPreferredCompression=Prefer1D);			// TFaxPreferredCompression can be 
-	IMPORT_C void AddSourceL (const TFileName &, TInt, TFaxPreferredCompression=Prefer1D);   // one of Prefer1D or Prefer2D
-	IMPORT_C void AddSourceL (const TFileName &, TInt, TInt, TFaxPreferredCompression=Prefer1D);	// use this function to 
-																			// indicate the fax document for sending
-	IMPORT_C void RemoveAllSources ();						// Remove all fax pages from the sent list
-	inline void SetReceiveFileName (const TFileName &);		// Set the name of the filename for fax reception
-	inline void SetMode (TFaxMode);
-	inline void SetPhoneNumber (TDesC8 &);
-	inline void SetCallObjectName(TDesC& aName);
-	TInt GetPhoneInfoForTsy(const TDes& aTsyName, RTelServer::TPhoneInfo& aPhoneInfo) const;
-	void GetPhoneModuleNameL(TDes& aModuleName) const;
-	void FaxReceiveL ();		
-	void FaxTransmitL ();
-
-	TFaxClientProgress iFaxClientProgress;
-	RTelServer iTelServer;
-	RLine iLine ;
-	RCall iCall ;
-	RPhone iPhone ;
-	RFax iFax ;
-	TBool iFaxStarted;
-	CFaxTransferSource * iSource;
-	TFaxMode iMode;
-
-	/** The fax progress. 
-	There are a number of data members with public access, 
-	however only the progress information variable is part 
-	of the public API.
-	*/
-	RFax::TProgress iProgress ;
-	RCall::TFaxSessionSettings iFaxSessionSettings;
-	TName iCallName;		
-
-protected:
-	RThread iDriverThread;						// fax client thread handle
-//	RThread iConverterThread;
-	CFaxTransfer();								// CFaxTransfer Constructor
-	TBool iConverting;							// flag used when preparing the 2D version of the fax document
-	TRequestStatus iTransferStatus ;			// status of the fax data transfer
-	TRequestStatus iClientCancel;				// status of the cancel request
-	TBuf8 < KMaxFaxBuf > iDataBuf;				// buffer to store 
-	TFaxSettings iFaxSettings;
-	TFileName iReceiveFileName ;				// only used when receiving
-	TBuf<KMaxDialString> iPhoneNumber ; 		// only used when dialling
-	void Convert2dL ();		// convert from 1D to 2D
-	void Convert1dL ();		// convert from 2D to 1D
-
-
-	TInt StartThread();
-	void ConstructL (const TFaxSettings &);
-	void CancelFaxServerSession ();
-	void SetFaxSettingsL();
-	void SetSharedFileHandlesL();
-	};
-
-#include <cfax32.inl>
-
-#endif
--- a/fax/faxclientandserver/Inc/CFAX32.INL	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
-*/
-
-#ifndef __cfax32_INL
-#define __cfax32_INL
-
-/********************************************************************/
-
-/** Sets the mode of operation during the fax session. 
-There are three possible transmission modes: 
-A standard fax machine style dial and transmit.
-An immediate transmit mode which is used if the phone is already off-hook on a voice call. 
-A polling mode, in which the fax is set up as an answering machine. It sends the fax on request when
-dialled by a remote modem.
-There are four possible reception modes:
-A standard fax machine style wait for a ring and receive.
-An immediate receive which is used if the phone is already off-hook on a voice call.
-A dial and receive mode in which the modem dials up in voice mode and then switches to immediate receive. 
-It is intended for use with faxback services which require users to dial manually and then press the start 
-button on their fax machine. The number of seconds between the voice mode dial and the switch to fax receive 
-mode is determined by TFaxSettings::iFaxOnDemandDelay.
-An automatic polling mode, in which the fax dials a remote answering machine, and requests it to send a fax.
-
-Notes:
-Some GSM networks do not allow switching between voice and fax or data modes, and hence cannot support the 
-immediate transmit and immediate receive modes. This includes all networks in the UK. 
-
-@param aMode  Type of fax operation for the current session. 
-
-@publishedPartner
-@released
-*/
-inline void CFaxTransfer::SetMode (TFaxMode aMode)
-	{
-	iMode = aMode;
-	}
-
-/** Sets the telephone number to be dialled when sending a fax. 
-This function does not check the validity of the number, which is simply sent to the modem 
-as part of an ATD dial command in its raw state.
-The alternative function SetPhoneNumberL() should be used to resolve the phone number according to
-the current location and country. One of these functions must be called before CFaxTransfer::Start()
-when a fax is to be sent. 
-
-@param aNumber  Descriptor containing the phone number to be dialled. 
-@publishedPartner
-@released
-*/
-inline void CFaxTransfer::SetPhoneNumber (TDesC8 & aNumber)
-	{
-	iPhoneNumber.Copy (aNumber);
-	}
-
-/**
-Sets the RCall object name to use when transfering a fax.  This method allows
-a client to use other ETel functionality to discover the incoming call name and
-then open it for its own use.  If this function is not used, the fax server will
-open a new RCall object to send or receive the Fax.
-
-@see RLine::NotifyIncomingCall()
-
-@param aName  Descriptor containing the RCall object name.
-@publishedPartner
-@released
-*/
-inline void CFaxTransfer::SetCallObjectName(TDesC& aName)
-	{
-	iCallName.Copy(aName);
-	}
-
-/**
-Specifies the name of the fax store file in which to save incoming pages.
-If the file already exists the previous contents are lost.
-
-@param aName  The name of a file in which to save received faxes.
-@publishedPartner
-@released 
-*/
-inline void CFaxTransfer::SetReceiveFileName (const TFileName & aName)
-	{
-	iReceiveFileName.Copy (aName);
-	}
-
-/********************************************************************/
-
-#endif
--- a/fax/faxclientandserver/Inc/FAXLOG.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#ifndef __FAXLOG_H
-#define __FAXLOG_H
-
-
-#include <comms-infras/commsdebugutility.h>
-
-//-------------------------------------------------------------------------------------------
-//
-//  some logging macros definition.
-//  Unfortunately it is necessarily to use static logging functions because 
-//  Fax client and server can not use the same logging object from their multiple threads
-//
-//-------------------------------------------------------------------------------------------
-
-#ifdef _DEBUG
-
-_LIT8(KFaxSubSystem,        "fax");      //-- Fax subsystem name for logging
-_LIT8(KFaxCliComponent,     "FaxCli");   //-- Fax Client component name for logging
-_LIT8(KFaxServerComponent,  "FaxSrv");   //-- Fax server component name for logging (CFaxSession class etc.)
-_LIT8(KFaxStubComponent,    "FaxStub");  //-- Fax server stub component
-
-
-//-- N.B. It's necessary to use static logging macros because FaxServer and FaxClient use 
-//-- logging from different threads.
-
-//-- logging macros for Fax Server
-#define __FLOG_FAXSRV(AAA)           __FLOG_STATIC0(KFaxSubSystem,KFaxServerComponent,(AAA))
-#define __FLOG_FAXSRV1(AAA,BBB)      __FLOG_STATIC1(KFaxSubSystem,KFaxServerComponent,(AAA),(BBB))
-#define __FLOG_FAXSRV2(AAA,BBB,CCC)  __FLOG_STATIC2(KFaxSubSystem,KFaxServerComponent,(AAA),(BBB),(CCC))
-                                     
-//-- logging macros for Fax Client
-#define __FLOG_FAXCLI(AAA)           __FLOG_STATIC0(KFaxSubSystem,KFaxCliComponent,(AAA))
-#define __FLOG_FAXCLI1(AAA,BBB)      __FLOG_STATIC1(KFaxSubSystem,KFaxCliComponent,(AAA),(BBB))
-#define __FLOG_FAXCLI2(AAA,BBB,CCC)  __FLOG_STATIC2(KFaxSubSystem,KFaxCliComponent,(AAA),(BBB),(CCC))
-
-//-- logging macros for Fax Stub
-#define __FLOG_FAXSTUB(AAA)          __FLOG_STATIC0(KFaxSubSystem,KFaxStubComponent,(AAA))
-#define __FLOG_FAXSTUB1(AAA,BBB)     __FLOG_STATIC1(KFaxSubSystem,KFaxStubComponent,(AAA),(BBB))
-#define __FLOG_FAXSTUB2(AAA,BBB,CCC) __FLOG_STATIC2(KFaxSubSystem,KFaxStubComponent,(AAA),(BBB),(CCC))
-
-#else  //_DEBUG
-
-#define __FLOG_FAXSRV(AAA)
-#define __FLOG_FAXSRV1(AAA,BBB)
-#define __FLOG_FAXSRV2(AAA,BBB,CCC)
-/**                                     
-logging macros for Fax Client
-@internalComponent
-*/
-#define __FLOG_FAXCLI(AAA)
-#define __FLOG_FAXCLI1(AAA,BBB)
-#define __FLOG_FAXCLI2(AAA,BBB,CCC)
-
-/**
-logging macros for Fax Stub
-@internalComponent
-*/
-#define __FLOG_FAXSTUB(AAA)
-#define __FLOG_FAXSTUB1(AAA,BBB)
-#define __FLOG_FAXSTUB2(AAA,BBB,CCC)
-
-
-#endif	//_DEBUG
-
-#endif  // __FAXLOG_H
--- a/fax/faxclientandserver/Inc/FAXSET.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Contents : for saving/restoring persistent fax settings
-// 
-//
-
-/**
- @file
-*/
-
-#ifndef __FAXSET_H
-#define __FAXSET_H
-
-#include <cdblen.h> 
-#include <cdbcols.h>
-
-#include <s32strm.h>
-#include <f32file.h>
-
-/********************************************************************/
-
-/**
-Fax configuration information.
-
-Contains persistent information applicable to all fax sessions. 
-
-@publishedPartner
-@released
-*/
-class TFaxSettings
-	{
-public:
-	IMPORT_C void ExternalizeL (RWriteStream &) const;
-	IMPORT_C void InternalizeL (RReadStream &);
-	IMPORT_C TFaxSettings& operator=(const TFaxSettings& aFaxSettings);
-	/** The local Fax ID string, which must be exactly 20 characters, with only 0-9, 
-	space, and + permissible for exact conformance with ITU T.30. */
-	TBuf8 < 20 > iFaxId ;
-	/** Maximum speed of fax session in bps. */
-	TInt iMaxSpeed;
-	/** Minimum speed of fax session in bps. */
-	TInt iMinSpeed;
-	/** Preferred resolution. */
-	TFaxResolution iPreferredResolution;
-	/** Preferred compression. */
-	TFaxCompression iPreferredCompression;
-	/** If 1, use error correction mode (ECM), else 0. */
-	TInt iPreferredECM;
-	/** Switches fax logging on or off. This must be left on. */
-	TInt iVerbose;
-	/** The delay between dialling and receiving from a faxback service (seconds). */
-	TInt iFaxOnDemandDelay ;
-	/** The fax class. */
-	TFaxClass iFaxClass;
-	};
-
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <faxsettings.h>
-#endif
-
-#endif
--- a/fax/faxclientandserver/Inc/FAXSTD.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,564 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @publishedPartner
-*/
-
-#if !defined(__FaxStd_H__)
-#define __FaxStd_H__
-
-// we start off with data constants
-
-// error codes
-
-/**
-Could not connect to the fax machine. The fax modem has failed. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrModemNotWorking = -101;    
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrCannotConnect = -102;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrCSIorCIG = -103;            
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrDISorDTC = -104;            
-
-/**
-The connection to the fax machine has been broken. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrFrameFail = -105;           
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrAtNegotiatedSpeed = -106;   
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrCFR = -107;                 
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrMCF = -108;                 
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrCRP = -109;                 
-
-/**
-Could not connect to the fax machine. Could not dial fax number. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoDial = -110;              
-
-/**
-Could not connect to the fax machine. No dial tone was detected. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoDialTone = -111;          
-
-/**
-Could not connect to the fax machine. The line is busy. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrBusy = -112;                
-
-/**
-Could not connect to the fax machine. The call was not answered. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoAnswer = -113;            
-
-/**
-Could not connect to the fax machine. The call was not answered by a fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoCarrier = -114;           
-
-/**
-Could not send to the fax machine. The fax machine is unable to receive faxes. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrRemoteCannotReceive = -115; 
-
-/**
-Panic. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrCompression = -116;         
-
-/**
-Panic. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrPageTooLong = -117;         
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrDCN = -118;                 
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrRemoteDCN = -119;           
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrHDLC = -120;                
-
-/**
-Panic. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrStopAndWait = -121;         
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrTrainStop = -122;           
-
-/**
-Could not send to the fax machine. The connection has timed out. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrReceiveTimeout = -123;      
-
-/**
-The connection to the fax machine has been broken. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrCannotEndData = -124;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrEOP = -125;                 
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrMPS = -126;                 
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoReceiveMode = -127;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrCannotAnswer = -128;        
-
-/**
-Could not receive fax. The fax machine ended the call. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrPrematureHangup = -129;     
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrModemResponse = -130;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrPrematureOK = -131;         
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoFinalOK = -132;           
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrUnknownPageCode = -133;     
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoHangup = -134;            
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrNoNegotiate = -135;         
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrModemDisconnect = -136;     
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrWrongModemType = -137;      
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxErrTrainFail = -138;           
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxTransmitterStalled = -139;     
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxReceiverOverflow = -140;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxCannotOpenPort = -141;         
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxCannotCloseStore = -142;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxCannotOpenStore = -143;        
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxThreadError = -144;            
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxFileSessionError = -145;       
-
-/**
-Could not connect to the fax machine.  Was KFaxFileCreateError till 7/10/97.
-@publishedPartner
-@released
-*/
-const TInt KFaxLogCreateError = -146;         
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxFileSeekError = -147;          
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxPDDError = -148;               
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxLDDError = -149;               
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxC32Error = -150;               
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxCommsServerError = -151;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxCommsPortError = -152;         
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxCancelRequested = -153;        
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxNoClass2Xon = -154;            
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxConfigError = -155;            
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxCannotAutodetect = -156;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KCannotFindFirstPage = -157;       
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxBadInitialization = -158;      
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxOnlyJustAutoDetected = -159;   
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxBelowMinSpeed = -160;          
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxPollingUnsupported = -161;     
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxNothingToPoll = -162;          
-
-/**
-Could not connect to the fax machine. 
-@publishedPartner
-@released
-*/
-const TInt KFaxEtelServerError = -163;        
-					
-/**
-standard communication bytes
-*/
-const TUint8 Knul = 0x00;
-const TUint8 Kdle = 0x10;
-const TUint8 Ketx = 0x03;
-const TUint8 Kbackspace = 0x08;
-const TUint8 Kreturn = 0x0d;
-const TUint8 Klinefeed = 0x0a;
-const TUint8 Kxon = 0x11;
-const TUint8 Kxoff = 0x13;
-const TUint8 Kdc2 = 0x12;
-const TUint8 Kcan = 0x18;
-
-/**
-apparent clock granularity
-*/
-const TInt CLK_TCK = 1000000;
-
-// maximum size of a descriptor for reading and writing T4 scan lines
-
-// the longest possible encoded scan line is alternating black and white dots
-// that's 8 bits, as single white dot = 00111 single black dot = 010
-// there's a maximum of 864 such pairs in a 1728 dot scan line
-// let's be generous and allow for eols and padding - 896
-// this is sufficient for faxes we generate ourselves
-
-// On the other hand, a scan line can take up to 5 seconds to transmit
-// At 14400 bps, it could contain 72000 bits = 9000 bytes
-// There could be internal line padding = alternate run lengths of zero)
-// So this bigger figure is needed for faxes which we receive via the line
-
-// we also use this when sending phase C data to the modem
-// we also use this when receiving phase C data from the modem
-const TInt KMaxT4Des = 896;
-const TInt KMaxFaxBuf ((KMaxT4Des + sizeof (TInt)) * 2);
-
-// base for sizing buffers
-//-- LYN-593JT3 defect fix by Dmitry Lyokhin. 16.04.02
-const TInt KBufSize = 2048; 
-
-/**
-Major version number.
-A version must be specified when creating a session with the server.
-*/
-const TUint KEtelFaxMajorVersionNumber = 1;
-/** Minor version number.
-A version must be specified when creating a session with the server.
-@publishedPartner
-*/
-const TUint KEtelFaxMinorVersionNumber = 0;
-/** Build version number. 
-A version must be specified when creating a session with the server.
-*/
-const TUint KEtelFaxVersionNumber = 601;
-
-IMPORT_C TInt StartThread ();
-
-
-/********************************************************************/
-
-// fax structures
-/********************************************************************/ 
-
-//The next enumerations are bitmapped, giving useful TFaxMode masks.
-const TUint KFaxReceive = 0x01;
-const TUint KFaxOffHook = 0x02;
-const TUint KFaxWaitForRing = 0x04;
-const TUint KFaxNoDial = 0x06;
-const TUint KFaxPoll = 0x08;
-
-/**
-Defines the seven fax session modes supported by the fax client.
-
-The enumerations do not progress from 0 to 6, as might be expected, but rather 
-as 0, 1, 2, 3, 4, 5, 9. 
-*/
-enum TFaxMode
-	{
-	/** Normal fax machine type send mode. */
-	EDialAndTransmit=0,				// this is a normal fax machine type send
-	/** Dial and receive fax back mode calling a fax on demand service. */
-	EDialAndReceiveFaxBack=1,  		// this dials a fax on demand service
-	/** Immediate transmit mode  for switching from voice to send. */
-	EImmediateTransmit=2,	  		// for switching from voice to send
-	/** Immediate receive mode for switching from voice to receive. */
-	EImmediateReceive=3,				// for switching from voice to receive
-	/** Ring and transmit mode for providing fax on demand. */
-	EWaitForRingAndTransmit=4, 		// this make us into a fax on demand 
-	/** Normal fax machine type receive mode. */
-	EWaitForRingAndReceive=5,		// this is a normal fax machine type receive
-	/** Fax polling mode */
-	EDialAndReceivePoll=9			// this is for fax polling
-	};
-
-#endif
--- a/fax/faxclientandserver/Inc/FAXTSRC.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Contents : for sending faxes from fax stores
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#ifndef __FAXTSRC_H
-#define __FAXTSRC_H
-
-/**
-@internalComponent
-*/
-enum TFaxPreferredCompression
-	{
-	Prefer1D, Prefer2D 
-	};
-
-
-/********************************************************************/
-
-/**
-@internalComponent
-*/
-class TFaxEntry
-	{
-public:
-	void InternalizeL (RReadStream &);
-	void ExternalizeL (RWriteStream &) const;
-
-	TInt iNameLength;
-	TFileName iFaxPageStore;
-	TInt iStartPage;
-	TInt iPageCount;
-	};
-
-/********************************************************************/
-
-/**
-@internalComponent
-*/
-class CFaxTransferSource : public CBase
-	{
-public:
-	static CFaxTransferSource * NewL ();
-	static CFaxTransferSource * NewLC ();
-	~CFaxTransferSource ();
-
-protected:
-	void ConstructL ();
-
-public:
-	IMPORT_C void AddSourceL (const TFileName &, TFaxPreferredCompression);
-	IMPORT_C void AddSourceL (const TFileName &, TInt, TFaxPreferredCompression);
-	IMPORT_C void AddSourceL (const TFileName &, TInt, TInt, TFaxPreferredCompression);
-	IMPORT_C void RemoveAllSources ();
-
-	void GetNextPageReadyL ();
-
-	void OpenFaxInL (const TDesC & aFileName);
-	void PagePrepare ();
-	void WriteFaxDataL (const TDesC8 & aBuffer);
-	void WritePageParmsL (TFaxBufSenderId & aSenderId);
-	void CloseFaxInStore ();
-
-	TInt OpenFaxOutL (const TDesC & aFileName); // returns the number of pages in the file
-	TInt NextPageFind ();
-	void ReadPageParmsL ();
-	void ReadFaxData (TDes8 & aBuffer);
-	void PreviousPageFindL ();
-	void CloseFaxStore ();
-
-	TInt iLines;                 // length of image in lines
-	TInt iResolu;                // resolution of image
-	TInt iCompression;           // type of compression
-	TInt iBitOrder;              // little or big endian ordering of bits in a byte
-	TInt iPage;                  // page number of image in fax
-
-	TStreamId iOurStreamID;
-	CBufSeg * iSources;
-	RBufReadStream iInstream;
-	RBufWriteStream iOutstream;
-
-	CWriteFaxFile * iWriteFaxFile;
-	CReadFaxFile * iReadFaxFile;
-
-	TInt iFaxListEntries;
-	TInt iSavedFaxListEntries;
-	TInt iFaxPages;
-	TInt iPageInCurrentFile;
-
-	TFaxPreferredCompression  iOurPreferredCompression;
-	TFaxEntry iOurFaxEntry;
-	};
-
-#endif // __FAXTSRC_H
--- a/fax/faxclientandserver/Inc/faxerr.ra	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <errors/generic/faxerr.rls>
-
-RESOURCE ARRAY r_error_res_fax_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_modem_not_working;			// -101
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -102
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -103
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -104
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_frame_fail;				// -105
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -106
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -107
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -108
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -109
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_dial;					// -110
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_dial_tone;				// -111
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_busy;						// -112
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_answer;					// -113
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_carrier;				// -114
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_remote_no_receive;			// -115
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -116
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -117
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -118
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -119
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -120
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -121
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -122
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_receive_timeout;			// -123
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_end;				// -124
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -125
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -126
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -127
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -128
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_premature_hangup;			// -129
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -130
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -131
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -132
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -133
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -134
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -135
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -136
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -137
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -138
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -139
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -140
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -141
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -142
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -143
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -144
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -145
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -146
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -147
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -148
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -149
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -150
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -151
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -152
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -153
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -154
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -155
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -156
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -157
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -158
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -159
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -160
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -161
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -162
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -163
-			}
-		};
-	}
-
-RESOURCE TBUF r_error_res_fax_modem_not_working		{ buf=STRING_r_error_res_fax_modem_not_working	; }
-RESOURCE TBUF r_error_res_fax_cannot_connect		{ buf=STRING_r_error_res_fax_cannot_connect	; }
-RESOURCE TBUF r_error_res_fax_frame_fail			{ buf=STRING_r_error_res_fax_frame_fail		; }
-RESOURCE TBUF r_error_res_fax_no_dial				{ buf=STRING_r_error_res_fax_no_dial			; }
-RESOURCE TBUF r_error_res_fax_no_dial_tone			{ buf=STRING_r_error_res_fax_no_dial_tone		; }
-RESOURCE TBUF r_error_res_fax_busy					{ buf=STRING_r_error_res_fax_busy				; }
-RESOURCE TBUF r_error_res_fax_no_answer				{ buf=STRING_r_error_res_fax_no_answer			; }
-RESOURCE TBUF r_error_res_fax_no_carrier			{ buf=STRING_r_error_res_fax_no_carrier		; }
-RESOURCE TBUF r_error_res_fax_remote_no_receive		{ buf=STRING_r_error_res_fax_remote_no_receive	; }
-RESOURCE TBUF r_error_res_fax_receive_timeout		{ buf=STRING_r_error_res_fax_receive_timeout	; }
-RESOURCE TBUF r_error_res_fax_cannot_end			{ buf=STRING_r_error_res_fax_cannot_end		; }
-RESOURCE TBUF r_error_res_fax_premature_hangup		{ buf=STRING_r_error_res_fax_premature_hangup	; }
--- a/fax/faxclientandserver/Inc/faxerr.rls	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-rls_string STRING_r_error_res_fax_modem_not_working	 "Could not connect to the fax machine. The fax modem has failed" 
-rls_string STRING_r_error_res_fax_cannot_connect	 "Could not connect to the fax machine." 
-rls_string STRING_r_error_res_fax_frame_fail		 "The connection to the fax machine has been broken." 
-rls_string STRING_r_error_res_fax_no_dial			 "Could not connect to the fax machine. Could not dial fax number" 
-rls_string STRING_r_error_res_fax_no_dial_tone		 "Could not connect to the fax machine. No dial tone was detected" 
-rls_string STRING_r_error_res_fax_busy				 "Could not connect to the fax machine. The line is busy" 
-rls_string STRING_r_error_res_fax_no_answer			 "Could not connect to the fax machine. The call was not answered" 
-rls_string STRING_r_error_res_fax_no_carrier		 "Could not connect to the fax machine. The call was not answered by a fax machine" 
-rls_string STRING_r_error_res_fax_remote_no_receive	 "Could not send to the fax machine. The fax machine is unable to receive faxes" 
-rls_string STRING_r_error_res_fax_receive_timeout	 "Could not send to the fax machine. The connection timed out" 
-rls_string STRING_r_error_res_fax_cannot_end		 "The connection to the fax machine has been broken" 
-rls_string STRING_r_error_res_fax_premature_hangup	 "Could not receive fax. The fax machine ended the call" 
--- a/fax/faxclientandserver/Inc/faxsettings.h	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-
-/**
- @file
- @internalComponent
- @released
-*/
-
-#if !defined(__FAXSETTINGS_H__)
-#define __FAXSETTINGS_H__
-
-/**
-@internalComponent
-*/
-
-/********************************************************************/
-
-// the CFaxSettings class
-
-/**
-@internalComponent
-*/
-class CFaxSettings : public CBase
-   {
-public:
-   static CFaxSettings * NewL ();
-   static CFaxSettings * NewLC ();
-   ~CFaxSettings ();
-   void ValidateAndSetClassL (TFaxSettings *);
-
-protected:
-   void ConstructL ();
- protected:
-   RFs iFileSession;
-   };
-
-/********************************************************************/
-#endif
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax.iby	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#ifndef __TE_FAX_IBY__
-#define __TE_FAX_IBY__
-
-#include <testexecute.iby>
-#include <testconfigfileparser.iby>
-#include <fax.iby>
-
-// TE_Fax Test harness EXE
-file=ABI_DIR\DEBUG_DIR\TE_Fax.exe		                                   SYSTEM_BINDIR\TE_Fax.exe
-
-// Scripts
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_Transmit_comm0.script   TestData\scripts\TE_Fax_Transmit_comm0.script
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_Transmit_comm1.script   TestData\scripts\TE_Fax_Transmit_comm1.script
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_Transmit_IR.script      TestData\scripts\TE_Fax_Transmit_IR.script
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_Receive_comm0.script    TestData\scripts\TE_Fax_Receive_comm0.script
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_Receive_comm1.script    TestData\scripts\TE_Fax_Receive_comm1.script
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_Receive_IR.script       TestData\scripts\TE_Fax_Receive_IR.script
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_No_Phone.script         TestData\scripts\TE_Fax_No_Phone.script
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_setup_comm0.script      TestData\scripts\TE_Fax_setup_comm0.script 
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_setup_comm1.script      TestData\scripts\TE_Fax_setup_comm1.script 
-data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_Fax_setup_IR.script         TestData\scripts\TE_Fax_setup_IR.script 
-data=EPOCROOT##epoc32\data\z\testdata\Configs\TE_Fax_9210_comm0.cfg          TestData\Configs\TE_Fax_9210_comm0.cfg
-data=EPOCROOT##epoc32\data\z\testdata\Configs\TE_Fax_9210_comm1.cfg          TestData\Configs\TE_Fax_9210_comm1.cfg
-data=EPOCROOT##epoc32\data\z\testdata\Configs\TE_Fax_9210_IR.cfg             TestData\Configs\TE_Fax_9210_IR.cfg
-data=EPOCROOT##epoc32\data\z\testdata\Configs\TE_Fax.ini                     TestData\Configs\TE_Fax.ini
-data=EPOCROOT##epoc32\data\z\TestData\Data\TE_Fax_Test.FAX                   TestData\Data\TE_Fax_Test.FAX
-data=EPOCROOT##epoc32\data\z\TestData\Data\TE_Fax_One.FAX                    TestData\Data\TE_Fax_One.FAX
-data=EPOCROOT##epoc32\data\z\TestData\Data\TE_Fax_Two.FAX                    TestData\Data\TE_Fax_Two.FAX
-data=EPOCROOT##epoc32\data\z\TestData\Data\TE_Fax_Six.FAX                    TestData\Data\TE_Fax_Six.FAX
-data=EPOCROOT##epoc32\data\z\TestData\Data\TE_Fax_Blank.FAX                  TestData\Data\TE_Fax_Blank.FAX
-data=EPOCROOT##epoc32\data\z\TestData\Data\TE_Fax_BadPage.FAX                TestData\Data\TE_Fax_BadPage.FAX
-data=EPOCROOT##epoc32\data\z\TestData\Data\TE_Fax_Chart4.FAX                 TestData\Data\TE_Fax_Chart4.FAX
-
-
-#endif
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax.ini	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-# Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-# Parameter configuration file for the TE_Fax test.
-# 
-#
-
-DestPhoneNumber: 123
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-TARGET        te_fax.exe
-CAPABILITY    ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData
-TARGETTYPE    exe
-UID           0x1000007A 0x102042BB
-VENDORID      0x70000001
-
-SOURCEPATH     .
-SOURCE         TE_FaxBase.cpp
-SOURCE         TE_FaxServer.cpp
-SOURCE         TE_FaxTest.cpp
-
-USERINCLUDE    ../../Inc 
-USERINCLUDE    .
-USERINCLUDE    ..
-
-OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-
-LIBRARY        faxcli.lib
-LIBRARY        faxio.lib
-LIBRARY        faxstrm.lib
-LIBRARY        euser.lib
-LIBRARY        etel.lib
-LIBRARY        etelmm.lib
-LIBRARY        efsrv.lib
-LIBRARY        testexecutelogclient.lib
-LIBRARY        testexecuteutils.lib
-LIBRARY        commsdat.lib
-
-
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_FaxBase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,490 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Telephony Fax Test base test code.
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#include "faxdefn.h"
-#include "fax_reversebytes.h"
-#include "FAXSET.H"
-#include "CFAX32.H"
-
-#include "TE_FaxBase.h"
-
- #include <commsdattypesv1_1.h>
-
- using namespace CommsDat;
-
-
-//
-// Constants...
-//
-const TInt KFaxTestLogPeriod = 5*1000000;
-_LIT(KTEFaxINIFileName, "Z:\\TestData\\Configs\\TE_Fax.INI");
-_LIT8(KTEFaxINIDestNumber, "DestPhoneNumber");
-
-
-/**
- *  Default constructor.
- */	
-CFaxTestStep::CFaxTestStep()
-	{
-	// NOP
-	} // CFaxTestStep::CFaxTestStep
-
-
-/**
- *  Default destructor.
- */	
-CFaxTestStep::~CFaxTestStep()
-	{
-	// NOP
-	} // CFaxTestStep::~CFaxTestStep
-
-
-/**
- *  Pre-amble function called before all tests.
- *
- *  @return Test verdict for this test.
- */	
-TVerdict CFaxTestStep::doTestStepPreambleL()
-	{
-	//
-	// Mark for memory leaks!!!
-	//
-	__UHEAP_MARK;
-
-	//
-	// Create an Active Scheduler...
-	//
-	iScheduler = new(ELeave) CActiveScheduler();
-	CActiveScheduler::Install(iScheduler);
-
-	return TestStepResult();
-	} // CFaxTestStep::doTestStepPreambleL
-
-
-/**
- *  Post-amble function called before all tests.
- *
- *  @return Test verdict for this test.
- */	
-TVerdict CFaxTestStep::doTestStepPostambleL()
-	{
-	delete iScheduler;
-	iScheduler = NULL;
-	
-	//
-	// Check the heap for memory leaks...
-	//
-	__UHEAP_MARKEND;
-
-	return TestStepResult();
-	} // CFaxTestStep::doTestStepPostambleL
-
-
-/**
- *  Initialise the Fax settings based on default values and CommDB settings.
- *
- *  @param aFaxSettings  Fax Settings stucture to initialise.
- */	
-void CFaxTestStep::ReadDestPhoneNumberFromIniFileL(TDes8& aPhoneNumber)
-	{
-	//
-	// Open the INI file...
-	//
-	RFs  fs;
-	RFile  file;
-	TInt  result;
-
-	result = fs.Connect();
-	TESTCHECKL(result, KErrNone);
-	CleanupClosePushL(fs);
-
-	result = file.Open(fs, KTEFaxINIFileName, EFileShareAny | EFileRead);
-	if (result != KErrNone)
-		{
-		INFO_PRINTF2(_L("Cannot load TE_Fax.ini file! (Error %d)"), result);
-		TESTCHECKL(result, KErrNone);
-		}
-	CleanupClosePushL(file);
-
-	//
-	// Get the file size and and then load the file into memory...
-	//
-	TInt  fileSize;
-
-	result = file.Size(fileSize);
-	TESTCHECKL(result, KErrNone);
-	TESTL(fileSize > 0);
-
-	HBufC8*  fileContents = HBufC8::NewLC(fileSize);
-	TPtr8  fileContentsPtr(fileContents->Des());
-
-	result = file.Read(0, fileContentsPtr);
-	TESTCHECKL(result, KErrNone);
-
-	//
-	// Parse the contents of the file...
-	//
-	TLex8  lexInput(fileContentsPtr);
-
-	while (!lexInput.Eos())
-		{
-		TPtrC8  token(lexInput.NextToken());
-		lexInput.SkipSpace();
-
-		if (token.Find(KTEFaxINIDestNumber) == KErrNone) 
-			{
-			lexInput.SkipSpaceAndMark();
-
-			TPtrC8  phoneNumberPtr(lexInput.NextToken());
-			TBuf<32>  phoneNumber;
-
-			phoneNumber.Copy(phoneNumberPtr);
-			INFO_PRINTF2(_L("Phone number read from INI file as \"%S\"."), &phoneNumber);
-
-			aPhoneNumber.Copy(phoneNumber);
-			}
-		}
-
-	//
-	// Done, clean up...
-	//
-	CleanupStack::PopAndDestroy(fileContents);
-	CleanupStack::PopAndDestroy(&file);
-	CleanupStack::PopAndDestroy(&fs);
-	} // CFaxTestStep::ReadDestPhoneNumberFromIniFileL
-
-
-/**
- *  Initialise the Fax settings based on default values and CommDB settings.
- *
- *  @param aFaxSettings  Fax Settings stucture to initialise.
- */	
-void CFaxTestStep::ReadFaxCommDBSettingsL(TFaxSettings& aFaxSettings)
-	{
-	INFO_PRINTF1(_L("Reading Fax settings from the CommDB."));
-
-	//
-	// Initialise the default values...
-	//
-	aFaxSettings.iFaxId.Zero();
-	aFaxSettings.iMaxSpeed             = 14400;
-	aFaxSettings.iMinSpeed             = 2400;
-	aFaxSettings.iPreferredResolution  = EFaxFine;
-	aFaxSettings.iPreferredCompression = EModifiedHuffman;
-	aFaxSettings.iPreferredECM         = EFalse;
-	aFaxSettings.iFaxOnDemandDelay     = 20;
-	aFaxSettings.iVerbose              = 1;
-
-	//
-	// Now we now read the Comm DB modem settings - we must have
-	// these to run...
-	//
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	//
-	// Read the currently selected connection preference and find preferred IAP...
-	//
-	TInt prefRank = 1;
-	
-	CCDConnectionPrefsRecord *connectionPrefs =
-		static_cast<CCDConnectionPrefsRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdConnectionPrefsRecord));
-	CleanupStack::PushL(connectionPrefs);
-	connectionPrefs->iRanking = prefRank;
-	connectionPrefs->iDirection = ECommDbConnectionDirectionOutgoing;
-	connectionPrefs->FindL(*db);
-	
-	// The following code is a temporary solution until an issue has been resolved in CommsDat
-	// start
-	CCDIAPRecord* tempPIapRecord =
-		static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
-	tempPIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	connectionPrefs->iDefaultIAP.iLinkedRecord = tempPIapRecord;
-	
-	CCDIAPRecord* pIapRecord = (CCDIAPRecord*)connectionPrefs->iDefaultIAP.iLinkedRecord;
-	pIapRecord->SetRecordId(connectionPrefs->iDefaultIAP);
-	pIapRecord->LoadL(*db);
-	
-	CCDBearerRecordBase* tempBearerRecord =
-		static_cast<CCDBearerRecordBase*>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
-	tempBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pIapRecord->iBearer.iLinkedRecord = tempBearerRecord;
-
-	CCDBearerRecordBase* pBearerRecord = (CCDBearerRecordBase*) pIapRecord->iBearer.iLinkedRecord;
-	pBearerRecord->SetRecordId(pIapRecord->iBearer);
-	pBearerRecord->LoadL(*db);
-	// end
-	
-	TUint32 iapId = pBearerRecord->iRecordTag;
-
-	//
-	// Get bearer number from IAP table, it is assumed bearer type will be a modem...
-	//
-	CMDBField<TUint32>* bearerField = new(ELeave) CMDBField<TUint32>(KCDTIdIAPBearer);
-	CleanupStack::PushL(bearerField);
-	bearerField->SetRecordId(iapId);
-	bearerField->LoadL(*db);
-	TUint32 modemId = *bearerField;
-	CleanupStack::PopAndDestroy(bearerField);
-	
-	//
-	// Get modem parameters...
-	//
-	CCDModemBearerRecord *modemRecord =
-		static_cast<CCDModemBearerRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
-	CleanupStack::PushL(modemRecord);
-	modemRecord->SetRecordId(modemId);
-	modemRecord->LoadL(*db);
-	iPortDriverName = modemRecord->iCsyName;
-	iCommPortName = modemRecord->iPortName;
-	iFaxInitString = modemRecord->iFaxInitString;
-	iModemInitString = modemRecord->iModemInitString;
-	
-	TUint32 faxClass;
-	faxClass = modemRecord->iFaxClassPref;
-	aFaxSettings.iFaxClass = (TFaxClass) faxClass;
-
-	CleanupStack::PopAndDestroy(3); // db, connectionPrefs, modemId
-	
-	} // CFaxTestStep::ReadFaxCommDBSettingsL
-
-
-/**
- *  Begin Fax Transfer.  We only launch it once the elements of
- *  session->iFaxSessionParameters are all set up.  We call it with a
- *  TRequestStatus and while waiting for the fax to end, we also display
- *  the status of the fax every second.
- *
- *  @param aFaxSession   Fax Session already in use.
- */	
-TInt CFaxTestStep::BeginFaxTransfer(CFaxTransfer* aFaxSession)
-	{
-	TRequestStatus  threadStatus;
-	TRequestStatus  timerStatus;
-	RTimer  timer;
-	TFaxPhase  lastPhase = ENotYetStarted;
-	TInt  result;
-
-	result = aFaxSession->Start(threadStatus);
-	if (result == KErrNone)
-		{
-		timer.CreateLocal ();
-		timer.After(timerStatus, KFaxTestLogPeriod);
-
-		for (;;)
-			{
-			User::WaitForRequest(timerStatus, threadStatus);
-			if (timerStatus != KRequestPending)
-				{
-				if (aFaxSession->Progress())
-					{
-					INFO_PRINTF1(_L("Cancelling - no progress!"));
-					aFaxSession->Cancel();
-					}
-				else
-					{
-					lastPhase = aFaxSession->iProgress.iPhase;
-					if (lastPhase != ENotYetStarted)
-						{
-						INFO_PRINTF6(_L("Phase %c Speed %d Resolution %d Compression %dD ECM %d"),
-									 aFaxSession->iProgress.iPhase,
-									 aFaxSession->iProgress.iSpeed,
-									 aFaxSession->iProgress.iResolution,
-									 aFaxSession->iProgress.iCompression+1,
-									 aFaxSession->iProgress.iECM);
-						INFO_PRINTF4(_L("Line %d Page %d Connected to \"%S\""),
-									 aFaxSession->iProgress.iLines,
-									 aFaxSession->iProgress.iPage,
-									 &aFaxSession->iProgress.iAnswerback);
-						}
-					timer.After(timerStatus, KFaxTestLogPeriod);
-					}
-				}
-			else if (threadStatus != KRequestPending)
-				{
-				aFaxSession->Stop();
-
-				timer.Cancel();
-				User::WaitForRequest(timerStatus);
-				timer.Close ();
-
-				result = threadStatus.Int();
-				break;
-				}
-			}
-		}
-
-	if (result == KFaxErrNoHangup)
-		{
-		//
-		// KFaxErrNoHangup is a phase E error and can be safely ignored.
-		//
-		result = KErrNone;
-		}
-
-	return (result);
-	} // CFaxTestStep::BeginFaxTransfer()
-
-
-void CFaxTestStep::GenerateHeaderFileL(TFaxSettings& aFaxSettings, const TUint8* aFont,
-									   TInt aWidth, TInt aHeight)
-{
-	TFaxHeaderInfo  faxHeader;
-
-	//
-	// Declare the font size...
-	//
-	faxHeader.iHeaderFontWidthInBytes  = aWidth;
-	faxHeader.iHeaderFontHeightInLines = aHeight;
-
-	//
-	// Work out the number of characters we can get in the scan line, so that we can
-	// create a modifiable buffer to hold the header line and fill it with spaces
-	//
-	TInt  charactersPerLine = KFaxBytesPerScanLine / faxHeader.iHeaderFontWidthInBytes;
-	HBufC8*  textBuff = HBufC8::New(charactersPerLine);
-	CleanupStack::PushL(textBuff);
-
-	if (!textBuff)
-		{
-		User::Leave (KErrNoMemory);
-		}
-
-	TPtr8  textLine = textBuff->Des();
-	textLine.Fill(' ', charactersPerLine);
-
-	//
-	// Work out the margin we leave on each side of the page in characters
-	// this is specified as 74 pixels in T.4.
-	//
-	TInt  margin = (74 / (8 * faxHeader.iHeaderFontWidthInBytes));
-
-	//
-	// THE FOLLOWING LAYOUT IS PURELY FOR TEST PURPOSES AND SHOULDN'T
-	// BE TAKEN TO BE A DEFINITIVE HEADER LAYOUT
-	//
-	//
-	// assume we have the date and time on the lefthand side as dd/mm/yyyy hh:mm
-	// 0000000001111111
-	// 1234567890123456
-	// fill in the separators
-	//
-	textLine.Replace(margin + 3, 1, _L8 ("/"));
-	textLine.Replace(margin + 6, 1, _L8 ("/"));
-	textLine.Replace(margin + 14, 1, _L8 (":"));
-
-	//
-	// Set up the offsets to the data...
-	//
-	faxHeader.iOffsetToDay    = margin + 1;
-	faxHeader.iOffsetToMonth  = margin + 4;
-	faxHeader.iOffsetToYear   = margin + 7;
-	faxHeader.iOffsetToHour   = margin + 12;
-	faxHeader.iOffsetToMinute = margin + 15;
-
-	//
-	// Assume we have the page info on the righthand side as pp/tt
-	// 54321
-	// fill in the separator
-	//
-	textLine.Replace(charactersPerLine - margin - 3, 1, _L8 ("/"));
-
-	//
-	// Set up the offsets to the data
-	//
-	faxHeader.iOffsetToTotalPages  = charactersPerLine - margin - 2;
-	faxHeader.iOffsetToCurrentPage = charactersPerLine - margin - 5;
-
-	//
-	// Fill the header line with appropriate information
-	//
-	textLine.Replace(faxHeader.iOffsetToMinute + 4, aFaxSettings.iFaxId.Length (),
-					 aFaxSettings.iFaxId);
-
-	//
-	// HEADER LAYOUT NOW FINISHED
-	//
-	// Now we can write the fax header info to the header info file
-	//
-	CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	CleanupStack::PushL(testheader);
-
-	testheader->WriteFaxHeaderInfoL(faxHeader);
-
-	//
-	// Now we generate the scan line and write the header line bitmap
-	// via a loop for each rowInFont in the font.
-	//
-	TInt rowInFont;
-
-	for (rowInFont = 0;  rowInFont < faxHeader.iHeaderFontHeightInLines;  rowInFont++)
-		{
-		TRawScanLine  image;
-
-		image.SetMax ();
-		image.FillZ ();
-		
-		TInt offsetInImage = 0;
-
-		for (TInt characterPosition = 0;  characterPosition < charactersPerLine;  characterPosition++)
-			{
-			for (TInt fontByte = 0;  fontByte < faxHeader.iHeaderFontWidthInBytes;  fontByte++)
-				{
-				image[offsetInImage++] = (TUint8) ~ KReverseByte[*(aFont + ((textLine[characterPosition] - 32) * faxHeader.iHeaderFontHeightInLines * faxHeader.iHeaderFontWidthInBytes) + (rowInFont * faxHeader.iHeaderFontWidthInBytes) + fontByte)];
-				}
-			}
-		testheader->WriteRawHeaderLineL(rowInFont, image);
-		}
-
-	//
-	// Now we replace the first ten characters in the header text line with digits
-	// and write out the font line...
-	//
-	textLine.Replace(0, 10, _L8 ("0123456789"));	
-
-	for (rowInFont = 0;  rowInFont < faxHeader.iHeaderFontHeightInLines;  rowInFont++)
-		{
-		TRawScanLine image;
-
-		image.SetMax ();
-		image.FillZ ();
-
-		TInt offsetInImage = 0;
-
-		for (TInt characterPosition = 0;  characterPosition < charactersPerLine;  characterPosition++)
-			{
-			for (TInt fontByte = 0;  fontByte < faxHeader.iHeaderFontWidthInBytes;  fontByte++)
-				{
-				image[offsetInImage++] = (TUint8) ~ KReverseByte[*(aFont + ((textLine[characterPosition] - 32) * faxHeader.iHeaderFontHeightInLines * faxHeader.iHeaderFontWidthInBytes) + (rowInFont * faxHeader.iHeaderFontWidthInBytes) + fontByte)];
-				}
-			}
-		testheader->WriteRawFontLineL(rowInFont, image);
-		}
-
-	CleanupStack::PopAndDestroy(testheader);
-	CleanupStack::PopAndDestroy(textBuff);
-	} // CFaxTestStep::GenerateHeaderFileL
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_FaxBase.h	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,424 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Telephony Fax Test base header file.
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#ifndef _TE_FAXBASE_H_
-#define _TE_FAXBASE_H_
-
-#include <testconfigfileparser.h>
-#include <test/testexecuteserverbase.h>
-
-
-//
-// Test macros
-//
-#define TESTCHECKL(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    INFO_PRINTF3(_L("Failed: Got %d while expecting %d."),a,b); \
-        SetTestStepResult(EFail); \
-        User::Leave(EFail); \
-        } \
-    }
-
-#define TESTCHECKCONDITIONL(a) \
-    { \
-    if (!(a)) \
-	    { \
-	    INFO_PRINTF1(_L("Failed: Condition was false.")); \
-        SetTestStepResult(EFail); \
-        User::Leave(EFail); \
-        } \
-    }
-    
-#define TESTCHECKSTRL(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    TBuf<255> temp = a ; \
-	    INFO_PRINTF3(_L("Failed: Got \"%S\" while expecting \"%S\"."), &temp,&(b)); \
-        SetTestStepResult(EFail); \
-        User::Leave(EFail); \
-        } \
-    }
-    
-#define TESTCHECK(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    INFO_PRINTF3(_L("Failed: Got %d while expecting %d."),a,b); \
-        SetTestStepResult(EFail); \
-        } \
-    }
-
-#define TESTCHECKCONDITION(a) \
-    { \
-    if (!(a)) \
-	    { \
-	    INFO_PRINTF1(_L("Failed: Condition was false.")); \
-        SetTestStepResult(EFail); \
-        } \
-    }
-    
-#define TESTCHECKSTR(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    INFO_PRINTF3(_L("Failed: Got \"%S\" while expecting \"%S\"."), &(a),&(b)); \
-        SetTestStepResult(EFail); \
-        } \
-    }
-
-
-//
-// Test font data containing an 8 bit wide font, a 16 bit wide font and a 24 bit wide font
-// for testing out header digitization.
-//
-// 8x16 256 font table for generating fax headers.
-// The only characters included are those from 32 to 128.
-//
-const TUint8 font8x16[][16] =
-   {
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // ' '
-   {0x00, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00},    // '!'
-   {0x00, 0x24, 0x24, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '"'
-   {0x00, 0x42, 0x42, 0x42, 0xFF, 0x42, 0x42, 0x42, 0xFF, 0x42, 0x42, 0x42, 0x00, 0x00, 0x00, 0x00},    // '#'
-   {0x00, 0x10, 0x7E, 0x90, 0x90, 0x90, 0x7C, 0x12, 0x12, 0x12, 0xFC, 0x10, 0x00, 0x00, 0x00, 0x00},    // '$'
-   {0x00, 0x00, 0x61, 0x91, 0x92, 0x64, 0x08, 0x10, 0x26, 0x49, 0x89, 0x86, 0x00, 0x00, 0x00, 0x00},    // '%'
-   {0x00, 0x70, 0x88, 0x88, 0x88, 0x50, 0x60, 0x91, 0x8A, 0x84, 0x4A, 0x31, 0x00, 0x00, 0x00, 0x00},    // '&'
-   {0x00, 0x18, 0x18, 0x10, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '''
-   {0x00, 0x06, 0x18, 0x20, 0x40, 0x40, 0x40, 0x40, 0x40, 0x20, 0x18, 0x06, 0x00, 0x00, 0x00, 0x00},    // '('
-   {0x00, 0x60, 0x18, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00},    // ')'
-   {0x00, 0x00, 0x10, 0x92, 0x54, 0x38, 0xFE, 0x38, 0x54, 0x92, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00},    // '*'
-   {0x00, 0x00, 0x00, 0x10, 0x10, 0x10, 0xFE, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '+'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x10, 0x20, 0x00, 0x00},    // ','
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '-'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},    // '.'
-   {0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00},    // '/'
-   {0x00, 0x3C, 0x42, 0x83, 0x85, 0x89, 0x91, 0xA1, 0xC1, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // '0'
-   {0x00, 0x10, 0x30, 0x50, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x00, 0x00, 0x00, 0x00},    // '1'
-   {0x00, 0x3C, 0x42, 0x81, 0x01, 0x02, 0x3C, 0x40, 0x80, 0x80, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00},    // '2'
-   {0x00, 0x3C, 0x42, 0x81, 0x01, 0x02, 0x3C, 0x02, 0x01, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // '3'
-   {0x00, 0x02, 0x06, 0x0A, 0x12, 0x22, 0x42, 0x82, 0xFF, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00},    // '4'
-   {0x00, 0xFF, 0x80, 0x80, 0x80, 0xFC, 0x02, 0x01, 0x01, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // '5'
-   {0x00, 0x3C, 0x42, 0x81, 0x80, 0xBC, 0xC2, 0x81, 0x81, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // '6'
-   {0x00, 0xFF, 0x81, 0x01, 0x02, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00},    // '7'
-   {0x00, 0x3C, 0x42, 0x81, 0x81, 0x42, 0x3C, 0x42, 0x81, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // '8'
-   {0x00, 0x3C, 0x42, 0x81, 0x81, 0x43, 0x3D, 0x01, 0x01, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // '9'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},    // ':'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x10, 0x20, 0x00, 0x00},    // ';'
-   {0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00},    // '<'
-   {0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '='
-   {0x00, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00},    // '>'
-   {0x00, 0x38, 0x44, 0x82, 0x82, 0x04, 0x08, 0x10, 0x10, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00},    // '?'
-   {0x00, 0x3C, 0x42, 0x81, 0x99, 0xA5, 0xA5, 0xA5, 0x9E, 0x80, 0x41, 0x3E, 0x00, 0x00, 0x00, 0x00},    // '@'
-   {0x00, 0x18, 0x24, 0x42, 0x81, 0x81, 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'A'
-   {0x00, 0xFC, 0x42, 0x41, 0x41, 0x42, 0x7C, 0x42, 0x41, 0x41, 0x42, 0xFC, 0x00, 0x00, 0x00, 0x00},    // 'B'
-   {0x00, 0x3C, 0x42, 0x81, 0x81, 0x80, 0x80, 0x80, 0x80, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // 'C'
-   {0x00, 0xFC, 0x42, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x42, 0xFC, 0x00, 0x00, 0x00, 0x00},    // 'D'
-   {0x00, 0xFF, 0x80, 0x80, 0x80, 0x80, 0xFC, 0x80, 0x80, 0x80, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00},    // 'E'
-   {0x00, 0xFF, 0x80, 0x80, 0x80, 0x80, 0xFC, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00},    // 'F'
-   {0x00, 0x3C, 0x42, 0x81, 0x81, 0x80, 0x9F, 0x81, 0x81, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // 'G'
-   {0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0xFF, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'H'
-   {0x00, 0x38, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x38, 0x00, 0x00, 0x00, 0x00},    // 'I'
-   {0x00, 0x07, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x82, 0x44, 0x38, 0x00, 0x00, 0x00, 0x00},    // 'J'
-   {0x00, 0x81, 0x82, 0x84, 0x88, 0x90, 0xE0, 0x90, 0x88, 0x84, 0x82, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'K'
-   {0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00},    // 'L'
-   {0x00, 0x81, 0xC3, 0xA5, 0x99, 0x99, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'M'
-   {0x00, 0x81, 0xC1, 0xA1, 0x91, 0x89, 0x85, 0x83, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'N'
-   {0x00, 0x3C, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // 'O'
-   {0x00, 0xFC, 0x82, 0x81, 0x81, 0x82, 0xFC, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00},    // 'P'
-   {0x00, 0x3C, 0x42, 0x81, 0x81, 0x81, 0x81, 0x81, 0x89, 0x85, 0x42, 0x3D, 0x00, 0x00, 0x00, 0x00},    // 'Q'
-   {0x00, 0xFC, 0x82, 0x81, 0x81, 0x82, 0xFC, 0x90, 0x88, 0x84, 0x82, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'R'
-   {0x00, 0x3C, 0x42, 0x81, 0x80, 0x40, 0x3C, 0x02, 0x01, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // 'S'
-   {0x00, 0xFE, 0x92, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00},    // 'T'
-   {0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // 'U'
-   {0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x42, 0x42, 0x24, 0x24, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00},    // 'V'
-   {0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x99, 0x99, 0xA5, 0xA5, 0x42, 0x00, 0x00, 0x00, 0x00},    // 'W'
-   {0x00, 0x81, 0x81, 0x81, 0x42, 0x24, 0x18, 0x24, 0x42, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'X'
-   {0x00, 0x82, 0x82, 0x82, 0x82, 0x44, 0x28, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00},    // 'Y'
-   {0x00, 0xFF, 0x01, 0x01, 0x02, 0x04, 0x18, 0x20, 0x40, 0x80, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00},    // 'Z'
-   {0x00, 0x7E, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x7E, 0x00, 0x00, 0x00, 0x00},    // '['
-   {0x00, 0x00, 0x80, 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00},    // '\'
-   {0x00, 0x7E, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x7E, 0x00, 0x00, 0x00, 0x00},    // ']'
-   {0x00, 0x18, 0x24, 0x42, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '^'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00},    // '_'
-   {0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '`'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x02, 0x02, 0x7E, 0x82, 0x82, 0x7D, 0x00, 0x00, 0x00, 0x00},    // 'a'
-   {0x00, 0x80, 0x80, 0x80, 0x80, 0xBC, 0xC2, 0x81, 0x81, 0x81, 0xC2, 0xBC, 0x00, 0x00, 0x00, 0x00},    // 'b'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x80, 0x80, 0x80, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // 'c'
-   {0x00, 0x01, 0x01, 0x01, 0x01, 0x3D, 0x43, 0x81, 0x81, 0x81, 0x43, 0x3D, 0x00, 0x00, 0x00, 0x00},    // 'd'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x81, 0xFF, 0x80, 0x40, 0x3E, 0x00, 0x00, 0x00, 0x00},    // 'e'
-   {0x00, 0x0E, 0x11, 0x10, 0x10, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00},    // 'f'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x43, 0x81, 0x81, 0x43, 0x3D, 0x01, 0x02, 0x7C, 0x00, 0x00},    // 'g'
-   {0x00, 0x80, 0x80, 0x80, 0x80, 0xBC, 0xC2, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'h'
-   {0x00, 0x00, 0x08, 0x08, 0x00, 0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x00},    // 'i'
-   {0x00, 0x00, 0x02, 0x02, 0x00, 0x06, 0x02, 0x02, 0x02, 0x02, 0x02, 0x82, 0x44, 0x38, 0x00, 0x00},    // 'j'
-   {0x00, 0x80, 0x80, 0x80, 0x80, 0x82, 0x84, 0x88, 0x90, 0xA8, 0xC4, 0x82, 0x00, 0x00, 0x00, 0x00},    // 'k'
-   {0x38, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x3E, 0x00, 0x00, 0x00, 0x00},    // 'l'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x92, 0x92, 0x92, 0x92, 0x92, 0x92, 0x00, 0x00, 0x00, 0x00},    // 'm'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0xC4, 0x82, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00, 0x00},    // 'n'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x42, 0x81, 0x81, 0x81, 0x42, 0x3C, 0x00, 0x00, 0x00, 0x00},    // 'o'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0xBC, 0xC2, 0x81, 0x81, 0x81, 0xC2, 0xBC, 0x80, 0x80, 0x00, 0x00},    // 'p'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x3D, 0x43, 0x81, 0x81, 0x81, 0x43, 0x3D, 0x01, 0x01, 0x00, 0x00},    // 'q'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xC1, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00},    // 'r'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x81, 0x80, 0x7E, 0x01, 0x81, 0x7E, 0x00, 0x00, 0x00, 0x00},    // 's'
-   {0x10, 0x10, 0x10, 0x10, 0x10, 0xFE, 0x10, 0x10, 0x10, 0x10, 0x11, 0x0E, 0x00, 0x00, 0x00, 0x00},    // 't'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x43, 0x3D, 0x00, 0x00, 0x00, 0x00},    // 'u'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x42, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00},    // 'v'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x82, 0x92, 0x92, 0x92, 0xAA, 0x44, 0x00, 0x00, 0x00, 0x00},    // 'w'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x42, 0x24, 0x18, 0x24, 0x42, 0x81, 0x00, 0x00, 0x00, 0x00},    // 'x'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x43, 0x3D, 0x01, 0x02, 0x7C, 0x00, 0x00},    // 'y'
-   {0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x02, 0x04, 0x18, 0x20, 0x40, 0xFF, 0x00, 0x00, 0x00, 0x00},    // 'z'
-   {0x00, 0x04, 0x08, 0x10, 0x10, 0x10, 0x20, 0x10, 0x10, 0x10, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00},    // '{'
-   {0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00},    // '|'
-   {0x00, 0x40, 0x20, 0x10, 0x10, 0x10, 0x08, 0x10, 0x10, 0x10, 0x20, 0x40, 0x00, 0x00, 0x00, 0x00},    // '}'
-   {0x00, 0x00, 0x70, 0x99, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},    // '~'
-   {0x00, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x36, 0x63, 0x63, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}     // 128
-   };
-
-const TUint8 font16x16[][32] =
-   {
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ' '
-	{0x00,0x00,0x00,0x00,0x03,0xc0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '!'
-	{0x00,0x00,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0c,0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '"'
-	{0x00,0x00,0x00,0x00,0x0f,0x3c,0x0f,0x3c,0x3f,0xff,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x3f,0xff,0x0f,0x3c,0x0f,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '#'
-	{0x00,0xf0,0x00,0xf0,0x0f,0xfc,0x3c,0x0f,0x3c,0x03,0x3c,0x00,0x0f,0xfc,0x00,0x0f,0x30,0x0f,0x3c,0x0f,0x0f,0xfc,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00},    // '$'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x03,0x3c,0x0f,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x0f,0x0f,0x3c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '%'
-	{0x00,0x00,0x00,0x00,0x03,0xf0,0x0f,0x3c,0x0f,0x3c,0x03,0xf0,0x0f,0xcf,0x3c,0xfc,0x3c,0x3c,0x3c,0x3c,0x0f,0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '&'
-	{0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '''
-	{0x00,0x00,0x00,0x00,0x00,0xf0,0x03,0xc0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x03,0xc0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '('
-	{0x00,0x00,0x00,0x00,0x03,0xc0,0x00,0xf0,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ')'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x0f,0xf0,0xff,0xff,0x0f,0xf0,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '*'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0xff,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '+'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ','
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '-'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '.'
-	{0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x0f,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x0f,0x00,0x3c,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '/'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x3f,0x3c,0xff,0x3f,0xcf,0x3f,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '0'
-	{0x00,0x00,0x00,0x00,0x00,0xf0,0x03,0xf0,0x0f,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '1'
-	{0x00,0x00,0x00,0x00,0x3f,0xfc,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x0f,0x00,0x3c,0x00,0x3f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '2'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x03,0xfc,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '3'
-	{0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0xfc,0x03,0xfc,0x0f,0x3c,0x3c,0x3c,0x3f,0xff,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '4'
-	{0x00,0x00,0x00,0x00,0x3f,0xff,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3f,0xfc,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '5'
-	{0x00,0x00,0x00,0x00,0x03,0xf0,0x0f,0x00,0x3c,0x00,0x3c,0x00,0x3f,0xfc,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '6'
-	{0x00,0x00,0x00,0x00,0x3f,0xff,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '7'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '8'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xff,0x00,0x0f,0x00,0x0f,0x00,0x3c,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '9'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ':'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ';'
-	{0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x0f,0x00,0x3c,0x00,0x0f,0x00,0x03,0xc0,0x00,0xf0,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '<'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xfc,0x00,0x00,0x00,0x00,0x3f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '='
-	{0x00,0x00,0x00,0x00,0x3c,0x00,0x0f,0x00,0x03,0xc0,0x00,0xf0,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x0f,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '>'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x00,0x3c,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '?'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0x3c,0xff,0x3c,0xff,0x3c,0xfc,0x3c,0x00,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '@'
-	{0x00,0x00,0x00,0x00,0x00,0xc0,0x03,0xf0,0x0f,0x3c,0x3c,0x0f,0x3c,0x0f,0x3f,0xff,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'A'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0xfc,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'B'
-	{0x00,0x00,0x00,0x00,0x03,0xfc,0x0f,0x0f,0x3c,0x03,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x03,0x0f,0x0f,0x03,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'C'
-	{0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0x3c,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x3c,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'D'
-	{0x00,0x00,0x00,0x00,0x0f,0xff,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0xfc,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'E'
-	{0x00,0x00,0x00,0x00,0x0f,0xff,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0xfc,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'F'
-	{0x00,0x00,0x00,0x00,0x03,0xfc,0x0f,0x0f,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0xff,0x3c,0x0f,0x0f,0x0f,0x03,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'G'
-	{0x00,0x00,0x00,0x00,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3f,0xff,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'H'
-	{0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'I'
-	{0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'J'
-	{0x00,0x00,0x00,0x00,0x0f,0x0f,0x0f,0x0f,0x0f,0x3c,0x0f,0x3c,0x0f,0xf0,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'K'
-	{0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'L'
-	{0x00,0x00,0x00,0x00,0xf0,0x0f,0xfc,0x3f,0xff,0xff,0xf3,0xcf,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'M'
-	{0x00,0x00,0x00,0x00,0x3c,0x0f,0x3f,0x0f,0x3f,0xcf,0x3f,0xff,0x3c,0xff,0x3c,0x3f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'N'
-	{0x00,0x00,0x00,0x00,0x03,0xf0,0x0f,0x3c,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0x3c,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'O'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0xfc,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'P'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0xff,0x0f,0xfc,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'Q'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0xfc,0x0f,0x3c,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'R'
-	{0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x0f,0x00,0x03,0xf0,0x00,0x3c,0x3c,0x0f,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'S'
-	{0x00,0x00,0x00,0x00,0xff,0xff,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'T'
-	{0x00,0x00,0x00,0x00,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'U'
-	{0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x0f,0xf0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'V'
-	{0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0xf3,0xcf,0xff,0xff,0x3c,0x3c,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'W'
-	{0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x0f,0xf0,0x03,0xc0,0x0f,0xf0,0x3c,0x3c,0xf0,0x0f,0xf0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'X'
-	{0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x0f,0xf0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'Y'
-	{0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x0f,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x0f,0x00,0x3c,0x00,0xf0,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'Z'
-	{0x00,0x00,0x00,0x00,0x0f,0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '['
-	{0x00,0x00,0x00,0x00,0x30,0x00,0x3c,0x00,0x3f,0x00,0x0f,0xc0,0x03,0xf0,0x00,0xfc,0x00,0x3f,0x00,0x0f,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '\'
-	{0x00,0x00,0x00,0x00,0x0f,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ']'
-	{0x00,0xc0,0x03,0xf0,0x0f,0x3c,0x3c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '^'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00},    // '_'
-	{0x03,0xc0,0x03,0xc0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '`'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf0,0x00,0x3c,0x0f,0xfc,0x3c,0x3c,0x3c,0x3c,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'a'
-	{0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0xf0,0x0f,0x3c,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x3c,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'b'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x00,0x3c,0x00,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'c'
-	{0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x03,0xfc,0x0f,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f,0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'd'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3f,0xff,0x3c,0x00,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'e'
-	{0x00,0x00,0x00,0x00,0x03,0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x3f,0xf0,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'f'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xcf,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f,0xfc,0x00,0x3c,0x00,0x3c,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00},    // 'g'
-	{0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x3c,0x0f,0xcf,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'h'
-	{0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'i'
-	{0x00,0x00,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x0f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'j'
-	{0x00,0x00,0x00,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x0f,0x0f,0x0f,0x3c,0x0f,0xf0,0x0f,0x3c,0x0f,0x0f,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'k'
-	{0x00,0x00,0x00,0x00,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'l'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x3c,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0xf3,0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'm'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0xfc,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'n'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'o'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0xfc,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0xfc,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'p'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xcf,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f,0xfc,0x00,0x3c,0x00,0x3c,0x00,0x3c,0x00,0x00,0x00,0x00,0x00,0x00},    // 'q'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0xfc,0x0f,0x0f,0x0f,0x0f,0x0f,0x00,0x0f,0x00,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'r'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xfc,0x3c,0x0f,0x0f,0xc0,0x00,0xfc,0x3c,0x0f,0x0f,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 's'
-	{0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 't'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x3c,0x0f,0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'u'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0xf0,0x0f,0x3c,0x3c,0x0f,0xf0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'v'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x0f,0xf0,0x0f,0xf3,0xcf,0xf3,0xcf,0x3f,0xfc,0x3c,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'w'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x0f,0x0f,0x3c,0x03,0xf0,0x03,0xf0,0x0f,0x3c,0x3c,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'x'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x3c,0x0f,0x0f,0xff,0x00,0x0f,0x00,0x3c,0x00,0xf0,0x00,0x00,0x00,0x00,0x00,0x00},    // 'y'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0xff,0x00,0x3c,0x00,0xf0,0x03,0xc0,0x0f,0x00,0x3f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'z'
-	{0x00,0x00,0x00,0x00,0x00,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '{'
-	{0x00,0x00,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '|'
-	{0x00,0x00,0x00,0x00,0x3f,0x00,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x03,0xfc,0x03,0xc0,0x03,0xc0,0x03,0xc0,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '}'
-	{0x00,0x00,0x00,0x00,0x0f,0xcf,0x3c,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '~'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x03,0xf0,0x0f,0x3c,0x3c,0x0f,0x3c,0x0f,0x3f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}    // 128
-   };
-
-const TUint8 font24x16[][48] =
-   {
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ' '
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '!'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xf1,0xff,0x1f,0x81,0xf8,0xfc,0x0f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '"'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0xff,0xff,0xf8,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0xff,0xff,0xf8,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '#'
-	{0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x70,0x00,0x1f,0xff,0xc0,0xfc,0x71,0xf8,0xfc,0x70,0x00,0xfc,0x70,0x00,0x1f,0xff,0xc0,0x00,0x71,0xf8,0x00,0x71,0xf8,0xfc,0x71,0xf8,0x1f,0xff,0xc0,0x00,0x70,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '$'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xc0,0x00,0x0f,0xc0,0x00,0x0e,0x00,0x00,0x7e,0x00,0x03,0xf0,0x00,0x03,0x80,0x00,0x1f,0x80,0x00,0x1c,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '%'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xfe,0x00,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0x03,0xfe,0x00,0x1f,0xf1,0xf8,0xfc,0x7f,0xc0,0xfc,0x0f,0xc0,0xfc,0x0f,0xc0,0xfc,0x0f,0xc0,0x1f,0xf1,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '&'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '''
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x00,0x7e,0x00,0x00,0x0f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '('
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xf0,0x00,0x00,0x7e,0x00,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ')'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x81,0xf8,0x03,0xff,0xc0,0xff,0xff,0xff,0x03,0xff,0xc0,0x1f,0x81,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '*'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x1f,0xff,0xf8,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '+'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ','
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '-'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '.'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xf8,0x00,0x01,0xc0,0x00,0x0f,0xc0,0x00,0x0e,0x00,0x00,0x7e,0x00,0x00,0x70,0x00,0x03,0xf0,0x00,0x03,0x80,0x00,0x1f,0x80,0x00,0x1c,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '/'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x71,0xf8,0xfc,0x71,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '0'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x03,0xfe,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x1f,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '1'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x1f,0x80,0x00,0xfc,0x00,0x00,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '2'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x03,0xff,0xc0,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '3'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xc0,0x00,0x7f,0xc0,0x03,0xff,0xc0,0x1f,0x8f,0xc0,0xfc,0x0f,0xc0,0xff,0xff,0xf8,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '4'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xc0,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '5'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xc0,0x1f,0x80,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '6'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '7'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '8'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x1f,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '9'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ':'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x03,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ';'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x1f,0x80,0x00,0x1f,0x80,0x00,0x03,0xf0,0x00,0x00,0x7e,0x00,0x00,0x0f,0xc0,0x00,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '<'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '='
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x80,0x00,0x03,0xf0,0x00,0x00,0x7e,0x00,0x00,0x0f,0xc0,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x1f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '>'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '?'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x7f,0xf8,0xfc,0x7f,0xf8,0xfc,0x7f,0xf8,0xfc,0x7f,0xf8,0xfc,0x7f,0xc0,0xfc,0x00,0x00,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '@'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x03,0xfe,0x00,0x1f,0x8f,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'A'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'B'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xc0,0x1f,0x81,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0x1f,0x81,0xf8,0x03,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'C'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xfe,0x00,0xfc,0x0f,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x0f,0xc0,0xff,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'D'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xc0,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'E'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xc0,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'F'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xc0,0x1f,0x81,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x0f,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0x81,0xf8,0x03,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'G'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'H'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xc0,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x03,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'I'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0xf8,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0xfc,0x0f,0xc0,0xfc,0x0f,0xc0,0x1f,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'J'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x0f,0xc0,0xfc,0x7e,0x00,0xff,0xf0,0x00,0xff,0x80,0x00,0xff,0x80,0x00,0xff,0xf0,0x00,0xfc,0x7e,0x00,0xfc,0x0f,0xc0,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'K'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'L'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xff,0x8f,0xf8,0xff,0xff,0xf8,0xff,0xff,0xf8,0xfc,0x71,0xf8,0xfc,0x71,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'M'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xff,0x81,0xf8,0xff,0xf1,0xf8,0xff,0xff,0xf8,0xfc,0x7f,0xf8,0xfc,0x0f,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'N'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'O'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xc0,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'P'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xf1,0xf8,0xfc,0x7f,0xf8,0x1f,0xff,0xc0,0x00,0x0f,0xc0,0x00,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00},    // 'Q'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xc0,0xfc,0x7e,0x00,0xfc,0x0f,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'R'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x00,0x00,0x1f,0x80,0x00,0x03,0xfe,0x00,0x00,0x0f,0xc0,0x00,0x01,0xf8,0x00,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'S'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf8,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'T'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'U'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0x8f,0xc0,0x03,0xfe,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'V'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x71,0xf8,0xfc,0x71,0xf8,0xff,0xff,0xf8,0xff,0x8f,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'W'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0x03,0xfe,0x00,0x03,0xfe,0x00,0x1f,0x8f,0xc0,0x1f,0x8f,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'X'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x81,0xf8,0x1f,0x81,0xf8,0x1f,0x81,0xf8,0x1f,0x81,0xf8,0x03,0xff,0xc0,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'Y'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x1f,0x80,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'Z'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xc0,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '['
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0x1c,0x00,0x00,0x1f,0x80,0x00,0x03,0x80,0x00,0x03,0xf0,0x00,0x00,0x70,0x00,0x00,0x7e,0x00,0x00,0x0e,0x00,0x00,0x0f,0xc0,0x00,0x01,0xc0,0x00,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '\'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x00,0x0f,0xc0,0x03,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // ']'
-	{0x00,0x00,0x00,0x00,0x70,0x00,0x03,0xfe,0x00,0x1f,0x8f,0xc0,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '^'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00},    // '_'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xf0,0x00,0x03,0xf0,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '`'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0x00,0x01,0xf8,0x1f,0xff,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'a'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'b'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'c'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x1f,0xff,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'd'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xff,0xff,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'e'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xff,0xc0,0x1f,0x81,0xf8,0x1f,0x80,0x00,0x1f,0x80,0x00,0xff,0xf0,0x00,0x1f,0x80,0x00,0x1f,0x80,0x00,0x1f,0x80,0x00,0x1f,0x80,0x00,0x1f,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'f'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00},    // 'g'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'h'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'i'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x00,0x00,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x1f,0x81,0xf8,0x03,0xff,0xc0,0x00,0x00,0x00},    // 'j'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x0f,0xc0,0xfc,0x7e,0x00,0xff,0xf0,0x00,0xfc,0x7e,0x00,0xfc,0x0f,0xc0,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'k'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xfe,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x03,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'l'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x8f,0xc0,0xfc,0x71,0xf8,0xfc,0x71,0xf8,0xfc,0x71,0xf8,0xfc,0x71,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'm'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'n'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'o'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xc0,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00},    // 'p'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x00,0x00},    // 'q'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xc0,0xfc,0x01,0xf8,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'r'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xff,0xc0,0xfc,0x00,0x00,0x1f,0xf0,0x00,0x00,0x7f,0xc0,0x00,0x01,0xf8,0x00,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 's'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0xff,0xff,0xc0,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x03,0xf0,0x00,0x00,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 't'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'u'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0x8f,0xc0,0x03,0xfe,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'v'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x71,0xf8,0xfc,0x71,0xf8,0xff,0xff,0xf8,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'w'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0x1f,0x8f,0xc0,0x03,0xfe,0x00,0x03,0xfe,0x00,0x03,0xfe,0x00,0x1f,0x8f,0xc0,0xfc,0x01,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'x'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0x1f,0xff,0xf8,0x00,0x01,0xf8,0x00,0x01,0xf8,0x1f,0xff,0xc0,0x00,0x00,0x00},    // 'y'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xf8,0x00,0x01,0xf8,0x00,0x0f,0xc0,0x00,0x7e,0x00,0x03,0xf0,0x00,0x1f,0x80,0x00,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // 'z'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0f,0xf8,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x1f,0x80,0x00,0x1f,0x80,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x0f,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '{'
-	{0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '|'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xf0,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x01,0xf8,0x00,0x01,0xf8,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x1f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '}'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xf1,0xf8,0xfc,0x7f,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    // '~'
-	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x03,0xfe,0x00,0x1f,0x8f,0xc0,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xfc,0x01,0xf8,0xff,0xff,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}     // 128
-   };
-
-
-class CFaxTestStep : public CTestStep
-{
-public:
-	CFaxTestStep();
-	~CFaxTestStep();
- 	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();
-
-protected:
-	void ReadDestPhoneNumberFromIniFileL(TDes8& aPhoneNumber);
-	void ReadFaxCommDBSettingsL(TFaxSettings& aFaxSettings);
-	TInt BeginFaxTransfer(CFaxTransfer* aFaxSession);
-	void GenerateHeaderFileL(TFaxSettings& aFaxSettings, const TUint8* aFont,
-							 TInt aWidth, TInt aHeight);
-
-protected:
-	CActiveScheduler*  iScheduler;
-	TBuf<32>   iPortDriverName;
-	TBuf<32>   iCommPortName;
-	TBuf8<32>  iModemInitString;
-	TBuf8<32>  iFaxInitString;
-};
-
-
-#endif // __TE_FAXBASE_H__
--- a/fax/faxclientandserver/Test/TE_FAX/TE_FaxServer.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,198 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Telephony Fax Test server test code.
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#include "faxdefn.h"
-#include "FAXSET.H"
-#include "CFAX32.H"
-
-#include "TE_FaxServer.h"
-#include "TE_FaxTest.h"
-
-
-_LIT(KServerName,"TE_Fax");
-
-
-/**
- *  Called inside the MainL() function to create and start the CTestServer
- *  derived server.
- *
- *  @return Instance of the test server
- */
-CFaxTestServer* CFaxTestServer::NewL()
-	{
-	CFaxTestServer*  server = new(ELeave) CFaxTestServer();
-	CleanupStack::PushL(server);
-	// CServer base class call
-	server->StartL(KServerName);
-	CleanupStack::Pop(server);
-	return server;
-	} // CFaxTestIntServer::NewL
-
-
-/**
- *  Much simpler, uses the new Rendezvous() call to sync with the client.
- */
-LOCAL_C void MainL()
-	{
-	//
-	// Start an active scheduler...
-	//
-	CActiveScheduler* scheduler = new(ELeave) CActiveScheduler;
-	CleanupStack::PushL(scheduler);
-	CActiveScheduler::Install(scheduler);
-
-	//
-	// Create the CTestServer derived server...
-	//
-	CFaxTestServer* server = NULL;
-
-	TRAPD(err, server = CFaxTestServer::NewL());
-	if (err == KErrNone)
-		{
-		//
-		// Sync with the client and enter the active scheduler
-		//
-		RProcess::Rendezvous(KErrNone);
-		scheduler->Start();
-		}
-
-	//
-	// Clean up...
-	//
-	CleanupStack::Pop(scheduler);
-	delete server;
-	delete scheduler;
-	} // MainL
-/**
- *  @return Standard Epoc error code on exit.
- */
-GLDEF_C TInt E32Main()
-	{
-	CTrapCleanup*  cleanup = CTrapCleanup::New();
-
-	if (cleanup == NULL)
-		{
-		return KErrNoMemory;
-		}
-
-	TRAPD(err, MainL());
-
-	delete cleanup;
-
-	return err;
-	} // E32Main
-
-
-/**
- *  Implementation of CTestServer pure virtual.
- *
- *  @return A CTestStep derived instance.
- */
-CTestStep* CFaxTestServer::CreateTestStep(const TDesC& aStepName)
-	{
-	CTestStep*  testStep = NULL;
-
-    //
-	// Create the required test step...
-	//
-	if (aStepName == _L("TestFaxDefinition"))
-		{
-		testStep = new CFaxTestFaxDefinition();
-		}
-
-	if (aStepName == _L("TestFaxStorage"))
-		{
-		testStep = new CFaxTestFaxStorage();
-		}
-
-	if (aStepName == _L("TestFaxCoding"))
-		{
-		testStep = new CFaxTestFaxCoding();
-		}
-
-	if (aStepName == _L("TestFaxHeaderDefinition"))
-		{
-		testStep = new CFaxTestFaxHeaderDefinition();
-		}
-
-	if (aStepName == _L("TestTransmitFax01"))
-		{
-		testStep = new CFaxTestTransmitFax01();
-		}
-
-	if (aStepName == _L("TestTransmitFax02"))
-		{
-		testStep = new CFaxTestTransmitFax02();
-		}
-
-	if (aStepName == _L("TestTransmitFax03"))
-		{
-		testStep = new CFaxTestTransmitFax03();
-		}
-
-	if (aStepName == _L("TestTransmitFax04"))
-		{
-		testStep = new CFaxTestTransmitFax04();
-		}
-
-	if (aStepName == _L("TestTransmitFax05"))
-		{
-		testStep = new CFaxTestTransmitFax05();
-		}
-
-	if (aStepName == _L("TestTransmitFax06"))
-		{
-		testStep = new CFaxTestTransmitFax06();
-		}
-
-	if (aStepName == _L("TestReceiveFax01"))
-		{
-		testStep = new CFaxTestReceiveFax01();
-		}
-
-	if (aStepName == _L("TestReceiveFax02"))
-		{
-		testStep = new CFaxTestReceiveFax02();
-		}
-
-	if (aStepName == _L("TestReceiveFax03"))
-		{
-		testStep = new CFaxTestReceiveFax03();
-		}
-
-	if (aStepName == _L("TestReceiveFax04"))
-		{
-		testStep = new CFaxTestReceiveFax04();
-		}
-
-	if (aStepName == _L("TestReceiveFax05"))
-		{
-		testStep = new CFaxTestReceiveFax05();
-		}
-
-	if (aStepName == _L("TestReceiveFax06"))
-		{
-		testStep = new CFaxTestReceiveFax06();
-		}
-
-	return testStep;
-	} // CFaxTestServer::CreateTestStep
--- a/fax/faxclientandserver/Test/TE_FAX/TE_FaxServer.h	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Telephony Fax Test server header file.
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#ifndef __TE_FAXSERVER_H__
-#define __TE_FAXSERVER_H__
-
-#include <test/testexecuteserverbase.h>
-#include "TE_FaxBase.h"
-
-
-class CFaxTestServer : public CTestServer
-	{
-public:
-	static CFaxTestServer* NewL();
-	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
-
-private:
-	};
-
-#endif // __TE_FAXSERVER_H__
--- a/fax/faxclientandserver/Test/TE_FAX/TE_FaxTest.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2443 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Telephony Fax Test main test code.
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#include "faxdefn.h"
-#include "fax_reversebytes.h"
-#include "FAXSET.H"
-#include "CFAX32.H"
-#include "etel.h"
-#include "etelmm.h"
-#include "faxhuff.h"
-
-#include "TE_FaxBase.h"
-#include "TE_FaxTest.h"
-
-
-//
-// Constants...
-//
-_LIT(KTEFaxTestStoreFileName, "C:\\TestStore.Fax");
-_LIT(KTEFaxTestEncodeFileName, "C:\\TestEncode.Fax");
-_LIT(KTEFaxTestHeaderFileName, "C:\\TestHeader.Fax");
-_LIT(KTEFaxTSYName, "MM");
-_LIT(KTEFaxPhoneName, "GsmPhone1");
-_LIT(KTEFaxLineName, "Fax");
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestFaxDefinition::CFaxTestFaxDefinition()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestFaxDefinition"));
-	} // CFaxTestFaxDefinition::CFaxTestFaxDefinition
-
-
-/**
- *  This tests the definition of a fax it's variables types.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestFaxDefinition::doTestStepL()
-	{
-#ifdef __EABI__
-	//
-	// Removed due to RVCT warnings!!!
-	//
-	INFO_PRINTF1(_L("Note: This test is not fully run on RVCT compiled platforms!"));
-#else
-	TFaxClass  faxClass = EClassAuto;
-	faxClass = EClass1;
-
-	TFaxPhase  faxPhase = ENotYetStarted;
-	faxPhase = ECallEstablishment;
-
-	TFaxResolution  faxResolution = EFaxNormal;
-	faxResolution = EFaxFine;
-
-	TFaxCompression  faxCompression = EModifiedHuffman;
-	faxCompression = EModifiedRead;
-
-	TInt  tmpValue;
-	tmpValue = KFaxPixelsPerScanLine;
-	tmpValue = KFaxBytesPerScanLine;
-	tmpValue = KFaxCmPerScanLine;
-	tmpValue = KFaxScanLinesPer10Cm;
-	tmpValue = KFaxFineScanLinesPer10Cm;
-	tmpValue = KFaxT4MaxDesLength;
-	tmpValue = KFaxLinesPerBand;
-#endif
-
-	TFaxBufSenderId  faxBufSenderId;
-	faxBufSenderId.Copy(_L8("Test"));
-
-    TRawScanLine rawscanline;
-
-	rawscanline.Zero();
-	rawscanline.SetMax();
-	rawscanline.FillZ();
-	
-	return TestStepResult();
-	} // CFaxTestFaxDefinition::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestFaxStorage::CFaxTestFaxStorage()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestFaxStorage"));
-	} // CFaxTestFaxStorage::CFaxTestFaxStorage
-
-
-/**
- *  This tests the definition of a fax it's variables types.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestFaxStorage::doTestStepL()
-	{
-	INFO_PRINTF1(_L("Started fax store tests"));
-
-    iWriteFaxFile = CWriteFaxFile::NewL();
-	CleanupStack::PushL(iWriteFaxFile);
-	iReadFaxFile = CReadFaxFile::NewL();
-	CleanupStack::PushL(iReadFaxFile);
-
-	iSenderId.Copy(_L("sender's number"));
-
-	TBuf8<216>  scanlineBlack, scanlineWhite, scanlineAlt, scanlineCount;
-	TInt  index;
-
-	scanlineBlack.SetLength(216);
-	scanlineBlack.Fill(TChar(0));
-	scanlineWhite.SetLength(216);
-	scanlineWhite.Fill(TChar(255));
-	scanlineAlt.SetLength(216);
-	scanlineAlt.Fill(TChar(255));
-	
-	for (index = 0;  index < 216; index += 2)
-		{
-		scanlineAlt[index] = 0;
-		}
-	scanlineCount.SetLength(216);
-
-	for (index = 0;  index < 216;  index++)
-		{
-		scanlineCount[index] = TUint8(index);
-		}
-
-	TInt  numberLines, startnol(124), endnol(132);
-
-	//
-	// test 1
-	//
-	INFO_PRINTF3(_L("Test 1 - %d to %d repeated lines"), startnol, endnol);
-
-	INFO_PRINTF1(_L("All black - Resolution Fine"));
-	for (numberLines=startnol; numberLines<=endnol; numberLines++)
-		{
-		Test1L(numberLines, scanlineBlack, EFaxFine);
-		}
-
-	INFO_PRINTF1(_L("All white - Resolution Fine"));
-	for (numberLines=startnol; numberLines<=endnol; numberLines++)
-		{
-		Test1L(numberLines, scanlineWhite, EFaxFine);
-		}
-
-	INFO_PRINTF1(_L("Black & White - Resolution Fine"));
-	for (numberLines=startnol; numberLines<=endnol; numberLines++)
-		{
-		Test1L(numberLines, scanlineAlt, EFaxFine);
-		}
-
-	INFO_PRINTF1(_L("Counting - Resolution Fine"));
-	for (numberLines=startnol; numberLines<=endnol; numberLines++)
-		{
-		Test1L(numberLines, scanlineCount, EFaxFine);
-		}
-
-	INFO_PRINTF1(_L("Black & White - Resolution Normal"));
-	for (numberLines=startnol; numberLines<=endnol; numberLines++)
-		{
-		Test1L(numberLines, scanlineAlt, EFaxNormal);
-		}
-
-	INFO_PRINTF1(_L("Counting - Resolution Normal"));
-	for (numberLines=startnol; numberLines<=endnol; numberLines++)
-		{
-		Test1L(numberLines, scanlineCount, EFaxNormal);
-		}
-
-	//
-	// test 2
-	//
-	INFO_PRINTF3(_L("Test 2 - %d to %d alternated lines"), startnol, endnol);
-	INFO_PRINTF1(_L("White and Black & White - Resolution Fine"));
-	for (numberLines = startnol;  numberLines <= endnol;  numberLines++)
-		{
-		Test2L(numberLines, scanlineWhite, scanlineAlt, EFaxFine);
-		}
-
-	INFO_PRINTF1(_L("Black and Black & White - Resolution Fine"));
-	for (numberLines = startnol;  numberLines <= endnol;  numberLines++)
-		{
-		Test2L(numberLines, scanlineBlack, scanlineAlt, EFaxFine);
-		}
-
-	INFO_PRINTF1(_L("Counting and Black & White - Resolution Fine"));
-	for (numberLines = startnol;  numberLines <= endnol;  numberLines++)
-		{
-		Test2L(numberLines, scanlineCount, scanlineAlt, EFaxFine);
-		}
-
-	//
-	// test 3
-	//
-	TInt  numberPages, maxNumberPages=5;
-
-	INFO_PRINTF2(_L("Test 3 - 2 to %d pages"), maxNumberPages);
-	for (numberPages = 2;  numberPages <= maxNumberPages;  numberPages++) 
-		{
-		INFO_PRINTF2(_L("%d pages"),numberPages);
-
-		for (numberLines = startnol;  numberLines <= endnol;  numberLines++)
-			{
-			Test3L(numberLines, numberPages);
-			}
-		}
-
-	//
-	// test 4
-	//
-	INFO_PRINTF1(_L("Test 4 - seeking lines"));
-	for (numberLines = startnol;  numberLines <= startnol;  numberLines++)
-		{
-		Test4L(numberLines);
-		}
-
-	//
-	// test 5
-	//
-	TFaxBufSenderId  sd;
-
-	INFO_PRINTF1(_L("Test 5 - writing and reading page info"));
-	sd.Copy(_L8("+34345 4354"));
-	Test5L(EFaxNormal,sd,EModifiedHuffman,TInt(2434));
-	sd.Copy(_L8("+34345 4354"));
-	Test5L(EFaxFine,sd,EModifiedHuffman,TInt(0));
-	sd.Copy(_L8(""));
-	Test5L(EFaxNormal,sd,EModifiedHuffman,TInt(1));
-	sd.Copy(_L8(" + 4545 9"));
-	Test5L(EFaxFine,sd,EModifiedHuffman,TInt(-1));
-
-	//
-	// Done!
-	//
-	CleanupStack::PopAndDestroy(iReadFaxFile);
-	CleanupStack::PopAndDestroy(iWriteFaxFile);
-
-	return TestStepResult();
-	} // CFaxTestFaxStorage::doTestStepL
-
-
-void CFaxTestFaxStorage::Test1L(TInt aNumberLines, TBuf8<216>& aScanLineWrite,
-								TFaxResolution aRes)
-	{
-	TInt  row;
-	TBuf8<216>  scanlineRead;
-
-	iWriteFaxFile->OpenL(KTEFaxTestStoreFileName, 64);
-	
-	for (row = 0;  row < aNumberLines;  row++)
-		{
-		iWriteFaxFile->iWriteFaxPages->AddScanLineL(aScanLineWrite);
-		}
-
-	iWriteFaxFile->iWriteFaxPages->EndPageL(aRes, iSenderId);
-	iWriteFaxFile->CommitL();
-	iWriteFaxFile->Close();
-
-	iReadFaxFile->OpenL(KTEFaxTestStoreFileName);
-
-	for (row = 0;  row < aNumberLines;  row++)
-		{
-		iReadFaxFile->iReadFaxPages->GetScanLineL(scanlineRead);
-		TESTCHECKSTR(scanlineRead, aScanLineWrite);
-		}
-	iReadFaxFile->Close();
-	} // CFaxTestFaxStorage::Test1L
-
-
-void CFaxTestFaxStorage::Test2L(TInt aNumberLines, TBuf8<216>& aScanLineWrite1,
-								TBuf8<216>&  aScanLineWrite2, TFaxResolution aRes)
-	{
-	TInt  row;
-	TBuf8<216>  scanlineRead;
-
-	iWriteFaxFile->OpenL(KTEFaxTestStoreFileName, 64);
-	for (row = 0; row < aNumberLines;  row++)
-		{
-		// line1
-		iWriteFaxFile->iWriteFaxPages->AddScanLineL(aScanLineWrite1);
-		row++;
-		if (row >= aNumberLines)
-			{
-			break;
-			}
-
-		// line2
-		iWriteFaxFile->iWriteFaxPages->AddScanLineL(aScanLineWrite2);
-		}
-
-	iWriteFaxFile->iWriteFaxPages->EndPageL(aRes, iSenderId);
-	iWriteFaxFile->CommitL();
-	iWriteFaxFile->Close();
-
-	iReadFaxFile->OpenL(KTEFaxTestStoreFileName);
-	for (row = 0;  row < aNumberLines;  row++)
-		{
-		// line1
-		iReadFaxFile->iReadFaxPages->GetScanLineL(scanlineRead);
-		TESTCHECKSTR(scanlineRead, aScanLineWrite1);
-		row++;
-		if (row >= aNumberLines)
-			{
-			break;
-			}
-
-		// line2
-		iReadFaxFile->iReadFaxPages->GetScanLineL(scanlineRead);
-		TESTCHECKSTR(scanlineRead, aScanLineWrite2);
-		}
-	iReadFaxFile->Close();
-	} // CFaxTestFaxStorage::Test2L
-
-
-void CFaxTestFaxStorage::Test3L(TInt aNumberLines, TInt aNumberPages)
-	{
-	TInt  row;
-	TBuf8<216>  scanlineRead, scanlineWrite;
-
-	scanlineWrite.SetLength(216);
-
-	iWriteFaxFile->OpenL(KTEFaxTestStoreFileName, 64);
-	TInt page;
-	
-	for (page = 0;  page < aNumberPages;  page++)
-		{
-		scanlineWrite.SetLength(216);
-		scanlineWrite.Fill(TChar(255));
-		
-		for (TInt t=0; t<216; t+=2)
-			{
-			scanlineWrite[t] = 0;
-			}
-		
-		scanlineWrite[0] = TUint8(page);
-		
-		for (row = 0;  row < aNumberLines;  row++)
-			{
-			iWriteFaxFile->iWriteFaxPages->AddScanLineL(scanlineWrite);
-			}
-
-		iWriteFaxFile->iWriteFaxPages->EndPageL(EFaxFine, iSenderId);
-		iWriteFaxFile->CommitL();
-		}
-	iWriteFaxFile->Close();
-
-	iReadFaxFile->OpenL(KTEFaxTestStoreFileName);
-
-	for (page = 0;  page < aNumberPages;  page++)
-		{
-		iReadFaxFile->iReadFaxPages->SetPageL(page);
-
-		for (row = 0;  row < aNumberLines;  row++)
-			{
-			iReadFaxFile->iReadFaxPages->GetScanLineL(scanlineRead);	
-			TESTCHECK(scanlineRead[0], page);
-			}
-		}
-	iReadFaxFile->Close();
-	} // CFaxTestFaxStorage::Test3L
-
-
-void CFaxTestFaxStorage::Test4L(TInt aNumberLines)
-	{
-	TInt  row;
-	TBuf8<216>  scanlineRead, scanlineWrite;
-
-	scanlineWrite.SetLength(216);
-
-	iWriteFaxFile->OpenL(KTEFaxTestStoreFileName, 64);
-
-	for (row = 0;  row < aNumberLines;  row++)
-		{
-		scanlineWrite[0] = TUint8(row);
-
-		iWriteFaxFile->iWriteFaxPages->AddScanLineL(scanlineWrite);
-		}
-
-	iWriteFaxFile->iWriteFaxPages->EndPageL(EFaxFine, iSenderId);
-	iWriteFaxFile->CommitL();
-	iWriteFaxFile->Close();
-
-	iReadFaxFile->OpenL(KTEFaxTestStoreFileName);
-
-	for (row = 0;  row < aNumberLines;  row++)
-		{
-		iReadFaxFile->iReadFaxPages->SeekScanLineL(row);
-		iReadFaxFile->iReadFaxPages->GetScanLineL(scanlineRead);
-		TESTCHECK(scanlineRead[0], row);
-		}
-
-	for (row = aNumberLines - 1;  row >= 0;  row--)
-		{
-		iReadFaxFile->iReadFaxPages->SeekScanLineL(row);
-		iReadFaxFile->iReadFaxPages->GetScanLineL(scanlineRead);
-		TESTCHECK(scanlineRead[0], row);
-		}
-
-	iReadFaxFile->Close();
-	} // CFaxTestFaxStorage::Test4L
-
-
-void CFaxTestFaxStorage::Test5L(TFaxResolution aRes, TFaxBufSenderId& aSenderId,
-								TFaxCompression aF1, TInt aF2)
-{
-	TInt  row;
-	TBuf8<216>  scanLineWrite;
-
-	scanLineWrite.SetLength(216);
-
-	iWriteFaxFile->OpenL(KTEFaxTestStoreFileName, 64);
-
-	for (row=0; row<100; row++)
-		{
-		iWriteFaxFile->iWriteFaxPages->AddScanLineL(scanLineWrite);
-		}
-
-	iWriteFaxFile->iWriteFaxPages->EndPageL(aRes, aSenderId, aF1, aF2);
-	iWriteFaxFile->CommitL();
-	iWriteFaxFile->Close();
-
-	iReadFaxFile->OpenL(KTEFaxTestStoreFileName);
-
-	TFaxPageInfo info = iReadFaxFile->iReadFaxPages->CurrentPageInfo();
-
-	TESTCHECK(info.iNumScanLines, 100);
-	TESTCHECK(info.iResolution, aRes);
-	TESTCHECKSTR(info.iSenderId, aSenderId);
-	TESTCHECK(info.iCompression, aF1);
-	TESTCHECK(info.iReservedFlag2, aF2);
-
-	iReadFaxFile->Close();
-}
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestFaxCoding::CFaxTestFaxCoding()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestFaxCoding"));
-	} // CFaxTestFaxCoding::CFaxTestFaxCoding
-
-
-/**
- *  This tests the fax coding.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestFaxCoding::doTestStepL()
-	{
-	TInt  result, pos;
-	TInt  blackrun;
-	TBool  flag(EFalse);
-	RFile  enFile;
-	RFs  fs;
-	TRawScanLine  rawScanLine;
-	TBuf8<KFaxT4MaxDesLength>  encodedScanLine;
-	TBuf8<50>  leftOvers;
-	TRawScanLine  decodedScanLine;
-	TTime  then;
-	TTime  now;
-	TInt64  timetaken;
-
-	CFaxT4* faxT4 = CFaxT4::NewL();
-	CleanupStack::PushL(faxT4);
-
-	result = fs.Connect();
-	CleanupClosePushL(fs);
-	TESTCHECKL(result, KErrNone);
-	result = enFile.Replace(fs, KTEFaxTestEncodeFileName, EFileShareAny);
-	CleanupClosePushL(enFile);
-	TESTCHECKL(result, KErrNone);
-
-	INFO_PRINTF1(_L("Testing 1D coding methods"));
-
-	faxT4->PageInitialize(EFaxFine, EModifiedHuffman);
-	rawScanLine.Fill(KFaxWhite, KFaxBytesPerScanLine);
-	for (blackrun = 0;  blackrun <= 1728;  blackrun++)
-		{
-		Mem::Fill(&rawScanLine[0], blackrun/8, KFaxBlack);
-		if (blackrun%8)
-			{
-			rawScanLine[(blackrun/8)] = (TUint8)(KFaxWhite << blackrun%8);
-			}
-		faxT4->EncodeScanLine(rawScanLine, encodedScanLine);
-		encodedScanLine.Append(0);
-		encodedScanLine.Append(1);
-		enFile.Write(encodedScanLine);
-		}
-	
-	enFile.Flush();
-	CleanupStack::PopAndDestroy(&enFile);
-
-	result = enFile.Open(fs, KTEFaxTestEncodeFileName, EFileShareAny);
-	CleanupClosePushL(enFile);
-	TESTCHECKL(result, KErrNone);
-
-	// now encoded.fax contains the encoded RawScanLines from the jerry.fax file
-	// and now we are going to decode them again
-
-	encodedScanLine.Zero();
-
-	then.UniversalTime();
-    faxT4->PageInitialize(EFaxFine,EModifiedHuffman);
-	rawScanLine.Fill(KFaxWhite, KFaxBytesPerScanLine);
-	for (blackrun = 0;  blackrun <= 1728;  blackrun++)
-		{
-		pos = FindEndOfLine(encodedScanLine);
-		if (pos == KErrNotFound)
-			{
-			flag = ETrue;
-			if (encodedScanLine.Length() != 0)
-				{
-				leftOvers.Copy(encodedScanLine);
-				enFile.Read(encodedScanLine, (encodedScanLine.MaxLength()-leftOvers.Length()));
-
-				if (FindEndOfLine(encodedScanLine) == KErrNotFound)
-				{
-					User::Leave(KErrNotFound);
-				}
-			
-				encodedScanLine.Insert(0, leftOvers);
-				leftOvers.Zero();
-				pos = FindEndOfLine(encodedScanLine);
-				flag = EFalse;
-				}
-			
-			if (flag)
-				{
-				enFile.Read(encodedScanLine);
-				pos = FindEndOfLine(encodedScanLine);
-				}
-			}
-
-		result = faxT4->DecodeScanLine(decodedScanLine, encodedScanLine.Left(pos));
-		TESTCHECKL(result, KErrNone);
-		
-		Mem::Fill(&rawScanLine[0], blackrun/8, KFaxBlack);
-		if (blackrun%8)
-			{
-			rawScanLine[(blackrun/8)] = (TUint8)(KFaxWhite << blackrun%8);
-			}
-
-		TEST(!rawScanLine.Compare(decodedScanLine));
-		encodedScanLine.Delete(0,pos+2);	//2 is the length of the delimiter character.
-		}
-	now.UniversalTime();
-	timetaken = now.MicroSecondsFrom(then).Int64();
-	INFO_PRINTF2(_L("%dms to 1D encode all possible run lengths"), I64LOW(timetaken)/1000);
-
-	enFile.Flush();
-	CleanupStack::PopAndDestroy(&enFile);
-
-	//
-	// Again, for this test, we'll instantiate our own CFaxT4 object and generate
-	// the fax file using the raw functions  - this is purely done for testing
-	// and in real life we'd do a 2D fax via the StartPage() function 
-	// as used in test8L
-	//
-	result = enFile.Replace(fs, KTEFaxTestEncodeFileName, EFileShareAny);
-	CleanupClosePushL(enFile);
-	TESTCHECKL(result, KErrNone);
-
-	INFO_PRINTF1(_L("Test 2D coding methods"));
-
-	//writeFaxFile->OpenL(_L("c:\\test.fax"),64);
-	
-	faxT4->PageInitialize(EFaxFine, EModifiedRead);
-	rawScanLine.Fill(KFaxBlack, KFaxBytesPerScanLine);      // prepare a black reference line
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);
-	
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-
-	rawScanLine[0] = KFaxWhite ;                             // start with a white run
-	rawScanLine[KFaxBytesPerScanLine-1] = KFaxWhite ;        // end with a white run
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = KFaxWhite ;    // with a white run halfway through
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = KFaxWhite ;    // and a white run 10 before the end
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);      // horizontal mode encoding
-
-
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-
-	rawScanLine[0] = KFaxWhite;                             // first run identical for v0
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = 0x1c ;         // 00011100 test v+3 v-2 
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = 0x3e ;        // 00111110 test v+2 v-1 
-	rawScanLine[KFaxBytesPerScanLine-1] = 0x78 ;             // 01111000 test v+1 v-3
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);      // vertical mode encoding
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-	
-	
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-	rawScanLine[0] = KFaxBlack ;                             // for pass mode
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);      // pass mode encoding
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-
-	// same again in opposite colours
-
-	faxT4->PageInitialize(EFaxFine, EModifiedRead);
-	rawScanLine.Fill(KFaxWhite, KFaxBytesPerScanLine);      // prepare a white reference line
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-	
-	rawScanLine[0] = KFaxBlack ;                             // start with a black run
-	rawScanLine[KFaxBytesPerScanLine-1] = KFaxBlack ;        // end with a black run
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = KFaxBlack ;    // with a black run halfway through
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = KFaxBlack ;    // and a blacke run 10 before the end
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);      // horizontal mode encoding
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-	
-	rawScanLine[0] = KFaxBlack ;                             // first run identical for v0
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = 0xe3 ;         // 11100011 test v+3 v-2 
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = 0xc1 ;        // 11000001 test v+2 v-1 
-	rawScanLine[KFaxBytesPerScanLine-1] = 0x87 ;             // 10000111 test v+1 v-3
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);      // vertical mode encoding
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-	
-	rawScanLine[0] = KFaxWhite ;                             // for pass mode
-	faxT4->EncodeScanLine(rawScanLine, encodedScanLine);      // pass mode encoding
-	//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-	encodedScanLine.Append(0);
-	encodedScanLine.Append(1);
-	enFile.Write(encodedScanLine);
-
-	then.UniversalTime();
-	faxT4->PageInitialize (EFaxFine, EModifiedRead);         // now start again
-	rawScanLine.Fill (KFaxWhite, KFaxBytesPerScanLine);
-	for (blackrun=0; blackrun <= 1728 ; blackrun++)
-		{
-		Mem::Fill(&rawScanLine[0], blackrun/8, KFaxBlack);
-		if (blackrun%8)
-			{
-			rawScanLine[(blackrun/8)] = (TUint8)(KFaxWhite << blackrun%8);
-			}
-		faxT4->EncodeScanLine(rawScanLine, encodedScanLine);
-		//writeFaxFile->iWriteFaxPages->AddEncodedScanLineL(encodedScanLine);
-		encodedScanLine.Append(0);
-		encodedScanLine.Append(1);
-		enFile.Write(encodedScanLine);
-		}
-	now.UniversalTime();
-	timetaken = now.MicroSecondsFrom (then).Int64 ();
-	INFO_PRINTF2(_L("%dms to 2D encode all possible run lengths"), I64LOW(timetaken)/1000);
-
-	enFile.Flush();
-	CleanupStack::PopAndDestroy(&enFile);
-
-	/*
-	writeFaxFile->iWriteFaxPages->EndPageL(EFaxFine,senderId, EModifiedRead);
-	writeFaxFile->CommitL();
-	writeFaxFile->Close();
-	*/
-
-	//readFaxFile->OpenL(_L("c:\\test.fax"));
-	//readFaxFile->iReadFaxPages->SetPageL(0);
-	//TFaxPageInfo info = readFaxFile->iReadFaxPages->CurrentPageInfo();
-
-	INFO_PRINTF1(_L("Test 2D decoding methods"));
-
-	result = enFile.Open(fs, KTEFaxTestEncodeFileName, EFileShareAny);
-	CleanupClosePushL(enFile);
-	TESTCHECKL(result, KErrNone);
-
-	rawScanLine.Fill(KFaxBlack, KFaxBytesPerScanLine);      // prepare a black line as the reference line
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);
-
-	enFile.Read(encodedScanLine);
-	pos = FindEndOfLine(encodedScanLine);
-
-	result = faxT4->DecodeScanLine(decodedScanLine, encodedScanLine.Left(pos));
-	//err = faxT4->DecodeScanLine(decodedScanLine, encodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	result = rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-
-	rawScanLine[0] = KFaxWhite ;
-	rawScanLine[KFaxBytesPerScanLine-1] = KFaxWhite ;
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = KFaxWhite ;    // test horizontal mode codec
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = KFaxWhite ;   // and a white run 10 before the end
-	
-	//enFile.Read(encodedScanLine);
-	pos = FindEndOfLine(encodedScanLine);
-
-	//err = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);
-	
-	result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	TESTCHECKL(result, KErrNone);
-	result = rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = 0x1c ;         // test v+3 v-2
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = 0x3e ;        // test v+2 v-1 coded 
-	rawScanLine[KFaxBytesPerScanLine-1] = 0x78 ;             // test v+1 v-3 codec
-
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);	
-	pos=FindEndOfLine(encodedScanLine);
-	result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	TESTCHECKL(result, KErrNone);
-	result = rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-	
-	rawScanLine[0] = KFaxBlack ;                      // test pass and v0 codec
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);	
-	pos=FindEndOfLine(encodedScanLine);
-	result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	TESTCHECKL(result, KErrNone);
-	result = rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-	// same again in opposite colours
-
-	rawScanLine.Fill (KFaxWhite, KFaxBytesPerScanLine);      // prepare a white line as the reference line
-	pos=FindEndOfLine(encodedScanLine);
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);	
-	result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	TESTCHECKL(result, KErrNone);
-	rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-
-
-	rawScanLine[0] = KFaxBlack ;
-	rawScanLine[KFaxBytesPerScanLine-1] = KFaxBlack ;
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = KFaxBlack ;    // test horizontal mode codec
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = KFaxBlack ;   // and a black run 10 before the end
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);
-	pos=FindEndOfLine(encodedScanLine);
-	result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	TESTCHECKL(result, KErrNone);
-	result = rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-	
-	rawScanLine[(KFaxBytesPerScanLine/2)-1] = 0xe3 ;         // 11100011 test v+3 v-2 
-	rawScanLine[(KFaxBytesPerScanLine/2)-10] = 0xc1 ;        // 11000001 test v+2 v-1 
-	rawScanLine[KFaxBytesPerScanLine-1] = 0x87 ;             // 10000111 test v+1 v-3
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);	
-
-	pos=FindEndOfLine(encodedScanLine);
-	result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	TESTCHECKL(result, KErrNone);
-	result = rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-
-	rawScanLine[0] = KFaxWhite ;                             // test pass and v0 codec
-	//readFaxFile->iReadFaxPages->GetEncodedScanLineL(encodedScanLine);	
-	pos=FindEndOfLine(encodedScanLine);
-	result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-	TESTCHECKL(result, KErrNone);
-	result = rawScanLine.Compare(decodedScanLine);
-	TESTCHECKL(result, KErrNone);
-	encodedScanLine.Delete(0,pos+2);
-	
-	// now do all run lengths
-
-	then.UniversalTime();
-	//faxT4->PageInitialize (info.iResolution, info.iCompression);
-//	enFile.Close();
-
-//	err=enFile.Open(fs,_L("c:\\test.fax"),EFileShareAny);
-//	if (err!=KErrNone)
-//		User::Leave(err);
-
-//	encodedScanLine.Zero();
-	flag = EFalse;
-
-    
-	faxT4->PageInitialize(EFaxFine,EModifiedRead);
-	rawScanLine.Fill(KFaxWhite, KFaxBytesPerScanLine);
-	for (blackrun=0;  blackrun <= 1728;  blackrun++)
-		{
-		pos = FindEndOfLine(encodedScanLine);
-		if (pos == KErrNotFound)
-			{
-			flag = ETrue;
-			if (encodedScanLine.Length() != 0)
-				{
-				leftOvers.Copy(encodedScanLine);
-				enFile.Read(encodedScanLine, (encodedScanLine.MaxLength()-leftOvers.Length()));
-				if (FindEndOfLine(encodedScanLine) == KErrNotFound)
-					{
-					User::Leave(KErrNotFound);
-					}
-			
-				encodedScanLine.Insert(0, leftOvers);
-				leftOvers.Zero();
-				pos = FindEndOfLine(encodedScanLine);
-				flag = EFalse;
-				}
-			
-			if (flag)
-				{
-				enFile.Read(encodedScanLine);
-				pos = FindEndOfLine(encodedScanLine);
-				}
-			}
-
-		result = faxT4->DecodeScanLine(decodedScanLine,encodedScanLine.Left(pos));
-		TESTCHECKL(result, KErrNone);
-		
-		Mem::Fill(&rawScanLine[0], blackrun/8, KFaxBlack);
-		if (blackrun%8)
-			{
-			rawScanLine[(blackrun/8)] = (TUint8)(KFaxWhite << blackrun%8);
-			}
-		result = rawScanLine.Compare(decodedScanLine);
-		TESTCHECKL(result, KErrNone);
-		encodedScanLine.Delete(0,pos+2);	//2 is the length of the delimiter character.
-		}
-	enFile.Flush();
-
-	CleanupStack::PopAndDestroy(&enFile);
-	CleanupStack::PopAndDestroy(&fs);
-	CleanupStack::PopAndDestroy(faxT4);
-
-	return TestStepResult();
-	} // CFaxTestFaxCoding::doTestStepL
-
-
-TInt CFaxTestFaxCoding::FindEndOfLine(TDes8& aEncodedDes)
-	{
-	TInt  maxlength;
-	TUint  compareWord(0);
-
-	maxlength = aEncodedDes.Length();
-	if (aEncodedDes.Length() == 0)
-		{
-		return KErrNotFound;
-		}
-
-	TInt  index;
-
-	for (index = 0;  index <= maxlength - 2;  index++)
-		{
-		compareWord = aEncodedDes[index];
-		if (compareWord == 0)
-			{
-			compareWord = aEncodedDes[index + 1];
-			if (compareWord == 1)
-				{
-				return index;
-				}
-			}
-		}		
-		
-	return KErrNotFound;
-	}
-
-	
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestFaxHeaderDefinition::CFaxTestFaxHeaderDefinition()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestFaxHeaderDefinition"));
-	} // CFaxTestFaxHeaderDefinition::CFaxTestFaxHeaderDefinition
-
-
-/**
- *  This tests the fax header definition...
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestFaxHeaderDefinition::doTestStepL()
-	{
-	//
-    // this test is in two halves
-	//
-    // firstly we generate a header file - we don't do this via an Epoc print, but
-    // directly using one of the test fonts in testfont.h.  However, the functions
-    // we need are all exercised (writing font information and writing series of
-    // TRawScanLines.  (Getting epoc printing to generate the correct data is not
-    // part of this test.)  The test function here takes a pointer to the font
-    // together with its dimensions as paramters, so that fonts 1 2 and 3 bytes
-    // wide can be tested out all at te same time.  The fonts are in testfont.h
-    //
-    // secondly we use the header file we've just generate to create encoded scan lines
-    // for a header, which we'll write to TEST.FAX as a fax file.  Naturally, in
-    // real use, we'd send our encodes scan lines as part of the T.4 image at the start
-    // of each pages, but generating a fax image (which is just a series of encoded scan
-    // lines) is just as good a test.  So, we pass a pointer to the fax store as a parameters.
-    // Again, we run this once for each font we test.
-	//
-	RFs  fs;
-	TInt  result;
-	RFile  file;
-
-	result = fs.Connect();
-	CleanupClosePushL(fs);
-	TESTCHECKL(result, KErrNone);
-	
-	result = file.Replace(fs, KTEFaxTestHeaderFileName, EFileShareAny);
-	CleanupClosePushL(file);
-	TESTCHECKL(result, KErrNone);
-
-	INFO_PRINTF1(_L("Generating header file using one byte wide font"));
-    GenerateHeaderFileL(*font8x16, 1, 16);
-	INFO_PRINTF1(_L("Writing fax header to TestHeader.Fax using current time and date")) ;
-    GenerateFaxFileL(file);
-
-	INFO_PRINTF1(_L("Generating header file using two bytes wide font"));
-    GenerateHeaderFileL(*font16x16, 2, 16);
-	INFO_PRINTF1(_L("Writing fax header to TestHeader.Fax using current time and date"));
-	GenerateFaxFileL(file);
-
-	INFO_PRINTF1(_L("Generating header file using three bytes wide font")) ;
-    GenerateHeaderFileL(*font24x16, 3, 16);
-	INFO_PRINTF1(_L("Writing fax header to TestHeader.Fax using current time and date")) ;
-	GenerateFaxFileL(file);
-	
-	file.Flush();
-
-	CleanupStack::PopAndDestroy(&file);
-	CleanupStack::PopAndDestroy(&fs);
-
-	return TestStepResult();
-	} // CFaxTestFaxHeaderDefinition::doTestStepL
-
-
-void CFaxTestFaxHeaderDefinition::GenerateFaxFileL(RFile& aFile)
-   {
-    // use the header to generate a *.FAX file
-    TFaxHeaderInfo faxHeader;
-
-	CFaxT4*  faxT4 = CFaxT4::NewL();
-	CleanupStack::PushL(faxT4);
-    CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	CleanupStack::PushL(testheader);
-
-    testheader->ReadFaxHeaderInfoL(faxHeader);
-
-    TRawScanLine  headline;
-    TRawScanLine  fontline;
-    TBuf8<KFaxT4MaxDesLength>  encodedHeadLine;
-
-    TTime  timeOfTransmission;
-    TBuf<12>  timeText;
-
-	timeOfTransmission.HomeTime ();
-    timeOfTransmission.FormatL(timeText, _L("%F%D%M%Y%H%T"));
-
-	for (TInt index = 0;  index < 12;  index++)
-		{
-        timeText[index] -= '0';
-		}
-
-    // Forces 2 digit day - 2 digit month - 4 digit year - 2 digit hour - 2 digit minute
-
-	for (TInt scanline = 0;  scanline < faxHeader.iHeaderFontHeightInLines;  scanline++)
-		{
-        testheader->ReadRawHeaderLineL(scanline, headline);
-        testheader->ReadRawFontLineL(scanline, fontline);
-
-        for (TInt fontByte = 0; fontByte < faxHeader.iHeaderFontWidthInBytes; fontByte++)
-			{
-			headline[((faxHeader.iOffsetToDay) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[0] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToDay + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[1] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToMonth) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[2] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToMonth + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[3] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToYear) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[4] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToYear + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[5] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToYear + 2) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[6] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToYear + 3) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[7] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToHour) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[8] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToHour + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[9] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToMinute) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[10] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToMinute + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(timeText[11] * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-
-            // put the page info in as 12/34
-
-            headline[((faxHeader.iOffsetToCurrentPage) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(1 * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToCurrentPage + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(2 * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToTotalPages) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(3 * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-            headline[((faxHeader.iOffsetToTotalPages + 1) * faxHeader.iHeaderFontWidthInBytes) + fontByte] = fontline[(4 * faxHeader.iHeaderFontWidthInBytes) + fontByte];
-			}
-
-      faxT4->EncodeScanLine(headline, encodedHeadLine);
-	  aFile.Write(encodedHeadLine);
-      }
-
-	CleanupStack::PopAndDestroy(testheader);
-	CleanupStack::PopAndDestroy(faxT4);
-	} // CFaxTestFaxHeaderDefinition::GenerateFaxFileL
-
-
-void CFaxTestFaxHeaderDefinition::GenerateHeaderFileL(const TUint8* aFont,
-													  TInt aWidth, TInt aHeight)
-	{
-    TFaxHeaderInfo  faxHeader;
-
-    //
-	// declare the font size
-	//
-    faxHeader.iHeaderFontWidthInBytes  = aWidth;
-    faxHeader.iHeaderFontHeightInLines = aHeight;
-
-    //
-	// Work out the number of characters we can get in the scan line, so that we can
-    // create a modifiable buffer to hold the header line and fill it with spaces
-    //
-	TInt  charactersPerLine = KFaxBytesPerScanLine / faxHeader.iHeaderFontWidthInBytes;
-    HBufC8*  textBuff = HBufC8::NewL(charactersPerLine);
-	CleanupStack::PushL(textBuff);
-
-    TPtr8  textLine = textBuff->Des();
-    textLine.Fill(0x20, charactersPerLine);
-
-    //
-	// Work out the margin we leave on each side of the page in characters
-    // this is specified as 74 pixels in T.4
-	//
-	TInt  margin = (74 / (8 * faxHeader.iHeaderFontWidthInBytes));
-
-	//
-	// THE FOLLOWING LAYOUT IS PURELY FOR TEST PURPOSES AND SHOULDN'T
-    // BE TAKEN TO BE A DEFINITIVE HEADER LAYOUT
-	//
-    // assume we have the date and time on the lefthand side as dd/mm/yyyy hh:mm
-    // 0000000001111111
-    // 1234567890123456
-    // fill in the separators
-	textLine.Replace(margin + 3, 1, _L8 ("/"));
-    textLine.Replace(margin + 6, 1, _L8 ("/"));
-    textLine.Replace(margin + 14, 1, _L8 (":"));
-
-    //
-	// set up the offsets to the data
-	//
-	faxHeader.iOffsetToDay = margin + 1;
-    faxHeader.iOffsetToMonth = margin + 4;
-    faxHeader.iOffsetToYear = margin + 7;
-    faxHeader.iOffsetToHour = margin + 12;
-    faxHeader.iOffsetToMinute = margin + 15;
-
-    //
-	// assume we have the page info on the righthand side as pp/tt
-    // 54321
-    // fill in the separator
-	//
-    textLine.Replace (charactersPerLine - margin - 3, 1, _L8 ("/"));
-
-    //
-	// set up the offsets to the data
-	//
-    faxHeader.iOffsetToTotalPages = charactersPerLine - margin - 2;
-    faxHeader.iOffsetToCurrentPage = charactersPerLine - margin - 5;
-
-    //
-    // read in the fax settings, because we want the fax ID and the user ID
-    //
-    TFaxSettings  ourFaxSettings;
-    TBuf8<20>  userName;
-   
-    ourFaxSettings.iFaxId.Copy(_L("+++01234 56789+++"));
-    userName.Copy(_L("Symbian Test Header"));
-
-    TInt  lenID = ourFaxSettings.iFaxId.Length ();
-    TInt  lenUser = userName.Length ();
-
-    //
-    // Fill the header line with appropriate information
-	//
-    textLine.Replace (faxHeader.iOffsetToMinute + 4, lenID, ourFaxSettings.iFaxId);
-    textLine.Replace (faxHeader.iOffsetToCurrentPage - lenUser -2, lenUser, userName);
-
-    //
-	// HEADER LAYOUT NOW FINISHED
-	//
-    // now we can write the fax header info to the header info file
-    //
-    CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	CleanupStack::PushL(testheader);
-    testheader->WriteFaxHeaderInfoL(faxHeader);
-
-	//
-    // Now we generate the scan line and write the header line bitmap
-    // via a loop for each rowInFont in the font
-	//
-    TInt rowInFont;
-
-	for (rowInFont = 0;  rowInFont < faxHeader.iHeaderFontHeightInLines;  rowInFont++)
-		{
-		TRawScanLine  image;
-        image.SetMax();
-        image.FillZ();
-        TInt  offsetInImage = 0;
- 
-        offsetInImage = 0;
-        for (TInt characterPosition = 0;  characterPosition < charactersPerLine;  characterPosition++)
-			{
-            for (TInt fontByte = 0;  fontByte < faxHeader.iHeaderFontWidthInBytes;  fontByte++)
-				{
-				image[offsetInImage++] = (TUint8)~KReverseByte[*(aFont + ((textLine[characterPosition] - 32) * faxHeader.iHeaderFontHeightInLines * faxHeader.iHeaderFontWidthInBytes) + (rowInFont * faxHeader.iHeaderFontWidthInBytes) + fontByte)];
-				}
-			}
-        testheader->WriteRawHeaderLineL (rowInFont, image);
-		}
-
-	//
-    // now we replace the first ten characters in the header text line with digits
-	//
-    textLine.Replace(0, 10, _L8("0123456789"));
-
-	//
-    // and write out the font line
-	//
-	for (rowInFont = 0; rowInFont < faxHeader.iHeaderFontHeightInLines; rowInFont++)
-		{
-		TRawScanLine  image;
-		image.SetMax();
-		image.FillZ();
-		TInt  offsetInImage = 0;
-
-		offsetInImage = 0;
-		for (TInt characterPosition = 0;  characterPosition < charactersPerLine;  characterPosition++)
-			{
-			for (TInt fontByte = 0;  fontByte < faxHeader.iHeaderFontWidthInBytes;  fontByte++)
-				{
-				image[offsetInImage++] = (TUint8)~KReverseByte[*(aFont + ((textLine[characterPosition] - 32) * faxHeader.iHeaderFontHeightInLines * faxHeader.iHeaderFontWidthInBytes) + (rowInFont * faxHeader.iHeaderFontWidthInBytes) + fontByte)];
-				}
-			}
-		testheader->WriteRawFontLineL (rowInFont, image);
-		// we can add the test code to generate the panic here
-		}
-
-	CleanupStack::PopAndDestroy(testheader);
-	CleanupStack::PopAndDestroy(textBuff);
-	} // CFaxTestFaxHeaderDefinition::GenerateHeaderFileL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestTransmitFax01::CFaxTestTransmitFax01()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestTransmitFax01"));
-	} // CFaxTestTransmitFax01::CFaxTestTransmitFax01
-
-
-/**
- *  This tests the transmission of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestTransmitFax01::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass             = EClassAuto;
-	faxSettings.iPreferredECM         = 0;
-	faxSettings.iMaxSpeed             = 14400;
-	faxSettings.iMinSpeed             = 2400;
-	faxSettings.iPreferredResolution  = EFaxNormal;
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EDialAndTransmit);
-
-	//
-	// Generate a Fax header for transmitting...
-	//
-	TFaxHeaderInfo  faxHeader;
-
-	faxHeader.iHeaderFontWidthInBytes = 0;
-	
-	CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	TRAP_IGNORE(testheader->ReadFaxHeaderInfoL(faxHeader));
-	delete testheader;
-
-	GenerateHeaderFileL(faxSettings, *font8x16, 1, 16);
-
-	//
-	// Add the source file to the session...
-	//
-	faxSession->AddSourceL(_L("C:\\TEST.FAX"), Prefer1D);
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax transmission of TEST.FAX a simple test fax..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax transmission completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestTransmitFax01::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestTransmitFax02::CFaxTestTransmitFax02()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestTransmitFax02"));
-	} // CFaxTestTransmitFax02::CFaxTestTransmitFax02
-
-
-/**
- *  This tests the transmission of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestTransmitFax02::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass             = EClassAuto;
-	faxSettings.iPreferredECM         = 0;
-	faxSettings.iMaxSpeed             = 9600;
-	faxSettings.iMinSpeed             = 2400;
-	faxSettings.iPreferredResolution  = EFaxFine;
-	faxSettings.iPreferredCompression = EModifiedRead;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EDialAndTransmit); // Or EImmediateTransmit
-
-	//
-	// Generate a Fax header for transmitting...
-	//
-	TFaxHeaderInfo  faxHeader;
-
-	faxHeader.iHeaderFontWidthInBytes = 0;
-	
-	CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	TRAP_IGNORE(testheader->ReadFaxHeaderInfoL(faxHeader));
-	delete testheader;
-
-	GenerateHeaderFileL(faxSettings, *font16x16, 2, 16);
-
-	//
-	// Add the source file to the session. "CHART4.FAX" is an ITU test chart.
-	//
-	faxSession->AddSourceL(_L("C:\\CHART4.FAX"), Prefer2D);
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax transmission of CHART4.FAX an ITU test chart..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax transmission completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestTransmitFax02::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestTransmitFax03::CFaxTestTransmitFax03()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestTransmitFax03"));
-	} // CFaxTestTransmitFax03::CFaxTestTransmitFax03
-
-
-/**
- *  This tests the transmission of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestTransmitFax03::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass             = EClass2;
-	faxSettings.iMaxSpeed             = 9600;
-	faxSettings.iMinSpeed             = 14400;
-	faxSettings.iPreferredResolution  = EFaxNormal;
-	faxSettings.iPreferredCompression = EModifiedRead;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EDialAndTransmit); // Or EImmediateTransmit
-
-	//
-	// Generate a Fax header for transmitting...
-	//
-	TFaxHeaderInfo  faxHeader;
-
-	faxHeader.iHeaderFontWidthInBytes = 0;
-	
-	CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	TRAP_IGNORE(testheader->ReadFaxHeaderInfoL(faxHeader));
-	delete testheader;
-
-	GenerateHeaderFileL(faxSettings, *font24x16, 3, 16);
-
-	//
-	// Add the source file to the session. The "BLANK.FAX" all-white short run
-	// length file.
-	//
-	faxSession->AddSourceL(_L("C:\\BLANK.FAX"), Prefer2D);
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax transmission of BLANK.FAX an all-white short run length file..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax transmission completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestTransmitFax03::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestTransmitFax04::CFaxTestTransmitFax04()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestTransmitFax04"));
-	} // CFaxTestTransmitFax04::CFaxTestTransmitFax04
-
-
-/**
- *  This tests the transmission of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestTransmitFax04::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass             = EClass2point0;
-	faxSettings.iPreferredECM         = 1;
-	faxSettings.iMaxSpeed             = 2400;
-	faxSettings.iMinSpeed             = 2400;
-	faxSettings.iPreferredResolution  = EFaxNormal;
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EDialAndTransmit); // Or EImmediateTransmit
-
-	//
-	// Generate a Fax header for transmitting...
-	//
-	TFaxHeaderInfo  faxHeader;
-
-	faxHeader.iHeaderFontWidthInBytes = 0;
-	
-	CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	TRAP_IGNORE(testheader->ReadFaxHeaderInfoL(faxHeader));
-	delete testheader;
-
-	GenerateHeaderFileL(faxSettings, *font8x16, 1, 16);
-
-	//
-	// Add the source file to the session...
-	//
-	faxSession->AddSourceL(_L("C:\\TWO.FAX"), Prefer2D);
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax transmission of TWO.FAX a two page fax..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax transmission completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestTransmitFax04::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestTransmitFax05::CFaxTestTransmitFax05()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestTransmitFax05"));
-	} // CFaxTestTransmitFax05::CFaxTestTransmitFax05
-
-
-/**
- *  This tests the transmission of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestTransmitFax05::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass             = EClassAuto;
-	faxSettings.iPreferredECM         = 1;
-	faxSettings.iMaxSpeed             = 14400;
-	faxSettings.iMinSpeed             = 2400;
-	faxSettings.iPreferredResolution  = EFaxNormal;
-	faxSettings.iPreferredCompression = EModifiedRead;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EDialAndTransmit); // Or EImmediateTransmit
-
-	//
-	// Generate a Fax header for transmitting...
-	//
-	TFaxHeaderInfo  faxHeader;
-
-	faxHeader.iHeaderFontWidthInBytes = 0;
-	
-	CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	TRAP_IGNORE(testheader->ReadFaxHeaderInfoL(faxHeader));
-	delete testheader;
-
-	GenerateHeaderFileL(faxSettings, *font24x16, 3, 16);
-
-	//
-	// Add the source files to the session. This will test out the multi page
-	// sends and also the overall sending of large complex fax images
-	// by sending whole of CHART4.FAX, pages 3 to 5 from SIX.FAX, followed by
-	// TWO.FAX starting from page 2 and followed by page 1 of BLANK.FAX.
-	//
-	faxSession->AddSourceL(_L("C:\\chart4.fax"), Prefer2D);
-	faxSession->AddSourceL(_L("C:\\SIX.FAX"), 3, 5);
-	faxSession->AddSourceL(_L("C:\\TWO.FAX"), 2);
-	faxSession->AddSourceL(_L("C:\\BLANK.FAX"), 1, 1);
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax transmission of a large complex fax set..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax transmission completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestTransmitFax05::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestTransmitFax06::CFaxTestTransmitFax06()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestTransmitFax06"));
-	} // CFaxTestTransmitFax06::CFaxTestTransmitFax06
-
-
-/**
- *  This tests the transmission of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestTransmitFax06::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass             = EClassAuto;
-	faxSettings.iPreferredECM         = 0;
-	faxSettings.iMaxSpeed             = 14400;
-	faxSettings.iMinSpeed             = 2400;
-	faxSettings.iPreferredResolution  = EFaxFine;
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EDialAndTransmit); // Or EImmediateTransmit
-
-	//
-	// Generate a Fax header for transmitting...
-	//
-	TFaxHeaderInfo  faxHeader;
-
-	faxHeader.iHeaderFontWidthInBytes = 0;
-	
-	CFaxHeaderLines*  testheader = CFaxHeaderLines::NewL();
-	TRAP_IGNORE(testheader->ReadFaxHeaderInfoL(faxHeader));
-	delete testheader;
-
-	GenerateHeaderFileL(faxSettings, *font24x16, 3, 16);
-
-	//
-	// Add the source files to the session. This tests a bad page fax.
-	//
-	faxSession->AddSourceL(_L("C:\\BADPAGE.FAX"), Prefer1D);
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax transmission of a bad page fax..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax transmission completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestTransmitFax06::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestReceiveFax01::CFaxTestReceiveFax01()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestReceiveFax01"));
-	} // CFaxTestReceiveFax01::CFaxTestReceiveFax01
-
-
-/**
- *  This tests the reception of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestReceiveFax01::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass = EClassAuto;  // Or EClass1, EClass2, EClass2point0
-	if (faxSettings.iFaxClass == EClass2point0  ||
-		faxSettings.iFaxClass == EClassAuto)
-		{
-		faxSettings.iPreferredECM = 0; // Or 1
-		}
-
-	faxSettings.iMaxSpeed = 14400; // 2400 to 14400 % 2400
-	faxSettings.iMinSpeed = 2400; // 2400 to 14400 % 2400
-	faxSettings.iPreferredResolution = EFaxNormal; // Or EFaxFine
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EWaitForRingAndReceive); // Or EDialAndReceiveFaxBack, EDialAndReceivePoll, EImmediateReceive
-	faxSession->SetReceiveFileName(_L("C:\\RECEIVE01.FAX"));
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax reception..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax reception completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestReceiveFax01::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestReceiveFax02::CFaxTestReceiveFax02()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestTransmitFax02"));
-	} // CFaxTestReceiveFax02::CFaxTestReceiveFax02
-
-
-/**
- *  This tests the reception of a fax, specifying the call object name first.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestReceiveFax02::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass = EClassAuto;  // Or EClass1, EClass2, EClass2point0
-	if (faxSettings.iFaxClass == EClass2point0  ||
-		faxSettings.iFaxClass == EClassAuto)
-		{
-		faxSettings.iPreferredECM = 0; // Or 1
-		}
-
-	faxSettings.iMaxSpeed = 14400; // 2400 to 14400 % 2400
-	faxSettings.iMinSpeed = 2400; // 2400 to 14400 % 2400
-	faxSettings.iPreferredResolution = EFaxNormal; // Or EFaxFine
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-
-	faxSession->SetMode(EWaitForRingAndReceive); // Or EDialAndReceiveFaxBack, EDialAndReceivePoll, EImmediateReceive
-	faxSession->SetReceiveFileName(_L("C:\\RECEIVE02.FAX"));
-
-	//
-	// For this test, find the name of the incoming call and request the fax
-	// session to open that call...
-	//
-	RTelServer  telServer;
-	RMobilePhone  phone;
-	RLine  line;
-	RCall  call;
-	TName  incomingCallName;
-	RCall::TStatus  callStatus;
-
-	TInt  result = telServer.Connect();
-	TESTCHECKL(result, KErrNone);
-	CleanupClosePushL(telServer);
-
-	result = telServer.LoadPhoneModule(KTEFaxTSYName);
-	TESTCHECKL(result, KErrNone);
-
-	result = phone.Open(telServer, KTEFaxPhoneName);
-	TESTCHECKL(result, KErrNone);
-	CleanupClosePushL(phone);
-
-	result = line.Open(phone, KTEFaxLineName);
-	TESTCHECKL(result, KErrNone);
-	CleanupClosePushL(line);
-
-	TRequestStatus  status;
-
-	line.NotifyIncomingCall(status, incomingCallName);
-	User::WaitForRequest(status);
-	TESTCHECKL(status.Int(), KErrNone);
-	INFO_PRINTF2(_L("Incoming fax call is \"%S\"..."), &incomingCallName);
-
-	faxSession->SetCallObjectName(incomingCallName);
-
-	//
-	// Open the incoming call and request a notification of state change. If
-	// the Fax Server were to open a different RCall object then this would
-	// not work - thus it is a good test of SetCallObjectName()...
-	//
-	result = call.OpenExistingCall(line, incomingCallName);
-	TESTCHECKL(result, KErrNone);
-	CleanupClosePushL(call);
-
-	callStatus = RCall::EStatusUnknown;
-	call.NotifyStatusChange(status, callStatus);
-	TESTCHECK(status.Int(), KRequestPending);
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax reception..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax reception completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Check that the notify operation returned as the fax server answered the
-	// call...
-	//
-	User::WaitForRequest(status);
-	TESTCHECK(status.Int(), KErrNone);
-	TESTCHECK(callStatus, RCall::EStatusAnswering);
-
-	//
-	// Clean up Etel handles...
-	//
-	CleanupStack::PopAndDestroy(&call);
-	CleanupStack::PopAndDestroy(&line);
-	CleanupStack::PopAndDestroy(&phone);
-	CleanupStack::PopAndDestroy(&telServer);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestReceiveFax02::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestReceiveFax03::CFaxTestReceiveFax03()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestReceiveFax03"));
-	} // CFaxTestReceiveFax03::CFaxTestReceiveFax03
-
-
-/**
- *  This tests the reception of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestReceiveFax03::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass = EClassAuto;  // Or EClass1, EClass2, EClass2point0
-	if (faxSettings.iFaxClass == EClass2point0  ||
-		faxSettings.iFaxClass == EClassAuto)
-		{
-		faxSettings.iPreferredECM = 0; // Or 1
-		}
-
-	faxSettings.iMaxSpeed = 14400; // 2400 to 14400 % 2400
-	faxSettings.iMinSpeed = 2400; // 2400 to 14400 % 2400
-	faxSettings.iPreferredResolution = EFaxNormal; // Or EFaxFine
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-	faxSession->SetMode(EWaitForRingAndReceive); // Or EDialAndReceiveFaxBack, EDialAndReceivePoll, EImmediateReceive
-	faxSession->SetReceiveFileName(_L("C:\\RECEIVE03.FAX"));
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax reception..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax reception completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestReceiveFax03::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestReceiveFax04::CFaxTestReceiveFax04()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestReceiveFax04"));
-	} // CFaxTestReceiveFax04::CFaxTestReceiveFax04
-
-
-/**
- *  This tests the reception of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestReceiveFax04::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass = EClassAuto;  // Or EClass1, EClass2, EClass2point0
-	if (faxSettings.iFaxClass == EClass2point0  ||
-		faxSettings.iFaxClass == EClassAuto)
-		{
-		faxSettings.iPreferredECM = 0; // Or 1
-		}
-
-	faxSettings.iMaxSpeed = 14400; // 2400 to 14400 % 2400
-	faxSettings.iMinSpeed = 2400; // 2400 to 14400 % 2400
-	faxSettings.iPreferredResolution = EFaxNormal; // Or EFaxFine
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-
-	faxSession->SetMode(EWaitForRingAndReceive); // Or EDialAndReceiveFaxBack, EDialAndReceivePoll, EImmediateReceive
-	faxSession->SetReceiveFileName(_L("C:\\RECEIVE04.FAX"));
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-	
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax reception..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax reception completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestReceiveFax04::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestReceiveFax05::CFaxTestReceiveFax05()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestReceiveFax05"));
-	} // CFaxTestReceiveFax05::CFaxTestReceiveFax05
-
-
-/**
- *  This tests the reception of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestReceiveFax05::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass = EClassAuto;  // Or EClass1, EClass2, EClass2point0
-	if (faxSettings.iFaxClass == EClass2point0  ||
-		faxSettings.iFaxClass == EClassAuto)
-		{
-		faxSettings.iPreferredECM = 0; // Or 1
-		}
-
-	faxSettings.iMaxSpeed = 14400; // 2400 to 14400 % 2400
-	faxSettings.iMinSpeed = 2400; // 2400 to 14400 % 2400
-	faxSettings.iPreferredResolution = EFaxNormal; // Or EFaxFine
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-
-	faxSession->SetMode(EWaitForRingAndReceive); // Or EDialAndReceiveFaxBack, EDialAndReceivePoll, EImmediateReceive
-	faxSession->SetReceiveFileName(_L("C:\\RECEIVE05.FAX"));
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax reception..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax reception completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestReceiveFax05::doTestStepL
-
-
-/**
- *  Each test step initialises it's own name
- */
-CFaxTestReceiveFax06::CFaxTestReceiveFax06()
-	{
-	//
-	// Store the name of this test case.  This is the name that is used by
-	// the script file.
-	//
-	SetTestStepName(_L("TestReceiveFax06"));
-	} // CFaxTestReceiveFax06::CFaxTestReceiveFax06
-
-
-/**
- *  This tests the reception of a straight forward test fax.
- *
- *  @return Test verdict for this test.
- */	
-enum TVerdict CFaxTestReceiveFax06::doTestStepL()
-	{
-	TFaxSettings  faxSettings;
-
-	//
-	// Before instantiating CFaxTransfer we have to have a valid set of
-	// TFaxSettings to pass in to it - so our first step must always be
-	// to read the fax settings or set up suitable defaults.
-	//
-	TRAPD(leaveCode, ReadFaxCommDBSettingsL(faxSettings));
-	if (leaveCode != KErrNone)
-		{
-		INFO_PRINTF2(_L("ReadFaxCommDBSettingsL() error %d!"), leaveCode);
-		}
-	TESTCHECKL(leaveCode, KErrNone);
-
-	//
-	// Set the Fax parameters...
-	//
-	faxSettings.iFaxClass = EClassAuto;  // Or EClass1, EClass2, EClass2point0
-	if (faxSettings.iFaxClass == EClass2point0  ||
-		faxSettings.iFaxClass == EClassAuto)
-		{
-		faxSettings.iPreferredECM = 0; // Or 1
-		}
-
-	faxSettings.iMaxSpeed = 14400; // 2400 to 14400 % 2400
-	faxSettings.iMinSpeed = 2400; // 2400 to 14400 % 2400
-	faxSettings.iPreferredResolution = EFaxNormal; // Or EFaxFine
-	faxSettings.iPreferredCompression = EModifiedHuffman;
-	faxSettings.iFaxId.Copy(_L8("+441632960000"));
-
-	//
-	// Start the Fax session...
-	//
-	CFaxTransfer*  faxSession = NULL;
-
-	TRAPD(startSessionResult, faxSession = CFaxTransfer::NewL(faxSettings));
-	TESTCHECKL(startSessionResult, KErrNone);
-	TESTL(faxSession != NULL);
-
-
-	faxSession->SetMode(EWaitForRingAndReceive); // Or EDialAndReceiveFaxBack, EDialAndReceivePoll, EImmediateReceive
-	faxSession->SetReceiveFileName(_L("C:\\RECEIVE06.FAX"));
-
-	//
-	// Set the destination phone number if needed...
-	//
-	if ((faxSession->iMode & KFaxNoDial) == 0)
-		{
-		TBuf8<32>  phoneNumber;
-
-		ReadDestPhoneNumberFromIniFileL(phoneNumber);
-		faxSession->SetPhoneNumberL(phoneNumber);
-		}
-
-	//
-	// Begin transfering the fax...
-	//
-	INFO_PRINTF1(_L("Starting fax reception..."));
-	TInt  transferResult = BeginFaxTransfer(faxSession);
-	INFO_PRINTF2(_L("Fax reception completed with return code %d"), transferResult);
-	TESTCHECK(transferResult, KErrNone);
-
-	//
-	// Clean up the Fax session...
-	//
-	faxSession->RemoveAllSources();
-	delete faxSession;
-	faxSession = NULL;
-
-	return TestStepResult();
-	} // CFaxTestReceiveFax06::doTestStepL
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_FaxTest.h	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Telephony Fax Test header file.
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#ifndef __TE_FAX_H__
-#define __TE_FAX_H__
-
-
-class CFaxTestFaxDefinition : public CFaxTestStep
-	{
-public:
-	CFaxTestFaxDefinition();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestFaxStorage : public CFaxTestStep
-	{
-public:
-	CFaxTestFaxStorage();
-	virtual enum TVerdict doTestStepL();
- 
-	void Test1L(TInt aNumberLines, TBuf8<216>& aScanLineWrite, TFaxResolution aRes);
-	void Test2L(TInt aNumberLines, TBuf8<216>& aScanLineWrite1,
-				TBuf8<216>&  aScanLineWrite2, TFaxResolution aRes);
-	void Test3L(TInt aNumberLines, TInt aNumberPages);
-	void Test4L(TInt aNumberLines);
-	void Test5L(TFaxResolution aRes, TFaxBufSenderId& aSenderId,
-				TFaxCompression aF1, TInt aF2);
-
-private:
-    CWriteFaxFile*  iWriteFaxFile;
-	CReadFaxFile*  iReadFaxFile;
-	TFaxBufSenderId  iSenderId;
-	};
-
-
-class CFaxTestFaxCoding : public CFaxTestStep
-	{
-public:
-	CFaxTestFaxCoding();
-	virtual enum TVerdict doTestStepL();
-
-	TInt FindEndOfLine(TDes8& aEncodedDes);
-	};
-
-
-class CFaxTestFaxHeaderDefinition : public CFaxTestStep
-	{
-public:
-	CFaxTestFaxHeaderDefinition();
-	virtual enum TVerdict doTestStepL();
-
-	void GenerateFaxFileL(RFile& aFile);
-	void GenerateHeaderFileL(const TUint8* aFont, TInt aWidth, TInt aHeight);
-	};
-
-
-class CFaxTestTransmitFax01 : public CFaxTestStep
-	{
-public:
-	CFaxTestTransmitFax01();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestTransmitFax02 : public CFaxTestStep
-	{
-public:
-	CFaxTestTransmitFax02();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestTransmitFax03 : public CFaxTestStep
-	{
-public:
-	CFaxTestTransmitFax03();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestTransmitFax04 : public CFaxTestStep
-	{
-public:
-	CFaxTestTransmitFax04();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestTransmitFax05 : public CFaxTestStep
-	{
-public:
-	CFaxTestTransmitFax05();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestTransmitFax06 : public CFaxTestStep
-	{
-public:
-	CFaxTestTransmitFax06();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestReceiveFax01 : public CFaxTestStep
-	{
-public:
-	CFaxTestReceiveFax01();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestReceiveFax02 : public CFaxTestStep
-	{
-public:
-	CFaxTestReceiveFax02();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestReceiveFax03 : public CFaxTestStep
-	{
-public:
-	CFaxTestReceiveFax03();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestReceiveFax04 : public CFaxTestStep
-	{
-public:
-	CFaxTestReceiveFax04();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestReceiveFax05 : public CFaxTestStep
-	{
-public:
-	CFaxTestReceiveFax05();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-class CFaxTestReceiveFax06 : public CFaxTestStep
-	{
-public:
-	CFaxTestReceiveFax06();
-	virtual enum TVerdict doTestStepL();
-	};
-
-
-#endif // __TE_FAXTEST_H__
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_9210_IR.cfg	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2317 +0,0 @@
-############################################################
-## AUTO-GENERATED CONFIGURATION FILE
-## CommDB Database Dump Utility
-## 1.1
-############################################################
-
-############################################################
-## Network
-## 
-[Network]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Intranet
-	FIELD_COUNT=1
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=mRouter
-	FIELD_COUNT=1
-END_ADD
-
-
-############################################################
-## ModemBearer
-## 
-[ModemBearer]
-ADD_TEMPLATE
-	Name=Default Modem
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=0
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Null Modem 115200bps
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=US Robotics Sportster
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=196
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=AFTERDIALUNTILANSWER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT&F1
-	DataInitString=AT
-	FaxInitString=AT&d2
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=Dacom Surfer
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=196
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=AFTERDIALUNTILANSWER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT&F
-	DataInitString=AT
-	FaxInitString=AT&d2
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=GSM Mobile Phone via Infrared
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=196
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=GSM Mobile Phone via Serial
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=196
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=GPRS Ericsson R520m via IR
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=GPRS Ericsson R520m/T68i via Serial
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	IspInitString=*99***1#
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=70
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 9
-	Name=GPRS Motorola Mobile Phone via Serial
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 10
-	Name=WinTunnel Modem
-	Agent=null.agt
-	IfName=PPP
-	PortName=COMM::6
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 11
-	Name=mRouterWinsBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=WINS::0
-	TSYName=MM
-	CSYName=WINSCSY
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 12
-	Name=mRouterRs232Bearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 13
-	Name=mRouterIrBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 14
-	Name=mRouterBtBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=BTCOMM::0
-	TSYName=MM
-	CSYName=BTCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 15
-	Name=mRouterUsbBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=ACM::0
-	TSYName=MM
-	CSYName=ECACM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-
-############################################################
-## LANBearer
-## 
-[LANBearer]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=EKA1 Assabet on-board Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=ethercard
-	LDDName=EtherCard
-	PDDFilename=EtherSmc
-	PDDName=EtherCard.Smc
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=EKA2 Assabet on-board Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=enet
-	LDDName=Ethernet
-	PDDFilename=ethernet
-	PDDName=Ethernet.Assabet
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=EKA1 emulator Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=ethercard
-	LDDName=Ethercard
-	PDDFilename=etherwins
-	PDDName=Ethercard.wins
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=EKA2 emulator Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=enet
-	LDDName=Ethernet
-	PDDFilename=ethernet
-	PDDName=Ethernet.Wins
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-############################################################
-## Location
-## 
-[Location]
-ADD_TEMPLATE
-	Name=Default Location
-	IntlPrefixCode=+
-	NatPrefixCode=0
-	NatCode=44
-	Mobile=TRUE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=8
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Office
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=171
-	DialOutCode=,
-	Mobile=FALSE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=10
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=Office Direct Dial
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=171
-	Mobile=FALSE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=9
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=Mobile
-	IntlPrefixCode=+
-	NatPrefixCode=0
-	NatCode=44
-	Mobile=TRUE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=Home
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=181
-	Mobile=FALSE
-	UsePulseDial=TRUE
-	WaitForDialTone=TRUE
-	PauseAfterDialout=0
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## Chargecard
-## 
-[Chargecard]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Dummy BT Chargecard
-	AccountNumber=144,12345678
-	Pin=0000
-	LocalRule=HG
-	NatRule=HFG
-	IntlRule=HEFG
-	FIELD_COUNT=6
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dummy Mercury Chargecard
-	AccountNumber=0500800800,,12345678
-	Pin=****
-	LocalRule=HG
-	NatRule=J,K,0FG
-	IntlRule=HEFG
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## GlobalSettings
-## 
-[GlobalSettings]
-ADD_SECTION
-	WAPAccessPoint=1
-	RedialAttempts=3
-	SmsBearer=1
-	SmsReceiveMode=2
-	GPRSAttachMode=1
-	AcceptIncomingGprs=1
-	GPRSClassCBearer=GSM
-	ConnectionAttempts=2
-	ModemForDataAndFax=2
-	ModemForPhoneServicesAndSMS=2
-	LocationForDataAndFax=2
-	LocationForPhoneServicesAndSMS=2
-	DefaultNetwork=1
-	BearerAvailabilityCheckTSY=mm
-	FIELD_COUNT=14
-END_ADD
-
-
-############################################################
-## DialOutISP
-## 
-[DialOutISP]
-ADD_TEMPLATE
-	Name=Default Dial Out ISP
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=TRUE
-	DisplayPCT=FALSE
-	IfPromptForAuth=TRUE
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=28
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=NT RAS
-	Description=Test
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=TRUE
-	LoginScript=CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND "CLIENT"+<0x0d>\nWAIT 3\n{\n"SERVER" OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=35
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=ISP01
-	Description=PlaceHolder for ISP01
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=ISP02
-	Description=PlaceHolder for ISP02
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=ISP03
-	Description=PlaceHolder for ISP03
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=ISP04
-	Description=PlaceHolder for ISP04
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=ISP05
-	Description=PlaceHolder for ISP05
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=mRouterDialOutIsp
-	Description=mRouterDialOutIsp
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=IfAuthPass=
-	IfAuthPass=AuthRetries=0
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-
-############################################################
-## DialInISP
-## 
-[DialInISP]
-ADD_TEMPLATE
-	Name=Default Dial In ISP
-	UseLoginScript=FALSE
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=9
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dial In ISP01
-	UseLoginScript=FALSE
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## OutgoingGPRS
-## 
-[OutgoingGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=GPRS01
-	APN=gprs01APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=GPRS02
-	APN=gprs02APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=GPRS03
-	APN=gprs03APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-
-############################################################
-## IncomingGPRS
-## 
-[IncomingGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Incoming GPRS Settings PlaceHolder
-	APN=Test
-	PDPType=IPV4
-	ReqPrecedence=1
-	ReqDelay=1
-	ReqReliability=1
-	ReqPeakThroughput=1
-	ReqMeanThroughput=1
-	MinPrecedence=1
-	MinDelay=1
-	MinReliability=1
-	MinPeakThroughput=1
-	MinMeanThroughput=1
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=1
-	IpDNSAddrFromServer=TRUE
-	IpNameServer1=0.0.0.0
-	IpNameServer2=0.0.0.0
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	PDPAddress=0.0.0.0
-	IpAddrFromServer=TRUE
-	FIELD_COUNT=29
-END_ADD
-
-
-############################################################
-## DefaultGPRS
-## 
-[DefaultGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Dummy Default GPRS Settings
-	Usage=1
-	APN=Access point name
-	PDPType=IPV6
-	PDPAddress=www.wid.com
-	Precedence=1
-	Delay=1
-	Reliability=1
-	PeakThroughput=1
-	MeanThroughput=1
-	MinPrecedence=1
-	MinDelay=1
-	MinReliability=1
-	MinPeakThroughput=1
-	MinMeanThroughput=1
-	DataCompression=TRUE
-	HeaderCompression=TRUE
-	GprsUseEdge=FALSE
-	AnonymousAccess=TRUE
-	FIELD_COUNT=19
-END_ADD
-
-
-############################################################
-## CDMA2000PacketServiceTable
-## 
-[CDMA2000PacketServiceTable]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=test name cdma2000
-	IwfName=Test2000
-	ServiceOption=HIGHSPEEDCDMA2000DATA
-	PdpType=IPV4
-	ReqFwdPriority=PRIORITY04
-	ReqRevPriority=PRIORITY04
-	ReqFwdBitrate=32KBPS
-	ReqRevBitrate=32KBPS
-	ReqFwdLoss=LOSS1
-	ReqRevLoss=LOSS1
-	ReqFwdMaxdelay=40MS
-	ReqRevMaxdelay=40MS
-	MinFwdBitrate=32KBPS
-	MinRevBitrate=32KBPS
-	AccptFwdLoss=LOSS2
-	AccptRevLoss=LOSS2
-	AccptFwdMaxdelay=120MS
-	AccptRevMaxdelay=120MS
-	DataCompression=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=1
-	IpNetMask=0.255.255.255
-	IpGateway=10.0.0.1
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableLCPExtension=TRUE
-	DisablePlainTextAuth=TRUE
-	ApType=2
-	QosWarningTimeout=1000000
-	RlpMode=TRANSPARENT
-	CDMAMobileIP=FALSE
-	CDMAMobileIPTimeout=10000000
-	CDMANaiType=0
-	FIELD_COUNT=37
-END_ADD
-
-
-############################################################
-## DefaultCDMA2000SettingsTable
-## 
-[DefaultCDMA2000SettingsTable]
-
-############################################################
-## LANService
-## 
-[LANService]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Ethernet
-	IfNetworks=ip,ip6
-	IpNetMask=255.255.255.0
-	IpGateway=194.72.6.1
-	IpAddrFromServer=TRUE
-	IpAddr=192.168.0.100
-	IpDNSAddrFromServer=FALSE
-	IpNameServer1=194.72.6.51
-	IpNameServer2=194.72.6.52
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## IAP
-## 
-[IAP]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=NT RAS with Null Modem
-	IAPService=2
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=CSD IAP PlaceHolder01
-	IAPService=3
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=CSD IAP PlaceHolder02
-	IAPService=4
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=GPRS IAP PlaceHolder01
-	IAPService=1
-	IAPServiceType=OutgoingGPRS
-	IAPBearer=8
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=4
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=GPRS IAP PlaceHolder02
-	IAPService=2
-	IAPServiceType=OutgoingGPRS
-	IAPBearer=8
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=4
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=mRouter Rs232
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=12
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=mRouter Ir
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=13
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=mRouter BT
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=14
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 9
-	Name=mRouter USB
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=15
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 10
-	Name=mRouter Wins
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=11
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 11
-	Name=VPN IAP
-	IAPService=2
-	IAPServiceType=VpnService
-	IAPBearer=2
-	IAPBearerType=VirtualBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 12
-	Name=EKA1 Assabet on-board ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=1
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 13
-	Name=EKA2 Assabet on-board ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=2
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 14
-	Name=EKA1 emulator ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=3
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 15
-	Name=EKA2 emulator ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=4
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-############################################################
-## ConnectionPreferences
-## 
-[ConnectionPreferences]
-ADD_SECTION
-	Ranking=0
-	Direction=OUTGOING
-	DialogPref=PROMPT
-	BearerSet=CSD
-	IAP=1
-	FIELD_COUNT=5
-END_ADD
-
-ADD_SECTION
-	Ranking=1
-	Direction=OUTGOING
-	DialogPref=PROMPT
-	BearerSet=CSD
-	IAP=1
-	FIELD_COUNT=5
-END_ADD
-
-
-############################################################
-## BTDeviceTable
-## 
-[BTDeviceTable]
-
-############################################################
-## BTSecurityTable
-## 
-[BTSecurityTable]
-
-############################################################
-## BTDefaultTable
-## 
-[BTDefaultTable]
-
-############################################################
-## Proxies
-## 
-[Proxies]
-ADD_SECTION
-# COMMDB_ID = 1
-	ISP=2
-	ProxyServiceType=DialOutISP
-	UseProxyServer=TRUE
-	ProxyServerName=www.dummyproxy.com
-	ProtocolName=http
-	PortNumber=80
-	Exceptions=www.dummyproxy.com/exception
-	FIELD_COUNT=7
-END_ADD
-
-
-############################################################
-## AgentLookup
-## 
-[AgentLookup]
-
-############################################################
-## WAPAccessPoint
-## 
-[WAPAccessPoint]
-ADD_TEMPLATE
-	Name=Default Dial In ISP
-	CurrentBearer=WAPIPBearer
-	FIELD_COUNT=2
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dummy WAP Settings
-	CurrentBearer=WAPIPBearer
-	StartPage=www.wapstart.com
-	FIELD_COUNT=3
-END_ADD
-
-
-############################################################
-## WAPIPBearer
-## 
-[WAPIPBearer]
-ADD_TEMPLATE
-	AccessPointId=0
-	IAP=0
-	WSPOption=CONNECTIONLESS
-	Security=FALSE
-	ProxyPortNumber=0
-	FIELD_COUNT=5
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	AccessPointId=2
-	GatewayAddress=www.wapgateway.com
-	IAP=2
-	WSPOption=CONNECTIONORIENTED
-	Security=FALSE
-	ProxyPortNumber=1
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## WAPSMSBearer
-## 
-[WAPSMSBearer]
-ADD_TEMPLATE
-	AccessPointId=0
-	WSPOption=CONNECTIONLESS
-	Security=FALSE
-	FIELD_COUNT=3
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	AccessPointId=2
-	GatewayAddress=+441632960000
-	ServiceCentreAddress=+441632960000
-	WSPOption=CONNECTIONORIENTED
-	Security=FALSE
-	FIELD_COUNT=5
-END_ADD
-
-
-############################################################
-## SecureSocketTable
-## 
-[SecureSocketTable]
-ADD_SECTION
-# COMMDB_ID = 1
-	ProtocolName=ssl3.0
-	ProtoLibrary=ssladaptor.dll
-	FIELD_COUNT=2
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	ProtocolName=tls1.0
-	ProtoLibrary=ssladaptor.dll
-	FIELD_COUNT=2
-END_ADD
-
-
-############################################################
-## BTPersistTable
-## 
-[BTPersistTable]
-############################################################
-## ERROR
-## AccessTypeTable
-############################################################
-############################################################
-## ERROR
-## Error opening table
-############################################################
-############################################################
-## ERROR
-## Unable to find the specified object or missing required field values
-############################################################
-
-############################################################
-## VirtualBearer
-## 
-[VirtualBearer]
-ADD_TEMPLATE
-	Name=Default VPN Bearer
-	Agent=VPN.agt
-	IfName=VPN.nif
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	FIELD_COUNT=6
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=VPN Bearer1
-	Agent=ntras.agt
-	IfName=ppp.nif
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## VpnService
-## 
-[VpnService]
-ADD_TEMPLATE
-	Name=Default VPN
-	Policy=DefaultVPNpolicy
-	HomeIAP=1
-	HomeNetwork=0
-	FIELD_COUNT=4
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=VPN1
-	Policy=VPNpolicy1
-	HomeIAP=2
-	HomeNetwork=1
-	FIELD_COUNT=4
-END_ADD
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_9210_comm0.cfg	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2317 +0,0 @@
-############################################################
-## AUTO-GENERATED CONFIGURATION FILE
-## CommDB Database Dump Utility
-## 1.1
-############################################################
-
-############################################################
-## Network
-## 
-[Network]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Intranet
-	FIELD_COUNT=1
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=mRouter
-	FIELD_COUNT=1
-END_ADD
-
-
-############################################################
-## ModemBearer
-## 
-[ModemBearer]
-ADD_TEMPLATE
-	Name=Default Modem
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=0
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Null Modem 19200bps
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=US Robotics Sportster
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=196
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=AFTERDIALUNTILANSWER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT&F1
-	DataInitString=AT
-	FaxInitString=AT&d2
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=Dacom Surfer
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=196
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=AFTERDIALUNTILANSWER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT&F
-	DataInitString=AT
-	FaxInitString=AT&d2
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=GSM Mobile Phone via Infrared
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=196
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=GSM Mobile Phone via Serial
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=196
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=GPRS Ericsson R520m via IR
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=GPRS Ericsson R520m/T68i via Serial
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	IspInitString=*99***1#
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=70
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 9
-	Name=GPRS Motorola Mobile Phone via Serial
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 10
-	Name=WinTunnel Modem
-	Agent=null.agt
-	IfName=PPP
-	PortName=COMM::6
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 11
-	Name=mRouterWinsBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=WINS::0
-	TSYName=MM
-	CSYName=WINSCSY
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 12
-	Name=mRouterRs232Bearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 13
-	Name=mRouterIrBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 14
-	Name=mRouterBtBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=BTCOMM::0
-	TSYName=MM
-	CSYName=BTCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 15
-	Name=mRouterUsbBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=ACM::0
-	TSYName=MM
-	CSYName=ECACM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-
-############################################################
-## LANBearer
-## 
-[LANBearer]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=EKA1 Assabet on-board Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=ethercard
-	LDDName=EtherCard
-	PDDFilename=EtherSmc
-	PDDName=EtherCard.Smc
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=EKA2 Assabet on-board Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=enet
-	LDDName=Ethernet
-	PDDFilename=ethernet
-	PDDName=Ethernet.Assabet
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=EKA1 emulator Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=ethercard
-	LDDName=Ethercard
-	PDDFilename=etherwins
-	PDDName=Ethercard.wins
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=EKA2 emulator Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=enet
-	LDDName=Ethernet
-	PDDFilename=ethernet
-	PDDName=Ethernet.Wins
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-############################################################
-## Location
-## 
-[Location]
-ADD_TEMPLATE
-	Name=Default Location
-	IntlPrefixCode=+
-	NatPrefixCode=0
-	NatCode=44
-	Mobile=TRUE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=8
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Office
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=171
-	DialOutCode=,
-	Mobile=FALSE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=10
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=Office Direct Dial
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=171
-	Mobile=FALSE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=9
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=Mobile
-	IntlPrefixCode=+
-	NatPrefixCode=0
-	NatCode=44
-	Mobile=TRUE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=Home
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=181
-	Mobile=FALSE
-	UsePulseDial=TRUE
-	WaitForDialTone=TRUE
-	PauseAfterDialout=0
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## Chargecard
-## 
-[Chargecard]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Dummy BT Chargecard
-	AccountNumber=144,12345678
-	Pin=0000
-	LocalRule=HG
-	NatRule=HFG
-	IntlRule=HEFG
-	FIELD_COUNT=6
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dummy Mercury Chargecard
-	AccountNumber=0500800800,,12345678
-	Pin=****
-	LocalRule=HG
-	NatRule=J,K,0FG
-	IntlRule=HEFG
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## GlobalSettings
-## 
-[GlobalSettings]
-ADD_SECTION
-	WAPAccessPoint=1
-	RedialAttempts=3
-	SmsBearer=1
-	SmsReceiveMode=2
-	GPRSAttachMode=1
-	AcceptIncomingGprs=1
-	GPRSClassCBearer=GSM
-	ConnectionAttempts=2
-	ModemForDataAndFax=2
-	ModemForPhoneServicesAndSMS=2
-	LocationForDataAndFax=2
-	LocationForPhoneServicesAndSMS=2
-	DefaultNetwork=1
-	BearerAvailabilityCheckTSY=mm
-	FIELD_COUNT=14
-END_ADD
-
-
-############################################################
-## DialOutISP
-## 
-[DialOutISP]
-ADD_TEMPLATE
-	Name=Default Dial Out ISP
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=TRUE
-	DisplayPCT=FALSE
-	IfPromptForAuth=TRUE
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=28
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=NT RAS
-	Description=Test
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=TRUE
-	LoginScript=CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND "CLIENT"+<0x0d>\nWAIT 3\n{\n"SERVER" OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=35
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=ISP01
-	Description=PlaceHolder for ISP01
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=ISP02
-	Description=PlaceHolder for ISP02
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=ISP03
-	Description=PlaceHolder for ISP03
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=ISP04
-	Description=PlaceHolder for ISP04
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=ISP05
-	Description=PlaceHolder for ISP05
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=mRouterDialOutIsp
-	Description=mRouterDialOutIsp
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=IfAuthPass=
-	IfAuthPass=AuthRetries=0
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-
-############################################################
-## DialInISP
-## 
-[DialInISP]
-ADD_TEMPLATE
-	Name=Default Dial In ISP
-	UseLoginScript=FALSE
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=9
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dial In ISP01
-	UseLoginScript=FALSE
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## OutgoingGPRS
-## 
-[OutgoingGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=GPRS01
-	APN=gprs01APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=GPRS02
-	APN=gprs02APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=GPRS03
-	APN=gprs03APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-
-############################################################
-## IncomingGPRS
-## 
-[IncomingGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Incoming GPRS Settings PlaceHolder
-	APN=Test
-	PDPType=IPV4
-	ReqPrecedence=1
-	ReqDelay=1
-	ReqReliability=1
-	ReqPeakThroughput=1
-	ReqMeanThroughput=1
-	MinPrecedence=1
-	MinDelay=1
-	MinReliability=1
-	MinPeakThroughput=1
-	MinMeanThroughput=1
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=1
-	IpDNSAddrFromServer=TRUE
-	IpNameServer1=0.0.0.0
-	IpNameServer2=0.0.0.0
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	PDPAddress=0.0.0.0
-	IpAddrFromServer=TRUE
-	FIELD_COUNT=29
-END_ADD
-
-
-############################################################
-## DefaultGPRS
-## 
-[DefaultGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Dummy Default GPRS Settings
-	Usage=1
-	APN=Access point name
-	PDPType=IPV6
-	PDPAddress=www.wid.com
-	Precedence=1
-	Delay=1
-	Reliability=1
-	PeakThroughput=1
-	MeanThroughput=1
-	MinPrecedence=1
-	MinDelay=1
-	MinReliability=1
-	MinPeakThroughput=1
-	MinMeanThroughput=1
-	DataCompression=TRUE
-	HeaderCompression=TRUE
-	GprsUseEdge=FALSE
-	AnonymousAccess=TRUE
-	FIELD_COUNT=19
-END_ADD
-
-
-############################################################
-## CDMA2000PacketServiceTable
-## 
-[CDMA2000PacketServiceTable]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=test name cdma2000
-	IwfName=Test2000
-	ServiceOption=HIGHSPEEDCDMA2000DATA
-	PdpType=IPV4
-	ReqFwdPriority=PRIORITY04
-	ReqRevPriority=PRIORITY04
-	ReqFwdBitrate=32KBPS
-	ReqRevBitrate=32KBPS
-	ReqFwdLoss=LOSS1
-	ReqRevLoss=LOSS1
-	ReqFwdMaxdelay=40MS
-	ReqRevMaxdelay=40MS
-	MinFwdBitrate=32KBPS
-	MinRevBitrate=32KBPS
-	AccptFwdLoss=LOSS2
-	AccptRevLoss=LOSS2
-	AccptFwdMaxdelay=120MS
-	AccptRevMaxdelay=120MS
-	DataCompression=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=1
-	IpNetMask=0.255.255.255
-	IpGateway=10.0.0.1
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableLCPExtension=TRUE
-	DisablePlainTextAuth=TRUE
-	ApType=2
-	QosWarningTimeout=1000000
-	RlpMode=TRANSPARENT
-	CDMAMobileIP=FALSE
-	CDMAMobileIPTimeout=10000000
-	CDMANaiType=0
-	FIELD_COUNT=37
-END_ADD
-
-
-############################################################
-## DefaultCDMA2000SettingsTable
-## 
-[DefaultCDMA2000SettingsTable]
-
-############################################################
-## LANService
-## 
-[LANService]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Ethernet
-	IfNetworks=ip,ip6
-	IpNetMask=255.255.255.0
-	IpGateway=194.72.6.1
-	IpAddrFromServer=TRUE
-	IpAddr=192.168.0.100
-	IpDNSAddrFromServer=FALSE
-	IpNameServer1=194.72.6.51
-	IpNameServer2=194.72.6.52
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## IAP
-## 
-[IAP]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=NT RAS with Null Modem
-	IAPService=2
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=CSD IAP PlaceHolder01
-	IAPService=3
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=CSD IAP PlaceHolder02
-	IAPService=4
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=GPRS IAP PlaceHolder01
-	IAPService=1
-	IAPServiceType=OutgoingGPRS
-	IAPBearer=8
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=4
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=GPRS IAP PlaceHolder02
-	IAPService=2
-	IAPServiceType=OutgoingGPRS
-	IAPBearer=8
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=4
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=mRouter Rs232
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=12
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=mRouter Ir
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=13
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=mRouter BT
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=14
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 9
-	Name=mRouter USB
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=15
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 10
-	Name=mRouter Wins
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=11
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 11
-	Name=VPN IAP
-	IAPService=2
-	IAPServiceType=VpnService
-	IAPBearer=2
-	IAPBearerType=VirtualBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 12
-	Name=EKA1 Assabet on-board ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=1
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 13
-	Name=EKA2 Assabet on-board ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=2
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 14
-	Name=EKA1 emulator ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=3
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 15
-	Name=EKA2 emulator ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=4
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-############################################################
-## ConnectionPreferences
-## 
-[ConnectionPreferences]
-ADD_SECTION
-	Ranking=0
-	Direction=OUTGOING
-	DialogPref=PROMPT
-	BearerSet=CSD
-	IAP=1
-	FIELD_COUNT=5
-END_ADD
-
-ADD_SECTION
-	Ranking=1
-	Direction=OUTGOING
-	DialogPref=PROMPT
-	BearerSet=CSD
-	IAP=1
-	FIELD_COUNT=5
-END_ADD
-
-
-############################################################
-## BTDeviceTable
-## 
-[BTDeviceTable]
-
-############################################################
-## BTSecurityTable
-## 
-[BTSecurityTable]
-
-############################################################
-## BTDefaultTable
-## 
-[BTDefaultTable]
-
-############################################################
-## Proxies
-## 
-[Proxies]
-ADD_SECTION
-# COMMDB_ID = 1
-	ISP=2
-	ProxyServiceType=DialOutISP
-	UseProxyServer=TRUE
-	ProxyServerName=www.dummyproxy.com
-	ProtocolName=http
-	PortNumber=80
-	Exceptions=www.dummyproxy.com/exception
-	FIELD_COUNT=7
-END_ADD
-
-
-############################################################
-## AgentLookup
-## 
-[AgentLookup]
-
-############################################################
-## WAPAccessPoint
-## 
-[WAPAccessPoint]
-ADD_TEMPLATE
-	Name=Default Dial In ISP
-	CurrentBearer=WAPIPBearer
-	FIELD_COUNT=2
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dummy WAP Settings
-	CurrentBearer=WAPIPBearer
-	StartPage=www.wapstart.com
-	FIELD_COUNT=3
-END_ADD
-
-
-############################################################
-## WAPIPBearer
-## 
-[WAPIPBearer]
-ADD_TEMPLATE
-	AccessPointId=0
-	IAP=0
-	WSPOption=CONNECTIONLESS
-	Security=FALSE
-	ProxyPortNumber=0
-	FIELD_COUNT=5
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	AccessPointId=2
-	GatewayAddress=www.wapgateway.com
-	IAP=2
-	WSPOption=CONNECTIONORIENTED
-	Security=FALSE
-	ProxyPortNumber=1
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## WAPSMSBearer
-## 
-[WAPSMSBearer]
-ADD_TEMPLATE
-	AccessPointId=0
-	WSPOption=CONNECTIONLESS
-	Security=FALSE
-	FIELD_COUNT=3
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	AccessPointId=2
-	GatewayAddress=+441632960000
-	ServiceCentreAddress=+441632960000
-	WSPOption=CONNECTIONORIENTED
-	Security=FALSE
-	FIELD_COUNT=5
-END_ADD
-
-
-############################################################
-## SecureSocketTable
-## 
-[SecureSocketTable]
-ADD_SECTION
-# COMMDB_ID = 1
-	ProtocolName=ssl3.0
-	ProtoLibrary=ssladaptor.dll
-	FIELD_COUNT=2
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	ProtocolName=tls1.0
-	ProtoLibrary=ssladaptor.dll
-	FIELD_COUNT=2
-END_ADD
-
-
-############################################################
-## BTPersistTable
-## 
-[BTPersistTable]
-############################################################
-## ERROR
-## AccessTypeTable
-############################################################
-############################################################
-## ERROR
-## Error opening table
-############################################################
-############################################################
-## ERROR
-## Unable to find the specified object or missing required field values
-############################################################
-
-############################################################
-## VirtualBearer
-## 
-[VirtualBearer]
-ADD_TEMPLATE
-	Name=Default VPN Bearer
-	Agent=VPN.agt
-	IfName=VPN.nif
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	FIELD_COUNT=6
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=VPN Bearer1
-	Agent=ntras.agt
-	IfName=ppp.nif
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## VpnService
-## 
-[VpnService]
-ADD_TEMPLATE
-	Name=Default VPN
-	Policy=DefaultVPNpolicy
-	HomeIAP=1
-	HomeNetwork=0
-	FIELD_COUNT=4
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=VPN1
-	Policy=VPNpolicy1
-	HomeIAP=2
-	HomeNetwork=1
-	FIELD_COUNT=4
-END_ADD
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_9210_comm1.cfg	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2317 +0,0 @@
-############################################################
-## AUTO-GENERATED CONFIGURATION FILE
-## CommDB Database Dump Utility
-## 1.1
-############################################################
-
-############################################################
-## Network
-## 
-[Network]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Intranet
-	FIELD_COUNT=1
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=mRouter
-	FIELD_COUNT=1
-END_ADD
-
-
-############################################################
-## ModemBearer
-## 
-[ModemBearer]
-ADD_TEMPLATE
-	Name=Default Modem
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::1
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=0
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Null Modem 19200bps
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::1
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=US Robotics Sportster
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=196
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=AFTERDIALUNTILANSWER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT&F1
-	DataInitString=AT
-	FaxInitString=AT&d2
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=Dacom Surfer
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=196
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=AFTERDIALUNTILANSWER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT&F
-	DataInitString=AT
-	FaxInitString=AT&d2
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=GSM Mobile Phone via Infrared
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=196
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=GSM Mobile Phone via Serial
-	Agent=CSD.agt
-	IfName=PPP
-	PortName=COMM::1
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=196
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=GPRS Ericsson R520m via IR
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=GPRS Ericsson R520m/T68i via Serial
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=COMM::1
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=19200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	IspInitString=*99***1#
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=70
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 9
-	Name=GPRS Motorola Mobile Phone via Serial
-	Agent=PSD.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=57600
-	Handshaking=4
-	SpecialRate=0
-	XonChar=17
-	XoffChar=19
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=ATZ
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 10
-	Name=WinTunnel Modem
-	Agent=null.agt
-	IfName=PPP
-	PortName=COMM::6
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 11
-	Name=mRouterWinsBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=WINS::0
-	TSYName=MM
-	CSYName=WINSCSY
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 12
-	Name=mRouterRs232Bearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=COMM::0
-	TSYName=MM
-	CSYName=ECUART
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=4
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 13
-	Name=mRouterIrBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=IRCOMM::0
-	TSYName=MM
-	CSYName=IRCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 14
-	Name=mRouterBtBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=BTCOMM::0
-	TSYName=MM
-	CSYName=BTCOMM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 15
-	Name=mRouterUsbBearer
-	Agent=mRouterAgent.agt
-	IfName=PPP
-	PortName=ACM::0
-	TSYName=MM
-	CSYName=ECACM
-	DataBits=8
-	StopBits=1
-	Parity=NONE
-	Rate=115200
-	Handshaking=52
-	SpecialRate=0
-	XonChar=0
-	XoffChar=0
-	FaxClassPref=AUTO
-	SpeakerPref=NEVER
-	SpeakerVolPref=QUIET
-	ModemInitString=AT
-	DataInitString=AT
-	FaxInitString=AT
-	DialPauseLength=S8=
-	SpeakerVolContorlLow=L0
-	SpeakerVolControlMedium=L1
-	SpeakerVolControlHigh=L2
-	SpeakerAlwaysOff=M0
-	SpeakerOnUntilCarrier=M1
-	SpeakerAlwaysOn=M2
-	SpeakerOnAfterUntilCarrier=M3
-	DialToneWaitModifier=W
-	CallProgress1=X1
-	CallProgress2=X2
-	CallProgress3=X3
-	CallProgress4=X4
-	EchoOff=E0
-	VerboseText=V1
-	QuietOn=Q1
-	QuietOff=Q0
-	DialCommandStateModifier=;
-	OnLine=O
-	ResetConfiguration=Z
-	ReturnToFactoryDefs=&F
-	DCDOnDuringLink=&C1
-	DTRHangUp=&D2
-	DSRAlwaysOn=&S0
-	RTSCTSHandshake=&K3
-	XonXoffHandshake=&K4
-	EscapeCharacter=+
-	EscapeGuardPeriod=S12
-	NoDialTone=NO DIAL TONE
-	Busy=BUSY
-	NoAnswer=NO ANSWER
-	Carrier=CARRIER
-	Connect=CONNECT
-	CompressionClass5=COMPRESSION:CLASS 5
-	CompressionV42bis=COMPRESSION:V.42 bis
-	CompressionNone=COMPRESSION:NONE
-	ProtocolLAPD=PROTOCOL:LAPD
-	ProtocolALT=PROTOCOL:ALT
-	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
-	ProtocolNone=PROTOCOL:NONE
-	MessageCentreNumber=+441632960000
-	MessageValidityPeriod=1440
-	MessageDeliveryReport=FALSE
-	MinimumSignalLevel=9905
-	LastSocketActivityTimeout=9999
-	LastSessionClosedTimeout=180
-	LastSocketClosedTimeout=30
-	SIRSettings=0
-	CommRole=0
-	FIELD_COUNT=69
-END_ADD
-
-
-############################################################
-## LANBearer
-## 
-[LANBearer]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=EKA1 Assabet on-board Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=ethercard
-	LDDName=EtherCard
-	PDDFilename=EtherSmc
-	PDDName=EtherCard.Smc
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=EKA2 Assabet on-board Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=enet
-	LDDName=Ethernet
-	PDDFilename=ethernet
-	PDDName=Ethernet.Assabet
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=EKA1 emulator Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=ethercard
-	LDDName=Ethercard
-	PDDFilename=etherwins
-	PDDName=Ethercard.wins
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=EKA2 emulator Ethernet
-	Agent=nullagt.agt
-	IfName=ethint
-	LDDFilename=enet
-	LDDName=Ethernet
-	PDDFilename=ethernet
-	PDDName=Ethernet.Wins
-	PacketDriverName=EtherPkt.drv
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=11
-END_ADD
-
-############################################################
-## Location
-## 
-[Location]
-ADD_TEMPLATE
-	Name=Default Location
-	IntlPrefixCode=+
-	NatPrefixCode=0
-	NatCode=44
-	Mobile=TRUE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=8
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Office
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=171
-	DialOutCode=,
-	Mobile=FALSE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=10
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=Office Direct Dial
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=171
-	Mobile=FALSE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=9
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=Mobile
-	IntlPrefixCode=+
-	NatPrefixCode=0
-	NatCode=44
-	Mobile=TRUE
-	UsePulseDial=FALSE
-	WaitForDialTone=FALSE
-	PauseAfterDialout=0
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=Home
-	IntlPrefixCode=00
-	NatPrefixCode=0
-	NatCode=44
-	AreaCode=181
-	Mobile=FALSE
-	UsePulseDial=TRUE
-	WaitForDialTone=TRUE
-	PauseAfterDialout=0
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## Chargecard
-## 
-[Chargecard]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Dummy BT Chargecard
-	AccountNumber=144,12345678
-	Pin=0000
-	LocalRule=HG
-	NatRule=HFG
-	IntlRule=HEFG
-	FIELD_COUNT=6
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dummy Mercury Chargecard
-	AccountNumber=0500800800,,12345678
-	Pin=****
-	LocalRule=HG
-	NatRule=J,K,0FG
-	IntlRule=HEFG
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## GlobalSettings
-## 
-[GlobalSettings]
-ADD_SECTION
-	WAPAccessPoint=1
-	RedialAttempts=3
-	SmsBearer=1
-	SmsReceiveMode=2
-	GPRSAttachMode=1
-	AcceptIncomingGprs=1
-	GPRSClassCBearer=GSM
-	ConnectionAttempts=2
-	ModemForDataAndFax=2
-	ModemForPhoneServicesAndSMS=2
-	LocationForDataAndFax=2
-	LocationForPhoneServicesAndSMS=2
-	DefaultNetwork=1
-	BearerAvailabilityCheckTSY=mm
-	FIELD_COUNT=14
-END_ADD
-
-
-############################################################
-## DialOutISP
-## 
-[DialOutISP]
-ADD_TEMPLATE
-	Name=Default Dial Out ISP
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=TRUE
-	DisplayPCT=FALSE
-	IfPromptForAuth=TRUE
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=28
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=NT RAS
-	Description=Test
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=TRUE
-	LoginScript=CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND "CLIENT"+<0x0d>\nWAIT 3\n{\n"SERVER" OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=35
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=ISP01
-	Description=PlaceHolder for ISP01
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=ISP02
-	Description=PlaceHolder for ISP02
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=ISP03
-	Description=PlaceHolder for ISP03
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=ISP04
-	Description=PlaceHolder for ISP04
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=ISP05
-	Description=PlaceHolder for ISP05
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=TRUE
-	IfAuthName=xxx
-	IfAuthPass=yyy
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=mRouterDialOutIsp
-	Description=mRouterDialOutIsp
-	Type=INTERNETONLY
-	DialResolution=TRUE
-	UseLoginScript=FALSE
-	PromptForLogin=FALSE
-	DisplayPCT=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=IfAuthPass=
-	IfAuthPass=AuthRetries=0
-	AuthRetries=0
-	IfCallbackEnabled=FALSE
-	CallbackTimeout=0
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	BearerService=0
-	BearerProtocol=UNSPECIFIED
-	RlpVersion=0
-	IwfToMs=0
-	MsToIwf=0
-	AckTimer=0
-	RetransmissionAttempts=0
-	ResequencePeriod=0
-	V42Compression=0
-	V42Codewords=0
-	V42MaxLength=0
-	Asymmetry=0
-	UserInitUpgrade=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=34
-END_ADD
-
-
-############################################################
-## DialInISP
-## 
-[DialInISP]
-ADD_TEMPLATE
-	Name=Default Dial In ISP
-	UseLoginScript=FALSE
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=9
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dial In ISP01
-	UseLoginScript=FALSE
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableIPHeaderComp=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	EnableSWComp=FALSE
-	UseEdge=FALSE
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## OutgoingGPRS
-## 
-[OutgoingGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=GPRS01
-	APN=gprs01APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=GPRS02
-	APN=gprs02APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=GPRS03
-	APN=gprs03APNPlaceHolder
-	PDPType=IPV4
-	ReqPrecedence=0
-	ReqDelay=0
-	ReqReliability=0
-	ReqPeakThroughput=0
-	ReqMeanThroughput=0
-	MinPrecedence=0
-	MinDelay=0
-	MinReliability=0
-	MinPeakThroughput=0
-	MinMeanThroughput=0
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	AuthRetries=1
-	IpDNSAddrFromServer=FALSE
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	IpAddrFromServer=TRUE
-	GprsAccessPointType=0
-	QosWarningTimeout=0
-	FIELD_COUNT=26
-END_ADD
-
-
-############################################################
-## IncomingGPRS
-## 
-[IncomingGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Incoming GPRS Settings PlaceHolder
-	APN=Test
-	PDPType=IPV4
-	ReqPrecedence=1
-	ReqDelay=1
-	ReqReliability=1
-	ReqPeakThroughput=1
-	ReqMeanThroughput=1
-	MinPrecedence=1
-	MinDelay=1
-	MinReliability=1
-	MinPeakThroughput=1
-	MinMeanThroughput=1
-	DataCompression=FALSE
-	HeaderCompression=FALSE
-	GprsUseEdge=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=1
-	IpDNSAddrFromServer=TRUE
-	IpNameServer1=0.0.0.0
-	IpNameServer2=0.0.0.0
-	EnableLCPExtension=FALSE
-	DisablePlainTextAuth=FALSE
-	PDPAddress=0.0.0.0
-	IpAddrFromServer=TRUE
-	FIELD_COUNT=29
-END_ADD
-
-
-############################################################
-## DefaultGPRS
-## 
-[DefaultGPRS]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Dummy Default GPRS Settings
-	Usage=1
-	APN=Access point name
-	PDPType=IPV6
-	PDPAddress=www.wid.com
-	Precedence=1
-	Delay=1
-	Reliability=1
-	PeakThroughput=1
-	MeanThroughput=1
-	MinPrecedence=1
-	MinDelay=1
-	MinReliability=1
-	MinPeakThroughput=1
-	MinMeanThroughput=1
-	DataCompression=TRUE
-	HeaderCompression=TRUE
-	GprsUseEdge=FALSE
-	AnonymousAccess=TRUE
-	FIELD_COUNT=19
-END_ADD
-
-
-############################################################
-## CDMA2000PacketServiceTable
-## 
-[CDMA2000PacketServiceTable]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=test name cdma2000
-	IwfName=Test2000
-	ServiceOption=HIGHSPEEDCDMA2000DATA
-	PdpType=IPV4
-	ReqFwdPriority=PRIORITY04
-	ReqRevPriority=PRIORITY04
-	ReqFwdBitrate=32KBPS
-	ReqRevBitrate=32KBPS
-	ReqFwdLoss=LOSS1
-	ReqRevLoss=LOSS1
-	ReqFwdMaxdelay=40MS
-	ReqRevMaxdelay=40MS
-	MinFwdBitrate=32KBPS
-	MinRevBitrate=32KBPS
-	AccptFwdLoss=LOSS2
-	AccptRevLoss=LOSS2
-	AccptFwdMaxdelay=120MS
-	AccptRevMaxdelay=120MS
-	DataCompression=FALSE
-	AnonymousAccess=FALSE
-	IfNetworks=ip
-	IfPromptForAuth=FALSE
-	IfAuthName=RasUser
-	IfAuthPass=pass
-	AuthRetries=1
-	IpNetMask=0.255.255.255
-	IpGateway=10.0.0.1
-	IpAddrFromServer=TRUE
-	IpDNSAddrFromServer=TRUE
-	EnableLCPExtension=TRUE
-	DisablePlainTextAuth=TRUE
-	ApType=2
-	QosWarningTimeout=1000000
-	RlpMode=TRANSPARENT
-	CDMAMobileIP=FALSE
-	CDMAMobileIPTimeout=10000000
-	CDMANaiType=0
-	FIELD_COUNT=37
-END_ADD
-
-
-############################################################
-## DefaultCDMA2000SettingsTable
-## 
-[DefaultCDMA2000SettingsTable]
-
-############################################################
-## LANService
-## 
-[LANService]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=Ethernet
-	IfNetworks=ip,ip6
-	IpNetMask=255.255.255.0
-	IpGateway=194.72.6.1
-	IpAddrFromServer=TRUE
-	IpAddr=192.168.0.100
-	IpDNSAddrFromServer=FALSE
-	IpNameServer1=194.72.6.51
-	IpNameServer2=194.72.6.52
-	FIELD_COUNT=9
-END_ADD
-
-
-############################################################
-## IAP
-## 
-[IAP]
-ADD_SECTION
-# COMMDB_ID = 1
-	Name=NT RAS with Null Modem
-	IAPService=2
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=CSD IAP PlaceHolder01
-	IAPService=3
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 3
-	Name=CSD IAP PlaceHolder02
-	IAPService=4
-	IAPServiceType=DialOutISP
-	IAPBearer=2
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 4
-	Name=GPRS IAP PlaceHolder01
-	IAPService=1
-	IAPServiceType=OutgoingGPRS
-	IAPBearer=8
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=4
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 5
-	Name=GPRS IAP PlaceHolder02
-	IAPService=2
-	IAPServiceType=OutgoingGPRS
-	IAPBearer=8
-	IAPBearerType=ModemBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=4
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 6
-	Name=mRouter Rs232
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=12
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 7
-	Name=mRouter Ir
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=13
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 8
-	Name=mRouter BT
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=14
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 9
-	Name=mRouter USB
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=15
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 10
-	Name=mRouter Wins
-	IAPService=8
-	IAPServiceType=DialOutISP
-	IAPBearer=11
-	IAPBearerType=ModemBearer
-	IAPNetwork=2
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 11
-	Name=VPN IAP
-	IAPService=2
-	IAPServiceType=VpnService
-	IAPBearer=2
-	IAPBearerType=VirtualBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 12
-	Name=EKA1 Assabet on-board ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=1
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 13
-	Name=EKA2 Assabet on-board ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=2
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 14
-	Name=EKA1 emulator ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=3
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 15
-	Name=EKA2 emulator ethernet
-	IAPService=1
-	IAPServiceType=LANService
-	IAPBearer=4
-	IAPBearerType=LANBearer
-	IAPNetwork=1
-	IAPNetworkWeighting=0
-	Location=2
-	FIELD_COUNT=8
-END_ADD
-
-############################################################
-## ConnectionPreferences
-## 
-[ConnectionPreferences]
-ADD_SECTION
-	Ranking=0
-	Direction=OUTGOING
-	DialogPref=PROMPT
-	BearerSet=CSD
-	IAP=1
-	FIELD_COUNT=5
-END_ADD
-
-ADD_SECTION
-	Ranking=1
-	Direction=OUTGOING
-	DialogPref=PROMPT
-	BearerSet=CSD
-	IAP=1
-	FIELD_COUNT=5
-END_ADD
-
-
-############################################################
-## BTDeviceTable
-## 
-[BTDeviceTable]
-
-############################################################
-## BTSecurityTable
-## 
-[BTSecurityTable]
-
-############################################################
-## BTDefaultTable
-## 
-[BTDefaultTable]
-
-############################################################
-## Proxies
-## 
-[Proxies]
-ADD_SECTION
-# COMMDB_ID = 1
-	ISP=2
-	ProxyServiceType=DialOutISP
-	UseProxyServer=TRUE
-	ProxyServerName=www.dummyproxy.com
-	ProtocolName=http
-	PortNumber=80
-	Exceptions=www.dummyproxy.com/exception
-	FIELD_COUNT=7
-END_ADD
-
-
-############################################################
-## AgentLookup
-## 
-[AgentLookup]
-
-############################################################
-## WAPAccessPoint
-## 
-[WAPAccessPoint]
-ADD_TEMPLATE
-	Name=Default Dial In ISP
-	CurrentBearer=WAPIPBearer
-	FIELD_COUNT=2
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=Dummy WAP Settings
-	CurrentBearer=WAPIPBearer
-	StartPage=www.wapstart.com
-	FIELD_COUNT=3
-END_ADD
-
-
-############################################################
-## WAPIPBearer
-## 
-[WAPIPBearer]
-ADD_TEMPLATE
-	AccessPointId=0
-	IAP=0
-	WSPOption=CONNECTIONLESS
-	Security=FALSE
-	ProxyPortNumber=0
-	FIELD_COUNT=5
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	AccessPointId=2
-	GatewayAddress=www.wapgateway.com
-	IAP=2
-	WSPOption=CONNECTIONORIENTED
-	Security=FALSE
-	ProxyPortNumber=1
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## WAPSMSBearer
-## 
-[WAPSMSBearer]
-ADD_TEMPLATE
-	AccessPointId=0
-	WSPOption=CONNECTIONLESS
-	Security=FALSE
-	FIELD_COUNT=3
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	AccessPointId=2
-	GatewayAddress=+441632960000
-	ServiceCentreAddress=+441632960000
-	WSPOption=CONNECTIONORIENTED
-	Security=FALSE
-	FIELD_COUNT=5
-END_ADD
-
-
-############################################################
-## SecureSocketTable
-## 
-[SecureSocketTable]
-ADD_SECTION
-# COMMDB_ID = 1
-	ProtocolName=ssl3.0
-	ProtoLibrary=ssladaptor.dll
-	FIELD_COUNT=2
-END_ADD
-
-ADD_SECTION
-# COMMDB_ID = 2
-	ProtocolName=tls1.0
-	ProtoLibrary=ssladaptor.dll
-	FIELD_COUNT=2
-END_ADD
-
-
-############################################################
-## BTPersistTable
-## 
-[BTPersistTable]
-############################################################
-## ERROR
-## AccessTypeTable
-############################################################
-############################################################
-## ERROR
-## Error opening table
-############################################################
-############################################################
-## ERROR
-## Unable to find the specified object or missing required field values
-############################################################
-
-############################################################
-## VirtualBearer
-## 
-[VirtualBearer]
-ADD_TEMPLATE
-	Name=Default VPN Bearer
-	Agent=VPN.agt
-	IfName=VPN.nif
-	LastSocketActivityTimeout=180
-	LastSessionClosedTimeout=30
-	LastSocketClosedTimeout=60
-	FIELD_COUNT=6
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=VPN Bearer1
-	Agent=ntras.agt
-	IfName=ppp.nif
-	LastSocketActivityTimeout=-1
-	LastSessionClosedTimeout=-1
-	LastSocketClosedTimeout=-1
-	FIELD_COUNT=6
-END_ADD
-
-
-############################################################
-## VpnService
-## 
-[VpnService]
-ADD_TEMPLATE
-	Name=Default VPN
-	Policy=DefaultVPNpolicy
-	HomeIAP=1
-	HomeNetwork=0
-	FIELD_COUNT=4
-END_TEMPLATE
-
-ADD_SECTION
-# COMMDB_ID = 2
-	Name=VPN1
-	Policy=VPNpolicy1
-	HomeIAP=2
-	HomeNetwork=1
-	FIELD_COUNT=4
-END_ADD
-
Binary file fax/faxclientandserver/Test/TE_FAX/TE_Fax_BadPage.FAX has changed
Binary file fax/faxclientandserver/Test/TE_FAX/TE_Fax_Blank.FAX has changed
Binary file fax/faxclientandserver/Test/TE_FAX/TE_Fax_Chart4.FAX has changed
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_No_Phone.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// TE_Fax_Transmit.script
-// 
-//
-
-RUN_SCRIPT z:\TestData\Scripts\TE_Fax_Setup_Comm0.script
-
-LOAD_SUITE TE_Fax
-
-START_TESTCASE TEL-FAX-NA-0001
-//!@SYMTestCaseID TEL-FAX-NA-0001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Creation of fax definition
-//!@SYMTestPriority Critical
-//!@SYMTestActions  This test simply tests the initialisation of fax variables and nothing else. On Armv5 due to compiler warnings half the test is ifdef'd out
-//!@SYMTestExpectedResults Pass  
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxDefinition
-
-END_TESTCASE TEL-FAX-NA-0001
-
-START_TESTCASE TEL-FAX-NA-0002
-//!@SYMTestCaseID TEL-FAX-NA-0002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Tests Storage of fax data on local disk
-//!@SYMTestPriority
-//!@SYMTestActions Creates a fax file using the fax api  
-//!@SYMTestExpectedResults Pass 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxStorage
-
-END_TESTCASE TEL-FAX-NA-0002
-
-START_TESTCASE TEL-FAX-NA-0003
-//!@SYMTestCaseID TEL-FAX-NA-0003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax Coding
-//!@SYMTestPriority Critical
-//!@SYMTestActions   Tests the encoding of 1D and 2D fax data   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxCoding
-
-END_TESTCASE TEL-FAX-NA-0003
-
-START_TESTCASE TEL-FAX-NA-0004
-//!@SYMTestCaseID TEL-FAX-NA-0004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax header Definition 
-//!@SYMTestPriority Critical 
-//!@SYMTestActions Tests Creation of a fax header using a the 3 different font sizes   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxHeaderDefinition
-END_TESTCASE TEL-FAX-NA-0004
-
Binary file fax/faxclientandserver/Test/TE_FAX/TE_Fax_One.FAX has changed
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Receive_Comm0.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// TE_Fax_Receive.script
-// 
-//
-
-RUN_SCRIPT z:\TestData\Scripts\TE_Fax_Setup_Comm0.script
-
-LOAD_SUITE TE_Fax
-
-START_TESTCASE TEL-FAX-NA-0001
-//!@SYMTestCaseID TEL-FAX-NA-0001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Creation of fax definition
-//!@SYMTestPriority Critical
-//!@SYMTestActions  This test simply tests the initialisation of fax variables and nothing else. On Armv5 due to compiler warnings half the test is ifdef'd out
-//!@SYMTestExpectedResults Pass  
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxDefinition
-
-END_TESTCASE TEL-FAX-NA-0001
-
-START_TESTCASE TEL-FAX-NA-0002
-//!@SYMTestCaseID TEL-FAX-NA-0002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Tests Storage of fax data on local disk
-//!@SYMTestPriority
-//!@SYMTestActions Creates a fax file using the fax api  
-//!@SYMTestExpectedResults Pass 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxStorage
-
-END_TESTCASE TEL-FAX-NA-0002
-
-START_TESTCASE TEL-FAX-NA-0003
-//!@SYMTestCaseID TEL-FAX-NA-0003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax Coding
-//!@SYMTestPriority Critical
-//!@SYMTestActions   Tests the encoding of 1D and 2D fax data   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxCoding
-
-END_TESTCASE TEL-FAX-NA-0003
-
-START_TESTCASE TEL-FAX-NA-0004
-//!@SYMTestCaseID TEL-FAX-NA-0004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax header Definition 
-//!@SYMTestPriority Critical 
-//!@SYMTestActions Tests Creation of a fax header using a the 3 different font sizes   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxHeaderDefinition
-
-
-END_TESTCASE TEL-FAX-NA-0004
-
-START_TESTCASE TEL-FAX-NA-5000
-//!@SYMTestCaseID TEL-FAX-NA-5000
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax01
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5000
-
-START_TESTCASE TEL-FAX-NA-5001
-//!@SYMTestCaseID TEL-FAX-NA-5001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax02
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5001
-
-START_TESTCASE TEL-FAX-NA-5002
-//!@SYMTestCaseID TEL-FAX-NA-5002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax03
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5002
-
-START_TESTCASE TEL-FAX-NA-5003
-//!@SYMTestCaseID TEL-FAX-NA-5003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax04
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5003
-
-START_TESTCASE TEL-FAX-NA-5004
-//!@SYMTestCaseID TEL-FAX-NA-5004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax05
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5004
-
-START_TESTCASE TEL-FAX-NA-5005
-//!@SYMTestCaseID TEL-FAX-NA-5005
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax06
-END_TESTCASE TEL-FAX-NA-5005
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Receive_Comm1.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// TE_Fax_Receive.script
-// 
-//
-
-RUN_SCRIPT z:\TestData\Scripts\TE_Fax_Setup_Comm1.script
-
-LOAD_SUITE TE_Fax
-
-
-START_TESTCASE TEL-FAX-NA-0001
-//!@SYMTestCaseID TEL-FAX-NA-0001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Creation of fax definition
-//!@SYMTestPriority Critical
-//!@SYMTestActions  This test simply tests the initialisation of fax variables and nothing else. On Armv5 due to compiler warnings half the test is ifdef'd out
-//!@SYMTestExpectedResults Pass  
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxDefinition
-
-END_TESTCASE TEL-FAX-NA-0001
-
-START_TESTCASE TEL-FAX-NA-0002
-//!@SYMTestCaseID TEL-FAX-NA-0002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Tests Storage of fax data on local disk
-//!@SYMTestPriority
-//!@SYMTestActions Creates a fax file using the fax api  
-//!@SYMTestExpectedResults Pass 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxStorage
-
-END_TESTCASE TEL-FAX-NA-0002
-
-START_TESTCASE TEL-FAX-NA-0003
-//!@SYMTestCaseID TEL-FAX-NA-0003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax Coding
-//!@SYMTestPriority Critical
-//!@SYMTestActions   Tests the encoding of 1D and 2D fax data   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxCoding
-
-END_TESTCASE TEL-FAX-NA-0003
-
-START_TESTCASE TEL-FAX-NA-0004
-//!@SYMTestCaseID TEL-FAX-NA-0004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax header Definition 
-//!@SYMTestPriority Critical 
-//!@SYMTestActions Tests Creation of a fax header using a the 3 different font sizes   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxHeaderDefinition
-
-
-END_TESTCASE TEL-FAX-NA-0004
-
-START_TESTCASE TEL-FAX-NA-5000
-//!@SYMTestCaseID TEL-FAX-NA-5000
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax01
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5000
-
-START_TESTCASE TEL-FAX-NA-5001
-//!@SYMTestCaseID TEL-FAX-NA-5001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax02
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5001
-
-START_TESTCASE TEL-FAX-NA-5002
-//!@SYMTestCaseID TEL-FAX-NA-5002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax03
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5002
-
-START_TESTCASE TEL-FAX-NA-5003
-//!@SYMTestCaseID TEL-FAX-NA-5003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax04
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5003
-
-START_TESTCASE TEL-FAX-NA-5004
-//!@SYMTestCaseID TEL-FAX-NA-5004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax05
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5004
-
-START_TESTCASE TEL-FAX-NA-5005
-//!@SYMTestCaseID TEL-FAX-NA-5005
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax06
-END_TESTCASE TEL-FAX-NA-5005
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Receive_IR.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RUN_SCRIPT z:\TestData\Scripts\TE_Fax_Setup_IR.script
-
-LOAD_SUITE TE_Fax
-
-START_TESTCASE TEL-FAX-NA-0001
-//!@SYMTestCaseID TEL-FAX-NA-0001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Creation of fax definition
-//!@SYMTestPriority Critical
-//!@SYMTestActions  This test simply tests the initialisation of fax variables and nothing else. On Armv5 due to compiler warnings half the test is ifdef'd out
-//!@SYMTestExpectedResults Pass  
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxDefinition
-
-END_TESTCASE TEL-FAX-NA-0001
-
-START_TESTCASE TEL-FAX-NA-0002
-//!@SYMTestCaseID TEL-FAX-NA-0002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Tests Storage of fax data on local disk
-//!@SYMTestPriority
-//!@SYMTestActions Creates a fax file using the fax api  
-//!@SYMTestExpectedResults Pass 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxStorage
-
-END_TESTCASE TEL-FAX-NA-0002
-
-START_TESTCASE TEL-FAX-NA-0003
-//!@SYMTestCaseID TEL-FAX-NA-0003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax Coding
-//!@SYMTestPriority Critical
-//!@SYMTestActions   Tests the encoding of 1D and 2D fax data   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxCoding
-
-END_TESTCASE TEL-FAX-NA-0003
-
-START_TESTCASE TEL-FAX-NA-0004
-//!@SYMTestCaseID TEL-FAX-NA-0004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax header Definition 
-//!@SYMTestPriority Critical 
-//!@SYMTestActions Tests Creation of a fax header using a the 3 different font sizes   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxHeaderDefinition
-
-END_TESTCASE TEL-FAX-NA-0004
-
-START_TESTCASE TEL-FAX-NA-5000
-//!@SYMTestCaseID TEL-FAX-NA-5000
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax01
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5000
-
-START_TESTCASE TEL-FAX-NA-5001
-//!@SYMTestCaseID TEL-FAX-NA-5001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax02
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5001
-
-START_TESTCASE TEL-FAX-NA-5002
-//!@SYMTestCaseID TEL-FAX-NA-5002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax03
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5002
-
-START_TESTCASE TEL-FAX-NA-5003
-//!@SYMTestCaseID TEL-FAX-NA-5003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax04
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5003
-
-START_TESTCASE TEL-FAX-NA-5004
-//!@SYMTestCaseID TEL-FAX-NA-5004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax05
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-5004
-
-START_TESTCASE TEL-FAX-NA-5005
-//!@SYMTestCaseID TEL-FAX-NA-5005
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Receives a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Receives a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestReceiveFax06
-END_TESTCASE TEL-FAX-NA-5005
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Setup_Comm0.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// TE_Fax_setup.script
-// 
-//
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Test.FAX c:\Test.FAX
-RUN_UTILS MakeReadWrite c:\Test.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_One.FAX c:\One.FAX
-RUN_UTILS MakeReadWrite c:\One.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Two.FAX c:\Two.FAX
-RUN_UTILS MakeReadWrite c:\Two.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Six.FAX c:\Six.FAX
-RUN_UTILS MakeReadWrite c:\Six.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Blank.FAX c:\Blank.FAX
-RUN_UTILS MakeReadWrite c:\Blank.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_BadPage.FAX c:\BadPage.FAX
-RUN_UTILS MakeReadWrite c:\BadPage.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Chart4.FAX c:\Chart4.FAX
-RUN_UTILS MakeReadWrite c:\Chart4.FAX
-
-ced -i z:\TestData\configs\TE_Fax_9210_comm0.cfg ced.log
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Setup_Comm1.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// TE_Fax_setup.script
-// 
-//
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Test.FAX c:\Test.FAX
-RUN_UTILS MakeReadWrite c:\Test.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_One.FAX c:\One.FAX
-RUN_UTILS MakeReadWrite c:\One.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Two.FAX c:\Two.FAX
-RUN_UTILS MakeReadWrite c:\Two.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Six.FAX c:\Six.FAX
-RUN_UTILS MakeReadWrite c:\Six.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Blank.FAX c:\Blank.FAX
-RUN_UTILS MakeReadWrite c:\Blank.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_BadPage.FAX c:\BadPage.FAX
-RUN_UTILS MakeReadWrite c:\BadPage.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Chart4.FAX c:\Chart4.FAX
-RUN_UTILS MakeReadWrite c:\Chart4.FAX
-
-ced -i z:\TestData\configs\TE_Fax_9210_comm1.cfg ced.log
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Setup_IR.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Test.FAX c:\Test.FAX
-RUN_UTILS MakeReadWrite c:\Test.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_One.FAX c:\One.FAX
-RUN_UTILS MakeReadWrite c:\One.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Two.FAX c:\Two.FAX
-RUN_UTILS MakeReadWrite c:\Two.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Six.FAX c:\Six.FAX
-RUN_UTILS MakeReadWrite c:\Six.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Blank.FAX c:\Blank.FAX
-RUN_UTILS MakeReadWrite c:\Blank.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_BadPage.FAX c:\BadPage.FAX
-RUN_UTILS MakeReadWrite c:\BadPage.FAX
-
-RUN_UTILS CopyFile z:\TestData\Data\TE_Fax_Chart4.FAX c:\Chart4.FAX
-RUN_UTILS MakeReadWrite c:\Chart4.FAX
-
-ced -i z:\TestData\configs\TE_Fax_9210_IR.cfg ced.log
Binary file fax/faxclientandserver/Test/TE_FAX/TE_Fax_Six.FAX has changed
Binary file fax/faxclientandserver/Test/TE_FAX/TE_Fax_Test.FAX has changed
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Transmit_Comm0.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// TE_Fax_Transmit.script
-// 
-//
-
-RUN_SCRIPT z:\TestData\Scripts\TE_Fax_Setup_Comm0.script
-
-LOAD_SUITE TE_Fax
-
-START_TESTCASE TEL-FAX-NA-0001
-//!@SYMTestCaseID TEL-FAX-NA-0001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Creation of fax definition
-//!@SYMTestPriority Critical
-//!@SYMTestActions  This test simply tests the initialisation of fax variables and nothing else. On Armv5 due to compiler warnings half the test is ifdef'd out
-//!@SYMTestExpectedResults Pass  
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxDefinition
-
-END_TESTCASE TEL-FAX-NA-0001
-
-START_TESTCASE TEL-FAX-NA-0002
-//!@SYMTestCaseID TEL-FAX-NA-0002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Tests Storage of fax data on local disk
-//!@SYMTestPriority
-//!@SYMTestActions Creates a fax file using the fax api  
-//!@SYMTestExpectedResults Pass 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxStorage
-
-END_TESTCASE TEL-FAX-NA-0002
-
-START_TESTCASE TEL-FAX-NA-0003
-//!@SYMTestCaseID TEL-FAX-NA-0003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax Coding
-//!@SYMTestPriority Critical
-//!@SYMTestActions   Tests the encoding of 1D and 2D fax data   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxCoding
-
-END_TESTCASE TEL-FAX-NA-0003
-
-START_TESTCASE TEL-FAX-NA-0004
-//!@SYMTestCaseID TEL-FAX-NA-0004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax header Definition 
-//!@SYMTestPriority Critical 
-//!@SYMTestActions Tests Creation of a fax header using a the 3 different font sizes   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxHeaderDefinition
-
-
-END_TESTCASE TEL-FAX-NA-0004
-
-START_TESTCASE TEL-FAX-NA-0005
-//!@SYMTestCaseID TEL-FAX-NA-0005
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax01
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0005
-
-START_TESTCASE TEL-FAX-NA-0006
-//!@SYMTestCaseID TEL-FAX-NA-0006
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax02
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0006
-
-START_TESTCASE TEL-FAX-NA-0007
-//!@SYMTestCaseID TEL-FAX-NA-0007
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax03
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0007
-
-START_TESTCASE TEL-FAX-NA-0008
-//!@SYMTestCaseID TEL-FAX-NA-0008
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax04
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0008
-
-START_TESTCASE TEL-FAX-NA-0009
-//!@SYMTestCaseID TEL-FAX-NA-0009
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax05
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0009
-
-START_TESTCASE TEL-FAX-NA-0010
-//!@SYMTestCaseID TEL-FAX-NA-0010
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax06
-END_TESTCASE TEL-FAX-NA-0010
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Transmit_Comm1.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// TE_Fax_Transmit.script
-// 
-//
-
-RUN_SCRIPT z:\TestData\Scripts\TE_Fax_Setup_Comm1.script
-
-LOAD_SUITE TE_Fax
-
-START_TESTCASE TEL-FAX-NA-0001
-//!@SYMTestCaseID TEL-FAX-NA-0001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Creation of fax definition
-//!@SYMTestPriority Critical
-//!@SYMTestActions  This test simply tests the initialisation of fax variables and nothing else. On Armv5 due to compiler warnings half the test is ifdef'd out
-//!@SYMTestExpectedResults Pass  
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxDefinition
-
-END_TESTCASE TEL-FAX-NA-0001
-
-START_TESTCASE TEL-FAX-NA-0002
-//!@SYMTestCaseID TEL-FAX-NA-0002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Tests Storage of fax data on local disk
-//!@SYMTestPriority
-//!@SYMTestActions Creates a fax file using the fax api  
-//!@SYMTestExpectedResults Pass 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxStorage
-
-END_TESTCASE TEL-FAX-NA-0002
-
-START_TESTCASE TEL-FAX-NA-0003
-//!@SYMTestCaseID TEL-FAX-NA-0003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax Coding
-//!@SYMTestPriority Critical
-//!@SYMTestActions   Tests the encoding of 1D and 2D fax data   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxCoding
-
-END_TESTCASE TEL-FAX-NA-0003
-
-START_TESTCASE TEL-FAX-NA-0004
-//!@SYMTestCaseID TEL-FAX-NA-0004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Fax header Definition 
-//!@SYMTestPriority Critical 
-//!@SYMTestActions Tests Creation of a fax header using a the 3 different font sizes   
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxHeaderDefinition
-
-END_TESTCASE TEL-FAX-NA-0004
-
-START_TESTCASE TEL-FAX-NA-0005
-//!@SYMTestCaseID TEL-FAX-NA-0005
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax01
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0005
-
-START_TESTCASE TEL-FAX-NA-0006
-//!@SYMTestCaseID TEL-FAX-NA-0006
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax02
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0006
-
-START_TESTCASE TEL-FAX-NA-0007
-//!@SYMTestCaseID TEL-FAX-NA-0007
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax03
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0007
-
-START_TESTCASE TEL-FAX-NA-0008
-//!@SYMTestCaseID TEL-FAX-NA-0008
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax04
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0008
-
-START_TESTCASE TEL-FAX-NA-0009
-//!@SYMTestCaseID TEL-FAX-NA-0009
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax05
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0009
-
-START_TESTCASE TEL-FAX-NA-0010
-//!@SYMTestCaseID TEL-FAX-NA-0010
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax06
-END_TESTCASE TEL-FAX-NA-0010
-
--- a/fax/faxclientandserver/Test/TE_FAX/TE_Fax_Transmit_IR.script	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RUN_SCRIPT z:\TestData\Scripts\TE_Fax_Setup_IR.script
-
-LOAD_SUITE TE_Fax
-
-START_TESTCASE TEL-FAX-NA-0001
-//!@SYMTestCaseID TEL-FAX-NA-0001
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc
-//!@SYMTestPriority critical
-//!@SYMTestActions
-//!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxDefinition
-
-END_TESTCASE TEL-FAX-NA-0001
-
-START_TESTCASE TEL-FAX-NA-0002
-//!@SYMTestCaseID TEL-FAX-NA-0002
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Initialises the test 
-//!@SYMTestPriority critical
-//!@SYMTestActions - Parses a config file to retreive phone numbers and initialises comms  
-//!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxStorage
-
-END_TESTCASE TEL-FAX-NA-0002
-
-START_TESTCASE TEL-FAX-NA-0003
-//!@SYMTestCaseID TEL-FAX-NA-0003
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Initialises the test 
-//!@SYMTestPriority critical
-//!@SYMTestActions - Parses a config file to retreive phone numbers and initialises comms  
-//!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxCoding
-
-END_TESTCASE TEL-FAX-NA-0003
-
-START_TESTCASE TEL-FAX-NA-0004
-//!@SYMTestCaseID TEL-FAX-NA-0004
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Initialises the test 
-//!@SYMTestPriority critical
-//!@SYMTestActions - Parses a config file to retreive phone numbers and initialises comms  
-//!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code 
-//!@SYMTestType CT
-RUN_TEST_STEP 120 TE_Fax TestFaxHeaderDefinition
-
-END_TESTCASE TEL-FAX-NA-0004
-
-START_TESTCASE TEL-FAX-NA-0005
-//!@SYMTestCaseID TEL-FAX-NA-0005
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax01
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0005
-
-START_TESTCASE TEL-FAX-NA-0006
-//!@SYMTestCaseID TEL-FAX-NA-0006
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax02
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0006
-
-START_TESTCASE TEL-FAX-NA-0007
-//!@SYMTestCaseID TEL-FAX-NA-0007
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax03
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0007
-
-START_TESTCASE TEL-FAX-NA-0008
-//!@SYMTestCaseID TEL-FAX-NA-0008
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax04
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0008
-
-START_TESTCASE TEL-FAX-NA-0009
-//!@SYMTestCaseID TEL-FAX-NA-0009
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT 
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax05
-DELAY 5000
-
-
-END_TESTCASE TEL-FAX-NA-0009
-
-START_TESTCASE TEL-FAX-NA-0010
-//!@SYMTestCaseID TEL-FAX-NA-0010
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Transmits a fax
-//!@SYMTestPriority High
-//!@SYMTestActions Transmits a fax using various settings and test files  
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 600 TE_Fax TestTransmitFax06
-END_TESTCASE TEL-FAX-NA-0010
-
Binary file fax/faxclientandserver/Test/TE_FAX/TE_Fax_Two.FAX has changed
--- a/fax/faxclientandserver/Test/bwins/TE_FAXU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	?NewServer@@YAHXZ @ 1 NONAME ; int NewServer(void)
-
--- a/fax/faxclientandserver/bwins/FAXCLIU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-EXPORTS
-	??4TFaxSettings@@QAEAAV0@ABV0@@Z @ 1 NONAME ; public: class TFaxSettings & __thiscall TFaxSettings::operator=(class TFaxSettings const &)
-	?AddSourceL@CFaxTransfer@@QAEXABV?$TBuf@$0BAA@@@HHW4TFaxPreferredCompression@@@Z @ 2 NONAME ; public: void __thiscall CFaxTransfer::AddSourceL(class TBuf<256> const &,int,int,enum TFaxPreferredCompression)
-	?AddSourceL@CFaxTransfer@@QAEXABV?$TBuf@$0BAA@@@HW4TFaxPreferredCompression@@@Z @ 3 NONAME ; public: void __thiscall CFaxTransfer::AddSourceL(class TBuf<256> const &,int,enum TFaxPreferredCompression)
-	?AddSourceL@CFaxTransfer@@QAEXABV?$TBuf@$0BAA@@@W4TFaxPreferredCompression@@@Z @ 4 NONAME ; public: void __thiscall CFaxTransfer::AddSourceL(class TBuf<256> const &,enum TFaxPreferredCompression)
-	?AddSourceL@CFaxTransferSource@@QAEXABV?$TBuf@$0BAA@@@HHW4TFaxPreferredCompression@@@Z @ 5 NONAME ; public: void __thiscall CFaxTransferSource::AddSourceL(class TBuf<256> const &,int,int,enum TFaxPreferredCompression)
-	?AddSourceL@CFaxTransferSource@@QAEXABV?$TBuf@$0BAA@@@HW4TFaxPreferredCompression@@@Z @ 6 NONAME ; public: void __thiscall CFaxTransferSource::AddSourceL(class TBuf<256> const &,int,enum TFaxPreferredCompression)
-	?AddSourceL@CFaxTransferSource@@QAEXABV?$TBuf@$0BAA@@@W4TFaxPreferredCompression@@@Z @ 7 NONAME ; public: void __thiscall CFaxTransferSource::AddSourceL(class TBuf<256> const &,enum TFaxPreferredCompression)
-	?Cancel@CFaxTransfer@@QAEXXZ @ 8 NONAME ; public: void __thiscall CFaxTransfer::Cancel(void)
-	?ExternalizeL@TFaxSettings@@QBEXAAVRWriteStream@@@Z @ 9 NONAME ; public: void __thiscall TFaxSettings::ExternalizeL(class RWriteStream &)const 
-	?InternalizeL@TFaxSettings@@QAEXAAVRReadStream@@@Z @ 10 NONAME ; public: void __thiscall TFaxSettings::InternalizeL(class RReadStream &)
-	?NewL@CFaxTransfer@@SAPAV1@ABVTFaxSettings@@@Z @ 11 NONAME ; public: static class CFaxTransfer * __cdecl CFaxTransfer::NewL(class TFaxSettings const &)
-	?NewLC@CFaxTransfer@@SAPAV1@ABVTFaxSettings@@@Z @ 12 NONAME ; public: static class CFaxTransfer * __cdecl CFaxTransfer::NewLC(class TFaxSettings const &)
-	?Progress@CFaxTransfer@@QAEHXZ @ 13 NONAME ; public: int __thiscall CFaxTransfer::Progress(void)
-	?RemoveAllSources@CFaxTransfer@@QAEXXZ @ 14 NONAME ; public: void __thiscall CFaxTransfer::RemoveAllSources(void)
-	?RemoveAllSources@CFaxTransferSource@@QAEXXZ @ 15 NONAME ; public: void __thiscall CFaxTransferSource::RemoveAllSources(void)
-	?SetPhoneNumberL@CFaxTransfer@@QAEXAAVTDesC8@@@Z @ 16 NONAME ; public: void __thiscall CFaxTransfer::SetPhoneNumberL(class TDesC8 &)
-	?Start@CFaxTransfer@@QAEHAAVTRequestStatus@@@Z @ 17 NONAME ; public: int __thiscall CFaxTransfer::Start(class TRequestStatus &)
-	?Stop@CFaxTransfer@@QAEXXZ @ 18 NONAME ; public: void __thiscall CFaxTransfer::Stop(void)
-
--- a/fax/faxclientandserver/bwins/FAXIOU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-EXPORTS ?DecodeScanLine1D@CFaxT4@@QAEHAAVTDes8@@ABVTDesC8@@@Z @1 NONAME
-EXPORTS ?DecodeScanLine2D@CFaxT4@@QAEHAAVTDes8@@ABVTDesC8@@@Z @2 NONAME
-EXPORTS ?DecodeScanLine@CFaxT4@@QAEHAAVTDes8@@ABVTDesC8@@@Z @3 NONAME
-EXPORTS ?EncodeScanLine1D@CFaxT4@@QAEXABVTDesC8@@AAVTDes8@@@Z @4 NONAME
-EXPORTS ?EncodeScanLine2D@CFaxT4@@QAEXABVTDesC8@@AAVTDes8@@@Z @5 NONAME
-EXPORTS ?EncodeScanLine@CFaxT4@@QAEXABVTDesC8@@AAVTDes8@@@Z @6 NONAME
-EXPORTS ?NewL@CFaxHeaderLines@@SAPAV1@XZ @7 NONAME
-EXPORTS ?NewL@CFaxT4@@SAPAV1@XZ @8 NONAME
-EXPORTS ?NewLC@CFaxHeaderLines@@SAPAV1@XZ @9 NONAME
-EXPORTS ?NewLC@CFaxT4@@SAPAV1@XZ @10 NONAME
-EXPORTS ?PageInitialize@CFaxT4@@QAEXW4TFaxResolution@@W4TFaxCompression@@H@Z @11 NONAME
-EXPORTS ?ReadFaxHeaderInfoL@CFaxHeaderLines@@QAEXAAVTFaxHeaderInfo@@@Z @12 NONAME
-EXPORTS ?ReadRawFontLineL@CFaxHeaderLines@@QAEXHAAV?$TBuf8@$0NI@@@@Z @13 NONAME
-EXPORTS ?ReadRawHeaderLineL@CFaxHeaderLines@@QAEXHAAV?$TBuf8@$0NI@@@@Z @14 NONAME
-EXPORTS ?WriteFaxHeaderInfoL@CFaxHeaderLines@@QAEXAAVTFaxHeaderInfo@@@Z @15 NONAME
-EXPORTS ?WriteRawFontLineL@CFaxHeaderLines@@QAEXHAAV?$TBuf8@$0NI@@@@Z @16 NONAME
-EXPORTS ?WriteRawHeaderLineL@CFaxHeaderLines@@QAEXHAAV?$TBuf8@$0NI@@@@Z @17 NONAME
-?NewLC@CFaxHeaderLines@@SAPAV1@PAVRFile@@@Z @ 18 NONAME ; class CFaxHeaderLines * CFaxHeaderLines::NewLC(class RFile *)
-?GeneratePathForHeaderFileL@CFaxHeaderLines@@SAXAAVTDes16@@@Z @ 19 NONAME ; void CFaxHeaderLines::GeneratePathForHeaderFileL(class TDes16 &)
--- a/fax/faxclientandserver/bwins/FAXSTBU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-EXPORTS LibEntry @1 NONAME
--- a/fax/faxclientandserver/bwins/FAXSTRMU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-EXPORTS ??0TFaxBandHeader@@QAE@VTStreamId@@@Z @1 NONAME
-EXPORTS ??0TFaxBandHeader@@QAE@XZ @2 NONAME
-EXPORTS ??1CFaxPageInfo@@UAE@XZ @3 NONAME
-EXPORTS ??1CFaxPages@@UAE@XZ @4 NONAME
-EXPORTS ??1CReadFaxFile@@UAE@XZ @5 NONAME
-EXPORTS ??1CReadFaxPages@@UAE@XZ @6 NONAME
-EXPORTS ??1CWriteFaxFile@@UAE@XZ @7 NONAME
-EXPORTS ??1CWriteFaxPages@@UAE@XZ @8 NONAME
-EXPORTS ?AbortWrite@CWriteFaxFile@@QAEXXZ @9 NONAME
-EXPORTS ?AddEncodedScanLineL@CWriteFaxPages@@QAEXABVTDesC8@@@Z @10 NONAME
-EXPORTS ?AddScanLineL@CWriteFaxPages@@QAEXABVTDesC8@@@Z @11 NONAME
-EXPORTS ?Close@CReadFaxFile@@QAEXXZ @12 NONAME
-EXPORTS ?Close@CWriteFaxFile@@QAEXXZ @13 NONAME
-EXPORTS ?CommitL@CWriteFaxFile@@QAEXXZ @14 NONAME
-EXPORTS ?CommitPageL@CWriteFaxPages@@QAE?AVTStreamId@@XZ @15 NONAME
-EXPORTS ?CurrentPageInfo@CReadFaxPages@@QBE?AVTFaxPageInfo@@XZ @16 NONAME
-EXPORTS ?EndPageL@CWriteFaxPages@@QAEXW4TFaxResolution@@AAV?$TBuf@$0BE@@@W4TFaxCompression@@H@Z @17 NONAME
-EXPORTS ?ExternalizeL@CFaxPageInfo@@QBEXAAVRWriteStream@@@Z @18 NONAME
-EXPORTS ?ExternalizeL@CFaxPages@@QBEXAAVRWriteStream@@@Z @19 NONAME
-EXPORTS ?ExternalizeL@TFaxBandHeader@@QBEXAAVRWriteStream@@@Z @20 NONAME
-EXPORTS ?GetEncodedScanLineL@CReadFaxPages@@QAEXAAVTDes8@@@Z @21 NONAME
-EXPORTS ?GetScanLineL@CReadFaxPages@@QAEHAAVTDes8@@@Z @22 NONAME
-EXPORTS ?InternalizeL@CFaxPageInfo@@QAEXAAVRReadStream@@@Z @23 NONAME
-EXPORTS ?InternalizeL@CFaxPages@@QAEXAAVRReadStream@@@Z @24 NONAME
-EXPORTS ?InternalizeL@TFaxBandHeader@@QAEXAAVRReadStream@@@Z @25 NONAME
-EXPORTS ?NewL@CFaxPageInfo@@SAPAV1@XZ @26 NONAME
-EXPORTS ?NewL@CFaxPages@@SAPAV1@XZ @27 NONAME
-EXPORTS ?NewL@CReadFaxFile@@SAPAV1@XZ @28 NONAME
-EXPORTS ?NewL@CReadFaxPages@@SAPAV1@AAVCStreamStore@@VTStreamId@@@Z @29 NONAME
-EXPORTS ?NewL@CWriteFaxFile@@SAPAV1@XZ @30 NONAME
-EXPORTS ?NewL@CWriteFaxPages@@SAPAV1@AAVCStreamStore@@H@Z @31 NONAME
-EXPORTS ?NumPages@CReadFaxPages@@QBEHXZ @32 NONAME
-EXPORTS ?OpenL@CReadFaxFile@@QAEXABVTDesC16@@@Z @33 NONAME
-EXPORTS ?OpenL@CWriteFaxFile@@QAEXABVTDesC16@@H@Z @34 NONAME
-EXPORTS ?SeekScanLineL@CReadFaxPages@@QAEXH@Z @35 NONAME
-EXPORTS ?SetPageL@CReadFaxPages@@QAEXH@Z @36 NONAME
-EXPORTS ?StartPage@CWriteFaxPages@@QAEXW4TFaxResolution@@W4TFaxCompression@@H@Z @37 NONAME
--- a/fax/faxclientandserver/bwins/FAXSVRU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-EXPORTS
-	LibEntry @ 1 NONAME
-
--- a/fax/faxclientandserver/eabi/FAXCLIU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-EXPORTS
-	_ZN12CFaxTransfer10AddSourceLERK4TBufILi256EE24TFaxPreferredCompression @ 1 NONAME
-	_ZN12CFaxTransfer10AddSourceLERK4TBufILi256EEi24TFaxPreferredCompression @ 2 NONAME
-	_ZN12CFaxTransfer10AddSourceLERK4TBufILi256EEii24TFaxPreferredCompression @ 3 NONAME
-	_ZN12CFaxTransfer15SetPhoneNumberLER6TDesC8 @ 4 NONAME
-	_ZN12CFaxTransfer16RemoveAllSourcesEv @ 5 NONAME
-	_ZN12CFaxTransfer4NewLERK12TFaxSettings @ 6 NONAME
-	_ZN12CFaxTransfer4StopEv @ 7 NONAME
-	_ZN12CFaxTransfer5NewLCERK12TFaxSettings @ 8 NONAME
-	_ZN12CFaxTransfer5StartER14TRequestStatus @ 9 NONAME
-	_ZN12CFaxTransfer6CancelEv @ 10 NONAME
-	_ZN12CFaxTransfer8ProgressEv @ 11 NONAME
-	_ZN12TFaxSettings12InternalizeLER11RReadStream @ 12 NONAME
-	_ZN12TFaxSettingsaSERKS_ @ 13 NONAME
-	_ZN18CFaxTransferSource10AddSourceLERK4TBufILi256EE24TFaxPreferredCompression @ 14 NONAME
-	_ZN18CFaxTransferSource10AddSourceLERK4TBufILi256EEi24TFaxPreferredCompression @ 15 NONAME
-	_ZN18CFaxTransferSource10AddSourceLERK4TBufILi256EEii24TFaxPreferredCompression @ 16 NONAME
-	_ZN18CFaxTransferSource16RemoveAllSourcesEv @ 17 NONAME
-	_ZNK12TFaxSettings12ExternalizeLER12RWriteStream @ 18 NONAME
-	_ZTI12CFaxSettings @ 19 NONAME ; #<TI>#
-	_ZTI12CFaxTransfer @ 20 NONAME ; #<TI>#
-	_ZTI18CFaxTransferSource @ 21 NONAME ; #<TI>#
-	_ZTV12CFaxSettings @ 22 NONAME ; #<VT>#
-	_ZTV12CFaxTransfer @ 23 NONAME ; #<VT>#
-	_ZTV18CFaxTransferSource @ 24 NONAME ; #<VT>#
-
--- a/fax/faxclientandserver/eabi/FAXSTRMU.def	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-EXPORTS
-	_ZN12CFaxPageInfo12InternalizeLER11RReadStream @ 1 NONAME
-	_ZN12CFaxPageInfo4NewLEv @ 2 NONAME
-	_ZN12CFaxPageInfoD0Ev @ 3 NONAME
-	_ZN12CFaxPageInfoD1Ev @ 4 NONAME
-	_ZN12CFaxPageInfoD2Ev @ 5 NONAME
-	_ZN12CReadFaxFile4NewLEv @ 6 NONAME
-	_ZN12CReadFaxFile5CloseEv @ 7 NONAME
-	_ZN12CReadFaxFile5OpenLERK7TDesC16 @ 8 NONAME
-	_ZN12CReadFaxFileD0Ev @ 9 NONAME
-	_ZN12CReadFaxFileD1Ev @ 10 NONAME
-	_ZN12CReadFaxFileD2Ev @ 11 NONAME
-	_ZN13CReadFaxPages12GetScanLineLER5TDes8 @ 12 NONAME
-	_ZN13CReadFaxPages13SeekScanLineLEi @ 13 NONAME
-	_ZN13CReadFaxPages19GetEncodedScanLineLER5TDes8 @ 14 NONAME
-	_ZN13CReadFaxPages4NewLER12CStreamStore9TStreamId @ 15 NONAME
-	_ZN13CReadFaxPages8SetPageLEi @ 16 NONAME
-	_ZN13CReadFaxPagesD0Ev @ 17 NONAME
-	_ZN13CReadFaxPagesD1Ev @ 18 NONAME
-	_ZN13CReadFaxPagesD2Ev @ 19 NONAME
-	_ZN13CWriteFaxFile10AbortWriteEv @ 20 NONAME
-	_ZN13CWriteFaxFile4NewLEv @ 21 NONAME
-	_ZN13CWriteFaxFile5CloseEv @ 22 NONAME
-	_ZN13CWriteFaxFile5OpenLERK7TDesC16i @ 23 NONAME
-	_ZN13CWriteFaxFile7CommitLEv @ 24 NONAME
-	_ZN13CWriteFaxFileD0Ev @ 25 NONAME
-	_ZN13CWriteFaxFileD1Ev @ 26 NONAME
-	_ZN13CWriteFaxFileD2Ev @ 27 NONAME
-	_ZN14CWriteFaxPages11CommitPageLEv @ 28 NONAME
-	_ZN14CWriteFaxPages12AddScanLineLERK6TDesC8 @ 29 NONAME
-	_ZN14CWriteFaxPages19AddEncodedScanLineLERK6TDesC8 @ 30 NONAME
-	_ZN14CWriteFaxPages4NewLER12CStreamStorei @ 31 NONAME
-	_ZN14CWriteFaxPages8EndPageLE14TFaxResolutionR4TBufILi20EE15TFaxCompressioni @ 32 NONAME
-	_ZN14CWriteFaxPages9StartPageE14TFaxResolution15TFaxCompressioni @ 33 NONAME
-	_ZN14CWriteFaxPagesD0Ev @ 34 NONAME
-	_ZN14CWriteFaxPagesD1Ev @ 35 NONAME
-	_ZN14CWriteFaxPagesD2Ev @ 36 NONAME
-	_ZN14TFaxBandHeader12InternalizeLER11RReadStream @ 37 NONAME
-	_ZN14TFaxBandHeaderC1E9TStreamId @ 38 NONAME
-	_ZN14TFaxBandHeaderC1Ev @ 39 NONAME
-	_ZN14TFaxBandHeaderC2E9TStreamId @ 40 NONAME
-	_ZN14TFaxBandHeaderC2Ev @ 41 NONAME
-	_ZN9CFaxPages12InternalizeLER11RReadStream @ 42 NONAME
-	_ZN9CFaxPages4NewLEv @ 43 NONAME
-	_ZN9CFaxPagesD0Ev @ 44 NONAME
-	_ZN9CFaxPagesD1Ev @ 45 NONAME
-	_ZN9CFaxPagesD2Ev @ 46 NONAME
-	_ZNK12CFaxPageInfo12ExternalizeLER12RWriteStream @ 47 NONAME
-	_ZNK13CReadFaxPages15CurrentPageInfoEv @ 48 NONAME
-	_ZNK13CReadFaxPages8NumPagesEv @ 49 NONAME
-	_ZNK14TFaxBandHeader12ExternalizeLER12RWriteStream @ 50 NONAME
-	_ZNK9CFaxPages12ExternalizeLER12RWriteStream @ 51 NONAME
-	_ZTI12CFaxPageInfo @ 52 NONAME ; #<TI>#
-	_ZTI12CReadFaxFile @ 53 NONAME ; #<TI>#
-	_ZTI13CReadFaxPages @ 54 NONAME ; #<TI>#
-	_ZTI13CWriteFaxFile @ 55 NONAME ; #<TI>#
-	_ZTI14CWriteFaxPages @ 56 NONAME ; #<TI>#
-	_ZTI9CFaxPages @ 57 NONAME ; #<TI>#
-	_ZTV12CFaxPageInfo @ 58 NONAME ; #<VT>#
-	_ZTV12CReadFaxFile @ 59 NONAME ; #<VT>#
-	_ZTV13CReadFaxPages @ 60 NONAME ; #<VT>#
-	_ZTV13CWriteFaxFile @ 61 NONAME ; #<VT>#
-	_ZTV14CWriteFaxPages @ 62 NONAME ; #<VT>#
-	_ZTV9CFaxPages @ 63 NONAME ; #<VT>#
-
--- a/fax/faxclientandserver/eabi/FAXSVRU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-EXPORTS
-	LibEntry @ 1 NONAME
-	_ZTI10CFaxClass1 @ 2 NONAME ; #<TI>#
-	_ZTI10CFaxClass2 @ 3 NONAME ; #<TI>#
-	_ZTI11CFaxClass20 @ 4 NONAME ; #<TI>#
-	_ZTI11CFaxSession @ 5 NONAME ; #<TI>#
-	_ZTI15CFaxModemDriver @ 6 NONAME ; #<TI>#
-	_ZTI9CFaxModem @ 7 NONAME ; #<TI>#
-	_ZTIN11CFaxSession11CFaxRequestE @ 8 NONAME ; #<TI>#
-	_ZTV10CFaxClass1 @ 9 NONAME ; #<VT>#
-	_ZTV10CFaxClass2 @ 10 NONAME ; #<VT>#
-	_ZTV11CFaxClass20 @ 11 NONAME ; #<VT>#
-	_ZTV11CFaxSession @ 12 NONAME ; #<VT>#
-	_ZTV15CFaxModemDriver @ 13 NONAME ; #<VT>#
-	_ZTV9CFaxModem @ 14 NONAME ; #<VT>#
-	_ZTVN11CFaxSession11CFaxRequestE @ 15 NONAME ; #<VT>#
-
--- a/fax/faxclientandserver/eabi/FaxIOU.def	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-EXPORTS
-	_ZN15CFaxHeaderLines16ReadRawFontLineLEiR5TBuf8ILi216EE @ 1 NONAME
-	_ZN15CFaxHeaderLines17WriteRawFontLineLEiR5TBuf8ILi216EE @ 2 NONAME
-	_ZN15CFaxHeaderLines18ReadFaxHeaderInfoLER14TFaxHeaderInfo @ 3 NONAME
-	_ZN15CFaxHeaderLines18ReadRawHeaderLineLEiR5TBuf8ILi216EE @ 4 NONAME
-	_ZN15CFaxHeaderLines19WriteFaxHeaderInfoLER14TFaxHeaderInfo @ 5 NONAME
-	_ZN15CFaxHeaderLines19WriteRawHeaderLineLEiR5TBuf8ILi216EE @ 6 NONAME
-	_ZN15CFaxHeaderLines4NewLEv @ 7 NONAME
-	_ZN15CFaxHeaderLines5NewLCEv @ 8 NONAME
-	_ZN6CFaxT414DecodeScanLineER5TDes8RK6TDesC8 @ 9 NONAME
-	_ZN6CFaxT414EncodeScanLineERK6TDesC8R5TDes8 @ 10 NONAME
-	_ZN6CFaxT414PageInitializeE14TFaxResolution15TFaxCompressioni @ 11 NONAME
-	_ZN6CFaxT416DecodeScanLine1DER5TDes8RK6TDesC8 @ 12 NONAME
-	_ZN6CFaxT416DecodeScanLine2DER5TDes8RK6TDesC8 @ 13 NONAME
-	_ZN6CFaxT416EncodeScanLine1DERK6TDesC8R5TDes8 @ 14 NONAME
-	_ZN6CFaxT416EncodeScanLine2DERK6TDesC8R5TDes8 @ 15 NONAME
-	_ZN6CFaxT44NewLEv @ 16 NONAME
-	_ZN6CFaxT45NewLCEv @ 17 NONAME
-	_ZTI15CFaxHeaderLines @ 18 NONAME ; #<TI>#
-	_ZTV15CFaxHeaderLines @ 19 NONAME ; #<VT>#
-	_ZN15CFaxHeaderLines26GeneratePathForHeaderFileLER6TDes16 @ 20 NONAME
-	_ZN15CFaxHeaderLines5NewLCEP5RFile @ 21 NONAME
-
--- a/fax/faxclientandserver/eabi/faxstbu.def	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	LibEntry @ 1 NONAME
-	_ZTI11CFaxSession @ 2 NONAME ; #<TI>#
-	_ZTI9CFaxTimer @ 3 NONAME ; #<TI>#
-	_ZTV11CFaxSession @ 4 NONAME ; #<VT>#
-	_ZTV9CFaxTimer @ 5 NONAME ; #<VT>#
-
--- a/fax/faxclientandserver/faxio/CFAXIO.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,206 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @publishedPartner
- @released
-*/
-
-#if defined(__VC32__) && _MSC_VER==1100
-// Disable MSVC++ 5.0 aggressive warnings about non-expansion of inline functions. 
-#pragma warning(disable : 4710)	// function '...' not expanded
-#endif
-
-#if !defined(__CFAXIO_H__)
-#define __CFAXIO_H__
-
-#if !defined(__E32STD_H__)
-#include <e32std.h>
-#endif // __E32STD_H__
-
-#if !defined(__E32BASE_H__)
-#include <e32base.h>
-#endif // __E32BASE_H__
-
-#if !defined(__F32FILE_H__)
-#include <f32file.h>
-#endif // __F32FILE_H__
-
-#if !defined(__FAXDEFN_H__)
-#include <faxdefn.h>
-#endif // __FAXDEFN_H__
-
-/**
-@internalComponent
-*/
-typedef TUint32 TCodeDef;
-
-/**
-@publishedPartner
-@released
-*/
-const TInt KFaxFileStoreUidVal(268435712);
-
-class CFileWriteStream;
-class CFileReadStream;
-
-
-/**
-Fax line coding/decoding.
-
-Provides utility functions for encoding and decoding fax scan lines. The lines 
-can be encoded/decoded as 1 dimensional modified Huffman or 2 dimensional 
-modified Read.
-
-Users must first create a CFaxT4 object using NewL() or NewLC(). Specific 
-functions are provided to encode/decode scan lines using the two coding schemes. 
-In addition, general functions are provided which determine the coding type 
-from the values specified when the object is initialised - using PageInitialise().
-
-In pre-v5.1 releases of Symbian OS, this class was defined in faxstore.h and 
-its import library was faxst2.lib.
-
-@publishedPartner
-@released 
-*/
-class CFaxT4 : public CBase // replaces FaxT4 class used up to faxstore 013
-	{
-public:
-	IMPORT_C static CFaxT4 * NewL ();
-	IMPORT_C static CFaxT4 * NewLC ();
-	IMPORT_C void EncodeScanLine(const TDesC8& aScanLine,TDes8& anEncodedScanLine);
-	IMPORT_C TInt DecodeScanLine(TDes8& aScanLine,const TDesC8& anEncodedScanLine);
-	IMPORT_C void EncodeScanLine1D(const TDesC8& aScanLine,TDes8& anEncodedScanLine);
-	IMPORT_C TInt DecodeScanLine1D(TDes8& aScanLine,const TDesC8& anEncodedScanLine);
-	IMPORT_C void EncodeScanLine2D(const TDesC8& aScanLine,TDes8& anEncodedScanLine);
-	IMPORT_C TInt DecodeScanLine2D(TDes8& aScanLine,const TDesC8& anEncodedScanLine);
-	IMPORT_C void PageInitialize (TFaxResolution aResolution, TFaxCompression aCompression, TInt aFlag2 = 0);
-
-private:
-	inline CFaxT4();
-
-	void DoEncodeScanLine2D (const TDesC8 & aScanLine, TDes8 & anEncodedScanLine);
-	void DecodeHuffman(const TDesC8 & aEncodedScanLine);
-
-private:
-	TFaxResolution iResolution;
-	TFaxCompression iCompression;
-	TInt iLineCount;
-	TInt iK;
-	TInt iReservedFlag2;
-	const TUint8* iEndRef;
-	TUint8 iRef[KFaxPixelsPerScanLine+4];
-	};
-
-/**
-Fax header line information.
-
-Contains the information needed to generate a fax header line from a font 
-bitmap line and a header line template. For a detailed discussion of how this 
-class interacts with others to generate the fax header line.
-
-In pre-v5.1 releases of Symbian OS, this class was defined in faxstore.h.
-
-The iOffset members specify an offset in a TRawScanLine. In other words, the 
-offsets are specified in bytes rather than in characters or bits. 
-
-@publishedPartner
-@released
-*/
-class TFaxHeaderInfo
-	{
-public:
-	/** Width of the font in bytes. */
-	TInt iHeaderFontWidthInBytes;	
-	/** Height of the font in lines. */
-	TInt iHeaderFontHeightInLines;
-	/** Offset to two digit day of month. */
-	TInt iOffsetToDay;           
-	/** Offset to two digits month of year. */
-	TInt iOffsetToMonth;         
-	/** Offset to four digits year. */
-	TInt iOffsetToYear;         
-	/** Offset to two digits hour (24 hour clock). */
-	TInt iOffsetToHour;       
-	/** Offset to two digits minute. */
-	TInt iOffsetToMinute;        
-	/** Offset to two digits for total pages. */
-	TInt iOffsetToTotalPages;   
-	/** Offset to two digits for current page. */
-	TInt iOffsetToCurrentPage;   
-	};
-
-/**
-Packages fax header information for transferring across the client-server boundary. 
-
-@internalComponent
-*/
-typedef TPckgBuf < TFaxHeaderInfo > TFaxHeaderInfoPckg;
-
-
-/**
-Read/write fax header line data
-
-Allows applications to read and write information from the fax header line 
-data file: including the header line template, a font bitmap, and character 
-offset information. This data can be used to generate a fax header line -
-which contains send-time information - in real time. 
-
-This class is not intended for user derivation.
-
-In pre-v5.1 releases of Symbian OS, this class was defined in faxstore.h and 
-had an import library faxst2.lib. 
-
-@publishedPartner
-@released
-*/
-class CFaxHeaderLines : public CBase
-	{
-public:
-	IMPORT_C static CFaxHeaderLines * NewL ();
-	IMPORT_C static CFaxHeaderLines * NewLC ();
-	~CFaxHeaderLines ();
-
-	IMPORT_C void WriteRawFontLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void WriteRawHeaderLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void WriteFaxHeaderInfoL (TFaxHeaderInfo & aFaxHeaderInfo);
-	IMPORT_C void ReadRawFontLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void ReadRawHeaderLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void ReadFaxHeaderInfoL (TFaxHeaderInfo & aFaxHeaderInfo);
-	IMPORT_C static CFaxHeaderLines * NewLC (RFile* aHeaderFile);
-	IMPORT_C static void GeneratePathForHeaderFileL(TDes& aPrivatePath);
-
-protected:
-	CFaxHeaderLines(RFile* aHeaderFile);
-	CFaxHeaderLines();
-	void ConstructL ();
-	static void GenerateHeaderPathL(TDes& aPrivatePath);
-	inline RFile& File();
-
-private:
-	RFs iFileSession;
-	RFile iFile;
-	TInt iSeekpos;
-	TInt iLineNumber;
-	RFile* iAdoptedHeaderFile;
-	TBool iUseAdpotedFileHandle;
-
-public:
-	/** The fax header information package. */
-	TFaxHeaderInfoPckg iOurFaxHeaderInfoPckg;
-	};
-
-#endif // __CFAXIO_H__
--- a/fax/faxclientandserver/faxio/FAXHEAD.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Contents : for routine for saving/restoring fax header information
-// amended 26/10/98  -  replaced sizeof(TRawScanLine) with KFaxBytesPerScanLine
-// 
-//
-
-#include <e32std.h>
-#include <e32base.h>
-#include <f32file.h>
-
-#include "CFAXIO.H"		//public header
-
-_LIT(KHeaderFile, "FAXHEAD.DAT");
-const TDriveNumber KDriveNumber = EDriveC;
-
-/********************************************************************/
-
-EXPORT_C CFaxHeaderLines *CFaxHeaderLines::NewLC ()
-/** Constructs a CFaxHeaderLines object, which is used to read and write the fax 
-header line data file.
-
-As is usual in Symbian OS, the only difference between this function and NewL() 
-is that this variant pushes the object to the cleanup stack.
-
-As part of the construction process, the object opens a session with the file 
-server.
-
-@leave KErrNoMemory There is insufficient memory to perform the operation. 
-@return Pointer to the newly created object. 
-@capability None
-*/
-   {
-   CFaxHeaderLines *self = new (ELeave) CFaxHeaderLines;
-   CleanupStack::PushL (self);
-   self->ConstructL ();
-   return self;
-   }
-/********************************************************************/
-
-EXPORT_C CFaxHeaderLines *CFaxHeaderLines::NewL ()
-/** Constructs a CFaxHeaderLines object, which is used to read and write the fax 
-header line data file.
-
-As part of the construction process, the object opens a session with the file 
-server.
-
-@leave KErrNoMemory There is insufficient memory to perform the operation. 
-@return A pointer to the newly created object. 
-@capability None
-*/
-   {
-   CFaxHeaderLines *self = NewLC ();
-   CleanupStack::Pop ();
-   return self;
-   }
-/********************************************************************/
-/**
-Default constructor
-*/
-CFaxHeaderLines::CFaxHeaderLines()
-: iAdoptedHeaderFile(NULL), iUseAdpotedFileHandle(EFalse)
-{
-//Empty	
-}
-
-/**
-Overloaded constructor
-*/
-CFaxHeaderLines::CFaxHeaderLines(RFile* aHeaderFile)
-: iAdoptedHeaderFile(aHeaderFile), iUseAdpotedFileHandle(ETrue)
-{
-//Empty	
-}
-
-void CFaxHeaderLines::ConstructL ()
-   {
-   if(!iUseAdpotedFileHandle)   
-	   	{	
-	   	User::LeaveIfError (iFileSession.Connect ());
-	   	}
-   }
-/********************************************************************/
-
-CFaxHeaderLines::~CFaxHeaderLines ()
-/** Closes the open header line data file and shuts down the file server session. */
-   {
-   if(!iUseAdpotedFileHandle)
-   	{
-   	iFile.Close ();
-    iFileSession.Close ();
-   	}
-   
-   }
-/********************************************************************/
-
-EXPORT_C void CFaxHeaderLines::WriteRawFontLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine)
-/** Writes header line font bitmap scan lines to the header line data file. 
-
-It should be called to add every scan line in the font bitmap.
-
-@param alineNumber The line number of the current scan line. 
-@param aUncompressedDataLine A reference to a raw font bitmap scan line to 
-be added to the header line data file. 
-@capability None
-*/
-   {
-   iSeekpos=sizeof (TFaxHeaderInfo);
-   iSeekpos+=KFaxBytesPerScanLine*iOurFaxHeaderInfoPckg().iHeaderFontHeightInLines;
-   iSeekpos+=KFaxBytesPerScanLine*alineNumber;
-   User::LeaveIfError (File().Seek (ESeekStart, iSeekpos));
-   User::LeaveIfError (File().Write (aUncompressedDataLine, KFaxBytesPerScanLine));		
-   }
-/********************************************************************/
-
-EXPORT_C void CFaxHeaderLines::WriteRawHeaderLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine)
-/** Writes the header line template's scan lines to the header line data file. 
-It should be called to add every scan line in the template.
-
-@param alineNumber The line number of the current scan line. 
-@param aUncompressedDataLine A reference to a raw header line template scan 
-line to be added to the header line data file. 
-@capability None
-*/
-   {
-   iSeekpos=sizeof (TFaxHeaderInfo);
-   iSeekpos+=KFaxBytesPerScanLine*alineNumber;
-   User::LeaveIfError (File().Seek (ESeekStart, iSeekpos));
-   User::LeaveIfError (File().Write (aUncompressedDataLine, KFaxBytesPerScanLine));
-   }
-/********************************************************************/
-
-EXPORT_C void CFaxHeaderLines::WriteFaxHeaderInfoL (TFaxHeaderInfo & aFaxHeaderInfo)
-/** Creates and opens the fax header data file, and then writes font and character 
-offset information to it.
-
-The font and character offset information is used by the fax server to determine 
-at which position the font bitmap characters should be inserted in the header 
-line template to create the send-time header line for a page.
-
-Since this function creates and opens the file, it should be called before 
-the other write functions.
-
-@param aFaxHeaderInfo The fax header line information to be written to the 
-file. 
-@capability None
-*/
-   {
-   iOurFaxHeaderInfoPckg() = aFaxHeaderInfo;
-   iSeekpos=0;
-   if(!iUseAdpotedFileHandle)
-	   {
-	   TFileName headerFileName;
-   	   GenerateHeaderPathL(headerFileName);
-	   User::LeaveIfError (iFile.Replace (iFileSession, headerFileName, EFileWrite));
-	   }
-   User::LeaveIfError (File().Seek (ESeekStart, iSeekpos));
-   User::LeaveIfError (File().Write (iOurFaxHeaderInfoPckg, sizeof (TFaxHeaderInfo)));
-   }
-/********************************************************************/
-
-EXPORT_C void CFaxHeaderLines::ReadRawFontLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine)
-/** Reads the font bitmap's scan lines from the header line data file. 
-
-It should be called to read every scan line in the bitmap.
-
-In normal operation the function is called by the fax server prior to sending 
-a page.
-
-@param alineNumber The line number to be read. 
-@param aUncompressedDataLine On return, contains a reference to the raw scan 
-line. 
-@capability None
-*/
-   {
-   iSeekpos=sizeof (TFaxHeaderInfo);
-   iSeekpos+=KFaxBytesPerScanLine*iOurFaxHeaderInfoPckg().iHeaderFontHeightInLines;
-   iSeekpos+=KFaxBytesPerScanLine*alineNumber;
-   User::LeaveIfError (File().Seek (ESeekStart, iSeekpos));
-   User::LeaveIfError (File().Read (aUncompressedDataLine, KFaxBytesPerScanLine));
-} 
-/********************************************************************/
-
-EXPORT_C void CFaxHeaderLines::ReadRawHeaderLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine)
-/** Reads the header line template's scan lines from the header line data file. 
-It should be called to read every scan line in the template.
-
-In normal operation the function is called by the fax server prior to sending 
-a page.
-
-@param alineNumber The line number of the scan line to be read. 
-@param aUncompressedDataLine On return, contains the scan line. 
-@capability None
-*/
-   {
-   iSeekpos=sizeof (TFaxHeaderInfo);
-   iSeekpos+=KFaxBytesPerScanLine*alineNumber;
-   User::LeaveIfError (File().Seek (ESeekStart, iSeekpos));
-   User::LeaveIfError (File().Read (aUncompressedDataLine, KFaxBytesPerScanLine));
-   }
-/********************************************************************/
-
-EXPORT_C void CFaxHeaderLines::ReadFaxHeaderInfoL (TFaxHeaderInfo & aFaxHeaderInfo)
-/** Opens the fax header data file, and then reads font and character offset information 
-from it.
-
-The font and character offset information is used by the fax server to determine 
-at which position the font bitmap characters should be inserted in the header 
-line template to create the send time header line for a page.
-
-Since this function opens the file, it should be called before the other read 
-functions.
-
-@param aFaxHeaderInfo On return, contains header line information from the 
-header data file. 
-@capability None
-*/
-   {
-   iSeekpos=0;
-   if(!iUseAdpotedFileHandle)
-	   {
-	   TFileName headerFileName;
-   	   GenerateHeaderPathL(headerFileName);
-   	   User::LeaveIfError (iFile.Open (iFileSession, headerFileName, EFileRead));
-	   }
-   User::LeaveIfError (File().Seek (ESeekStart, iSeekpos));
-   User::LeaveIfError (File().Read (iOurFaxHeaderInfoPckg, sizeof (TFaxHeaderInfo)));
-   aFaxHeaderInfo = iOurFaxHeaderInfoPckg();
-   }
-   
-/**
-Constructs a CFaxHeaderLines object, which is used to read and write the fax 
-header line data file.
-
-This overload allows an already open file handle to be passed in which is used to access the file.  
-This function is not intended for public use.
-
-@internalTechnology
-@param aHeaderFile Pointer to file handle.
-@return Pointer to the newly created object.
-@capability None
-@released
-*/
-EXPORT_C CFaxHeaderLines* CFaxHeaderLines::NewLC (RFile* aHeaderFile)
-	{
-	CFaxHeaderLines *self = new (ELeave) CFaxHeaderLines(aHeaderFile);
-    CleanupStack::PushL (self);
-    self->ConstructL ();
-    return self;
-	}
-		
-/**
-Generates the header path to place the faxhead.dat file.  
-If platform security is enforced this path will be the private path of the client process.  As this directory structure may not exist 
-This function will generate the directory structure if it does not exist.
-If platform security is not enforced this path will be c:\system\...
-
-
-@internalTechnology
-@param aHeaderPath contains the generated private path
-@capability None
-@released
-*/
-EXPORT_C void CFaxHeaderLines::GeneratePathForHeaderFileL(TDes& aHeaderPath)
-	{
-	GenerateHeaderPathL(aHeaderPath);
-	}
-
-/**
-Return reference to open file handle.
-*/
-inline RFile& CFaxHeaderLines::File()
-	{
-	if(iUseAdpotedFileHandle)
-		{
-		return *iAdoptedHeaderFile;
-		}
-	else
-		{
-		return iFile;
-		}
-	}
-
-/**
-Generates the header path to place the faxhead.dat file.
-*/
-void CFaxHeaderLines::GenerateHeaderPathL(TDes& aHeaderPath)
-	{	
-	TDriveUnit driveUnit(KDriveNumber);
-	TDriveName drive=driveUnit.Name();
-	aHeaderPath.Insert(0, drive);
-	TPath headerPath;
-	//append private path	
-	RFs rfs;
-	User::LeaveIfError(rfs.Connect());
-	CleanupClosePushL(rfs);	
-	rfs.PrivatePath(headerPath);		
-	//generate directory structure.
-	TInt ret = rfs.CreatePrivatePath(driveUnit);
-	if(ret != KErrNone && ret!=KErrAlreadyExists)
-		{
-		User::Leave(ret);
-		}
-	CleanupStack::PopAndDestroy();	//rfs
-
-	aHeaderPath.Append(headerPath);
-	aHeaderPath.Append(KHeaderFile);
-	}
-
-/********************************************************************/
-
--- a/fax/faxclientandserver/faxio/FAXHUFF.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @publishedPartner
- @released
-*/
-
-#if !defined(__FAXHUFF_H__)
-#define __FAXHUFF_H__
-
-#define KFaxBlack 0		// Mask for CFbsBitmap bytes
-#define KFaxWhite 0xFF	// Reversing gives a negative image
-
-typedef TUint32 TCodeDef;
-
-#define HUFF(len,bits) (TUint(len)<<16)|(bits)
-#define HUFFLEN(def) (TUint(def)>>16)
-#define HUFFBITS(def) (TUint(def)<<16)
-
-const TCodeDef KCodes[] =
-	{
-	// interleaved black/white runs
-	HUFF(10,0x0dc0),  // 0 black = 10 bit code is 0000110111
-	HUFF(8,0x3500),// 0 white = 8 bit code is 00110101
-	HUFF(3,0x4000),// 1 black = 3 bit code is 010
-	HUFF(6,0x1c00),// 1 white = 6 bit code is 000111
-	HUFF(2,0xc000),// 2 black = 2 bit code is 11
-	HUFF(4,0x7000),// 2 white = 4 bit code is 0111
-	HUFF(2,0x8000),// 3 black = 2 bit code is 10
-	HUFF(4,0x8000),// 3 white = 4 bit code is 1000
-	HUFF(3,0x6000),// 4 black = 3 bit code is 011
-	HUFF(4,0xb000),// 4 white = 4 bit code is 1011
-	HUFF(4,0x3000),// 5 black = 4 bit code is 0011
-	HUFF(4,0xc000),// 5 white = 4 bit code is 1100
-	HUFF(4,0x2000),// 6 black = 4 bit code is 0010
-	HUFF(4,0xe000),// 6 white = 4 bit code is 1110
-	HUFF(5,0x1800),// 7 black = 5 bit code is 00011
-	HUFF(4,0xf000),// 7 white = 4 bit code is 1111
-	HUFF(6,0x1400),// 8 black = 6 bit code is 000101
-	HUFF(5,0x9800),// 8 white = 5 bit code is 10011
-	HUFF(6,0x1000),// 9 black = 6 bit code is 000100
-	HUFF(5,0xa000),// 9 white = 5 bit code is 10100
-	HUFF(7,0x0800),// 10 black = 7 bit code is 0000100
-	HUFF(5,0x3800),// 10 white = 5 bit code is 00111
-	HUFF(7,0x0a00),// 11 black = 7 bit code is 0000101
-	HUFF(5,0x4000),// 11 white = 5 bit code is 01000
-	HUFF(7,0x0e00),// 12 black = 7 bit code is 0000111
-	HUFF(6,0x2000),// 12 white = 6 bit code is 001000
-	HUFF(8,0x0400),// 13 black = 8 bit code is 00000100
-	HUFF(6,0x0c00),// 13 white = 6 bit code is 000011
-	HUFF(8,0x0700),// 14 black = 8 bit code is 00000111
-	HUFF(6,0xd000),// 14 white = 6 bit code is 110100
-	HUFF(9,0x0c00),// 15 black = 9 bit code is 000011000
-	HUFF(6,0xd400),// 15 white = 6 bit code is 110101
-	HUFF(10,0x05c0),  // 16 black = 10 bit code is 0000010111
-	HUFF(6,0xa800),// 16 white = 6 bit code is 101010
-	HUFF(10,0x0600),  // 17 black = 10 bit code is 0000011000
-	HUFF(6,0xac00),// 17 white = 6 bit code is 101011
-	HUFF(10,0x0200),  // 18 black = 10 bit code is 0000001000
-	HUFF(7,0x4e00),// 18 white = 7 bit code is 0100111
-	HUFF(11,0x0ce0),  // 19 black = 11 bit code is 00001100111
-	HUFF(7,0x1800),// 19 white = 7 bit code is 0001100
-	HUFF(11,0x0d00),  // 20 black = 11 bit code is 00001101000
-	HUFF(7,0x1000),// 20 white = 7 bit code is 0001000
-	HUFF(11,0x0d80),  // 21 black = 11 bit code is 00001101100
-	HUFF(7,0x2e00),// 21 white = 7 bit code is 0010111
-	HUFF(11,0x06e0),  // 22 black = 11 bit code is 00000110111
-	HUFF(7,0x0600),// 22 white = 7 bit code is 0000011
-	HUFF(11,0x0500),  // 23 black = 11 bit code is 00000101000
-	HUFF(7,0x0800),// 23 white = 7 bit code is 0000100
-	HUFF(11,0x02e0),  // 24 black = 11 bit code is 00000010111
-	HUFF(7,0x5000),// 24 white = 7 bit code is 0101000
-	HUFF(11,0x0300),  // 25 black = 11 bit code is 00000011000
-	HUFF(7,0x5600),// 25 white = 7 bit code is 0101011
-	HUFF(12,0x0ca0),  // 26 black = 12 bit code is 000011001010
-	HUFF(7,0x2600),// 26 white = 7 bit code is 0010011
-	HUFF(12,0x0cb0),  // 27 black = 12 bit code is 000011001011
-	HUFF(7,0x4800),// 27 white = 7 bit code is 0100100
-	HUFF(12,0x0cc0),  // 28 black = 12 bit code is 000011001100
-	HUFF(7,0x3000),// 28 white = 7 bit code is 0011000
-	HUFF(12,0x0cd0),  // 29 black = 12 bit code is 000011001101
-	HUFF(8,0x0200),// 29 white = 8 bit code is 00000010
-	HUFF(12,0x0680),  // 30 black = 12 bit code is 000001101000
-	HUFF(8,0x0300),// 30 white = 8 bit code is 00000011
-	HUFF(12,0x0690),  // 31 black = 12 bit code is 000001101001
-	HUFF(8,0x1a00),// 31 white = 8 bit code is 00011010
-	HUFF(12,0x06a0),  // 32 black = 12 bit code is 000001101010
-	HUFF(8,0x1b00),// 32 white = 8 bit code is 00011011
-	HUFF(12,0x06b0),  // 33 black = 12 bit code is 000001101011
-	HUFF(8,0x1200),// 33 white = 8 bit code is 00010010
-	HUFF(12,0x0d20),  // 34 black = 12 bit code is 000011010010
-	HUFF(8,0x1300),// 34 white = 8 bit code is 00010011
-	HUFF(12,0x0d30),  // 35 black = 12 bit code is 000011010011
-	HUFF(8,0x1400),// 35 white = 8 bit code is 00010100
-	HUFF(12,0x0d40),  // 36 black = 12 bit code is 000011010100
-	HUFF(8,0x1500),// 36 white = 8 bit code is 00010101
-	HUFF(12,0x0d50),  // 37 black = 12 bit code is 000011010101
-	HUFF(8,0x1600),// 37 white = 8 bit code is 00010110
-	HUFF(12,0x0d60),  // 38 black = 12 bit code is 000011010110
-	HUFF(8,0x1700),// 38 white = 8 bit code is 00010111
-	HUFF(12,0x0d70),  // 39 black = 12 bit code is 000011010111
-	HUFF(8,0x2800),// 39 white = 8 bit code is 00101000
-	HUFF(12,0x06c0),  // 40 black = 12 bit code is 000001101100
-	HUFF(8,0x2900),// 40 white = 8 bit code is 00101001
-	HUFF(12,0x06d0),  // 41 black = 12 bit code is 000001101101
-	HUFF(8,0x2a00),// 41 white = 8 bit code is 00101010
-	HUFF(12,0x0da0),  // 42 black = 12 bit code is 000011011010
-	HUFF(8,0x2b00),// 42 white = 8 bit code is 00101011
-	HUFF(12,0x0db0),  // 43 black = 12 bit code is 000011011011
-	HUFF(8,0x2c00),// 43 white = 8 bit code is 00101100
-	HUFF(12,0x0540),  // 44 black = 12 bit code is 000001010100
-	HUFF(8,0x2d00),// 44 white = 8 bit code is 00101101
-	HUFF(12,0x0550),  // 45 black = 12 bit code is 000001010101
-	HUFF(8,0x0400),// 45 white = 8 bit code is 00000100
-	HUFF(12,0x0560),  // 46 black = 12 bit code is 000001010110
-	HUFF(8,0x0500),// 46 white = 8 bit code is 00000101
-	HUFF(12,0x0570),  // 47 black = 12 bit code is 000001010111
-	HUFF(8,0x0a00),// 47 white = 8 bit code is 00001010
-	HUFF(12,0x0640),  // 48 black = 12 bit code is 000001100100
-	HUFF(8,0x0b00),// 48 white = 8 bit code is 00001011
-	HUFF(12,0x0650),  // 49 black = 12 bit code is 000001100101
-	HUFF(8,0x5200),// 49 white = 8 bit code is 01010010
-	HUFF(12,0x0520),  // 50 black = 12 bit code is 000001010010
-	HUFF(8,0x5300),// 50 white = 8 bit code is 01010011
-	HUFF(12,0x0530),  // 51 black = 12 bit code is 000001010011
-	HUFF(8,0x5400),// 51 white = 8 bit code is 01010100
-	HUFF(12,0x0240),  // 52 black = 12 bit code is 000000100100
-	HUFF(8,0x5500),// 52 white = 8 bit code is 01010101
-	HUFF(12,0x0370),  // 53 black = 12 bit code is 000000110111
-	HUFF(8,0x2400),// 53 white = 8 bit code is 00100100
-	HUFF(12,0x0380),  // 54 black = 12 bit code is 000000111000
-	HUFF(8,0x2500),// 54 white = 8 bit code is 00100101
-	HUFF(12,0x0270),  // 55 black = 12 bit code is 000000100111
-	HUFF(8,0x5800),// 55 white = 8 bit code is 01011000
-	HUFF(12,0x0280),  // 56 black = 12 bit code is 000000101000
-	HUFF(8,0x5900),// 56 white = 8 bit code is 01011001
-	HUFF(12,0x0580),  // 57 black = 12 bit code is 000001011000
-	HUFF(8,0x5a00),// 57 white = 8 bit code is 01011010
-	HUFF(12,0x0590),  // 58 black = 12 bit code is 000001011001
-	HUFF(8,0x5b00),// 58 white = 8 bit code is 01011011
-	HUFF(12,0x02b0),  // 59 black = 12 bit code is 000000101011
-	HUFF(8,0x4a00),// 59 white = 8 bit code is 01001010
-	HUFF(12,0x02c0),  // 60 black = 12 bit code is 000000101100
-	HUFF(8,0x4b00),// 60 white = 8 bit code is 01001011
-	HUFF(12,0x05a0),  // 61 black = 12 bit code is 000001011010
-	HUFF(8,0x3200),// 61 white = 8 bit code is 00110010
-	HUFF(12,0x0660),  // 62 black = 12 bit code is 000001100110
-	HUFF(8,0x3300),// 62 white = 8 bit code is 00110011
-	HUFF(12,0x0670),  // 63 black = 12 bit code is 000001100111
-	HUFF(8,0x3400),// 63 white = 8 bit code is 00110100
-	// code 0x80 and 0x81 not used for makeup.. use for tag codes instead!
-	HUFF(9,0x0180),	// two-dimensional EOL plus singleton 1 tag bit = 000000011
-	HUFF(9,0x0100), // two-dimensional EOL plus singleton 0 tag bit = 000000010
-	// interleaved black/white makeup
-	HUFF(10,0x03c0),  // 64 black = 10 bit code is 0000001111
-	HUFF(5,0xd800),// 64 white = 5 bit code is 11011
-	HUFF(12,0x0c80),  // 128 black = 12 bit code is 000011001000
-	HUFF(5,0x9000),// 128 white = 5 bit code is 10010
-	HUFF(12,0x0c90),  // 192 black = 12 bit code is 000011001001
-	HUFF(6,0x5c00),// 192 white = 6 bit code is 010111
-	HUFF(12,0x05b0),  // 256 black = 12 bit code is 000001011011
-	HUFF(7,0x6e00),// 256 white = 7 bit code is 0110111
-	HUFF(12,0x0330),  // 320 black = 12 bit code is 000000110011
-	HUFF(8,0x3600),// 320 white = 8 bit code is 00110110
-	HUFF(12,0x0340),  // 384 black = 12 bit code is 000000110100
-	HUFF(8,0x3700),// 384 white = 8 bit code is 00110111
-	HUFF(12,0x0350),  // 448 black = 12 bit code is 000000110101
-	HUFF(8,0x6400),// 448 white = 8 bit code is 01100100
-	HUFF(13,0x0360),  // 512 black = 13 bit code is 0000001101100
-	HUFF(8,0x6500),// 512 white = 8 bit code is 01100101
-	HUFF(13,0x0368),  // 576 black = 13 bit code is 0000001101101
-	HUFF(8,0x6800),// 576 white = 8 bit code is 01101000
-	HUFF(13,0x0250),  // 640 black = 13 bit code is 0000001001010
-	HUFF(8,0x6700),// 640 white = 8 bit code is 01100111
-	HUFF(13,0x0258),  // 704 black = 13 bit code is 0000001001011
-	HUFF(9,0x6600),// 704 white = 9 bit code is 011001100
-	HUFF(13,0x0260),  // 768 black = 13 bit code is 0000001001100
-	HUFF(9,0x6680),// 768 white = 9 bit code is 011001101
-	HUFF(13,0x0268),  // 832 black = 13 bit code is 0000001001101
-	HUFF(9,0x6900),// 832 white = 9 bit code is 011010010
-	HUFF(13,0x0390),  // 896 black = 13 bit code is 0000001110010
-	HUFF(9,0x6980),// 896 white = 9 bit code is 011010011
-	HUFF(13,0x0398),  // 960 black = 13 bit code is 0000001110011
-	HUFF(9,0x6a00),// 960 white = 9 bit code is 011010100
-	HUFF(13,0x03a0),  // 1024 black = 13 bit code is 0000001110100
-	HUFF(9,0x6a80),// 1024 white = 9 bit code is 011010101
-	HUFF(13,0x03a8),  // 1088 black = 13 bit code is 0000001110101
-	HUFF(9,0x6b00),// 1088 white = 9 bit code is 011010110
-	HUFF(13,0x03b0),  // 1152 black = 13 bit code is 0000001110110
-	HUFF(9,0x6b80),// 1152 white = 9 bit code is 011010111
-	HUFF(13,0x03b8),  // 1216 black = 13 bit code is 0000001110111
-	HUFF(9,0x6c00),// 1216 white = 9 bit code is 011011000
-	HUFF(13,0x0290),  // 1280 black = 13 bit code is 0000001010010
-	HUFF(9,0x6c80),// 1280 white = 9 bit code is 011011001
-	HUFF(13,0x0298),  // 1344 black = 13 bit code is 0000001010011
-	HUFF(9,0x6d00),// 1344 white = 9 bit code is 011011010
-	HUFF(13,0x02a0),  // 1408 black = 13 bit code is 0000001010100
-	HUFF(9,0x6d80),// 1408 white = 9 bit code is 011011011
-	HUFF(13,0x02a8),  // 1472 black = 13 bit code is 0000001010101
-	HUFF(9,0x4c00),// 1472 white = 9 bit code is 010011000
-	HUFF(13,0x02d0),  // 1536 black = 13 bit code is 0000001011010
-	HUFF(9,0x4c80),// 1536 white = 9 bit code is 010011001
-	HUFF(13,0x02d8),  // 1600 black = 13 bit code is 0000001011011
-	HUFF(9,0x4d00),// 1600 white = 9 bit code is 010011010
-	HUFF(13,0x0320),  // 1664 black = 13 bit code is 0000001100100
-	HUFF(6,0x6000),// 1664 white = 6 bit code is 011000
-	HUFF(13,0x0328),  // 1728 black = 13 bit code is 0000001100101
-	HUFF(9,0x4d80), // 1728 white = 9 bit code is 010011011
-	// extra codes
-	HUFF(8,0x0100),	  // one-dimensional EOL = 00000001
-	HUFF(4,0x1000),   // pass mode = 4 bit code is 0001
-	HUFF(3,0x2000),   // horizontal mode = 3 bit code is 001 followed by run lengths (a1-a0) (a2-a1)
-	// vertical mode codes
-	HUFF(7,0x0600),   // +3 b1-a1 = 7 bit code is 0000011
-	HUFF(6,0x0c00),   // +2 b1-a1 = 6 bit code is 000011 
-	HUFF(3,0x6000),   // +1 b1-a1 = 3 bit code is 011 
-	HUFF(1,0x8000),   //  0 b1=a1 = 1 bit code is 1 
-	HUFF(3,0x4000),   // -1 b1-a1 = 3 bit code is 010
-	HUFF(6,0x0800),   // -2 b1-a1 = 6 bit code is 000010
-	HUFF(7,0x0400)    // -3 b1-a1 = 7 bit code is 0000010
-	};
-
-const TInt KRleBlack=0;
-const TInt KRleWhite=1;
-const TInt KRleMakeup=128;
-const TInt KRleTag1D=KRleMakeup;	// exploit the two holes in the table
-const TInt KRleTag2D=KRleMakeup+1;
-const TInt KRleExtra=KRleMakeup+2*(1+(1728>>6));
-const TInt KRleStd1D=KRleExtra;
-const TInt KRlePassMode=KRleExtra+1;
-const TInt KRleHorzMode=KRleExtra+2;
-const TInt KRleVertMode0=KRleExtra+6;
-
-
-const TInt KRleMakeupMask=~(KRleWhite|KRleMakeup);
-
-#endif // __FAXHUFF_H__
--- a/fax/faxclientandserver/faxio/FAXIO.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,763 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <s32mem.h>
-#include "CFAXIO.H"
-
-#include "FAXSTPAN.H"
-#include "FAXUHUFF.H"
-#include "FAXHUFF.H"
-
-// COPIED function from pdrutil
-
-GLDEF_C void Panic (TFaxStorePanic aPanic)
-// Panic the process with ETEXT as the category.
- //
-
-{
-	User::Panic (_L ("FaxStore"), aPanic);
-}
-
-// END OF COPIED
-
-//#define KFaxFileName _L("c:\\temp.fax")
-
-/********************************************************************/
-
-#define RLE_MAKEUP(aTable,aRun) TUint8((aTable)+KRleMakeup+((aRun)>>6<<1))
-#define RLE_RUN(aTable,aRun) TUint8((aTable)+((aRun)<<1))
-
-#define WRITE_RLE(ptr,table,run) {if (run>63) {*ptr++=RLE_MAKEUP(table,run);run&=0x3f;} *ptr++=RLE_RUN(table,run);}
-#define READ_RLE(ptr,pos) {TInt x=*ptr++;if (x>=KRleMakeup) {pos+=(x&KRleMakeupMask)<<5;x=*ptr++;}pos+=x>>1;}
-
-LOCAL_C TUint8* RleEncoding(const TUint32 * aScan, TUint8* aRleEncoding)
-//
-// RLE encode a 1728 pixel scanline into the buffer, and return the end-of-rle data
-// The edge detection algorithm is almost optimal for ARM
-//
-	{
-	// the edge detection looks at multiple pixels at a time
-	// tests show that for ARM, testing 8 is only 1-2% faster than testing 6
-	// testing only 6 makes for a smaller lookup table
-
-	// The FirstBit table is (5 - bitpos) of the least significant
-	// bit that is set in the array index value
-
-	const TInt KTestBitCount=6;
-	const TInt KTestBitMask=(1u<<KTestBitCount)-1;
-	const TInt KRunBias=KTestBitCount-2;
-	static const TUint8 KFirstBit[64]=
-		{
-		0,5,4,5,3,5,4,5,2,5,4,5,3,5,4,5,1,5,4,5,3,5,4,5,2,5,4,5,3,5,4,5,
-		0,5,4,5,3,5,4,5,2,5,4,5,3,5,4,5,1,5,4,5,3,5,4,5,2,5,4,5,3,5,4,5
-		};
-
-	const TUint32 *end = aScan + (KFaxPixelsPerScanLine >> 5);
-	TUint32 color = ~0u;			// white at start
-	TInt table=KRleWhite;
-	TInt run = KRunBias;			// initialise run length
-	const TUint8* lookup=KFirstBit;	// force the table to be in a register
-
-	nextword:
-	while (aScan < end)
-		{
-		run += 32;
-		TUint32 pixels = *aScan++ ^ color;
-		if (pixels)      // do no work if there is no edge
-			{
-			TInt bit = 31 + KTestBitCount;
-			for (;;)
-				{
-				TUint pix;
-				do
-					{
-					if ((bit-=KTestBitCount) < 0)
-						goto nextword;	// finished processing the word
-					// now examine the next 6 pixels
-					// break out if we have found an edge
-					pix=(pixels>>(31-bit))&KTestBitMask;
-					} while (pix==0);
-				// there is an edge, use the table to discover which pixel
-				bit+=lookup[pix];
-				// store the run-length
-				run-=bit;
-				WRITE_RLE(aRleEncoding,table,run);
-				// flip color and look for the next edge
-				color = ~color;
-				table=KRleWhite-table;
-				pixels=~pixels;
-				run = bit;
-				}
-			}
-		}
-	// store the final run
-	run-=KRunBias;
-	WRITE_RLE(aRleEncoding,table,run);
-	return aRleEncoding;
-	}
-
-LOCAL_C TUint8* RleEncoding (const TUint32 *aScanline,TInt aLength,TUint8* aRleEncoding)
-//
-// Justify the scanline into a full size buffer before encoding
-//
-	{
-	__ASSERT_DEBUG(aLength < (KFaxPixelsPerScanLine >> 3),User::Invariant());
-//
-	TUint32 justified[KFaxPixelsPerScanLine/32];
-//
-	TInt margin = ((KFaxPixelsPerScanLine >> 3) - aLength) / 2;
-	Mem::Fill (justified, sizeof(justified), 0xff);       // white fill
-	Mem::Copy ((TUint8*)justified + margin, aScanline, aLength);
-	return RleEncoding(justified,aRleEncoding);
-	}
-
-LOCAL_C TUint8* RleEncoding (const TDesC8& aScanLine, TUint8* aRleEncoding)
-//
-// Build the RLE encoding for aScanline, handling wrong-sized scanlines
-//
-	{
-	TInt len = aScanLine.Length ();
-	const TUint32 *scan = (const TUint32 *) aScanLine.Ptr ();
-	__ASSERT_DEBUG ((TUint (scan) & 3) == 0, Panic (EFaxEncodeScanlineAlignment));
-	if (len >= (KFaxPixelsPerScanLine >> 3))
-		return RleEncoding(scan + ((len - (KFaxPixelsPerScanLine >> 3)) >> 3),aRleEncoding);  // margin in words
-	else
-		return RleEncoding(scan,len,aRleEncoding);
-	}
-
-LOCAL_C void EncodeHuffman(TDes8 & anEncodedScanLine,TInt aTagCode,const TUint8* aRleEncoding,const TUint8* aRleEnd)
-//
-// Starting with the tag code, encode all codes in the rle data using the single huffman table
-//
-	{
-	TUint8 *t4 = (TUint8 *) anEncodedScanLine.Ptr ();
-	TUint8 *const e4 = t4;
-	// start with tag code
-	TCodeDef huff=KCodes[aTagCode];
-	TUint code=HUFFBITS(huff);
-	TInt bits=HUFFLEN(huff)-16;
-	while (aRleEncoding<aRleEnd)
-		{
-		__ASSERT_DEBUG (bits < 0, User::Invariant ());
-		TUint8 c=*aRleEncoding++;
-		TCodeDef huff=KCodes[c];
-		code|=HUFFBITS(huff)>>(bits+16);
-		bits+=HUFFLEN(huff);
-		if (bits<0)
-			continue;
-		*t4++=TUint8(code>>24);
-		*t4++=TUint8(code>>16);
-		code<<=16;
-		bits-=16;
-		}
-	if (bits>-16)
-		{	// flush out the remaining bits
-		*t4++=TUint8(code>>24);
-		if (bits>-8)
-			*t4++=TUint8(code>>16);
-		}
-	anEncodedScanLine.SetLength (t4 - e4);
-	}
-
-/********************************************************************/
-
-inline CFaxT4::CFaxT4 ()
-	{PageInitialize(EFaxNormal,EModifiedHuffman);}
-
-EXPORT_C CFaxT4 *CFaxT4::NewLC ()
-/** Constructs a CFaxT4 object, which provides utility functions to encode and 
-decode fax scan lines. 
-
-As is usual in Symbian OS, the only difference between this function and NewL() 
-is that this variant pushes the object to the cleanup stack.
-
-The new object is constructed with the default compression and resolution: 
-EModifiedHuffman and EFaxNormal respectively.
-
-@leave KErrNoMemory There is insufficient memory to perform the operation.
-@return A pointer to the newly created object. 
-@capability None
-*/
-	{
-	CFaxT4 *self = NewL ();
-	CleanupStack::PushL (self);
-	return self;
-	}
-
-EXPORT_C CFaxT4 *CFaxT4::NewL ()
-/** Constructs a CFaxT4 object, which provides utility functions to encode and 
-decode fax scan lines. 
-
-The function is exactly the same as NewLC() except that the new object is 
-popped from the cleanup stack.
-
-The new object is constructed with the default compression and resolution: 
-EModifiedHuffman and EFaxNormal respectively.
-
-@leave KErrNoMemory There is insufficient memory to perform the operation. 
-@return A pointer to the newly created object. 
-@capability None
-*/
-	{
-	return new (ELeave) CFaxT4;
-	}
-
-EXPORT_C void CFaxT4::PageInitialize (TFaxResolution aResolution, TFaxCompression aCompression, TInt aFlag2)
-/**
-Initialize fax page, set page parameters.
-
-@param   aResolution     defines fax resolution
-@param   aCompression    defines fax compression
-@param   aFlag2          reserved flag.
-@capability None
-*/
-	{
-	__ASSERT_ALWAYS (((aCompression == EModifiedHuffman) || (aCompression == EModifiedRead)), Panic (EFaxUnsupportedCompression));
-	iCompression = aCompression;
-	iResolution = aResolution;
-	iReservedFlag2 = aFlag2;
-	iK = iResolution == EFaxFine ? 4 : 2;
-	iLineCount = 1;
-	// an all-white reference line
-	iRef[0]=RLE_MAKEUP(KRleWhite,KFaxBytesPerScanLine);
-	iRef[1]=RLE_RUN(KRleWhite,0);
-	iEndRef=iRef+2;
-	}
-
-EXPORT_C void CFaxT4::EncodeScanLine (const TDesC8 & aScanLine, TDes8 & anEncodedScanLine)
-/** Encodes a scan line using either one dimensional Modified Huffman (MH) or two 
-dimensional Modified Read (MR) encoding. 
-
-The type of encoding used depends on the compression type specified when the 
-object was initialised - using PageInitialize(). If the object was not initialised, 
-then the default compression is MH.
-
-@param aScanLine The raw scan line to be encoded. 
-@param anEncodedScanLine On return, contains the encoded scan line. 
-@capability None
-*/
-	{
-	if (iCompression == EModifiedRead)
-		EncodeScanLine2D (aScanLine, anEncodedScanLine);
-	else
-		EncodeScanLine1D(aScanLine,anEncodedScanLine);
-	}
-
-EXPORT_C void CFaxT4::EncodeScanLine1D (const TDesC8 & aScanLine, TDes8 & anEncodedScanLine)
-/** Encodes a scan line using Modified Huffman compression.
-
-@param aScanLine The scan line to be encoded. 
-@param anEncodedScanLine On return, contains the MH encoded scan line. 
-@capability None
-*/
-	{
-	iEndRef=RleEncoding(aScanLine,iRef);
-	EncodeHuffman(anEncodedScanLine,iCompression == EModifiedHuffman ? KRleStd1D : KRleTag1D,iRef,iEndRef);
-	}
-
-EXPORT_C void CFaxT4::EncodeScanLine2D (const TDesC8 & aScanLine, TDes8 & anEncodedScanLine)
-/** Encodes a scan line using Modified Read compression.
-
-@param aScanLine The scan line to be encoded. 
-@param anEncodedScanLine On return, contains the MR encoded scan line. 
-@capability None
-*/
-	{
-	// initialize our own scan line
-	TInt lc=iLineCount-1;
-	if (lc==0)
-		{	// 1D reference line
-		iLineCount=iK;
-		EncodeScanLine1D(aScanLine,anEncodedScanLine);
-		}
-	else
-		{	// 2D line
-		iLineCount=lc;
-		DoEncodeScanLine2D(aScanLine,anEncodedScanLine);
-		}
-	}
-
-void CFaxT4::DoEncodeScanLine2D (const TDesC8 & aScanLine, TDes8 & aEncodedScanLine)
-	{
-	TUint8 rlebuf[KFaxPixelsPerScanLine*3/2 + 16]; // for output + reference line
-
-	// the buffer is big enough that the 2d coding output into the buffer will not
-	// catch the reference coding before it is used
-
-	// copy the reference line into the end of the stack buffer
-
-	TInt len=iEndRef-iRef;
-	TUint8* ref=rlebuf+sizeof(rlebuf)-len;
-	Mem::Copy(ref,iRef,len);
-
-	// Do the standard RLE encoding of the current line
-	iEndRef=RleEncoding(aScanLine,iRef);
-	const TUint8* cur=iRef;
-
-	TUint8* rle=rlebuf;
-	TInt a0=-1;			// previous edge on current line
-	TInt a1=0;			// current edge on current line
-	TInt b0;			// previous edge on reference line
-	TInt b1=0;			// current edge on reference line
-	TInt b2=0;			// look-ahead edge on reference line
-	TInt color=KRleWhite;	// color at a0 (initially white)
-
-	// the reference color is not tracked. Instead the number of reference edges
-	// traversed is monitored (modulo 2) to ensure that edge b1 is of the same
-	// color to a1 at "gotB2"
-
-	READ_RLE(cur,a1);		// find the first edge
-
-	for (;;)
-		{
-		do
-			{	// find the new current and next edges on reference line
-			b0=b1;
-			b1=b2;
-			if (b1==KFaxPixelsPerScanLine)
-				break;			// end of line
-			READ_RLE(ref,b2);
-refMove1:	//	find just the look-ahead edge on the reference line
-			b0=b1;
-			b1=b2;
-			if (b1==KFaxPixelsPerScanLine)
-				break;
-			READ_RLE(ref,b2);
-			} while(b1<=a0);		// ensure that we have the right reference edge
-
-gotB2:	if (b2 < a1)
-			{	// pass mode detected
-			*rle++=KRlePassMode;
-			a0=b2;	// move along by 2 edges
-			continue;
-			}
-
-		if (TUint(b1-a1+3)<=6u)
-			{	// vertical mode
-			*rle++=TUint8(KRleVertMode0 + (b1 - a1));
-			if (a1==KFaxPixelsPerScanLine)
-				break;		// complete
-			if (b0>a1)
-				{
-				// special case of vertical mode edge "cross-over"
-				// the next edge may match an earlier reference edge than this!
-				// rewind the reference line by 2 edges
-				// we know that [b0,b1] is small, and so only uses 1 byte in the rle
-				// we check for [b1,b2] requiring a makeup byte as well
-				ref-=2;
-				if (b2-b1>=64)
-					--ref;
-				b2=b0;
-				b1=0;	// no longer know b0, but this cannot happen again without traversing 2 edges
-				}
-			a0 = a1;	// traverse a single edge
-			READ_RLE(cur,a1);
-			color=KRleWhite-color;
-			goto refMove1;
-			}
-
-		// we must be in horizontal mode - write out the RLE codes for remainder
-		// and copy RLE codes for next edge from current coding
-
-		*rle++=KRleHorzMode;
-		a0=Max(0,a0);			// deal with start-effects (a0==-1)
-		TInt run=a1-a0;
-		WRITE_RLE(rle,color,run);
-		// copy the next run
-		if (a1==KFaxPixelsPerScanLine)
-			{	// complete, need a zero-length, other-color, run to finish
-			*rle++=RLE_RUN(KRleWhite-color,0);
-			break;
-			}
-		// copy the next RLE code directly from the current line
-		TInt x=*cur++;
-		__ASSERT_DEBUG((x&KRleWhite)==KRleWhite-color,User::Invariant());
-		if (x>=KRleMakeup)
-			{
-			*rle++=TUint8(x);
-			a1+=(x&KRleMakeupMask)<<5;
-			x=*cur++;
-			}
-		*rle++=TUint8(x);
-		a1+=x>>1;
-		if (a1==KFaxPixelsPerScanLine)
-			break;	// complete
-		a0=a1;
-		READ_RLE(cur,a1);	// traverse another edge
-		if (b1>a0)
-			goto gotB2;
-		}
-	EncodeHuffman(aEncodedScanLine,KRleTag2D,rlebuf,rle);
-	}
-
-EXPORT_C TInt CFaxT4::DecodeScanLine (TDes8 & aScanLine, const TDesC8 & anEncodedScanLine)
-/** Decodes a scan line. 
-
-The decoding method depends on the compression type specified when the object 
-was initialised - using PageInitialize(). If the object was not initialised, 
-then the scan line is decoded as Modified Huffman.
-
-The fax client can determine the type of compression used in a fax from its 
-header, and can hence use PageInitialize() to set the correct decoding method. 
-KErrUnderflow is returned if the wrong type of compression is specified.
-
-@param aScanLine On return, contains the decoded scan line. 
-@param anEncodedScanLine The encoded scan line to be decoded. 
-@return KErrNone if successful, otherwise another of the system-wide error 
-codes. 
-@capability None
-*/
-	{
-	if (iCompression == EModifiedHuffman)
-		return (DecodeScanLine1D (aScanLine, anEncodedScanLine));
-	else
-		return (DecodeScanLine2D (aScanLine, anEncodedScanLine));
-	}
-
-void CFaxT4::DecodeHuffman(const TDesC8 & aEncodedScanLine)
-	{
-	// If all goes wrong then the reference line is unchanged and will be
-	// used for the current line
-
-	const TUint8* t4=aEncodedScanLine.Ptr();
-	const TUint8* endt4=t4+aEncodedScanLine.Length();
-	TUint bits=0;
-
-	// store the basic RLE data locally, and copy to the member data if the decode
-	// is successful
-
-	TUint8 rlebuf[KFaxPixelsPerScanLine+4];
-	TUint8* rle=rlebuf;
-
-	// Keep track of where we have got to on the reference (previous) line
-	const TUint8* ref=iRef;
-	TInt b1=0;		// pixel position on the reference line
-	TInt a0=0;		// previous position on the current line
-	TInt a1=0;		// current position on the current line
-
-	// start decoding using the tag-tree, which finds the first 1-bit
-	// and then determines the encoding (1D or 2D) based on the next bit
-	const TNode* tree=KTagTree;
-
-	// "color" stores the current line color (in bit 0), the reference line
-	// color (in bit 1), and the number of white/black codes to expect (x4)
-	// if color<0, then we are in 2d-tree mode
-	// initially unused until the encoding type is known
-
-	TInt color=0;
-	TInt code;
-
-	for (;;)
-		{
-		// the structure of the following code maxmises the speed of the
-		// huffman decoder. Don't change it.
-		code = 0;		// start at the root of the tree
-nextBit2d:
-		if (((bits <<= 1) & 0x80000000)==0)
-			goto nextByte2d;		// run out of bits in the current byte
-decode2d:
-		code = CODE (tree, code, bits & 0x80);
-		if (ISBRANCH (code))
-			goto nextBit2d;			// a branch code
-
-		// We have the huffman code
-
-		if (code<KOurEol)
-			{	// the code was a white/black length code
-			__ASSERT_DEBUG(color>=0,User::Invariant());
-			TInt v=CODEVALUE(code);
-			a1+=v;
-			if (a1>KFaxPixelsPerScanLine)
-				return;		// overflow
-			if (v < 64)
-				{	// a run code (as opposed to make-up code). Emit the RLE
-				a0=a1-a0;
-				WRITE_RLE(rle,(color&1),a0);
-				a0=a1;
-				color^=KRleWhite;	// switch color
-				color-=4;			// one less white/black code
-				tree=color>=0 ? color&KRleWhite ? KWhiteTree : KBlackTree : KTwoTree;
-				}
-			continue;
-			}
-		if (code<KPassMode)
-			{
-			if (code == KHorzMode)
-				{	// expect two white/black codes to follow
-				color+=8;
-				tree = color&KRleWhite ? KWhiteTree : KBlackTree;
-				continue;
-				}
-			if (code==KTag1D)
-				{	// 1d decoding: set color to maximum positive value
-					// as all codes are standard white/black code.
-				color=KMaxTInt;		// current and reference color both 1 (white)
-				tree=KWhiteTree;
-				continue;
-				}
-			if (code==KTag2D)
-				{	// 2d decoding: set color negative to indicate 2d-tree
-				color=-1;			// current and reference color both 1 (white)
-				tree=KTwoTree;
-				continue;
-				}
-			if (code==KOurEol)
-				goto eol2d;
-			__ASSERT_DEBUG(code == KBadRun,User::Invariant());
-			return;			// bad run, give up
-			}
-
-		// The remaining 2D possibilities all require that we know the various 2D determinants
-		// so we proceed as follows :
-
-		// b0 tracks the previous "edge" in the reference line
-		TInt b0=0;
-		// find the next "edge" on the reference line after a1
-		// if we've just started decoding (rle==rlebuf), b1 boundary at 0 is correct
-		if (rle!=rlebuf)
-			{
-			while (b1<=a1)
-				{
-				color^=KRleWhite<<1;
-				b0=b1;
-				if (b1!=KFaxPixelsPerScanLine)
-					READ_RLE(ref,b1);
-				}
-			}
-		// the b1 "edge" must match the colors of a1, so move one more edge if
-		// the a0 color (color&1) is the same as the b1 color (color&2)
-		if (((color^(color>>1))&1)==0)
-			{
-			b0=b1;
-			if (b1!=KFaxPixelsPerScanLine)
-				READ_RLE(ref,b1);
-			color^=KRleWhite<<1;
-			}
-
-		// If the code is below PASSMODE then it is one of the vertical code words
-		// which are pretty easy to decipher as we have all the data. Vertical mode
-		// flips the colour and then continues
-
-		if (code==KPassMode)
-			{
-			// we need to identify the next reference "edge"
-			if (b1==KFaxPixelsPerScanLine)
-				return;		// overflow
-			READ_RLE(ref,b1);
-			if (b1==KFaxPixelsPerScanLine)
-				return;		// overflow
-			color^=KRleWhite<<1;
-			a1=b1;
-			continue;
-			}
-
-		__ASSERT_DEBUG(code>=KVtMode3n && code<=KVtMode3p,User::Invariant());
-		// vertical mode
-		a1=b1+(code-(KVtMode0));
-		if (a1>KFaxPixelsPerScanLine)
-			return;		// overflow
-		if (b0>a1)
-			{
-			// special case of vertical mode cross-over
-			// rewind the reference line to the previous "edge"
-			b1=b0;
-			--ref;
-			color^=KRleWhite<<1;
-			}
-		a0=a1-a0;
-		WRITE_RLE(rle,(color&1),a0);
-		a0=a1;
-		color^=KRleWhite;
-		}
-nextByte2d:
-	if (t4 < endt4)
-		{
-		bits = 0xff000000u | *t4++;
-		goto decode2d;
-		}
-eol2d:
-	if (a0==KFaxPixelsPerScanLine)
-		iEndRef=Mem::Copy(iRef,rlebuf,rle-rlebuf);
-	}
-
-EXPORT_C TInt CFaxT4::DecodeScanLine2D (TDes8 & aScanLine, const TDesC8 & aEncodedScanLine)
-/** Decodes a Modified Read encoded scan line.
-	
-@param aScanLine On return, contains the decoded scan line. 
-@param anEncodedScanLine The 2D encoded scan line to be decoded. 
-@return KErrNone if successful, KErrUnderflow if the scan line is encoded as 
-MR, otherwise another of the system-wide error codes. 
-@capability None
-*/
-	{
-	DecodeHuffman(aEncodedScanLine);
-//
-//	decode the RLE into the scanline
-//
-	aScanLine.SetLength (KFaxPixelsPerScanLine / 8);
-	TUint32 *scan = (TUint32 *) aScanLine.Ptr ();
-	__ASSERT_DEBUG ((TUint (scan) & 3) == 0, Panic (EFaxDecodeScanlineAlignment));
-
-	const TUint8* rle=iRef;
-	const TUint8* const end=iEndRef;
-
-	TUint color = ~0u;		// start white
-	TUint out = 0;			// output pixels in accumulation
-	TInt bits = 0;          // this is the number of used bits in out
-
-	while (rle<end)
-		{
-		TInt run=*rle++;
-		__ASSERT_DEBUG(TUint((run&1))==(color&1),User::Invariant());	// rle-data correct
-		if (run<KRleMakeup)
-			{	// run length code (x2)
-			out += color << bits;		// complete the current 32-bits
-			bits += run >> 1;			// add the run length
-			if (bits < 32)				// hasn't completed the word
-				out -= color << bits;	// remove the trailing bits
-			else
-				{
-				*scan++ = out;			// write the 32-bits
-				bits -= 64;
-				if (bits >= 0)
-					*scan++ = color;	// + another 32 bits
-				else
-					bits += 32;			// no extra
-				out = color - (color<<bits);	// bits remaining
-				}
-			color = ~color;				// swap color
-			}
-		else
-			{
-			// make-up code. (run-KRleMakeup)>>1 is the multiple of 64 bits
-			out += color << bits;		// complete the current 32-bits
-			*scan++ = out;				// output
-			*scan++ = color;			// +32 bits of color
-			for (run -= KRleMakeup+4;run >= 0;run -= 2)
-				{	// extra multiples of 64 bits
-				*scan++ = color;
-				*scan++ = color;
-				}
-			out = color - (color<<bits);	// remainder bits
-			}
-		}
-	return KErrNone;
-	}
-
-EXPORT_C TInt CFaxT4::DecodeScanLine1D (TDes8 & aScanLine, const TDesC8 & anEncodedScanLine)
-//
-// This could be done through DecodeScanLine2D, but this is an optimized version for 1D
-// The intermediate rle encoding is skipped
-//
-/** Decodes a Modified Huffman encoded scan line.
-
-@param aScanLine On return, contains the decoded scan line. 
-@param anEncodedScanLine The MH encoded scan line to be decoded. 
-@return KErrNone if successful, KErrUnderflow if the scan line is encoded as 
-MR, otherwise another of the system-wide error codes. 
-@capability None
-*/
-	{
-	const TUint8 *t4 = anEncodedScanLine.Ptr ();
-	const TUint8 *const endt4 = t4 + anEncodedScanLine.Length ();
-	//
-	aScanLine.SetLength (KFaxPixelsPerScanLine / 8);
-	TUint32 *scan = (TUint32 *) aScanLine.Ptr ();
-	__ASSERT_DEBUG ((TUint (scan) & 3) == 0, Panic (EFaxDecodeScanlineAlignment));
-	TUint out = 0;
-	TInt bits = 0;               // this is the number ofused bits
-	//
-	TInt dotsleft = KFaxPixelsPerScanLine;
-	const TNode *tree = KSynchTree;
-	TUint octet=0;
-	TUint color = 0xffffffffu;
-
-nextCode1d:
-	TInt code = 0;
-nextBit1d:
-	if (((octet <<= 1) & 0x80000000)==0)
-		goto nextByte1d;
-decode1d:
-	code = CODE (tree, code, octet & 0x80);
-	if (ISBRANCH (code))
-		goto nextBit1d;
-
-	// end of huffman code
-
-	if (code<KEndCode+0x40)
-		{
-		code-=KEndCode;
-		if ((dotsleft -= code) < 0)
-			return KErrOverflow;
-		out += color<<bits;
-		bits+=code;
-		if (bits<32)
-			out -= color<<bits;	// output word not full
-		else
-			{	// out is full
-			*scan++=out;
-			bits-=64;
-			if (bits>=0)
-				*scan++=color;
-			else
-				bits+=32;
-			out=color-(color<<bits);
-			}
-		color = ~color;
-		if (color)
-			tree=KWhiteTree;
-		else
-			tree=KBlackTree;
-		goto nextCode1d;
-		}
-	else if (code<=KEndCode+KMaxRun)
-		{	// makeup (multiple of 64)
-		code-=KEndCode+0x40;
-		if ((dotsleft -= code<<6) < 0)
-			return KErrOverflow;
-		out += color << bits;
-		*scan++=out;
-		*scan++=color;
-		for (code-=2;code>=0;--code)
-			{
-			*scan++=color;
-			*scan++=color;
-			}
-		out = color-(color<<bits);
-		goto nextCode1d;
-		}
-	else if (code == KOurEol)
-		goto eol1d;
-	else if (code == KStd1D)
-		{
-		tree=KWhiteTree;
-		goto nextCode1d;
-		}
-	else
-		{
-		__ASSERT_DEBUG (code == KBadRun, User::Invariant ());
-		return KErrCorrupt;
-		}
-nextByte1d:
-	if (t4 < endt4)
-		{
-		octet = 0xff000000u | *t4++;
-		goto decode1d;
-		}
-eol1d:
-	__ASSERT_DEBUG (dotsleft || (TUint8 *) scan - aScanLine.Ptr () == KFaxPixelsPerScanLine / 8, User::Invariant ());
-	return dotsleft ? KErrUnderflow : KErrNone;
-	}
-
--- a/fax/faxclientandserver/faxio/FAXSTPAN.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#if !defined(__FAXSTPAN_H__)
-#define __FAXSTPAN_H__
-#if !defined(__E32STD_H__)
-#include <e32std.h>
-#endif // __E32STD_H__
-
-/**
-@internalComponent
-*/
-enum TFaxStorePanic
-	{
-	EFaxScanLineIndexOutOfRange,
-	EFaxBandIndexOutOfRange,
-	EFaxPageIndexOutOfRange,
-	EFaxDecodeScanlineAlignment,
-	EFaxEncodeScanlineAlignment,
-	EFaxUnsupportedCompression
-	};
-
-/**
-@publishedPartner
-*/
-GLREF_C void Panic(TFaxStorePanic aPanic);
-
-#endif // __FAXSTPAN_H__
--- a/fax/faxclientandserver/faxio/FAXUHUFF.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,302 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Header FAXUHUFF.H	 
-// 
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#if !defined(__FAXUHUFF_H__)
-#define __FAXUHUFF_H__
-
-/**
-@internalComponent
-*/
-typedef TUint8 TNode[2];
-typedef TUint TCode;
-
-// 1728    = 11011000000
-// 1728>>6 = 11011       = 27
-/**
-@internalComponent
-*/
-const TInt KEndCode=0x80;			// 0x080 = 128
-const TInt KMaxRun=(1728>>6)+64;	// 0x05b = 91 = 27+64
-
-/**
-@internalComponent
-*/
-enum
-	{
-	KOurEol=KEndCode+KMaxRun+1,	// 0x0db = 219 = 128+90+1
-	KBadRun,
-	KStd1D,
-	KTag1D=KStd1D,
-	KTag2D,
-	KHorzMode,
-	KPassMode,
-	KVtMode3n,
-	KVtMode2n,
-	KVtMode1n,
-	KVtMode0, 
-	KVtMode1p,
-	KVtMode2p,
-	KVtMode3p
-	};
-
-/**
-@internalComponent
-*/
-#define NODE(left,right) {(left),(right)}
-#define LEAF(val) (KEndCode|(val<64?val:0x40|(val>>6)))
-#define CODE(tree,node,bit) (tree[node][bit?1:0])
-#define ISBRANCH(code) (!(code&KEndCode))
-#define ISERROR(code) (code>(KEndCode|KMaxRun))
-#define CODEVALUE(code) (code&0x40 ? (code&0x3f)<<6 : code&0x3f)
-
-/**
-@internalComponent
-*/
-const TNode KWhiteTree [] =
-	{
-	NODE(1, 80),    // 0 
-	NODE(40, 2),    // 1 
-	NODE(21, 3),    // 2 
-	NODE(4, LEAF(2)),    // 3 
-	NODE(16, 5),    // 4 
-	NODE(10, 6),    // 5 
-	NODE(7, LEAF(256)),  // 6 
-	NODE(9, 8),     // 7 
-	NODE(LEAF(1344), LEAF(1408)),   // 8 
-	NODE(LEAF(1216), LEAF(1280)),   // 9 
-	NODE(11, 13),   // 10 
-	NODE(LEAF(576), 12), // 11 
-	NODE(LEAF(832), LEAF(896)),     // 12 
-	NODE(14, 15),   // 13 
-	NODE(LEAF(960), LEAF(1024)),    // 14 
-	NODE(LEAF(1088), LEAF(1152)),   // 15 
-	NODE(LEAF(1664), 17),// 16 
-	NODE(18, 19),   // 17 
-	NODE(LEAF(448), LEAF(512)),     // 18 
-	NODE(20, LEAF(640)), // 19 
-	NODE(LEAF(704), LEAF(768)),     // 20 
-	NODE(32, 22),   // 21 
-	NODE(23, 28),   // 22 
-	NODE(24, 26),   // 23 
-	NODE(LEAF(24), 25),  // 24 
-	NODE(LEAF(49), LEAF(50)), // 25 
-	NODE(27, LEAF(25)),  // 26 
-	NODE(LEAF(51), LEAF(52)), // 27 
-	NODE(29, LEAF(192)), // 28 
-	NODE(30, 31),   // 29 
-	NODE(LEAF(55), LEAF(56)), // 30 
-	NODE(LEAF(57), LEAF(58)), // 31 
-	NODE(LEAF(11), 33),  // 32 
-	NODE(34, 36),   // 33 
-	NODE(LEAF(27), 35),  // 34 
-	NODE(LEAF(59), LEAF(60)), // 35 
-	NODE(37, LEAF(18)),  // 36 
-	NODE(38, 39),   // 37 
-	NODE(LEAF(1472), LEAF(1536)),   // 38 
-	NODE(LEAF(1600), LEAF(1728)),   // 39 
-	NODE(59, 41),   // 40 
-	NODE(49, 42),   // 41 
-	NODE(43, LEAF(10)),  // 42 
-	NODE(47, 44),   // 43 
-	NODE(46, 45),   // 44 
-	NODE(LEAF(320), LEAF(384)),     // 45 
-	NODE(LEAF(63), LEAF(0)),   // 46 
-	NODE(LEAF(28), 48),  // 47 
-	NODE(LEAF(61), LEAF(62)), // 48 
-	NODE(56, 50),   // 49 
-	NODE(53, 51),   // 50 
-	NODE(52, LEAF(21)),  // 51 
-	NODE(LEAF(43), LEAF(44)), // 52 
-	NODE(55, 54),   // 53 
-	NODE(LEAF(41), LEAF(42)), // 54 
-	NODE(LEAF(39), LEAF(40)), // 55 
-	NODE(LEAF(12), 57),  // 56 
-	NODE(58, LEAF(26)),  // 57 
-	NODE(LEAF(53), LEAF(54)), // 58 
-	NODE(70, 60),   // 59 
-	NODE(64, 61),   // 60 
-	NODE(62, LEAF(1)),   // 61 
-	NODE(LEAF(19), 63),  // 62 
-	NODE(LEAF(31), LEAF(32)), // 63 
-	NODE(68, 65),   // 64 
-	NODE(67, 66),   // 65 
-	NODE(LEAF(37), LEAF(38)), // 66 
-	NODE(LEAF(35), LEAF(36)), // 67 
-	NODE(LEAF(20), 69),  // 68 
-	NODE(LEAF(33), LEAF(34)), // 69 
-	NODE(74, 71),   // 70 
-	NODE(72, LEAF(13)),  // 71 
-	NODE(LEAF(23), 73),  // 72 
-	NODE(LEAF(47), LEAF(48)), // 73 
-	NODE(77, 75),   // 74 
-	NODE(76, LEAF(22)),  // 75 
-	NODE(LEAF(45), LEAF(46)), // 76 
-	NODE(79, 78),   // 77 
-	NODE(LEAF(29), LEAF(30)), // 78 
-	NODE(KOurEol, KBadRun), // 79 
-	NODE(86, 81),   // 80 
-	NODE(83, 82),   // 81 
-	NODE(LEAF(6), LEAF(7)),   // 82 
-	NODE(LEAF(5), 84),   // 83 
-	NODE(85, LEAF(64)),  // 84 
-	NODE(LEAF(14), LEAF(15)), // 85 
-	NODE(90, 87),   // 86 
-	NODE(88, LEAF(4)),   // 87 
-	NODE(LEAF(9), 89),   // 88 
-	NODE(LEAF(16), LEAF(17)), // 89 
-	NODE(LEAF(3), 91),   // 90 
-	NODE(LEAF(128), LEAF(8))  // 91 
-	} ;
-
-/**
-@internalComponent
-*/
-const TNode KBlackTree [] =
-	{
-	NODE(2, 1),     // 0 
-	NODE(LEAF(3), LEAF(2)),   // 1 
-	NODE(4, 3),     // 2 
-	NODE(LEAF(1), LEAF(4)),   // 3 
-	NODE(6, 5),     // 4 
-	NODE(LEAF(6), LEAF(5)),   // 5 
-	NODE(9, 7),     // 6 
-	NODE(8, LEAF(7)),    // 7 
-	NODE(LEAF(9), LEAF(8)),   // 8 
-	NODE(31, 10),   // 9 
-	NODE(30, 11),   // 10 
-	NODE(12, LEAF(12)),  // 11 
-	NODE(23, 13),   // 12 
-	NODE(17, 14),   // 13 
-	NODE(15, LEAF(0)),    // 14 
-	NODE(LEAF(21), 16),  // 15 
-	NODE(LEAF(42), LEAF(43)), // 16 
-	NODE(21, 18),   // 17 
-	NODE(20, 19),   // 18 
-	NODE(LEAF(38), LEAF(39)), // 19 
-	NODE(LEAF(36), LEAF(37)), // 20 
-	NODE(LEAF(20), 22),  // 21 
-	NODE(LEAF(34), LEAF(35)), // 22 
-	NODE(LEAF(15), 24),  // 23 
-	NODE(27, 25),   // 24 
-	NODE(26, LEAF(19)),  // 25 
-	NODE(LEAF(28), LEAF(29)), // 26 
-	NODE(29, 28),   // 27 
-	NODE(LEAF(26), LEAF(27)), // 28 
-	NODE(LEAF(128), LEAF(192)),     // 29 
-	NODE(LEAF(10), LEAF(11)), // 30 
-	NODE(57, 32),   // 31 
-	NODE(45, 33),   // 32 
-	NODE(34, LEAF(14)),  // 33 
-	NODE(41, 35),   // 34 
-	NODE(38, 36),   // 35 
-	NODE(37, LEAF(22)),  // 36 
-	NODE(LEAF(40), LEAF(41)), // 37 
-	NODE(40, 39),   // 38 
-	NODE(LEAF(32), LEAF(33)), // 39 
-	NODE(LEAF(30), LEAF(31)), // 40 
-	NODE(LEAF(17), 42),  // 41 
-	NODE(44, 43),   // 42 
-	NODE(LEAF(62), LEAF(63)), // 43 
-	NODE(LEAF(48), LEAF(49)), // 44 
-	NODE(LEAF(13), 46),  // 45 
-	NODE(51, 47),   // 46 
-	NODE(48, LEAF(16)),  // 47 
-	NODE(50, 49),   // 48 
-	NODE(LEAF(61), LEAF(256)),// 49 
-	NODE(LEAF(57), LEAF(58)), // 50 
-	NODE(55, 52),   // 51 
-	NODE(54, 53),   // 52 
-	NODE(LEAF(46), LEAF(47)), // 53 
-	NODE(LEAF(44), LEAF(45)), // 54 
-	NODE(LEAF(23), 56),  // 55 
-	NODE(LEAF(50), LEAF(51)), // 56 
-	NODE(KOurEol, 58),     // 57 
-	NODE(75, 59),   // 58 
-	NODE(67, 60),   // 59 
-	NODE(61, LEAF(64)),  // 60 
-	NODE(65, 62),   // 61 
-	NODE(64, 63),   // 62 
-	NODE(LEAF(1152), LEAF(1216)),   // 63 
-	NODE(LEAF(1024), LEAF(1088)),   // 64 
-	NODE(LEAF(54), 66),  // 65 
-	NODE(LEAF(896), LEAF(960)),     // 66 
-	NODE(72, 68),   // 67 
-	NODE(71, 69),   // 68 
-	NODE(70, LEAF(53)),  // 69 
-	NODE(LEAF(512), LEAF(576)),     // 70 
-	NODE(LEAF(384), LEAF(448)),     // 71 
-	NODE(LEAF(25), 73),  // 72 
-	NODE(74, LEAF(320)), // 73 
-	NODE(LEAF(1664), LEAF(1728)),   // 74 
-	NODE(85, 76),   // 75 
-	NODE(80, 77),   // 76 
-	NODE(78, LEAF(24)),  // 77 
-	NODE(LEAF(60), 79),  // 78 
-	NODE(LEAF(1536), LEAF(1600)),   // 79 
-	NODE(83, 81),   // 80 
-	NODE(82, LEAF(59)),  // 81 
-	NODE(LEAF(1408), LEAF(1472)),   // 82 
-	NODE(LEAF(56), 84),  // 83 
-	NODE(LEAF(1280), LEAF(1344)),   // 84 
-	NODE(LEAF(18), 86),  // 85 
-	NODE(89, 87),   // 86 
-	NODE(88, LEAF(55)),  // 87 
-	NODE(LEAF(768), LEAF(832)),     // 88 
-	NODE(LEAF(52), 90),  // 89 
-	NODE(LEAF(640), LEAF(704))// 90 
-	};
-
-/**
-@internalComponent
-*/
-const TNode KTwoTree [] =
-    {
-    NODE(1, KVtMode0),         // 0
-    NODE(2, 3),                // 1
-    NODE(4, KHorzMode),        // 2
-    NODE(KVtMode1n, KVtMode1p),// 3
-    NODE(5, KPassMode),        // 4
-    NODE(6, 7),                // 5
-    NODE(8, 9),                // 6
-    NODE(KVtMode2n, KVtMode2p),// 7
-    NODE(KOurEol, KBadRun),    // 8
-    NODE(KVtMode3n, KVtMode3p) // 9
-    };
-
-/**
-@internalComponent
-*/
-const TNode KSynchTree[]=
-	{
-	NODE(0,KStd1D)		// any number of 0's followed by a 1
-	};
-
-/**
-@internalComponent
-*/
-const TNode KTagTree[]=
-	{
-	NODE(0,1),
-	NODE(KTag2D,KTag1D)
-	};
-
-#endif // __FAXUHUFF_H__
--- a/fax/faxclientandserver/faxstrm/FAXSTORE.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @publishedPartner
-*/
-
-#if !defined(__FAXSTORE_H__)
-#define __FAXSTORE_H__
-
-#include <faxdefn.h>
-#include <cfaxio.h>
-
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <faxpageinfo.h>
-#endif
-
-class TFaxBandHeader;
-class CFaxPageInfo;
-class CFaxPages;
-
-/**
-Adds pages to a fax file.
-
-The class is used by first calling StartPage() to define the compression and 
-resolution of the fax page, and then calling AddEncodedScanLineL() or AddScanLineL() 
-to add each of the page's encoded or raw scan lines. When the page is complete, 
-the EndPage() function adds the scan line compression, scan line resolution, 
-and sender Id information to the store. 
-
-In pre-v5.1 releases of Symbian OS, the import library was faxst2.lib. 
-
-@publishedPartner
-@released
-*/
-class CWriteFaxPages : public CBase
-	{
-protected:
-	CWriteFaxPages(CStreamStore& aStore,TInt aMaxScanLinesInBand);
-	void ConstructL();
-	TBool BandCompleted();
-public:
-	IMPORT_C static CWriteFaxPages* NewL(CStreamStore& aStore,TInt aMaxScanLinesInBand=0);
-	IMPORT_C ~CWriteFaxPages();
-	IMPORT_C void StartPage(TFaxResolution aResolution, TFaxCompression aCompression, TInt aFlag2 = 0);
-	IMPORT_C void EndPageL(TFaxResolution aResolution, TFaxBufSenderId& aSenderId, TFaxCompression aCompression = EModifiedHuffman, TInt aFlag2 = 0);
-	IMPORT_C void AddScanLineL(const TDesC8& aScanline);
-	IMPORT_C void AddEncodedScanLineL(const TDesC8& anEncodedScanLine);
-	IMPORT_C TStreamId CommitPageL();
-private:
-	TInt iMaxScanLinesInBand;
-	CFaxPages* iFaxPages;
-	CFaxPageInfo* iCurrentPage;
-	CStreamStore* iStore;
-	CFaxT4* iFaxT4;
-	RStoreWriteStream iWriteStream;
-	TBuf8<KFaxT4MaxDesLength> iEncodedScanLine;
-	};
-
-/**
-Creates and open a fax file for writing.
-
-The class provides the functionality to create a fax file, to commit pages 
-to the fax file, to abort and delete the file, and to close the file. The 
-ability to add individual fax pages to the store is provided through the CWriteFaxPages 
-data member, which is created when the file is opened.
-
-In pre-v5.1 releases of Symbian OS, the import library was faxst2.lib. 
-
-@publishedPartner
-@released
-*/
-class CWriteFaxFile : public CBase
-	{
-protected:
-	CWriteFaxFile();
-	void ConstructL();
-	void DoOpenL(TInt aMaxScanLinesInBand);
-public:
-	IMPORT_C static CWriteFaxFile* NewL();  
-	IMPORT_C ~CWriteFaxFile();
-	IMPORT_C void OpenL(const TDesC& aFileName,TInt aMaxScanLinesInBand);
-	IMPORT_C void CommitL();	
-	IMPORT_C void Close();	
-	IMPORT_C void AbortWrite();	 // deletes file, called by OpenL() and CloseL() if they leave
-private:
-	TFileName iFileName;
-	RFs iFs;
-	CDirectFileStore* iFileStore;
-public:
-	/** A pointer to the object which can be used to add pages to the file. Memory 
-	is allocated for the object when the file is opened. */
-	CWriteFaxPages* iWriteFaxPages;
-	};
-
-/**
-Fax page information read from a file.
-
-Stores fax page information which is read from a fax file - see CReadFaxPages::CurrentPageInfo().
-
-@publishedPartner
-@released 
-*/
-class TFaxPageInfo
-	{
-public:
-	/** The number of scan lines. */
-	TInt iNumScanLines;
-	/** The fax page resolution. */
-	TFaxResolution iResolution;
-	/** The sender Id. */
-	TFaxBufSenderId iSenderId;
-	/** The fax page encoding. */
-    TFaxCompression iCompression; // was TInt iReservedFlag1 up to faxstore 013
-	TInt iReservedFlag2;
-	};
-
-/**
-Reads individual pages from a fax file.
-
-The class provides functions to get the number of fax pages in a fax store, 
-the number of scan lines per page, information about the scan line compression 
-and resolution, and the sender Id. It is then possible to iterate through 
-the store by page and by scan line to obtain the fax page.
-
-In pre-v5.1 releases of Symbian OS, the import library was faxst2.lib. 
-
-@publishedPartner
-@released
-*/
-class CReadFaxPages : public CBase
-	{
-protected:
-	CReadFaxPages(CStreamStore& aStore);
-	void ConstructL(TStreamId aStreamId);
-public:
-	IMPORT_C static CReadFaxPages* NewL(CStreamStore& aStore,TStreamId aStreamId);
-	IMPORT_C ~CReadFaxPages();
-	IMPORT_C TInt NumPages() const;
-	IMPORT_C void SetPageL(TInt aNum);
-	IMPORT_C TFaxPageInfo CurrentPageInfo() const;
-	IMPORT_C void SeekScanLineL(TInt anIndex);
-	IMPORT_C TInt GetScanLineL(TDes8& aScanLine);
-	IMPORT_C void GetEncodedScanLineL(TDes8& anEncodedScanLine);
-protected:
-	void SetBandL(TInt anIndex);
-private:
-	TInt iBandIndex;
-	TInt iScanLineOffset;
-	CFaxPages* iFaxPages;
-	CFaxPageInfo* iCurrentPage;
-	CStreamStore* iStore;
-	CFaxT4* iFaxT4;
-	RStoreReadStream iReadStream;
-	TBuf8<KFaxT4MaxDesLength> iEncodedScanLine;
-	};
-
-/**
-Opens a fax file for reading.
-
-The class provides the functionality to open and close a fax file. The ability 
-to read individual fax pages is provided by the CReadFaxPages data member, 
-which is created when the file is opened.
-
-In pre-v5.1 versions of Symbian OS, the import library was faxst2.lib. 
-
-@publishedPartner
-@released
-*/
-class CReadFaxFile : public CBase
-	{
-protected:
-	CReadFaxFile();
-	void ConstructL();
-	void DoOpenL(const TDesC& aFileName);
-public:
-	IMPORT_C static CReadFaxFile* NewL();
-	IMPORT_C ~CReadFaxFile();
-	IMPORT_C void OpenL(const TDesC& aFileName);
-	IMPORT_C void Close();
-private:
-	RFs iFs;
-	CDirectFileStore* iFileStore;
-public:
-	/** A pointer to the object which can be used to access the fax pages stored in 
-	the file. Memory is allocated for the object when the fax file is opened. */
-	CReadFaxPages* iReadFaxPages;
-	};
-
-// now the TFaxHeaderInfo and CFaxHeaderLines classes
-// for saving/restoring fax headers
-// used by fax client and fax server
-/*
-class TFaxHeaderInfo
-	{
-public:
-	TInt iHeaderFontWidthInBytes;	// width of font in bytes
-	TInt iHeaderFontHeightInLines;// height of font in lines
-	TInt iOffsetToDay;            // offset to two digit day of month
-	TInt iOffsetToMonth;          // offset to two digits month of year
-	TInt iOffsetToYear;           // offset to four digits year
-	TInt iOffsetToHour;           // offset to two digits hour (24 hour clock) 
-	TInt iOffsetToMinute;         // offset to two digits minute
-	TInt iOffsetToTotalPages;     // offset to two digits for total pages
-	TInt iOffsetToCurrentPage;    // offset to two digits for current page
-	};
-
-typedef TPckgBuf < TFaxHeaderInfo > TFaxHeaderInfoPckg;
-
-class CFaxHeaderLines : public CBase
-	{
-public:
-	IMPORT_C static CFaxHeaderLines * NewL();
-	IMPORT_C static CFaxHeaderLines * NewLC();
-	~CFaxHeaderLines ();
-
-	IMPORT_C void WriteRawFontLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void WriteRawHeaderLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void WriteFaxHeaderInfoL (TFaxHeaderInfo & aFaxHeaderInfo);
-	IMPORT_C void ReadRawFontLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void ReadRawHeaderLineL (const TInt alineNumber,TRawScanLine & aUncompressedDataLine);
-	IMPORT_C void ReadFaxHeaderInfoL (TFaxHeaderInfo & aFaxHeaderInfo);
-
-protected:
-	void ConstructL();
-
-private:
-	RFs iFileSession;
-	RFile iFile;
-	TInt iSeekpos;
-	TInt iLineNumber;
-
-public:
-	TFaxHeaderInfoPckg iOurFaxHeaderInfoPckg;
-	};*/
-
-#endif
--- a/fax/faxclientandserver/faxstrm/FAXSTPAN.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalComponent
-*/
-
-#if !defined(__FAXSTPAN_H__)
-#define __FAXSTPAN_H__
-#if !defined(__E32STD_H__)
-#include <e32std.h>
-#endif
-
-/**
-@internalComponent
-*/
-enum TFaxStorePanic
-	{
-	EFaxScanLineIndexOutOfRange,
-	EFaxBandIndexOutOfRange,
-	EFaxPageIndexOutOfRange,
-	EFaxDecodeScanlineAlignment,
-	EFaxEncodeScanlineAlignment,
-	EFaxUnsupportedCompression
-	};
-
-/**
-@publishedPartner
-*/
-GLREF_C void Panic(TFaxStorePanic aPanic);
-
-#endif // __FAXSTPAN_H__
--- a/fax/faxclientandserver/faxstrm/FAXSTRM.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,666 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <e32std.h>
-#include <e32base.h>
-#include <f32file.h>
-
-#include <s32file.h>
-#include <s32mem.h>
-#include "FAXSTPAN.H"
-
-#include "FAXSTORE.H"
-#include "faxpageinfo.h"
-
-
-GLDEF_C void Panic (TFaxStorePanic aPanic)
-// Panic the process with ETEXT as the category.
- //
-
-{
-	User::Panic (_L ("FaxStrm"), aPanic);
-}
-
-// END OF COPIED
-
-EXPORT_C TFaxBandHeader::TFaxBandHeader ():
- iNumScanLines (0),
- iStreamId (KNullStreamId)
-/**
-@capability None
-*/
-{
-}
-
-EXPORT_C TFaxBandHeader::TFaxBandHeader (TStreamId aStreamId):
- iNumScanLines (0),
- iStreamId (aStreamId)
-/**
-@capability None
-*/
-{
-}
-
-EXPORT_C void TFaxBandHeader::InternalizeL (RReadStream & aStream)
-/**
-@capability None
-*/
-{
-	iNumScanLines = aStream.ReadInt32L ();
-	aStream >> iStreamId;
-}
-
-EXPORT_C void TFaxBandHeader::ExternalizeL (RWriteStream & aStream) const
-/**
-@capability None
-*/
-{
-	aStream.WriteInt32L (iNumScanLines);
-	aStream << iStreamId;
-}
-
-CFaxPageInfo::CFaxPageInfo ():
-iResolution (EFaxNormal)
-{
-	__DECLARE_NAME (_S ("CFaxPageInfo"));
-}
-
-EXPORT_C CFaxPageInfo *CFaxPageInfo::NewL ()
-/**
-@capability None
-*/
-{
-	CFaxPageInfo *pageinfo = new (ELeave) CFaxPageInfo ();
-	CleanupStack::PushL (pageinfo);
-	pageinfo->iBandHeaderList = new (ELeave) CArrayFixFlat < TFaxBandHeader > (8);
-	CleanupStack::Pop ();
-	return pageinfo;
-}
-
-EXPORT_C CFaxPageInfo::~CFaxPageInfo ()
-{
-	delete iBandHeaderList;
-}
-
-EXPORT_C void CFaxPageInfo::InternalizeL (RReadStream & aStream)
-/**
-@capability None
-*/
-{
-	iResolution = (TFaxResolution) aStream.ReadInt8L ();
-	aStream >> *iBandHeaderList;
-	aStream >> iSenderId;
-	iCompression = (TFaxCompression) aStream.ReadInt32L ();
-	iReservedFlag2 = aStream.ReadInt32L ();
-}
-
-EXPORT_C void CFaxPageInfo::ExternalizeL (RWriteStream & aStream) const
-/**
-@capability None
-*/
-{
-	aStream.WriteInt8L ((TInt8) iResolution);
-	aStream << *iBandHeaderList;
-	aStream << iSenderId;
-	aStream.WriteInt32L (iCompression);
-	aStream.WriteInt32L (iReservedFlag2);
-}
-/********************************************************************/
-
-CFaxPages::CFaxPages ()
-{
-	__DECLARE_NAME (_S ("CFaxPages"));
-}
-
-EXPORT_C CFaxPages *CFaxPages::NewL ()
-/**
-@capability None
-*/
-{
-	CFaxPages *faxpages = new (ELeave) CFaxPages ();
-	CleanupStack::PushL (faxpages);
-	faxpages->iPageStreamIdList = new (ELeave) CArrayFixFlat < TStreamId > (8);
-	CleanupStack::Pop ();
-	return faxpages;
-}
-
-EXPORT_C CFaxPages::~CFaxPages ()
-{
-	delete iPageStreamIdList;
-}
-
-EXPORT_C void CFaxPages::InternalizeL (RReadStream & aStream)
-/**
-@capability None
-*/
-{
-	aStream >> *iPageStreamIdList;
-}
-
-EXPORT_C void CFaxPages::ExternalizeL (RWriteStream & aStream) const
-/**
-@capability None
-*/
-{
-	aStream << *iPageStreamIdList;
-}
-/********************************************************************/
-
-CWriteFaxPages::CWriteFaxPages (CStreamStore & aStore, TInt aMaxScanLinesInBand):
-iMaxScanLinesInBand (aMaxScanLinesInBand ? aMaxScanLinesInBand : 64),
-iStore (&aStore)
-{
-	__DECLARE_NAME (_S ("CWriteFaxPages"));
-}
-
-void CWriteFaxPages::ConstructL ()
-{
-	iFaxPages = CFaxPages::NewL ();
-	iCurrentPage = CFaxPageInfo::NewL ();
-	iFaxT4 = CFaxT4::NewL ();
-}
-
-TBool CWriteFaxPages::BandCompleted ()
-{
-	TInt count = iCurrentPage->iBandHeaderList->Count ();
-	return (!count) || ((*iCurrentPage->iBandHeaderList)[count - 1].iNumScanLines == iMaxScanLinesInBand);
-}
-
-EXPORT_C CWriteFaxPages *CWriteFaxPages::NewL (CStreamStore & aStore, TInt aMaxScanLinesInBand)
-/** Creates a CWriteFaxPages object, which offers the public API for writing fax 
-pages to a stream store. 
-
-This function is called by CWriteFaxFile as part of creating a fax file.
-
-@param aStore The store to which fax pages are to be added. 
-@param aMaxScanLinesInBand The maximum number of scan lines in a band. Faxes 
-pages are stored in bands - to speed up display time. It is recommended 
-that developers use 64 - the value used by CWriteFaxFile. 
-@leave KErrNoMemory There is insufficient memory to perform the operation.
-@return A pointer to the newly created object. 
-@capability None
-*/
-{
-	CWriteFaxPages *writefaxpages = new (ELeave) CWriteFaxPages (aStore, aMaxScanLinesInBand);
-	CleanupStack::PushL (writefaxpages);
-	writefaxpages->ConstructL ();
-	CleanupStack::Pop ();
-	return writefaxpages;
-}
-
-EXPORT_C CWriteFaxPages::~CWriteFaxPages ()
-/** Destructor.
-
-Closes the write stream, and frees all resources owned by the object, prior 
-to its destruction. */
-{
-	iWriteStream.Close ();
-	delete iFaxT4;
-	delete iFaxPages;
-	delete iCurrentPage;
-}
-
-EXPORT_C void CWriteFaxPages::StartPage (TFaxResolution aResolution, TFaxCompression aCompression, TInt aFlag2)
-/**
-Initialize fax page, set page parameters.
-
-@param   aResolution     defines fax resolution
-@param   aCompression    defines fax compression
-@param   aFlag2          reserved flag.
-@capability None
-*/
-{
-	iFaxT4->PageInitialize (aResolution, aCompression, aFlag2);
-}
-
-EXPORT_C void CWriteFaxPages::EndPageL (TFaxResolution aResolution, TFaxBufSenderId & aSenderId, TFaxCompression aCompression, TInt aFlag2)
-/**
-Sets parameters for the current page, writes it to the stream and appends to the fax pages set.
-   
-@param   aResolution     defines fax resolution
-@param   aSenderId       Sender Id.
-@param   aCompression    defines fax compression
-@param   aFlag2          reserved flag.
-@capability None
-*/
-{
-	if (!BandCompleted ())
-		{
-		iWriteStream.CommitL ();
-		iWriteStream.Close ();
-		}
-	iCurrentPage->iResolution = aResolution;
-	iCurrentPage->iSenderId = aSenderId;
-	iCurrentPage->iCompression = aCompression;
-	iCurrentPage->iReservedFlag2 = aFlag2;
-	TStreamId streamid = iWriteStream.CreateL (*iStore);
-	iWriteStream << *iCurrentPage;
-	iWriteStream.CommitL ();
-	iWriteStream.Close ();
-	iFaxPages->iPageStreamIdList->AppendL (streamid);
-	iCurrentPage->iBandHeaderList->Reset ();
-}
-
-EXPORT_C TStreamId CWriteFaxPages::CommitPageL ()
-/**
-Place FaxPages into write stream.
-
-@return Stream Id.
-@capability None
-*/
-{
-	TStreamId streamid = iWriteStream.CreateL (*iStore);
-	iWriteStream << *iFaxPages;
-	iWriteStream.CommitL ();
-	iWriteStream.Close ();
-	iStore->CommitL ();
-	return streamid;
-}
-
-EXPORT_C void CWriteFaxPages::AddScanLineL (const TDesC8 & aScanLine)
-/** Adds raw scan lines to the write stream.
-	
-The function first encodes the scan line, using the format specified in the 
-StartPage() function, and then adds it to the write stream.
-	
-@param aScanline The current raw scan line. 
-@capability None
-*/
-{
-	iFaxT4->EncodeScanLine (aScanLine, iEncodedScanLine);
-	AddEncodedScanLineL (iEncodedScanLine);
-}
-
-EXPORT_C void CWriteFaxPages::AddEncodedScanLineL (const TDesC8 & anEncodedScanLine)
-/** Adds encoded scan lines to the write stream.
-
-@param anEncodedScanLine The encoded scan line (MH or MR). 
-@capability None
-*/
-{
-	if (BandCompleted ())
-		{
-		TStreamId streamid = iWriteStream.CreateL (*iStore);
-		iCurrentPage->iBandHeaderList->AppendL (TFaxBandHeader (streamid));
-		}
-
-	TInt count = iCurrentPage->iBandHeaderList->Count ();
-	TFaxBandHeader *bandheader = &(*iCurrentPage->iBandHeaderList)[count - 1];
-	iWriteStream << anEncodedScanLine;
-	bandheader->iNumScanLines++;
-	bandheader->iNumBytes += anEncodedScanLine.Length ();
-
-	if (BandCompleted ())
-		{
-		iWriteStream.CommitL ();
-		iWriteStream.Close ();
-		}
-}
- /********************************************************************/
-
-CWriteFaxFile::CWriteFaxFile ()
-{
-	__DECLARE_NAME (_S ("CWriteFaxFile"));
-}
-
-void CWriteFaxFile::ConstructL ()
-{
-	User::LeaveIfError (iFs.Connect ());
-}
-
-const TUid KUidPsiFaxApp = {268435908};
-
-void CWriteFaxFile::DoOpenL (TInt aMaxScanLinesInBand)
-{
-	iFileStore = CDirectFileStore::ReplaceL (iFs, iFileName, EFileWrite);
-	TUidType type (KDirectFileStoreLayoutUid, TUid::Uid (KFaxFileStoreUidVal), KUidPsiFaxApp);
-	iFileStore->SetTypeL (type);
-	iWriteFaxPages = CWriteFaxPages::NewL (*iFileStore, aMaxScanLinesInBand);
-}
-
-EXPORT_C CWriteFaxFile *CWriteFaxFile::NewL ()
-/** Constructs a CWriteFaxFile object, which offers the public API for creating 
-a fax store file.
-
-As part of the construction process, the object opens a session with the file 
-server.
-
-@return A pointer to the newly created object. 
-@capability None
-*/
-{
-	CWriteFaxFile *writefaxfile = new (ELeave) CWriteFaxFile;
-	CleanupStack::PushL (writefaxfile);
-	writefaxfile->ConstructL ();
-	CleanupStack::Pop ();
-	return writefaxfile;
-}
-
-EXPORT_C CWriteFaxFile::~CWriteFaxFile ()
-/** Destructor.
-
-Closes the session with the file server, and frees all resources owned by 
-the object, prior to its destruction. */
-{
-	Close ();
-	iFs.Close ();
-}
-
-LOCAL_C void DoAbort (TAny * aPtr)
-{
-	((CWriteFaxFile *) aPtr)->AbortWrite ();
-}
-
-EXPORT_C void CWriteFaxFile::OpenL (const TDesC & aFileName, TInt aMaxScanLinesInBand)
-/** Creates and opens a fax file for writing.
-
-The function also allocates memory to create a CWriteFaxPages object which 
-is pointed to by the class data member. This object defines the API for writing 
-pages to the file store.
-
-Fax files which have been opened should be paired with a Close() function.
-
-@param aFileName The name of the new fax file. 
-@param aMaxScanLinesInBand The maximum number of scan lines in a band. Fax 
-pages are stored in bands for quick retrieval/display. If zero is passed then 
-it will default to 64 otherwise the passed value will take effect. 
-@capability None
-*/
-{
-
-	iFileName = aFileName;
-	CleanupStack::PushL (TCleanupItem (DoAbort, this));
-	DoOpenL (aMaxScanLinesInBand);
-	CleanupStack::Pop ();
-}
-
-
-EXPORT_C void CWriteFaxFile::CommitL ()
-/** Commits the current fax page created using the CWriteFaxPages API  to 
-the fax file.
-
-Committing a page writes it to the fax file, rather than storing it in temporary 
-memory. The function should be called after each page is added, to ensure 
-that only one fax page can be lost if there is an out of memory error. 
-@capability None
-*/
-{
-	TStreamId streamid = iWriteFaxPages->CommitPageL ();
-	iFileStore->SetRootL (streamid);
-	iFileStore->CommitL ();
-}
-
-
-EXPORT_C void CWriteFaxFile::Close ()
-/** Closes the fax file, and deletes the resources owned by the object. 
-
-Although this function is called in the destructor, it is good programming 
-practice to invoke it manually to pair previous OpenL() calls. 
-@capability None
-*/
-{
-	delete iWriteFaxPages;
-	iWriteFaxPages = NULL;
-	delete iFileStore;
-	iFileStore = NULL;
-}
-
-EXPORT_C void CWriteFaxFile::AbortWrite ()
-/** Aborts the creation of the fax store file, and then deletes the file. 
-
-It can be called by developer programs, and is called automatically if OpenL() 
-leaves. 
-@capability None
-*/
-{
-	Close ();
-	iFs.Delete (iFileName);
-}
-/********************************************************************/
-
-CReadFaxPages::CReadFaxPages (CStreamStore & aStore):
-iStore (&aStore)
-{
-	__DECLARE_NAME (_S ("CReadFaxPages"));
-}
-
-void CReadFaxPages::ConstructL (TStreamId aStreamId)
-{
-	iFaxPages = CFaxPages::NewL ();
-	iCurrentPage = CFaxPageInfo::NewL ();
-	iFaxT4 = CFaxT4::NewL ();
-	iReadStream.OpenL (*iStore, aStreamId);
-	iReadStream >> *iFaxPages;
-	iReadStream.Close ();
-	SetPageL (0);
-}
-
-EXPORT_C CReadFaxPages *CReadFaxPages::NewL (CStreamStore & aStore, TStreamId aStreamId)
-/** Creates a CReadFaxPages object, which offers the public API for reading fax 
-pages from a stream store. 
-
-This function is called by CReadFaxFile when opening a fax file.
-
-@param aStore The store from which fax pages are to be read. 
-@param aStreamId The root ID of the stream store. 
-@leave KErrNoMemory There is insufficient memory to perform the operation. 
-@return A pointer to the newly created object. 
-@capability None
-*/
-{
-	CReadFaxPages *readfaxpages = new (ELeave) CReadFaxPages (aStore);
-	CleanupStack::PushL (readfaxpages);
-	readfaxpages->ConstructL (aStreamId);
-	CleanupStack::Pop ();
-	return readfaxpages;
-}
-
-EXPORT_C CReadFaxPages::~CReadFaxPages ()
-/** Destructor.
-
-Closes the stream, and frees all resources owned by the object, prior to its 
-destruction. */
-{
-	iReadStream.Close ();
-	delete iFaxT4;
-	delete iFaxPages;
-	delete iCurrentPage;
-}
-
-EXPORT_C TInt CReadFaxPages::NumPages () const
-/** Gets the number of pages in the store.
-
-@return The number of fax pages in the store. 
-@capability None
-*/
-{
-	return iFaxPages->iPageStreamIdList->Count ();
-}
-
-EXPORT_C void CReadFaxPages::SetPageL (TInt aNum)
-/** Sets a selected page to be the current page, and resets the current scan line 
-to the first scan line in the page.
-
-@param aNum The number of the new page. 
-@capability None
-*/
-{
-	__ASSERT_DEBUG ((aNum >= 0) && (aNum < iFaxPages->iPageStreamIdList->Count ()), Panic (EFaxPageIndexOutOfRange));
-	iReadStream.Close ();
-	iReadStream.OpenL (*iStore, (*iFaxPages->iPageStreamIdList)[aNum]);
-	iReadStream >> *iCurrentPage;
-	iReadStream.Close ();
-	iFaxT4->PageInitialize (iCurrentPage->iResolution, iCurrentPage->iCompression, iCurrentPage->iReservedFlag2);
-	SeekScanLineL (0);
-}
-
-EXPORT_C TFaxPageInfo CReadFaxPages::CurrentPageInfo () const
-/** Gets the information for the current fax page, where the current page was set 
-in a previous call to the SetPageL() function.
-
-@return The information for the current fax page 
-@capability None
-*/
-{
-	TFaxPageInfo info;
-	info.iResolution = iCurrentPage->iResolution;
-	info.iSenderId = iCurrentPage->iSenderId;
-	info.iCompression = iCurrentPage->iCompression;
-	info.iReservedFlag2 = iCurrentPage->iReservedFlag2;
-	info.iNumScanLines = 0;
-	TInt count = iCurrentPage->iBandHeaderList->Count ();
-	for (TInt i = 0; i < count; i++)
-		info.iNumScanLines += (*iCurrentPage->iBandHeaderList)[i].iNumScanLines;
-	return info;
-}
-
-EXPORT_C void CReadFaxPages::SeekScanLineL (TInt anIndex)
-/** Sets the specified scan line as the current scan line. 
-
-@param anIndex The index of the scan line. 
-@capability None
-*/
-{
-	__ASSERT_DEBUG ((anIndex >= 0) && (anIndex < CurrentPageInfo ().iNumScanLines), Panic (EFaxScanLineIndexOutOfRange));
-	TInt numscanlines = 0;
-	TInt count = iCurrentPage->iBandHeaderList->Count ();
-	for (iBandIndex = 0; (iBandIndex < count) && ((numscanlines + (*iCurrentPage->iBandHeaderList)[iBandIndex].iNumScanLines) <= anIndex); iBandIndex++)
-		numscanlines += (*iCurrentPage->iBandHeaderList)[iBandIndex].iNumScanLines;
-
-	SetBandL (iBandIndex);
-	TBuf8 < KFaxT4MaxDesLength > encodedscanline;
-	for (iScanLineOffset = 0; iScanLineOffset < (anIndex - numscanlines);)
-	GetEncodedScanLineL (encodedscanline);
-}
-
-EXPORT_C TInt CReadFaxPages::GetScanLineL (TDes8 & aScanLine)
-/** Gets the raw scan line specified in a previous call to the SeekScanLineL() 
-function. 
-
-The scan line is stored in compressed form, but is retrieved by this function 
-in raw form for viewing.
-
-@param aScanLine On return, contains the scan line. 
-@return KErrNone if successful, otherwise another of the system-wide error 
-codes. 
-@capability None
-*/
-{
-	GetEncodedScanLineL (iEncodedScanLine);
-	return iFaxT4->DecodeScanLine (aScanLine, iEncodedScanLine);
-}
-
-EXPORT_C void CReadFaxPages::GetEncodedScanLineL (TDes8 & anEncodedScanLine)
-/** Gets the encoded scan line specified in a previous call to the SeekScanLineL() 
-function.
-
-@param anEncodedScanLine On return, contains the encoded scan line. 
-@capability None
-*/
-{
-	if (iScanLineOffset == (*iCurrentPage->iBandHeaderList)[iBandIndex].iNumScanLines)
-		SetBandL (iBandIndex + 1);
-	iReadStream >> anEncodedScanLine;
-	iScanLineOffset++;
-}
-
-void CReadFaxPages::SetBandL (TInt anIndex)
-{
-	__ASSERT_DEBUG ((anIndex >= 0) && (anIndex < iCurrentPage->iBandHeaderList->Count ()), Panic (EFaxBandIndexOutOfRange));
-	iBandIndex = anIndex;
-	iReadStream.Close ();
-	iReadStream.OpenL (*iStore, (*iCurrentPage->iBandHeaderList)[iBandIndex].iStreamId);
-	iScanLineOffset = 0;
-}
- /********************************************************************/
-
-CReadFaxFile::CReadFaxFile ()
-{
-	__DECLARE_NAME (_S ("CReadFaxFile"));
-}
-
-void CReadFaxFile::ConstructL ()
-{
-	User::LeaveIfError (iFs.Connect ());
-}
-
-void CReadFaxFile::DoOpenL (const TDesC & aFileName)
-{
-	iFileStore = CDirectFileStore::OpenL (iFs, aFileName, EFileStream | EFileRead | EFileShareReadersOnly);
-	if (iFileStore->Type ()[1] != TUid::Uid (KFaxFileStoreUidVal))
-		User::Leave (KErrNotSupported);
-	TStreamId streamid = iFileStore->Root ();
-	iReadFaxPages = CReadFaxPages::NewL (*iFileStore, streamid);
-}
-
-EXPORT_C CReadFaxFile *CReadFaxFile::NewL ()
-/** Constructs a CReadFaxFile object, which offers the public API for opening a 
-fax file for reading. 
-
-As part of the construction process, the object starts a session with the 
-file server.
-
-@return A pointer to the newly created object. 
-@capability None
-*/
-{
-	CReadFaxFile *readfaxfile = new (ELeave) CReadFaxFile;
-	CleanupStack::PushL (readfaxfile);
-	readfaxfile->ConstructL ();
-	CleanupStack::Pop ();
-	return readfaxfile;
-}
-
-EXPORT_C CReadFaxFile::~CReadFaxFile ()
-/** Destructor.
-
-Closes the session with the file server, and frees all resources owned by 
-the object, prior to its destruction. */
-{
-	Close ();
-	iFs.Close ();
-}
-
-EXPORT_C void CReadFaxFile::OpenL (const TDesC & aFileName)
-/** Opens a fax file for reading. 
-
-The function also allocates memory to create a CReadFaxPages object - which 
-is pointed to by the iReadFaxPages class data member. This class defines the 
-API for reading individual pages from the file store.
-
-Fax files which have been opened should be paired with a Close() function.
-
-@param aFileName The name of the fax file. 
-@capability None
-*/
-{
-	CleanupClosePushL (*this);
-	DoOpenL (aFileName);
-	CleanupStack::Pop ();
-}
-
-EXPORT_C void CReadFaxFile::Close ()
-/** Closes the fax file, and deletes the resources owned by the object. 
-
-Although this function is called in the destructor, it is good programming 
-practice to invoke it manually to pair previous OpenL() calls. 
-@capability None
-*/
-	{
-	delete iReadFaxPages;
-	iReadFaxPages = NULL;
-	delete iFileStore;
-	iFileStore = NULL;
-	}
--- a/fax/faxclientandserver/faxstrm/faxpageinfo.h	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-
-/**
- @file
- @internalTechnology
- @released
-*/
-
-#if !defined(__FAXPAGEINFO_H__)
-#define __FAXPAGEINFO_H__
-
-/********************************************************************/
-
-/**
-@internalTechnology
-*/
-class TFaxBandHeader
-	{
-public:
-	IMPORT_C TFaxBandHeader();
-	IMPORT_C TFaxBandHeader(TStreamId aStreamId);
-	IMPORT_C void InternalizeL(RReadStream& aStream);
-	IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-
-public:
-	TInt iNumScanLines;
-	TInt iNumBytes;
-	TStreamId iStreamId;
-	};
-
-/**
-@internalTechnology
-*/
-class CFaxPageInfo : public CBase
-	{
-protected:
-	CFaxPageInfo();
-public:
-	IMPORT_C static CFaxPageInfo* NewL();
-	IMPORT_C ~CFaxPageInfo();
-	IMPORT_C void InternalizeL(RReadStream& aStream);
-	IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-public:
-	TFaxResolution iResolution;
-	TFaxCompression iCompression; // was TInt iReservedFlag1 up to faxstore 013
-	TInt iReservedFlag2;
-	TFaxBufSenderId iSenderId;
-	CArrayFixFlat<TFaxBandHeader>* iBandHeaderList;
-	};
-
-/**
-@internalTechnology
-*/
-class CFaxPages	: public CBase
-	{
-protected:
-	CFaxPages();
-public:
-	IMPORT_C static CFaxPages* NewL();
-	IMPORT_C ~CFaxPages();
-	IMPORT_C void InternalizeL(RReadStream& aStream);
-	IMPORT_C void ExternalizeL(RWriteStream& aStream) const;
-public:
-	CArrayFixFlat<TStreamId>* iPageStreamIdList;
-	};
-
-/********************************************************************/
-#endif // __FAXPAGEINFO_H__
--- a/hwpluginsimulation/mocksy/group/telephony_tools_mocksy.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/hwpluginsimulation/mocksy/group/telephony_tools_mocksy.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_tools_mocksy
 source		\sf\os\cellularsrv\hwpluginsimulation\mocksy\
 binary		\sf\os\cellularsrv\hwpluginsimulation\mocksy\group	all
--- a/package_definition.xml	Fri Mar 19 09:55:57 2010 +0200
+++ b/package_definition.xml	Fri Apr 16 16:12:37 2010 +0300
@@ -14,11 +14,7 @@
         <unit bldFile="basebandadaptationplugins/basebandchanneladaptorforc32/group" mrp="basebandadaptationplugins/basebandchanneladaptorforc32/group/networking_c32bca.mrp"/>
       </component>
     </collection>
-    <collection id="fax" name="Fax" level="server">
-      <component id="faxclientandserver" name="Fax Client and Server" purpose="optional">
-        <unit bldFile="fax/faxclientandserver/Group" mrp="fax/faxclientandserver/Group/telephony_fax.mrp"/>
-      </component>
-    </collection>
+   
     <collection id="smsprotocols" name="SMS Protocols" level="framework">
       <component id="smsstack" name="SMS Stack" introduced="6.0" purpose="mandatory" class="plugin">
         <unit bldFile="smsprotocols/smsstack/group" mrp="smsprotocols/smsstack/group/nbprotocols_smsstackv2.mrp"/>
--- a/smsprotocols/smsstack/documentation/SMS Design.mdl	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38481 +0,0 @@
-
-(object Petal
-    version    	43
-    _written   	"Rose 6.5.9232.10"
-    charSet    	0)
-
-(object Design "Logical View"
-    is_unit    	TRUE
-    is_loaded  	TRUE
-    quid       	"384680C502DE"
-    defaults   	(object defaults
-	rightMargin 	0.250000
-	leftMargin 	0.250000
-	topMargin  	0.250000
-	bottomMargin 	0.500000
-	pageOverlap 	0.250000
-	clipIconLabels 	TRUE
-	autoResize 	FALSE
-	snapToGrid 	FALSE
-	gridX      	16
-	gridY      	16
-	defaultFont 	(object Font
-	    size       	10
-	    face       	"Arial"
-	    bold       	FALSE
-	    italics    	FALSE
-	    underline  	FALSE
-	    strike     	FALSE
-	    color      	0
-	    default_color 	TRUE)
-	showMessageNum 	3
-	showClassOfObject 	TRUE
-	notation   	"Unified")
-    root_usecase_package 	(object Class_Category "Use Case View"
-	quid       	"375BCD1B01F2"
-	exportControl 	"Public"
-	global     	TRUE
-	logical_models 	(list unit_reference_list
-	    (object Class_Category "SMS Protocol"
-		quid       	"39B781C200B8"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list
-		    (object Class "SMS Protocol Client"
-			quid       	"39B77F980260"
-			stereotype 	"Actor")
-		    (object Class "Comm DB Client"
-			quid       	"39D1F3B9021B"
-			stereotype 	"Actor")
-		    (object Mechanism @1
-			logical_models 	(list unit_reference_list
-			    (object Object "$UNNAMED$0"
-				quid       	"39B7819C009F"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7830D0385"
-					supplier   	"RSocket"
-					quidu      	"39B782260224"
-					messages   	(list Messages
-					    (object Message "Ioctl()"
-						quid       	"39B7830D0386"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1"
-						ordinal    	0))))
-				class      	"Use Case View::SMS Protocol::SMS Protocol Client"
-				quidu      	"39B77F980260"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSocket"
-				quid       	"39B782260224"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B783300122"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7826901D0"
-					messages   	(list Messages
-					    (object Message "Async Server Request"
-						quid       	"39B783300123"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1"
-						ordinal    	1))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ESOCK Framework"
-				quid       	"39B7826901D0"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B783530000"
-					supplier   	"$UNNAMED$1"
-					quidu      	"39B782EA0226"
-					messages   	(list Messages
-					    (object Message "Ioctl()"
-						quid       	"39B783530001"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2"
-						ordinal    	2
-						Operation  	"Ioctl(TUint, TUint, TDes8*)"
-						quidu      	"3781E14D03B6")
-					    (object Message "IoctlComplete()"
-						quid       	"39B788B4017D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"7.1.1.1.2"
-						ordinal    	20)))
-				    (object Link
-					quid       	"39B78720029E"
-					supplier   	"$UNNAMED$2"
-					quidu      	"39B785200053"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39B7876B018E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5"
-						ordinal    	10)
-					    (object Message "RunL()"
-						quid       	"39B788080392"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7"
-						ordinal    	15)))
-				    (object Link
-					quid       	"39B788D90357"
-					supplier   	"$UNNAMED$0"
-					quidu      	"39B7819C009F"))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$1"
-				quid       	"39B782EA0226"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B783AF0139"
-					supplier   	"$UNNAMED$3"
-					quidu      	"39B782FC0182"
-					messages   	(list Messages
-					    (object Message "GetServiceCenterAddress()"
-						quid       	"39B783AF013A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.1"
-						ordinal    	3
-						Operation  	"GetServiceCenterAddress(MSmsMessageObserver&)"
-						quidu      	"38B2D0BC00E5")
-					    (object Message "ServiceCenterAddressCompleted()"
-						quid       	"39B78897008B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"7.1.1.1"
-						ordinal    	18
-						quidu      	"38B2CD2A02C9")
-					    (object Message "ServiceCenterAddress()"
-						quid       	"39D0D4AC0002"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7.1.1.1.1"
-						ordinal    	19
-						Operation  	"ServiceCenterAddress( )"
-						quidu      	"38B2D2EE025C"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-				quidu      	"3780BA620276"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$3"
-				quid       	"39B782FC0182"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7840A002B"
-					supplier   	"$UNNAMED$3"
-					quidu      	"39B782FC0182"
-					messages   	(list Messages
-					    (object Message "DoServiceCenterAddress()"
-						quid       	"39B7840A002C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.1.1"
-						ordinal    	4)))
-				    (object Link
-					quid       	"39B7853E0269"
-					supplier   	"$UNNAMED$2"
-					quidu      	"39B785200053"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39B7853E026A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.1.1.1"
-						ordinal    	5)
-					    (object Message "ServiceCenterAddressCompleted()"
-						quid       	"39B788600208"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"7.1.1"
-						ordinal    	17
-						quidu      	"38B2CEDE0375"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$2"
-				quid       	"39B785200053"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7866E034D"
-					supplier   	"RSmsMessaging"
-					quidu      	"39B7862A01FA"
-					messages   	(list Messages
-					    (object Message "GetDefaultSCAddress()"
-						quid       	"39B7866E034E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.1.1.1.1"
-						ordinal    	6)))
-				    (object Link
-					quid       	"39B7879C0030"
-					supplier   	"$UNNAMED$2"
-					quidu      	"39B785200053"
-					messages   	(list Messages
-					    (object Message "ConvertL()"
-						quid       	"39B7879C0031"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1"
-						ordinal    	11)
-					    (object Message "SetActive()"
-						quid       	"39B787C10372"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.3"
-						ordinal    	13)
-					    (object Message "Complete()"
-						quid       	"39B7884602D3"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7.1"
-						ordinal    	16)))
-				    (object Link
-					quid       	"39D0D2C1010A"
-					supplier   	"E32"
-					quidu      	"39D0D13D0329"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D0D2C1010B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.2"
-						ordinal    	12))))
-				class      	"Logical View::SMS PROTOCOL MODULE::SERVICE CENTER ADDRESS::CSmsSCAddress"
-				quidu      	"39B7851702E5"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSmsMessaging"
-				quid       	"39B7862A01FA"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B786CD02E5"
-					supplier   	"ETEL Framework"
-					quidu      	"39B786B1024F"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39B786CD02E6"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.1.1.1.1.1"
-						ordinal    	7))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ETEL Framework"
-				quid       	"39B786B1024F"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B787540203"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7826901D0"
-					messages   	(list Messages
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39B787540204"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"4"
-						ordinal    	9)))
-				    (object Link
-					quid       	"39D0D220002D"
-					supplier   	"E32"
-					quidu      	"39D0D13D0329"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D0D220002E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3"
-						ordinal    	8))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "E32"
-				quid       	"39D0D13D0329"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D0D31401DC"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7826901D0"
-					messages   	(list Messages
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D0D31401DD"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"6"
-						ordinal    	14)
-					    (object Message "RMessage::Complete()"
-						quid       	"39D0D585036B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"7.1.1.1.2.1"
-						ordinal    	21)))
-				    (object Link
-					quid       	"39D0D59F014C"
-					supplier   	"$UNNAMED$0"
-					quidu      	"39B7819C009F"
-					messages   	(list Messages
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D0D59F014D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"8"
-						ordinal    	22))))
-				persistence 	"Transient"
-				multi      	FALSE)))
-		    (object Mechanism @2
-			logical_models 	(list unit_reference_list
-			    (object Object "$UNNAMED$4"
-				quid       	"39B7C39001DE"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C43D01B4"
-					supplier   	"RSocket"
-					quidu      	"39B7C3C30119"
-					messages   	(list Messages
-					    (object Message "Ioctl()"
-						quid       	"39B7C43D01B5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1"
-						ordinal    	0))))
-				class      	"Use Case View::SMS Protocol::SMS Protocol Client"
-				quidu      	"39B77F980260"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSocket"
-				quid       	"39B7C3C30119"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C4580069"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7C42C0228"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39B7C458006A"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"2"
-						ordinal    	1))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ESOCK Framework"
-				quid       	"39B7C42C0228"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C42C0229"
-					supplier   	"$UNNAMED$5"
-					quidu      	"39B7C42C0246"
-					messages   	(list Messages
-					    (object Message "Ioctl()"
-						quid       	"39B7C42C022A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3"
-						ordinal    	2
-						Operation  	"Ioctl(TUint, TUint, TDes8*)"
-						quidu      	"3781E14D03B6")
-					    (object Message "IoctlComplete()"
-						quid       	"39B7C42C023C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"10"
-						ordinal    	19)))
-				    (object Link
-					quid       	"39B7C42C023D"
-					supplier   	"$UNNAMED$6"
-					quidu      	"39B7C42C0296"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39B7C42C023E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5"
-						ordinal    	10)
-					    (object Message "RunL()"
-						quid       	"39B7C42C023F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"8"
-						ordinal    	15)))
-				    (object Link
-					quid       	"39B7C81E00A4"
-					supplier   	"$UNNAMED$4"
-					quidu      	"39B7C39001DE"))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$5"
-				quid       	"39B7C42C0246"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C42C0247"
-					supplier   	"$UNNAMED$7"
-					quidu      	"39B7C42C026E"
-					messages   	(list Messages
-					    (object Message "SetServiceCenterAddress()"
-						quid       	"39B7C42C0248"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1"
-						ordinal    	3
-						Operation  	"SetServiceCenterAddress(const TDesC&, MSmsMessageObserver&)"
-						quidu      	"38B2D0CA02E9")
-					    (object Message "ServiceCenterAddressCompleted()"
-						quid       	"39B7C42C025A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"9"
-						ordinal    	18
-						quidu      	"38B2CD2A02C9"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-				quidu      	"3780BA620276"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$7"
-				quid       	"39B7C42C026E"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C42C026F"
-					supplier   	"$UNNAMED$7"
-					quidu      	"39B7C42C026E"
-					messages   	(list Messages
-					    (object Message "DoServiceCenterAddress()"
-						quid       	"39B7C42C0270"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1"
-						ordinal    	4)))
-				    (object Link
-					quid       	"39B7C42C0278"
-					supplier   	"$UNNAMED$6"
-					quidu      	"39B7C42C0296"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39B7C42C0279"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1"
-						ordinal    	5)
-					    (object Message "ServiceCenterAddressCompleted()"
-						quid       	"39B7C42C0282"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"8.1.1"
-						ordinal    	17
-						quidu      	"38B2CEDE0375"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$6"
-				quid       	"39B7C42C0296"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C42C0297"
-					supplier   	"RSmsMessaging"
-					quidu      	"39B7C42C02B6"
-					messages   	(list Messages
-					    (object Message "SetDefaultSCAddress()"
-						quid       	"39B7C42C0298"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1"
-						ordinal    	11)))
-				    (object Link
-					quid       	"39B7C42C0299"
-					supplier   	"$UNNAMED$6"
-					quidu      	"39B7C42C0296"
-					messages   	(list Messages
-					    (object Message "ParseL()"
-						quid       	"39B7C42C029A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1"
-						ordinal    	6)
-					    (object Message "SetActive()"
-						quid       	"39B7C42C02B4"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1.2"
-						ordinal    	8)
-					    (object Message "Complete()"
-						quid       	"39B7C42C02B5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"8.1"
-						ordinal    	16)))
-				    (object Link
-					quid       	"39D0D6C600D8"
-					supplier   	"E32"
-					quidu      	"39D0D63003AD"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D0D6C600D9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1.1"
-						ordinal    	7))))
-				class      	"Logical View::SMS PROTOCOL MODULE::SERVICE CENTER ADDRESS::CSmsSCAddress"
-				quidu      	"39B7851702E5"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSmsMessaging"
-				quid       	"39B7C42C02B6"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C42C02BE"
-					supplier   	"ETEL Framework"
-					quidu      	"39B7C42C02D2"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39B7C42C02BF"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1"
-						ordinal    	12))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ETEL Framework"
-				quid       	"39B7C42C02D2"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7C42C02D3"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7C42C0228")
-				    (object Link
-					quid       	"39D0D821009B"
-					supplier   	"E32"
-					quidu      	"39D0D63003AD"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D0D821009C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"6"
-						ordinal    	13))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "E32"
-				quid       	"39D0D63003AD"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D0D7D7008A"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7C42C0228"
-					messages   	(list Messages
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D0D7D7008B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4"
-						ordinal    	9)
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D0D82D00B6"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7"
-						ordinal    	14)
-					    (object Message "RMessage::Complete()"
-						quid       	"39D0D890039E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"10.1"
-						ordinal    	20)))
-				    (object Link
-					quid       	"39D0D8AA00E8"
-					supplier   	"$UNNAMED$4"
-					quidu      	"39B7C39001DE"
-					messages   	(list Messages
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D0D8AA00E9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11"
-						ordinal    	21))))
-				persistence 	"Transient"
-				multi      	FALSE)))
-		    (object Mechanism @3
-			logical_models 	(list unit_reference_list
-			    (object Object "$UNNAMED$8"
-				quid       	"39B7CAD30187"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7CB4403C4"
-					supplier   	"$UNNAMED$9"
-					quidu      	"39B7CB2700FB"
-					messages   	(list Messages
-					    (object Message "operator <<"
-						quid       	"39B7CB4403C5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1"
-						ordinal    	0)
-					    (object Message "CommitL()"
-						quid       	"39B7CB5602D0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2"
-						ordinal    	1)))
-				    (object Link
-					quid       	"39B7CC3B0315"
-					supplier   	"RSocket"
-					quidu      	"39B7CAD902EE"
-					messages   	(list Messages
-					    (object Message "Ioctl()"
-						quid       	"39B7CC3B0316"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3"
-						ordinal    	2))))
-				class      	"Use Case View::SMS Protocol::SMS Protocol Client"
-				quidu      	"39B77F980260"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSocket"
-				quid       	"39B7CAD902EE"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B7CC47000F"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7CBD702DF"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39B7CC470010"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1"
-						ordinal    	3))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$9"
-				quid       	"39B7CB2700FB"
-				class      	"Logical View::SMS UTILS::SMS STREAM::RSmsSocketWriteStream"
-				quidu      	"379703EC01B7"
-				persistence 	"Static"
-				multi      	FALSE)
-			    (object Object "ESOCK Framework"
-				quid       	"39B7CBD702DF"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8AD6A01D7"
-					supplier   	"$UNNAMED$10"
-					quidu      	"39B8AD2D00B7"
-					messages   	(list Messages
-					    (object Message "Ioctl()"
-						quid       	"39B8AD6A01D8"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4"
-						ordinal    	4
-						Operation  	"Ioctl(TUint, TUint, TDes8*)"
-						quidu      	"3781E14D03B6")
-					    (object Message "CSocket::Error()"
-						quid       	"39D0B5C30307"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"25.2.2.1.1.1"
-						ordinal    	92)))
-				    (object Link
-					quid       	"39B8D0C701AC"
-					supplier   	"$UNNAMED$11"
-					quidu      	"39B8CCC1011F"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39B8D0C701AD"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7"
-						ordinal    	18)
-					    (object Message "RunL()"
-						quid       	"39D0A9800191"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"23"
-						ordinal    	78)))
-				    (object Link
-					quid       	"39B8D506028C"
-					supplier   	"$UNNAMED$12"
-					quidu      	"39B8CA82026D"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39B8D506028D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9"
-						ordinal    	24)
-					    (object Message "RunL()"
-						quid       	"39B8DB3D02B1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11"
-						ordinal    	35)
-					    (object Message "RunL()"
-						quid       	"39D0AB98030E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25"
-						ordinal    	84)))
-				    (object Link
-					quid       	"39B914EB01BA"
-					supplier   	"$UNNAMED$13"
-					quidu      	"39B8DCA803D6"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39B914EB01BB"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"14"
-						ordinal    	49)
-					    (object Message "RunL()"
-						quid       	"39D0B871014B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"20"
-						ordinal    	70)
-					    (object Message "RunL()"
-						quid       	"39D0B96A0153"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"18"
-						ordinal    	63)))
-				    (object Link
-					quid       	"39D09B74014A"
-					supplier   	"$UNNAMED$14"
-					quidu      	"39B8DC240015"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39D09B74014B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"16"
-						ordinal    	57))))
-				persistence 	"Static"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$10"
-				quid       	"39B8AD2D00B7"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8ADDE0011"
-					supplier   	"$UNNAMED$15"
-					quidu      	"39B8AD44034F"
-					messages   	(list Messages
-					    (object Message "SendSmsMessage()"
-						quid       	"39B8AED70037"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3"
-						ordinal    	7
-						Operation  	"SendSmsMessage(CSmsMessage*, MSmsMessageObserver&)"
-						quidu      	"38B2D16802C9")
-					    (object Message "MessageSendCompleted()"
-						quid       	"39D0B1E102E0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"25.2.2.1.1"
-						ordinal    	91
-						Operation  	"MessageSendCompleted(TInt)"
-						quidu      	"38B2CD2A02D9")))
-				    (object Link
-					quid       	"39B8AE4A03A6"
-					supplier   	"$UNNAMED$16"
-					quidu      	"39B8AE3E0145"
-					messages   	(list Messages
-					    (object Message "SmsAddrFamily()"
-						quid       	"39B8AE4A03A7"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.1"
-						ordinal    	5
-						Operation  	"SmsAddrFamily( )"
-						quidu      	"381F234D00C7")))
-				    (object Link
-					quid       	"39B8AE570083"
-					supplier   	"$UNNAMED$10"
-					quidu      	"39B8AD2D00B7"
-					messages   	(list Messages
-					    (object Message "InternalizeMessage()"
-						quid       	"39B8AE57008D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.2"
-						ordinal    	6)
-					    (object Message "SetIoctlOutstanding(EFalse)"
-						quid       	"39D0B5D80343"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.2.2.1.1.2"
-						ordinal    	94))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-				quidu      	"3780BA620276"
-				persistence 	"Static"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$15"
-				quid       	"39B8AD44034F"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8B1D30144"
-					supplier   	"TSglQue<: CQueuedSmsMessage>"
-					quidu      	"39B8B17A02FF"
-					messages   	(list Messages
-					    (object Message "AddLast()"
-						quid       	"39B8B1D30145"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.1"
-						ordinal    	8)
-					    (object Message "IsFirst()"
-						quid       	"39B8B1E701ED"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.2"
-						ordinal    	9)
-					    (object Message "First()"
-						quid       	"39B8CA33025F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.3.1"
-						ordinal    	11)
-					    (object Message "Remove()"
-						quid       	"39D0B20500B1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.2.2.1.2"
-						ordinal    	95)))
-				    (object Link
-					quid       	"39B8CA010159"
-					supplier   	"$UNNAMED$15"
-					quidu      	"39B8AD44034F"
-					messages   	(list Messages
-					    (object Message "MessageSend()"
-						quid       	"39B8CA01015A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.3"
-						ordinal    	10)
-					    (object Message "NotifyMessageSendObserver()"
-						quid       	"39D0B1AC02D9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.2.2.1"
-						ordinal    	90)
-					    (object Message "MessageSend()"
-						quid       	"39D0B24402F6"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.2.2.1.3"
-						ordinal    	96)))
-				    (object Link
-					quid       	"39B8CA8801DF"
-					supplier   	"$UNNAMED$12"
-					quidu      	"39B8CA82026D"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39B8CA8801E0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.3.2"
-						ordinal    	12
-						Operation  	"Start(const CSmsMessage&)"
-						quidu      	"3821946F0113")
-					    (object Message "EncodedPDUs()"
-						quid       	"39B8D6AB010A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"9.1.1.4"
-						ordinal    	30
-						Operation  	"EncodedPDUs(const CArrayFix<TSms>&)"
-						quidu      	"38B2CEDE0308")
-					    (object Message "UnsentPDUs()"
-						quid       	"39D0B149009C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"25.2.1"
-						ordinal    	87
-						Operation  	"UnsentPDUs(const CArrayFix<TSms>&)"
-						quidu      	"38B2CEDE0346")
-					    (object Message "MessageSendCompleted()"
-						quid       	"39D0B19903B8"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"25.2.2"
-						ordinal    	89
-						Operation  	"MessageSendCompleted(TInt)"
-						quidu      	"38B2CEDE03A4")))
-				    (object Link
-					quid       	"39D0B2B70341"
-					supplier   	"$UNNAMED$17"
-					quidu      	"39B8D61A0076"
-					messages   	(list Messages
-					    (object Message "PurgeL(TTimeIntervalMinutes&, TBool)"
-						quid       	"39D0B2B70342"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.2.2.1.4"
-						ordinal    	97
-						quidu      	"37A012DD01E5")))
-				    (object Link
-					quid       	"39D0B7AF035E"
-					supplier   	"$UNNAMED$18"
-					quidu      	"39D0B77400CF"
-					messages   	(list Messages
-					    (object Message "EncodedPDUsL()"
-						quid       	"39D0B7AF035F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1.1.4.1"
-						ordinal    	31)
-					    (object Message "UnsentPDUs()"
-						quid       	"39D0B8110193"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.2.1.1"
-						ordinal    	88))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$16"
-				quid       	"39B8AE3E0145"
-				class      	"Logical View::SMS UTILS::SMS ADDRESS::TSmsAddr"
-				quidu      	"381F22330098"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "TSglQue<: CQueuedSmsMessage>"
-				quid       	"39B8B17A02FF"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$12"
-				quid       	"39B8CA82026D"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8CCCD0086"
-					supplier   	"$UNNAMED$11"
-					quidu      	"39B8CCC1011F"
-					messages   	(list Messages
-					    (object Message "AddEvent()"
-						quid       	"39B8CCCD0087"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.3.2.1"
-						ordinal    	13
-						Operation  	"AddEvent(TRequestStatus&, const CSmsMessage&, TLogSmsPduData, TInt*)"
-						quidu      	"38B2BFFF0133")))
-				    (object Link
-					quid       	"39B8CD4C03A0"
-					supplier   	"$UNNAMED$12"
-					quidu      	"39B8CA82026D"
-					messages   	(list Messages
-					    (object Message "SetActive()"
-						quid       	"39B8CD4C03A1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.3.2.2"
-						ordinal    	15)
-					    (object Message "SegmentMessage()"
-						quid       	"39B8D59E0136"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1"
-						ordinal    	25)
-					    (object Message "DoSegmentMessageL()"
-						quid       	"39B8D5B602A3"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1.1"
-						ordinal    	26)
-					    (object Message "SetActive()"
-						quid       	"39B8D70B02B7"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1.3"
-						ordinal    	33)
-					    (object Message "SendNextPDU()"
-						quid       	"39B8DB6C0183"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.1"
-						ordinal    	36)
-					    (object Message "SetActive()"
-						quid       	"39B8DBA401B5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.3"
-						ordinal    	46)
-					    (object Message "SendNextPDU()"
-						quid       	"39D0ABAC0281"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.1"
-						ordinal    	85)
-					    (object Message "Complete()"
-						quid       	"39D0ABCA02CA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"25.2"
-						ordinal    	86)))
-				    (object Link
-					quid       	"39B8D640019D"
-					supplier   	"$UNNAMED$19"
-					quidu      	"39B8D63401B4"
-					messages   	(list Messages
-					    (object Message "OptimizeSettingsL()"
-						quid       	"39B8D640019E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1.1.1"
-						ordinal    	27
-						Operation  	"OptimizeSettingsL(TInt)"
-						quidu      	"381985200324")
-					    (object Message "EncodeMessagePDUsL()"
-						quid       	"39B8D6670117"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1.1.2"
-						ordinal    	28
-						Operation  	"EncodeMessagePDUsL(CArrayFix<TSms>&, TBool, TInt)"
-						quidu      	"38199DA502E5")))
-				    (object Link
-					quid       	"39B8D67D0213"
-					supplier   	"$UNNAMED$17"
-					quidu      	"39B8D61A0076"
-					messages   	(list Messages
-					    (object Message "AddSubmitL()"
-						quid       	"39B8D67D0214"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1.1.3"
-						ordinal    	29
-						Operation  	"AddSubmitL(const TSmsAddr&, CSmsMessage&)"
-						quidu      	"37D51E0100E9")))
-				    (object Link
-					quid       	"39B8D6FD016D"
-					supplier   	"E32"
-					quidu      	"39B8D24F02C8"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39B8D6FD016E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"9.1.2"
-						ordinal    	32)))
-				    (object Link
-					quid       	"39B8DC59015B"
-					supplier   	"$UNNAMED$14"
-					quidu      	"39B8DC240015"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39B8DC59015C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2"
-						ordinal    	37
-						Operation  	"Start(TRequestStatus&)"
-						quidu      	"3780C49F0295")))
-				    (object Link
-					quid       	"39D0ABFA0192"
-					supplier   	"$UNNAMED$10"
-					quidu      	"39B8AD2D00B7"))
-				class      	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-				quidu      	"382193B500F4"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$11"
-				quid       	"39B8CCC1011F"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8CE6C00A1"
-					supplier   	"$UNNAMED$11"
-					quidu      	"39B8CCC1011F"
-					messages   	(list Messages
-					    (object Message "DoRunL()"
-						quid       	"39B8D0D6001D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7.1"
-						ordinal    	19)
-					    (object Message "Complete()"
-						quid       	"39B8D0EF0204"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7.2"
-						ordinal    	20)
-					    (object Message "DoComplete()"
-						quid       	"39B8D11100CC"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7.2.1"
-						ordinal    	21)
-					    (object Message "DoRunL()"
-						quid       	"39D0A9CD017D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"23.1"
-						ordinal    	79)
-					    (object Message "Complete()"
-						quid       	"39D0A9E30053"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"23.2"
-						ordinal    	80)
-					    (object Message "DoComplete()"
-						quid       	"39D0AA050232"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"23.2.1"
-						ordinal    	81)
-					    (object Message "SetActive()"
-						quid       	"39D0B9060181"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"20.1.1.2"
-						ordinal    	74)))
-				    (object Link
-					quid       	"39B8D4930254"
-					supplier   	"E32"
-					quidu      	"39B8D24F02C8"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39B8D4930255"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7.2.2"
-						ordinal    	22)
-					    (object Message "RequestComplete()"
-						quid       	"39D0A9FB01CA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"23.2.2"
-						ordinal    	82)))
-				    (object Link
-					quid       	"39CF7D7203D6"
-					supplier   	"Event Logging Server"
-					quidu      	"39B8CD8E01F6"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39CF7D7203D7"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.3.2.1.1"
-						ordinal    	14)
-					    (object Message "Asynchronous Server Request"
-						quid       	"39D0B8FA0238"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"20.1.1.1"
-						ordinal    	73))))
-				class      	"Logical View::SMS UTILS::SMS LOGGING::CSmsEventLogger"
-				quidu      	"38B2B5130078"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "Event Logging Server"
-				quid       	"39B8CD8E01F6"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8CDCF00FF"
-					supplier   	"$UNNAMED$10"
-					quidu      	"39B8AD2D00B7")
-				    (object Link
-					quid       	"39B8D078031B"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7CBD702DF")
-				    (object Link
-					quid       	"39B8D4170133"
-					supplier   	"E32"
-					quidu      	"39B8D24F02C8"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39B8D4170134"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5"
-						ordinal    	16)
-					    (object Message "RequestComplete()"
-						quid       	"39D0A93A0014"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"21"
-						ordinal    	76))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "E32"
-				quid       	"39B8D24F02C8"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8D46002F1"
-					supplier   	"ESOCK Framework"
-					quidu      	"39B7CBD702DF"
-					messages   	(list Messages
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39B8D46002F2"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"6"
-						ordinal    	17)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39B8D4A60266"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"8"
-						ordinal    	23)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39B8DB210094"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"10"
-						ordinal    	34)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39B914910188"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"13"
-						ordinal    	48)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39D09B3B035B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"15"
-						ordinal    	56)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39D09F8E02EE"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"17"
-						ordinal    	62)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39D0A50E0311"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"19"
-						ordinal    	69)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39D0A95403B4"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"22"
-						ordinal    	77)
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39D0AA3F0272"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"24"
-						ordinal    	83)
-					    (object Message "RMessage::Complete()"
-						quid       	"39D0BD2702DF"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"25.2.2.1.1.1.1"
-						ordinal    	93)))
-				    (object Link
-					quid       	"39D0BD650298"
-					supplier   	"$UNNAMED$8"
-					quidu      	"39B7CAD30187"
-					messages   	(list Messages
-					    (object Message "Asynchronous Request Completion Event"
-						quid       	"39D0BD650299"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"26"
-						ordinal    	98))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$17"
-				quid       	"39B8D61A0076"
-				class      	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore"
-				quidu      	"377CA18801C2"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$19"
-				quid       	"39B8D63401B4"
-				class      	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-				quidu      	"35E3DBB702F4"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$14"
-				quid       	"39B8DC240015"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8DC8B03C0"
-					supplier   	"$UNNAMED$14"
-					quidu      	"39B8DC240015"
-					messages   	(list Messages
-					    (object Message "SendTry()"
-						quid       	"39B8DC8B03C1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.1"
-						ordinal    	38)
-					    (object Message "SetActive()"
-						quid       	"39B8DCCF0093"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.3"
-						ordinal    	45)
-					    (object Message "DoRunL()"
-						quid       	"39D09F4F0316"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"16.1"
-						ordinal    	58)
-					    (object Message "Complete()"
-						quid       	"39D09F5A0109"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"16.2"
-						ordinal    	59)
-					    (object Message "DoComplete"
-						quid       	"39D09F630347"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"16.2.1"
-						ordinal    	60)))
-				    (object Link
-					quid       	"39B8DCB500EF"
-					supplier   	"$UNNAMED$13"
-					quidu      	"39B8DCA803D6"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39B8DCB500F0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.2"
-						ordinal    	39)))
-				    (object Link
-					quid       	"39D09F7702EB"
-					supplier   	"E32"
-					quidu      	"39B8D24F02C8"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D09F7702EC"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"16.3"
-						ordinal    	61))))
-				class      	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsPDUSend"
-				quidu      	"3780C15800B1"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$13"
-				quid       	"39B8DCA803D6"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8DDB7017D"
-					supplier   	"$UNNAMED$20"
-					quidu      	"39B8DDA5037F"
-					messages   	(list Messages
-					    (object Message "SendAdvSmsMessage()"
-						quid       	"39B8DDB7017E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.2.1"
-						ordinal    	40)))
-				    (object Link
-					quid       	"39B8DE040250"
-					supplier   	"$UNNAMED$13"
-					quidu      	"39B8DCA803D6"
-					messages   	(list Messages
-					    (object Message "Queue()"
-						quid       	"39B8DE040251"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.2.2"
-						ordinal    	42)
-					    (object Message "TimedSetActive()"
-						quid       	"39B8DEE60241"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.2.3"
-						ordinal    	43)
-					    (object Message "DoRunL()"
-						quid       	"39D099B40330"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"14.1"
-						ordinal    	50)
-					    (object Message "DecodeSubmitReportL()"
-						quid       	"39D09A350051"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"14.1.1"
-						ordinal    	51)
-					    (object Message "Complete()"
-						quid       	"39D09ADC0001"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"14.2"
-						ordinal    	53)
-					    (object Message "DoComplete()"
-						quid       	"39D09AEA00C9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"14.2.1"
-						ordinal    	54)
-					    (object Message "UpdateLogServerEvent()"
-						quid       	"39D0B89100BA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"20.1"
-						ordinal    	71)
-					    (object Message "SetActive()"
-						quid       	"39D0B8D8018F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"20.1.2"
-						ordinal    	75)
-					    (object Message "UpdateSegmentationStore()"
-						quid       	"39D0B9F201C6"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"18.1"
-						ordinal    	64)
-					    (object Message "DoUpdateSegmentationStore()"
-						quid       	"39D0BA0100F6"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"18.1.1"
-						ordinal    	65)
-					    (object Message "SetActive()"
-						quid       	"39D0BA7801A1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"18.3"
-						ordinal    	68)))
-				    (object Link
-					quid       	"39B912DB0247"
-					supplier   	"$UNNAMED$21"
-					quidu      	"39B912760089"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39B912DB0251"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.2.3.1"
-						ordinal    	44)))
-				    (object Link
-					quid       	"39D09A7E0273"
-					supplier   	"$UNNAMED$19"
-					quidu      	"39B8D63401B4"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D09A7E0274"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"14.1.1.1"
-						ordinal    	52)))
-				    (object Link
-					quid       	"39D09B1E038B"
-					supplier   	"E32"
-					quidu      	"39B8D24F02C8"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D09B1E038C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"14.3"
-						ordinal    	55)
-					    (object Message "RequestComplete()"
-						quid       	"39D0BA550147"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"18.2"
-						ordinal    	67)))
-				    (object Link
-					quid       	"39D0B8A103D5"
-					supplier   	"$UNNAMED$11"
-					quidu      	"39B8CCC1011F"
-					messages   	(list Messages
-					    (object Message "ChangeEvent()"
-						quid       	"39D0B8A103D6"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"20.1.1"
-						ordinal    	72
-						Operation  	"ChangeEvent(TRequestStatus&, const CSmsMessage&, TLogSmsPduData, TInt*)"
-						quidu      	"38B2BFFF0152")))
-				    (object Link
-					quid       	"39D0BA1B0175"
-					supplier   	"$UNNAMED$17"
-					quidu      	"39B8D61A0076"
-					messages   	(list Messages
-					    (object Message "AddReferenceL()"
-						quid       	"39D0BA1B0176"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"18.1.1.1"
-						ordinal    	66
-						Operation  	"AddReferenceL(const CSmsMessage&, TInt)"
-						quidu      	"37D51E21002D"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsSendTry"
-				quidu      	"3821986E02B9"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$20"
-				quid       	"39B8DDA5037F"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B8DE240396"
-					supplier   	"ETEL Server"
-					quidu      	"39B8DE0A0321"
-					messages   	(list Messages
-					    (object Message "Asynchronous Server Request"
-						quid       	"39B8DE240397"
-						frequency  	"Aperiodic"
-						synchronization 	"Asynchronous"
-						dir        	"FromClientToSupplier"
-						sequence   	"11.2.2.1.1"
-						ordinal    	41))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RAdvSmsMessaging"
-				quidu      	"39B8DD960111"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ETEL Server"
-				quid       	"39B8DE0A0321"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39B9146F000D"
-					supplier   	"E32"
-					quidu      	"39B8D24F02C8"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39B9146F000E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"12"
-						ordinal    	47))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$21"
-				quid       	"39B912760089"
-				class      	"Logical View::SMS PROTOCOL MODULE::CSmsTimeout"
-				quidu      	"39B9129E0203"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$18"
-				quid       	"39D0B77400CF"
-				class      	"Logical View::SMS UTILS::SMS LOGGING::CSmsSendLogger"
-				quidu      	"39B8D96202B8"
-				persistence 	"Transient"
-				multi      	FALSE)))
-		    (object Mechanism @4
-			logical_models 	(list unit_reference_list
-			    (object Object "$UNNAMED$22"
-				quid       	"39D0DC020193"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D0DC62034A"
-					supplier   	"RSocket"
-					quidu      	"39D0DC1301B6"
-					messages   	(list Messages
-					    (object Message "Open()"
-						quid       	"39D0DC62034B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1"
-						ordinal    	0)
-					    (object Message "Bind()"
-						quid       	"39D1DF430089"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5"
-						ordinal    	86))))
-				class      	"Use Case View::SMS Protocol::SMS Protocol Client"
-				quidu      	"39B77F980260"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSocket"
-				quid       	"39D0DC1301B6"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D0DC6E003A"
-					supplier   	"ESOCK Framework"
-					quidu      	"39D0DC1F02DF"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D0DC6E003B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1"
-						ordinal    	1)
-					    (object Message "Synch Server Request"
-						quid       	"39D1DF55005D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1"
-						ordinal    	87))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ESOCK Framework"
-				quid       	"39D0DC1F02DF"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D0DD4501AC"
-					supplier   	"$UNNAMED$23"
-					quidu      	"39D0DC2C0035"
-					messages   	(list Messages
-					    (object Message "SetLocalName()"
-						quid       	"39D1E0CF01B5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1"
-						ordinal    	88
-						Operation  	"SetLocalName(TSockAddr&)"
-						quidu      	"3781E14D0349")))
-				    (object Link
-					quid       	"39D0DDB00318"
-					supplier   	"$UNNAMED$24"
-					quidu      	"39D0DD5300B1"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D0DDB00319"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.1"
-						ordinal    	2)
-					    (object Message "NewProtocolL()"
-						quid       	"39D0DE6B000A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2"
-						ordinal    	3
-						Operation  	"NewProtocolL(TUint, TUint)"
-						quidu      	"3781BDF20201")))
-				    (object Link
-					quid       	"39D1CA20015A"
-					supplier   	"$UNNAMED$25"
-					quidu      	"39D0DC4301F1"
-					messages   	(list Messages
-					    (object Message "InitL()"
-						quid       	"39D1CA20015B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2"
-						ordinal    	29
-						Operation  	"InitL( )"
-						quidu      	"38B2CEDE00B6")
-					    (object Message "NewSAPL()"
-						quid       	"39D1DC08030A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4"
-						ordinal    	81
-						Operation  	"NewSAPL(TUint)"
-						quidu      	"38B2CEDE027B")
-					    (object Message "StartL()"
-						quid       	"39D1E070033F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3"
-						ordinal    	80
-						Operation  	"StartL( )"
-						quidu      	"38B2CEDE00D5"))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$23"
-				quid       	"39D0DC2C0035"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1DC3E0330"
-					supplier   	"$UNNAMED$23"
-					quidu      	"39D0DC2C0035"
-					messages   	(list Messages
-					    (object Message "ConstructL()"
-						quid       	"39D1DC3E0331"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.1.1"
-						ordinal    	83)
-					    (object Message "SetObserverAddedToProtocol(ETrue)"
-						quid       	"39D1DC7B0338"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.1.1.2"
-						ordinal    	85))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-				quidu      	"3780BA620276"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$25"
-				quid       	"39D0DC4301F1"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D0DEAE025F"
-					supplier   	"$UNNAMED$25"
-					quidu      	"39D0DC4301F1"
-					messages   	(list Messages
-					    (object Message "ContructL()"
-						quid       	"39D0DEAE0260"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1"
-						ordinal    	5)
-					    (object Message "SmsAddrIsDuplicate()"
-						quid       	"39D1E1000273"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1.1.1"
-						ordinal    	90)
-					    (object Message "ProcessCompleteSmsMessagesL()"
-						quid       	"39D1E16C00E8"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1.1.3"
-						ordinal    	93)))
-				    (object Link
-					quid       	"39D0DED301FE"
-					supplier   	"RFs"
-					quidu      	"39D0DEC001B1"
-					messages   	(list Messages
-					    (object Message "Connect()"
-						quid       	"39D0DED301FF"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.1"
-						ordinal    	6)))
-				    (object Link
-					quid       	"39D0DF3F031C"
-					supplier   	"$UNNAMED$26"
-					quidu      	"39D0DF1C0109"
-					messages   	(list Messages
-					    (object Message "NewL(RFs&)"
-						quid       	"39D0DF3F031D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.2"
-						ordinal    	8
-						quidu      	"3A6435AE02B0")
-					    (object Message "OpenL()"
-						quid       	"39D0DF4F030B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.3"
-						ordinal    	9
-						Operation  	"OpenL(const TDesC&, TUid)"
-						quidu      	"37A0129F00AD")
-					    (object Message "PurgeL(TTimeIntervalMinutes&, TBool)"
-						quid       	"39D0DF590084"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.4"
-						ordinal    	10
-						quidu      	"37A012DD01E5")
-					    (object Message "Entries()"
-						quid       	"39D1E1AE00CF"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1.1.3.1"
-						ordinal    	94
-						Operation  	"Entries( )"
-						quidu      	"37A012DD00FB")))
-				    (object Link
-					quid       	"39D1C4010193"
-					supplier   	"$UNNAMED$27"
-					quidu      	"39D0DEFA0092"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C4010194"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.5"
-						ordinal    	11
-						Operation  	"NewL(RFs&)"
-						quidu      	"3A6434BF0085")
-					    (object Message "OpenL()"
-						quid       	"39D1C41E00EB"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.6"
-						ordinal    	12
-						Operation  	"OpenL(const TDesC&, TUid)"
-						quidu      	"37A0129F00AD")
-					    (object Message "PurgeL(TTimeIntervalMinutes&, TBool)"
-						quid       	"39D1C45C032F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.7"
-						ordinal    	13
-						quidu      	"37A012DD01E5")))
-				    (object Link
-					quid       	"39D1C55103BD"
-					supplier   	"$UNNAMED$28"
-					quidu      	"39D1C48301A4"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C55103BE"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.8"
-						ordinal    	14)))
-				    (object Link
-					quid       	"39D1C87801C9"
-					supplier   	"$UNNAMED$29"
-					quidu      	"39D1C57D0186"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C87801CA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.9"
-						ordinal    	15)))
-				    (object Link
-					quid       	"39D1C88A0110"
-					supplier   	"$UNNAMED$30"
-					quidu      	"39D1C5EB033C"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C88A0111"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.10"
-						ordinal    	16)
-					    (object Message "Start()"
-						quid       	"39D1D05E0357"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.14"
-						ordinal    	56)))
-				    (object Link
-					quid       	"39D1C89702E6"
-					supplier   	"$UNNAMED$31"
-					quidu      	"39D1C675009C"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C89702E7"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.12"
-						ordinal    	18)))
-				    (object Link
-					quid       	"39D1C8A301FD"
-					supplier   	"$UNNAMED$32"
-					quidu      	"39D1C6910114"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8A301FE"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.13"
-						ordinal    	19)
-					    (object Message "Start()"
-						quid       	"39D1DA0C03BE"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.18"
-						ordinal    	72)))
-				    (object Link
-					quid       	"39D1C8B2010E"
-					supplier   	"$UNNAMED$33"
-					quidu      	"39D1C6D402A1"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8B2010F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.14"
-						ordinal    	20)))
-				    (object Link
-					quid       	"39D1C8C30163"
-					supplier   	"$UNNAMED$34"
-					quidu      	"39D1C70102BA"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8C30164"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.15"
-						ordinal    	21)
-					    (object Message "Start()"
-						quid       	"39D1D10E01A1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.15"
-						ordinal    	60)))
-				    (object Link
-					quid       	"39D1C8D00298"
-					supplier   	"$UNNAMED$35"
-					quidu      	"39D1C7480352"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8D00299"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.16"
-						ordinal    	22)
-					    (object Message "Start()"
-						quid       	"39D1D2DC039A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.17"
-						ordinal    	66)))
-				    (object Link
-					quid       	"39D1C8D701CF"
-					supplier   	"$UNNAMED$36"
-					quidu      	"39D1C76A02F7"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8D701D0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.17"
-						ordinal    	23)
-					    (object Message "Start()"
-						quid       	"39D1DAA80033"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.19"
-						ordinal    	76
-						Operation  	"Start(TRequestStatus&)"
-						quidu      	"37D51AAB027F")))
-				    (object Link
-					quid       	"39D1C8E1007F"
-					supplier   	"$UNNAMED$37"
-					quidu      	"39D1C77B017F"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8E10080"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.18"
-						ordinal    	24)))
-				    (object Link
-					quid       	"39D1C8EE020F"
-					supplier   	"$UNNAMED$38"
-					quidu      	"39D1C79E0248"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8EE0210"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.19"
-						ordinal    	25)))
-				    (object Link
-					quid       	"39D1C8FA03C4"
-					supplier   	"$UNNAMED$39"
-					quidu      	"39D1C7B6010C"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C8FA03C5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.20"
-						ordinal    	26)))
-				    (object Link
-					quid       	"39D1C905026C"
-					supplier   	"$UNNAMED$40"
-					quidu      	"39D1C82603D4"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C905026D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.21"
-						ordinal    	27)))
-				    (object Link
-					quid       	"39D1C9110309"
-					supplier   	"$UNNAMED$41"
-					quidu      	"39D1C85300A3"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C911030A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.22"
-						ordinal    	28)))
-				    (object Link
-					quid       	"39D1C94500A1"
-					supplier   	"$UNNAMED$42"
-					quidu      	"39D1C661002F"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1C94500A2"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.11"
-						ordinal    	17)))
-				    (object Link
-					quid       	"39D1CCFB029C"
-					supplier   	"CCommsDatabase"
-					quidu      	"39D1CBCC01F6"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1CCFB029D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.1"
-						ordinal    	30)
-					    (object Message "GetCurrentDialOutSetting()"
-						quid       	"39D1CD130034"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.2"
-						ordinal    	32)
-					    (object Message "OpenViewMatchingUintLC()"
-						quid       	"39D1CD5D01FD"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.3"
-						ordinal    	34)))
-				    (object Link
-					quid       	"39D1CD7E0074"
-					supplier   	"CCommsDbTableView"
-					quidu      	"39D1CBEA018B"
-					messages   	(list Messages
-					    (object Message "GotoFirstRecord()"
-						quid       	"39D1CD7E0075"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.4"
-						ordinal    	36)
-					    (object Message "ReadTextL()"
-						quid       	"39D1CD8F029F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.5"
-						ordinal    	38)))
-				    (object Link
-					quid       	"39D1CDF101F5"
-					supplier   	"$UNNAMED$43"
-					quidu      	"39D1CC3C0392"
-					messages   	(list Messages
-					    (object Message "Connect()"
-						quid       	"39D1CDF101F6"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.6"
-						ordinal    	40)
-					    (object Message "LoadPhoneModule()"
-						quid       	"39D1CE13038F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.7"
-						ordinal    	42)
-					    (object Message "EnumeratePhones()"
-						quid       	"39D1CE32002C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.8"
-						ordinal    	44)
-					    (object Message "GetPhoneInfo()"
-						quid       	"39D1CECD00F7"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.9"
-						ordinal    	46)
-					    (object Message "GetTsyName()"
-						quid       	"39D1CEE103A9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.10"
-						ordinal    	48)))
-				    (object Link
-					quid       	"39D1CF590289"
-					supplier   	"$UNNAMED$44"
-					quidu      	"39D1CF2D0236"
-					messages   	(list Messages
-					    (object Message "Open()"
-						quid       	"39D1CF59028A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.11"
-						ordinal    	50)
-					    (object Message "GetStatus()"
-						quid       	"39D1D23702AD"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.16"
-						ordinal    	64)))
-				    (object Link
-					quid       	"39D1D0110161"
-					supplier   	"$UNNAMED$45"
-					quidu      	"39D1CF2F01DF"
-					messages   	(list Messages
-					    (object Message "Open()"
-						quid       	"39D1D0110162"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.12"
-						ordinal    	52)
-					    (object Message "GetSmsReportResponsibility()"
-						quid       	"39D1D028022D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.13"
-						ordinal    	54)))
-				    (object Link
-					quid       	"39D1DC2202E0"
-					supplier   	"$UNNAMED$23"
-					quidu      	"39D0DC2C0035"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D1DC2202E1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.1"
-						ordinal    	82)
-					    (object Message "AddSmsMessageObserverL()"
-						quid       	"39D1DC59011C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"4.1.1.1"
-						ordinal    	84
-						Operation  	"AddSmsMessageObserverL(MSmsMessageObserver&)"
-						quidu      	"38B2CFD50308")
-					    (object Message "BindSmsMessageObserver()"
-						quid       	"39D1E0E302EA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"5.1.1.1"
-						ordinal    	89
-						Operation  	"BindSmsMessageObserver(MSmsMessageObserver&, const TSmsAddr&)"
-						quidu      	"38B2CFE30104")
-					    (object Message "GetLocalAddress()"
-						quid       	"39D1E12C00F0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1.1.1.1"
-						ordinal    	91
-						Operation  	"GetLocalAddress( )"
-						quidu      	"38B2CD2A028B")
-					    (object Message "SetLocalAddress()"
-						quid       	"39D1E150039B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1.1.2"
-						ordinal    	92
-						Operation  	"SetLocalAddress(const TSmsAddr&)"
-						quidu      	"38B2CD2A029A"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$24"
-				quid       	"39D0DD5300B1"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D0DE8A0253"
-					supplier   	"$UNNAMED$25"
-					quidu      	"39D0DC4301F1"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D0DE8A0254"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1"
-						ordinal    	4))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocolFamily"
-				quidu      	"3780BA5F0295"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RFs"
-				quid       	"39D0DEC001B1"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D89100E8"
-					supplier   	"F32"
-					quidu      	"39D1D85601C0"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D1D89100E9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.2.1.1.1.1"
-						ordinal    	7))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$27"
-				quid       	"39D0DEFA0092"
-				class      	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore"
-				quidu      	"377CA18801C2"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$26"
-				quid       	"39D0DF1C0109"
-				class      	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore"
-				quidu      	"375BE9D80396"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$28"
-				quid       	"39D1C48301A4"
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage"
-				quidu      	"37D7D6120241"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$29"
-				quid       	"39D1C57D0186"
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsPhoneInitialization"
-				quidu      	"39D1C5B302E2"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$30"
-				quid       	"39D1C5EB033C"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D08E0161"
-					supplier   	"$UNNAMED$44"
-					quidu      	"39D1CF2D0236"
-					messages   	(list Messages
-					    (object Message "NotifyModemDetected()"
-						quid       	"39D1D08E0162"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.14.1"
-						ordinal    	57)))
-				    (object Link
-					quid       	"39D1D09E01E6"
-					supplier   	"$UNNAMED$30"
-					quidu      	"39D1C5EB033C"
-					messages   	(list Messages
-					    (object Message "SetActive()"
-						quid       	"39D1D09E01E7"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.14.2"
-						ordinal    	59))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsModemNotification"
-				quidu      	"39D1C62C03AE"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$42"
-				quid       	"39D1C661002F"
-				class      	"Logical View::SMS PROTOCOL MODULE::SERVICE CENTER ADDRESS::CSmsSCAddress"
-				quidu      	"39B7851702E5"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$31"
-				quid       	"39D1C675009C"
-				class      	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-				quidu      	"382193B500F4"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$32"
-				quid       	"39D1C6910114"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1DA2600EB"
-					supplier   	"$UNNAMED$45"
-					quidu      	"39D1CF2F01DF"
-					messages   	(list Messages
-					    (object Message "NotifySmsEvent()"
-						quid       	"39D1DA2600EC"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.18.1"
-						ordinal    	73)))
-				    (object Link
-					quid       	"39D1DA5B0051"
-					supplier   	"$UNNAMED$32"
-					quidu      	"39D1C6910114"
-					messages   	(list Messages
-					    (object Message "SetActive()"
-						quid       	"39D1DA5B0052"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.18.2"
-						ordinal    	75))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsEventNotification"
-				quidu      	"39D1C69C012E"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$33"
-				quid       	"39D1C6D402A1"
-				class      	"Logical View::SMS UTILS::SMS LOGGING::CSmsSendLogger"
-				quidu      	"39B8D96202B8"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$34"
-				quid       	"39D1C70102BA"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D18201EE"
-					supplier   	"RSystemAgent"
-					quidu      	"39D1D15B02A6"
-					messages   	(list Messages
-					    (object Message "NotifyOnEvent()"
-						quid       	"39D1D18201EF"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.15.1"
-						ordinal    	61)))
-				    (object Link
-					quid       	"39D1D19F0308"
-					supplier   	"$UNNAMED$34"
-					quidu      	"39D1C70102BA"
-					messages   	(list Messages
-					    (object Message "SetActive()"
-						quid       	"39D1D19F0309"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.15.2"
-						ordinal    	63))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsCommDBEvent"
-				quidu      	"39D1C70C005D"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$35"
-				quid       	"39D1C7480352"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D71C02CD"
-					supplier   	"$UNNAMED$35"
-					quidu      	"39D1C7480352"
-					messages   	(list Messages
-					    (object Message "OpenGprsSession()"
-						quid       	"39D1D71C02CE"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.17.1"
-						ordinal    	67)
-					    (object Message "SetActive()"
-						quid       	"39D1D7BE0171"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.17.1.3"
-						ordinal    	71)))
-				    (object Link
-					quid       	"39D1D74602E1"
-					supplier   	"$UNNAMED$46"
-					quidu      	"39D1D6300291"
-					messages   	(list Messages
-					    (object Message "Open()"
-						quid       	"39D1D74602E2"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.17.1.1"
-						ordinal    	68)))
-				    (object Link
-					quid       	"39D1D7AA01FE"
-					supplier   	"E32"
-					quidu      	"39D1D7910299"
-					messages   	(list Messages
-					    (object Message "User::RequestComplete()"
-						quid       	"39D1D7AA01FF"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.17.1.2"
-						ordinal    	70))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsSetBearer"
-				quidu      	"39D1C73E01F9"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$36"
-				quid       	"39D1C76A02F7"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1DAC0033B"
-					supplier   	"$UNNAMED$45"
-					quidu      	"39D1CF2F01DF"
-					messages   	(list Messages
-					    (object Message "ReadSmsMessage()"
-						quid       	"39D1DAC0033C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.19.1"
-						ordinal    	77)))
-				    (object Link
-					quid       	"39D1DAE6034A"
-					supplier   	"$UNNAMED$36"
-					quidu      	"39D1C76A02F7"
-					messages   	(list Messages
-					    (object Message "SetActive()"
-						quid       	"39D1DAE6034B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.19.2"
-						ordinal    	79))))
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-				quidu      	"37D3BE8E026D"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$37"
-				quid       	"39D1C77B017F"
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-				quidu      	"3829955C02AD"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$38"
-				quid       	"39D1C79E0248"
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-				quidu      	"38352E9F023A"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$39"
-				quid       	"39D1C7B6010C"
-				class      	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration"
-				quidu      	"3780C11703AF"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$40"
-				quid       	"39D1C82603D4"
-				class      	"Logical View::SMS PROTOCOL MODULE::WRITING::CSmsMessageWrite"
-				quidu      	"39D1C81000C5"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$41"
-				quid       	"39D1C85300A3"
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUDelete"
-				quidu      	"37D7BF950222"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "CCommsDatabase"
-				quid       	"39D1CBCC01F6"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D50300C2"
-					supplier   	"DBMS Server"
-					quidu      	"39D1D49503DB"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D1D50300C3"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.1.1"
-						ordinal    	31)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D50D02CF"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.2.1"
-						ordinal    	33)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D5160231"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.3.1"
-						ordinal    	35))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "CCommsDbTableView"
-				quid       	"39D1CBEA018B"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D52303B7"
-					supplier   	"DBMS Server"
-					quidu      	"39D1D49503DB"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D1D52303B8"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.4.1"
-						ordinal    	37)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D5370149"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.5.1"
-						ordinal    	39))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$43"
-				quid       	"39D1CC3C0392"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D3CA0270"
-					supplier   	"ETEL"
-					quidu      	"39D1D33102CA"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D1D3CA0271"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.6.1"
-						ordinal    	41)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D3D503C0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.7.1"
-						ordinal    	43)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D3E00286"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.8.1"
-						ordinal    	45)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D3EB0033"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.9.1"
-						ordinal    	47)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D3F50240"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.10.1"
-						ordinal    	49))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RTelServer"
-				quidu      	"3780BCC600FF"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$44"
-				quid       	"39D1CF2D0236"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D38A01D8"
-					supplier   	"ETEL"
-					quidu      	"39D1D33102CA"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D1D38A01D9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.14.1.1"
-						ordinal    	58)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D66D02D5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.11.1"
-						ordinal    	51)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D6B401D3"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.16.1"
-						ordinal    	65))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RBasicGsmPhone"
-				quidu      	"3780BCDD00F0"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$45"
-				quid       	"39D1CF2F01DF"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D67202FA"
-					supplier   	"ETEL"
-					quidu      	"39D1D33102CA"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D1D67202FB"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.12.1"
-						ordinal    	53)
-					    (object Message "Synch Server Request"
-						quid       	"39D1D675033B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.13.1"
-						ordinal    	55)
-					    (object Message "Asynch Server Request"
-						quid       	"39D1DA390337"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.18.1.1"
-						ordinal    	74)
-					    (object Message "Asynch Server Request"
-						quid       	"39D1DAD50178"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.19.1.1"
-						ordinal    	78))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RAdvSmsMessaging"
-				quidu      	"39B8DD960111"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSystemAgent"
-				quid       	"39D1D15B02A6"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D39B0331"
-					supplier   	"SYSAGENT"
-					quidu      	"39D1D35C015A"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D1D39B0332"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.15.1.1"
-						ordinal    	62))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ETEL"
-				quid       	"39D1D33102CA"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "SYSAGENT"
-				quid       	"39D1D35C015A"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "DBMS Server"
-				quid       	"39D1D49503DB"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$46"
-				quid       	"39D1D6300291"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1D7570173"
-					supplier   	"ETEL"
-					quidu      	"39D1D33102CA"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D1D7570174"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2.17.1.1.1"
-						ordinal    	69))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RGprs"
-				quidu      	"39D1D62B0081"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "E32"
-				quid       	"39D1D7910299"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "F32"
-				quid       	"39D1D85601C0"
-				persistence 	"Transient"
-				multi      	FALSE)))
-		    (object Mechanism @5
-			logical_models 	(list unit_reference_list))
-		    (object Mechanism @6
-			logical_models 	(list unit_reference_list))
-		    (object Mechanism @7
-			logical_models 	(list unit_reference_list))
-		    (object Mechanism @8
-			logical_models 	(list unit_reference_list))
-		    (object Mechanism @9
-			logical_models 	(list unit_reference_list
-			    (object Object "$UNNAMED$47"
-				quid       	"39D1F3C302CA"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1F73A031F"
-					supplier   	"CCommsDatabase"
-					quidu      	"39D1F3DA0100"
-					messages   	(list Messages
-					    (object Message "SetGlobalSettingL()"
-						quid       	"39D1F73A0320"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1"
-						ordinal    	0))))
-				class      	"Use Case View::SMS Protocol::Comm DB Client"
-				quidu      	"39D1F3B9021B"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "CCommsDatabase"
-				quid       	"39D1F3DA0100"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1F7510188"
-					supplier   	"RSAVarChangeNotify"
-					quidu      	"39D1F3F6007E"
-					messages   	(list Messages
-					    (object Message "NotifySaVarChangeL()"
-						quid       	"39D1F7510189"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1"
-						ordinal    	1))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "RSAVarChangeNotify"
-				quid       	"39D1F3F6007E"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1F7A102E1"
-					supplier   	"SYSAGENT"
-					quidu      	"39D1F6F1037F"
-					messages   	(list Messages
-					    (object Message "Synch Server Request"
-						quid       	"39D1F7A102E2"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.1"
-						ordinal    	2))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "SYSAGENT"
-				quid       	"39D1F6F1037F"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1F98F0115"
-					supplier   	"E32"
-					quidu      	"39D1F971034D"
-					messages   	(list Messages
-					    (object Message "RMessage::Complete()"
-						quid       	"39D1F98F0116"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1.1.1.1"
-						ordinal    	3))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "E32"
-				quid       	"39D1F971034D"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1FA1D0155"
-					supplier   	"ESOCK Framework"
-					quidu      	"39D1F9E70338"
-					messages   	(list Messages
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D1FA1D0156"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2"
-						ordinal    	4)
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D365670027"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4"
-						ordinal    	16)
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D366CB00B6"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"7"
-						ordinal    	23))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ESOCK Framework"
-				quid       	"39D1F9E70338"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1FBD802E3"
-					supplier   	"$UNNAMED$48"
-					quidu      	"39D1FBC80344"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39D1FBD802E4"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3"
-						ordinal    	5)))
-				    (object Link
-					quid       	"39D365860090"
-					supplier   	"$UNNAMED$49"
-					quidu      	"39D1FC56015E"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39D365860091"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5"
-						ordinal    	17)
-					    (object Message "RunL()"
-						quid       	"39D367040342"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"8"
-						ordinal    	24))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$48"
-				quid       	"39D1FBC80344"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1FBEC00B1"
-					supplier   	"$UNNAMED$48"
-					quidu      	"39D1FBC80344"
-					messages   	(list Messages
-					    (object Message "Complete()"
-						quid       	"39D1FBEC00B2"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1"
-						ordinal    	6)))
-				    (object Link
-					quid       	"39D1FC1501A0"
-					supplier   	"$UNNAMED$50"
-					quidu      	"39D1FBFE03B0"
-					messages   	(list Messages
-					    (object Message "CommDBEvent()"
-						quid       	"39D1FC1501A1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1"
-						ordinal    	7)
-					    (object Message "Start()"
-						quid       	"39D365B90397"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"3.1.1.2"
-						ordinal    	15))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsCommDBEvent"
-				quidu      	"39D1C70C005D"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$50"
-				quid       	"39D1FBFE03B0"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D1FC7D0164"
-					supplier   	"$UNNAMED$49"
-					quidu      	"39D1FC56015E"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39D1FC7D0165"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1"
-						ordinal    	8))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$49"
-				quid       	"39D1FC56015E"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D364B0010B"
-					supplier   	"$UNNAMED$49"
-					quidu      	"39D1FC56015E"
-					messages   	(list Messages
-					    (object Message "QueryCommDbSmsBearer()"
-						quid       	"39D364B0010C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1"
-						ordinal    	9)
-					    (object Message "GetCurrentCommDbSmsBearerL()"
-						quid       	"39D364DB036F"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1.1"
-						ordinal    	10)
-					    (object Message "SetActive()"
-						quid       	"39D3654A00D0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1.3"
-						ordinal    	14)
-					    (object Message "SetSmsBearer()"
-						quid       	"39D3660503C8"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1"
-						ordinal    	18)
-					    (object Message "SetActive()"
-						quid       	"39D3668600AC"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.2"
-						ordinal    	21)
-					    (object Message "Complete()"
-						quid       	"39D3672C0097"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"8.1"
-						ordinal    	25)))
-				    (object Link
-					quid       	"39D364FA00B7"
-					supplier   	"CCommsDatabase"
-					quidu      	"39D1F3DA0100"
-					messages   	(list Messages
-					    (object Message "NewL()"
-						quid       	"39D364FA00B8"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1.1.1"
-						ordinal    	11)
-					    (object Message "GetGlobalSettingL()"
-						quid       	"39D36515000B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1.1.2"
-						ordinal    	12)))
-				    (object Link
-					quid       	"39D3653A009B"
-					supplier   	"E32"
-					quidu      	"39D1F971034D"
-					messages   	(list Messages
-					    (object Message "User::RequestComplete()"
-						quid       	"39D3653A009C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.1.1.2"
-						ordinal    	13)))
-				    (object Link
-					quid       	"39D36645035C"
-					supplier   	"$UNNAMED$51"
-					quidu      	"39D366340339"
-					messages   	(list Messages
-					    (object Message "SetSmsBearer()"
-						quid       	"39D36645035D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1"
-						ordinal    	19))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsSetBearer"
-				quidu      	"39D1C73E01F9"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$51"
-				quid       	"39D366340339"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D3667203B1"
-					supplier   	"ETEL"
-					quidu      	"39D36658038B"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D3667203B2"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1.1.1"
-						ordinal    	20))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RGprs"
-				quidu      	"39D1D62B0081"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ETEL"
-				quid       	"39D36658038B"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D366A202F1"
-					supplier   	"E32"
-					quidu      	"39D1F971034D"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D366A202F2"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"6"
-						ordinal    	22))))
-				persistence 	"Transient"
-				multi      	FALSE)))
-		    (object Mechanism @10
-			logical_models 	(list unit_reference_list))
-		    (object Mechanism @11
-			logical_models 	(list unit_reference_list
-			    (object Object "ETEL"
-				quid       	"39D36AE901A1"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D36B8B02C7"
-					supplier   	"ESOCK Framework"
-					quidu      	"39D36B17023E")
-				    (object Link
-					quid       	"39D36BFE00AF"
-					supplier   	"E32"
-					quidu      	"39D36BD40394"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D36BFE00B0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1"
-						ordinal    	0))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "ESOCK Framework"
-				quid       	"39D36B17023E"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D36C4C0184"
-					supplier   	"$UNNAMED$52"
-					quidu      	"39D36B83008A"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39D36C4C0185"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3"
-						ordinal    	2))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$52"
-				quid       	"39D36B83008A"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D36C670179"
-					supplier   	"$UNNAMED$52"
-					quidu      	"39D36B83008A"
-					messages   	(list Messages
-					    (object Message "Complete()"
-						quid       	"39D36C67017A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1"
-						ordinal    	3)
-					    (object Message "SetActive()"
-						quid       	"39D4749F01CA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.6.2"
-						ordinal    	24)))
-				    (object Link
-					quid       	"39D36CB9019F"
-					supplier   	"$UNNAMED$53"
-					quidu      	"39D36C7E0334"
-					messages   	(list Messages
-					    (object Message "ModemNotificationCompleted()"
-						quid       	"39D36CB901A0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1"
-						ordinal    	4
-						Operation  	"ModemNotificationCompleted(TInt)"
-						quidu      	"38B2CEDF0068")
-					    (object Message "ModemDetection()"
-						quid       	"39D46CE4016B"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"3.1.1.1"
-						ordinal    	5)
-					    (object Message "Start()"
-						quid       	"39D4742F0378"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"3.1.1.6"
-						ordinal    	21)))
-				    (object Link
-					quid       	"39D47473025D"
-					supplier   	"$UNNAMED$54"
-					quidu      	"39D4745D032E"
-					messages   	(list Messages
-					    (object Message "NotifyModemDetected()"
-						quid       	"39D47473025E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.6.1"
-						ordinal    	22))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsModemNotification"
-				quidu      	"39D1C62C03AE"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "E32"
-				quid       	"39D36BD40394"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D36C1802AC"
-					supplier   	"ESOCK Framework"
-					quidu      	"39D36B17023E"
-					messages   	(list Messages
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D36C1802AD"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"2"
-						ordinal    	1))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$53"
-				quid       	"39D36C7E0334"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D46D4D0099"
-					supplier   	"$UNNAMED$55"
-					quidu      	"39D46D3C00B3"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39D46D4D00A3"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.2"
-						ordinal    	6)))
-				    (object Link
-					quid       	"39D46E5D03E4"
-					supplier   	"$UNNAMED$56"
-					quidu      	"39D46E4E0189"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39D46E5D03E5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.3"
-						ordinal    	10)))
-				    (object Link
-					quid       	"39D4730E0282"
-					supplier   	"$UNNAMED$57"
-					quidu      	"39D472CF0065"
-					messages   	(list Messages
-					    (object Message "Start()"
-						quid       	"39D4730E0283"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.4"
-						ordinal    	14
-						Operation  	"Start(TRequestStatus&)"
-						quidu      	"37D51AAB027F")))
-				    (object Link
-					quid       	"39D47383038F"
-					supplier   	"$UNNAMED$53"
-					quidu      	"39D36C7E0334"
-					messages   	(list Messages
-					    (object Message "NotifyMessageObservers()"
-						quid       	"39D473830390"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.5"
-						ordinal    	18)))
-				    (object Link
-					quid       	"39D4751F000C"
-					supplier   	"$UNNAMED$58"
-					quidu      	"39D36C8C006D"
-					messages   	(list Messages
-					    (object Message "ModemNotificationCompleted()"
-						quid       	"39D4751F000D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.5.1"
-						ordinal    	19
-						Operation  	"ModemNotificationCompleted(TInt)"
-						quidu      	"38B2CD2A02BA"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$58"
-				quid       	"39D36C8C006D"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D475650229"
-					supplier   	"ESOCK Framework"
-					quidu      	"39D36B17023E"
-					messages   	(list Messages
-					    (object Message "CSocket::Error()"
-						quid       	"39D47565022A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.5.1.1"
-						ordinal    	20))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-				quidu      	"3780BA620276"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$55"
-				quid       	"39D46D3C00B3"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D46D77037F"
-					supplier   	"$UNNAMED$55"
-					quidu      	"39D46D3C00B3"
-					messages   	(list Messages
-					    (object Message "QueryCommDbSmsBearer()"
-						quid       	"39D46D770380"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.2.1"
-						ordinal    	7)
-					    (object Message "SetActive()"
-						quid       	"39D46DFF00D1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.2.1.2"
-						ordinal    	9)))
-				    (object Link
-					quid       	"39D46DF00134"
-					supplier   	"E32"
-					quidu      	"39D36BD40394"
-					messages   	(list Messages
-					    (object Message "User::RequestComplete()"
-						quid       	"39D46DF00135"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.2.1.1"
-						ordinal    	8))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsSetBearer"
-				quidu      	"39D1C73E01F9"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$56"
-				quid       	"39D46E4E0189"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D46EDC0350"
-					supplier   	"$UNNAMED$59"
-					quidu      	"39D46EA301EF"
-					messages   	(list Messages
-					    (object Message "NotifySmsEvent()"
-						quid       	"39D46EDC0351"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.3.1"
-						ordinal    	11)))
-				    (object Link
-					quid       	"39D472990003"
-					supplier   	"$UNNAMED$56"
-					quidu      	"39D46E4E0189"
-					messages   	(list Messages
-					    (object Message "SetActive()"
-						quid       	"39D472990004"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.3.2"
-						ordinal    	13))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsEventNotification"
-				quidu      	"39D1C69C012E"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$59"
-				quid       	"39D46EA301EF"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D4728703DC"
-					supplier   	"ETEL"
-					quidu      	"39D36AE901A1"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D4728703DD"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.3.1.1"
-						ordinal    	12))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RAdvSmsMessaging"
-				quidu      	"39B8DD960111"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$57"
-				quid       	"39D472CF0065"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D4731A0329"
-					supplier   	"$UNNAMED$60"
-					quidu      	"39D472D300F7"
-					messages   	(list Messages
-					    (object Message "ReadSmsMessage()"
-						quid       	"39D4731A032A"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.4.1"
-						ordinal    	15
-						Operation  	"ReadSmsMessage(TRequestStatus&, TMsgLocation&, TSms&)"
-						quidu      	"3780BE5300FF")))
-				    (object Link
-					quid       	"39D4733F0156"
-					supplier   	"$UNNAMED$57"
-					quidu      	"39D472CF0065"
-					messages   	(list Messages
-					    (object Message "SetActive()"
-						quid       	"39D4733F0157"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.4.2"
-						ordinal    	17))))
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-				quidu      	"37D3BE8E026D"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$60"
-				quid       	"39D472D300F7"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D4732C011D"
-					supplier   	"ETEL"
-					quidu      	"39D36AE901A1"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D4732C011E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.4.1.1"
-						ordinal    	16))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-				quidu      	"3780BD850209"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$54"
-				quid       	"39D4745D032E"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D4748400F9"
-					supplier   	"ETEL"
-					quidu      	"39D36AE901A1"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D4748400FA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3.1.1.6.1.1"
-						ordinal    	23))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RPhone"
-				quidu      	"39D4745700B8"
-				persistence 	"Transient"
-				multi      	FALSE)))
-		    (object Mechanism @12
-			logical_models 	(list unit_reference_list
-			    (object Object "ETEL"
-				quid       	"39D47E3F01F5"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D47EEA016F"
-					supplier   	"E32"
-					quidu      	"39D47E5A0050"
-					messages   	(list Messages
-					    (object Message "RequestComplete()"
-						quid       	"39D47EEA0170"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"1"
-						ordinal    	0)
-					    (object Message "Asynch Request Completion Event"
-						quid       	"39D4B0D10107"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"2"
-						ordinal    	1)))
-				    (object Link
-					quid       	"39D4B0EE0235"
-					supplier   	"$UNNAMED$61"
-					quidu      	"39D47E6D0314"
-					messages   	(list Messages
-					    (object Message "RunL()"
-						quid       	"39D4B0EE0236"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"3"
-						ordinal    	2))))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "E32"
-				quid       	"39D47E5A0050"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D47EF4026E"
-					supplier   	"$UNNAMED$61"
-					quidu      	"39D47E6D0314"))
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$61"
-				quid       	"39D47E6D0314"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D47F1E0138"
-					supplier   	"$UNNAMED$62"
-					quidu      	"39D47F1200A4"
-					messages   	(list Messages
-					    (object Message "ModemNotificationCompleted()"
-						quid       	"39D47F1E0139"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4"
-						ordinal    	3
-						Operation  	"ModemNotificationCompleted(TInt)"
-						quidu      	"38B2CEDF0068"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsModemNotification"
-				quidu      	"39D1C62C03AE"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$63"
-				quid       	"39D47EDE0335"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D49A9C0174"
-					supplier   	"$UNNAMED$61"
-					quidu      	"39D47E6D0314")
-				    (object Link
-					quid       	"39D49ACA009E"
-					supplier   	"$UNNAMED$63"
-					quidu      	"39D47EDE0335"))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-				quidu      	"3780BA620276"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$62"
-				quid       	"39D47F1200A4"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D496A30154"
-					supplier   	"$UNNAMED$64"
-					quidu      	"39D4969501EA")
-				    (object Link
-					quid       	"39D4973000DE"
-					supplier   	"$UNNAMED$62"
-					quidu      	"39D47F1200A4"
-					messages   	(list Messages
-					    (object Message "CancelMessageWrites()"
-						quid       	"39D4A9A50139"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6"
-						ordinal    	32)
-					    (object Message "CancelWriteSmsMessage()"
-						quid       	"39D4A9C202C1"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1"
-						ordinal    	33
-						Operation  	"CancelWriteSmsMessage(MSmsMessageObserver&)"
-						quidu      	"38B2D1990385")
-					    (object Message "CancelMessageSends()"
-						quid       	"39D4B2760329"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.2"
-						ordinal    	10)
-					    (object Message "CancelSendSmsMessage()"
-						quid       	"39D4B28C0280"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.2.1"
-						ordinal    	11
-						Operation  	"CancelSendSmsMessage(MSmsMessageObserver&)"
-						quidu      	"38B2D16E001A")))
-				    (object Link
-					quid       	"39D498B1022C"
-					supplier   	"$UNNAMED$65"
-					quidu      	"39D4989C024A"
-					messages   	(list Messages
-					    (object Message "Cancel()"
-						quid       	"39D4B2B00001"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.2.1.1"
-						ordinal    	12
-						Operation  	"Cancel( )"
-						quidu      	"3821B8F601EE")
-					    (object Message "MessageSendCompleted()"
-						quid       	"39D4B2FE0176"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"4.2.1.1.1.1.1"
-						ordinal    	15
-						Operation  	"MessageSendCompleted(TInt)"
-						quidu      	"38B2CEDE03A4")))
-				    (object Link
-					quid       	"39D49A680382"
-					supplier   	"$UNNAMED$63"
-					quidu      	"39D47EDE0335")
-				    (object Link
-					quid       	"39D49B9C02C7"
-					supplier   	"$UNNAMED$66"
-					quidu      	"39D49B7C0220"
-					messages   	(list Messages
-					    (object Message "Cancel()"
-						quid       	"39D49B9C02C8"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3"
-						ordinal    	16
-						Operation  	"Cancel( )"
-						quidu      	"37D51AAB02DD")
-					    (object Message "PDUReadCompleted()"
-						quid       	"39D4AB0C0293"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"4.3.1.2.1"
-						ordinal    	21
-						Operation  	"PDUReadCompleted(TInt)"
-						quidu      	"38B2CEDF00A6")
-					    (object Message "Cancel()"
-						quid       	"39D49CE103AA"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.1"
-						ordinal    	4
-						Operation  	"Cancel( )"
-						quidu      	"37D51AAB02DD")
-					    (object Message "EventNotificationCompleted()"
-						quid       	"39D4AAC80065"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"4.1.1.1.1"
-						ordinal    	9
-						Operation  	"EventNotificationCompleted(TInt)"
-						quidu      	"38B2CEDE03E3")))
-				    (object Link
-					quid       	"39D49DF40388"
-					supplier   	"$UNNAMED$67"
-					quidu      	"39D49DDF03A6"
-					messages   	(list Messages
-					    (object Message "Cancel()"
-						quid       	"39D49DF40389"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.4"
-						ordinal    	22
-						Operation  	"Cancel( )"
-						quidu      	"37D51A450379")
-					    (object Message "PhoneEnumerationCompleted()"
-						quid       	"39D4AB280153"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"4.4.1.1.2"
-						ordinal    	27
-						Operation  	"PhoneEnumerationCompleted(TInt)"
-						quidu      	"38B2CEDF0114")))
-				    (object Link
-					quid       	"39D49F500266"
-					supplier   	"$UNNAMED$68"
-					quidu      	"39D49F210023"
-					messages   	(list Messages
-					    (object Message "Cancel()"
-						quid       	"39D49F500267"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.5"
-						ordinal    	28
-						Operation  	"Cancel( )"
-						quidu      	"38352EDA0111")
-					    (object Message "PDUReadProcessCompleted()"
-						quid       	"39D4AB46000C"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"4.5.1.1.1"
-						ordinal    	31
-						Operation  	"PDUReadProcessCompleted(TInt)"
-						quidu      	"38B2CEDF00E5")))
-				    (object Link
-					quid       	"39D4B35300BA"
-					supplier   	"$UNNAMED$69"
-					quidu      	"39D4A9F60199"
-					messages   	(list Messages
-					    (object Message "Cancel()"
-						quid       	"39D4B35300BB"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1.1"
-						ordinal    	34)
-					    (object Message "MessageWriteCompleted()"
-						quid       	"39D4B4EC00F4"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"ToClientFromSupplier"
-						sequence   	"4.6.1.1.1.1.3"
-						ordinal    	41
-						Operation  	"MessageWriteCompleted(TInt)"
-						quidu      	"38B2CEDF0152"))))
-				class      	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$64"
-				quid       	"39D4969501EA"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D496C200C2"
-					supplier   	"$UNNAMED$64"
-					quidu      	"39D4969501EA")
-				    (object Link
-					quid       	"39D49820033C"
-					supplier   	"$UNNAMED$70"
-					quidu      	"39D4980B013D"))
-				class      	"Logical View::SMS PROTOCOL MODULE::SERVICE CENTER ADDRESS::CSmsSCAddress"
-				quidu      	"39B7851702E5"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$70"
-				quid       	"39D4980B013D"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D498570377"
-					supplier   	"ETEL"
-					quidu      	"39D47E3F01F5"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D49BDC0283"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.1.1.1"
-						ordinal    	19)
-					    (object Message "Asynch Server Call"
-						quid       	"39D49EB20363"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.4.1.1.1.1"
-						ordinal    	26)
-					    (object Message "Asynch Server Call"
-						quid       	"39D4B4CA0181"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1.1.1.1.2.1"
-						ordinal    	40))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-				quidu      	"3780BD850209"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$65"
-				quid       	"39D4989C024A"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D498E101EF"
-					supplier   	"ETEL"
-					quidu      	"39D47E3F01F5")
-				    (object Link
-					quid       	"39D4B2C30135"
-					supplier   	"$UNNAMED$65"
-					quidu      	"39D4989C024A"
-					messages   	(list Messages
-					    (object Message "DoCancel()"
-						quid       	"39D4B2C30136"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.2.1.1.1"
-						ordinal    	13)
-					    (object Message "Complete()"
-						quid       	"39D4B2D9030D"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.2.1.1.1.1"
-						ordinal    	14))))
-				class      	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-				quidu      	"382193B500F4"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$71"
-				quid       	"39D49B6B029E"
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-				quidu      	"37D3BE8E026D"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$72"
-				quid       	"39D49B75004A"
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-				quidu      	"37D3BE8E026D"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$66"
-				quid       	"39D49B7C0220"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D49BA10350"
-					supplier   	"$UNNAMED$66"
-					quidu      	"39D49B7C0220"
-					messages   	(list Messages
-					    (object Message "DoCancel()"
-						quid       	"39D49BA10351"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.1"
-						ordinal    	17)
-					    (object Message "Complete()"
-						quid       	"39D49BF201E4"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.1.2"
-						ordinal    	20)
-					    (object Message "DoCancel()"
-						quid       	"39D49D010392"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.1.1"
-						ordinal    	5)
-					    (object Message "Complete()"
-						quid       	"39D49D3D0059"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.1.1.1"
-						ordinal    	6)))
-				    (object Link
-					quid       	"39D49BCD0064"
-					supplier   	"$UNNAMED$70"
-					quidu      	"39D4980B013D"
-					messages   	(list Messages
-					    (object Message "ReadSmsMessageCancel()"
-						quid       	"39D49BCD0065"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.3.1.1"
-						ordinal    	18
-						Operation  	"ReadSmsMessageCancel( )"
-						quidu      	"3780C1C80024")))
-				    (object Link
-					quid       	"39D49D28009F"
-					supplier   	"$UNNAMED$73"
-					quidu      	"39D49D1E002D"
-					messages   	(list Messages
-					    (object Message "NotifySmsEventCancel()"
-						quid       	"39D49D2800A0"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5"
-						ordinal    	7))))
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-				quidu      	"37D3BE8E026D"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$74"
-				quid       	"39D49CA1039E"
-				class      	"Logical View::SMS PROTOCOL MODULE::INITIALIZATION AND NOTIFICATIONS::CSmsEventNotification"
-				quidu      	"39D1C69C012E"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$73"
-				quid       	"39D49D1E002D"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D49DAD0209"
-					supplier   	"ETEL"
-					quidu      	"39D47E3F01F5"
-					messages   	(list Messages
-					    (object Message "Asynch Server Request"
-						quid       	"39D4AA880095"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"5.1"
-						ordinal    	8))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RAdvSmsMessaging"
-				quidu      	"39B8DD960111"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$67"
-				quid       	"39D49DDF03A6"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D49E07026D"
-					supplier   	"$UNNAMED$67"
-					quidu      	"39D49DDF03A6"
-					messages   	(list Messages
-					    (object Message "DoCancel()"
-						quid       	"39D49E07026E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.4.1"
-						ordinal    	23)
-					    (object Message "Complete()"
-						quid       	"39D49E5500AC"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.4.1.1"
-						ordinal    	24)))
-				    (object Link
-					quid       	"39D49E890147"
-					supplier   	"$UNNAMED$70"
-					quidu      	"39D4980B013D"
-					messages   	(list Messages
-					    (object Message "Close()"
-						quid       	"39D49E890148"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.4.1.1.1"
-						ordinal    	25))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration"
-				quidu      	"3780C11703AF"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$68"
-				quid       	"39D49F210023"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D49F5903DB"
-					supplier   	"$UNNAMED$68"
-					quidu      	"39D49F210023"
-					messages   	(list Messages
-					    (object Message "DoCancel()"
-						quid       	"39D49F5903DC"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.5.1"
-						ordinal    	29)
-					    (object Message "Complete()"
-						quid       	"39D4A91700BC"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.5.1.1"
-						ordinal    	30))))
-				class      	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-				quidu      	"38352E9F023A"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$69"
-				quid       	"39D4A9F60199"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D4B35E003D"
-					supplier   	"$UNNAMED$69"
-					quidu      	"39D4A9F60199"
-					messages   	(list Messages
-					    (object Message "DoCancel()"
-						quid       	"39D4B35E003E"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1.1.1"
-						ordinal    	35)
-					    (object Message "Complete()"
-						quid       	"39D4B3E401A9"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1.1.1.1"
-						ordinal    	36)))
-				    (object Link
-					quid       	"39D4B43C0191"
-					supplier   	"$UNNAMED$75"
-					quidu      	"39D4B4190227"
-					messages   	(list Messages
-					    (object Message "Close()"
-						quid       	"39D4B43C0192"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1.1.1.1.1"
-						ordinal    	37)))
-				    (object Link
-					quid       	"39D4B4BB03C4"
-					supplier   	"$UNNAMED$70"
-					quidu      	"39D4980B013D"
-					messages   	(list Messages
-					    (object Message "Close()"
-						quid       	"39D4B4BB03C5"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1.1.1.1.2"
-						ordinal    	39))))
-				class      	"Logical View::SMS PROTOCOL MODULE::WRITING::CSmsMessageWrite"
-				quidu      	"39D1C81000C5"
-				persistence 	"Transient"
-				multi      	FALSE)
-			    (object Object "$UNNAMED$75"
-				quid       	"39D4B4190227"
-				collaborators 	(list link_list
-				    (object Link
-					quid       	"39D4B44B0002"
-					supplier   	"ETEL"
-					quidu      	"39D47E3F01F5"
-					messages   	(list Messages
-					    (object Message "Asych Server Call"
-						quid       	"39D4B44B0003"
-						frequency  	"Aperiodic"
-						synchronization 	"Simple"
-						dir        	"FromClientToSupplier"
-						sequence   	"4.6.1.1.1.1.1.1"
-						ordinal    	38))))
-				class      	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsStorage"
-				quidu      	"3780C0B4012E"
-				persistence 	"Transient"
-				multi      	FALSE))))
-		logical_presentations 	(list unit_reference_list
-		    (object InteractionDiagram "Retrieve Service Center Address"
-			mechanism_ref 	@1
-			quid       	"39B7810A0009"
-			title      	"Retrieve Service Center Address"
-			zoom       	71
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	1484
-			items      	(list diagram_item_list
-			    (object InterObjView "$UNNAMED$0" @13
-				location   	(147, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@13
-				    location   	(147, 237)
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	360
-				    justify    	0
-				    label      	"")
-				icon       	"Actor"
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7819C009F"
-				width      	336
-				height     	3764
-				icon_height 	162
-				icon_width 	120
-				icon_y_offset 	13
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @14
-				    location   	(147, 345)
-				    line_color 	3342489
-				    InterObjView 	@13
-				    height     	250
-				    y_coord    	190
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @15
-				    location   	(147, 3779)
-				    line_color 	3342489
-				    InterObjView 	@13
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "RSocket" @16
-				location   	(479, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@16
-				    location   	(479, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"RSocket")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B782260224"
-				width      	300
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @17
-				    location   	(479, 345)
-				    line_color 	3342489
-				    InterObjView 	@16
-				    height     	190
-				    y_coord    	130
-				    Nested     	FALSE))
-			    (object InterObjView "ESOCK Framework" @18
-				location   	(791, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@18
-				    location   	(791, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ESOCK Framework")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7826901D0"
-				width      	300
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @19
-				    location   	(791, 415)
-				    line_color 	3342489
-				    InterObjView 	@18
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @20
-				    location   	(791, 558)
-				    line_color 	3342489
-				    InterObjView 	@18
-				    height     	958
-				    y_coord    	898
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @21
-				    location   	(791, 1748)
-				    line_color 	3342489
-				    InterObjView 	@18
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @22
-				    location   	(791, 1924)
-				    line_color 	3342489
-				    InterObjView 	@18
-				    height     	438
-				    y_coord    	378
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @23
-				    location   	(791, 2443)
-				    line_color 	3342489
-				    InterObjView 	@18
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @24
-				    location   	(791, 2609)
-				    line_color 	3342489
-				    InterObjView 	@18
-				    height     	1083
-				    y_coord    	1023
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @25
-				    location   	(791, 3161)
-				    line_color 	3342489
-				    InterObjView 	@18
-				    height     	231
-				    y_coord    	171
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$1" @26
-				location   	(1136, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@26
-				    location   	(1136, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	349
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B782EA0226"
-				width      	367
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @27
-				    location   	(1136, 640)
-				    line_color 	3342489
-				    InterObjView 	@26
-				    height     	816
-				    y_coord    	756
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @28
-				    location   	(1136, 2907)
-				    line_color 	3342489
-				    InterObjView 	@26
-				    height     	545
-				    y_coord    	485
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$3" @29
-				location   	(1509, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@29
-				    location   	(1509, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	342
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B782FC0182"
-				width      	360
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @30
-				    location   	(1509, 709)
-				    line_color 	3342489
-				    InterObjView 	@29
-				    height     	687
-				    y_coord    	627
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @31
-				    location   	(1509, 808)
-				    line_color 	3342489
-				    InterObjView 	@29
-				    height     	528
-				    y_coord    	468
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @32
-				    location   	(1509, 2791)
-				    line_color 	3342489
-				    InterObjView 	@29
-				    height     	721
-				    y_coord    	661
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @33
-				    location   	(1509, 3026)
-				    line_color 	3342489
-				    InterObjView 	@29
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$2" @34
-				location   	(1900, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@34
-				    location   	(1900, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	396
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B785200053"
-				width      	414
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @35
-				    location   	(1900, 911)
-				    line_color 	3342489
-				    InterObjView 	@34
-				    height     	365
-				    y_coord    	305
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @36
-				    location   	(1900, 1924)
-				    line_color 	3342489
-				    InterObjView 	@34
-				    height     	378
-				    y_coord    	318
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @37
-				    location   	(1900, 1976)
-				    line_color 	3342489
-				    InterObjView 	@34
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @38
-				    location   	(1900, 2182)
-				    line_color 	3342489
-				    InterObjView 	@34
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @39
-				    location   	(1900, 2609)
-				    line_color 	3342489
-				    InterObjView 	@34
-				    height     	1023
-				    y_coord    	963
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @40
-				    location   	(1900, 2701)
-				    line_color 	3342489
-				    InterObjView 	@34
-				    height     	871
-				    y_coord    	811
-				    Nested     	TRUE))
-			    (object InterObjView "RSmsMessaging" @41
-				location   	(2283, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@41
-				    location   	(2283, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	315
-				    justify    	0
-				    label      	"RSmsMessaging")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7862A01FA"
-				width      	333
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @42
-				    location   	(2283, 986)
-				    line_color 	3342489
-				    InterObjView 	@41
-				    height     	230
-				    y_coord    	170
-				    Nested     	FALSE))
-			    (object InterObjView "ETEL Framework" @43
-				location   	(2611, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@43
-				    location   	(2611, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ETEL Framework")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B786B1024F"
-				width      	300
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @44
-				    location   	(2611, 1096)
-				    line_color 	3342489
-				    InterObjView 	@43
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @45
-				    location   	(2611, 1551)
-				    line_color 	3342489
-				    InterObjView 	@43
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @46
-				    location   	(2611, 1748)
-				    line_color 	3342489
-				    InterObjView 	@43
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterObjView "E32" @47
-				location   	(2921, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@47
-				    location   	(2921, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"E32")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0D13D0329"
-				width      	300
-				height     	3764
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @48
-				    location   	(2921, 1551)
-				    line_color 	3342489
-				    InterObjView 	@47
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @49
-				    location   	(2921, 2069)
-				    line_color 	3342489
-				    InterObjView 	@47
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @50
-				    location   	(2921, 2443)
-				    line_color 	3342489
-				    InterObjView 	@47
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @51
-				    location   	(2921, 3272)
-				    line_color 	3342489
-				    InterObjView 	@47
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @52
-				    location   	(2921, 3779)
-				    line_color 	3342489
-				    InterObjView 	@47
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterMessView "" @53
-				location   	(0, 345)
-				label      	(object SegLabel @54
-				    Parent_View 	@53
-				    location   	(312, 301)
-				    quidu      	"39B7830D0386"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	236
-				    justify    	0
-				    label      	"Ioctl()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@13
-				supplier   	@16
-				Focus_Src  	@14
-				Focus_Entry 	@17
-				origin     	(162, 345)
-				terminus   	(463, 345)
-				ordinal    	0)
-			    (object InterMessView "" @55
-				location   	(0, 415)
-				label      	(object SegLabel @56
-				    Parent_View 	@55
-				    location   	(810, 354)
-				    quidu      	"39B783300123"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	769
-				    justify    	0
-				    label      	"Async Server Request"
-				    pctDist    	1.128114
-				    height     	62
-				    orientation 	0)
-				line_color 	3342489
-				client     	@16
-				supplier   	@18
-				Focus_Src  	@17
-				Focus_Entry 	@19
-				origin     	(494, 415)
-				terminus   	(775, 415)
-				ordinal    	1)
-			    (object InterMessView "" @57
-				location   	(0, 640)
-				label      	(object SegLabel @58
-				    Parent_View 	@57
-				    location   	(963, 596)
-				    quidu      	"39B783530001"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	236
-				    justify    	0
-				    label      	"Ioctl()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@18
-				supplier   	@26
-				Focus_Src  	@20
-				Focus_Entry 	@27
-				origin     	(806, 640)
-				terminus   	(1120, 640)
-				ordinal    	2)
-			    (object InterMessView "" @59
-				location   	(0, 709)
-				label      	(object SegLabel @60
-				    Parent_View 	@59
-				    location   	(1480, 654)
-				    quidu      	"39B783AF013A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	901
-				    justify    	0
-				    label      	"GetServiceCenterAddress()"
-				    pctDist    	0.962099
-				    height     	56
-				    orientation 	0)
-				line_color 	3342489
-				client     	@26
-				supplier   	@29
-				Focus_Src  	@27
-				Focus_Entry 	@30
-				origin     	(1151, 709)
-				terminus   	(1493, 709)
-				ordinal    	3)
-			    (object SelfMessView "" @61
-				location   	(0, 808)
-				label      	(object SegLabel @62
-				    Parent_View 	@61
-				    location   	(1846, 760)
-				    quidu      	"39B7840A002C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	936
-				    justify    	0
-				    label      	"DoServiceCenterAddress()"
-				    pctDist    	2.046667
-				    height     	49
-				    orientation 	0)
-				line_color 	3342489
-				client     	@29
-				supplier   	@29
-				Focus_Src  	@30
-				Focus_Entry 	@31
-				origin     	(1525, 808)
-				terminus   	(1675, 808)
-				ordinal    	4)
-			    (object InterMessView "" @63
-				location   	(0, 911)
-				label      	(object SegLabel @64
-				    Parent_View 	@63
-				    location   	(1981, 852)
-				    quidu      	"39B7853E026A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	408
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	1.281337
-				    height     	60
-				    orientation 	0)
-				line_color 	3342489
-				client     	@29
-				supplier   	@34
-				Focus_Src  	@31
-				Focus_Entry 	@35
-				origin     	(1524, 911)
-				terminus   	(1884, 911)
-				ordinal    	5)
-			    (object InterMessView "" @65
-				location   	(0, 986)
-				label      	(object SegLabel @66
-				    Parent_View 	@65
-				    location   	(2313, 925)
-				    quidu      	"39B7866E034E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	941
-				    justify    	0
-				    label      	"GetDefaultSCAddress()"
-				    pctDist    	1.132184
-				    height     	62
-				    orientation 	0)
-				line_color 	3342489
-				client     	@34
-				supplier   	@41
-				Focus_Src  	@35
-				Focus_Entry 	@42
-				origin     	(1915, 986)
-				terminus   	(2267, 986)
-				ordinal    	6)
-			    (object InterMessView "" @67
-				location   	(0, 1096)
-				label      	(object SegLabel @68
-				    Parent_View 	@67
-				    location   	(2670, 1037)
-				    quidu      	"39B786CD02E6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1016
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	1.255172
-				    height     	60
-				    orientation 	0)
-				line_color 	3342489
-				client     	@41
-				supplier   	@43
-				Focus_Src  	@42
-				Focus_Entry 	@44
-				origin     	(2298, 1096)
-				terminus   	(2595, 1096)
-				ordinal    	7)
-			    (object InterMessView "" @69
-				location   	(0, 1748)
-				label      	(object SegLabel @70
-				    Parent_View 	@69
-				    location   	(1715, 1685)
-				    quidu      	"39B787540204"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1099
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.492170
-				    height     	64
-				    orientation 	1)
-				line_color 	3342489
-				client     	@43
-				supplier   	@18
-				Focus_Src  	@46
-				Focus_Entry 	@21
-				origin     	(2595, 1748)
-				terminus   	(807, 1748)
-				ordinal    	9)
-			    (object InterMessView "" @71
-				location   	(0, 1924)
-				label      	(object SegLabel @72
-				    Parent_View 	@71
-				    location   	(1345, 1880)
-				    quidu      	"39B7876B018E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	303
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@18
-				supplier   	@34
-				Focus_Src  	@22
-				Focus_Entry 	@36
-				origin     	(806, 1924)
-				terminus   	(1884, 1924)
-				ordinal    	10)
-			    (object SelfMessView "" @73
-				location   	(0, 1976)
-				label      	(object SegLabel @74
-				    Parent_View 	@73
-				    location   	(2075, 1915)
-				    quidu      	"39B7879C0031"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	426
-				    justify    	0
-				    label      	"ConvertL()"
-				    pctDist    	0.966667
-				    height     	62
-				    orientation 	0)
-				line_color 	3342489
-				client     	@34
-				supplier   	@34
-				Focus_Src  	@36
-				Focus_Entry 	@37
-				origin     	(1916, 1976)
-				terminus   	(2066, 1976)
-				ordinal    	11)
-			    (object SelfMessView "" @75
-				location   	(0, 2182)
-				label      	(object SegLabel @76
-				    Parent_View 	@75
-				    location   	(2098, 2126)
-				    quidu      	"39B787C10372"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	435
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.113333
-				    height     	57
-				    orientation 	0)
-				line_color 	3342489
-				client     	@34
-				supplier   	@34
-				Focus_Src  	@36
-				Focus_Entry 	@38
-				origin     	(1916, 2182)
-				terminus   	(2066, 2182)
-				ordinal    	13)
-			    (object InterMessView "" @77
-				location   	(0, 2609)
-				label      	(object SegLabel @78
-				    Parent_View 	@77
-				    location   	(1345, 2565)
-				    quidu      	"39B788080392"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	303
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@18
-				supplier   	@34
-				Focus_Src  	@24
-				Focus_Entry 	@39
-				origin     	(806, 2609)
-				terminus   	(1884, 2609)
-				ordinal    	15)
-			    (object SelfMessView "" @79
-				location   	(0, 2701)
-				label      	(object SegLabel @80
-				    Parent_View 	@79
-				    location   	(2123, 2644)
-				    quidu      	"39B7884602D3"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	439
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.286667
-				    height     	58
-				    orientation 	0)
-				line_color 	3342489
-				client     	@34
-				supplier   	@34
-				Focus_Src  	@39
-				Focus_Entry 	@40
-				origin     	(1916, 2701)
-				terminus   	(2066, 2701)
-				ordinal    	16)
-			    (object InterMessView "" @81
-				location   	(0, 2791)
-				label      	(object SegLabel @82
-				    Parent_View 	@81
-				    location   	(1461, 2736)
-				    quidu      	"39B788600208"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1161
-				    justify    	0
-				    label      	"ServiceCenterAddressCompleted()"
-				    pctDist    	1.173333
-				    height     	56
-				    orientation 	1)
-				line_color 	3342489
-				client     	@34
-				supplier   	@29
-				Focus_Src  	@40
-				Focus_Entry 	@32
-				origin     	(1884, 2791)
-				terminus   	(1525, 2791)
-				ordinal    	17)
-			    (object InterMessView "" @83
-				location   	(0, 2907)
-				label      	(object SegLabel @84
-				    Parent_View 	@83
-				    location   	(1086, 2850)
-				    quidu      	"39B78897008B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1214
-				    justify    	0
-				    label      	"ServiceCenterAddressCompleted()"
-				    pctDist    	1.193548
-				    height     	58
-				    orientation 	1)
-				line_color 	3342489
-				client     	@29
-				supplier   	@26
-				Focus_Src  	@32
-				Focus_Entry 	@28
-				origin     	(1493, 2907)
-				terminus   	(1152, 2907)
-				ordinal    	18)
-			    (object InterMessView "" @85
-				location   	(0, 3161)
-				label      	(object SegLabel @86
-				    Parent_View 	@85
-				    location   	(971, 3117)
-				    quidu      	"39B788B4017D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	716
-				    justify    	0
-				    label      	"IoctlComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@26
-				supplier   	@18
-				Focus_Src  	@28
-				Focus_Entry 	@25
-				origin     	(1120, 3161)
-				terminus   	(807, 3161)
-				ordinal    	20)
-			    (object InterMessView "" @87
-				location   	(0, 1551)
-				label      	(object SegLabel @88
-				    Parent_View 	@87
-				    location   	(2765, 1507)
-				    quidu      	"39D0D220002E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	624
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@43
-				supplier   	@47
-				Focus_Src  	@45
-				Focus_Entry 	@48
-				origin     	(2626, 1551)
-				terminus   	(2905, 1551)
-				ordinal    	8)
-			    (object InterMessView "" @89
-				location   	(0, 2069)
-				label      	(object SegLabel @90
-				    Parent_View 	@89
-				    location   	(2410, 2025)
-				    quidu      	"39D0D2C1010B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	677
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@34
-				supplier   	@47
-				Focus_Src  	@36
-				Focus_Entry 	@49
-				origin     	(1915, 2069)
-				terminus   	(2905, 2069)
-				ordinal    	12)
-			    (object InterMessView "" @91
-				location   	(0, 2443)
-				label      	(object SegLabel @92
-				    Parent_View 	@91
-				    location   	(1856, 2399)
-				    quidu      	"39D0D31401DD"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1099
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@47
-				supplier   	@18
-				Focus_Src  	@50
-				Focus_Entry 	@23
-				origin     	(2905, 2443)
-				terminus   	(807, 2443)
-				ordinal    	14)
-			    (object InterMessView "" @93
-				location   	(0, 3026)
-				label      	(object SegLabel @94
-				    Parent_View 	@93
-				    location   	(1495, 2981)
-				    quidu      	"39D0D4AC0002"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	963
-				    justify    	0
-				    label      	"ServiceCenterAddress()"
-				    pctDist    	0.963585
-				    height     	46
-				    orientation 	0)
-				line_color 	3342489
-				client     	@26
-				supplier   	@29
-				Focus_Src  	@28
-				Focus_Entry 	@33
-				origin     	(1151, 3026)
-				terminus   	(1493, 3026)
-				ordinal    	19)
-			    (object InterMessView "" @95
-				location   	(0, 3272)
-				label      	(object SegLabel @96
-				    Parent_View 	@95
-				    location   	(1863, 3228)
-				    quidu      	"39D0D585036B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	994
-				    justify    	0
-				    label      	"RMessage::Complete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@18
-				supplier   	@47
-				Focus_Src  	@25
-				Focus_Entry 	@51
-				origin     	(806, 3272)
-				terminus   	(2905, 3272)
-				ordinal    	21)
-			    (object InterMessView "" @97
-				location   	(0, 3779)
-				label      	(object SegLabel @98
-				    Parent_View 	@97
-				    location   	(1534, 3735)
-				    quidu      	"39D0D59F014D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1099
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@47
-				supplier   	@13
-				Focus_Src  	@52
-				Focus_Entry 	@15
-				origin     	(2905, 3779)
-				terminus   	(163, 3779)
-				ordinal    	22)))
-		    (object InteractionDiagram "Set Service Center Address"
-			mechanism_ref 	@2
-			quid       	"39B7C35202CF"
-			title      	"Set Service Center Address"
-			zoom       	65
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	1160
-			items      	(list diagram_item_list
-			    (object InterObjView "$UNNAMED$4" @99
-				location   	(156, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@99
-				    location   	(156, 291)
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	360
-				    justify    	0
-				    label      	"")
-				icon       	"Actor"
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C39001DE"
-				width      	336
-				height     	3554
-				icon_height 	162
-				icon_width 	120
-				icon_y_offset 	-41
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @100
-				    location   	(156, 391)
-				    line_color 	3342489
-				    InterObjView 	@99
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @101
-				    location   	(156, 3569)
-				    line_color 	3342489
-				    InterObjView 	@99
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "RSocket" @102
-				location   	(525, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@102
-				    location   	(525, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"RSocket")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C3C30119"
-				width      	300
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @103
-				    location   	(525, 391)
-				    line_color 	3342489
-				    InterObjView 	@102
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @104
-				    location   	(525, 591)
-				    line_color 	3342489
-				    InterObjView 	@102
-				    height     	1078
-				    y_coord    	1018
-				    Nested     	FALSE))
-			    (object InterObjView "ESOCK Framework" @105
-				location   	(837, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@105
-				    location   	(837, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ESOCK Framework")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C42C0228"
-				width      	300
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @106
-				    location   	(837, 591)
-				    line_color 	3342489
-				    InterObjView 	@105
-				    height     	1018
-				    y_coord    	958
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @107
-				    location   	(837, 1743)
-				    line_color 	3342489
-				    InterObjView 	@105
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @108
-				    location   	(837, 1871)
-				    line_color 	3342489
-				    InterObjView 	@105
-				    height     	382
-				    y_coord    	322
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @109
-				    location   	(837, 2507)
-				    line_color 	3342489
-				    InterObjView 	@105
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @110
-				    location   	(837, 2647)
-				    line_color 	3342489
-				    InterObjView 	@105
-				    height     	837
-				    y_coord    	777
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @111
-				    location   	(837, 2989)
-				    line_color 	3342489
-				    InterObjView 	@105
-				    height     	195
-				    y_coord    	135
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$5" @112
-				location   	(1183, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@112
-				    location   	(1183, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	349
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C42C0246"
-				width      	367
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @113
-				    location   	(1183, 653)
-				    line_color 	3342489
-				    InterObjView 	@112
-				    height     	896
-				    y_coord    	836
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @114
-				    location   	(1183, 2896)
-				    line_color 	3342489
-				    InterObjView 	@112
-				    height     	348
-				    y_coord    	288
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$7" @115
-				location   	(1558, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@115
-				    location   	(1558, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	342
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C42C026E"
-				width      	360
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @116
-				    location   	(1558, 699)
-				    line_color 	3342489
-				    InterObjView 	@115
-				    height     	790
-				    y_coord    	730
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @117
-				    location   	(1558, 793)
-				    line_color 	3342489
-				    InterObjView 	@115
-				    height     	636
-				    y_coord    	576
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @118
-				    location   	(1558, 2796)
-				    line_color 	3342489
-				    InterObjView 	@115
-				    height     	508
-				    y_coord    	448
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$6" @119
-				location   	(1951, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@119
-				    location   	(1951, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	396
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C42C0296"
-				width      	414
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @120
-				    location   	(1951, 903)
-				    line_color 	3342489
-				    InterObjView 	@119
-				    height     	466
-				    y_coord    	406
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @121
-				    location   	(1951, 961)
-				    line_color 	3342489
-				    InterObjView 	@119
-				    height     	348
-				    y_coord    	288
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @122
-				    location   	(1951, 1189)
-				    line_color 	3342489
-				    InterObjView 	@119
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @123
-				    location   	(1951, 1871)
-				    line_color 	3342489
-				    InterObjView 	@119
-				    height     	322
-				    y_coord    	262
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @124
-				    location   	(1951, 2675)
-				    line_color 	3342489
-				    InterObjView 	@119
-				    height     	749
-				    y_coord    	689
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @125
-				    location   	(1951, 2715)
-				    line_color 	3342489
-				    InterObjView 	@119
-				    height     	649
-				    y_coord    	589
-				    Nested     	TRUE))
-			    (object InterObjView "RSmsMessaging" @126
-				location   	(2332, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@126
-				    location   	(2332, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	315
-				    justify    	0
-				    label      	"RSmsMessaging")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C42C02B6"
-				width      	333
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @127
-				    location   	(2332, 1917)
-				    line_color 	3342489
-				    InterObjView 	@126
-				    height     	216
-				    y_coord    	156
-				    Nested     	FALSE))
-			    (object InterObjView "ETEL Framework" @128
-				location   	(2658, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@128
-				    location   	(2658, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ETEL Framework")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7C42C02D2"
-				width      	300
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @129
-				    location   	(2658, 2013)
-				    line_color 	3342489
-				    InterObjView 	@128
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @130
-				    location   	(2658, 2313)
-				    line_color 	3342489
-				    InterObjView 	@128
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterObjView "E32" @131
-				location   	(2970, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@131
-				    location   	(2970, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"E32")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0D63003AD"
-				width      	300
-				height     	3554
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @132
-				    location   	(2970, 1053)
-				    line_color 	3342489
-				    InterObjView 	@131
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @133
-				    location   	(2970, 1743)
-				    line_color 	3342489
-				    InterObjView 	@131
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @134
-				    location   	(2970, 2313)
-				    line_color 	3342489
-				    InterObjView 	@131
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @135
-				    location   	(2970, 2507)
-				    line_color 	3342489
-				    InterObjView 	@131
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @136
-				    location   	(2970, 3064)
-				    line_color 	3342489
-				    InterObjView 	@131
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @137
-				    location   	(2970, 3569)
-				    line_color 	3342489
-				    InterObjView 	@131
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterMessView "" @138
-				location   	(0, 653)
-				label      	(object SegLabel @139
-				    Parent_View 	@138
-				    location   	(1006, 621)
-				    quidu      	"39B7C42C022A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	257
-				    justify    	0
-				    label      	"Ioctl()"
-				    pctDist    	0.488889
-				    height     	33
-				    orientation 	0)
-				line_color 	3342489
-				client     	@105
-				supplier   	@112
-				Focus_Src  	@106
-				Focus_Entry 	@113
-				origin     	(852, 653)
-				terminus   	(1167, 653)
-				ordinal    	2)
-			    (object InterMessView "" @140
-				location   	(0, 2989)
-				label      	(object SegLabel @141
-				    Parent_View 	@140
-				    location   	(902, 2936)
-				    quidu      	"39B7C42C023C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	589
-				    justify    	0
-				    label      	"IoctlComplete()"
-				    pctDist    	0.886288
-				    height     	54
-				    orientation 	1)
-				line_color 	3342489
-				client     	@112
-				supplier   	@105
-				Focus_Src  	@114
-				Focus_Entry 	@111
-				origin     	(1167, 2989)
-				terminus   	(853, 2989)
-				ordinal    	19)
-			    (object InterMessView "" @142
-				location   	(0, 699)
-				label      	(object SegLabel @143
-				    Parent_View 	@142
-				    location   	(1530, 654)
-				    quidu      	"39B7C42C0248"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	979
-				    justify    	0
-				    label      	"SetServiceCenterAddress()"
-				    pctDist    	0.967647
-				    height     	46
-				    orientation 	0)
-				line_color 	3342489
-				client     	@112
-				supplier   	@115
-				Focus_Src  	@113
-				Focus_Entry 	@116
-				origin     	(1198, 699)
-				terminus   	(1542, 699)
-				ordinal    	3)
-			    (object SelfMessView "" @144
-				location   	(0, 793)
-				label      	(object SegLabel @145
-				    Parent_View 	@144
-				    location   	(1922, 746)
-				    quidu      	"39B7C42C0270"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1023
-				    justify    	0
-				    label      	"DoServiceCenterAddress()"
-				    pctDist    	2.220000
-				    height     	48
-				    orientation 	0)
-				line_color 	3342489
-				client     	@115
-				supplier   	@115
-				Focus_Src  	@116
-				Focus_Entry 	@117
-				origin     	(1574, 793)
-				terminus   	(1724, 793)
-				ordinal    	4)
-			    (object InterMessView "" @146
-				location   	(0, 2896)
-				label      	(object SegLabel @147
-				    Parent_View 	@146
-				    location   	(1143, 2843)
-				    quidu      	"39B7C42C025A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1191
-				    justify    	0
-				    label      	"ServiceCenterAddressCompleted()"
-				    pctDist    	1.163265
-				    height     	54
-				    orientation 	1)
-				line_color 	3342489
-				client     	@115
-				supplier   	@112
-				Focus_Src  	@118
-				Focus_Entry 	@114
-				origin     	(1542, 2896)
-				terminus   	(1199, 2896)
-				ordinal    	18)
-			    (object InterMessView "" @148
-				location   	(0, 903)
-				label      	(object SegLabel @149
-				    Parent_View 	@148
-				    location   	(1824, 867)
-				    quidu      	"39B7C42C0279"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	445
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.680115
-				    height     	37
-				    orientation 	0)
-				line_color 	3342489
-				client     	@115
-				supplier   	@119
-				Focus_Src  	@117
-				Focus_Entry 	@120
-				origin     	(1573, 903)
-				terminus   	(1935, 903)
-				ordinal    	5)
-			    (object InterMessView "" @150
-				location   	(0, 1871)
-				label      	(object SegLabel @151
-				    Parent_View 	@150
-				    location   	(1393, 1827)
-				    quidu      	"39B7C42C023E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	330
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@105
-				supplier   	@119
-				Focus_Src  	@108
-				Focus_Entry 	@123
-				origin     	(852, 1871)
-				terminus   	(1935, 1871)
-				ordinal    	10)
-			    (object SelfMessView "" @152
-				location   	(0, 961)
-				label      	(object SegLabel @153
-				    Parent_View 	@152
-				    location   	(2162, 925)
-				    quidu      	"39B7C42C029A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	580
-				    justify    	0
-				    label      	"ParseL()"
-				    pctDist    	1.200000
-				    height     	37
-				    orientation 	0)
-				line_color 	3342489
-				client     	@119
-				supplier   	@119
-				Focus_Src  	@120
-				Focus_Entry 	@121
-				origin     	(1967, 961)
-				terminus   	(2117, 961)
-				ordinal    	6)
-			    (object SelfMessView "" @154
-				location   	(0, 1189)
-				label      	(object SegLabel @155
-				    Parent_View 	@154
-				    location   	(2229, 1138)
-				    quidu      	"39B7C42C02B4"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	705
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.553333
-				    height     	52
-				    orientation 	0)
-				line_color 	3342489
-				client     	@119
-				supplier   	@119
-				Focus_Src  	@121
-				Focus_Entry 	@122
-				origin     	(1967, 1189)
-				terminus   	(2117, 1189)
-				ordinal    	8)
-			    (object InterMessView "" @156
-				location   	(0, 2675)
-				label      	(object SegLabel @157
-				    Parent_View 	@156
-				    location   	(1393, 2631)
-				    quidu      	"39B7C42C023F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	330
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@105
-				supplier   	@119
-				Focus_Src  	@110
-				Focus_Entry 	@124
-				origin     	(852, 2675)
-				terminus   	(1935, 2675)
-				ordinal    	15)
-			    (object SelfMessView "" @158
-				location   	(0, 2715)
-				label      	(object SegLabel @159
-				    Parent_View 	@158
-				    location   	(2140, 2668)
-				    quidu      	"39B7C42C02B5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	479
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.060000
-				    height     	48
-				    orientation 	0)
-				line_color 	3342489
-				client     	@119
-				supplier   	@119
-				Focus_Src  	@124
-				Focus_Entry 	@125
-				origin     	(1967, 2715)
-				terminus   	(2117, 2715)
-				ordinal    	16)
-			    (object InterMessView "" @160
-				location   	(0, 2796)
-				label      	(object SegLabel @161
-				    Parent_View 	@160
-				    location   	(1525, 2751)
-				    quidu      	"39B7C42C0282"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1268
-				    justify    	0
-				    label      	"ServiceCenterAddressCompleted()"
-				    pctDist    	1.132979
-				    height     	46
-				    orientation 	1)
-				line_color 	3342489
-				client     	@119
-				supplier   	@115
-				Focus_Src  	@125
-				Focus_Entry 	@118
-				origin     	(1935, 2796)
-				terminus   	(1574, 2796)
-				ordinal    	17)
-			    (object InterMessView "" @162
-				location   	(0, 1917)
-				label      	(object SegLabel @163
-				    Parent_View 	@162
-				    location   	(2264, 1858)
-				    quidu      	"39B7C42C0298"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	849
-				    justify    	0
-				    label      	"SetDefaultSCAddress()"
-				    pctDist    	0.851429
-				    height     	60
-				    orientation 	0)
-				line_color 	3342489
-				client     	@119
-				supplier   	@126
-				Focus_Src  	@123
-				Focus_Entry 	@127
-				origin     	(1966, 1917)
-				terminus   	(2316, 1917)
-				ordinal    	11)
-			    (object InterMessView "" @164
-				location   	(0, 2013)
-				label      	(object SegLabel @165
-				    Parent_View 	@164
-				    location   	(2494, 1969)
-				    quidu      	"39B7C42C02BF"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	936
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@126
-				supplier   	@128
-				Focus_Src  	@127
-				Focus_Entry 	@129
-				origin     	(2347, 2013)
-				terminus   	(2642, 2013)
-				ordinal    	12)
-			    (object InterMessView "" @166
-				location   	(0, 391)
-				label      	(object SegLabel @167
-				    Parent_View 	@166
-				    location   	(340, 347)
-				    quidu      	"39B7C43D01B5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	257
-				    justify    	0
-				    label      	"Ioctl()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@99
-				supplier   	@102
-				Focus_Src  	@100
-				Focus_Entry 	@103
-				origin     	(171, 391)
-				terminus   	(509, 391)
-				ordinal    	0)
-			    (object InterMessView "" @168
-				location   	(0, 591)
-				label      	(object SegLabel @169
-				    Parent_View 	@168
-				    location   	(721, 550)
-				    quidu      	"39B7C458006A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	820
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.645270
-				    height     	42
-				    orientation 	0)
-				line_color 	3342489
-				client     	@102
-				supplier   	@105
-				Focus_Src  	@104
-				Focus_Entry 	@106
-				origin     	(540, 591)
-				terminus   	(821, 591)
-				ordinal    	1)
-			    (object InterMessView "" @170
-				location   	(0, 1053)
-				label      	(object SegLabel @171
-				    Parent_View 	@170
-				    location   	(2467, 1009)
-				    quidu      	"39D0D6C600D9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	970
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@119
-				supplier   	@131
-				Focus_Src  	@121
-				Focus_Entry 	@132
-				origin     	(1966, 1053)
-				terminus   	(2954, 1053)
-				ordinal    	7)
-			    (object InterMessView "" @172
-				location   	(0, 1743)
-				label      	(object SegLabel @173
-				    Parent_View 	@172
-				    location   	(1904, 1699)
-				    quidu      	"39D0D7D7008B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1201
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@131
-				supplier   	@105
-				Focus_Src  	@133
-				Focus_Entry 	@107
-				origin     	(2954, 1743)
-				terminus   	(853, 1743)
-				ordinal    	9)
-			    (object InterMessView "" @174
-				location   	(0, 2313)
-				label      	(object SegLabel @175
-				    Parent_View 	@174
-				    location   	(2813, 2269)
-				    quidu      	"39D0D821009C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	719
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@128
-				supplier   	@131
-				Focus_Src  	@130
-				Focus_Entry 	@134
-				origin     	(2673, 2313)
-				terminus   	(2954, 2313)
-				ordinal    	13)
-			    (object InterMessView "" @176
-				location   	(0, 2507)
-				label      	(object SegLabel @177
-				    Parent_View 	@176
-				    location   	(1904, 2463)
-				    quidu      	"39D0D82D00B6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1201
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@131
-				supplier   	@105
-				Focus_Src  	@135
-				Focus_Entry 	@109
-				origin     	(2954, 2507)
-				terminus   	(853, 2507)
-				ordinal    	14)
-			    (object InterMessView "" @178
-				location   	(0, 3064)
-				label      	(object SegLabel @179
-				    Parent_View 	@178
-				    location   	(1910, 3020)
-				    quidu      	"39D0D890039E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	893
-				    justify    	0
-				    label      	"RMessage::Complete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@105
-				supplier   	@131
-				Focus_Src  	@111
-				Focus_Entry 	@136
-				origin     	(852, 3064)
-				terminus   	(2954, 3064)
-				ordinal    	20)
-			    (object InterMessView "" @180
-				location   	(0, 3569)
-				label      	(object SegLabel @181
-				    Parent_View 	@180
-				    location   	(1563, 3525)
-				    quidu      	"39D0D8AA00E9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1201
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@131
-				supplier   	@99
-				Focus_Src  	@137
-				Focus_Entry 	@101
-				origin     	(2954, 3569)
-				terminus   	(172, 3569)
-				ordinal    	21)))
-		    (object InteractionDiagram "Send Message (Single PDU)"
-			mechanism_ref 	@3
-			quid       	"39B7CAC3002F"
-			title      	"Send Message (Single PDU)"
-			zoom       	75
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object InterObjView "$UNNAMED$8" @182
-				location   	(201, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@182
-				    location   	(201, 132)
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	360
-				    justify    	0
-				    label      	"")
-				icon       	"Actor"
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	12632256
-				quidu      	"39B7CAD30187"
-				width      	336
-				height     	15680
-				icon_height 	162
-				icon_width 	120
-				icon_y_offset 	118
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @183
-				    location   	(201, 638)
-				    line_color 	3342489
-				    InterObjView 	@182
-				    height     	601
-				    y_coord    	541
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @184
-				    location   	(201, 15695)
-				    line_color 	3342489
-				    InterObjView 	@182
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "RSocket" @185
-				location   	(1159, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@185
-				    location   	(1159, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"RSocket")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7CAD902EE"
-				width      	300
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @186
-				    location   	(1159, 952)
-				    line_color 	3342489
-				    InterObjView 	@185
-				    height     	227
-				    y_coord    	167
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$9" @187
-				location   	(708, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@187
-				    location   	(708, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	563
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7CB2700FB"
-				width      	581
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @188
-				    location   	(708, 685)
-				    line_color 	3342489
-				    InterObjView 	@187
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @189
-				    location   	(708, 814)
-				    line_color 	3342489
-				    InterObjView 	@187
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterMessView "" @190
-				location   	(0, 685)
-				label      	(object SegLabel @191
-				    Parent_View 	@190
-				    location   	(454, 641)
-				    quidu      	"39B7CB4403C5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	475
-				    justify    	0
-				    label      	"operator <<"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@182
-				supplier   	@187
-				Focus_Src  	@183
-				Focus_Entry 	@188
-				origin     	(216, 685)
-				terminus   	(692, 685)
-				ordinal    	0)
-			    (object InterMessView "" @192
-				location   	(0, 814)
-				label      	(object SegLabel @193
-				    Parent_View 	@192
-				    location   	(454, 770)
-				    quidu      	"39B7CB5602D0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	425
-				    justify    	0
-				    label      	"CommitL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@182
-				supplier   	@187
-				Focus_Src  	@183
-				Focus_Entry 	@189
-				origin     	(216, 814)
-				terminus   	(692, 814)
-				ordinal    	1)
-			    (object InterObjView "ESOCK Framework" @194
-				location   	(1466, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@194
-				    location   	(1466, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ESOCK Framework")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B7CBD702DF"
-				width      	300
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @195
-				    location   	(1466, 1059)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @196
-				    location   	(1466, 1219)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	1665
-				    y_coord    	1605
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @197
-				    location   	(1466, 3010)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @198
-				    location   	(1466, 3220)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	622
-				    y_coord    	562
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @199
-				    location   	(1466, 3997)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @200
-				    location   	(1466, 4193)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	1319
-				    y_coord    	1259
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @201
-				    location   	(1466, 5742)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @202
-				    location   	(1466, 5978)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	1564
-				    y_coord    	1504
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @203
-				    location   	(1466, 7838)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @204
-				    location   	(1466, 8106)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	852
-				    y_coord    	792
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @205
-				    location   	(1466, 9132)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @206
-				    location   	(1466, 9371)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	591
-				    y_coord    	531
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @207
-				    location   	(1466, 10098)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @208
-				    location   	(1466, 10205)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	882
-				    y_coord    	822
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @209
-				    location   	(1466, 11446)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @210
-				    location   	(1466, 11521)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	760
-				    y_coord    	700
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @211
-				    location   	(1466, 12593)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @212
-				    location   	(1466, 12822)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	646
-				    y_coord    	586
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @213
-				    location   	(1466, 13572)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @214
-				    location   	(1466, 13723)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	1898
-				    y_coord    	1838
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @215
-				    location   	(1466, 14545)
-				    line_color 	3342489
-				    InterObjView 	@194
-				    height     	199
-				    y_coord    	139
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$10" @216
-				location   	(1794, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@216
-				    location   	(1794, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	318
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8AD2D00B7"
-				width      	336
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @217
-				    location   	(1794, 1280)
-				    line_color 	3342489
-				    InterObjView 	@216
-				    height     	1544
-				    y_coord    	1484
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @218
-				    location   	(1794, 1502)
-				    line_color 	3342489
-				    InterObjView 	@216
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @219
-				    location   	(1794, 14508)
-				    line_color 	3342489
-				    InterObjView 	@216
-				    height     	385
-				    y_coord    	325
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @220
-				    location   	(1794, 14773)
-				    line_color 	3342489
-				    InterObjView 	@216
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$15" @221
-				location   	(2445, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@221
-				    location   	(2445, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	302
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8AD44034F"
-				width      	320
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @222
-				    location   	(2445, 1671)
-				    line_color 	3342489
-				    InterObjView 	@221
-				    height     	1093
-				    y_coord    	1033
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @223
-				    location   	(2445, 2029)
-				    line_color 	3342489
-				    InterObjView 	@221
-				    height     	675
-				    y_coord    	615
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @224
-				    location   	(2445, 4827)
-				    line_color 	3342489
-				    InterObjView 	@221
-				    height     	207
-				    y_coord    	147
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @225
-				    location   	(2445, 13996)
-				    line_color 	3342489
-				    InterObjView 	@221
-				    height     	232
-				    y_coord    	172
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @226
-				    location   	(2445, 14288)
-				    line_color 	3342489
-				    InterObjView 	@221
-				    height     	1153
-				    y_coord    	1093
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @227
-				    location   	(2445, 14369)
-				    line_color 	3342489
-				    InterObjView 	@221
-				    height     	1012
-				    y_coord    	952
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @228
-				    location   	(2445, 15024)
-				    line_color 	3342489
-				    InterObjView 	@221
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "TSglQue<: CQueuedSmsMessage>" @229
-				location   	(2919, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@229
-				    location   	(2919, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	576
-				    justify    	0
-				    label      	"TSglQue<: CQueuedSmsMessage>")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8B17A02FF"
-				width      	594
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @230
-				    location   	(2919, 1844)
-				    line_color 	3342489
-				    InterObjView 	@229
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @231
-				    location   	(2919, 1955)
-				    line_color 	3342489
-				    InterObjView 	@229
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @232
-				    location   	(2919, 2141)
-				    line_color 	3342489
-				    InterObjView 	@229
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @233
-				    location   	(2919, 14930)
-				    line_color 	3342489
-				    InterObjView 	@229
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$12" @234
-				location   	(3461, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@234
-				    location   	(3461, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	440
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8CA82026D"
-				width      	458
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @235
-				    location   	(3461, 2262)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	382
-				    y_coord    	322
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @236
-				    location   	(3461, 2524)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @237
-				    location   	(3461, 4193)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	1259
-				    y_coord    	1199
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @238
-				    location   	(3461, 4267)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	1125
-				    y_coord    	1065
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @239
-				    location   	(3461, 4398)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	696
-				    y_coord    	636
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @240
-				    location   	(3461, 5272)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @241
-				    location   	(3461, 5978)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	1504
-				    y_coord    	1444
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @242
-				    location   	(3461, 6044)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @243
-				    location   	(3461, 7362)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @244
-				    location   	(3461, 13723)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	1838
-				    y_coord    	1778
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @245
-				    location   	(3461, 13803)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @246
-				    location   	(3461, 13928)
-				    line_color 	3342489
-				    InterObjView 	@234
-				    height     	1573
-				    y_coord    	1513
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$11" @247
-				location   	(5606, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@247
-				    location   	(5606, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	398
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8CCC1011F"
-				width      	416
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @248
-				    location   	(5606, 2308)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	156
-				    y_coord    	96
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @249
-				    location   	(5606, 3220)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	562
-				    y_coord    	502
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @250
-				    location   	(5606, 3276)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @251
-				    location   	(5606, 3405)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	317
-				    y_coord    	257
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @252
-				    location   	(5606, 3513)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @253
-				    location   	(5606, 11726)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	255
-				    y_coord    	195
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @254
-				    location   	(5606, 11861)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @255
-				    location   	(5606, 12822)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	586
-				    y_coord    	526
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @256
-				    location   	(5606, 12881)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @257
-				    location   	(5606, 12996)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	352
-				    y_coord    	292
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @258
-				    location   	(5606, 13100)
-				    line_color 	3342489
-				    InterObjView 	@247
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "Event Logging Server" @259
-				location   	(7585, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@259
-				    location   	(7585, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	302
-				    justify    	0
-				    label      	"Event Logging Server")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8CD8E01F6"
-				width      	320
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @260
-				    location   	(7585, 2344)
-				    line_color 	3342489
-				    InterObjView 	@259
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @261
-				    location   	(7585, 2772)
-				    line_color 	3342489
-				    InterObjView 	@259
-				    height     	177
-				    y_coord    	117
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @262
-				    location   	(7585, 11757)
-				    line_color 	3342489
-				    InterObjView 	@259
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @263
-				    location   	(7585, 12364)
-				    line_color 	3342489
-				    InterObjView 	@259
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterObjView "E32" @264
-				location   	(7913, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@264
-				    location   	(7913, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	280
-				    justify    	0
-				    label      	"E32")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8D24F02C8"
-				width      	298
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @265
-				    location   	(7913, 2829)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @266
-				    location   	(7913, 3010)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @267
-				    location   	(7913, 3602)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @268
-				    location   	(7913, 3997)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @269
-				    location   	(7913, 5150)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @270
-				    location   	(7913, 5742)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @271
-				    location   	(7913, 7658)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @272
-				    location   	(7913, 7838)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @273
-				    location   	(7913, 8778)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @274
-				    location   	(7913, 9132)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @275
-				    location   	(7913, 9782)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @276
-				    location   	(7913, 10098)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @277
-				    location   	(7913, 10786)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @278
-				    location   	(7913, 11368)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	198
-				    y_coord    	138
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @279
-				    location   	(7913, 12364)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @280
-				    location   	(7913, 12593)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @281
-				    location   	(7913, 13228)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @282
-				    location   	(7913, 13572)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @283
-				    location   	(7913, 14624)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @284
-				    location   	(7913, 15646)
-				    line_color 	3342489
-				    InterObjView 	@264
-				    height     	169
-				    y_coord    	109
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$18" @285
-				location   	(6033, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@285
-				    location   	(6033, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	396
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0B77400CF"
-				width      	414
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @286
-				    location   	(6033, 4914)
-				    line_color 	3342489
-				    InterObjView 	@285
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @287
-				    location   	(6033, 14108)
-				    line_color 	3342489
-				    InterObjView 	@285
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$17" @288
-				location   	(5106, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@288
-				    location   	(5106, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	539
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8D61A0076"
-				width      	557
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @289
-				    location   	(5106, 4765)
-				    line_color 	3342489
-				    InterObjView 	@288
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @290
-				    location   	(5106, 10558)
-				    line_color 	3342489
-				    InterObjView 	@288
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @291
-				    location   	(5106, 15261)
-				    line_color 	3342489
-				    InterObjView 	@288
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$19" @292
-				location   	(4632, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@292
-				    location   	(4632, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	347
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8D63401B4"
-				width      	365
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @293
-				    location   	(4632, 4516)
-				    line_color 	3342489
-				    InterObjView 	@292
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @294
-				    location   	(4632, 4635)
-				    line_color 	3342489
-				    InterObjView 	@292
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @295
-				    location   	(4632, 8411)
-				    line_color 	3342489
-				    InterObjView 	@292
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$14" @296
-				location   	(3882, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@296
-				    location   	(3882, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	347
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8DC240015"
-				width      	365
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @297
-				    location   	(3882, 6187)
-				    line_color 	3342489
-				    InterObjView 	@296
-				    height     	1104
-				    y_coord    	1044
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @298
-				    location   	(3882, 6253)
-				    line_color 	3342489
-				    InterObjView 	@296
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @299
-				    location   	(3882, 7171)
-				    line_color 	3342489
-				    InterObjView 	@296
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @300
-				    location   	(3882, 9371)
-				    line_color 	3342489
-				    InterObjView 	@296
-				    height     	531
-				    y_coord    	471
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @301
-				    location   	(3882, 9439)
-				    line_color 	3342489
-				    InterObjView 	@296
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @302
-				    location   	(3882, 9569)
-				    line_color 	3342489
-				    InterObjView 	@296
-				    height     	182
-				    y_coord    	122
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @303
-				    location   	(3882, 9631)
-				    line_color 	3342489
-				    InterObjView 	@296
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$13" @304
-				location   	(4257, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@304
-				    location   	(4257, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	347
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8DCA803D6"
-				width      	365
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @305
-				    location   	(4257, 6418)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	652
-				    y_coord    	592
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @306
-				    location   	(4257, 6685)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @307
-				    location   	(4257, 6813)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	197
-				    y_coord    	137
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @308
-				    location   	(4257, 8106)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	792
-				    y_coord    	732
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @309
-				    location   	(4257, 8210)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	381
-				    y_coord    	321
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @310
-				    location   	(4257, 8286)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	245
-				    y_coord    	185
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @311
-				    location   	(4257, 8539)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	192
-				    y_coord    	132
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @312
-				    location   	(4257, 8611)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @313
-				    location   	(4257, 10320)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	707
-				    y_coord    	647
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @314
-				    location   	(4257, 10397)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	341
-				    y_coord    	281
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @315
-				    location   	(4257, 10470)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	208
-				    y_coord    	148
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @316
-				    location   	(4257, 10907)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @317
-				    location   	(4257, 11591)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	630
-				    y_coord    	570
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @318
-				    location   	(4257, 11657)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	504
-				    y_coord    	444
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @319
-				    location   	(4257, 12041)
-				    line_color 	3342489
-				    InterObjView 	@304
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$20" @320
-				location   	(6866, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@320
-				    location   	(6866, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	453
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8DDA5037F"
-				width      	471
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @321
-				    location   	(6866, 6452)
-				    line_color 	3342489
-				    InterObjView 	@320
-				    height     	218
-				    y_coord    	158
-				    Nested     	FALSE))
-			    (object InterObjView "ETEL Server" @322
-				location   	(7267, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@322
-				    location   	(7267, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ETEL Server")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8DE0A0321"
-				width      	300
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @323
-				    location   	(7267, 6550)
-				    line_color 	3342489
-				    InterObjView 	@322
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @324
-				    location   	(7267, 7658)
-				    line_color 	3342489
-				    InterObjView 	@322
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$21" @325
-				location   	(6434, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@325
-				    location   	(6434, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	338
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B912760089"
-				width      	356
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @326
-				    location   	(6434, 6890)
-				    line_color 	3342489
-				    InterObjView 	@325
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$16" @327
-				location   	(2122, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@327
-				    location   	(2122, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39B8AE3E0145"
-				width      	300
-				height     	15680
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @328
-				    location   	(2122, 1379)
-				    line_color 	3342489
-				    InterObjView 	@327
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object NoteView @329
-				location   	(500, 478)
-				label      	(object ItemLabel
-				    Parent_View 	@329
-				    location   	(131, 394)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	702
-				    label      	"Typical client instantiates a new CSmsMessage or streams one from persistent store.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	762
-				height     	181)
-			    (object InterMessView "" @330
-				location   	(0, 952)
-				label      	(object SegLabel @331
-				    Parent_View 	@330
-				    location   	(679, 908)
-				    quidu      	"39B7CC3B0316"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	275
-				    justify    	0
-				    label      	"Ioctl()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@182
-				supplier   	@185
-				Focus_Src  	@183
-				Focus_Entry 	@186
-				origin     	(216, 952)
-				terminus   	(1143, 952)
-				ordinal    	2)
-			    (object InterMessView "" @332
-				location   	(0, 1059)
-				label      	(object SegLabel @333
-				    Parent_View 	@332
-				    location   	(1312, 1015)
-				    quidu      	"39B7CC470010"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	912
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@185
-				supplier   	@194
-				Focus_Src  	@186
-				Focus_Entry 	@195
-				origin     	(1174, 1059)
-				terminus   	(1450, 1059)
-				ordinal    	3)
-			    (object InterMessView "" @334
-				location   	(0, 1280)
-				label      	(object SegLabel @335
-				    Parent_View 	@334
-				    location   	(1628, 1238)
-				    quidu      	"39B8AD6A01D8"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	275
-				    justify    	0
-				    label      	"Ioctl()"
-				    pctDist    	0.495702
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@216
-				Focus_Src  	@196
-				Focus_Entry 	@217
-				origin     	(1481, 1280)
-				terminus   	(1778, 1280)
-				ordinal    	4)
-			    (object InterMessView "" @336
-				location   	(0, 1379)
-				label      	(object SegLabel @337
-				    Parent_View 	@336
-				    location   	(2026, 1321)
-				    quidu      	"39B8AE4A03A7"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	712
-				    justify    	0
-				    label      	"SmsAddrFamily()"
-				    pctDist    	0.732258
-				    height     	59
-				    orientation 	0)
-				line_color 	3342489
-				client     	@216
-				supplier   	@327
-				Focus_Src  	@217
-				Focus_Entry 	@328
-				origin     	(1809, 1379)
-				terminus   	(2106, 1379)
-				ordinal    	5)
-			    (object SelfMessView "" @338
-				location   	(0, 1502)
-				label      	(object SegLabel @339
-				    Parent_View 	@338
-				    location   	(2063, 1472)
-				    quidu      	"39B8AE57008D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	812
-				    justify    	0
-				    label      	"InternalizeMessage()"
-				    pctDist    	1.593333
-				    height     	31
-				    orientation 	0)
-				line_color 	3342489
-				client     	@216
-				supplier   	@216
-				Focus_Src  	@217
-				Focus_Entry 	@218
-				origin     	(1810, 1502)
-				terminus   	(1960, 1502)
-				ordinal    	6)
-			    (object InterMessView "" @340
-				location   	(0, 1671)
-				label      	(object SegLabel @341
-				    Parent_View 	@340
-				    location   	(2116, 1628)
-				    quidu      	"39B8AED70037"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	800
-				    justify    	0
-				    label      	"SendSmsMessage()"
-				    pctDist    	0.495756
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@216
-				supplier   	@221
-				Focus_Src  	@217
-				Focus_Entry 	@222
-				origin     	(1809, 1671)
-				terminus   	(2429, 1671)
-				ordinal    	7)
-			    (object NoteView @342
-				location   	(1953, 991)
-				label      	(object ItemLabel
-				    Parent_View 	@342
-				    location   	(1645, 901)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	581
-				    label      	"Checks that the address of the provider allows sending.  Assume the address is valid.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	641
-				height     	192)
-			    (object NoteView @343
-				location   	(3001, 1014)
-				label      	(object ItemLabel
-				    Parent_View 	@343
-				    location   	(2689, 942)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	589
-				    label      	"InternalizeMessage() described in detail elsewhere.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	649
-				height     	156)
-			    (object NoteView @344
-				location   	(2682, 1480)
-				label      	(object ItemLabel
-				    Parent_View 	@344
-				    location   	(2331, 1420)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	666
-				    label      	"Assume modem is connected.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	726
-				height     	132)
-			    (object InterMessView "" @345
-				location   	(0, 1844)
-				label      	(object SegLabel @346
-				    Parent_View 	@345
-				    location   	(2769, 1812)
-				    quidu      	"39B8B1D30145"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	525
-				    justify    	0
-				    label      	"AddLast()"
-				    pctDist    	0.697938
-				    height     	33
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@229
-				Focus_Src  	@222
-				Focus_Entry 	@230
-				origin     	(2460, 1844)
-				terminus   	(2903, 1844)
-				ordinal    	8)
-			    (object InterMessView "" @347
-				location   	(0, 1955)
-				label      	(object SegLabel @348
-				    Parent_View 	@347
-				    location   	(2681, 1911)
-				    quidu      	"39B8B1E701ED"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	475
-				    justify    	0
-				    label      	"IsFirst()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@229
-				Focus_Src  	@222
-				Focus_Entry 	@231
-				origin     	(2460, 1955)
-				terminus   	(2903, 1955)
-				ordinal    	9)
-			    (object SelfMessView "" @349
-				location   	(0, 2029)
-				label      	(object SegLabel @350
-				    Parent_View 	@349
-				    location   	(2716, 1999)
-				    quidu      	"39B8CA01015A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	712
-				    justify    	0
-				    label      	"MessageSend()"
-				    pctDist    	1.600000
-				    height     	30
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@221
-				Focus_Src  	@222
-				Focus_Entry 	@223
-				origin     	(2461, 2029)
-				terminus   	(2611, 2029)
-				ordinal    	10)
-			    (object InterMessView "" @351
-				location   	(0, 2141)
-				label      	(object SegLabel @352
-				    Parent_View 	@351
-				    location   	(2689, 2097)
-				    quidu      	"39B8CA33025F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	475
-				    justify    	0
-				    label      	"First()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@229
-				Focus_Src  	@223
-				Focus_Entry 	@232
-				origin     	(2460, 2141)
-				terminus   	(2903, 2141)
-				ordinal    	11)
-			    (object NoteView @353
-				location   	(3773, 2030)
-				label      	(object ItemLabel
-				    Parent_View 	@353
-				    location   	(3578, 1970)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	354
-				    label      	"Assume this is first message in queue")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	414
-				height     	133)
-			    (object InterMessView "" @354
-				location   	(0, 2262)
-				label      	(object SegLabel @355
-				    Parent_View 	@354
-				    location   	(2848, 2208)
-				    quidu      	"39B8CA8801E0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	487
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.385328
-				    height     	55
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@234
-				Focus_Src  	@223
-				Focus_Entry 	@235
-				origin     	(2460, 2262)
-				terminus   	(3445, 2262)
-				ordinal    	12)
-			    (object InterMessView "" @356
-				location   	(0, 2308)
-				label      	(object SegLabel @357
-				    Parent_View 	@356
-				    location   	(4533, 2264)
-				    quidu      	"39B8CCCD0087"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	700
-				    justify    	0
-				    label      	"AddEvent()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@247
-				Focus_Src  	@235
-				Focus_Entry 	@248
-				origin     	(3476, 2308)
-				terminus   	(5590, 2308)
-				ordinal    	13)
-			    (object SelfMessView "" @358
-				location   	(0, 2524)
-				label      	(object SegLabel @359
-				    Parent_View 	@358
-				    location   	(3886, 2536)
-				    quidu      	"39B8CD4C03A1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	875
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	2.626667
-				    height     	12
-				    orientation 	1)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@235
-				Focus_Entry 	@236
-				origin     	(3477, 2524)
-				terminus   	(3627, 2524)
-				ordinal    	15)
-			    (object InterMessView "" @360
-				location   	(0, 3220)
-				label      	(object SegLabel @361
-				    Parent_View 	@360
-				    location   	(3535, 3176)
-				    quidu      	"39B8D0C701AD"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	375
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@247
-				Focus_Src  	@198
-				Focus_Entry 	@249
-				origin     	(1481, 3220)
-				terminus   	(5590, 3220)
-				ordinal    	18)
-			    (object SelfMessView "" @362
-				location   	(0, 3276)
-				label      	(object SegLabel @363
-				    Parent_View 	@362
-				    location   	(5784, 3234)
-				    quidu      	"39B8D0D6001D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	562
-				    justify    	0
-				    label      	"DoRunL()"
-				    pctDist    	0.980000
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@247
-				Focus_Src  	@249
-				Focus_Entry 	@250
-				origin     	(5622, 3276)
-				terminus   	(5772, 3276)
-				ordinal    	19)
-			    (object SelfMessView "" @364
-				location   	(0, 3405)
-				label      	(object SegLabel @365
-				    Parent_View 	@364
-				    location   	(5794, 3363)
-				    quidu      	"39B8D0EF0204"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	625
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.053333
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@247
-				Focus_Src  	@249
-				Focus_Entry 	@251
-				origin     	(5622, 3405)
-				terminus   	(5772, 3405)
-				ordinal    	20)
-			    (object SelfMessView "" @366
-				location   	(0, 3513)
-				label      	(object SegLabel @367
-				    Parent_View 	@366
-				    location   	(5840, 3475)
-				    quidu      	"39B8D11100CC"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	812
-				    justify    	0
-				    label      	"DoComplete()"
-				    pctDist    	1.260000
-				    height     	39
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@247
-				Focus_Src  	@251
-				Focus_Entry 	@252
-				origin     	(5622, 3513)
-				terminus   	(5772, 3513)
-				ordinal    	21)
-			    (object InterMessView "" @368
-				location   	(0, 2829)
-				label      	(object SegLabel @369
-				    Parent_View 	@368
-				    location   	(7832, 2774)
-				    quidu      	"39B8D4170134"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	875
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.781879
-				    height     	56
-				    orientation 	0)
-				line_color 	3342489
-				client     	@259
-				supplier   	@264
-				Focus_Src  	@261
-				Focus_Entry 	@265
-				origin     	(7600, 2829)
-				terminus   	(7897, 2829)
-				ordinal    	16)
-			    (object InterMessView "" @370
-				location   	(0, 3010)
-				label      	(object SegLabel @371
-				    Parent_View 	@370
-				    location   	(4690, 2966)
-				    quidu      	"39B8D46002F2"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1765
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@266
-				Focus_Entry 	@197
-				origin     	(7897, 3010)
-				terminus   	(1482, 3010)
-				ordinal    	17)
-			    (object InterMessView "" @372
-				location   	(0, 3602)
-				label      	(object SegLabel @373
-				    Parent_View 	@372
-				    location   	(6766, 3558)
-				    quidu      	"39B8D4930255"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1031
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@264
-				Focus_Src  	@251
-				Focus_Entry 	@267
-				origin     	(5621, 3602)
-				terminus   	(7897, 3602)
-				ordinal    	22)
-			    (object InterMessView "" @374
-				location   	(0, 3997)
-				label      	(object SegLabel @375
-				    Parent_View 	@374
-				    location   	(4690, 3953)
-				    quidu      	"39B8D4A60266"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1765
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@268
-				Focus_Entry 	@199
-				origin     	(7897, 3997)
-				terminus   	(1482, 3997)
-				ordinal    	23)
-			    (object InterMessView "" @376
-				location   	(0, 4193)
-				label      	(object SegLabel @377
-				    Parent_View 	@376
-				    location   	(2463, 4149)
-				    quidu      	"39B8D506028D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	300
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@234
-				Focus_Src  	@200
-				Focus_Entry 	@237
-				origin     	(1481, 4193)
-				terminus   	(3445, 4193)
-				ordinal    	24)
-			    (object SelfMessView "" @378
-				location   	(0, 4267)
-				label      	(object SegLabel @379
-				    Parent_View 	@378
-				    location   	(3735, 4215)
-				    quidu      	"39B8D59E0136"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	969
-				    justify    	0
-				    label      	"SegmentMessage()"
-				    pctDist    	1.620000
-				    height     	53
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@237
-				Focus_Entry 	@238
-				origin     	(3477, 4267)
-				terminus   	(3627, 4267)
-				ordinal    	25)
-			    (object SelfMessView "" @380
-				location   	(0, 4398)
-				label      	(object SegLabel @381
-				    Parent_View 	@380
-				    location   	(3809, 4350)
-				    quidu      	"39B8D5B602A3"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1203
-				    justify    	0
-				    label      	"DoSegmentMessageL()"
-				    pctDist    	2.020000
-				    height     	49
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@238
-				Focus_Entry 	@239
-				origin     	(3477, 4398)
-				terminus   	(3627, 4398)
-				ordinal    	26)
-			    (object InterMessView "" @382
-				location   	(0, 4516)
-				label      	(object SegLabel @383
-				    Parent_View 	@382
-				    location   	(4061, 4472)
-				    quidu      	"39B8D640019E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1140
-				    justify    	0
-				    label      	"OptimizeSettingsL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@292
-				Focus_Src  	@239
-				Focus_Entry 	@293
-				origin     	(3476, 4516)
-				terminus   	(4616, 4516)
-				ordinal    	27)
-			    (object InterMessView "" @384
-				location   	(0, 4635)
-				label      	(object SegLabel @385
-				    Parent_View 	@384
-				    location   	(4061, 4591)
-				    quidu      	"39B8D6670117"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1343
-				    justify    	0
-				    label      	"EncodeMessagePDUsL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@292
-				Focus_Src  	@239
-				Focus_Entry 	@294
-				origin     	(3476, 4635)
-				terminus   	(4616, 4635)
-				ordinal    	28)
-			    (object InterMessView "" @386
-				location   	(0, 4765)
-				label      	(object SegLabel @387
-				    Parent_View 	@386
-				    location   	(4298, 4721)
-				    quidu      	"39B8D67D0214"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	890
-				    justify    	0
-				    label      	"AddSubmitL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@288
-				Focus_Src  	@239
-				Focus_Entry 	@289
-				origin     	(3476, 4765)
-				terminus   	(5090, 4765)
-				ordinal    	29)
-			    (object InterMessView "" @388
-				location   	(0, 4827)
-				label      	(object SegLabel @389
-				    Parent_View 	@388
-				    location   	(2968, 4783)
-				    quidu      	"39B8D6AB010A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	984
-				    justify    	0
-				    label      	"EncodedPDUs()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@234
-				supplier   	@221
-				Focus_Src  	@239
-				Focus_Entry 	@224
-				origin     	(3445, 4827)
-				terminus   	(2461, 4827)
-				ordinal    	30)
-			    (object NoteView @390
-				location   	(2685, 4617)
-				label      	(object ItemLabel
-				    Parent_View 	@390
-				    location   	(2484, 4561)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	367
-				    label      	"Assume no error encoding PDUs")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	427
-				height     	124)
-			    (object InterMessView "" @391
-				location   	(0, 5150)
-				label      	(object SegLabel @392
-				    Parent_View 	@391
-				    location   	(5694, 5106)
-				    quidu      	"39B8D6FD016E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1031
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@264
-				Focus_Src  	@238
-				Focus_Entry 	@269
-				origin     	(3476, 5150)
-				terminus   	(7897, 5150)
-				ordinal    	32)
-			    (object SelfMessView "" @393
-				location   	(0, 5272)
-				label      	(object SegLabel @394
-				    Parent_View 	@393
-				    location   	(3718, 5230)
-				    quidu      	"39B8D70B02B7"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	719
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.406667
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@238
-				Focus_Entry 	@240
-				origin     	(3477, 5272)
-				terminus   	(3627, 5272)
-				ordinal    	33)
-			    (object NoteView @395
-				location   	(5827, 4292)
-				label      	(object ItemLabel
-				    Parent_View 	@395
-				    location   	(5412, 4231)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	795
-				    label      	"EncodeMessagePDUsL() is described in a different  scenario.  Assume it succeeds.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	855
-				height     	135)
-			    (object NoteView @396
-				location   	(6023, 4581)
-				label      	(object ItemLabel
-				    Parent_View 	@396
-				    location   	(5608, 4525)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	795
-				    label      	"AddSubmitL() is described in a separate scenario.  Assume it succeeds.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	855
-				height     	125)
-			    (object InterMessView "" @397
-				location   	(0, 5742)
-				label      	(object SegLabel @398
-				    Parent_View 	@397
-				    location   	(4690, 5698)
-				    quidu      	"39B8DB210094"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1812
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@270
-				Focus_Entry 	@201
-				origin     	(7897, 5742)
-				terminus   	(1482, 5742)
-				ordinal    	34)
-			    (object InterMessView "" @399
-				location   	(0, 5978)
-				label      	(object SegLabel @400
-				    Parent_View 	@399
-				    location   	(2463, 5934)
-				    quidu      	"39B8DB3D02B1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	337
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@234
-				Focus_Src  	@202
-				Focus_Entry 	@241
-				origin     	(1481, 5978)
-				terminus   	(3445, 5978)
-				ordinal    	35)
-			    (object SelfMessView "" @401
-				location   	(0, 6044)
-				label      	(object SegLabel @402
-				    Parent_View 	@401
-				    location   	(3700, 6008)
-				    quidu      	"39B8DB6C0183"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	875
-				    justify    	0
-				    label      	"SendNextPDU()"
-				    pctDist    	1.393333
-				    height     	37
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@241
-				Focus_Entry 	@242
-				origin     	(3477, 6044)
-				terminus   	(3627, 6044)
-				ordinal    	36)
-			    (object SelfMessView "" @403
-				location   	(0, 7362)
-				label      	(object SegLabel @404
-				    Parent_View 	@403
-				    location   	(3567, 7318)
-				    quidu      	"39B8DBA401B5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	687
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@241
-				Focus_Entry 	@243
-				origin     	(3477, 7362)
-				terminus   	(3627, 7362)
-				ordinal    	46)
-			    (object InterMessView "" @405
-				location   	(0, 6187)
-				label      	(object SegLabel @406
-				    Parent_View 	@405
-				    location   	(3671, 6143)
-				    quidu      	"39B8DC59015C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	500
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@296
-				Focus_Src  	@241
-				Focus_Entry 	@297
-				origin     	(3476, 6187)
-				terminus   	(3866, 6187)
-				ordinal    	37)
-			    (object SelfMessView "" @407
-				location   	(0, 6253)
-				label      	(object SegLabel @408
-				    Parent_View 	@407
-				    location   	(4075, 6203)
-				    quidu      	"39B8DC8B03C1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	719
-				    justify    	0
-				    label      	"SendTry()"
-				    pctDist    	1.080000
-				    height     	51
-				    orientation 	0)
-				line_color 	3342489
-				client     	@296
-				supplier   	@296
-				Focus_Src  	@297
-				Focus_Entry 	@298
-				origin     	(3898, 6253)
-				terminus   	(4048, 6253)
-				ordinal    	38)
-			    (object InterMessView "" @409
-				location   	(0, 6418)
-				label      	(object SegLabel @410
-				    Parent_View 	@409
-				    location   	(4101, 6377)
-				    quidu      	"39B8DCB500F0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	578
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.595318
-				    height     	42
-				    orientation 	0)
-				line_color 	3342489
-				client     	@296
-				supplier   	@304
-				Focus_Src  	@297
-				Focus_Entry 	@305
-				origin     	(3897, 6418)
-				terminus   	(4241, 6418)
-				ordinal    	39)
-			    (object SelfMessView "" @411
-				location   	(0, 7171)
-				label      	(object SegLabel @412
-				    Parent_View 	@411
-				    location   	(4097, 7127)
-				    quidu      	"39B8DCCF0093"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	765
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.233333
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@296
-				supplier   	@296
-				Focus_Src  	@297
-				Focus_Entry 	@299
-				origin     	(3898, 7171)
-				terminus   	(4048, 7171)
-				ordinal    	45)
-			    (object InterMessView "" @413
-				location   	(0, 6452)
-				label      	(object SegLabel @414
-				    Parent_View 	@413
-				    location   	(6044, 6390)
-				    quidu      	"39B8DDB7017E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1359
-				    justify    	0
-				    label      	"SendAdvSmsMessage()"
-				    pctDist    	0.687595
-				    height     	63
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@320
-				Focus_Src  	@305
-				Focus_Entry 	@321
-				origin     	(4272, 6452)
-				terminus   	(6850, 6452)
-				ordinal    	40)
-			    (object SelfMessView "" @415
-				location   	(0, 6685)
-				label      	(object SegLabel @416
-				    Parent_View 	@415
-				    location   	(4419, 6643)
-				    quidu      	"39B8DE040251"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	719
-				    justify    	0
-				    label      	"Queue()"
-				    pctDist    	0.880000
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@305
-				Focus_Entry 	@306
-				origin     	(4273, 6685)
-				terminus   	(4423, 6685)
-				ordinal    	42)
-			    (object InterMessView "" @417
-				location   	(0, 6550)
-				label      	(object SegLabel @418
-				    Parent_View 	@417
-				    location   	(7266, 6491)
-				    quidu      	"39B8DE240397"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1687
-				    justify    	0
-				    label      	"Asynchronous Server Request"
-				    pctDist    	1.043127
-				    height     	60
-				    orientation 	0)
-				line_color 	3342489
-				client     	@320
-				supplier   	@322
-				Focus_Src  	@321
-				Focus_Entry 	@323
-				origin     	(6881, 6550)
-				terminus   	(7251, 6550)
-				ordinal    	41)
-			    (object SelfMessView "" @419
-				location   	(0, 6813)
-				label      	(object SegLabel @420
-				    Parent_View 	@419
-				    location   	(4500, 6777)
-				    quidu      	"39B8DEE60241"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1094
-				    justify    	0
-				    label      	"TimedSetActive()"
-				    pctDist    	1.420000
-				    height     	37
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@305
-				Focus_Entry 	@307
-				origin     	(4273, 6813)
-				terminus   	(4423, 6813)
-				ordinal    	43)
-			    (object NoteView @421
-				location   	(591, 2159)
-				label      	(object ItemLabel
-				    Parent_View 	@421
-				    location   	(54, 1899)
-				    fill_color 	13434879
-				    nlines     	10
-				    max_width  	1039
-				    label      	
-|ASSUMPTIONS
-|============
-|1. There are no errors.
-|2. Client has has opened a socket and bound to a SMS address type that allows sending.
-|3. Modem is connected.
-|4. An event logger is present.
-|5. Message can be encoded in a single PDU.
-|6. Sending doesn't time out.
-|7. Network sends message to destination successfully
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	1099
-				height     	533)
-			    (object InterMessView "" @422
-				location   	(0, 6890)
-				label      	(object SegLabel @423
-				    Parent_View 	@422
-				    location   	(6411, 6843)
-				    quidu      	"39B912DB0251"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	734
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.997006
-				    height     	48
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@325
-				Focus_Src  	@307
-				Focus_Entry 	@326
-				origin     	(4272, 6890)
-				terminus   	(6418, 6890)
-				ordinal    	44)
-			    (object NoteView @424
-				location   	(6259, 6623)
-				label      	(object ItemLabel
-				    Parent_View 	@424
-				    location   	(5882, 6533)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	719
-				    label      	"The timeout mechanism is described in a separate scenario.  Assume that the timeout doesn't fire.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	779
-				height     	192)
-			    (object NoteView @425
-				location   	(586, 2689)
-				label      	(object ItemLabel
-				    Parent_View 	@425
-				    location   	(53, 2449)
-				    fill_color 	13434879
-				    nlines     	9
-				    max_width  	1031
-				    label      	
-|OTHER SCENARIOS REFERENCED
-|===========================
-|1. Internalizing a message by the provider.
-|2. EncodeMessagePDUsL().
-|3. Adding a Log Event.
-|4. AddSubmitL().
-|5. Timeout.
-|6. Adding a message reference to the segmentation store
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	1091
-				height     	492)
-			    (object InterMessView "" @426
-				location   	(0, 7658)
-				label      	(object SegLabel @427
-				    Parent_View 	@426
-				    location   	(7589, 7614)
-				    quidu      	"39B9146F000E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	922
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@322
-				supplier   	@264
-				Focus_Src  	@324
-				Focus_Entry 	@271
-				origin     	(7282, 7658)
-				terminus   	(7897, 7658)
-				ordinal    	47)
-			    (object InterMessView "" @428
-				location   	(0, 7838)
-				label      	(object SegLabel @429
-				    Parent_View 	@428
-				    location   	(4690, 7794)
-				    quidu      	"39B914910188"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1812
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@272
-				Focus_Entry 	@203
-				origin     	(7897, 7838)
-				terminus   	(1482, 7838)
-				ordinal    	48)
-			    (object InterMessView "" @430
-				location   	(0, 8106)
-				label      	(object SegLabel @431
-				    Parent_View 	@430
-				    location   	(2861, 8062)
-				    quidu      	"39B914EB01BB"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	422
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@304
-				Focus_Src  	@204
-				Focus_Entry 	@308
-				origin     	(1481, 8106)
-				terminus   	(4241, 8106)
-				ordinal    	49)
-			    (object InterMessView "" @432
-				location   	(0, 2344)
-				label      	(object SegLabel @433
-				    Parent_View 	@432
-				    location   	(6595, 2300)
-				    quidu      	"39CF7D7203D7"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1453
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@259
-				Focus_Src  	@248
-				Focus_Entry 	@260
-				origin     	(5621, 2344)
-				terminus   	(7569, 2344)
-				ordinal    	14)
-			    (object NoteView @434
-				location   	(5516, 2027)
-				label      	(object ItemLabel
-				    Parent_View 	@434
-				    location   	(5125, 1947)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	747
-				    label      	"AddEvent() is described in detail in the SMS UtilitiesPackage")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	807
-				height     	173)
-			    (object SelfMessView "" @435
-				location   	(0, 8210)
-				label      	(object SegLabel @436
-				    Parent_View 	@435
-				    location   	(4588, 8153)
-				    quidu      	"39D099B40330"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	406
-				    justify    	0
-				    label      	"DoRunL()"
-				    pctDist    	2.000000
-				    height     	58
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@308
-				Focus_Entry 	@309
-				origin     	(4273, 8210)
-				terminus   	(4423, 8210)
-				ordinal    	50)
-			    (object SelfMessView "" @437
-				location   	(0, 8286)
-				label      	(object SegLabel @438
-				    Parent_View 	@437
-				    location   	(4740, 8287)
-				    quidu      	"39D09A350051"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	844
-				    justify    	0
-				    label      	"DecodeSubmitReportL()"
-				    pctDist    	2.913333
-				    height     	1
-				    orientation 	1)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@309
-				Focus_Entry 	@310
-				origin     	(4273, 8286)
-				terminus   	(4423, 8286)
-				ordinal    	51)
-			    (object InterMessView "" @439
-				location   	(0, 8411)
-				label      	(object SegLabel @440
-				    Parent_View 	@439
-				    location   	(4459, 8367)
-				    quidu      	"39D09A7E0274"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	448
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@292
-				Focus_Src  	@310
-				Focus_Entry 	@295
-				origin     	(4272, 8411)
-				terminus   	(4616, 8411)
-				ordinal    	52)
-			    (object SelfMessView "" @441
-				location   	(0, 8539)
-				label      	(object SegLabel @442
-				    Parent_View 	@441
-				    location   	(4646, 8548)
-				    quidu      	"39D09ADC0001"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	448
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	2.386667
-				    height     	9
-				    orientation 	1)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@308
-				Focus_Entry 	@311
-				origin     	(4273, 8539)
-				terminus   	(4423, 8539)
-				ordinal    	53)
-			    (object SelfMessView "" @443
-				location   	(0, 8611)
-				label      	(object SegLabel @444
-				    Parent_View 	@443
-				    location   	(4647, 8654)
-				    quidu      	"39D09AEA00C9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	573
-				    justify    	0
-				    label      	"DoComplete()"
-				    pctDist    	2.300000
-				    height     	43
-				    orientation 	1)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@311
-				Focus_Entry 	@312
-				origin     	(4273, 8611)
-				terminus   	(4423, 8611)
-				ordinal    	54)
-			    (object InterMessView "" @445
-				location   	(0, 8778)
-				label      	(object SegLabel @446
-				    Parent_View 	@445
-				    location   	(6084, 8734)
-				    quidu      	"39D09B1E038C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	667
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@264
-				Focus_Src  	@308
-				Focus_Entry 	@273
-				origin     	(4272, 8778)
-				terminus   	(7897, 8778)
-				ordinal    	55)
-			    (object InterMessView "" @447
-				location   	(0, 9132)
-				label      	(object SegLabel @448
-				    Parent_View 	@447
-				    location   	(4690, 9088)
-				    quidu      	"39D09B3B035B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1450
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@274
-				Focus_Entry 	@205
-				origin     	(7897, 9132)
-				terminus   	(1482, 9132)
-				ordinal    	56)
-			    (object InterMessView "" @449
-				location   	(0, 9371)
-				label      	(object SegLabel @450
-				    Parent_View 	@449
-				    location   	(2673, 9327)
-				    quidu      	"39D09B74014B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	281
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@296
-				Focus_Src  	@206
-				Focus_Entry 	@300
-				origin     	(1481, 9371)
-				terminus   	(3866, 9371)
-				ordinal    	57)
-			    (object NoteView @451
-				location   	(644, 1638)
-				label      	(object ItemLabel
-				    Parent_View 	@451
-				    location   	(233, 1577)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	786
-				    label      	
-|* Step 1 of Send *
-|Log event to event logger
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	846
-				height     	134)
-			    (object NoteView @452
-				location   	(625, 4662)
-				label      	(object ItemLabel
-				    Parent_View 	@452
-				    location   	(214, 4601)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	786
-				    label      	
-|* Step 2 of Send *
-|Segment and encode PDUs
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	846
-				height     	134)
-			    (object NoteView @453
-				location   	(663, 6395)
-				label      	(object ItemLabel
-				    Parent_View 	@453
-				    location   	(219, 6339)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	853
-				    label      	
-|* Step 3 of Send *
-|Sends the(single) PDU.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	913
-				height     	125)
-			    (object NoteView @454
-				location   	(687, 8370)
-				label      	(object ItemLabel
-				    Parent_View 	@454
-				    location   	(219, 8280)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	901
-				    label      	
-|* Step 4 of Send *
-|Decode the submit report PDU and check for errors.  Assume there were none.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	961
-				height     	193)
-			    (object NoteView @455
-				location   	(762, 9545)
-				label      	(object ItemLabel
-				    Parent_View 	@455
-				    location   	(208, 9447)
-				    fill_color 	13434879
-				    nlines     	4
-				    max_width  	1073
-				    label      	
-|* Step 5 of Send *
-|Checks for send failure and retries until a maximum limit.
-|Success was previously assumed.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	1133
-				height     	209)
-			    (object SelfMessView "" @456
-				location   	(0, 9439)
-				label      	(object SegLabel @457
-				    Parent_View 	@456
-				    location   	(3988, 9395)
-				    quidu      	"39D09F4F0316"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	487
-				    justify    	0
-				    label      	"DoRunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@296
-				supplier   	@296
-				Focus_Src  	@300
-				Focus_Entry 	@301
-				origin     	(3898, 9439)
-				terminus   	(4048, 9439)
-				ordinal    	58)
-			    (object SelfMessView "" @458
-				location   	(0, 9569)
-				label      	(object SegLabel @459
-				    Parent_View 	@458
-				    location   	(4226, 9571)
-				    quidu      	"39D09F5A0109"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	537
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	2.093333
-				    height     	2
-				    orientation 	1)
-				line_color 	3342489
-				client     	@296
-				supplier   	@296
-				Focus_Src  	@300
-				Focus_Entry 	@302
-				origin     	(3898, 9569)
-				terminus   	(4048, 9569)
-				ordinal    	59)
-			    (object SelfMessView "" @460
-				location   	(0, 9631)
-				label      	(object SegLabel @461
-				    Parent_View 	@460
-				    location   	(4277, 9662)
-				    quidu      	"39D09F630347"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	637
-				    justify    	0
-				    label      	"DoComplete"
-				    pctDist    	2.333333
-				    height     	31
-				    orientation 	1)
-				line_color 	3342489
-				client     	@296
-				supplier   	@296
-				Focus_Src  	@302
-				Focus_Entry 	@303
-				origin     	(3898, 9631)
-				terminus   	(4048, 9631)
-				ordinal    	60)
-			    (object InterMessView "" @462
-				location   	(0, 9782)
-				label      	(object SegLabel @463
-				    Parent_View 	@462
-				    location   	(5897, 9738)
-				    quidu      	"39D09F7702EC"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	800
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@296
-				supplier   	@264
-				Focus_Src  	@300
-				Focus_Entry 	@275
-				origin     	(3897, 9782)
-				terminus   	(7897, 9782)
-				ordinal    	61)
-			    (object InterMessView "" @464
-				location   	(0, 10098)
-				label      	(object SegLabel @465
-				    Parent_View 	@464
-				    location   	(4690, 10054)
-				    quidu      	"39D09F8E02EE"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1450
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@276
-				Focus_Entry 	@207
-				origin     	(7897, 10098)
-				terminus   	(1482, 10098)
-				ordinal    	62)
-			    (object NoteView @466
-				location   	(6477, 10398)
-				label      	(object ItemLabel
-				    Parent_View 	@466
-				    location   	(6143, 10289)
-				    fill_color 	13434879
-				    nlines     	4
-				    max_width  	632
-				    label      	
-|Appends the message reference to the list of message references for this message in the segmentation store.
-|This is described in detail elsewhere.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	692
-				height     	231)
-			    (object InterMessView "" @467
-				location   	(0, 11446)
-				label      	(object SegLabel @468
-				    Parent_View 	@467
-				    location   	(4690, 11402)
-				    quidu      	"39D0A50E0311"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1450
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@278
-				Focus_Entry 	@209
-				origin     	(7897, 11446)
-				terminus   	(1482, 11446)
-				ordinal    	69)
-			    (object NoteView @469
-				location   	(682, 10486)
-				label      	(object ItemLabel
-				    Parent_View 	@469
-				    location   	(209, 10396)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	911
-				    label      	
-|* Step 6 of Send *
-|Updates sent PDU count and adds message send reference to the segmentation store.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	971
-				height     	193)
-			    (object NoteView @470
-				location   	(5582, 12161)
-				label      	(object ItemLabel
-				    Parent_View 	@470
-				    location   	(5248, 12091)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	632
-				    label      	"ChangeEvent() changes the status of the log event.  This is described in detail elsewhere.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	692
-				height     	153)
-			    (object AttachView "" @471
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@384
-				supplier   	@395
-				line_style 	0)
-			    (object AttachView "" @472
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@386
-				supplier   	@396
-				line_style 	0)
-			    (object AttachView "" @473
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@390
-				supplier   	@388
-				line_style 	0)
-			    (object AttachView "" @474
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@336
-				supplier   	@342
-				line_style 	0)
-			    (object AttachView "" @475
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@338
-				supplier   	@343
-				line_style 	0)
-			    (object AttachView "" @476
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@353
-				supplier   	@351
-				line_style 	0)
-			    (object AttachView "" @477
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@356
-				supplier   	@434
-				line_style 	0)
-			    (object InterMessView "" @478
-				location   	(0, 12364)
-				label      	(object SegLabel @479
-				    Parent_View 	@478
-				    location   	(7748, 12320)
-				    quidu      	"39D0A93A0014"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	737
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@259
-				supplier   	@264
-				Focus_Src  	@263
-				Focus_Entry 	@279
-				origin     	(7600, 12364)
-				terminus   	(7897, 12364)
-				ordinal    	76)
-			    (object InterMessView "" @480
-				location   	(0, 12593)
-				label      	(object SegLabel @481
-				    Parent_View 	@480
-				    location   	(4690, 12549)
-				    quidu      	"39D0A95403B4"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1450
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@280
-				Focus_Entry 	@211
-				origin     	(7897, 12593)
-				terminus   	(1482, 12593)
-				ordinal    	77)
-			    (object InterMessView "" @482
-				location   	(0, 12822)
-				label      	(object SegLabel @483
-				    Parent_View 	@482
-				    location   	(3535, 12778)
-				    quidu      	"39D0A9800191"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	281
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@247
-				Focus_Src  	@212
-				Focus_Entry 	@255
-				origin     	(1481, 12822)
-				terminus   	(5590, 12822)
-				ordinal    	78)
-			    (object SelfMessView "" @484
-				location   	(0, 12881)
-				label      	(object SegLabel @485
-				    Parent_View 	@484
-				    location   	(5712, 12837)
-				    quidu      	"39D0A9CD017D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	487
-				    justify    	0
-				    label      	"DoRunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@247
-				Focus_Src  	@255
-				Focus_Entry 	@256
-				origin     	(5622, 12881)
-				terminus   	(5772, 12881)
-				ordinal    	79)
-			    (object SelfMessView "" @486
-				location   	(0, 12996)
-				label      	(object SegLabel @487
-				    Parent_View 	@486
-				    location   	(5813, 12963)
-				    quidu      	"39D0A9E30053"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	537
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.180000
-				    height     	34
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@247
-				Focus_Src  	@255
-				Focus_Entry 	@257
-				origin     	(5622, 12996)
-				terminus   	(5772, 12996)
-				ordinal    	80)
-			    (object InterMessView "" @488
-				location   	(0, 13228)
-				label      	(object SegLabel @489
-				    Parent_View 	@488
-				    location   	(6766, 13184)
-				    quidu      	"39D0A9FB01CA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	862
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@264
-				Focus_Src  	@257
-				Focus_Entry 	@281
-				origin     	(5621, 13228)
-				terminus   	(7897, 13228)
-				ordinal    	82)
-			    (object SelfMessView "" @490
-				location   	(0, 13100)
-				label      	(object SegLabel @491
-				    Parent_View 	@490
-				    location   	(5860, 13069)
-				    quidu      	"39D0AA050232"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	687
-				    justify    	0
-				    label      	"DoComplete()"
-				    pctDist    	1.393333
-				    height     	32
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@247
-				Focus_Src  	@257
-				Focus_Entry 	@258
-				origin     	(5622, 13100)
-				terminus   	(5772, 13100)
-				ordinal    	81)
-			    (object InterMessView "" @492
-				location   	(0, 13572)
-				label      	(object SegLabel @493
-				    Parent_View 	@492
-				    location   	(4690, 13528)
-				    quidu      	"39D0AA3F0272"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1475
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@194
-				Focus_Src  	@282
-				Focus_Entry 	@213
-				origin     	(7897, 13572)
-				terminus   	(1482, 13572)
-				ordinal    	83)
-			    (object NoteView @494
-				location   	(695, 11787)
-				label      	(object ItemLabel
-				    Parent_View 	@494
-				    location   	(212, 11712)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	930
-				    label      	
-|* Step 7 of Send *
-|Update the entry for this message in the event logger.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	990
-				height     	163)
-			    (object InterMessView "" @495
-				location   	(0, 13723)
-				label      	(object SegLabel @496
-				    Parent_View 	@495
-				    location   	(2463, 13679)
-				    quidu      	"39D0AB98030E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	281
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@234
-				Focus_Src  	@214
-				Focus_Entry 	@244
-				origin     	(1481, 13723)
-				terminus   	(3445, 13723)
-				ordinal    	84)
-			    (object SelfMessView "" @497
-				location   	(0, 13803)
-				label      	(object SegLabel @498
-				    Parent_View 	@497
-				    location   	(3704, 13763)
-				    quidu      	"39D0ABAC0281"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	700
-				    justify    	0
-				    label      	"SendNextPDU()"
-				    pctDist    	1.420000
-				    height     	41
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@244
-				Focus_Entry 	@245
-				origin     	(3477, 13803)
-				terminus   	(3627, 13803)
-				ordinal    	85)
-			    (object SelfMessView "" @499
-				location   	(0, 13928)
-				label      	(object SegLabel @500
-				    Parent_View 	@499
-				    location   	(3674, 13892)
-				    quidu      	"39D0ABCA02CA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	537
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.213333
-				    height     	37
-				    orientation 	0)
-				line_color 	3342489
-				client     	@234
-				supplier   	@234
-				Focus_Src  	@244
-				Focus_Entry 	@246
-				origin     	(3477, 13928)
-				terminus   	(3627, 13928)
-				ordinal    	86)
-			    (object AttachView "" @501
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@422
-				supplier   	@424
-				line_style 	0)
-			    (object NoteView @502
-				location   	(5499, 13820)
-				label      	(object ItemLabel
-				    Parent_View 	@502
-				    location   	(5209, 13754)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	545
-				    label      	"Would remove PDUs from the sent array if errors occurred.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	605
-				height     	144)
-			    (object InterMessView "" @503
-				location   	(0, 13996)
-				label      	(object SegLabel @504
-				    Parent_View 	@503
-				    location   	(2961, 13952)
-				    quidu      	"39D0B149009C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	594
-				    justify    	0
-				    label      	"UnsentPDUs()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@234
-				supplier   	@221
-				Focus_Src  	@246
-				Focus_Entry 	@225
-				origin     	(3445, 13996)
-				terminus   	(2461, 13996)
-				ordinal    	87)
-			    (object InterMessView "" @505
-				location   	(0, 14288)
-				label      	(object SegLabel @506
-				    Parent_View 	@505
-				    location   	(2961, 14244)
-				    quidu      	"39D0B19903B8"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	920
-				    justify    	0
-				    label      	"MessageSendCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@234
-				supplier   	@221
-				Focus_Src  	@246
-				Focus_Entry 	@226
-				origin     	(3445, 14288)
-				terminus   	(2461, 14288)
-				ordinal    	89)
-			    (object SelfMessView "" @507
-				location   	(0, 14369)
-				label      	(object SegLabel @508
-				    Parent_View 	@507
-				    location   	(2974, 14374)
-				    quidu      	"39D0B1AC02D9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1083
-				    justify    	0
-				    label      	"NotifyMessageSendObserver()"
-				    pctDist    	3.326667
-				    height     	5
-				    orientation 	1)
-				line_color 	3342489
-				client     	@221
-				supplier   	@221
-				Focus_Src  	@226
-				Focus_Entry 	@227
-				origin     	(2461, 14369)
-				terminus   	(2611, 14369)
-				ordinal    	90)
-			    (object InterMessView "" @509
-				location   	(0, 14508)
-				label      	(object SegLabel @510
-				    Parent_View 	@509
-				    location   	(2127, 14464)
-				    quidu      	"39D0B1E102E0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1010
-				    justify    	0
-				    label      	"MessageSendCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@221
-				supplier   	@216
-				Focus_Src  	@227
-				Focus_Entry 	@219
-				origin     	(2429, 14508)
-				terminus   	(1810, 14508)
-				ordinal    	91)
-			    (object InterMessView "" @511
-				location   	(0, 14930)
-				label      	(object SegLabel @512
-				    Parent_View 	@511
-				    location   	(2689, 14886)
-				    quidu      	"39D0B20500B1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	573
-				    justify    	0
-				    label      	"Remove()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@229
-				Focus_Src  	@227
-				Focus_Entry 	@233
-				origin     	(2460, 14930)
-				terminus   	(2903, 14930)
-				ordinal    	95)
-			    (object SelfMessView "" @513
-				location   	(0, 15024)
-				label      	(object SegLabel @514
-				    Parent_View 	@513
-				    location   	(2730, 14988)
-				    quidu      	"39D0B24402F6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	729
-				    justify    	0
-				    label      	"MessageSend()"
-				    pctDist    	1.593333
-				    height     	37
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@221
-				Focus_Src  	@227
-				Focus_Entry 	@228
-				origin     	(2461, 15024)
-				terminus   	(2611, 15024)
-				ordinal    	96)
-			    (object NoteView @515
-				location   	(3268, 15128)
-				label      	(object ItemLabel
-				    Parent_View 	@515
-				    location   	(2882, 15048)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	737
-				    label      	"Called if the send message queue is not empty - would remove the next message off the queue and start again - assume now empty.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	797
-				height     	173)
-			    (object AttachView "" @516
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@513
-				supplier   	@515
-				line_style 	0)
-			    (object InterMessView "" @517
-				location   	(0, 15261)
-				label      	(object SegLabel @518
-				    Parent_View 	@517
-				    location   	(3782, 15217)
-				    quidu      	"39D0B2B70342"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1154
-				    justify    	0
-				    label      	"PurgeL(TTimeIntervalMinutes&, TBool)"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@288
-				Focus_Src  	@227
-				Focus_Entry 	@291
-				origin     	(2460, 15261)
-				terminus   	(5090, 15261)
-				ordinal    	97)
-			    (object NoteView @519
-				location   	(4970, 14887)
-				label      	(object ItemLabel
-				    Parent_View 	@519
-				    location   	(4454, 14807)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	997
-				    label      	"Called after KNumSARStoreAccessesBeforePurging accesses of the segmentation store.  Purges the store of expired messages - this is described in detail elsewhere.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	1057
-				height     	173)
-			    (object AttachView "" @520
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@519
-				supplier   	@517
-				line_style 	0)
-			    (object NoteView @521
-				location   	(650, 14513)
-				label      	(object ItemLabel
-				    Parent_View 	@521
-				    location   	(196, 14390)
-				    fill_color 	13434879
-				    nlines     	5
-				    max_width  	872
-				    label      	
-|* Step 8 of Send *
-|Notifies observer, removes message from send queue, checks for next message to send and whether the segmentation store should be purged.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	932
-				height     	259)
-			    (object InterMessView "" @522
-				location   	(0, 14545)
-				label      	(object SegLabel @523
-				    Parent_View 	@522
-				    location   	(1517, 14494)
-				    quidu      	"39D0B5C30307"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	812
-				    justify    	0
-				    label      	"CSocket::Error()"
-				    pctDist    	0.931507
-				    height     	52
-				    orientation 	1)
-				line_color 	3342489
-				client     	@216
-				supplier   	@194
-				Focus_Src  	@219
-				Focus_Entry 	@215
-				origin     	(1778, 14545)
-				terminus   	(1482, 14545)
-				ordinal    	92)
-			    (object SelfMessView "" @524
-				location   	(0, 14773)
-				label      	(object SegLabel @525
-				    Parent_View 	@524
-				    location   	(1905, 14715)
-				    quidu      	"39D0B5D80343"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1125
-				    justify    	0
-				    label      	"SetIoctlOutstanding(EFalse)"
-				    pctDist    	0.533333
-				    height     	59
-				    orientation 	0)
-				line_color 	3342489
-				client     	@216
-				supplier   	@216
-				Focus_Src  	@219
-				Focus_Entry 	@220
-				origin     	(1810, 14773)
-				terminus   	(1960, 14773)
-				ordinal    	94)
-			    (object InterMessView "" @526
-				location   	(0, 4914)
-				label      	(object SegLabel @527
-				    Parent_View 	@526
-				    location   	(4238, 4870)
-				    quidu      	"39D0B7AF035F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	887
-				    justify    	0
-				    label      	"EncodedPDUsL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@285
-				Focus_Src  	@224
-				Focus_Entry 	@286
-				origin     	(2460, 4914)
-				terminus   	(6017, 4914)
-				ordinal    	31)
-			    (object InterMessView "" @528
-				location   	(0, 14108)
-				label      	(object SegLabel @529
-				    Parent_View 	@528
-				    location   	(4238, 14064)
-				    quidu      	"39D0B8110193"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	775
-				    justify    	0
-				    label      	"UnsentPDUs()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@221
-				supplier   	@285
-				Focus_Src  	@225
-				Focus_Entry 	@287
-				origin     	(2460, 14108)
-				terminus   	(6017, 14108)
-				ordinal    	88)
-			    (object AttachView "" @530
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@528
-				supplier   	@502
-				line_style 	0)
-			    (object InterMessView "" @531
-				location   	(0, 11591)
-				label      	(object SegLabel @532
-				    Parent_View 	@531
-				    location   	(2861, 11547)
-				    quidu      	"39D0B871014B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	281
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@304
-				Focus_Src  	@210
-				Focus_Entry 	@317
-				origin     	(1481, 11591)
-				terminus   	(4241, 11591)
-				ordinal    	70)
-			    (object SelfMessView "" @533
-				location   	(0, 11657)
-				label      	(object SegLabel @534
-				    Parent_View 	@533
-				    location   	(4561, 11602)
-				    quidu      	"39D0B89100BA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	975
-				    justify    	0
-				    label      	"UpdateLogServerEvent()"
-				    pctDist    	1.820000
-				    height     	56
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@317
-				Focus_Entry 	@318
-				origin     	(4273, 11657)
-				terminus   	(4423, 11657)
-				ordinal    	71)
-			    (object InterMessView "" @535
-				location   	(0, 11726)
-				label      	(object SegLabel @536
-				    Parent_View 	@535
-				    location   	(4938, 11682)
-				    quidu      	"39D0B8A103D6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	725
-				    justify    	0
-				    label      	"ChangeEvent()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@247
-				Focus_Src  	@318
-				Focus_Entry 	@253
-				origin     	(4272, 11726)
-				terminus   	(5590, 11726)
-				ordinal    	72)
-			    (object SelfMessView "" @537
-				location   	(0, 12041)
-				label      	(object SegLabel @538
-				    Parent_View 	@537
-				    location   	(4477, 11998)
-				    quidu      	"39D0B8D8018F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	612
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.166667
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@318
-				Focus_Entry 	@319
-				origin     	(4273, 12041)
-				terminus   	(4423, 12041)
-				ordinal    	75)
-			    (object AttachView "" @539
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@470
-				supplier   	@535
-				line_style 	0)
-			    (object InterMessView "" @540
-				location   	(0, 11757)
-				label      	(object SegLabel @541
-				    Parent_View 	@540
-				    location   	(6595, 11713)
-				    quidu      	"39D0B8FA0238"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1287
-				    justify    	0
-				    label      	"Asynchronous Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@259
-				Focus_Src  	@253
-				Focus_Entry 	@262
-				origin     	(5621, 11757)
-				terminus   	(7569, 11757)
-				ordinal    	73)
-			    (object SelfMessView "" @542
-				location   	(0, 11861)
-				label      	(object SegLabel @543
-				    Parent_View 	@542
-				    location   	(5712, 11817)
-				    quidu      	"39D0B9060181"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	675
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@247
-				supplier   	@247
-				Focus_Src  	@253
-				Focus_Entry 	@254
-				origin     	(5622, 11861)
-				terminus   	(5772, 11861)
-				ordinal    	74)
-			    (object InterMessView "" @544
-				location   	(0, 10320)
-				label      	(object SegLabel @545
-				    Parent_View 	@544
-				    location   	(2861, 10276)
-				    quidu      	"39D0B96A0153"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	281
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@304
-				Focus_Src  	@208
-				Focus_Entry 	@313
-				origin     	(1481, 10320)
-				terminus   	(4241, 10320)
-				ordinal    	63)
-			    (object SelfMessView "" @546
-				location   	(0, 10397)
-				label      	(object SegLabel @547
-				    Parent_View 	@546
-				    location   	(4363, 10353)
-				    quidu      	"39D0B9F201C6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1075
-				    justify    	0
-				    label      	"UpdateSegmentationStore()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@313
-				Focus_Entry 	@314
-				origin     	(4273, 10397)
-				terminus   	(4423, 10397)
-				ordinal    	64)
-			    (object SelfMessView "" @548
-				location   	(0, 10470)
-				label      	(object SegLabel @549
-				    Parent_View 	@548
-				    location   	(4378, 10426)
-				    quidu      	"39D0BA0100F6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1225
-				    justify    	0
-				    label      	"DoUpdateSegmentationStore()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@314
-				Focus_Entry 	@315
-				origin     	(4273, 10470)
-				terminus   	(4423, 10470)
-				ordinal    	65)
-			    (object InterMessView "" @550
-				location   	(0, 10558)
-				label      	(object SegLabel @551
-				    Parent_View 	@550
-				    location   	(4696, 10514)
-				    quidu      	"39D0BA1B0176"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	850
-				    justify    	0
-				    label      	"AddReferenceL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@288
-				Focus_Src  	@315
-				Focus_Entry 	@290
-				origin     	(4272, 10558)
-				terminus   	(5090, 10558)
-				ordinal    	66)
-			    (object AttachView "" @552
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@550
-				supplier   	@466
-				line_style 	0)
-			    (object InterMessView "" @553
-				location   	(0, 10786)
-				label      	(object SegLabel @554
-				    Parent_View 	@553
-				    location   	(6084, 10742)
-				    quidu      	"39D0BA550147"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	800
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@264
-				Focus_Src  	@313
-				Focus_Entry 	@277
-				origin     	(4272, 10786)
-				terminus   	(7897, 10786)
-				ordinal    	67)
-			    (object SelfMessView "" @555
-				location   	(0, 10907)
-				label      	(object SegLabel @556
-				    Parent_View 	@555
-				    location   	(4363, 10863)
-				    quidu      	"39D0BA7801A1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	550
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@304
-				supplier   	@304
-				Focus_Src  	@313
-				Focus_Entry 	@316
-				origin     	(4273, 10907)
-				terminus   	(4423, 10907)
-				ordinal    	68)
-			    (object InterMessView "" @557
-				location   	(0, 14624)
-				label      	(object SegLabel @558
-				    Parent_View 	@557
-				    location   	(4696, 14580)
-				    quidu      	"39D0BD2702DF"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1031
-				    justify    	0
-				    label      	"RMessage::Complete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@194
-				supplier   	@264
-				Focus_Src  	@215
-				Focus_Entry 	@283
-				origin     	(1481, 14624)
-				terminus   	(7897, 14624)
-				ordinal    	93)
-			    (object InterMessView "" @559
-				location   	(0, 15695)
-				label      	(object SegLabel @560
-				    Parent_View 	@559
-				    location   	(4057, 15651)
-				    quidu      	"39D0BD650299"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1229
-				    justify    	0
-				    label      	"Asynchronous Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@264
-				supplier   	@182
-				Focus_Src  	@284
-				Focus_Entry 	@184
-				origin     	(7897, 15695)
-				terminus   	(217, 15695)
-				ordinal    	98)
-			    (object AttachView "" @561
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@344
-				supplier   	@345
-				line_style 	0)))
-		    (object InteractionDiagram "Protocol Initialisation"
-			mechanism_ref 	@4
-			quid       	"39D0DB5A00E7"
-			title      	"Protocol Initialisation"
-			zoom       	80
-			max_height 	28350
-			max_width  	21600
-			origin_x   	1480
-			origin_y   	139
-			items      	(list diagram_item_list
-			    (object InterObjView "$UNNAMED$22" @562
-				location   	(154, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@562
-				    location   	(154, 253)
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	360
-				    justify    	0
-				    label      	"")
-				icon       	"Actor"
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DC020193"
-				width      	336
-				height     	11272
-				icon_height 	162
-				icon_width 	120
-				icon_y_offset 	-8
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @563
-				    location   	(154, 437)
-				    line_color 	3342489
-				    InterObjView 	@562
-				    height     	3252
-				    y_coord    	3192
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @564
-				    location   	(154, 10298)
-				    line_color 	3342489
-				    InterObjView 	@562
-				    height     	1109
-				    y_coord    	1049
-				    Nested     	FALSE))
-			    (object InterObjView "RSocket" @565
-				location   	(484, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@565
-				    location   	(484, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"RSocket")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DC1301B6"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @566
-				    location   	(484, 437)
-				    line_color 	3342489
-				    InterObjView 	@565
-				    height     	3192
-				    y_coord    	3132
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @567
-				    location   	(484, 10298)
-				    line_color 	3342489
-				    InterObjView 	@565
-				    height     	1049
-				    y_coord    	989
-				    Nested     	FALSE))
-			    (object InterObjView "ESOCK Framework" @568
-				location   	(796, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@568
-				    location   	(796, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ESOCK Framework")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D0DC1F02DF"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @569
-				    location   	(796, 508)
-				    line_color 	3342489
-				    InterObjView 	@568
-				    height     	3061
-				    y_coord    	3001
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @570
-				    location   	(796, 758)
-				    line_color 	3342489
-				    InterObjView 	@568
-				    height     	9395
-				    y_coord    	9335
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @571
-				    location   	(796, 10352)
-				    line_color 	3342489
-				    InterObjView 	@568
-				    height     	935
-				    y_coord    	875
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$23" @572
-				location   	(1478, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@572
-				    location   	(1478, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DC2C0035"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @573
-				    location   	(1478, 9552)
-				    line_color 	3342489
-				    InterObjView 	@572
-				    height     	481
-				    y_coord    	421
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @574
-				    location   	(1478, 9629)
-				    line_color 	3342489
-				    InterObjView 	@572
-				    height     	344
-				    y_coord    	284
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @575
-				    location   	(1478, 9853)
-				    line_color 	3342489
-				    InterObjView 	@572
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @576
-				    location   	(1478, 10443)
-				    line_color 	3342489
-				    InterObjView 	@572
-				    height     	784
-				    y_coord    	724
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @577
-				    location   	(1478, 10595)
-				    line_color 	3342489
-				    InterObjView 	@572
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @578
-				    location   	(1478, 10759)
-				    line_color 	3342489
-				    InterObjView 	@572
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$25" @579
-				location   	(1787, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@579
-				    location   	(1787, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	288
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DC4301F1"
-				width      	306
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @580
-				    location   	(1787, 759)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	2690
-				    y_coord    	2630
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @581
-				    location   	(1787, 823)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	2566
-				    y_coord    	2506
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @582
-				    location   	(1787, 3563)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	5535
-				    y_coord    	5475
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @583
-				    location   	(1787, 9279)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @584
-				    location   	(1787, 9451)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	642
-				    y_coord    	582
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @585
-				    location   	(1787, 9750)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @586
-				    location   	(1787, 10497)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	670
-				    y_coord    	610
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @587
-				    location   	(1787, 10566)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	149
-				    y_coord    	89
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @588
-				    location   	(1787, 10851)
-				    line_color 	3342489
-				    InterObjView 	@579
-				    height     	256
-				    y_coord    	196
-				    Nested     	TRUE))
-			    (object InterObjView "RFs" @589
-				location   	(8423, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@589
-				    location   	(8423, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"RFs")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DEC001B1"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @590
-				    location   	(8423, 897)
-				    line_color 	3342489
-				    InterObjView 	@589
-				    height     	154
-				    y_coord    	94
-				    Nested     	FALSE))
-			    (object InterObjView "CCommsDatabase" @591
-				location   	(9047, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@591
-				    location   	(9047, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"CCommsDatabase")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1CBCC01F6"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @592
-				    location   	(9047, 3616)
-				    line_color 	3342489
-				    InterObjView 	@591
-				    height     	166
-				    y_coord    	106
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @593
-				    location   	(9047, 3842)
-				    line_color 	3342489
-				    InterObjView 	@591
-				    height     	167
-				    y_coord    	107
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @594
-				    location   	(9047, 4069)
-				    line_color 	3342489
-				    InterObjView 	@591
-				    height     	150
-				    y_coord    	90
-				    Nested     	FALSE))
-			    (object InterObjView "CCommsDbTableView" @595
-				location   	(9393, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@595
-				    location   	(9393, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	357
-				    justify    	0
-				    label      	"CCommsDbTableView")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1CBEA018B"
-				width      	375
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @596
-				    location   	(9393, 4279)
-				    line_color 	3342489
-				    InterObjView 	@595
-				    height     	163
-				    y_coord    	103
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @597
-				    location   	(9393, 4502)
-				    line_color 	3342489
-				    InterObjView 	@595
-				    height     	147
-				    y_coord    	87
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$43" @598
-				location   	(10059, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@598
-				    location   	(10059, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1CC3C0392"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @599
-				    location   	(10059, 4709)
-				    line_color 	3342489
-				    InterObjView 	@598
-				    height     	165
-				    y_coord    	105
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @600
-				    location   	(10059, 4934)
-				    line_color 	3342489
-				    InterObjView 	@598
-				    height     	151
-				    y_coord    	91
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @601
-				    location   	(10059, 5145)
-				    line_color 	3342489
-				    InterObjView 	@598
-				    height     	159
-				    y_coord    	99
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @602
-				    location   	(10059, 5364)
-				    line_color 	3342489
-				    InterObjView 	@598
-				    height     	151
-				    y_coord    	91
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @603
-				    location   	(10059, 5575)
-				    line_color 	3342489
-				    InterObjView 	@598
-				    height     	174
-				    y_coord    	114
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$44" @604
-				location   	(10377, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@604
-				    location   	(10377, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	299
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1CF2D0236"
-				width      	317
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @605
-				    location   	(10377, 5809)
-				    line_color 	3342489
-				    InterObjView 	@604
-				    height     	164
-				    y_coord    	104
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @606
-				    location   	(10377, 6504)
-				    line_color 	3342489
-				    InterObjView 	@604
-				    height     	171
-				    y_coord    	111
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @607
-				    location   	(10377, 7342)
-				    line_color 	3342489
-				    InterObjView 	@604
-				    height     	156
-				    y_coord    	96
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$45" @608
-				location   	(10734, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@608
-				    location   	(10734, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	341
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1CF2F01DF"
-				width      	359
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @609
-				    location   	(10734, 6033)
-				    line_color 	3342489
-				    InterObjView 	@608
-				    height     	158
-				    y_coord    	98
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @610
-				    location   	(10734, 6251)
-				    line_color 	3342489
-				    InterObjView 	@608
-				    height     	151
-				    y_coord    	91
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @611
-				    location   	(10734, 8306)
-				    line_color 	3342489
-				    InterObjView 	@608
-				    height     	171
-				    y_coord    	111
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @612
-				    location   	(10734, 8744)
-				    line_color 	3342489
-				    InterObjView 	@608
-				    height     	159
-				    y_coord    	99
-				    Nested     	FALSE))
-			    (object InterObjView "RSystemAgent" @613
-				location   	(11699, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@613
-				    location   	(11699, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	279
-				    justify    	0
-				    label      	"RSystemAgent")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1D15B02A6"
-				width      	297
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @614
-				    location   	(11699, 6938)
-				    line_color 	3342489
-				    InterObjView 	@613
-				    height     	170
-				    y_coord    	110
-				    Nested     	FALSE))
-			    (object InterObjView "SYSAGENT" @615
-				location   	(12002, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@615
-				    location   	(12002, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	279
-				    justify    	0
-				    label      	"SYSAGENT")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1D35C015A"
-				width      	297
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @616
-				    location   	(12002, 6988)
-				    line_color 	3342489
-				    InterObjView 	@615
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "E32" @617
-				location   	(12313, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@617
-				    location   	(12313, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"E32")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1D7910299"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @618
-				    location   	(12313, 7895)
-				    line_color 	3342489
-				    InterObjView 	@617
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "F32" @619
-				location   	(8735, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@619
-				    location   	(8735, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"F32")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1D85601C0"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @620
-				    location   	(8735, 931)
-				    line_color 	3342489
-				    InterObjView 	@619
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$46" @621
-				location   	(11080, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@621
-				    location   	(11080, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1D6300291"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @622
-				    location   	(11080, 7705)
-				    line_color 	3342489
-				    InterObjView 	@621
-				    height     	171
-				    y_coord    	111
-				    Nested     	FALSE))
-			    (object InterObjView "DBMS Server" @623
-				location   	(9747, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@623
-				    location   	(9747, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	278
-				    justify    	0
-				    label      	"DBMS Server")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1D49503DB"
-				width      	296
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @624
-				    location   	(9747, 3662)
-				    line_color 	3342489
-				    InterObjView 	@623
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @625
-				    location   	(9747, 3889)
-				    line_color 	3342489
-				    InterObjView 	@623
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @626
-				    location   	(9747, 4099)
-				    line_color 	3342489
-				    InterObjView 	@623
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @627
-				    location   	(9747, 4322)
-				    line_color 	3342489
-				    InterObjView 	@623
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @628
-				    location   	(9747, 4529)
-				    line_color 	3342489
-				    InterObjView 	@623
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "ETEL" @629
-				location   	(11394, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@629
-				    location   	(11394, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	279
-				    justify    	0
-				    label      	"ETEL")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1D33102CA"
-				width      	297
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @630
-				    location   	(11394, 4754)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @631
-				    location   	(11394, 4965)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @632
-				    location   	(11394, 5184)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @633
-				    location   	(11394, 5395)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @634
-				    location   	(11394, 5629)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @635
-				    location   	(11394, 5853)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @636
-				    location   	(11394, 6071)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @637
-				    location   	(11394, 6282)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @638
-				    location   	(11394, 6555)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @639
-				    location   	(11394, 7378)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @640
-				    location   	(11394, 7756)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @641
-				    location   	(11394, 8357)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @642
-				    location   	(11394, 8783)
-				    line_color 	3342489
-				    InterObjView 	@629
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$41" @643
-				location   	(8113, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@643
-				    location   	(8113, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C85300A3"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @644
-				    location   	(8113, 3269)
-				    line_color 	3342489
-				    InterObjView 	@643
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$40" @645
-				location   	(7788, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@645
-				    location   	(7788, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	313
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C82603D4"
-				width      	331
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @646
-				    location   	(7788, 3158)
-				    line_color 	3342489
-				    InterObjView 	@645
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$39" @647
-				location   	(7400, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@647
-				    location   	(7400, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	407
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C7B6010C"
-				width      	425
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @648
-				    location   	(7400, 3050)
-				    line_color 	3342489
-				    InterObjView 	@647
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$38" @649
-				location   	(6985, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@649
-				    location   	(6985, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	370
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C79E0248"
-				width      	388
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @650
-				    location   	(6985, 2941)
-				    line_color 	3342489
-				    InterObjView 	@649
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$37" @651
-				location   	(6622, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@651
-				    location   	(6622, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	307
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C77B017F"
-				width      	325
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @652
-				    location   	(6622, 2843)
-				    line_color 	3342489
-				    InterObjView 	@651
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$36" @653
-				location   	(6292, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@653
-				    location   	(6292, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C76A02F7"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @654
-				    location   	(6292, 2745)
-				    line_color 	3342489
-				    InterObjView 	@653
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @655
-				    location   	(6292, 8691)
-				    line_color 	3342489
-				    InterObjView 	@653
-				    height     	347
-				    y_coord    	287
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @656
-				    location   	(6292, 8918)
-				    line_color 	3342489
-				    InterObjView 	@653
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$35" @657
-				location   	(5987, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@657
-				    location   	(5987, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C7480352"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @658
-				    location   	(5987, 2632)
-				    line_color 	3342489
-				    InterObjView 	@657
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @659
-				    location   	(5987, 7558)
-				    line_color 	3342489
-				    InterObjView 	@657
-				    height     	648
-				    y_coord    	588
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @660
-				    location   	(5987, 7634)
-				    line_color 	3342489
-				    InterObjView 	@657
-				    height     	512
-				    y_coord    	452
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @661
-				    location   	(5987, 8026)
-				    line_color 	3342489
-				    InterObjView 	@657
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$34" @662
-				location   	(5643, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@662
-				    location   	(5643, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	357
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C70102BA"
-				width      	375
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @663
-				    location   	(5643, 2520)
-				    line_color 	3342489
-				    InterObjView 	@662
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @664
-				    location   	(5643, 6900)
-				    line_color 	3342489
-				    InterObjView 	@662
-				    height     	388
-				    y_coord    	328
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @665
-				    location   	(5643, 7168)
-				    line_color 	3342489
-				    InterObjView 	@662
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$33" @666
-				location   	(5280, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@666
-				    location   	(5280, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	313
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C6D402A1"
-				width      	331
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @667
-				    location   	(5280, 2412)
-				    line_color 	3342489
-				    InterObjView 	@666
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$32" @668
-				location   	(4904, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@668
-				    location   	(4904, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	382
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C6910114"
-				width      	400
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @669
-				    location   	(4904, 2298)
-				    line_color 	3342489
-				    InterObjView 	@668
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @670
-				    location   	(4904, 8257)
-				    line_color 	3342489
-				    InterObjView 	@668
-				    height     	386
-				    y_coord    	326
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @671
-				    location   	(4904, 8523)
-				    line_color 	3342489
-				    InterObjView 	@668
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$31" @672
-				location   	(4507, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@672
-				    location   	(4507, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	357
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C675009C"
-				width      	375
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @673
-				    location   	(4507, 2193)
-				    line_color 	3342489
-				    InterObjView 	@672
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$42" @674
-				location   	(4161, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@674
-				    location   	(4161, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C661002F"
-				width      	300
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @675
-				    location   	(4161, 2086)
-				    line_color 	3342489
-				    InterObjView 	@674
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$30" @676
-				location   	(3788, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@676
-				    location   	(3788, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	407
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C5EB033C"
-				width      	425
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @677
-				    location   	(3788, 1986)
-				    line_color 	3342489
-				    InterObjView 	@676
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @678
-				    location   	(3788, 6462)
-				    line_color 	3342489
-				    InterObjView 	@676
-				    height     	393
-				    y_coord    	333
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @679
-				    location   	(3788, 6735)
-				    line_color 	3342489
-				    InterObjView 	@676
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$29" @680
-				location   	(3358, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@680
-				    location   	(3358, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	407
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C57D0186"
-				width      	425
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @681
-				    location   	(3358, 1884)
-				    line_color 	3342489
-				    InterObjView 	@680
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$28" @682
-				location   	(2970, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@682
-				    location   	(2970, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	313
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1C48301A4"
-				width      	331
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @683
-				    location   	(2970, 1786)
-				    line_color 	3342489
-				    InterObjView 	@682
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$26" @684
-				location   	(2152, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@684
-				    location   	(2152, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	395
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DF1C0109"
-				width      	413
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @685
-				    location   	(2152, 1111)
-				    line_color 	3342489
-				    InterObjView 	@684
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @686
-				    location   	(2152, 1220)
-				    line_color 	3342489
-				    InterObjView 	@684
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @687
-				    location   	(2152, 1345)
-				    line_color 	3342489
-				    InterObjView 	@684
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @688
-				    location   	(2152, 10987)
-				    line_color 	3342489
-				    InterObjView 	@684
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$27" @689
-				location   	(2580, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@689
-				    location   	(2580, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	413
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DEFA0092"
-				width      	431
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @690
-				    location   	(2580, 1466)
-				    line_color 	3342489
-				    InterObjView 	@689
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @691
-				    location   	(2580, 1575)
-				    line_color 	3342489
-				    InterObjView 	@689
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @692
-				    location   	(2580, 1679)
-				    line_color 	3342489
-				    InterObjView 	@689
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$24" @693
-				location   	(1137, 225)
-				font       	(object Font
-				    size       	8
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@693
-				    location   	(1137, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	344
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D0DD5300B1"
-				width      	362
-				height     	11272
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @694
-				    location   	(1137, 556)
-				    line_color 	3342489
-				    InterObjView 	@693
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @695
-				    location   	(1137, 681)
-				    line_color 	3342489
-				    InterObjView 	@693
-				    height     	2828
-				    y_coord    	2768
-				    Nested     	FALSE))
-			    (object InterMessView "" @696
-				location   	(0, 437)
-				label      	(object SegLabel @697
-				    Parent_View 	@696
-				    location   	(318, 393)
-				    quidu      	"39D0DC62034B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	239
-				    justify    	0
-				    label      	"Open()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@562
-				supplier   	@565
-				Focus_Src  	@563
-				Focus_Entry 	@566
-				origin     	(169, 437)
-				terminus   	(468, 437)
-				ordinal    	0)
-			    (object InterMessView "" @698
-				location   	(0, 508)
-				label      	(object SegLabel @699
-				    Parent_View 	@698
-				    location   	(781, 448)
-				    quidu      	"39D0DC6E003B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	688
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	1.003559
-				    height     	61
-				    orientation 	0)
-				line_color 	3342489
-				client     	@565
-				supplier   	@568
-				Focus_Src  	@566
-				Focus_Entry 	@569
-				origin     	(499, 508)
-				terminus   	(780, 508)
-				ordinal    	1)
-			    (object InterMessView "" @700
-				location   	(0, 556)
-				label      	(object SegLabel @701
-				    Parent_View 	@700
-				    location   	(966, 512)
-				    quidu      	"39D0DDB00319"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	340
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@568
-				supplier   	@693
-				Focus_Src  	@569
-				Focus_Entry 	@694
-				origin     	(811, 556)
-				terminus   	(1121, 556)
-				ordinal    	2)
-			    (object InterMessView "" @702
-				location   	(0, 681)
-				label      	(object SegLabel @703
-				    Parent_View 	@702
-				    location   	(1033, 633)
-				    quidu      	"39D0DE6B000A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	547
-				    justify    	0
-				    label      	"NewProtocolL()"
-				    pctDist    	0.719298
-				    height     	49
-				    orientation 	0)
-				line_color 	3342489
-				client     	@568
-				supplier   	@693
-				Focus_Src  	@569
-				Focus_Entry 	@695
-				origin     	(811, 681)
-				terminus   	(1121, 681)
-				ordinal    	3)
-			    (object InterMessView "" @704
-				location   	(0, 759)
-				label      	(object SegLabel @705
-				    Parent_View 	@704
-				    location   	(1461, 715)
-				    quidu      	"39D0DE8A0254"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	387
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@693
-				supplier   	@579
-				Focus_Src  	@695
-				Focus_Entry 	@580
-				origin     	(1152, 759)
-				terminus   	(1771, 759)
-				ordinal    	4)
-			    (object SelfMessView "" @706
-				location   	(0, 823)
-				label      	(object SegLabel @707
-				    Parent_View 	@706
-				    location   	(1984, 769)
-				    quidu      	"39D0DEAE0260"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	532
-				    justify    	0
-				    label      	"ContructL()"
-				    pctDist    	1.113333
-				    height     	55
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@579
-				Focus_Src  	@580
-				Focus_Entry 	@581
-				origin     	(1803, 823)
-				terminus   	(1953, 823)
-				ordinal    	5)
-			    (object InterMessView "" @708
-				location   	(0, 897)
-				label      	(object SegLabel @709
-				    Parent_View 	@708
-				    location   	(5112, 853)
-				    quidu      	"39D0DED301FF"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	543
-				    justify    	0
-				    label      	"Connect()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@589
-				Focus_Src  	@581
-				Focus_Entry 	@590
-				origin     	(1802, 897)
-				terminus   	(8407, 897)
-				ordinal    	6)
-			    (object InterMessView "" @710
-				location   	(0, 1111)
-				label      	(object SegLabel @711
-				    Parent_View 	@710
-				    location   	(1976, 1067)
-				    quidu      	"39D0DF3F031D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	481
-				    justify    	0
-				    label      	"NewL(RFs&)"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@684
-				Focus_Src  	@581
-				Focus_Entry 	@685
-				origin     	(1802, 1111)
-				terminus   	(2136, 1111)
-				ordinal    	8)
-			    (object InterMessView "" @712
-				location   	(0, 1220)
-				label      	(object SegLabel @713
-				    Parent_View 	@712
-				    location   	(1976, 1176)
-				    quidu      	"39D0DF4F030B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	504
-				    justify    	0
-				    label      	"OpenL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@684
-				Focus_Src  	@581
-				Focus_Entry 	@686
-				origin     	(1802, 1220)
-				terminus   	(2136, 1220)
-				ordinal    	9)
-			    (object InterMessView "" @714
-				location   	(0, 1345)
-				label      	(object SegLabel @715
-				    Parent_View 	@714
-				    location   	(1976, 1301)
-				    quidu      	"39D0DF590084"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1083
-				    justify    	0
-				    label      	"PurgeL(TTimeIntervalMinutes&, TBool)"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@684
-				Focus_Src  	@581
-				Focus_Entry 	@687
-				origin     	(1802, 1345)
-				terminus   	(2136, 1345)
-				ordinal    	10)
-			    (object InterMessView "" @716
-				location   	(0, 1466)
-				label      	(object SegLabel @717
-				    Parent_View 	@716
-				    location   	(1974, 1418)
-				    quidu      	"39D1C4010194"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	481
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.210913
-				    height     	49
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@689
-				Focus_Src  	@581
-				Focus_Entry 	@690
-				origin     	(1802, 1466)
-				terminus   	(2564, 1466)
-				ordinal    	11)
-			    (object InterMessView "" @718
-				location   	(0, 1575)
-				label      	(object SegLabel @719
-				    Parent_View 	@718
-				    location   	(1983, 1530)
-				    quidu      	"39D1C41E00EB"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	504
-				    justify    	0
-				    label      	"OpenL()"
-				    pctDist    	0.223505
-				    height     	46
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@689
-				Focus_Src  	@581
-				Focus_Entry 	@691
-				origin     	(1802, 1575)
-				terminus   	(2564, 1575)
-				ordinal    	12)
-			    (object InterMessView "" @720
-				location   	(0, 1679)
-				label      	(object SegLabel @721
-				    Parent_View 	@720
-				    location   	(1987, 1639)
-				    quidu      	"39D1C45C032F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1083
-				    justify    	0
-				    label      	"PurgeL(TTimeIntervalMinutes&, TBool)"
-				    pctDist    	0.228751
-				    height     	41
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@689
-				Focus_Src  	@581
-				Focus_Entry 	@692
-				origin     	(1802, 1679)
-				terminus   	(2564, 1679)
-				ordinal    	13)
-			    (object InterMessView "" @722
-				location   	(0, 1786)
-				label      	(object SegLabel @723
-				    Parent_View 	@722
-				    location   	(1978, 1754)
-				    quidu      	"39D1C55103BE"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	481
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.141962
-				    height     	33
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@682
-				Focus_Src  	@581
-				Focus_Entry 	@683
-				origin     	(1802, 1786)
-				terminus   	(2954, 1786)
-				ordinal    	14)
-			    (object InterMessView "" @724
-				location   	(0, 1884)
-				label      	(object SegLabel @725
-				    Parent_View 	@724
-				    location   	(2579, 1840)
-				    quidu      	"39D1C87801CA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	481
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@680
-				Focus_Src  	@581
-				Focus_Entry 	@681
-				origin     	(1802, 1884)
-				terminus   	(3342, 1884)
-				ordinal    	15)
-			    (object InterMessView "" @726
-				location   	(0, 1986)
-				label      	(object SegLabel @727
-				    Parent_View 	@726
-				    location   	(2794, 1942)
-				    quidu      	"39D1C88A0111"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@676
-				Focus_Src  	@581
-				Focus_Entry 	@677
-				origin     	(1802, 1986)
-				terminus   	(3772, 1986)
-				ordinal    	16)
-			    (object InterMessView "" @728
-				location   	(0, 2193)
-				label      	(object SegLabel @729
-				    Parent_View 	@728
-				    location   	(3154, 2149)
-				    quidu      	"39D1C89702E7"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@672
-				Focus_Src  	@581
-				Focus_Entry 	@673
-				origin     	(1802, 2193)
-				terminus   	(4491, 2193)
-				ordinal    	18)
-			    (object InterMessView "" @730
-				location   	(0, 2298)
-				label      	(object SegLabel @731
-				    Parent_View 	@730
-				    location   	(3352, 2254)
-				    quidu      	"39D1C8A301FE"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@668
-				Focus_Src  	@581
-				Focus_Entry 	@669
-				origin     	(1802, 2298)
-				terminus   	(4888, 2298)
-				ordinal    	19)
-			    (object InterMessView "" @732
-				location   	(0, 2412)
-				label      	(object SegLabel @733
-				    Parent_View 	@732
-				    location   	(3540, 2368)
-				    quidu      	"39D1C8B2010F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@666
-				Focus_Src  	@581
-				Focus_Entry 	@667
-				origin     	(1802, 2412)
-				terminus   	(5264, 2412)
-				ordinal    	20)
-			    (object InterMessView "" @734
-				location   	(0, 2520)
-				label      	(object SegLabel @735
-				    Parent_View 	@734
-				    location   	(3722, 2476)
-				    quidu      	"39D1C8C30164"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@662
-				Focus_Src  	@581
-				Focus_Entry 	@663
-				origin     	(1802, 2520)
-				terminus   	(5627, 2520)
-				ordinal    	21)
-			    (object InterMessView "" @736
-				location   	(0, 2632)
-				label      	(object SegLabel @737
-				    Parent_View 	@736
-				    location   	(3894, 2588)
-				    quidu      	"39D1C8D00299"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@657
-				Focus_Src  	@581
-				Focus_Entry 	@658
-				origin     	(1802, 2632)
-				terminus   	(5971, 2632)
-				ordinal    	22)
-			    (object InterMessView "" @738
-				location   	(0, 2745)
-				label      	(object SegLabel @739
-				    Parent_View 	@738
-				    location   	(4046, 2701)
-				    quidu      	"39D1C8D701D0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@653
-				Focus_Src  	@581
-				Focus_Entry 	@654
-				origin     	(1802, 2745)
-				terminus   	(6276, 2745)
-				ordinal    	23)
-			    (object InterMessView "" @740
-				location   	(0, 2843)
-				label      	(object SegLabel @741
-				    Parent_View 	@740
-				    location   	(4211, 2799)
-				    quidu      	"39D1C8E10080"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@651
-				Focus_Src  	@581
-				Focus_Entry 	@652
-				origin     	(1802, 2843)
-				terminus   	(6606, 2843)
-				ordinal    	24)
-			    (object InterMessView "" @742
-				location   	(0, 2941)
-				label      	(object SegLabel @743
-				    Parent_View 	@742
-				    location   	(4393, 2897)
-				    quidu      	"39D1C8EE0210"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@649
-				Focus_Src  	@581
-				Focus_Entry 	@650
-				origin     	(1802, 2941)
-				terminus   	(6969, 2941)
-				ordinal    	25)
-			    (object InterMessView "" @744
-				location   	(0, 3050)
-				label      	(object SegLabel @745
-				    Parent_View 	@744
-				    location   	(4600, 3006)
-				    quidu      	"39D1C8FA03C5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@647
-				Focus_Src  	@581
-				Focus_Entry 	@648
-				origin     	(1802, 3050)
-				terminus   	(7384, 3050)
-				ordinal    	26)
-			    (object InterMessView "" @746
-				location   	(0, 3158)
-				label      	(object SegLabel @747
-				    Parent_View 	@746
-				    location   	(4794, 3114)
-				    quidu      	"39D1C905026D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@645
-				Focus_Src  	@581
-				Focus_Entry 	@646
-				origin     	(1802, 3158)
-				terminus   	(7772, 3158)
-				ordinal    	27)
-			    (object InterMessView "" @748
-				location   	(0, 3269)
-				label      	(object SegLabel @749
-				    Parent_View 	@748
-				    location   	(4957, 3225)
-				    quidu      	"39D1C911030A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@643
-				Focus_Src  	@581
-				Focus_Entry 	@644
-				origin     	(1802, 3269)
-				terminus   	(8097, 3269)
-				ordinal    	28)
-			    (object InterMessView "" @750
-				location   	(0, 2086)
-				label      	(object SegLabel @751
-				    Parent_View 	@750
-				    location   	(2981, 2042)
-				    quidu      	"39D1C94500A2"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@674
-				Focus_Src  	@581
-				Focus_Entry 	@675
-				origin     	(1802, 2086)
-				terminus   	(4145, 2086)
-				ordinal    	17)
-			    (object InterMessView "" @752
-				location   	(0, 3563)
-				label      	(object SegLabel @753
-				    Parent_View 	@752
-				    location   	(1291, 3519)
-				    quidu      	"39D1CA20015B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	246
-				    justify    	0
-				    label      	"InitL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@568
-				supplier   	@579
-				Focus_Src  	@570
-				Focus_Entry 	@582
-				origin     	(811, 3563)
-				terminus   	(1771, 3563)
-				ordinal    	29)
-			    (object InterMessView "" @754
-				location   	(0, 3616)
-				label      	(object SegLabel @755
-				    Parent_View 	@754
-				    location   	(5416, 3572)
-				    quidu      	"39D1CCFB029D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	293
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@591
-				Focus_Src  	@582
-				Focus_Entry 	@592
-				origin     	(1802, 3616)
-				terminus   	(9031, 3616)
-				ordinal    	30)
-			    (object InterMessView "" @756
-				location   	(0, 3842)
-				label      	(object SegLabel @757
-				    Parent_View 	@756
-				    location   	(5416, 3798)
-				    quidu      	"39D1CD130034"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	786
-				    justify    	0
-				    label      	"GetCurrentDialOutSetting()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@591
-				Focus_Src  	@582
-				Focus_Entry 	@593
-				origin     	(1802, 3842)
-				terminus   	(9031, 3842)
-				ordinal    	32)
-			    (object InterMessView "" @758
-				location   	(0, 4069)
-				label      	(object SegLabel @759
-				    Parent_View 	@758
-				    location   	(5416, 4025)
-				    quidu      	"39D1CD5D01FD"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	801
-				    justify    	0
-				    label      	"OpenViewMatchingUintLC()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@591
-				Focus_Src  	@582
-				Focus_Entry 	@594
-				origin     	(1802, 4069)
-				terminus   	(9031, 4069)
-				ordinal    	34)
-			    (object InterMessView "" @760
-				location   	(0, 4279)
-				label      	(object SegLabel @761
-				    Parent_View 	@760
-				    location   	(5589, 4235)
-				    quidu      	"39D1CD7E0075"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	563
-				    justify    	0
-				    label      	"GotoFirstRecord()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@595
-				Focus_Src  	@582
-				Focus_Entry 	@596
-				origin     	(1802, 4279)
-				terminus   	(9377, 4279)
-				ordinal    	36)
-			    (object InterMessView "" @762
-				location   	(0, 4502)
-				label      	(object SegLabel @763
-				    Parent_View 	@762
-				    location   	(5589, 4458)
-				    quidu      	"39D1CD8F029F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	426
-				    justify    	0
-				    label      	"ReadTextL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@595
-				Focus_Src  	@582
-				Focus_Entry 	@597
-				origin     	(1802, 4502)
-				terminus   	(9377, 4502)
-				ordinal    	38)
-			    (object NoteView @764
-				location   	(1306, 4084)
-				label      	(object ItemLabel
-				    Parent_View 	@764
-				    location   	(1093, 4015)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	390
-				    label      	"Read the modem name from CommDB")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	450
-				height     	150)
-			    (object AttachView "" @765
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@764
-				supplier   	@754
-				line_style 	0)
-			    (object InterMessView "" @766
-				location   	(0, 4709)
-				label      	(object SegLabel @767
-				    Parent_View 	@766
-				    location   	(5922, 4665)
-				    quidu      	"39D1CDF101F6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	356
-				    justify    	0
-				    label      	"Connect()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@598
-				Focus_Src  	@582
-				Focus_Entry 	@599
-				origin     	(1802, 4709)
-				terminus   	(10043, 4709)
-				ordinal    	40)
-			    (object InterMessView "" @768
-				location   	(0, 4934)
-				label      	(object SegLabel @769
-				    Parent_View 	@768
-				    location   	(5922, 4890)
-				    quidu      	"39D1CE13038F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	625
-				    justify    	0
-				    label      	"LoadPhoneModule()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@598
-				Focus_Src  	@582
-				Focus_Entry 	@600
-				origin     	(1802, 4934)
-				terminus   	(10043, 4934)
-				ordinal    	42)
-			    (object InterMessView "" @770
-				location   	(0, 5145)
-				label      	(object SegLabel @771
-				    Parent_View 	@770
-				    location   	(5922, 5101)
-				    quidu      	"39D1CE32002C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	618
-				    justify    	0
-				    label      	"EnumeratePhones()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@598
-				Focus_Src  	@582
-				Focus_Entry 	@601
-				origin     	(1802, 5145)
-				terminus   	(10043, 5145)
-				ordinal    	44)
-			    (object NoteView @772
-				location   	(1309, 5175)
-				label      	(object ItemLabel
-				    Parent_View 	@772
-				    location   	(1092, 5106)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	398
-				    label      	"Connect to ETEL and load the TSY")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	458
-				height     	150)
-			    (object InterMessView "" @773
-				location   	(0, 5364)
-				label      	(object SegLabel @774
-				    Parent_View 	@773
-				    location   	(5922, 5320)
-				    quidu      	"39D1CECD00F7"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	493
-				    justify    	0
-				    label      	"GetPhoneInfo()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@598
-				Focus_Src  	@582
-				Focus_Entry 	@602
-				origin     	(1802, 5364)
-				terminus   	(10043, 5364)
-				ordinal    	46)
-			    (object InterMessView "" @775
-				location   	(0, 5575)
-				label      	(object SegLabel @776
-				    Parent_View 	@775
-				    location   	(5922, 5531)
-				    quidu      	"39D1CEE103A9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"GetTsyName()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@598
-				Focus_Src  	@582
-				Focus_Entry 	@603
-				origin     	(1802, 5575)
-				terminus   	(10043, 5575)
-				ordinal    	48)
-			    (object InterMessView "" @777
-				location   	(0, 5809)
-				label      	(object SegLabel @778
-				    Parent_View 	@777
-				    location   	(6081, 5765)
-				    quidu      	"39D1CF59028A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	317
-				    justify    	0
-				    label      	"Open()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@604
-				Focus_Src  	@582
-				Focus_Entry 	@605
-				origin     	(1802, 5809)
-				terminus   	(10361, 5809)
-				ordinal    	50)
-			    (object AttachView "" @779
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@766
-				supplier   	@772
-				line_style 	0)
-			    (object NoteView @780
-				location   	(1281, 5765)
-				label      	(object ItemLabel
-				    Parent_View 	@780
-				    location   	(1018, 5688)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	490
-				    label      	"Open RPhone's for reading, writing, enumerating.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	550
-				height     	167)
-			    (object AttachView "" @781
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@780
-				supplier   	@777
-				line_style 	0)
-			    (object InterMessView "" @782
-				location   	(0, 6033)
-				label      	(object SegLabel @783
-				    Parent_View 	@782
-				    location   	(6260, 5989)
-				    quidu      	"39D1D0110162"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	317
-				    justify    	0
-				    label      	"Open()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@608
-				Focus_Src  	@582
-				Focus_Entry 	@609
-				origin     	(1802, 6033)
-				terminus   	(10718, 6033)
-				ordinal    	52)
-			    (object InterMessView "" @784
-				location   	(0, 6251)
-				label      	(object SegLabel @785
-				    Parent_View 	@784
-				    location   	(6260, 6207)
-				    quidu      	"39D1D028022D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	918
-				    justify    	0
-				    label      	"GetSmsReportResponsibility()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@608
-				Focus_Src  	@582
-				Focus_Entry 	@610
-				origin     	(1802, 6251)
-				terminus   	(10718, 6251)
-				ordinal    	54)
-			    (object InterMessView "" @786
-				location   	(0, 6462)
-				label      	(object SegLabel @787
-				    Parent_View 	@786
-				    location   	(2787, 6418)
-				    quidu      	"39D1D05E0357"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	301
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@676
-				Focus_Src  	@582
-				Focus_Entry 	@678
-				origin     	(1802, 6462)
-				terminus   	(3772, 6462)
-				ordinal    	56)
-			    (object InterMessView "" @788
-				location   	(0, 6504)
-				label      	(object SegLabel @789
-				    Parent_View 	@788
-				    location   	(7082, 6460)
-				    quidu      	"39D1D08E0162"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	790
-				    justify    	0
-				    label      	"NotifyModemDetected()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@676
-				supplier   	@604
-				Focus_Src  	@678
-				Focus_Entry 	@606
-				origin     	(3803, 6504)
-				terminus   	(10361, 6504)
-				ordinal    	57)
-			    (object SelfMessView "" @790
-				location   	(0, 6735)
-				label      	(object SegLabel @791
-				    Parent_View 	@790
-				    location   	(3894, 6691)
-				    quidu      	"39D1D09E01E7"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	465
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@676
-				supplier   	@676
-				Focus_Src  	@678
-				Focus_Entry 	@679
-				origin     	(3804, 6735)
-				terminus   	(3954, 6735)
-				ordinal    	59)
-			    (object NoteView @792
-				location   	(1227, 6435)
-				label      	(object ItemLabel
-				    Parent_View 	@792
-				    location   	(927, 6371)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	565
-				    label      	"Subscribe to modem detection event notifications.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	625
-				height     	141)
-			    (object AttachView "" @793
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@792
-				supplier   	@786
-				line_style 	0)
-			    (object InterMessView "" @794
-				location   	(0, 6900)
-				label      	(object SegLabel @795
-				    Parent_View 	@794
-				    location   	(2776, 6858)
-				    quidu      	"39D1D10E01A1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	301
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.254641
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@662
-				Focus_Src  	@582
-				Focus_Entry 	@664
-				origin     	(1802, 6900)
-				terminus   	(5627, 6900)
-				ordinal    	60)
-			    (object InterMessView "" @796
-				location   	(0, 6938)
-				label      	(object SegLabel @797
-				    Parent_View 	@796
-				    location   	(8670, 6894)
-				    quidu      	"39D1D18201EF"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	594
-				    justify    	0
-				    label      	"NotifyOnEvent()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@662
-				supplier   	@613
-				Focus_Src  	@664
-				Focus_Entry 	@614
-				origin     	(5658, 6938)
-				terminus   	(11683, 6938)
-				ordinal    	61)
-			    (object SelfMessView "" @798
-				location   	(0, 7168)
-				label      	(object SegLabel @799
-				    Parent_View 	@798
-				    location   	(5846, 7129)
-				    quidu      	"39D1D19F0309"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	465
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.153333
-				    height     	40
-				    orientation 	0)
-				line_color 	3342489
-				client     	@662
-				supplier   	@662
-				Focus_Src  	@664
-				Focus_Entry 	@665
-				origin     	(5659, 7168)
-				terminus   	(5809, 7168)
-				ordinal    	63)
-			    (object NoteView @800
-				location   	(1240, 6986)
-				label      	(object ItemLabel
-				    Parent_View 	@800
-				    location   	(936, 6926)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	573
-				    label      	"Subscribe to CommDB change event notifications.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	633
-				height     	133)
-			    (object AttachView "" @801
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@800
-				supplier   	@794
-				line_style 	0)
-			    (object InterMessView "" @802
-				location   	(0, 7342)
-				label      	(object SegLabel @803
-				    Parent_View 	@802
-				    location   	(6156, 7296)
-				    quidu      	"39D1D23702AD"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	430
-				    justify    	0
-				    label      	"GetStatus()"
-				    pctDist    	0.508821
-				    height     	47
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@604
-				Focus_Src  	@582
-				Focus_Entry 	@607
-				origin     	(1802, 7342)
-				terminus   	(10361, 7342)
-				ordinal    	64)
-			    (object NoteView @804
-				location   	(1258, 7456)
-				label      	(object ItemLabel
-				    Parent_View 	@804
-				    location   	(965, 7380)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	550
-				    label      	"Check if the modem is already connected  - assume it is.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	610
-				height     	164)
-			    (object AttachView "" @805
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@804
-				supplier   	@802
-				line_style 	0)
-			    (object InterMessView "" @806
-				location   	(0, 7558)
-				label      	(object SegLabel @807
-				    Parent_View 	@806
-				    location   	(3886, 7514)
-				    quidu      	"39D1D2DC039A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	301
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@657
-				Focus_Src  	@582
-				Focus_Entry 	@659
-				origin     	(1802, 7558)
-				terminus   	(5971, 7558)
-				ordinal    	66)
-			    (object InterMessView "" @808
-				location   	(0, 6555)
-				label      	(object SegLabel @809
-				    Parent_View 	@808
-				    location   	(10885, 6511)
-				    quidu      	"39D1D38A01D9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	840
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@604
-				supplier   	@629
-				Focus_Src  	@606
-				Focus_Entry 	@638
-				origin     	(10392, 6555)
-				terminus   	(11378, 6555)
-				ordinal    	58)
-			    (object InterMessView "" @810
-				location   	(0, 6988)
-				label      	(object SegLabel @811
-				    Parent_View 	@810
-				    location   	(12039, 6936)
-				    quidu      	"39D1D39B0332"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	840
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	1.197133
-				    height     	53
-				    orientation 	0)
-				line_color 	3342489
-				client     	@613
-				supplier   	@615
-				Focus_Src  	@614
-				Focus_Entry 	@616
-				origin     	(11714, 6988)
-				terminus   	(11986, 6988)
-				ordinal    	62)
-			    (object InterMessView "" @812
-				location   	(0, 4754)
-				label      	(object SegLabel @813
-				    Parent_View 	@812
-				    location   	(10726, 4710)
-				    quidu      	"39D1D3CA0271"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@598
-				supplier   	@629
-				Focus_Src  	@599
-				Focus_Entry 	@630
-				origin     	(10074, 4754)
-				terminus   	(11378, 4754)
-				ordinal    	41)
-			    (object InterMessView "" @814
-				location   	(0, 4965)
-				label      	(object SegLabel @815
-				    Parent_View 	@814
-				    location   	(10726, 4921)
-				    quidu      	"39D1D3D503C0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@598
-				supplier   	@629
-				Focus_Src  	@600
-				Focus_Entry 	@631
-				origin     	(10074, 4965)
-				terminus   	(11378, 4965)
-				ordinal    	43)
-			    (object InterMessView "" @816
-				location   	(0, 5184)
-				label      	(object SegLabel @817
-				    Parent_View 	@816
-				    location   	(10726, 5140)
-				    quidu      	"39D1D3E00286"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@598
-				supplier   	@629
-				Focus_Src  	@601
-				Focus_Entry 	@632
-				origin     	(10074, 5184)
-				terminus   	(11378, 5184)
-				ordinal    	45)
-			    (object InterMessView "" @818
-				location   	(0, 5395)
-				label      	(object SegLabel @819
-				    Parent_View 	@818
-				    location   	(10726, 5351)
-				    quidu      	"39D1D3EB0033"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@598
-				supplier   	@629
-				Focus_Src  	@602
-				Focus_Entry 	@633
-				origin     	(10074, 5395)
-				terminus   	(11378, 5395)
-				ordinal    	47)
-			    (object InterMessView "" @820
-				location   	(0, 5629)
-				label      	(object SegLabel @821
-				    Parent_View 	@820
-				    location   	(10726, 5585)
-				    quidu      	"39D1D3F50240"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	766
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@598
-				supplier   	@629
-				Focus_Src  	@603
-				Focus_Entry 	@634
-				origin     	(10074, 5629)
-				terminus   	(11378, 5629)
-				ordinal    	49)
-			    (object InterMessView "" @822
-				location   	(0, 3662)
-				label      	(object SegLabel @823
-				    Parent_View 	@822
-				    location   	(9396, 3618)
-				    quidu      	"39D1D50300C3"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@591
-				supplier   	@623
-				Focus_Src  	@592
-				Focus_Entry 	@624
-				origin     	(9062, 3662)
-				terminus   	(9731, 3662)
-				ordinal    	31)
-			    (object InterMessView "" @824
-				location   	(0, 3889)
-				label      	(object SegLabel @825
-				    Parent_View 	@824
-				    location   	(9396, 3845)
-				    quidu      	"39D1D50D02CF"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@591
-				supplier   	@623
-				Focus_Src  	@593
-				Focus_Entry 	@625
-				origin     	(9062, 3889)
-				terminus   	(9731, 3889)
-				ordinal    	33)
-			    (object InterMessView "" @826
-				location   	(0, 4099)
-				label      	(object SegLabel @827
-				    Parent_View 	@826
-				    location   	(9396, 4055)
-				    quidu      	"39D1D5160231"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@591
-				supplier   	@623
-				Focus_Src  	@594
-				Focus_Entry 	@626
-				origin     	(9062, 4099)
-				terminus   	(9731, 4099)
-				ordinal    	35)
-			    (object InterMessView "" @828
-				location   	(0, 4322)
-				label      	(object SegLabel @829
-				    Parent_View 	@828
-				    location   	(9727, 4262)
-				    quidu      	"39D1D52303B8"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.990712
-				    height     	61
-				    orientation 	0)
-				line_color 	3342489
-				client     	@595
-				supplier   	@623
-				Focus_Src  	@596
-				Focus_Entry 	@627
-				origin     	(9408, 4322)
-				terminus   	(9731, 4322)
-				ordinal    	37)
-			    (object InterMessView "" @830
-				location   	(0, 4529)
-				label      	(object SegLabel @831
-				    Parent_View 	@830
-				    location   	(9715, 4481)
-				    quidu      	"39D1D5370149"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	735
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.953560
-				    height     	49
-				    orientation 	0)
-				line_color 	3342489
-				client     	@595
-				supplier   	@623
-				Focus_Src  	@597
-				Focus_Entry 	@628
-				origin     	(9408, 4529)
-				terminus   	(9731, 4529)
-				ordinal    	39)
-			    (object NoteView @832
-				location   	(9965, 4153)
-				label      	(object ItemLabel
-				    Parent_View 	@832
-				    location   	(9723, 4077)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	448
-				    label      	"Simplified interaction with DBMS Server.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	508
-				height     	164)
-			    (object AttachView "" @833
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@823
-				supplier   	@832
-				line_style 	0)
-			    (object AttachView "" @834
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@824
-				supplier   	@832
-				line_style 	0)
-			    (object AttachView "" @835
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@826
-				supplier   	@832
-				line_style 	0)
-			    (object AttachView "" @836
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@828
-				supplier   	@832
-				line_style 	0)
-			    (object AttachView "" @837
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@830
-				supplier   	@832
-				line_style 	0)
-			    (object NoteView @838
-				location   	(11683, 5903)
-				label      	(object ItemLabel
-				    Parent_View 	@838
-				    location   	(11453, 5831)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	424
-				    label      	"Simplified interaction with ETEL Server.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	484
-				height     	156)
-			    (object AttachView "" @839
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@812
-				supplier   	@838
-				line_style 	0)
-			    (object AttachView "" @840
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@814
-				supplier   	@838
-				line_style 	0)
-			    (object AttachView "" @841
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@816
-				supplier   	@838
-				line_style 	0)
-			    (object AttachView "" @842
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@818
-				supplier   	@838
-				line_style 	0)
-			    (object AttachView "" @843
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@820
-				supplier   	@838
-				line_style 	0)
-			    (object InterMessView "" @844
-				location   	(0, 5853)
-				label      	(object SegLabel @845
-				    Parent_View 	@844
-				    location   	(10885, 5809)
-				    quidu      	"39D1D66D02D5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	766
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@604
-				supplier   	@629
-				Focus_Src  	@605
-				Focus_Entry 	@635
-				origin     	(10392, 5853)
-				terminus   	(11378, 5853)
-				ordinal    	51)
-			    (object InterMessView "" @846
-				location   	(0, 6071)
-				label      	(object SegLabel @847
-				    Parent_View 	@846
-				    location   	(11063, 6027)
-				    quidu      	"39D1D67202FB"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	766
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@608
-				supplier   	@629
-				Focus_Src  	@609
-				Focus_Entry 	@636
-				origin     	(10749, 6071)
-				terminus   	(11378, 6071)
-				ordinal    	53)
-			    (object InterMessView "" @848
-				location   	(0, 6282)
-				label      	(object SegLabel @849
-				    Parent_View 	@848
-				    location   	(11063, 6238)
-				    quidu      	"39D1D675033B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	766
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@608
-				supplier   	@629
-				Focus_Src  	@610
-				Focus_Entry 	@637
-				origin     	(10749, 6282)
-				terminus   	(11378, 6282)
-				ordinal    	55)
-			    (object AttachView "" @850
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@844
-				supplier   	@838
-				line_style 	0)
-			    (object AttachView "" @851
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@846
-				supplier   	@838
-				line_style 	0)
-			    (object AttachView "" @852
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@848
-				supplier   	@838
-				line_style 	0)
-			    (object InterMessView "" @853
-				location   	(0, 7378)
-				label      	(object SegLabel @854
-				    Parent_View 	@853
-				    location   	(10885, 7334)
-				    quidu      	"39D1D6B401D3"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	766
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@604
-				supplier   	@629
-				Focus_Src  	@607
-				Focus_Entry 	@639
-				origin     	(10392, 7378)
-				terminus   	(11378, 7378)
-				ordinal    	65)
-			    (object NoteView @855
-				location   	(562, 1136)
-				label      	(object ItemLabel
-				    Parent_View 	@855
-				    location   	(113, 799)
-				    fill_color 	13434879
-				    nlines     	13
-				    max_width  	862
-				    label      	
-|ASSUMPTIONS
-|=============
-|1. No error conditions.
-|2. This is the first client to open the SMS Protocol.
-|3. Comm DB is configured correctly.
-|4. The TSY is already communicating with the modem.
-|5. The binding address is not a duplicate.
-|6. There are no messages in the reassembly store.
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	922
-				height     	687)
-			    (object SelfMessView "" @856
-				location   	(0, 7634)
-				label      	(object SegLabel @857
-				    Parent_View 	@856
-				    location   	(6312, 7583)
-				    quidu      	"39D1D71C02CE"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	692
-				    justify    	0
-				    label      	"OpenGprsSession()"
-				    pctDist    	1.960000
-				    height     	52
-				    orientation 	0)
-				line_color 	3342489
-				client     	@657
-				supplier   	@657
-				Focus_Src  	@659
-				Focus_Entry 	@660
-				origin     	(6003, 7634)
-				terminus   	(6153, 7634)
-				ordinal    	67)
-			    (object InterMessView "" @858
-				location   	(0, 7705)
-				label      	(object SegLabel @859
-				    Parent_View 	@858
-				    location   	(8540, 7661)
-				    quidu      	"39D1D74602E2"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	411
-				    justify    	0
-				    label      	"Open()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@657
-				supplier   	@621
-				Focus_Src  	@660
-				Focus_Entry 	@622
-				origin     	(6002, 7705)
-				terminus   	(11064, 7705)
-				ordinal    	68)
-			    (object InterMessView "" @860
-				location   	(0, 7756)
-				label      	(object SegLabel @861
-				    Parent_View 	@860
-				    location   	(11441, 7704)
-				    quidu      	"39D1D7570174"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	860
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	1.226148
-				    height     	53
-				    orientation 	0)
-				line_color 	3342489
-				client     	@621
-				supplier   	@629
-				Focus_Src  	@622
-				Focus_Entry 	@640
-				origin     	(11095, 7756)
-				terminus   	(11378, 7756)
-				ordinal    	69)
-			    (object InterMessView "" @862
-				location   	(0, 7895)
-				label      	(object SegLabel @863
-				    Parent_View 	@862
-				    location   	(9157, 7851)
-				    quidu      	"39D1D7AA01FF"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	879
-				    justify    	0
-				    label      	"User::RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@657
-				supplier   	@617
-				Focus_Src  	@660
-				Focus_Entry 	@618
-				origin     	(6002, 7895)
-				terminus   	(12297, 7895)
-				ordinal    	70)
-			    (object SelfMessView "" @864
-				location   	(0, 8026)
-				label      	(object SegLabel @865
-				    Parent_View 	@864
-				    location   	(6244, 7983)
-				    quidu      	"39D1D7BE0171"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	512
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.413333
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@657
-				supplier   	@657
-				Focus_Src  	@660
-				Focus_Entry 	@661
-				origin     	(6003, 8026)
-				terminus   	(6153, 8026)
-				ordinal    	71)
-			    (object InterMessView "" @866
-				location   	(0, 931)
-				label      	(object SegLabel @867
-				    Parent_View 	@866
-				    location   	(8749, 879)
-				    quidu      	"39D1D89100E9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	922
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	1.106762
-				    height     	53
-				    orientation 	0)
-				line_color 	3342489
-				client     	@589
-				supplier   	@619
-				Focus_Src  	@590
-				Focus_Entry 	@620
-				origin     	(8438, 931)
-				terminus   	(8719, 931)
-				ordinal    	7)
-			    (object InterMessView "" @868
-				location   	(0, 8257)
-				label      	(object SegLabel @869
-				    Parent_View 	@868
-				    location   	(3345, 8213)
-				    quidu      	"39D1DA0C03BE"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	301
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@668
-				Focus_Src  	@582
-				Focus_Entry 	@670
-				origin     	(1802, 8257)
-				terminus   	(4888, 8257)
-				ordinal    	72)
-			    (object InterMessView "" @870
-				location   	(0, 8306)
-				label      	(object SegLabel @871
-				    Parent_View 	@870
-				    location   	(7818, 8262)
-				    quidu      	"39D1DA2600EC"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	637
-				    justify    	0
-				    label      	"NotifySmsEvent()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@668
-				supplier   	@608
-				Focus_Src  	@670
-				Focus_Entry 	@611
-				origin     	(4919, 8306)
-				terminus   	(10718, 8306)
-				ordinal    	73)
-			    (object InterMessView "" @872
-				location   	(0, 8357)
-				label      	(object SegLabel @873
-				    Parent_View 	@872
-				    location   	(11105, 8312)
-				    quidu      	"39D1DA390337"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	840
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.565978
-				    height     	46
-				    orientation 	0)
-				line_color 	3342489
-				client     	@608
-				supplier   	@629
-				Focus_Src  	@611
-				Focus_Entry 	@641
-				origin     	(10749, 8357)
-				terminus   	(11378, 8357)
-				ordinal    	74)
-			    (object SelfMessView "" @874
-				location   	(0, 8523)
-				label      	(object SegLabel @875
-				    Parent_View 	@874
-				    location   	(5123, 8465)
-				    quidu      	"39D1DA5B0052"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	465
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.260000
-				    height     	59
-				    orientation 	0)
-				line_color 	3342489
-				client     	@668
-				supplier   	@668
-				Focus_Src  	@670
-				Focus_Entry 	@671
-				origin     	(4920, 8523)
-				terminus   	(5070, 8523)
-				ordinal    	75)
-			    (object InterMessView "" @876
-				location   	(0, 8691)
-				label      	(object SegLabel @877
-				    Parent_View 	@876
-				    location   	(4039, 8647)
-				    quidu      	"39D1DAA80033"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	301
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@653
-				Focus_Src  	@582
-				Focus_Entry 	@655
-				origin     	(1802, 8691)
-				terminus   	(6276, 8691)
-				ordinal    	76)
-			    (object InterMessView "" @878
-				location   	(0, 8744)
-				label      	(object SegLabel @879
-				    Parent_View 	@878
-				    location   	(8512, 8700)
-				    quidu      	"39D1DAC0033C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	711
-				    justify    	0
-				    label      	"ReadSmsMessage()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@653
-				supplier   	@608
-				Focus_Src  	@655
-				Focus_Entry 	@612
-				origin     	(6307, 8744)
-				terminus   	(10718, 8744)
-				ordinal    	77)
-			    (object InterMessView "" @880
-				location   	(0, 8783)
-				label      	(object SegLabel @881
-				    Parent_View 	@880
-				    location   	(11090, 8739)
-				    quidu      	"39D1DAD50178"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	840
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.543720
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@608
-				supplier   	@629
-				Focus_Src  	@612
-				Focus_Entry 	@642
-				origin     	(10749, 8783)
-				terminus   	(11378, 8783)
-				ordinal    	78)
-			    (object SelfMessView "" @882
-				location   	(0, 8918)
-				label      	(object SegLabel @883
-				    Parent_View 	@882
-				    location   	(6539, 8860)
-				    quidu      	"39D1DAE6034B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	465
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.440000
-				    height     	59
-				    orientation 	0)
-				line_color 	3342489
-				client     	@653
-				supplier   	@653
-				Focus_Src  	@655
-				Focus_Entry 	@656
-				origin     	(6308, 8918)
-				terminus   	(6458, 8918)
-				ordinal    	79)
-			    (object NoteView @884
-				location   	(1257, 8096)
-				label      	(object ItemLabel
-				    Parent_View 	@884
-				    location   	(961, 8004)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	557
-				    label      	"Start the state machine for setting the current SMS bearer.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	617
-				height     	196)
-			    (object AttachView "" @885
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@884
-				supplier   	@806
-				line_style 	0)
-			    (object NoteView @886
-				location   	(1247, 8689)
-				label      	(object ItemLabel
-				    Parent_View 	@886
-				    location   	(931, 8551)
-				    fill_color 	13434879
-				    nlines     	5
-				    max_width  	596
-				    label      	"Subscribe to SMS event notifications.  This allows logging of sends that may bypass the SMS Protocol and go straight to ETEL.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	656
-				height     	289)
-			    (object AttachView "" @887
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@886
-				supplier   	@868
-				line_style 	0)
-			    (object NoteView @888
-				location   	(1246, 9128)
-				label      	(object ItemLabel
-				    Parent_View 	@888
-				    location   	(938, 9064)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	580
-				    label      	"Subscribe to received SMS event notifications from ETEL.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	640
-				height     	140)
-			    (object AttachView "" @889
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@888
-				supplier   	@876
-				line_style 	0)
-			    (object InterMessView "" @890
-				location   	(0, 9451)
-				label      	(object SegLabel @891
-				    Parent_View 	@890
-				    location   	(1291, 9407)
-				    quidu      	"39D1DC08030A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	379
-				    justify    	0
-				    label      	"NewSAPL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@568
-				supplier   	@579
-				Focus_Src  	@570
-				Focus_Entry 	@584
-				origin     	(811, 9451)
-				terminus   	(1771, 9451)
-				ordinal    	81)
-			    (object InterMessView "" @892
-				location   	(0, 9552)
-				label      	(object SegLabel @893
-				    Parent_View 	@892
-				    location   	(1633, 9508)
-				    quidu      	"39D1DC2202E1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	293
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@579
-				supplier   	@572
-				Focus_Src  	@584
-				Focus_Entry 	@573
-				origin     	(1771, 9552)
-				terminus   	(1494, 9552)
-				ordinal    	82)
-			    (object SelfMessView "" @894
-				location   	(0, 9629)
-				label      	(object SegLabel @895
-				    Parent_View 	@894
-				    location   	(1271, 9656)
-				    quidu      	"39D1DC3E0331"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	469
-				    justify    	0
-				    label      	"ConstructL()"
-				    pctDist    	-1.586667
-				    height     	27
-				    orientation 	1)
-				line_color 	3342489
-				client     	@572
-				supplier   	@572
-				Focus_Src  	@573
-				Focus_Entry 	@574
-				origin     	(1494, 9629)
-				terminus   	(1644, 9629)
-				ordinal    	83)
-			    (object InterMessView "" @896
-				location   	(0, 9750)
-				label      	(object SegLabel @897
-				    Parent_View 	@896
-				    location   	(1095, 9736)
-				    quidu      	"39D1DC59011C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	954
-				    justify    	0
-				    label      	"AddSmsMessageObserverL()"
-				    pctDist    	-1.485612
-				    height     	15
-				    orientation 	0)
-				line_color 	3342489
-				client     	@572
-				supplier   	@579
-				Focus_Src  	@574
-				Focus_Entry 	@585
-				origin     	(1493, 9750)
-				terminus   	(1771, 9750)
-				ordinal    	84)
-			    (object SelfMessView "" @898
-				location   	(0, 9853)
-				label      	(object SegLabel @899
-				    Parent_View 	@898
-				    location   	(1017, 9871)
-				    quidu      	"39D1DC7B0338"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1137
-				    justify    	0
-				    label      	"SetObserverAddedToProtocol(ETrue)"
-				    pctDist    	-3.380000
-				    height     	18
-				    orientation 	1)
-				line_color 	3342489
-				client     	@572
-				supplier   	@572
-				Focus_Src  	@574
-				Focus_Entry 	@575
-				origin     	(1494, 9853)
-				terminus   	(1644, 9853)
-				ordinal    	85)
-			    (object InterMessView "" @900
-				location   	(0, 10298)
-				label      	(object SegLabel @901
-				    Parent_View 	@900
-				    location   	(318, 10254)
-				    quidu      	"39D1DF430089"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	254
-				    justify    	0
-				    label      	"Bind()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@562
-				supplier   	@565
-				Focus_Src  	@564
-				Focus_Entry 	@567
-				origin     	(169, 10298)
-				terminus   	(468, 10298)
-				ordinal    	86)
-			    (object InterMessView "" @902
-				location   	(0, 10352)
-				label      	(object SegLabel @903
-				    Parent_View 	@902
-				    location   	(752, 10312)
-				    quidu      	"39D1DF55005D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	688
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.900356
-				    height     	41
-				    orientation 	0)
-				line_color 	3342489
-				client     	@565
-				supplier   	@568
-				Focus_Src  	@567
-				Focus_Entry 	@571
-				origin     	(499, 10352)
-				terminus   	(780, 10352)
-				ordinal    	87)
-			    (object InterMessView "" @904
-				location   	(0, 9279)
-				label      	(object SegLabel @905
-				    Parent_View 	@904
-				    location   	(1291, 9235)
-				    quidu      	"39D1E070033F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	286
-				    justify    	0
-				    label      	"StartL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@568
-				supplier   	@579
-				Focus_Src  	@570
-				Focus_Entry 	@583
-				origin     	(811, 9279)
-				terminus   	(1771, 9279)
-				ordinal    	80)
-			    (object InterMessView "" @906
-				location   	(0, 10443)
-				label      	(object SegLabel @907
-				    Parent_View 	@906
-				    location   	(1136, 10399)
-				    quidu      	"39D1E0CF01B5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	567
-				    justify    	0
-				    label      	"SetLocalName()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@568
-				supplier   	@572
-				Focus_Src  	@571
-				Focus_Entry 	@576
-				origin     	(811, 10443)
-				terminus   	(1462, 10443)
-				ordinal    	88)
-			    (object InterMessView "" @908
-				location   	(0, 10497)
-				label      	(object SegLabel @909
-				    Parent_View 	@908
-				    location   	(1859, 10449)
-				    quidu      	"39D1E0E302EA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	946
-				    justify    	0
-				    label      	"BindSmsMessageObserver()"
-				    pctDist    	1.316547
-				    height     	49
-				    orientation 	0)
-				line_color 	3342489
-				client     	@572
-				supplier   	@579
-				Focus_Src  	@576
-				Focus_Entry 	@586
-				origin     	(1493, 10497)
-				terminus   	(1771, 10497)
-				ordinal    	89)
-			    (object SelfMessView "" @910
-				location   	(0, 10566)
-				label      	(object SegLabel @911
-				    Parent_View 	@910
-				    location   	(2111, 10531)
-				    quidu      	"39D1E1000273"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	805
-				    justify    	0
-				    label      	"SmsAddrIsDuplicate()"
-				    pctDist    	1.953333
-				    height     	36
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@579
-				Focus_Src  	@586
-				Focus_Entry 	@587
-				origin     	(1803, 10566)
-				terminus   	(1953, 10566)
-				ordinal    	90)
-			    (object InterMessView "" @912
-				location   	(0, 10595)
-				label      	(object SegLabel @913
-				    Parent_View 	@912
-				    location   	(1178, 10620)
-				    quidu      	"39D1E12C00F0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	770
-				    justify    	0
-				    label      	"GetLocalAddress()"
-				    pctDist    	2.198556
-				    height     	25
-				    orientation 	1)
-				line_color 	3342489
-				client     	@579
-				supplier   	@572
-				Focus_Src  	@587
-				Focus_Entry 	@577
-				origin     	(1771, 10595)
-				terminus   	(1494, 10595)
-				ordinal    	91)
-			    (object InterMessView "" @914
-				location   	(0, 10759)
-				label      	(object SegLabel @915
-				    Parent_View 	@914
-				    location   	(1176, 10772)
-				    quidu      	"39D1E150039B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	719
-				    justify    	0
-				    label      	"SetLocalAddress()"
-				    pctDist    	2.274809
-				    height     	13
-				    orientation 	1)
-				line_color 	3342489
-				client     	@579
-				supplier   	@572
-				Focus_Src  	@586
-				Focus_Entry 	@578
-				origin     	(1771, 10759)
-				terminus   	(1494, 10759)
-				ordinal    	92)
-			    (object SelfMessView "" @916
-				location   	(0, 10851)
-				label      	(object SegLabel @917
-				    Parent_View 	@916
-				    location   	(2270, 10812)
-				    quidu      	"39D1E16C00E8"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1149
-				    justify    	0
-				    label      	"ProcessCompleteSmsMessagesL()"
-				    pctDist    	3.020000
-				    height     	40
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@579
-				Focus_Src  	@586
-				Focus_Entry 	@588
-				origin     	(1803, 10851)
-				terminus   	(1953, 10851)
-				ordinal    	93)
-			    (object InterMessView "" @918
-				location   	(0, 10987)
-				label      	(object SegLabel @919
-				    Parent_View 	@918
-				    location   	(2054, 10940)
-				    quidu      	"39D1E1AE00CF"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	520
-				    justify    	0
-				    label      	"Entries()"
-				    pctDist    	0.742947
-				    height     	47
-				    orientation 	0)
-				line_color 	3342489
-				client     	@579
-				supplier   	@684
-				Focus_Src  	@588
-				Focus_Entry 	@688
-				origin     	(1802, 10987)
-				terminus   	(2136, 10987)
-				ordinal    	94)
-			    (object NoteView @920
-				location   	(2820, 10638)
-				label      	(object ItemLabel
-				    Parent_View 	@920
-				    location   	(2535, 10550)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	534
-				    label      	"Checks that binding address is not a duplicate - assume it isn't.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	594
-				height     	188)
-			    (object AttachView "" @921
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@910
-				supplier   	@920
-				line_style 	0)
-			    (object NoteView @922
-				location   	(2925, 10990)
-				label      	(object ItemLabel
-				    Parent_View 	@922
-				    location   	(2547, 10891)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	721
-				    label      	"Checks if there are any messages for this address in the reassembly store - assume there aren't.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	781
-				height     	211)
-			    (object AttachView "" @923
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@922
-				supplier   	@916
-				line_style 	0)))
-		    (object InteractionDiagram "Read Message (SMS-DELIVER, Single PDU)"
-			mechanism_ref 	@5
-			quid       	"39D0DB620374"
-			title      	"Read Message (SMS-DELIVER, Single PDU)"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list))
-		    (object InteractionDiagram "Enumerate Messages"
-			mechanism_ref 	@6
-			quid       	"39D0DB6B0309"
-			title      	"Enumerate Messages"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list))
-		    (object InteractionDiagram "Write Message"
-			mechanism_ref 	@7
-			quid       	"39D0DB7700FD"
-			title      	"Write Message"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list))
-		    (object InteractionDiagram "Delete Message"
-			mechanism_ref 	@8
-			quid       	"39D0DB8401EC"
-			title      	"Delete Message"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list))
-		    (object InteractionDiagram "Bearer Change in Comm DB"
-			mechanism_ref 	@9
-			quid       	"39D1DA7B011F"
-			title      	"Bearer Change in Comm DB"
-			zoom       	75
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object InterObjView "$UNNAMED$47" @924
-				location   	(117, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@924
-				    location   	(117, 242)
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	360
-				    justify    	0
-				    label      	"")
-				icon       	"Actor"
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1F3C302CA"
-				width      	336
-				height     	4124
-				icon_height 	162
-				icon_width 	120
-				icon_y_offset 	8
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @925
-				    location   	(117, 416)
-				    line_color 	3342489
-				    InterObjView 	@924
-				    height     	479
-				    y_coord    	419
-				    Nested     	FALSE))
-			    (object InterObjView "CCommsDatabase" @926
-				location   	(541, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@926
-				    location   	(541, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	399
-				    justify    	0
-				    label      	"CCommsDatabase")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1F3DA0100"
-				width      	417
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @927
-				    location   	(541, 416)
-				    line_color 	3342489
-				    InterObjView 	@926
-				    height     	419
-				    y_coord    	359
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @928
-				    location   	(541, 1820)
-				    line_color 	3342489
-				    InterObjView 	@926
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @929
-				    location   	(541, 1928)
-				    line_color 	3342489
-				    InterObjView 	@926
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "RSAVarChangeNotify" @930
-				location   	(1021, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@930
-				    location   	(1021, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	482
-				    justify    	0
-				    label      	"RSAVarChangeNotify")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1F3F6007E"
-				width      	500
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @931
-				    location   	(1021, 457)
-				    line_color 	3342489
-				    InterObjView 	@930
-				    height     	318
-				    y_coord    	258
-				    Nested     	FALSE))
-			    (object InterObjView "SYSAGENT" @932
-				location   	(1440, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@932
-				    location   	(1440, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"SYSAGENT")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1F6F1037F"
-				width      	300
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @933
-				    location   	(1440, 508)
-				    line_color 	3342489
-				    InterObjView 	@932
-				    height     	207
-				    y_coord    	147
-				    Nested     	FALSE))
-			    (object InterObjView "E32" @934
-				location   	(1770, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@934
-				    location   	(1770, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"E32")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1F971034D"
-				width      	300
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				Focus_Of_Control 	(object Focus_Of_Control "" @935
-				    location   	(1770, 595)
-				    line_color 	3342489
-				    InterObjView 	@934
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @936
-				    location   	(1770, 1042)
-				    line_color 	3342489
-				    InterObjView 	@934
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @937
-				    location   	(1770, 2080)
-				    line_color 	3342489
-				    InterObjView 	@934
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @938
-				    location   	(1770, 2689)
-				    line_color 	3342489
-				    InterObjView 	@934
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @939
-				    location   	(1770, 3698)
-				    line_color 	3342489
-				    InterObjView 	@934
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @940
-				    location   	(1770, 3823)
-				    line_color 	3342489
-				    InterObjView 	@934
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterObjView "ESOCK Framework" @941
-				location   	(2100, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@941
-				    location   	(2100, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ESOCK Framework")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D1F9E70338"
-				width      	300
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @942
-				    location   	(2100, 1042)
-				    line_color 	3342489
-				    InterObjView 	@941
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @943
-				    location   	(2100, 1226)
-				    line_color 	3342489
-				    InterObjView 	@941
-				    height     	1443
-				    y_coord    	1383
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @944
-				    location   	(2100, 2689)
-				    line_color 	3342489
-				    InterObjView 	@941
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @945
-				    location   	(2100, 2881)
-				    line_color 	3342489
-				    InterObjView 	@941
-				    height     	705
-				    y_coord    	645
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @946
-				    location   	(2100, 3823)
-				    line_color 	3342489
-				    InterObjView 	@941
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @947
-				    location   	(2100, 4011)
-				    line_color 	3342489
-				    InterObjView 	@941
-				    height     	248
-				    y_coord    	188
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$48" @948
-				location   	(2899, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@948
-				    location   	(2899, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	450
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1FBC80344"
-				width      	468
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @949
-				    location   	(2899, 1226)
-				    line_color 	3342489
-				    InterObjView 	@948
-				    height     	1383
-				    y_coord    	1323
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @950
-				    location   	(2899, 1287)
-				    line_color 	3342489
-				    InterObjView 	@948
-				    height     	1262
-				    y_coord    	1202
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @951
-				    location   	(2899, 2369)
-				    line_color 	3342489
-				    InterObjView 	@948
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$49" @952
-				location   	(3348, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@952
-				    location   	(3348, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	380
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1FC56015E"
-				width      	398
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @953
-				    location   	(3348, 1509)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	848
-				    y_coord    	788
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @954
-				    location   	(3348, 1575)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	722
-				    y_coord    	662
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @955
-				    location   	(3348, 1722)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	326
-				    y_coord    	266
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @956
-				    location   	(3348, 2177)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @957
-				    location   	(3348, 2881)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	645
-				    y_coord    	585
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @958
-				    location   	(3348, 2953)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	513
-				    y_coord    	453
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @959
-				    location   	(3348, 3346)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @960
-				    location   	(3348, 4011)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	188
-				    y_coord    	128
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @961
-				    location   	(3348, 4079)
-				    line_color 	3342489
-				    InterObjView 	@952
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$51" @962
-				location   	(3709, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@962
-				    location   	(3709, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D366340339"
-				width      	300
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @963
-				    location   	(3709, 3086)
-				    line_color 	3342489
-				    InterObjView 	@962
-				    height     	203
-				    y_coord    	143
-				    Nested     	FALSE))
-			    (object InterObjView "ETEL" @964
-				location   	(4021, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@964
-				    location   	(4021, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ETEL")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D36658038B"
-				width      	300
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @965
-				    location   	(4021, 3169)
-				    line_color 	3342489
-				    InterObjView 	@964
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @966
-				    location   	(4021, 3698)
-				    line_color 	3342489
-				    InterObjView 	@964
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$50" @967
-				location   	(2461, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@967
-				    location   	(2461, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	357
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D1FBFE03B0"
-				width      	375
-				height     	4124
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @968
-				    location   	(2461, 1386)
-				    line_color 	3342489
-				    InterObjView 	@967
-				    height     	1103
-				    y_coord    	1043
-				    Nested     	FALSE))
-			    (object InterMessView "" @969
-				location   	(0, 416)
-				label      	(object SegLabel @970
-				    Parent_View 	@969
-				    location   	(328, 372)
-				    quidu      	"39D1F73A0320"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	595
-				    justify    	0
-				    label      	"SetGlobalSettingL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@924
-				supplier   	@926
-				Focus_Src  	@925
-				Focus_Entry 	@927
-				origin     	(132, 416)
-				terminus   	(525, 416)
-				ordinal    	0)
-			    (object InterMessView "" @971
-				location   	(0, 457)
-				label      	(object SegLabel @972
-				    Parent_View 	@971
-				    location   	(780, 413)
-				    quidu      	"39D1F7510189"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	716
-				    justify    	0
-				    label      	"NotifySaVarChangeL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@926
-				supplier   	@930
-				Focus_Src  	@927
-				Focus_Entry 	@931
-				origin     	(556, 457)
-				terminus   	(1005, 457)
-				ordinal    	1)
-			    (object InterMessView "" @973
-				location   	(0, 508)
-				label      	(object SegLabel @974
-				    Parent_View 	@973
-				    location   	(1318, 463)
-				    quidu      	"39D1F7A102E2"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	783
-				    justify    	0
-				    label      	"Synch Server Request"
-				    pctDist    	0.729381
-				    height     	46
-				    orientation 	0)
-				line_color 	3342489
-				client     	@930
-				supplier   	@932
-				Focus_Src  	@931
-				Focus_Entry 	@933
-				origin     	(1036, 508)
-				terminus   	(1424, 508)
-				ordinal    	2)
-			    (object InterMessView "" @975
-				location   	(0, 595)
-				label      	(object SegLabel @976
-				    Parent_View 	@975
-				    location   	(1772, 553)
-				    quidu      	"39D1F98F0116"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	841
-				    justify    	0
-				    label      	"RMessage::Complete()"
-				    pctDist    	1.063545
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@932
-				supplier   	@934
-				Focus_Src  	@933
-				Focus_Entry 	@935
-				origin     	(1455, 595)
-				terminus   	(1754, 595)
-				ordinal    	3)
-			    (object NoteView @977
-				location   	(1606, 832)
-				label      	(object ItemLabel
-				    Parent_View 	@977
-				    location   	(1185, 756)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	807
-				    label      	"This completes the previous request made by CSmsCommDbEvent::Start().")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	867
-				height     	164)
-			    (object AttachView "" @978
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@975
-				supplier   	@977
-				line_style 	0)
-			    (object InterMessView "" @979
-				location   	(0, 1042)
-				label      	(object SegLabel @980
-				    Parent_View 	@979
-				    location   	(1934, 998)
-				    quidu      	"39D1FA1D0156"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1008
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@934
-				supplier   	@941
-				Focus_Src  	@936
-				Focus_Entry 	@942
-				origin     	(1785, 1042)
-				terminus   	(2084, 1042)
-				ordinal    	4)
-			    (object InterMessView "" @981
-				location   	(0, 1226)
-				label      	(object SegLabel @982
-				    Parent_View 	@981
-				    location   	(2499, 1182)
-				    quidu      	"39D1FBD802E4"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	254
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@941
-				supplier   	@948
-				Focus_Src  	@943
-				Focus_Entry 	@949
-				origin     	(2115, 1226)
-				terminus   	(2883, 1226)
-				ordinal    	5)
-			    (object SelfMessView "" @983
-				location   	(0, 1287)
-				label      	(object SegLabel @984
-				    Parent_View 	@983
-				    location   	(3005, 1243)
-				    quidu      	"39D1FBEC00B2"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	416
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@948
-				supplier   	@948
-				Focus_Src  	@949
-				Focus_Entry 	@950
-				origin     	(2915, 1287)
-				terminus   	(3065, 1287)
-				ordinal    	6)
-			    (object InterMessView "" @985
-				location   	(0, 1386)
-				label      	(object SegLabel @986
-				    Parent_View 	@985
-				    location   	(2638, 1326)
-				    quidu      	"39D1FC1501A1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	620
-				    justify    	0
-				    label      	"CommDBEvent()"
-				    pctDist    	0.619952
-				    height     	61
-				    orientation 	1)
-				line_color 	3342489
-				client     	@948
-				supplier   	@967
-				Focus_Src  	@950
-				Focus_Entry 	@968
-				origin     	(2883, 1386)
-				terminus   	(2477, 1386)
-				ordinal    	7)
-			    (object InterMessView "" @987
-				location   	(0, 1509)
-				label      	(object SegLabel @988
-				    Parent_View 	@987
-				    location   	(2904, 1465)
-				    quidu      	"39D1FC7D0165"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	387
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@967
-				supplier   	@952
-				Focus_Src  	@968
-				Focus_Entry 	@953
-				origin     	(2476, 1509)
-				terminus   	(3332, 1509)
-				ordinal    	8)
-			    (object NoteView @989
-				location   	(3842, 1295)
-				label      	(object ItemLabel
-				    Parent_View 	@989
-				    location   	(3421, 1201)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	806
-				    label      	"Assume the RGprs session has already been opened.  Typically done when the modem connection is first detected.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	866
-				height     	200)
-			    (object AttachView "" @990
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@987
-				supplier   	@989
-				line_style 	0)
-			    (object SelfMessView "" @991
-				location   	(0, 1575)
-				label      	(object SegLabel @992
-				    Parent_View 	@991
-				    location   	(3775, 1529)
-				    quidu      	"39D364B0010C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1025
-				    justify    	0
-				    label      	"QueryCommDbSmsBearer()"
-				    pctDist    	2.640000
-				    height     	47
-				    orientation 	0)
-				line_color 	3342489
-				client     	@952
-				supplier   	@952
-				Focus_Src  	@953
-				Focus_Entry 	@954
-				origin     	(3364, 1575)
-				terminus   	(3514, 1575)
-				ordinal    	9)
-			    (object SelfMessView "" @993
-				location   	(0, 1722)
-				label      	(object SegLabel @994
-				    Parent_View 	@993
-				    location   	(3847, 1679)
-				    quidu      	"39D364DB036F"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1233
-				    justify    	0
-				    label      	"GetCurrentCommDbSmsBearerL()"
-				    pctDist    	3.026667
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@952
-				supplier   	@952
-				Focus_Src  	@954
-				Focus_Entry 	@955
-				origin     	(3364, 1722)
-				terminus   	(3514, 1722)
-				ordinal    	10)
-			    (object InterMessView "" @995
-				location   	(0, 1820)
-				label      	(object SegLabel @996
-				    Parent_View 	@995
-				    location   	(1960, 1776)
-				    quidu      	"39D364FA00B8"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	562
-				    justify    	0
-				    label      	"NewL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@952
-				supplier   	@926
-				Focus_Src  	@955
-				Focus_Entry 	@928
-				origin     	(3332, 1820)
-				terminus   	(557, 1820)
-				ordinal    	11)
-			    (object InterMessView "" @997
-				location   	(0, 1928)
-				label      	(object SegLabel @998
-				    Parent_View 	@997
-				    location   	(1960, 1884)
-				    quidu      	"39D36515000B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	900
-				    justify    	0
-				    label      	"GetGlobalSettingL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@952
-				supplier   	@926
-				Focus_Src  	@955
-				Focus_Entry 	@929
-				origin     	(3332, 1928)
-				terminus   	(557, 1928)
-				ordinal    	12)
-			    (object InterMessView "" @999
-				location   	(0, 2080)
-				label      	(object SegLabel @1000
-				    Parent_View 	@999
-				    location   	(2567, 2036)
-				    quidu      	"39D3653A009C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1004
-				    justify    	0
-				    label      	"User::RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@952
-				supplier   	@934
-				Focus_Src  	@954
-				Focus_Entry 	@937
-				origin     	(3332, 2080)
-				terminus   	(1786, 2080)
-				ordinal    	13)
-			    (object SelfMessView "" @1001
-				location   	(0, 2177)
-				label      	(object SegLabel @1002
-				    Parent_View 	@1001
-				    location   	(3673, 2123)
-				    quidu      	"39D3654A00D0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	612
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.860000
-				    height     	55
-				    orientation 	0)
-				line_color 	3342489
-				client     	@952
-				supplier   	@952
-				Focus_Src  	@954
-				Focus_Entry 	@956
-				origin     	(3364, 2177)
-				terminus   	(3514, 2177)
-				ordinal    	14)
-			    (object InterMessView "" @1003
-				location   	(0, 2689)
-				label      	(object SegLabel @1004
-				    Parent_View 	@1003
-				    location   	(1934, 2645)
-				    quidu      	"39D365670027"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1041
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@934
-				supplier   	@941
-				Focus_Src  	@938
-				Focus_Entry 	@944
-				origin     	(1785, 2689)
-				terminus   	(2084, 2689)
-				ordinal    	16)
-			    (object InterMessView "" @1005
-				location   	(0, 2881)
-				label      	(object SegLabel @1006
-				    Parent_View 	@1005
-				    location   	(2723, 2837)
-				    quidu      	"39D365860091"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	287
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@941
-				supplier   	@952
-				Focus_Src  	@945
-				Focus_Entry 	@957
-				origin     	(2115, 2881)
-				terminus   	(3332, 2881)
-				ordinal    	17)
-			    (object InterMessView "" @1007
-				location   	(0, 2369)
-				label      	(object SegLabel @1008
-				    Parent_View 	@1007
-				    location   	(2694, 2325)
-				    quidu      	"39D365B90397"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	387
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@967
-				supplier   	@948
-				Focus_Src  	@968
-				Focus_Entry 	@951
-				origin     	(2476, 2369)
-				terminus   	(2883, 2369)
-				ordinal    	15)
-			    (object NoteView @1009
-				location   	(3806, 2673)
-				label      	(object ItemLabel
-				    Parent_View 	@1009
-				    location   	(3460, 2608)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	657
-				    label      	"Assume query of Comm DB completed without error.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	717
-				height     	142)
-			    (object SelfMessView "" @1010
-				location   	(0, 2953)
-				label      	(object SegLabel @1011
-				    Parent_View 	@1010
-				    location   	(3637, 2911)
-				    quidu      	"39D3660503C8"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	554
-				    justify    	0
-				    label      	"SetSmsBearer()"
-				    pctDist    	1.720000
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@952
-				supplier   	@952
-				Focus_Src  	@957
-				Focus_Entry 	@958
-				origin     	(3364, 2953)
-				terminus   	(3514, 2953)
-				ordinal    	18)
-			    (object AttachView "" @1012
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1009
-				supplier   	@1010
-				line_style 	0)
-			    (object InterMessView "" @1013
-				location   	(0, 3086)
-				label      	(object SegLabel @1014
-				    Parent_View 	@1013
-				    location   	(3613, 3037)
-				    quidu      	"39D36645035D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	604
-				    justify    	0
-				    label      	"SetSmsBearer()"
-				    pctDist    	0.746032
-				    height     	50
-				    orientation 	0)
-				line_color 	3342489
-				client     	@952
-				supplier   	@962
-				Focus_Src  	@958
-				Focus_Entry 	@963
-				origin     	(3363, 3086)
-				terminus   	(3693, 3086)
-				ordinal    	19)
-			    (object InterMessView "" @1015
-				location   	(0, 3169)
-				label      	(object SegLabel @1016
-				    Parent_View 	@1015
-				    location   	(4052, 3120)
-				    quidu      	"39D3667203B2"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	862
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	1.167260
-				    height     	50
-				    orientation 	0)
-				line_color 	3342489
-				client     	@962
-				supplier   	@964
-				Focus_Src  	@963
-				Focus_Entry 	@965
-				origin     	(3724, 3169)
-				terminus   	(4005, 3169)
-				ordinal    	20)
-			    (object SelfMessView "" @1017
-				location   	(0, 3346)
-				label      	(object SegLabel @1018
-				    Parent_View 	@1017
-				    location   	(3611, 3304)
-				    quidu      	"39D3668600AC"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	462
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.446667
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@952
-				supplier   	@952
-				Focus_Src  	@958
-				Focus_Entry 	@959
-				origin     	(3364, 3346)
-				terminus   	(3514, 3346)
-				ordinal    	21)
-			    (object InterMessView "" @1019
-				location   	(0, 3698)
-				label      	(object SegLabel @1020
-				    Parent_View 	@1019
-				    location   	(2896, 3654)
-				    quidu      	"39D366A202F2"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	625
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@964
-				supplier   	@934
-				Focus_Src  	@966
-				Focus_Entry 	@939
-				origin     	(4005, 3698)
-				terminus   	(1786, 3698)
-				ordinal    	22)
-			    (object InterMessView "" @1021
-				location   	(0, 3823)
-				label      	(object SegLabel @1022
-				    Parent_View 	@1021
-				    location   	(1934, 3779)
-				    quidu      	"39D366CB00B6"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1041
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@934
-				supplier   	@941
-				Focus_Src  	@940
-				Focus_Entry 	@946
-				origin     	(1785, 3823)
-				terminus   	(2084, 3823)
-				ordinal    	23)
-			    (object InterMessView "" @1023
-				location   	(0, 4011)
-				label      	(object SegLabel @1024
-				    Parent_View 	@1023
-				    location   	(2723, 3967)
-				    quidu      	"39D367040342"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	287
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@941
-				supplier   	@952
-				Focus_Src  	@947
-				Focus_Entry 	@960
-				origin     	(2115, 4011)
-				terminus   	(3332, 4011)
-				ordinal    	24)
-			    (object SelfMessView "" @1025
-				location   	(0, 4079)
-				label      	(object SegLabel @1026
-				    Parent_View 	@1025
-				    location   	(3528, 4023)
-				    quidu      	"39D3672C0097"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	416
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	0.993333
-				    height     	56
-				    orientation 	0)
-				line_color 	3342489
-				client     	@952
-				supplier   	@952
-				Focus_Src  	@960
-				Focus_Entry 	@961
-				origin     	(3364, 4079)
-				terminus   	(3514, 4079)
-				ordinal    	25)
-			    (object NoteView @1027
-				location   	(3915, 3919)
-				label      	(object ItemLabel
-				    Parent_View 	@1027
-				    location   	(3586, 3850)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	623
-				    label      	"Assume setting of SMS bearer on RGprs completed successfully.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	683
-				height     	150)
-			    (object AttachView "" @1028
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1027
-				supplier   	@1023
-				line_style 	0)))
-		    (object InteractionDiagram "Read Message (SMS-DELIVERY_REPORT)"
-			mechanism_ref 	@10
-			quid       	"39D1E32902B5"
-			title      	"Read Message (SMS-DELIVERY_REPORT)"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list))
-		    (object InteractionDiagram "Modem Connection Detected"
-			mechanism_ref 	@11
-			quid       	"39D1F38203AD"
-			title      	"Modem Connection Detected"
-			zoom       	80
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object InterObjView "ETEL" @1029
-				location   	(162, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1029
-				    location   	(162, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ETEL")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D36AE901A1"
-				width      	300
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1030
-				    location   	(162, 780)
-				    line_color 	3342489
-				    InterObjView 	@1029
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1031
-				    location   	(162, 2238)
-				    line_color 	3342489
-				    InterObjView 	@1029
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1032
-				    location   	(162, 2686)
-				    line_color 	3342489
-				    InterObjView 	@1029
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1033
-				    location   	(162, 3671)
-				    line_color 	3342489
-				    InterObjView 	@1029
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "ESOCK Framework" @1034
-				location   	(796, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1034
-				    location   	(796, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ESOCK Framework")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D36B17023E"
-				width      	300
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1035
-				    location   	(796, 962)
-				    line_color 	3342489
-				    InterObjView 	@1034
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1036
-				    location   	(796, 1180)
-				    line_color 	3342489
-				    InterObjView 	@1034
-				    height     	2991
-				    y_coord    	2931
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1037
-				    location   	(796, 3191)
-				    line_color 	3342489
-				    InterObjView 	@1034
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$52" @1038
-				location   	(1995, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1038
-				    location   	(1995, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	552
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D36B83008A"
-				width      	570
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1039
-				    location   	(1995, 1180)
-				    line_color 	3342489
-				    InterObjView 	@1038
-				    height     	2931
-				    y_coord    	2871
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1040
-				    location   	(1995, 1257)
-				    line_color 	3342489
-				    InterObjView 	@1038
-				    height     	2794
-				    y_coord    	2734
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1041
-				    location   	(1995, 1471)
-				    line_color 	3342489
-				    InterObjView 	@1038
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1042
-				    location   	(1995, 3510)
-				    line_color 	3342489
-				    InterObjView 	@1038
-				    height     	421
-				    y_coord    	361
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1043
-				    location   	(1995, 3811)
-				    line_color 	3342489
-				    InterObjView 	@1038
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$55" @1044
-				location   	(2491, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1044
-				    location   	(2491, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	380
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D46D3C00B3"
-				width      	398
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1045
-				    location   	(2491, 1574)
-				    line_color 	3342489
-				    InterObjView 	@1044
-				    height     	476
-				    y_coord    	416
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1046
-				    location   	(2491, 1647)
-				    line_color 	3342489
-				    InterObjView 	@1044
-				    height     	343
-				    y_coord    	283
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1047
-				    location   	(2491, 1870)
-				    line_color 	3342489
-				    InterObjView 	@1044
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$56" @1048
-				location   	(2952, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1048
-				    location   	(2952, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	482
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D46E4E0189"
-				width      	500
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1049
-				    location   	(2952, 2123)
-				    line_color 	3342489
-				    InterObjView 	@1048
-				    height     	363
-				    y_coord    	303
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1050
-				    location   	(2952, 2366)
-				    line_color 	3342489
-				    InterObjView 	@1048
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$59" @1051
-				location   	(3843, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1051
-				    location   	(3843, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	458
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D46EA301EF"
-				width      	476
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1052
-				    location   	(3843, 2168)
-				    line_color 	3342489
-				    InterObjView 	@1051
-				    height     	190
-				    y_coord    	130
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$57" @1053
-				location   	(3403, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1053
-				    location   	(3403, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	365
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D472CF0065"
-				width      	383
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1054
-				    location   	(3403, 2551)
-				    line_color 	3342489
-				    InterObjView 	@1053
-				    height     	377
-				    y_coord    	317
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1055
-				    location   	(3403, 2808)
-				    line_color 	3342489
-				    InterObjView 	@1053
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$60" @1056
-				location   	(4284, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1056
-				    location   	(4284, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	365
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D472D300F7"
-				width      	383
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1057
-				    location   	(4284, 2606)
-				    line_color 	3342489
-				    InterObjView 	@1056
-				    height     	200
-				    y_coord    	140
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$54" @1058
-				location   	(4636, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1058
-				    location   	(4636, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D4745D032E"
-				width      	300
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1059
-				    location   	(4636, 3558)
-				    line_color 	3342489
-				    InterObjView 	@1058
-				    height     	233
-				    y_coord    	173
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$53" @1060
-				location   	(1148, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1060
-				    location   	(1148, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	357
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D36C7E0334"
-				width      	375
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1061
-				    location   	(1148, 1365)
-				    line_color 	3342489
-				    InterObjView 	@1060
-				    height     	2626
-				    y_coord    	2566
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1062
-				    location   	(1148, 2992)
-				    line_color 	3342489
-				    InterObjView 	@1060
-				    height     	379
-				    y_coord    	319
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$58" @1063
-				location   	(1524, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1063
-				    location   	(1524, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	333
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D36C8C006D"
-				width      	351
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1064
-				    location   	(1524, 3103)
-				    line_color 	3342489
-				    InterObjView 	@1063
-				    height     	208
-				    y_coord    	148
-				    Nested     	FALSE))
-			    (object InterObjView "E32" @1065
-				location   	(478, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1065
-				    location   	(478, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"E32")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D36BD40394"
-				width      	300
-				height     	4036
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1066
-				    location   	(478, 780)
-				    line_color 	3342489
-				    InterObjView 	@1065
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1067
-				    location   	(478, 962)
-				    line_color 	3342489
-				    InterObjView 	@1065
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1068
-				    location   	(478, 1752)
-				    line_color 	3342489
-				    InterObjView 	@1065
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object NoteView @1069
-				location   	(316, 1284)
-				label      	(object ItemLabel
-				    Parent_View 	@1069
-				    location   	(47, 1192)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	502
-				    label      	"Assume modem detection state changes from not detected to detected.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	562
-				height     	196)
-			    (object InterMessView "" @1070
-				location   	(0, 780)
-				label      	(object SegLabel @1071
-				    Parent_View 	@1070
-				    location   	(388, 731)
-				    quidu      	"39D36BFE00B0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	680
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.740351
-				    height     	50
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1029
-				supplier   	@1065
-				Focus_Src  	@1030
-				Focus_Entry 	@1066
-				origin     	(177, 780)
-				terminus   	(462, 780)
-				ordinal    	0)
-			    (object AttachView "" @1072
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1070
-				supplier   	@1069
-				line_style 	0)
-			    (object InterMessView "" @1073
-				location   	(0, 962)
-				label      	(object SegLabel @1074
-				    Parent_View 	@1073
-				    location   	(636, 918)
-				    quidu      	"39D36C1802AD"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	946
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1065
-				supplier   	@1034
-				Focus_Src  	@1067
-				Focus_Entry 	@1035
-				origin     	(493, 962)
-				terminus   	(780, 962)
-				ordinal    	1)
-			    (object InterMessView "" @1075
-				location   	(0, 1180)
-				label      	(object SegLabel @1076
-				    Parent_View 	@1075
-				    location   	(1395, 1136)
-				    quidu      	"39D36C4C0185"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	239
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1034
-				supplier   	@1038
-				Focus_Src  	@1036
-				Focus_Entry 	@1039
-				origin     	(811, 1180)
-				terminus   	(1979, 1180)
-				ordinal    	2)
-			    (object SelfMessView "" @1077
-				location   	(0, 1257)
-				label      	(object SegLabel @1078
-				    Parent_View 	@1077
-				    location   	(2174, 1206)
-				    quidu      	"39D36C67017A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	391
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	0.986667
-				    height     	52
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1038
-				supplier   	@1038
-				Focus_Src  	@1039
-				Focus_Entry 	@1040
-				origin     	(2011, 1257)
-				terminus   	(2161, 1257)
-				ordinal    	3)
-			    (object InterMessView "" @1079
-				location   	(0, 1365)
-				label      	(object SegLabel @1080
-				    Parent_View 	@1079
-				    location   	(1579, 1321)
-				    quidu      	"39D36CB901A0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	942
-				    justify    	0
-				    label      	"ModemNotificationCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1038
-				supplier   	@1060
-				Focus_Src  	@1040
-				Focus_Entry 	@1061
-				origin     	(1979, 1365)
-				terminus   	(1164, 1365)
-				ordinal    	4)
-			    (object InterMessView "" @1081
-				location   	(0, 1471)
-				label      	(object SegLabel @1082
-				    Parent_View 	@1081
-				    location   	(1586, 1427)
-				    quidu      	"39D46CE4016B"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	672
-				    justify    	0
-				    label      	"ModemDetection()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1060
-				supplier   	@1038
-				Focus_Src  	@1061
-				Focus_Entry 	@1041
-				origin     	(1163, 1471)
-				terminus   	(1979, 1471)
-				ordinal    	5)
-			    (object InterMessView "" @1083
-				location   	(0, 1574)
-				label      	(object SegLabel @1084
-				    Parent_View 	@1083
-				    location   	(1819, 1530)
-				    quidu      	"39D46D4D00A3"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	364
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1060
-				supplier   	@1044
-				Focus_Src  	@1061
-				Focus_Entry 	@1045
-				origin     	(1163, 1574)
-				terminus   	(2475, 1574)
-				ordinal    	6)
-			    (object SelfMessView "" @1085
-				location   	(0, 1647)
-				label      	(object SegLabel @1086
-				    Parent_View 	@1085
-				    location   	(2889, 1601)
-				    quidu      	"39D46D770380"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	961
-				    justify    	0
-				    label      	"QueryCommDbSmsBearer()"
-				    pctDist    	2.446667
-				    height     	47
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1044
-				supplier   	@1044
-				Focus_Src  	@1045
-				Focus_Entry 	@1046
-				origin     	(2507, 1647)
-				terminus   	(2657, 1647)
-				ordinal    	7)
-			    (object InterMessView "" @1087
-				location   	(0, 1752)
-				label      	(object SegLabel @1088
-				    Parent_View 	@1087
-				    location   	(1492, 1708)
-				    quidu      	"39D46DF00135"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	942
-				    justify    	0
-				    label      	"User::RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1044
-				supplier   	@1065
-				Focus_Src  	@1046
-				Focus_Entry 	@1068
-				origin     	(2475, 1752)
-				terminus   	(494, 1752)
-				ordinal    	8)
-			    (object SelfMessView "" @1089
-				location   	(0, 1870)
-				label      	(object SegLabel @1090
-				    Parent_View 	@1089
-				    location   	(2753, 1827)
-				    quidu      	"39D46DFF00D1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	575
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.440000
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1044
-				supplier   	@1044
-				Focus_Src  	@1046
-				Focus_Entry 	@1047
-				origin     	(2507, 1870)
-				terminus   	(2657, 1870)
-				ordinal    	9)
-			    (object NoteView @1091
-				location   	(3373, 1736)
-				label      	(object ItemLabel
-				    Parent_View 	@1091
-				    location   	(3057, 1660)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	596
-				    label      	"Simplified - full details shown in another diagram.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	656
-				height     	164)
-			    (object AttachView "" @1092
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1085
-				supplier   	@1091
-				line_style 	0)
-			    (object InterMessView "" @1093
-				location   	(0, 2123)
-				label      	(object SegLabel @1094
-				    Parent_View 	@1093
-				    location   	(1667, 2081)
-				    quidu      	"39D46E5D03E5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	364
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.284264
-				    height     	43
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1060
-				supplier   	@1048
-				Focus_Src  	@1061
-				Focus_Entry 	@1049
-				origin     	(1163, 2123)
-				terminus   	(2936, 2123)
-				ordinal    	10)
-			    (object InterMessView "" @1095
-				location   	(0, 2168)
-				label      	(object SegLabel @1096
-				    Parent_View 	@1095
-				    location   	(3497, 2116)
-				    quidu      	"39D46EDC0351"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	700
-				    justify    	0
-				    label      	"NotifySmsEvent()"
-				    pctDist    	0.616702
-				    height     	53
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1048
-				supplier   	@1051
-				Focus_Src  	@1049
-				Focus_Entry 	@1052
-				origin     	(2967, 2168)
-				terminus   	(3827, 2168)
-				ordinal    	11)
-			    (object InterMessView "" @1097
-				location   	(0, 2238)
-				label      	(object SegLabel @1098
-				    Parent_View 	@1097
-				    location   	(2003, 2194)
-				    quidu      	"39D4728703DD"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	903
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1051
-				supplier   	@1029
-				Focus_Src  	@1052
-				Focus_Entry 	@1031
-				origin     	(3827, 2238)
-				terminus   	(178, 2238)
-				ordinal    	12)
-			    (object SelfMessView "" @1099
-				location   	(0, 2366)
-				label      	(object SegLabel @1100
-				    Parent_View 	@1099
-				    location   	(3188, 2327)
-				    quidu      	"39D472990004"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	528
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.366667
-				    height     	40
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1048
-				supplier   	@1048
-				Focus_Src  	@1049
-				Focus_Entry 	@1050
-				origin     	(2968, 2366)
-				terminus   	(3118, 2366)
-				ordinal    	13)
-			    (object InterMessView "" @1101
-				location   	(0, 2551)
-				label      	(object SegLabel @1102
-				    Parent_View 	@1101
-				    location   	(2275, 2507)
-				    quidu      	"39D4730E0283"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	364
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1060
-				supplier   	@1053
-				Focus_Src  	@1061
-				Focus_Entry 	@1054
-				origin     	(1163, 2551)
-				terminus   	(3387, 2551)
-				ordinal    	14)
-			    (object InterMessView "" @1103
-				location   	(0, 2606)
-				label      	(object SegLabel @1104
-				    Parent_View 	@1103
-				    location   	(3843, 2562)
-				    quidu      	"39D4731A032A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	774
-				    justify    	0
-				    label      	"ReadSmsMessage()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1053
-				supplier   	@1056
-				Focus_Src  	@1054
-				Focus_Entry 	@1057
-				origin     	(3418, 2606)
-				terminus   	(4268, 2606)
-				ordinal    	15)
-			    (object InterMessView "" @1105
-				location   	(0, 2686)
-				label      	(object SegLabel @1106
-				    Parent_View 	@1105
-				    location   	(2223, 2642)
-				    quidu      	"39D4732C011E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	903
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1056
-				supplier   	@1029
-				Focus_Src  	@1057
-				Focus_Entry 	@1032
-				origin     	(4268, 2686)
-				terminus   	(178, 2686)
-				ordinal    	16)
-			    (object SelfMessView "" @1107
-				location   	(0, 2808)
-				label      	(object SegLabel @1108
-				    Parent_View 	@1107
-				    location   	(3647, 2765)
-				    quidu      	"39D4733F0157"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	528
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.426667
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1053
-				supplier   	@1053
-				Focus_Src  	@1054
-				Focus_Entry 	@1055
-				origin     	(3419, 2808)
-				terminus   	(3569, 2808)
-				ordinal    	17)
-			    (object SelfMessView "" @1109
-				location   	(0, 2992)
-				label      	(object SegLabel @1110
-				    Parent_View 	@1109
-				    location   	(1516, 2942)
-				    quidu      	"39D473830390"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	895
-				    justify    	0
-				    label      	"NotifyMessageObservers()"
-				    pctDist    	2.246667
-				    height     	51
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1060
-				supplier   	@1060
-				Focus_Src  	@1061
-				Focus_Entry 	@1062
-				origin     	(1164, 2992)
-				terminus   	(1314, 2992)
-				ordinal    	18)
-			    (object NoteView @1111
-				location   	(1556, 1908)
-				label      	(object ItemLabel
-				    Parent_View 	@1111
-				    location   	(1225, 1824)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	627
-				    label      	"Request SMS Event notifications.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	687
-				height     	180)
-			    (object AttachView "" @1112
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1111
-				supplier   	@1093
-				line_style 	0)
-			    (object NoteView @1113
-				location   	(2595, 1329)
-				label      	(object ItemLabel
-				    Parent_View 	@1113
-				    location   	(2350, 1257)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	455
-				    label      	"(Re-)set the current SMS bearer.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	515
-				height     	156)
-			    (object AttachView "" @1114
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1113
-				supplier   	@1083
-				line_style 	0)
-			    (object NoteView @1115
-				location   	(1562, 2400)
-				label      	(object ItemLabel
-				    Parent_View 	@1115
-				    location   	(1238, 2320)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	612
-				    label      	"Request notification and read of incoming SMS PDU.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	672
-				height     	172)
-			    (object AttachView "" @1116
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1115
-				supplier   	@1101
-				line_style 	0)
-			    (object InterMessView "" @1117
-				location   	(0, 3510)
-				label      	(object SegLabel @1118
-				    Parent_View 	@1117
-				    location   	(1586, 3466)
-				    quidu      	"39D4742F0378"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	364
-				    justify    	0
-				    label      	"Start()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1060
-				supplier   	@1038
-				Focus_Src  	@1061
-				Focus_Entry 	@1042
-				origin     	(1163, 3510)
-				terminus   	(1979, 3510)
-				ordinal    	21)
-			    (object InterMessView "" @1119
-				location   	(0, 3558)
-				label      	(object SegLabel @1120
-				    Parent_View 	@1119
-				    location   	(3330, 3514)
-				    quidu      	"39D47473025E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	852
-				    justify    	0
-				    label      	"NotifyModemDetected()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1038
-				supplier   	@1058
-				Focus_Src  	@1042
-				Focus_Entry 	@1059
-				origin     	(2010, 3558)
-				terminus   	(4620, 3558)
-				ordinal    	22)
-			    (object InterMessView "" @1121
-				location   	(0, 3671)
-				label      	(object SegLabel @1122
-				    Parent_View 	@1121
-				    location   	(3352, 3631)
-				    quidu      	"39D4748400FA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	903
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.285457
-				    height     	41
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1058
-				supplier   	@1029
-				Focus_Src  	@1059
-				Focus_Entry 	@1033
-				origin     	(4620, 3671)
-				terminus   	(178, 3671)
-				ordinal    	23)
-			    (object SelfMessView "" @1123
-				location   	(0, 3811)
-				label      	(object SegLabel @1124
-				    Parent_View 	@1123
-				    location   	(2275, 3768)
-				    quidu      	"39D4749F01CA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	528
-				    justify    	0
-				    label      	"SetActive()"
-				    pctDist    	1.460000
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1038
-				supplier   	@1038
-				Focus_Src  	@1042
-				Focus_Entry 	@1043
-				origin     	(2011, 3811)
-				terminus   	(2161, 3811)
-				ordinal    	24)
-			    (object NoteView @1125
-				location   	(2585, 3277)
-				label      	(object ItemLabel
-				    Parent_View 	@1125
-				    location   	(2269, 3197)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	596
-				    label      	"Resubmit the modem detection notification request.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	656
-				height     	172)
-			    (object InterMessView "" @1126
-				location   	(0, 3103)
-				label      	(object SegLabel @1127
-				    Parent_View 	@1126
-				    location   	(1574, 3065)
-				    quidu      	"39D4751F000D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1036
-				    justify    	0
-				    label      	"ModemNotificationCompleted()"
-				    pctDist    	1.200000
-				    height     	39
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1060
-				supplier   	@1063
-				Focus_Src  	@1062
-				Focus_Entry 	@1064
-				origin     	(1163, 3103)
-				terminus   	(1508, 3103)
-				ordinal    	19)
-			    (object InterMessView "" @1128
-				location   	(0, 3191)
-				label      	(object SegLabel @1129
-				    Parent_View 	@1128
-				    location   	(1168, 3147)
-				    quidu      	"39D47565022A"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	700
-				    justify    	0
-				    label      	"CSocket::Error()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1063
-				supplier   	@1034
-				Focus_Src  	@1064
-				Focus_Entry 	@1037
-				origin     	(1508, 3191)
-				terminus   	(812, 3191)
-				ordinal    	20)
-			    (object AttachView "" @1130
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1125
-				supplier   	@1117
-				line_style 	0)
-			    (object NoteView @1131
-				location   	(468, 546)
-				label      	(object ItemLabel
-				    Parent_View 	@1131
-				    location   	(121, 486)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	659
-				    label      	
-|MODEM DETECTED SCENARIO
-|==========================
-				    )
-				line_color 	3342489
-				fill_color 	13434879
-				width      	719
-				height     	132)))
-		    (object InteractionDiagram "Modem Connection Lost"
-			mechanism_ref 	@12
-			quid       	"39D47CCE0000"
-			title      	"Modem Connection Lost"
-			zoom       	75
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object InterObjView "ETEL" @1132
-				location   	(197, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1132
-				    location   	(197, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"ETEL")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D47E3F01F5"
-				width      	300
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1133
-				    location   	(197, 478)
-				    line_color 	3342489
-				    InterObjView 	@1132
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1134
-				    location   	(197, 1513)
-				    line_color 	3342489
-				    InterObjView 	@1132
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1135
-				    location   	(197, 3049)
-				    line_color 	3342489
-				    InterObjView 	@1132
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1136
-				    location   	(197, 3941)
-				    line_color 	3342489
-				    InterObjView 	@1132
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1137
-				    location   	(197, 5401)
-				    line_color 	3342489
-				    InterObjView 	@1132
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1138
-				    location   	(197, 5539)
-				    line_color 	3342489
-				    InterObjView 	@1132
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE))
-			    (object InterObjView "E32" @1139
-				location   	(527, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1139
-				    location   	(527, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	282
-				    justify    	0
-				    label      	"E32")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D47E5A0050"
-				width      	300
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1140
-				    location   	(527, 478)
-				    line_color 	3342489
-				    InterObjView 	@1139
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1141
-				    location   	(527, 683)
-				    line_color 	3342489
-				    InterObjView 	@1139
-				    height     	120
-				    y_coord    	60
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$61" @1142
-				location   	(2043, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1142
-				    location   	(2043, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	523
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D47E6D0314"
-				width      	541
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1143
-				    location   	(2043, 962)
-				    line_color 	3342489
-				    InterObjView 	@1142
-				    height     	5190
-				    y_coord    	5130
-				    Nested     	FALSE))
-			    (object InterObjView "ETEL" @1144
-				location   	(846, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1144
-				    location   	(846, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	281
-				    justify    	0
-				    label      	"ETEL")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	12632256
-				quidu      	"39D47E3F01F5"
-				width      	299
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1145
-				    location   	(846, 683)
-				    line_color 	3342489
-				    InterObjView 	@1144
-				    height     	60
-				    y_coord    	0
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1146
-				    location   	(846, 895)
-				    line_color 	3342489
-				    InterObjView 	@1144
-				    height     	5317
-				    y_coord    	5257
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$63" @1147
-				location   	(1189, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1147
-				    location   	(1189, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	345
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D47EDE0335"
-				width      	363
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1)
-			    (object InterObjView "$UNNAMED$62" @1148
-				location   	(1566, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1148
-				    location   	(1566, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	341
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D47F1200A4"
-				width      	359
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1149
-				    location   	(1566, 1098)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	4994
-				    y_coord    	4934
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1150
-				    location   	(1566, 1615)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1151
-				    location   	(1566, 1878)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	870
-				    y_coord    	810
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1152
-				    location   	(1566, 1991)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	697
-				    y_coord    	637
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1153
-				    location   	(1566, 2388)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1154
-				    location   	(1566, 3266)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1155
-				    location   	(1566, 4089)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1156
-				    location   	(1566, 4704)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1157
-				    location   	(1566, 4922)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	1110
-				    y_coord    	1050
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1158
-				    location   	(1566, 5054)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	918
-				    y_coord    	858
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1159
-				    location   	(1566, 5672)
-				    line_color 	3342489
-				    InterObjView 	@1148
-				    height     	60
-				    y_coord    	0
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$64" @1160
-				location   	(2543, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1160
-				    location   	(2543, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	379
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D4969501EA"
-				width      	397
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1)
-			    (object InterObjView "$UNNAMED$70" @1161
-				location   	(6184, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1161
-				    location   	(6184, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	372
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D4980B013D"
-				width      	390
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1162
-				    location   	(6184, 2972)
-				    line_color 	3342489
-				    InterObjView 	@1161
-				    height     	197
-				    y_coord    	137
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1163
-				    location   	(6184, 3864)
-				    line_color 	3342489
-				    InterObjView 	@1161
-				    height     	197
-				    y_coord    	137
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1164
-				    location   	(6184, 5480)
-				    line_color 	3342489
-				    InterObjView 	@1161
-				    height     	179
-				    y_coord    	119
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$73" @1165
-				location   	(6643, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1165
-				    location   	(6643, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	489
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D49D1E002D"
-				width      	507
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1166
-				    location   	(6643, 1440)
-				    line_color 	3342489
-				    InterObjView 	@1165
-				    height     	193
-				    y_coord    	133
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$75" @1167
-				location   	(7097, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1167
-				    location   	(7097, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	357
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D4B4190227"
-				width      	375
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1168
-				    location   	(7097, 5350)
-				    line_color 	3342489
-				    InterObjView 	@1167
-				    height     	171
-				    y_coord    	111
-				    Nested     	FALSE))
-			    (object InterObjView "$UNNAMED$69" @1169
-				location   	(5516, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1169
-				    location   	(5516, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	435
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D4A9F60199"
-				width      	453
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1170
-				    location   	(5516, 5097)
-				    line_color 	3342489
-				    InterObjView 	@1169
-				    height     	815
-				    y_coord    	755
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1171
-				    location   	(5516, 5148)
-				    line_color 	3342489
-				    InterObjView 	@1169
-				    height     	704
-				    y_coord    	644
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1172
-				    location   	(5516, 5274)
-				    line_color 	3342489
-				    InterObjView 	@1169
-				    height     	518
-				    y_coord    	458
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$68" @1173
-				location   	(4986, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1173
-				    location   	(4986, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	555
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D49F210023"
-				width      	573
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1174
-				    location   	(4986, 4446)
-				    line_color 	3342489
-				    InterObjView 	@1173
-				    height     	498
-				    y_coord    	438
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1175
-				    location   	(4986, 4540)
-				    line_color 	3342489
-				    InterObjView 	@1173
-				    height     	344
-				    y_coord    	284
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1176
-				    location   	(4986, 4668)
-				    line_color 	3342489
-				    InterObjView 	@1173
-				    height     	156
-				    y_coord    	96
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$67" @1177
-				location   	(4420, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1177
-				    location   	(4420, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	518
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D49DDF03A6"
-				width      	536
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1178
-				    location   	(4420, 3581)
-				    line_color 	3342489
-				    InterObjView 	@1177
-				    height     	748
-				    y_coord    	688
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1179
-				    location   	(4420, 3662)
-				    line_color 	3342489
-				    InterObjView 	@1177
-				    height     	607
-				    y_coord    	547
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1180
-				    location   	(4420, 3783)
-				    line_color 	3342489
-				    InterObjView 	@1177
-				    height     	426
-				    y_coord    	366
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$74" @1181
-				location   	(3503, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1181
-				    location   	(3503, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	496
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D49CA1039E"
-				width      	514
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1)
-			    (object InterObjView "$UNNAMED$66" @1182
-				location   	(3954, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1182
-				    location   	(3954, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	342
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D49B7C0220"
-				width      	360
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1183
-				    location   	(3954, 1221)
-				    line_color 	3342489
-				    InterObjView 	@1182
-				    height     	634
-				    y_coord    	574
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1184
-				    location   	(3954, 1259)
-				    line_color 	3342489
-				    InterObjView 	@1182
-				    height     	536
-				    y_coord    	476
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1185
-				    location   	(3954, 1357)
-				    line_color 	3342489
-				    InterObjView 	@1182
-				    height     	378
-				    y_coord    	318
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1186
-				    location   	(3954, 2747)
-				    line_color 	3342489
-				    InterObjView 	@1182
-				    height     	759
-				    y_coord    	699
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1187
-				    location   	(3954, 2894)
-				    line_color 	3342489
-				    InterObjView 	@1182
-				    height     	552
-				    y_coord    	492
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1188
-				    location   	(3954, 3164)
-				    line_color 	3342489
-				    InterObjView 	@1182
-				    height     	222
-				    y_coord    	162
-				    Nested     	TRUE))
-			    (object InterObjView "$UNNAMED$65" @1189
-				location   	(2994, 225)
-				font       	(object Font
-				    underline  	TRUE)
-				label      	(object ItemLabel
-				    Parent_View 	@1189
-				    location   	(2994, 225)
-				    fill_color 	13434879
-				    anchor_loc 	1
-				    nlines     	2
-				    max_width  	460
-				    justify    	0
-				    label      	"")
-				icon_style 	"Icon"
-				line_color 	3342489
-				fill_color 	13434879
-				quidu      	"39D4989C024A"
-				width      	478
-				height     	6077
-				icon_height 	0
-				icon_width 	0
-				icon_y_offset 	0
-				annotation 	1
-				Focus_Of_Control 	(object Focus_Of_Control "" @1190
-				    location   	(2994, 2080)
-				    line_color 	3342489
-				    InterObjView 	@1189
-				    height     	548
-				    y_coord    	488
-				    Nested     	FALSE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1191
-				    location   	(2994, 2148)
-				    line_color 	3342489
-				    InterObjView 	@1189
-				    height     	420
-				    y_coord    	360
-				    Nested     	TRUE)
-				Focus_Of_Control 	(object Focus_Of_Control "" @1192
-				    location   	(2994, 2295)
-				    line_color 	3342489
-				    InterObjView 	@1189
-				    height     	213
-				    y_coord    	153
-				    Nested     	TRUE))
-			    (object InterMessView "" @1193
-				location   	(0, 478)
-				label      	(object SegLabel @1194
-				    Parent_View 	@1193
-				    location   	(361, 434)
-				    quidu      	"39D47EEA0170"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	591
-				    justify    	0
-				    label      	"RequestComplete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1132
-				supplier   	@1139
-				Focus_Src  	@1133
-				Focus_Entry 	@1140
-				origin     	(212, 478)
-				terminus   	(511, 478)
-				ordinal    	0)
-			    (object NoteView @1195
-				location   	(4634, 947)
-				label      	(object ItemLabel
-				    Parent_View 	@1195
-				    location   	(4290, 850)
-				    fill_color 	13434879
-				    nlines     	4
-				    max_width  	653
-				    label      	"This would call on ETEL to cancel any outstanding set or retrieval request.  Assume get request is outstanding.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	713
-				height     	206)
-			    (object NoteView @1196
-				location   	(3920, 2286)
-				label      	(object ItemLabel
-				    Parent_View 	@1196
-				    location   	(3528, 2182)
-				    fill_color 	13434879
-				    nlines     	4
-				    max_width  	748
-				    label      	"Cancels the sending state machine for the first message in the queue.  Depending on the state this may cancel a logging request, a PDU send attempt, or nothing.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	808
-				height     	221)
-			    (object NoteView @1197
-				location   	(3445, 968)
-				label      	(object ItemLabel
-				    Parent_View 	@1197
-				    location   	(3178, 901)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	498
-				    label      	"Cancel SMS event notification request.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	558
-				height     	147)
-			    (object NoteView @1198
-				location   	(2437, 2509)
-				label      	(object ItemLabel
-				    Parent_View 	@1198
-				    location   	(2140, 2445)
-				    fill_color 	13434879
-				    nlines     	2
-				    max_width  	558
-				    label      	"Cancel PDU read request.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	618
-				height     	140)
-			    (object NoteView @1199
-				location   	(4926, 3234)
-				label      	(object ItemLabel
-				    Parent_View 	@1199
-				    location   	(4582, 3134)
-				    fill_color 	13434879
-				    nlines     	4
-				    max_width  	653
-				    label      	"Depending on the state of any enumeration, phone session intialisation, store reading or nothing may be cancelled.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	713
-				height     	213)
-			    (object NoteView @1200
-				location   	(5418, 4136)
-				label      	(object ItemLabel
-				    Parent_View 	@1200
-				    location   	(5044, 4047)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	712
-				    label      	"Depending on current state, this may cancel PDU processing, a report Ack or Nack ETEL call or nothing at all.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	772
-				height     	191)
-			    (object NoteView @1201
-				location   	(3892, 4208)
-				label      	(object ItemLabel
-				    Parent_View 	@1201
-				    location   	(3628, 4134)
-				    fill_color 	13434879
-				    nlines     	3
-				    max_width  	492
-				    label      	"Cancels any processing of a previously received PDU.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	552
-				height     	161)
-			    (object InterMessView "" @1202
-				location   	(0, 1098)
-				label      	(object SegLabel @1203
-				    Parent_View 	@1202
-				    location   	(1694, 1037)
-				    quidu      	"39D47F1E0139"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	904
-				    justify    	0
-				    label      	"ModemNotificationCompleted()"
-				    pctDist    	0.750562
-				    height     	62
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1142
-				supplier   	@1148
-				Focus_Src  	@1143
-				Focus_Entry 	@1149
-				origin     	(2027, 1098)
-				terminus   	(1582, 1098)
-				ordinal    	3)
-			    (object InterMessView "" @1204
-				location   	(0, 2747)
-				label      	(object SegLabel @1205
-				    Parent_View 	@1204
-				    location   	(2759, 2703)
-				    quidu      	"39D49B9C02C8"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	325
-				    justify    	0
-				    label      	"Cancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1182
-				Focus_Src  	@1149
-				Focus_Entry 	@1186
-				origin     	(1581, 2747)
-				terminus   	(3938, 2747)
-				ordinal    	16)
-			    (object AttachView "" @1206
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1198
-				supplier   	@1204
-				line_style 	0)
-			    (object SelfMessView "" @1207
-				location   	(0, 2894)
-				label      	(object SegLabel @1208
-				    Parent_View 	@1207
-				    location   	(4143, 2854)
-				    quidu      	"39D49BA10351"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	417
-				    justify    	0
-				    label      	"DoCancel()"
-				    pctDist    	1.060000
-				    height     	41
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1182
-				Focus_Src  	@1186
-				Focus_Entry 	@1187
-				origin     	(3970, 2894)
-				terminus   	(4120, 2894)
-				ordinal    	17)
-			    (object InterMessView "" @1209
-				location   	(0, 2972)
-				label      	(object SegLabel @1210
-				    Parent_View 	@1209
-				    location   	(5076, 2928)
-				    quidu      	"39D49BCD0065"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	848
-				    justify    	0
-				    label      	"ReadSmsMessageCancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1161
-				Focus_Src  	@1187
-				Focus_Entry 	@1162
-				origin     	(3969, 2972)
-				terminus   	(6168, 2972)
-				ordinal    	18)
-			    (object InterMessView "" @1211
-				location   	(0, 3049)
-				label      	(object SegLabel @1212
-				    Parent_View 	@1211
-				    location   	(3191, 3005)
-				    quidu      	"39D49BDC0283"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	807
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1161
-				supplier   	@1132
-				Focus_Src  	@1162
-				Focus_Entry 	@1135
-				origin     	(6168, 3049)
-				terminus   	(213, 3049)
-				ordinal    	19)
-			    (object SelfMessView "" @1213
-				location   	(0, 3164)
-				label      	(object SegLabel @1214
-				    Parent_View 	@1213
-				    location   	(4184, 3117)
-				    quidu      	"39D49BF201E4"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	458
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.226667
-				    height     	48
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1182
-				Focus_Src  	@1187
-				Focus_Entry 	@1188
-				origin     	(3970, 3164)
-				terminus   	(4120, 3164)
-				ordinal    	20)
-			    (object InterMessView "" @1215
-				location   	(0, 3266)
-				label      	(object SegLabel @1216
-				    Parent_View 	@1215
-				    location   	(2783, 3222)
-				    quidu      	"39D4AB0C0293"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	695
-				    justify    	0
-				    label      	"PDUReadCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1148
-				Focus_Src  	@1188
-				Focus_Entry 	@1154
-				origin     	(3938, 3266)
-				terminus   	(1582, 3266)
-				ordinal    	21)
-			    (object InterMessView "" @1217
-				location   	(0, 1221)
-				label      	(object SegLabel @1218
-				    Parent_View 	@1217
-				    location   	(2759, 1177)
-				    quidu      	"39D49CE103AA"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	516
-				    justify    	0
-				    label      	"Cancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1182
-				Focus_Src  	@1149
-				Focus_Entry 	@1183
-				origin     	(1581, 1221)
-				terminus   	(3938, 1221)
-				ordinal    	4)
-			    (object AttachView "" @1219
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1197
-				supplier   	@1217
-				line_style 	0)
-			    (object SelfMessView "" @1220
-				location   	(0, 1259)
-				label      	(object SegLabel @1221
-				    Parent_View 	@1220
-				    location   	(4208, 1213)
-				    quidu      	"39D49D010392"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	417
-				    justify    	0
-				    label      	"DoCancel()"
-				    pctDist    	1.486667
-				    height     	47
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1182
-				Focus_Src  	@1183
-				Focus_Entry 	@1184
-				origin     	(3970, 1259)
-				terminus   	(4120, 1259)
-				ordinal    	5)
-			    (object AttachView "" @1222
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1195
-				supplier   	@1220
-				line_style 	0)
-			    (object InterMessView "" @1223
-				location   	(0, 1440)
-				label      	(object SegLabel @1224
-				    Parent_View 	@1223
-				    location   	(5313, 1396)
-				    quidu      	"39D49D2800A0"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	778
-				    justify    	0
-				    label      	"NotifySmsEventCancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1165
-				Focus_Src  	@1185
-				Focus_Entry 	@1166
-				origin     	(3969, 1440)
-				terminus   	(6627, 1440)
-				ordinal    	7)
-			    (object InterMessView "" @1225
-				location   	(0, 1513)
-				label      	(object SegLabel @1226
-				    Parent_View 	@1225
-				    location   	(3420, 1469)
-				    quidu      	"39D4AA880095"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	712
-				    justify    	0
-				    label      	"Asynch Server Request"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1165
-				supplier   	@1132
-				Focus_Src  	@1166
-				Focus_Entry 	@1134
-				origin     	(6627, 1513)
-				terminus   	(213, 1513)
-				ordinal    	8)
-			    (object SelfMessView "" @1227
-				location   	(0, 1357)
-				label      	(object SegLabel @1228
-				    Parent_View 	@1227
-				    location   	(4397, 1349)
-				    quidu      	"39D49D3D0059"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	458
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	2.646667
-				    height     	9
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1182
-				Focus_Src  	@1184
-				Focus_Entry 	@1185
-				origin     	(3970, 1357)
-				terminus   	(4120, 1357)
-				ordinal    	6)
-			    (object InterMessView "" @1229
-				location   	(0, 1615)
-				label      	(object SegLabel @1230
-				    Parent_View 	@1229
-				    location   	(2783, 1571)
-				    quidu      	"39D4AAC80065"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	891
-				    justify    	0
-				    label      	"EventNotificationCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1182
-				supplier   	@1148
-				Focus_Src  	@1185
-				Focus_Entry 	@1150
-				origin     	(3938, 1615)
-				terminus   	(1582, 1615)
-				ordinal    	9)
-			    (object InterMessView "" @1231
-				location   	(0, 3581)
-				label      	(object SegLabel @1232
-				    Parent_View 	@1231
-				    location   	(2992, 3537)
-				    quidu      	"39D49DF40389"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	329
-				    justify    	0
-				    label      	"Cancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1177
-				Focus_Src  	@1149
-				Focus_Entry 	@1178
-				origin     	(1581, 3581)
-				terminus   	(4404, 3581)
-				ordinal    	22)
-			    (object SelfMessView "" @1233
-				location   	(0, 3662)
-				label      	(object SegLabel @1234
-				    Parent_View 	@1233
-				    location   	(4637, 3610)
-				    quidu      	"39D49E07026E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	417
-				    justify    	0
-				    label      	"DoCancel()"
-				    pctDist    	1.240000
-				    height     	53
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1177
-				supplier   	@1177
-				Focus_Src  	@1178
-				Focus_Entry 	@1179
-				origin     	(4436, 3662)
-				terminus   	(4586, 3662)
-				ordinal    	23)
-			    (object AttachView "" @1235
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1233
-				supplier   	@1199
-				line_style 	0)
-			    (object SelfMessView "" @1236
-				location   	(0, 3783)
-				label      	(object SegLabel @1237
-				    Parent_View 	@1236
-				    location   	(4650, 3749)
-				    quidu      	"39D49E5500AC"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	458
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.226667
-				    height     	35
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1177
-				supplier   	@1177
-				Focus_Src  	@1179
-				Focus_Entry 	@1180
-				origin     	(4436, 3783)
-				terminus   	(4586, 3783)
-				ordinal    	24)
-			    (object InterMessView "" @1238
-				location   	(0, 3864)
-				label      	(object SegLabel @1239
-				    Parent_View 	@1238
-				    location   	(5316, 3820)
-				    quidu      	"39D49E890148"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	413
-				    justify    	0
-				    label      	"Close()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1177
-				supplier   	@1161
-				Focus_Src  	@1180
-				Focus_Entry 	@1163
-				origin     	(4435, 3864)
-				terminus   	(6168, 3864)
-				ordinal    	25)
-			    (object InterMessView "" @1240
-				location   	(0, 3941)
-				label      	(object SegLabel @1241
-				    Parent_View 	@1240
-				    location   	(3191, 3897)
-				    quidu      	"39D49EB20363"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	745
-				    justify    	0
-				    label      	"Asynch Server Call"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1161
-				supplier   	@1132
-				Focus_Src  	@1163
-				Focus_Entry 	@1136
-				origin     	(6168, 3941)
-				terminus   	(213, 3941)
-				ordinal    	26)
-			    (object InterMessView "" @1242
-				location   	(0, 4089)
-				label      	(object SegLabel @1243
-				    Parent_View 	@1242
-				    location   	(3016, 4045)
-				    quidu      	"39D4AB280153"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	945
-				    justify    	0
-				    label      	"PhoneEnumerationCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1177
-				supplier   	@1148
-				Focus_Src  	@1180
-				Focus_Entry 	@1155
-				origin     	(4404, 4089)
-				terminus   	(1582, 4089)
-				ordinal    	27)
-			    (object InterMessView "" @1244
-				location   	(0, 4446)
-				label      	(object SegLabel @1245
-				    Parent_View 	@1244
-				    location   	(3275, 4402)
-				    quidu      	"39D49F500267"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	329
-				    justify    	0
-				    label      	"Cancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1173
-				Focus_Src  	@1149
-				Focus_Entry 	@1174
-				origin     	(1581, 4446)
-				terminus   	(4970, 4446)
-				ordinal    	28)
-			    (object AttachView "" @1246
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1201
-				supplier   	@1244
-				line_style 	0)
-			    (object SelfMessView "" @1247
-				location   	(0, 4540)
-				label      	(object SegLabel @1248
-				    Parent_View 	@1247
-				    location   	(5183, 4487)
-				    quidu      	"39D49F5903DC"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	417
-				    justify    	0
-				    label      	"DoCancel()"
-				    pctDist    	1.113333
-				    height     	54
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1173
-				supplier   	@1173
-				Focus_Src  	@1174
-				Focus_Entry 	@1175
-				origin     	(5002, 4540)
-				terminus   	(5152, 4540)
-				ordinal    	29)
-			    (object AttachView "" @1249
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1247
-				supplier   	@1200
-				line_style 	0)
-			    (object SelfMessView "" @1250
-				location   	(0, 4668)
-				label      	(object SegLabel @1251
-				    Parent_View 	@1250
-				    location   	(5214, 4623)
-				    quidu      	"39D4A91700BC"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	404
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.213333
-				    height     	46
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1173
-				supplier   	@1173
-				Focus_Src  	@1175
-				Focus_Entry 	@1176
-				origin     	(5002, 4668)
-				terminus   	(5152, 4668)
-				ordinal    	30)
-			    (object InterMessView "" @1252
-				location   	(0, 4704)
-				label      	(object SegLabel @1253
-				    Parent_View 	@1252
-				    location   	(3299, 4660)
-				    quidu      	"39D4AB46000C"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	916
-				    justify    	0
-				    label      	"PDUReadProcessCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1173
-				supplier   	@1148
-				Focus_Src  	@1176
-				Focus_Entry 	@1156
-				origin     	(4970, 4704)
-				terminus   	(1582, 4704)
-				ordinal    	31)
-			    (object SelfMessView "" @1254
-				location   	(0, 4922)
-				label      	(object SegLabel @1255
-				    Parent_View 	@1254
-				    location   	(1837, 4875)
-				    quidu      	"39D4A9A50139"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	758
-				    justify    	0
-				    label      	"CancelMessageWrites()"
-				    pctDist    	1.600000
-				    height     	48
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1148
-				Focus_Src  	@1149
-				Focus_Entry 	@1157
-				origin     	(1582, 4922)
-				terminus   	(1732, 4922)
-				ordinal    	32)
-			    (object SelfMessView "" @1256
-				location   	(0, 5054)
-				label      	(object SegLabel @1257
-				    Parent_View 	@1256
-				    location   	(1889, 5013)
-				    quidu      	"39D4A9C202C1"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	845
-				    justify    	0
-				    label      	"CancelWriteSmsMessage()"
-				    pctDist    	1.846667
-				    height     	42
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1148
-				Focus_Src  	@1157
-				Focus_Entry 	@1158
-				origin     	(1582, 5054)
-				terminus   	(1732, 5054)
-				ordinal    	33)
-			    (object InterMessView "" @1258
-				location   	(0, 683)
-				label      	(object SegLabel @1259
-				    Parent_View 	@1258
-				    location   	(686, 639)
-				    quidu      	"39D4B0D10107"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	1008
-				    justify    	0
-				    label      	"Asynch Request Completion Event"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1139
-				supplier   	@1144
-				Focus_Src  	@1141
-				Focus_Entry 	@1145
-				origin     	(542, 683)
-				terminus   	(830, 683)
-				ordinal    	1)
-			    (object InterMessView "" @1260
-				location   	(0, 962)
-				label      	(object SegLabel @1261
-				    Parent_View 	@1260
-				    location   	(1444, 918)
-				    quidu      	"39D4B0EE0236"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	254
-				    justify    	0
-				    label      	"RunL()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1144
-				supplier   	@1142
-				Focus_Src  	@1146
-				Focus_Entry 	@1143
-				origin     	(861, 962)
-				terminus   	(2027, 962)
-				ordinal    	2)
-			    (object SelfMessView "" @1262
-				location   	(0, 1878)
-				label      	(object SegLabel @1263
-				    Parent_View 	@1262
-				    location   	(1276, 1910)
-				    quidu      	"39D4B2760329"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	750
-				    justify    	0
-				    label      	"CancelMessageSends()"
-				    pctDist    	-2.140000
-				    height     	32
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1148
-				Focus_Src  	@1149
-				Focus_Entry 	@1151
-				origin     	(1582, 1878)
-				terminus   	(1732, 1878)
-				ordinal    	10)
-			    (object SelfMessView "" @1264
-				location   	(0, 1991)
-				label      	(object SegLabel @1265
-				    Parent_View 	@1264
-				    location   	(1237, 2018)
-				    quidu      	"39D4B28C0280"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	837
-				    justify    	0
-				    label      	"CancelSendSmsMessage()"
-				    pctDist    	-2.500000
-				    height     	27
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1148
-				Focus_Src  	@1151
-				Focus_Entry 	@1152
-				origin     	(1582, 1991)
-				terminus   	(1732, 1991)
-				ordinal    	11)
-			    (object InterMessView "" @1266
-				location   	(0, 2080)
-				label      	(object SegLabel @1267
-				    Parent_View 	@1266
-				    location   	(2294, 2036)
-				    quidu      	"39D4B2B00001"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	325
-				    justify    	0
-				    label      	"Cancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1189
-				Focus_Src  	@1152
-				Focus_Entry 	@1190
-				origin     	(1581, 2080)
-				terminus   	(2978, 2080)
-				ordinal    	12)
-			    (object SelfMessView "" @1268
-				location   	(0, 2148)
-				label      	(object SegLabel @1269
-				    Parent_View 	@1268
-				    location   	(3238, 2081)
-				    quidu      	"39D4B2C30136"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	408
-				    justify    	0
-				    label      	"DoCancel()"
-				    pctDist    	1.426667
-				    height     	68
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1189
-				supplier   	@1189
-				Focus_Src  	@1190
-				Focus_Entry 	@1191
-				origin     	(3010, 2148)
-				terminus   	(3160, 2148)
-				ordinal    	13)
-			    (object SelfMessView "" @1270
-				location   	(0, 2295)
-				label      	(object SegLabel @1271
-				    Parent_View 	@1270
-				    location   	(3115, 2251)
-				    quidu      	"39D4B2D9030D"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	437
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1189
-				supplier   	@1189
-				Focus_Src  	@1191
-				Focus_Entry 	@1192
-				origin     	(3010, 2295)
-				terminus   	(3160, 2295)
-				ordinal    	14)
-			    (object InterMessView "" @1272
-				location   	(0, 2388)
-				label      	(object SegLabel @1273
-				    Parent_View 	@1272
-				    location   	(2318, 2344)
-				    quidu      	"39D4B2FE0176"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	820
-				    justify    	0
-				    label      	"MessageSendCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1189
-				supplier   	@1148
-				Focus_Src  	@1192
-				Focus_Entry 	@1153
-				origin     	(2978, 2388)
-				terminus   	(1582, 2388)
-				ordinal    	15)
-			    (object AttachView "" @1274
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1268
-				supplier   	@1196
-				line_style 	0)
-			    (object InterMessView "" @1275
-				location   	(0, 5097)
-				label      	(object SegLabel @1276
-				    Parent_View 	@1275
-				    location   	(3555, 5053)
-				    quidu      	"39D4B35300BB"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	325
-				    justify    	0
-				    label      	"Cancel()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1148
-				supplier   	@1169
-				Focus_Src  	@1158
-				Focus_Entry 	@1170
-				origin     	(1581, 5097)
-				terminus   	(5500, 5097)
-				ordinal    	34)
-			    (object SelfMessView "" @1277
-				location   	(0, 5148)
-				label      	(object SegLabel @1278
-				    Parent_View 	@1277
-				    location   	(5779, 5094)
-				    quidu      	"39D4B35E003E"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	408
-				    justify    	0
-				    label      	"DoCancel()"
-				    pctDist    	1.553333
-				    height     	55
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1169
-				supplier   	@1169
-				Focus_Src  	@1170
-				Focus_Entry 	@1171
-				origin     	(5532, 5148)
-				terminus   	(5682, 5148)
-				ordinal    	35)
-			    (object NoteView @1279
-				location   	(6112, 4672)
-				label      	(object ItemLabel
-				    Parent_View 	@1279
-				    location   	(5733, 4553)
-				    fill_color 	13434879
-				    nlines     	4
-				    max_width  	723
-				    label      	"Depending on the state this may cancel initialisation of an ETEL session, a store retrievel operation, writing a PDU or nothing.")
-				line_color 	3342489
-				fill_color 	13434879
-				width      	783
-				height     	250)
-			    (object AttachView "" @1280
-				stereotype 	TRUE
-				line_color 	3342489
-				client     	@1279
-				supplier   	@1277
-				line_style 	0)
-			    (object SelfMessView "" @1281
-				location   	(0, 5274)
-				label      	(object SegLabel @1282
-				    Parent_View 	@1281
-				    location   	(5787, 5231)
-				    quidu      	"39D4B3E401A9"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	437
-				    justify    	0
-				    label      	"Complete()"
-				    pctDist    	1.506667
-				    height     	44
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1169
-				supplier   	@1169
-				Focus_Src  	@1171
-				Focus_Entry 	@1172
-				origin     	(5532, 5274)
-				terminus   	(5682, 5274)
-				ordinal    	36)
-			    (object InterMessView "" @1283
-				location   	(0, 5350)
-				label      	(object SegLabel @1284
-				    Parent_View 	@1283
-				    location   	(6321, 5306)
-				    quidu      	"39D4B43C0192"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	404
-				    justify    	0
-				    label      	"Close()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1169
-				supplier   	@1167
-				Focus_Src  	@1172
-				Focus_Entry 	@1168
-				origin     	(5531, 5350)
-				terminus   	(7081, 5350)
-				ordinal    	37)
-			    (object InterMessView "" @1285
-				location   	(0, 5401)
-				label      	(object SegLabel @1286
-				    Parent_View 	@1285
-				    location   	(3647, 5357)
-				    quidu      	"39D4B44B0003"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	633
-				    justify    	0
-				    label      	"Asych Server Call"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1167
-				supplier   	@1132
-				Focus_Src  	@1168
-				Focus_Entry 	@1137
-				origin     	(7081, 5401)
-				terminus   	(213, 5401)
-				ordinal    	38)
-			    (object InterMessView "" @1287
-				location   	(0, 5480)
-				label      	(object SegLabel @1288
-				    Parent_View 	@1287
-				    location   	(5864, 5436)
-				    quidu      	"39D4B4BB03C5"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	404
-				    justify    	0
-				    label      	"Close()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	0)
-				line_color 	3342489
-				client     	@1169
-				supplier   	@1161
-				Focus_Src  	@1172
-				Focus_Entry 	@1164
-				origin     	(5531, 5480)
-				terminus   	(6168, 5480)
-				ordinal    	39)
-			    (object InterMessView "" @1289
-				location   	(0, 5539)
-				label      	(object SegLabel @1290
-				    Parent_View 	@1289
-				    location   	(3191, 5495)
-				    quidu      	"39D4B4CA0181"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	654
-				    justify    	0
-				    label      	"Asynch Server Call"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1161
-				supplier   	@1132
-				Focus_Src  	@1164
-				Focus_Entry 	@1138
-				origin     	(6168, 5539)
-				terminus   	(213, 5539)
-				ordinal    	40)
-			    (object InterMessView "" @1291
-				location   	(0, 5672)
-				label      	(object SegLabel @1292
-				    Parent_View 	@1291
-				    location   	(3579, 5628)
-				    quidu      	"39D4B4EC00F4"
-				    anchor_loc 	1
-				    nlines     	1
-				    max_width  	829
-				    justify    	0
-				    label      	"MessageWriteCompleted()"
-				    pctDist    	0.500000
-				    height     	45
-				    orientation 	1)
-				line_color 	3342489
-				client     	@1169
-				supplier   	@1148
-				Focus_Src  	@1172
-				Focus_Entry 	@1159
-				origin     	(5500, 5672)
-				terminus   	(1582, 5672)
-				ordinal    	41)))))
-	    (object Class_Category "WAP Protocol"
-		quid       	"39B781CA00A5"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list
-		    (object Class "WAP Protocol Client"
-			quid       	"39B78048014B"
-			stereotype 	"Actor"))
-		logical_presentations 	(list unit_reference_list))
-	    (object Class_Category "SMS Utilities"
-		quid       	"39D0979F0027"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list)
-		logical_presentations 	(list unit_reference_list))
-	    (object Class_Category "GSM Utilities"
-		quid       	"39D098320399"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list)
-		logical_presentations 	(list unit_reference_list)))
-	logical_presentations 	(list unit_reference_list
-	    (object UseCaseDiagram "Main"
-		quid       	"375BCD1B0240"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    root_category 	(object Class_Category "Logical View"
-	quid       	"375BCD1B01F1"
-	exportControl 	"Public"
-	global     	TRUE
-	subsystem  	"Component View"
-	quidu      	"375BCD1B01F3"
-	logical_models 	(list unit_reference_list
-	    (object Class_Category "GSM UTILS"
-		quid       	"35B4B68E0162"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list
-		    (object Class_Category "SMS UTILITIES"
-			quid       	"371C87F9000B"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsAlphabetConverter"
-				quid       	"39CB70B102FB"
-				used_nodes 	(list uses_relationship_list
-				    (object Uses_Relationship
-					quid       	"39CB721502FD"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-					quidu      	"377106660074"))
-				operations 	(list Operations
-				    (object Operation "NewLC"
-					quid       	"39CB70DB02B6"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ConversionProperties"
-					quid       	"39CB71020009"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ConvertFromNativeL"
-					quid       	"39CB7126010F"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ConvertToNativeL"
-					quid       	"39CB712E01E3"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsSupportedL"
-					quid       	"39CB7134008D"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ResetUnconvertedNativeCharacters"
-					quid       	"39CB713A0399"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ResetUnconvertedUDElements"
-					quid       	"39CB7143008F"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UnconvertedNativeCharacters"
-					quid       	"39CB71480230"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UnconvertedUDElements"
-					quid       	"39CB714D01FB"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Alphabet"
-					quid       	"39CB7267034B"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsBufferSegmenter"
-				quid       	"39CB7FFB01C3"
-				operations 	(list Operations
-				    (object Operation "NewLC"
-					quid       	"39CB80360272"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SegmentNextL"
-					quid       	"39CB803C03CF"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TotalConvertedLengthL"
-					quid       	"39CB80460370"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsBufferReassembler"
-				quid       	"39CB8005007D"
-				operations 	(list Operations
-				    (object Operation "ReassembleNextL"
-					quid       	"39CB81D102E1"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsAlphabetPacker"
-				quid       	"39CB800F03AD"
-				operations 	(list Operations
-				    (object Operation "PackL"
-					quid       	"39CB81F6023A"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UnpackL"
-					quid       	"39CB81FA0326"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ConvertAndPackL"
-					quid       	"39CB820303B6"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UnpackAndConvertL"
-					quid       	"39CB820B02D1"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PackedOctetsRequired"
-					quid       	"39CB821A00B6"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Association "$UNNAMED$76"
-				quid       	"39CB82720351"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$77"
-					quid       	"39CB82740155"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter"
-					quidu      	"39CB70B102FB")
-				    (object Role "$UNNAMED$78"
-					quid       	"39CB8274017D"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsBufferSegmenter"
-					quidu      	"39CB7FFB01C3")))
-			    (object Association "$UNNAMED$79"
-				quid       	"39CB828B0086"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$80"
-					quid       	"39CB828B0253"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsBufferSegmenter"
-					quidu      	"39CB7FFB01C3"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$81"
-					quid       	"39CB828B0267"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter"
-					quidu      	"39CB70B102FB")))
-			    (object Association "$UNNAMED$82"
-				quid       	"39CB82F603A1"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$83"
-					quid       	"39CB82F701FE"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter"
-					quidu      	"39CB70B102FB"
-					Containment 	"By Reference"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$84"
-					quid       	"39CB82F70230"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsBufferSegmenter"
-					quidu      	"39CB7FFB01C3"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$85"
-				quid       	"39CB83150341"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$86"
-					quid       	"39CB83160220"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter"
-					quidu      	"39CB70B102FB"
-					Containment 	"By Reference"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$87"
-					quid       	"39CB8316025C"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::TSmsBufferReassembler"
-					quidu      	"39CB8005007D"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$88"
-				quid       	"39CB839702A8"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$89"
-					quid       	"39CB8398015F"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"
-					Containment 	"By Reference"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$90"
-					quid       	"39CB83980187"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsBufferSegmenter"
-					quidu      	"39CB7FFB01C3"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$91"
-				quid       	"39CB839C0197"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$92"
-					quid       	"39CB839D0094"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"
-					Containment 	"By Reference"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$93"
-					quid       	"39CB839D00D0"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::TSmsBufferReassembler"
-					quidu      	"39CB8005007D"
-					is_aggregate 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"371C881B0163"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS UTILITIES::TSmsAlphabetPacker" @1293
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(347, 259)
-					label      	(object ItemLabel
-					    Parent_View 	@1293
-					    location   	(99, 78)
-					    nlines     	1
-					    max_width  	496
-					    justify    	0
-					    label      	"TSmsAlphabetPacker")
-					icon_style 	"Icon"
-					line_color 	3342489
-					quidu      	"39CB800F03AD"
-					width      	514
-					height     	386
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS UTILITIES::CSmsBufferSegmenter" @1294
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(381, 803)
-					label      	(object ItemLabel
-					    Parent_View 	@1294
-					    location   	(87, 640)
-					    nlines     	1
-					    max_width  	588
-					    justify    	0
-					    label      	"CSmsBufferSegmenter")
-					icon_style 	"Icon"
-					line_color 	3342489
-					quidu      	"39CB7FFB01C3"
-					width      	606
-					height     	350
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter" @1295
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1080, 1471)
-					label      	(object ItemLabel
-					    Parent_View 	@1295
-					    location   	(724, 1165)
-					    nlines     	1
-					    max_width  	712
-					    justify    	0
-					    label      	"CSmsAlphabetConverter")
-					icon_style 	"Icon"
-					line_color 	3342489
-					quidu      	"39CB70B102FB"
-					width      	730
-					height     	636
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$82" @1296
-					location   	(654, 1065)
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"39CB82F603A1"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$83" @1297
-						Parent_View 	@1296
-						location   	(132, 787)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB82F701FE"
-						client     	@1296
-						supplier   	@1295
-						line_style 	0)
-					    (object RoleView "$UNNAMED$84" @1298
-						Parent_View 	@1296
-						location   	(132, 787)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB82F70230"
-						client     	@1296
-						supplier   	@1294
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase" @1299
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1093, 343)
-					label      	(object ItemLabel
-					    Parent_View 	@1299
-					    location   	(923, 89)
-					    nlines     	1
-					    max_width  	340
-					    justify    	0
-					    label      	"CSmsBufferBase")
-					icon_style 	"Icon"
-					line_color 	3342489
-					quidu      	"378F211E01D4"
-					width      	358
-					height     	532
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$88" @1300
-					location   	(782, 542)
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"39CB839702A8"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$89" @1301
-						Parent_View 	@1300
-						location   	(401, -261)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB8398015F"
-						client     	@1300
-						supplier   	@1299
-						line_style 	0)
-					    (object RoleView "$UNNAMED$90" @1302
-						Parent_View 	@1300
-						location   	(401, -261)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB83980187"
-						client     	@1300
-						supplier   	@1294
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS UTILITIES::TSmsBufferReassembler" @1303
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1802, 809)
-					label      	(object ItemLabel
-					    Parent_View 	@1303
-					    location   	(1559, 728)
-					    nlines     	1
-					    max_width  	486
-					    justify    	0
-					    label      	"TSmsBufferReassembler")
-					icon_style 	"Icon"
-					line_color 	3342489
-					quidu      	"39CB8005007D"
-					width      	504
-					height     	186
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$85" @1304
-					location   	(1561, 1027)
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"39CB83150341"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$86" @1305
-						Parent_View 	@1304
-						location   	(-120, 815)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB83160220"
-						client     	@1304
-						supplier   	@1295
-						line_style 	0)
-					    (object RoleView "$UNNAMED$87" @1306
-						Parent_View 	@1304
-						location   	(-120, 815)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB8316025C"
-						client     	@1304
-						supplier   	@1303
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$91" @1307
-					location   	(1465, 587)
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"39CB839C0197"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$92" @1308
-						Parent_View 	@1307
-						location   	(-337, -222)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB839D0094"
-						client     	@1307
-						supplier   	@1299
-						line_style 	0)
-					    (object RoleView "$UNNAMED$93" @1309
-						Parent_View 	@1307
-						location   	(-337, -222)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"39CB839D00D0"
-						client     	@1307
-						supplier   	@1303
-						line_style 	0)))))))
-		    (object Class_Category "SMS SETTINGS"
-			quid       	"3601227700A6"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "TSmsUserDataSettings"
-				quid       	"3764D62102E9"
-				operations 	(list Operations
-				    (object Operation "Alphabet"
-					quid       	"381D79CF00CA"
-					result     	"TSmsAlphabet"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetAlphabet"
-					quid       	"381D79E401F3"
-					parameters 	(list Parameters
-					    (object Parameter "aAlphabet"
-						type       	"TSmsAlphabet"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TextCompressed"
-					quid       	"381D7A0F00CA"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTextCompressed"
-					quid       	"381D7A2B0128"
-					parameters 	(list Parameters
-					    (object Parameter "aCompressed"
-						type       	"argtype"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TextConcatenated"
-					quid       	"381D7A550260"
-					parameters 	(list Parameters
-					    (object Parameter "aIs16Bit"
-						type       	"TBool*"
-						initv      	"NULL"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTextConcatenated"
-					quid       	"381D7A6700F9"
-					parameters 	(list Parameters
-					    (object Parameter "aConcatenated"
-						type       	"TBool"
-						initv      	"default")
-					    (object Parameter "aIs16Bit"
-						type       	"TBool"
-						initv      	"EFalse"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"381D7B6800F9"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"381D7B680176"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iAlphabet"
-					quid       	"3764D7A00097"
-					type       	"TSmsAlphabet")
-				    (object ClassAttribute "iFlags"
-					quid       	"381D7BA20176"
-					type       	"TInt"))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"3601229302F8"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	941
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS SETTINGS::TSmsUserDataSettings" @1310
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(906, 1513)
-					label      	(object ItemLabel
-					    Parent_View 	@1310
-					    location   	(669, 1207)
-					    nlines     	1
-					    max_width  	474
-					    justify    	0
-					    label      	"TSmsUserDataSettings")
-					icon_style 	"Icon"
-					quidu      	"3764D62102E9"
-					width      	492
-					height     	636)))))
-		    (object Class_Category "SMS PDUS"
-			quid       	"3601228200C6"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Association "$UNNAMED$94"
-				quid       	"35E3E90402A6"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"35E3E9050083"
-					label      	"1"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..1"
-					quid       	"35E3E9050084"
-					label      	"0..1"
-					supplier   	"Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase"
-					quidu      	"37AA9AA20154"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$95"
-				quid       	"35E3E246020A"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$96"
-					quid       	"35E3E2470083"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-					quidu      	"35B4B6A902F8"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$97"
-					quid       	"35E3E2470084"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-					quidu      	"35E3DE9002B6"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$98"
-				quid       	"35E3E2480343"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$99"
-					quid       	"35E3E2490100"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver"
-					quidu      	"35B4B6B80327"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$100"
-					quid       	"35E3E2490101"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-					quidu      	"35E3DE9002B6"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$101"
-				quid       	"377107AF0083"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"377107AF02C6"
-					label      	"1"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport"
-					quidu      	"377102B10304"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..1"
-					quid       	"377107AF02C7"
-					label      	"0..1"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-					quidu      	"35E3DE9002B6"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$102"
-				quid       	"37710B43020A"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"37710B440100"
-					label      	"1"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport"
-					quidu      	"377102B10304"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "1..n"
-					quid       	"37710B440101"
-					label      	"1..n"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsParameterIndicator"
-					quidu      	"37710B1F0391"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$103"
-				quid       	"37710BE201DB"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$104"
-					quid       	"37710BE203DF"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver"
-					quidu      	"35B4B6B80327"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$105"
-					quid       	"37710BE203E0"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-					quidu      	"3771060F0074"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$106"
-				quid       	"37710BF80045"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$107"
-					quid       	"37710BF801AC"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport"
-					quidu      	"377102B10304"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$108"
-					quid       	"37710BF801AD"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-					quidu      	"3771060F0074"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$109"
-				quid       	"37710C04020A"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$110"
-					quid       	"37710C050035"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver"
-					quidu      	"35B4B6B80327"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$111"
-					quid       	"37710C050036"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-					quidu      	"377106660074"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$112"
-				quid       	"37710C150362"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$113"
-					quid       	"37710C1600F1"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-					quidu      	"35B4B6A902F8"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$114"
-					quid       	"37710C1600F2"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-					quidu      	"3771060F0074"
-					is_navigable 	TRUE)))
-			    (object Class_Category "SMS PDU"
-				quid       	"37710C3903A0"
-				exportControl 	"Public"
-				logical_models 	(list unit_reference_list
-				    (object Class "TSms"
-					quid       	"3770C4E700A3")
-				    (object Class "CSmsDeliverReport"
-					quid       	"3770F7210258"
-					superclasses 	(list inheritance_relationship_list
-					    (object Inheritance_Relationship
-						quid       	"378489800153"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"))
-					operations 	(list Operations
-					    (object Operation "FailureCause"
-						quid       	"3785FBB10338"
-						parameters 	(list Parameters
-						    (object Parameter "aFailureCause"
-							type       	"TInt"
-							initv      	"default"))
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetFailureCause"
-						quid       	"3785FC7D002B"
-						parameters 	(list Parameters
-						    (object Parameter "aIsPresent"
-							type       	"TBool"
-							initv      	"default")
-						    (object Parameter "aFailureCause"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DataCodingScheme"
-						quid       	"3789F2C80346"
-						result     	"TSmsDataCodingScheme*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ProtocolIdentifier"
-						quid       	"3789F2C80375"
-						result     	"TSmsProtocolIdentifier*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ParameterIndicator"
-						quid       	"3789F371029A"
-						result     	"TSmsParameterIndicator"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "UserDataPtr"
-						quid       	"381867ED0085"
-						result     	"CSmsUserData*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)))
-				    (object Class "CSmsStatusReport"
-					quid       	"3770FB540258"
-					superclasses 	(list inheritance_relationship_list
-					    (object Inheritance_Relationship
-						quid       	"3784898A0069"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"))
-					operations 	(list Operations
-					    (object Operation "MoreMessagesToSend"
-						quid       	"3786095000C7"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetMoreMessagesToSend"
-						quid       	"3786095000F6"
-						parameters 	(list Parameters
-						    (object Parameter "aMoreMessagesToSend"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "StatusReportQualifier"
-						quid       	"3786095502CB"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetStatusReportQualifier"
-						quid       	"37860974028C"
-						parameters 	(list Parameters
-						    (object Parameter "aStatusReportQualifier"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "MessageReference"
-						quid       	"378609B503E4"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetMessageReference"
-						quid       	"378609B6002B"
-						parameters 	(list Parameters
-						    (object Parameter "aMessageReference"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ServiceCenterTimeStamp"
-						quid       	"37860A33020F"
-						parameters 	(list Parameters
-						    (object Parameter "aTime"
-							type       	"TTime&"
-							initv      	"default")
-						    (object Parameter "aNumQuarterHours"
-							type       	"TInt&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetServiceCenterTimeStamp"
-						quid       	"37860A33023E"
-						parameters 	(list Parameters
-						    (object Parameter "aTime"
-							type       	"const TTime&"
-							initv      	"default")
-						    (object Parameter "aNumQuarterHours"
-							type       	"TInt"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DischargeTime"
-						quid       	"37860A3400D7"
-						parameters 	(list Parameters
-						    (object Parameter "aTime"
-							type       	"TTime&"
-							initv      	"default")
-						    (object Parameter "aNumQuarterHours"
-							type       	"TInt&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetDischargeTime"
-						quid       	"37860A340115"
-						parameters 	(list Parameters
-						    (object Parameter "aTime"
-							type       	"const TTime&"
-							initv      	"default")
-						    (object Parameter "aNumQuarterHours"
-							type       	"TInt"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "Status"
-						quid       	"37860B2B0088"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetStatus"
-						quid       	"37860B3B004A"
-						parameters 	(list Parameters
-						    (object Parameter "aStatus"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DataCodingScheme"
-						quid       	"3789F32E027B"
-						result     	"TSmsDataCodingScheme*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ProtocolIdentifier"
-						quid       	"3789F32E02BA"
-						result     	"TSmsProtocolIdentifier*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ParameterIndicator"
-						quid       	"3789F3850385"
-						result     	"TSmsParameterIndicator"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "UserDataPtr"
-						quid       	"38186C14017F"
-						result     	"CSmsUserData*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ToFromAddressPtr"
-						quid       	"38186C1401FC"
-						result     	"CSmsAddress*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)))
-				    (object Class "CSmsSubmitReport"
-					quid       	"377102B10304"
-					superclasses 	(list inheritance_relationship_list
-					    (object Inheritance_Relationship
-						quid       	"378489870318"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"))
-					operations 	(list Operations
-					    (object Operation "FailureCause"
-						quid       	"3786087F01E0"
-						parameters 	(list Parameters
-						    (object Parameter "aFailureCause"
-							type       	"TInt"
-							initv      	"default"))
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetFailureCause"
-						quid       	"3786087F020F"
-						parameters 	(list Parameters
-						    (object Parameter "aIsPresent"
-							type       	"TBool"
-							initv      	"default")
-						    (object Parameter "aFailureCause"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DataCodingScheme"
-						quid       	"3789F30103C3"
-						result     	"TSmsDataCodingScheme*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ProtocolIdentifier"
-						quid       	"3789F302000A"
-						result     	"TSmsProtocolIdentifier*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ParameterIndicator"
-						quid       	"3789F38100E5"
-						result     	"TSmsParameterIndicator"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "UserDataPtr"
-						quid       	"381868210363"
-						result     	"CSmsUserData*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)))
-				    (object Class "CSmsDeliver"
-					quid       	"35B4B6B80327"
-					superclasses 	(list inheritance_relationship_list
-					    (object Inheritance_Relationship
-						quid       	"3784896E0357"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"))
-					operations 	(list Operations
-					    (object Operation "MoreMessagesToSend"
-						quid       	"3785F66503A5"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetMoreMessagesToSend"
-						quid       	"3785F68200E6"
-						parameters 	(list Parameters
-						    (object Parameter "aMoreMessagesToSend"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ReplyPath"
-						quid       	"3785F6D401F0"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetReplyPath"
-						quid       	"3785F6E90079"
-						parameters 	(list Parameters
-						    (object Parameter "aReplyPath"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "StatusReportIndication"
-						quid       	"3785F71A0079"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetStatusReportIndication"
-						quid       	"3785F7300309"
-						parameters 	(list Parameters
-						    (object Parameter "aStatusReportIndication"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ServiceCenterTimeStamp"
-						quid       	"3785F85402AB"
-						parameters 	(list Parameters
-						    (object Parameter "aTime"
-							type       	"TTime&"
-							initv      	"default")
-						    (object Parameter "aNumQuarterHours"
-							type       	"TInt&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetServiceCenterTimeStamp"
-						quid       	"3785F8A900B7"
-						parameters 	(list Parameters
-						    (object Parameter "aTime"
-							type       	"const TTime&"
-							initv      	"default")
-						    (object Parameter "aNumQuarterHours"
-							type       	"TInt"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DataCodingScheme"
-						quid       	"3789F2820346"
-						result     	"TSmsDataCodingScheme*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ProtocolIdentifier"
-						quid       	"3789F2820375"
-						result     	"TSmsProtocolIdentifier*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "UserDataPtr"
-						quid       	"381865800017"
-						result     	"CSmsUserData*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ToFromAddressPtr"
-						quid       	"381865940269"
-						result     	"CSmsAddress*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)))
-				    (object Class "CSmsSubmit"
-					quid       	"35B4B6A902F8"
-					superclasses 	(list inheritance_relationship_list
-					    (object Inheritance_Relationship
-						quid       	"37848985026C"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"))
-					operations 	(list Operations
-					    (object Operation "RejectDuplicates"
-						quid       	"378600150144"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetRejectDuplicates"
-						quid       	"378600C903C5"
-						parameters 	(list Parameters
-						    (object Parameter "aRejectuplicates"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ValidityPeriodFormat"
-						quid       	"378600EF03E4"
-						result     	"TSmsValidityPeriodFormat"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetValidityPeriodFormat"
-						quid       	"3786013A000B"
-						parameters 	(list Parameters
-						    (object Parameter "aValidityPeriodFormat"
-							type       	"TSmsValidityPeriodFormat"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ReplyPath"
-						quid       	"378601C60134"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetReplyPath"
-						quid       	"378601C60163"
-						parameters 	(list Parameters
-						    (object Parameter "aReplyPath"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "StatusReportRequest"
-						quid       	"378601D40348"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetStatusReportRequest"
-						quid       	"378601E70319"
-						parameters 	(list Parameters
-						    (object Parameter "aStatusReportRequest"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "MessageReference"
-						quid       	"3786026A01B1"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetMessageReference"
-						quid       	"378602E1024E"
-						parameters 	(list Parameters
-						    (object Parameter "aMessageReference"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ValidityPeriod"
-						quid       	"3786044C004A"
-						result     	"TTimeIntervalMinutes"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetValidityPeriod"
-						quid       	"3786045C004A"
-						parameters 	(list Parameters
-						    (object Parameter "aTimeIntervalMinutes"
-							type       	"TTimeIntervalMinutes"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DataCodingScheme"
-						quid       	"3789F2D90114"
-						result     	"TSmsDataCodingScheme*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ProtocolIdentifier"
-						quid       	"3789F2D90143"
-						result     	"TSmsProtocolIdentifier*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "UserDataPtr"
-						quid       	"38186639019E"
-						result     	"CSmsUserData*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "ToFromAddressPtr"
-						quid       	"38186639021B"
-						result     	"CSmsAddress*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)))
-				    (object Class "CSmsCommand"
-					quid       	"3770FB630391"
-					superclasses 	(list inheritance_relationship_list
-					    (object Inheritance_Relationship
-						quid       	"378489780395"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"))
-					operations 	(list Operations
-					    (object Operation "StatusReportRequest"
-						quid       	"37860B8F0154"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetStatusReportRequest"
-						quid       	"37860B8F0182"
-						parameters 	(list Parameters
-						    (object Parameter "aStatusReportRequest"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "MessageReference"
-						quid       	"37860BAE02F9"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetMessageReference"
-						quid       	"37860BAE0328"
-						parameters 	(list Parameters
-						    (object Parameter "aReference"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "CommandType"
-						quid       	"37860BC301E0"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetCommandType"
-						quid       	"37860BC3020F"
-						parameters 	(list Parameters
-						    (object Parameter "aCommandType"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "MessageNumber"
-						quid       	"37860BFB005A"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetMessageNumber"
-						quid       	"37860BFB0088"
-						parameters 	(list Parameters
-						    (object Parameter "aNumber"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DestinationAddress"
-						quid       	"37860C3B000B"
-						result     	"TPtrC"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetDestinationAddressL"
-						quid       	"37860C3B003A"
-						parameters 	(list Parameters
-						    (object Parameter "aAddress"
-							type       	"const TDesC&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "CommandData"
-						quid       	"37860C56002B"
-						result     	"TPtrC"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetCommandDataL"
-						quid       	"37860C56005A"
-						parameters 	(list Parameters
-						    (object Parameter "aCommandData"
-							type       	"const TDesC&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)))
-				    (object Class "CSmsPDU"
-					quid       	"378489410078"
-					operations 	(list Operations
-					    (object Operation "static NewL"
-						quid       	"37848A920385"
-						parameters 	(list Parameters
-						    (object Parameter "aSms"
-							type       	"const TSms&"
-							initv      	"default"))
-						result     	"CSmsPDU*"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "Type"
-						quid       	"37AEE70901E8"
-						result     	"TSmsMsgType"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ExternalizeL"
-						quid       	"37848ABA0078"
-						parameters 	(list Parameters
-						    (object Parameter "aStream"
-							type       	"RWriteStream&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "EncodeMessagePDUL"
-						quid       	"37848AF10376"
-						parameters 	(list Parameters
-						    (object Parameter "aSms"
-							type       	"TSms"
-							initv      	"default")
-						    (object Parameter "aServiceCenterAddressPresent"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ServiceCenterAddress"
-						quid       	"37848B370347"
-						result     	"TPtrC"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetServiceCenterAddressL"
-						quid       	"37848B4E0366"
-						parameters 	(list Parameters
-						    (object Parameter "aAddress"
-							type       	"const TDesC&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ParsedServiceCenterAddress"
-						quid       	"37848B8E025D"
-						parameters 	(list Parameters
-						    (object Parameter "aParsedAddress"
-							type       	"TGsmTelNumber&"
-							initv      	"default"))
-						result     	"TPtrC"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetParsedServiceCenterAddressL"
-						quid       	"37848B8E0347"
-						parameters 	(list Parameters
-						    (object Parameter "aParsedAddress"
-							type       	"const TGsmTelNumber&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ToFromAddress"
-						quid       	"38172FED0111"
-						result     	"TPtrC"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetToFromAddressL"
-						quid       	"38172FEE0056"
-						parameters 	(list Parameters
-						    (object Parameter "aAddress"
-							type       	"const TDesC&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ParsedToFromAddress"
-						quid       	"38172FEE0363"
-						parameters 	(list Parameters
-						    (object Parameter "aParsedAddress"
-							type       	"TGsmTelNumber&"
-							initv      	"default"))
-						result     	"TPtrC"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetParsedToFromAddressL"
-						quid       	"38172FEF0279"
-						parameters 	(list Parameters
-						    (object Parameter "aParsedAddress"
-							type       	"const TGsmTelNumber&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "Bits7To4"
-						quid       	"38172FF001AE"
-						parameters 	(list Parameters
-						    (object Parameter "aTime"
-							type       	"const TTime&"
-							initv      	"default"))
-						result     	"TSmsBits7To4"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetBits7To4"
-						quid       	"38172FF100E2"
-						parameters 	(list Parameters
-						    (object Parameter "aBits7To4"
-							type       	"TSmsBits7To4"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "Alphabet"
-						quid       	"38172FF30269"
-						result     	"TSmsAlphabet"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetAlphabet"
-						quid       	"38172FF4019E"
-						parameters 	(list Parameters
-						    (object Parameter "aAlphabet"
-							type       	"TSmsAlphabet"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "Class"
-						quid       	"38172FF500F2"
-						parameters 	(list Parameters
-						    (object Parameter "aClass"
-							type       	"TSmsClass&"
-							initv      	"default"))
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetClass"
-						quid       	"38172FF60027"
-						parameters 	(list Parameters
-						    (object Parameter "aClassDefined"
-							type       	"TBool"
-							initv      	"default")
-						    (object Parameter "aClass"
-							type       	"const TSmsClass&"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "TextCompressed"
-						quid       	"3817312C0027"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetTextCompressed"
-						quid       	"3817312C0344"
-						parameters 	(list Parameters
-						    (object Parameter "aCompressed"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "IndicationState"
-						quid       	"3817319D0279"
-						result     	"TSmsIndicationState"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetIndicationState"
-						quid       	"381731C50037"
-						parameters 	(list Parameters
-						    (object Parameter "aState"
-							type       	"TSmsIndicationState"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "IndicationType"
-						quid       	"381731E6022B"
-						result     	"TSmsIndicationType"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetIndicationType"
-						quid       	"38173212022B"
-						parameters 	(list Parameters
-						    (object Parameter "aType"
-							type       	"TSmsIndicationType"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "TextConcatenated"
-						quid       	"381731300334"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetTextConcatenatedL"
-						quid       	"381731310279"
-						parameters 	(list Parameters
-						    (object Parameter "aConcatenated"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ConcatenatedMessageReference"
-						quid       	"3817313201BD"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetConcatenatedMessageReference"
-						quid       	"3817313300F2"
-						parameters 	(list Parameters
-						    (object Parameter "aReference"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "NumConcatenatedMessagePDUs"
-						quid       	"381731340027"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetNumConcatenatedMessagePDUs"
-						quid       	"381731340344"
-						parameters 	(list Parameters
-						    (object Parameter "aIndex"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ConcatenatedMessagePDUIndex"
-						quid       	"3817313502A8"
-						result     	"TInt"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetConcatenatedMessagePDUIndex"
-						quid       	"3817313601EC"
-						parameters 	(list Parameters
-						    (object Parameter "aIndex"
-							type       	"TInt"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ApplicationPortAddressing"
-						quid       	"38182BC70382"
-						parameters 	(list Parameters
-						    (object Parameter "aDestination"
-							type       	"TInt&"
-							initv      	"default")
-						    (object Parameter "aOriginator"
-							type       	"TInt&"
-							initv      	"default")
-						    (object Parameter "aIs16Bit"
-							type       	"TBool*"
-							initv      	"NULL"))
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetApplicationPortAddressingL"
-						quid       	"38182B2A015F"
-						parameters 	(list Parameters
-						    (object Parameter "aAddressing"
-							type       	"TBool"
-							initv      	"default")
-						    (object Parameter "aDestination"
-							type       	"TInt"
-							initv      	"default")
-						    (object Parameter "aOriginator"
-							type       	"TInt"
-							initv      	"default")
-						    (object Parameter "aIs16Bit"
-							type       	"TBool"
-							initv      	"EFalse"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "PIDType"
-						quid       	"38173137015F"
-						result     	"TSmsPIDType"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetPIDType"
-						quid       	"3817313800F2"
-						parameters 	(list Parameters
-						    (object Parameter "aPIDType"
-							type       	"TSmsPIDType"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "TelematicDeviceIndicator"
-						quid       	"381731390017"
-						result     	"TSmsTelematicDeviceIndicator"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetTelematicDeviceIndicator"
-						quid       	"381731390334"
-						parameters 	(list Parameters
-						    (object Parameter "aIndicator"
-							type       	"TSmsTelematicDeviceIndicator"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "TelematicDeviceType"
-						quid       	"3817313A0279"
-						result     	"TSmsTelematicDeviceType"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetTelematicDeviceType"
-						quid       	"3817313B01DC"
-						parameters 	(list Parameters
-						    (object Parameter "aTelematicDeviceType"
-							type       	"TSmsTelematicDeviceType"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "UserDataPresent"
-						quid       	"3817313C0150"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetUserDataPresent"
-						quid       	"3817313D00B4"
-						parameters 	(list Parameters
-						    (object Parameter "aUserDataPresent"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "DataCodingSchemePresent"
-						quid       	"3817313D03E0"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetDataCodingSchemePresent"
-						quid       	"3817313E0363"
-						parameters 	(list Parameters
-						    (object Parameter "aDataCodingSchemePresent"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "ProtocolIdentifierPresent"
-						quid       	"3817313F02A8"
-						result     	"TBool"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "SetProtocolIdentifierPresent"
-						quid       	"3817314001EC"
-						parameters 	(list Parameters
-						    (object Parameter "aProtocolIdentifierPresent"
-							type       	"TBool"
-							initv      	"default"))
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "UserData"
-						quid       	"38173141018E"
-						result     	"CSmsUserData*"
-						concurrency 	"Sequential"
-						opExportControl 	"Public"
-						uid        	0)
-					    (object Operation "v DataCodingScheme"
-						quid       	"38173142015F"
-						result     	"TSmsDataCodingScheme*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "v ProtocolIdentifier"
-						quid       	"38173143016F"
-						result     	"TSmsProtocolIdentifier*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "v ParameterIndicator"
-						quid       	"38173144017F"
-						result     	"TSmsParameterIndicator"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "v UserDataPtr"
-						quid       	"38182CE9015F"
-						result     	"CSmsUserData*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0)
-					    (object Operation "v ToFromAddressPtr"
-						quid       	"38182D1F0140"
-						result     	"CSmsAddress*"
-						concurrency 	"Sequential"
-						opExportControl 	"Protected"
-						uid        	0))
-					class_attributes 	(list class_attribute_list
-					    (object ClassAttribute "iSmsPDUType"
-						quid       	"3784948803B4"
-						type       	"TSmsPDUType")
-					    (object ClassAttribute "iTime"
-						quid       	"378494A103D4"
-						type       	"TTime")))
-				    (object Association "$UNNAMED$115"
-					quid       	"378489610097"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$116"
-						quid       	"3784896101D0"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$117"
-						quid       	"3784896101D1"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-						quidu      	"3770C4E700A3"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$118"
-					quid       	"378489AF000B"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$119"
-						quid       	"378489AF0357"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$120"
-						quid       	"378489AF0358"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-						quidu      	"35E3DE9002B6"
-						is_navigable 	TRUE)))
-				    (object Association "iServiceCenterAddress"
-					quid       	"37849027001A"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$121"
-						quid       	"378490280191"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-						quidu      	"378489410078"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$122"
-						quid       	"3784902801A1"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress"
-						quidu      	"377104A3014F"
-						Containment 	"By Value"
-						is_navigable 	TRUE))))
-				logical_presentations 	(list unit_reference_list
-				    (object ClassDiagram "Main"
-					quid       	"37710C500304"
-					title      	"Main"
-					zoom       	100
-					max_height 	28350
-					max_width  	21600
-					origin_x   	279
-					origin_y   	678
-					items      	(list diagram_item_list
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport" @1311
-						location   	(244, 2080)
-						label      	(object ItemLabel
-						    Parent_View 	@1311
-						    location   	(50, 2029)
-						    nlines     	1
-						    max_width  	388
-						    justify    	0
-						    label      	"CSmsDeliverReport")
-						icon_style 	"Icon"
-						quidu      	"3770F7210258"
-						width      	406
-						height     	126
-						annotation 	8)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport" @1312
-						location   	(2178, 2150)
-						label      	(object ItemLabel
-						    Parent_View 	@1312
-						    location   	(1989, 2099)
-						    nlines     	1
-						    max_width  	378
-						    justify    	0
-						    label      	"CSmsStatusReport")
-						icon_style 	"Icon"
-						quidu      	"3770FB540258"
-						width      	396
-						height     	126
-						annotation 	8)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand" @1313
-						location   	(2184, 1676)
-						label      	(object ItemLabel
-						    Parent_View 	@1313
-						    location   	(2015, 1625)
-						    nlines     	1
-						    max_width  	338
-						    justify    	0
-						    label      	"CSmsCommand")
-						icon_style 	"Icon"
-						quidu      	"3770FB630391"
-						width      	356
-						height     	126
-						annotation 	8)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport" @1314
-						location   	(2184, 2653)
-						label      	(object ItemLabel
-						    Parent_View 	@1314
-						    location   	(1983, 2602)
-						    nlines     	1
-						    max_width  	402
-						    justify    	0
-						    label      	"CSmsSubmitReport")
-						icon_style 	"Icon"
-						quidu      	"377102B10304"
-						width      	420
-						height     	126
-						annotation 	8)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver" @1315
-						location   	(240, 1530)
-						label      	(object ItemLabel
-						    Parent_View 	@1315
-						    location   	(109, 1479)
-						    nlines     	1
-						    max_width  	262
-						    justify    	0
-						    label      	"CSmsDeliver")
-						icon_style 	"Icon"
-						quidu      	"35B4B6B80327"
-						width      	280
-						height     	126
-						annotation 	8)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit" @1316
-						location   	(344, 2639)
-						label      	(object ItemLabel
-						    Parent_View 	@1316
-						    location   	(207, 2588)
-						    nlines     	1
-						    max_width  	274
-						    justify    	0
-						    label      	"CSmsSubmit")
-						icon_style 	"Icon"
-						quidu      	"35B4B6A902F8"
-						width      	292
-						height     	126
-						annotation 	8)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms" @1317
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(400, 730)
-						label      	(object ItemLabel
-						    Parent_View 	@1317
-						    location   	(319, 679)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSms")
-						icon_style 	"Icon"
-						quidu      	"3770C4E700A3"
-						height     	126
-						annotation 	8)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData" @1318
-						IncludeAttribute 	TRUE
-						location   	(2128, 747)
-						label      	(object ItemLabel
-						    Parent_View 	@1318
-						    location   	(1973, 696)
-						    nlines     	1
-						    max_width  	310
-						    justify    	0
-						    label      	"CSmsUserData")
-						icon_style 	"Icon"
-						quidu      	"35E3DE9002B6"
-						width      	328
-						height     	126)
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU" @1319
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(1207, 2045)
-						label      	(object ItemLabel
-						    Parent_View 	@1319
-						    location   	(859, 639)
-						    nlines     	1
-						    max_width  	696
-						    justify    	0
-						    label      	"CSmsPDU")
-						icon_style 	"Icon"
-						quidu      	"378489410078"
-						width      	714
-						height     	2836)
-					    (object AssociationViewNew "$UNNAMED$115" @1320
-						location   	(643, 1128)
-						stereotype 	TRUE
-						quidu      	"378489610097"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$116" @1321
-							Parent_View 	@1320
-							location   	(-385, 894)
-							stereotype 	TRUE
-							quidu      	"3784896101D0"
-							client     	@1320
-							supplier   	@1319
-							line_style 	0)
-						    (object RoleView "$UNNAMED$117" @1322
-							Parent_View 	@1320
-							location   	(-385, 894)
-							stereotype 	TRUE
-							quidu      	"3784896101D1"
-							client     	@1320
-							supplier   	@1317
-							line_style 	0)))
-					    (object InheritView "" @1323
-						stereotype 	TRUE
-						quidu      	"378489780395"
-						client     	@1313
-						supplier   	@1319
-						line_style 	0)
-					    (object InheritView "" @1324
-						stereotype 	TRUE
-						quidu      	"378489800153"
-						client     	@1311
-						supplier   	@1319
-						line_style 	0)
-					    (object InheritView "" @1325
-						stereotype 	TRUE
-						quidu      	"37848985026C"
-						client     	@1316
-						supplier   	@1319
-						line_style 	0)
-					    (object InheritView "" @1326
-						stereotype 	TRUE
-						quidu      	"378489870318"
-						client     	@1314
-						supplier   	@1319
-						line_style 	0)
-					    (object InheritView "" @1327
-						stereotype 	TRUE
-						quidu      	"3784898A0069"
-						client     	@1312
-						supplier   	@1319
-						line_style 	0)
-					    (object AssociationViewNew "$UNNAMED$118" @1328
-						location   	(1822, 1174)
-						stereotype 	TRUE
-						quidu      	"378489AF000B"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$119" @1329
-							Parent_View 	@1328
-							location   	(369, 937)
-							stereotype 	TRUE
-							quidu      	"378489AF0357"
-							client     	@1328
-							supplier   	@1319
-							line_style 	0)
-						    (object RoleView "$UNNAMED$120" @1330
-							Parent_View 	@1328
-							location   	(369, 937)
-							stereotype 	TRUE
-							quidu      	"378489AF0358"
-							client     	@1328
-							supplier   	@1318
-							line_style 	0)))
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress" @1331
-						location   	(2183, 1221)
-						label      	(object ItemLabel
-						    Parent_View 	@1331
-						    location   	(2035, 1170)
-						    nlines     	1
-						    max_width  	296
-						    justify    	0
-						    label      	"CSmsAddress")
-						icon_style 	"Icon"
-						quidu      	"377104A3014F"
-						width      	314
-						height     	126)
-					    (object AssociationViewNew "iServiceCenterAddress" @1332
-						location   	(1835, 1513)
-						label      	(object SegLabel @1333
-						    Parent_View 	@1332
-						    location   	(1839, 1502)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iServiceCenterAddress"
-						    pctDist    	0.583333
-						    height     	12
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37849027001A"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$121" @1334
-							Parent_View 	@1332
-							location   	(714, 1327)
-							stereotype 	TRUE
-							quidu      	"378490280191"
-							client     	@1332
-							supplier   	@1319
-							line_style 	0)
-						    (object RoleView "$UNNAMED$122" @1335
-							Parent_View 	@1332
-							location   	(714, 1327)
-							stereotype 	TRUE
-							quidu      	"3784902801A1"
-							client     	@1332
-							supplier   	@1331
-							line_style 	0)))
-					    (object InheritView "" @1336
-						stereotype 	TRUE
-						quidu      	"3784896E0357"
-						client     	@1315
-						supplier   	@1319
-						line_style 	0)))))
-			    (object Class_Category "SMS DELIVER"
-				quid       	"37710D360333"
-				exportControl 	"Public"
-				logical_models 	(list unit_reference_list
-				    (object Association "$UNNAMED$123"
-					quid       	"37710EA300D2"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$124"
-						quid       	"37710EA30287"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver"
-						quidu      	"35B4B6B80327"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$125"
-						quid       	"37710EA30288"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier"
-						quidu      	"3771063F02E5"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$126"
-					quid       	"37710EE9018D"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$127"
-						quid       	"37710EEA00A3"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver"
-						quidu      	"35B4B6B80327"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$128"
-						quid       	"37710EEA00A4"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp"
-						quidu      	"377105AC00A3"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iOriginalAddress"
-					quid       	"37710F3803C0"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$129"
-						quid       	"37710F39019D"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver"
-						quidu      	"35B4B6B80327"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$130"
-						quid       	"37710F39019E"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress"
-						quidu      	"377104A3014F"
-						Containment 	"By Value"
-						is_navigable 	TRUE))))
-				logical_presentations 	(list unit_reference_list
-				    (object ClassDiagram "Main"
-					quid       	"37710D41015E"
-					title      	"Main"
-					zoom       	100
-					max_height 	28350
-					max_width  	21600
-					origin_x   	0
-					origin_y   	0
-					items      	(list diagram_item_list
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData" @1337
-						location   	(1802, 521)
-						label      	(object ItemLabel
-						    Parent_View 	@1337
-						    location   	(1721, 503)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsUserData")
-						icon_style 	"Icon"
-						quidu      	"35E3DE9002B6")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1338
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(215, 514)
-						label      	(object ItemLabel
-						    Parent_View 	@1338
-						    location   	(134, 496)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFirstOctet")
-						icon_style 	"Icon"
-						quidu      	"3771060F0074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1339
-						location   	(1300, 1427)
-						label      	(object ItemLabel
-						    Parent_View 	@1339
-						    location   	(1219, 1409)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsDataCodingScheme")
-						icon_style 	"Icon"
-						quidu      	"377106660074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1340
-						location   	(547, 1425)
-						label      	(object ItemLabel
-						    Parent_View 	@1340
-						    location   	(466, 1407)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsProtocolIdentifier")
-						icon_style 	"Icon"
-						quidu      	"3771063F02E5")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp" @1341
-						location   	(1994, 1193)
-						label      	(object ItemLabel
-						    Parent_View 	@1341
-						    location   	(1913, 1175)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsServiceCenterTimeStamp")
-						icon_style 	"Icon"
-						quidu      	"377105AC00A3")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliver" @1342
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(959, 515)
-						label      	(object ItemLabel
-						    Parent_View 	@1342
-						    location   	(878, 497)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsDeliver")
-						icon_style 	"Icon"
-						quidu      	"35B4B6B80327")
-					    (object AssociationViewNew "$UNNAMED$98" @1343
-						location   	(1380, 517)
-						stereotype 	TRUE
-						quidu      	"35E3E2480343"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$99" @1344
-							Parent_View 	@1343
-							location   	(408, -1218)
-							stereotype 	TRUE
-							quidu      	"35E3E2490100"
-							client     	@1343
-							supplier   	@1342
-							line_style 	0)
-						    (object RoleView "$UNNAMED$100" @1345
-							Parent_View 	@1343
-							location   	(408, -1218)
-							stereotype 	TRUE
-							quidu      	"35E3E2490101"
-							client     	@1343
-							supplier   	@1337
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$103" @1346
-						location   	(586, 514)
-						stereotype 	TRUE
-						quidu      	"37710BE201DB"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$104" @1347
-							Parent_View 	@1346
-							location   	(-2096, 253)
-							stereotype 	TRUE
-							quidu      	"37710BE203DF"
-							client     	@1346
-							supplier   	@1342
-							line_style 	0)
-						    (object RoleView "$UNNAMED$105" @1348
-							Parent_View 	@1346
-							location   	(-2096, 253)
-							stereotype 	TRUE
-							quidu      	"37710BE203E0"
-							client     	@1346
-							supplier   	@1338
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$109" @1349
-						location   	(1128, 970)
-						stereotype 	TRUE
-						quidu      	"37710C04020A"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$110" @1350
-							Parent_View 	@1349
-							location   	(-1707, 350)
-							stereotype 	TRUE
-							quidu      	"37710C050035"
-							client     	@1349
-							supplier   	@1342
-							line_style 	0)
-						    (object RoleView "$UNNAMED$111" @1351
-							Parent_View 	@1349
-							location   	(-1707, 350)
-							stereotype 	TRUE
-							quidu      	"37710C050036"
-							client     	@1349
-							supplier   	@1339
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$123" @1352
-						location   	(751, 969)
-						stereotype 	TRUE
-						quidu      	"37710EA300D2"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$124" @1353
-							Parent_View 	@1352
-							location   	(-33, -107)
-							stereotype 	TRUE
-							quidu      	"37710EA30287"
-							client     	@1352
-							supplier   	@1342
-							line_style 	0)
-						    (object RoleView "$UNNAMED$125" @1354
-							Parent_View 	@1352
-							location   	(-33, -107)
-							stereotype 	TRUE
-							quidu      	"37710EA30288"
-							client     	@1352
-							supplier   	@1340
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$126" @1355
-						location   	(1478, 853)
-						stereotype 	TRUE
-						quidu      	"37710EE9018D"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$127" @1356
-							Parent_View 	@1355
-							location   	(-281, -223)
-							stereotype 	TRUE
-							quidu      	"37710EEA00A3"
-							client     	@1355
-							supplier   	@1342
-							line_style 	0)
-						    (object RoleView "$UNNAMED$128" @1357
-							Parent_View 	@1355
-							location   	(-281, -223)
-							stereotype 	TRUE
-							quidu      	"37710EEA00A4"
-							client     	@1355
-							supplier   	@1341
-							line_style 	0)))
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress" @1358
-						location   	(221, 996)
-						label      	(object ItemLabel
-						    Parent_View 	@1358
-						    location   	(140, 978)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsAddress")
-						icon_style 	"Icon"
-						quidu      	"377104A3014F")
-					    (object AssociationViewNew "iOriginalAddress" @1359
-						location   	(588, 755)
-						label      	(object SegLabel @1360
-						    Parent_View 	@1359
-						    location   	(565, 759)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iOriginalAddress"
-						    pctDist    	0.133333
-						    height     	4
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"37710F3803C0"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$129" @1361
-							Parent_View 	@1359
-							location   	(377, -115)
-							stereotype 	TRUE
-							quidu      	"37710F39019D"
-							client     	@1359
-							supplier   	@1342
-							line_style 	0)
-						    (object RoleView "$UNNAMED$130" @1362
-							Parent_View 	@1359
-							location   	(377, -115)
-							stereotype 	TRUE
-							quidu      	"37710F39019E"
-							client     	@1359
-							supplier   	@1358
-							line_style 	0)))))))
-			    (object Class_Category "SMS DELIVER REPORT"
-				quid       	"37710D500268"
-				exportControl 	"Public"
-				logical_models 	(list unit_reference_list
-				    (object Association "$UNNAMED$131"
-					quid       	"3772006E01C2"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$132"
-						quid       	"3772006F006A"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport"
-						quidu      	"3770F7210258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$133"
-						quid       	"3772006F007A"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-						quidu      	"3771060F0074"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$134"
-					quid       	"377201F700A9"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$135"
-						quid       	"377201F7026E"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport"
-						quidu      	"3770F7210258"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$136"
-						quid       	"377201F7026F"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier"
-						quidu      	"3771063F02E5"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$137"
-					quid       	"377201FF0126"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$138"
-						quid       	"377201FF02DB"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport"
-						quidu      	"3770F7210258"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$139"
-						quid       	"377201FF02DC"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-						quidu      	"377106660074"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$140"
-					quid       	"3772025101E1"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$141"
-						quid       	"3772025103A7"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport"
-						quidu      	"3770F7210258"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$142"
-						quid       	"3772025103A8"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-						quidu      	"35E3DE9002B6"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$143"
-					quid       	"3772032C01D2"
-					roles      	(list role_list
-					    (object Role "1"
-						quid       	"3772032C03A7"
-						label      	"1"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport"
-						quidu      	"3770F7210258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "1..n"
-						quid       	"3772032C03B6"
-						label      	"1..n"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsParameterIndicator"
-						quidu      	"37710B1F0391"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$144"
-					quid       	"37727ADC024F"
-					roles      	(list role_list
-					    (object Role "1"
-						quid       	"37727ADD00C8"
-						label      	"1"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport"
-						quidu      	"3770F7210258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$145"
-						quid       	"37727ADD00C9"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFailureCause"
-						quidu      	"3772213901F1"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE))))
-				logical_presentations 	(list unit_reference_list
-				    (object ClassDiagram "Main"
-					quid       	"37710E1402E5"
-					title      	"Main"
-					zoom       	100
-					max_height 	28350
-					max_width  	21600
-					origin_x   	121
-					origin_y   	0
-					items      	(list diagram_item_list
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1363
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(389, 362)
-						label      	(object ItemLabel
-						    Parent_View 	@1363
-						    location   	(308, 344)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFirstOctet")
-						icon_style 	"Icon"
-						quidu      	"3771060F0074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1364
-						location   	(1142, 1184)
-						label      	(object ItemLabel
-						    Parent_View 	@1364
-						    location   	(1061, 1166)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsProtocolIdentifier")
-						icon_style 	"Icon"
-						quidu      	"3771063F02E5")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData" @1365
-						IncludeAttribute 	TRUE
-						location   	(1817, 362)
-						label      	(object ItemLabel
-						    Parent_View 	@1365
-						    location   	(1736, 344)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsUserData")
-						icon_style 	"Icon"
-						quidu      	"35E3DE9002B6")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsParameterIndicator" @1366
-						location   	(496, 1165)
-						label      	(object ItemLabel
-						    Parent_View 	@1366
-						    location   	(415, 1147)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsParameterIndicator")
-						icon_style 	"Icon"
-						quidu      	"37710B1F0391")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFailureCause" @1367
-						location   	(392, 699)
-						label      	(object ItemLabel
-						    Parent_View 	@1367
-						    location   	(311, 681)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFailureCause")
-						icon_style 	"Icon"
-						quidu      	"3772213901F1")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsDeliverReport" @1368
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(1077, 362)
-						label      	(object ItemLabel
-						    Parent_View 	@1368
-						    location   	(996, 344)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsDeliverReport")
-						icon_style 	"Icon"
-						quidu      	"3770F7210258")
-					    (object AssociationViewNew "$UNNAMED$131" @1369
-						location   	(732, 362)
-						stereotype 	TRUE
-						quidu      	"3772006E01C2"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$132" @1370
-							Parent_View 	@1369
-							location   	(370, -294)
-							stereotype 	TRUE
-							quidu      	"3772006F006A"
-							client     	@1369
-							supplier   	@1368
-							line_style 	0)
-						    (object RoleView "$UNNAMED$133" @1371
-							Parent_View 	@1369
-							location   	(370, -294)
-							stereotype 	TRUE
-							quidu      	"3772006F007A"
-							client     	@1369
-							supplier   	@1363
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$134" @1372
-						location   	(1108, 772)
-						stereotype 	TRUE
-						quidu      	"377201F700A9"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$135" @1373
-							Parent_View 	@1372
-							location   	(90, -385)
-							stereotype 	TRUE
-							quidu      	"377201F7026E"
-							client     	@1372
-							supplier   	@1368
-							line_style 	0
-							label      	(object SegLabel @1374
-							    Parent_View 	@1373
-							    location   	(1136, 427)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.900000
-							    height     	54
-							    orientation 	1))
-						    (object RoleView "$UNNAMED$136" @1375
-							Parent_View 	@1372
-							location   	(90, -385)
-							stereotype 	TRUE
-							quidu      	"377201F7026F"
-							client     	@1372
-							supplier   	@1364
-							line_style 	0
-							label      	(object SegLabel @1376
-							    Parent_View 	@1375
-							    location   	(1185, 1029)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.684346
-							    height     	57
-							    orientation 	0))))
-					    (object AssociationViewNew "$UNNAMED$140" @1377
-						location   	(1446, 362)
-						stereotype 	TRUE
-						quidu      	"3772025101E1"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$141" @1378
-							Parent_View 	@1377
-							location   	(-213, -292)
-							stereotype 	TRUE
-							quidu      	"3772025103A7"
-							client     	@1377
-							supplier   	@1368
-							line_style 	0
-							label      	(object SegLabel @1379
-							    Parent_View 	@1378
-							    location   	(1221, 416)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.810201
-							    height     	54
-							    orientation 	0))
-						    (object RoleView "$UNNAMED$142" @1380
-							Parent_View 	@1377
-							location   	(-213, -292)
-							stereotype 	TRUE
-							quidu      	"3772025103A8"
-							client     	@1377
-							supplier   	@1365
-							line_style 	0
-							label      	(object SegLabel @1381
-							    Parent_View 	@1380
-							    location   	(1635, 414)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.678899
-							    height     	52
-							    orientation 	1))))
-					    (object AssociationViewNew "$UNNAMED$143" @1382
-						location   	(784, 763)
-						stereotype 	TRUE
-						quidu      	"3772032C01D2"
-						roleview_list 	(list RoleViews
-						    (object RoleView "1" @1383
-							Parent_View 	@1382
-							location   	(500, -193)
-							label      	(object SegLabel @1384
-							    Parent_View 	@1383
-							    location   	(965, 444)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1"
-							    pctDist    	0.800000
-							    height     	42
-							    orientation 	0)
-							stereotype 	TRUE
-							quidu      	"3772032C03A7"
-							client     	@1382
-							supplier   	@1368
-							line_style 	0)
-						    (object RoleView "1..n" @1385
-							Parent_View 	@1382
-							location   	(500, -193)
-							label      	(object SegLabel @1386
-							    Parent_View 	@1385
-							    location   	(537, 1035)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1..n"
-							    pctDist    	0.800000
-							    height     	42
-							    orientation 	1)
-							stereotype 	TRUE
-							quidu      	"3772032C03B6"
-							client     	@1382
-							supplier   	@1366
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$144" @1387
-						location   	(730, 530)
-						stereotype 	TRUE
-						quidu      	"37727ADC024F"
-						roleview_list 	(list RoleViews
-						    (object RoleView "1" @1388
-							Parent_View 	@1387
-							location   	(302, -857)
-							label      	(object SegLabel @1389
-							    Parent_View 	@1388
-							    location   	(940, 383)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1"
-							    pctDist    	0.800000
-							    height     	42
-							    orientation 	0)
-							stereotype 	TRUE
-							quidu      	"37727ADD00C8"
-							client     	@1387
-							supplier   	@1368
-							line_style 	0)
-						    (object RoleView "$UNNAMED$145" @1390
-							Parent_View 	@1387
-							location   	(302, -857)
-							stereotype 	TRUE
-							quidu      	"37727ADD00C9"
-							client     	@1387
-							supplier   	@1367
-							line_style 	0
-							label      	(object SegLabel @1391
-							    Parent_View 	@1390
-							    location   	(583, 675)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.622140
-							    height     	66
-							    orientation 	0))))
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1392
-						location   	(1820, 987)
-						label      	(object ItemLabel
-						    Parent_View 	@1392
-						    location   	(1739, 969)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsDataCodingScheme")
-						icon_style 	"Icon"
-						quidu      	"377106660074")
-					    (object AssociationViewNew "$UNNAMED$137" @1393
-						location   	(1447, 674)
-						stereotype 	TRUE
-						quidu      	"377201FF0126"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$138" @1394
-							Parent_View 	@1393
-							location   	(-190, -451)
-							stereotype 	TRUE
-							quidu      	"377201FF02DB"
-							client     	@1393
-							supplier   	@1368
-							line_style 	0
-							label      	(object SegLabel @1395
-							    Parent_View 	@1394
-							    location   	(1112, 461)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.900000
-							    height     	54
-							    orientation 	0))
-						    (object RoleView "$UNNAMED$139" @1396
-							Parent_View 	@1393
-							location   	(-190, -451)
-							stereotype 	TRUE
-							quidu      	"377201FF02DC"
-							client     	@1393
-							supplier   	@1392
-							line_style 	0
-							label      	(object SegLabel @1397
-							    Parent_View 	@1396
-							    location   	(1823, 938)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	1.044135
-							    height     	41
-							    orientation 	0))))))))
-			    (object Class_Category "SMS SUBMIT"
-				quid       	"37710D7701AC"
-				exportControl 	"Public"
-				logical_models 	(list unit_reference_list
-				    (object Association "$UNNAMED$146"
-					quid       	"37710F8A0229"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$147"
-						quid       	"37710F8B0035"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-						quidu      	"35B4B6A902F8"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$148"
-						quid       	"37710F8B0036"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-						quidu      	"3771060F0074"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iDestinationAddress"
-					quid       	"37710FCE0083"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$149"
-						quid       	"37710FCE0268"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-						quidu      	"35B4B6A902F8"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$150"
-						quid       	"37710FCE0269"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress"
-						quidu      	"377104A3014F"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iMessageReference"
-					quid       	"37710FF403A0"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$151"
-						quid       	"37710FF5017D"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-						quidu      	"35B4B6A902F8"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$152"
-						quid       	"37710FF5017E"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-						quidu      	"377105F80035"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$153"
-					quid       	"3771103602E5"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$154"
-						quid       	"377110370093"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-						quidu      	"35B4B6A902F8"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$155"
-						quid       	"377110370094"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsValidityPeriod"
-						quidu      	"377105940064"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$156"
-					quid       	"3771103F016E"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$157"
-						quid       	"3771103F0381"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-						quidu      	"35B4B6A902F8"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$158"
-						quid       	"3771103F0382"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier"
-						quidu      	"3771063F02E5"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$159"
-					quid       	"377110780297"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$160"
-						quid       	"3771107900C2"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit"
-						quidu      	"35B4B6A902F8"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$161"
-						quid       	"3771107900C3"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-						quidu      	"377106660074"
-						Containment 	"By Value"
-						is_navigable 	TRUE))))
-				logical_presentations 	(list unit_reference_list
-				    (object ClassDiagram "Main"
-					quid       	"37710D920229"
-					title      	"Main"
-					zoom       	100
-					max_height 	28350
-					max_width  	21600
-					origin_x   	0
-					origin_y   	0
-					items      	(list diagram_item_list
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData" @1398
-						IncludeAttribute 	TRUE
-						location   	(1884, 525)
-						label      	(object ItemLabel
-						    Parent_View 	@1398
-						    location   	(1803, 507)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsUserData")
-						icon_style 	"Icon"
-						quidu      	"35E3DE9002B6")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress" @1399
-						location   	(425, 1515)
-						label      	(object ItemLabel
-						    Parent_View 	@1399
-						    location   	(344, 1497)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsAddress")
-						icon_style 	"Icon"
-						quidu      	"377104A3014F")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet" @1400
-						location   	(253, 1024)
-						label      	(object ItemLabel
-						    Parent_View 	@1400
-						    location   	(172, 1006)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsOctet")
-						icon_style 	"Icon"
-						quidu      	"377105F80035")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsValidityPeriod" @1401
-						location   	(1893, 1062)
-						label      	(object ItemLabel
-						    Parent_View 	@1401
-						    location   	(1812, 1044)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsValidityPeriod")
-						icon_style 	"Icon"
-						quidu      	"377105940064")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1402
-						location   	(1083, 1624)
-						label      	(object ItemLabel
-						    Parent_View 	@1402
-						    location   	(1002, 1606)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsProtocolIdentifier")
-						icon_style 	"Icon"
-						quidu      	"3771063F02E5")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1403
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(275, 656)
-						label      	(object ItemLabel
-						    Parent_View 	@1403
-						    location   	(194, 638)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFirstOctet")
-						icon_style 	"Icon"
-						quidu      	"3771060F0074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmit" @1404
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(1084, 659)
-						label      	(object ItemLabel
-						    Parent_View 	@1404
-						    location   	(1003, 641)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsSubmit")
-						icon_style 	"Icon"
-						quidu      	"35B4B6A902F8")
-					    (object AssociationViewNew "$UNNAMED$95" @1405
-						location   	(1483, 591)
-						stereotype 	TRUE
-						quidu      	"35E3E246020A"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$96" @1406
-							Parent_View 	@1405
-							location   	(511, -1144)
-							stereotype 	TRUE
-							quidu      	"35E3E2470083"
-							client     	@1405
-							supplier   	@1404
-							line_style 	0)
-						    (object RoleView "$UNNAMED$97" @1407
-							Parent_View 	@1405
-							location   	(511, -1144)
-							stereotype 	TRUE
-							quidu      	"35E3E2470084"
-							client     	@1405
-							supplier   	@1398
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$146" @1408
-						location   	(679, 657)
-						stereotype 	TRUE
-						quidu      	"37710F8A0229"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$147" @1409
-							Parent_View 	@1408
-							location   	(300, 5)
-							stereotype 	TRUE
-							quidu      	"37710F8B0035"
-							client     	@1408
-							supplier   	@1404
-							line_style 	0)
-						    (object RoleView "$UNNAMED$148" @1410
-							Parent_View 	@1408
-							location   	(300, 5)
-							stereotype 	TRUE
-							quidu      	"37710F8B0036"
-							client     	@1408
-							supplier   	@1403
-							line_style 	0)))
-					    (object AssociationViewNew "iDestinationAddress" @1411
-						location   	(752, 1086)
-						label      	(object SegLabel @1412
-						    Parent_View 	@1411
-						    location   	(755, 1101)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iDestinationAddress"
-						    pctDist    	0.550000
-						    height     	15
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"37710FCE0083"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$149" @1413
-							Parent_View 	@1411
-							location   	(459, 93)
-							stereotype 	TRUE
-							quidu      	"37710FCE0268"
-							client     	@1411
-							supplier   	@1404
-							line_style 	0)
-						    (object RoleView "$UNNAMED$150" @1414
-							Parent_View 	@1411
-							location   	(459, 93)
-							stereotype 	TRUE
-							quidu      	"37710FCE0269"
-							client     	@1411
-							supplier   	@1399
-							line_style 	0)))
-					    (object AssociationViewNew "iMessageReference" @1415
-						location   	(665, 841)
-						label      	(object SegLabel @1416
-						    Parent_View 	@1415
-						    location   	(673, 804)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iMessageReference"
-						    pctDist    	0.650000
-						    height     	38
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37710FF403A0"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$151" @1417
-							Parent_View 	@1415
-							location   	(292, -100)
-							stereotype 	TRUE
-							quidu      	"37710FF5017D"
-							client     	@1415
-							supplier   	@1404
-							line_style 	0)
-						    (object RoleView "$UNNAMED$152" @1418
-							Parent_View 	@1415
-							location   	(292, -100)
-							stereotype 	TRUE
-							quidu      	"37710FF5017E"
-							client     	@1415
-							supplier   	@1400
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$153" @1419
-						location   	(1489, 860)
-						stereotype 	TRUE
-						quidu      	"3771103602E5"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$154" @1420
-							Parent_View 	@1419
-							location   	(-270, -263)
-							stereotype 	TRUE
-							quidu      	"377110370093"
-							client     	@1419
-							supplier   	@1404
-							line_style 	0)
-						    (object RoleView "$UNNAMED$155" @1421
-							Parent_View 	@1419
-							location   	(-270, -263)
-							stereotype 	TRUE
-							quidu      	"377110370094"
-							client     	@1419
-							supplier   	@1401
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$156" @1422
-						location   	(1083, 1141)
-						stereotype 	TRUE
-						quidu      	"3771103F016E"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$157" @1423
-							Parent_View 	@1422
-							location   	(-420, -333)
-							stereotype 	TRUE
-							quidu      	"3771103F0381"
-							client     	@1422
-							supplier   	@1404
-							line_style 	0)
-						    (object RoleView "$UNNAMED$158" @1424
-							Parent_View 	@1422
-							location   	(-420, -333)
-							stereotype 	TRUE
-							quidu      	"3771103F0382"
-							client     	@1422
-							supplier   	@1402
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$112" @1425
-						location   	(679, 657)
-						stereotype 	TRUE
-						quidu      	"37710C150362"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$114" @1426
-							Parent_View 	@1425
-							location   	(-380, 12)
-							stereotype 	TRUE
-							quidu      	"37710C1600F2"
-							client     	@1425
-							supplier   	@1403
-							line_style 	0)
-						    (object RoleView "$UNNAMED$113" @1427
-							Parent_View 	@1425
-							location   	(-380, 12)
-							stereotype 	TRUE
-							quidu      	"37710C1600F1"
-							client     	@1425
-							supplier   	@1404
-							line_style 	0)))
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1428
-						location   	(1733, 1528)
-						label      	(object ItemLabel
-						    Parent_View 	@1428
-						    location   	(1652, 1510)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsDataCodingScheme")
-						icon_style 	"Icon"
-						quidu      	"377106660074")
-					    (object AssociationViewNew "$UNNAMED$159" @1429
-						location   	(1407, 1093)
-						stereotype 	TRUE
-						quidu      	"377110780297"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$160" @1430
-							Parent_View 	@1429
-							location   	(-146, -400)
-							stereotype 	TRUE
-							quidu      	"3771107900C2"
-							client     	@1429
-							supplier   	@1404
-							line_style 	0)
-						    (object RoleView "$UNNAMED$161" @1431
-							Parent_View 	@1429
-							location   	(-146, -400)
-							stereotype 	TRUE
-							quidu      	"3771107900C3"
-							client     	@1429
-							supplier   	@1428
-							line_style 	0)))))))
-			    (object Class_Category "SMS SUBMIT REPORT"
-				quid       	"37710D9F0277"
-				exportControl 	"Public"
-				logical_models 	(list unit_reference_list
-				    (object Association "$UNNAMED$162"
-					quid       	"37720171006A"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$163"
-						quid       	"37720171024F"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport"
-						quidu      	"377102B10304"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$164"
-						quid       	"377201710250"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier"
-						quidu      	"3771063F02E5"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$165"
-					quid       	"377286C0000D"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$166"
-						quid       	"377286C00201"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport"
-						quidu      	"377102B10304"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$167"
-						quid       	"377286C00202"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFailureCause"
-						quidu      	"3772213901F1"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$168"
-					quid       	"378372970220"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$169"
-						quid       	"378372980164"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport"
-						quidu      	"377102B10304"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$170"
-						quid       	"378372980165"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-						quidu      	"377106660074"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$171"
-					quid       	"3789F5300087"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$172"
-						quid       	"3789F5310058"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport"
-						quidu      	"377102B10304"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$173"
-						quid       	"3789F5310059"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp"
-						quidu      	"377105AC00A3"
-						Containment 	"By Value"
-						is_navigable 	TRUE))))
-				logical_presentations 	(list unit_reference_list
-				    (object ClassDiagram "Main"
-					quid       	"37710E51020A"
-					title      	"Main"
-					zoom       	100
-					max_height 	28350
-					max_width  	21600
-					origin_x   	0
-					origin_y   	0
-					items      	(list diagram_item_list
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData" @1432
-						IncludeAttribute 	TRUE
-						location   	(1974, 337)
-						label      	(object ItemLabel
-						    Parent_View 	@1432
-						    location   	(1893, 319)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsUserData")
-						icon_style 	"Icon"
-						quidu      	"35E3DE9002B6")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsParameterIndicator" @1433
-						location   	(362, 1140)
-						label      	(object ItemLabel
-						    Parent_View 	@1433
-						    location   	(281, 1122)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsParameterIndicator")
-						icon_style 	"Icon"
-						quidu      	"37710B1F0391")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1434
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(471, 334)
-						label      	(object ItemLabel
-						    Parent_View 	@1434
-						    location   	(390, 316)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFirstOctet")
-						icon_style 	"Icon"
-						quidu      	"3771060F0074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1435
-						location   	(1637, 1237)
-						label      	(object ItemLabel
-						    Parent_View 	@1435
-						    location   	(1556, 1219)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsProtocolIdentifier")
-						icon_style 	"Icon"
-						quidu      	"3771063F02E5")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFailureCause" @1436
-						location   	(353, 662)
-						label      	(object ItemLabel
-						    Parent_View 	@1436
-						    location   	(272, 644)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFailureCause")
-						icon_style 	"Icon"
-						quidu      	"3772213901F1")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1437
-						location   	(2081, 937)
-						label      	(object ItemLabel
-						    Parent_View 	@1437
-						    location   	(2000, 919)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsDataCodingScheme")
-						icon_style 	"Icon"
-						quidu      	"377106660074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsSubmitReport" @1438
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(1152, 334)
-						label      	(object ItemLabel
-						    Parent_View 	@1438
-						    location   	(1071, 316)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsSubmitReport")
-						icon_style 	"Icon"
-						quidu      	"377102B10304")
-					    (object AssociationViewNew "$UNNAMED$101" @1439
-						location   	(1562, 335)
-						stereotype 	TRUE
-						quidu      	"377107AF0083"
-						roleview_list 	(list RoleViews
-						    (object RoleView "1" @1440
-							Parent_View 	@1439
-							location   	(-1004, -613)
-							label      	(object SegLabel @1441
-							    Parent_View 	@1440
-							    location   	(1306, 293)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1"
-							    pctDist    	0.800000
-							    height     	42
-							    orientation 	1)
-							stereotype 	TRUE
-							quidu      	"377107AF02C6"
-							client     	@1439
-							supplier   	@1438
-							line_style 	0)
-						    (object RoleView "0..1" @1442
-							Parent_View 	@1439
-							location   	(-1004, -613)
-							label      	(object SegLabel @1443
-							    Parent_View 	@1442
-							    location   	(1785, 297)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+0..1"
-							    pctDist    	0.693989
-							    height     	40
-							    orientation 	0)
-							stereotype 	TRUE
-							quidu      	"377107AF02C7"
-							client     	@1439
-							supplier   	@1432
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$102" @1444
-						location   	(754, 736)
-						stereotype 	TRUE
-						quidu      	"37710B43020A"
-						roleview_list 	(list RoleViews
-						    (object RoleView "1" @1445
-							Parent_View 	@1444
-							location   	(-542, -1126)
-							label      	(object SegLabel @1446
-							    Parent_View 	@1445
-							    location   	(1077, 362)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1"
-							    pctDist    	0.945807
-							    height     	33
-							    orientation 	0)
-							stereotype 	TRUE
-							quidu      	"37710B440100"
-							client     	@1444
-							supplier   	@1438
-							line_style 	0)
-						    (object RoleView "1..n" @1447
-							Parent_View 	@1444
-							location   	(-542, -1126)
-							label      	(object SegLabel @1448
-							    Parent_View 	@1447
-							    location   	(433, 1007)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1..n"
-							    pctDist    	0.800000
-							    height     	42
-							    orientation 	1)
-							stereotype 	TRUE
-							quidu      	"37710B440101"
-							client     	@1444
-							supplier   	@1433
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$106" @1449
-						location   	(811, 334)
-						stereotype 	TRUE
-						quidu      	"37710BF80045"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$107" @1450
-							Parent_View 	@1449
-							location   	(-1690, -748)
-							stereotype 	TRUE
-							quidu      	"37710BF801AC"
-							client     	@1449
-							supplier   	@1438
-							line_style 	0)
-						    (object RoleView "$UNNAMED$108" @1451
-							Parent_View 	@1449
-							location   	(-1690, -748)
-							stereotype 	TRUE
-							quidu      	"37710BF801AD"
-							client     	@1449
-							supplier   	@1434
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$162" @1452
-						location   	(1393, 785)
-						stereotype 	TRUE
-						quidu      	"37720171006A"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$163" @1453
-							Parent_View 	@1452
-							location   	(482, -619)
-							stereotype 	TRUE
-							quidu      	"37720171024F"
-							client     	@1452
-							supplier   	@1438
-							line_style 	0
-							label      	(object SegLabel @1454
-							    Parent_View 	@1453
-							    location   	(1253, 427)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.801121
-							    height     	46
-							    orientation 	1))
-						    (object RoleView "$UNNAMED$164" @1455
-							Parent_View 	@1452
-							location   	(482, -619)
-							stereotype 	TRUE
-							quidu      	"377201710250"
-							client     	@1452
-							supplier   	@1435
-							line_style 	0
-							label      	(object SegLabel @1456
-							    Parent_View 	@1455
-							    location   	(1585, 1029)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.640777
-							    height     	53
-							    orientation 	0))))
-					    (object AssociationViewNew "$UNNAMED$165" @1457
-						location   	(750, 497)
-						stereotype 	TRUE
-						quidu      	"377286C0000D"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$166" @1458
-							Parent_View 	@1457
-							location   	(494, -1146)
-							stereotype 	TRUE
-							quidu      	"377286C00201"
-							client     	@1457
-							supplier   	@1438
-							line_style 	0
-							label      	(object SegLabel @1459
-							    Parent_View 	@1458
-							    location   	(1065, 427)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.900000
-							    height     	54
-							    orientation 	1))
-						    (object RoleView "$UNNAMED$167" @1460
-							Parent_View 	@1457
-							location   	(494, -1146)
-							stereotype 	TRUE
-							quidu      	"377286C00202"
-							client     	@1457
-							supplier   	@1436
-							line_style 	0
-							label      	(object SegLabel @1461
-							    Parent_View 	@1460
-							    location   	(519, 656)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.775388
-							    height     	59
-							    orientation 	0))))
-					    (object AssociationViewNew "$UNNAMED$168" @1462
-						location   	(1617, 635)
-						stereotype 	TRUE
-						quidu      	"378372970220"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$169" @1463
-							Parent_View 	@1462
-							location   	(-317, -1)
-							stereotype 	TRUE
-							quidu      	"378372980164"
-							client     	@1462
-							supplier   	@1438
-							line_style 	0
-							label      	(object SegLabel @1464
-							    Parent_View 	@1463
-							    location   	(1215, 437)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.900000
-							    height     	54
-							    orientation 	0))
-						    (object RoleView "$UNNAMED$170" @1465
-							Parent_View 	@1462
-							location   	(-317, -1)
-							stereotype 	TRUE
-							quidu      	"378372980165"
-							client     	@1462
-							supplier   	@1437
-							line_style 	0
-							label      	(object SegLabel @1466
-							    Parent_View 	@1465
-							    location   	(1864, 872)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.676849
-							    height     	64
-							    orientation 	1))))
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp" @1467
-						location   	(1006, 1231)
-						label      	(object ItemLabel
-						    Parent_View 	@1467
-						    location   	(925, 1213)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsServiceCenterTimeStamp")
-						icon_style 	"Icon"
-						quidu      	"377105AC00A3")
-					    (object AssociationViewNew "$UNNAMED$171" @1468
-						location   	(1078, 782)
-						stereotype 	TRUE
-						quidu      	"3789F5300087"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$172" @1469
-							Parent_View 	@1468
-							location   	(72, -449)
-							stereotype 	TRUE
-							quidu      	"3789F5310058"
-							client     	@1468
-							supplier   	@1438
-							line_style 	0)
-						    (object RoleView "$UNNAMED$173" @1470
-							Parent_View 	@1468
-							location   	(72, -449)
-							stereotype 	TRUE
-							quidu      	"3789F5310059"
-							client     	@1468
-							supplier   	@1467
-							line_style 	0)))))))
-			    (object Class_Category "SMS COMMAND"
-				quid       	"37710DAE01BC"
-				exportControl 	"Public"
-				logical_models 	(list unit_reference_list
-				    (object Association "$UNNAMED$174"
-					quid       	"37728A2803E5"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$175"
-						quid       	"37728A2901A3"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand"
-						quidu      	"3770FB630391"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$176"
-						quid       	"37728A2901A4"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-						quidu      	"3771060F0074"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iMessageReference"
-					quid       	"3773848B0069"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$177"
-						quid       	"3773848B0308"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand"
-						quidu      	"3770FB630391"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$178"
-						quid       	"3773848B0309"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-						quidu      	"377105F80035"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$179"
-					quid       	"3773853800E6"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$180"
-						quid       	"37738538027C"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand"
-						quidu      	"3770FB630391"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$181"
-						quid       	"37738538027D"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsCommandType"
-						quidu      	"377384EB024D"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iMessageNumber"
-					quid       	"377385660097"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$182"
-						quid       	"37738566028B"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand"
-						quidu      	"3770FB630391"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$183"
-						quid       	"37738566028C"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-						quidu      	"377105F80035"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iDestinationAddress"
-					quid       	"377385B50059"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$184"
-						quid       	"377385B5027C"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand"
-						quidu      	"3770FB630391"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$185"
-						quid       	"377385B5027D"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress"
-						quidu      	"377104A3014F"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iCommandData"
-					quid       	"37738631001A"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$186"
-						quid       	"3773863101FF"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand"
-						quidu      	"3770FB630391"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$187"
-						quid       	"377386310200"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsCommandData"
-						quidu      	"37836133029D"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iData"
-					quid       	"378361650339"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$188"
-						quid       	"3783616600B9"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsCommandData"
-						quidu      	"37836133029D"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$189"
-						quid       	"3783616600BA"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::HBufC8"
-						quidu      	"35E3DEEE0381"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$190"
-					quid       	"38186DD90037"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$191"
-						quid       	"38186DDA0075"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand"
-						quidu      	"3770FB630391"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$192"
-						quid       	"38186DDA0085"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier"
-						quidu      	"3771063F02E5"
-						Containment 	"By Value"
-						is_navigable 	TRUE))))
-				logical_presentations 	(list unit_reference_list
-				    (object ClassDiagram "Main"
-					quid       	"37710DE30381"
-					title      	"Main"
-					zoom       	100
-					max_height 	28350
-					max_width  	21600
-					origin_x   	0
-					origin_y   	0
-					items      	(list diagram_item_list
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1471
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(329, 521)
-						label      	(object ItemLabel
-						    Parent_View 	@1471
-						    location   	(248, 503)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFirstOctet")
-						icon_style 	"Icon"
-						quidu      	"3771060F0074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet" @1472
-						location   	(328, 925)
-						label      	(object ItemLabel
-						    Parent_View 	@1472
-						    location   	(247, 907)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsOctet")
-						icon_style 	"Icon"
-						quidu      	"377105F80035")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsCommandType" @1473
-						IncludeAttribute 	TRUE
-						location   	(927, 1334)
-						label      	(object ItemLabel
-						    Parent_View 	@1473
-						    location   	(846, 1316)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsCommandType")
-						icon_style 	"Icon"
-						quidu      	"377384EB024D")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet" @1474
-						location   	(1443, 1327)
-						label      	(object ItemLabel
-						    Parent_View 	@1474
-						    location   	(1362, 1309)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsOctet")
-						icon_style 	"Icon"
-						quidu      	"377105F80035")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress" @1475
-						location   	(2006, 1028)
-						label      	(object ItemLabel
-						    Parent_View 	@1475
-						    location   	(1925, 1010)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsAddress")
-						icon_style 	"Icon"
-						quidu      	"377104A3014F")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsCommandData" @1476
-						location   	(1953, 515)
-						label      	(object ItemLabel
-						    Parent_View 	@1476
-						    location   	(1872, 497)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsCommandData")
-						icon_style 	"Icon"
-						quidu      	"37836133029D")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsCommand" @1477
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(1112, 518)
-						label      	(object ItemLabel
-						    Parent_View 	@1477
-						    location   	(1031, 500)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsCommand")
-						icon_style 	"Icon"
-						quidu      	"3770FB630391")
-					    (object AssociationViewNew "$UNNAMED$174" @1478
-						location   	(720, 519)
-						stereotype 	TRUE
-						quidu      	"37728A2803E5"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$175" @1479
-							Parent_View 	@1478
-							location   	(375, 99)
-							stereotype 	TRUE
-							quidu      	"37728A2901A3"
-							client     	@1478
-							supplier   	@1477
-							line_style 	0)
-						    (object RoleView "$UNNAMED$176" @1480
-							Parent_View 	@1478
-							location   	(375, 99)
-							stereotype 	TRUE
-							quidu      	"37728A2901A4"
-							client     	@1478
-							supplier   	@1471
-							line_style 	0)))
-					    (object AssociationViewNew "iMessageReference" @1481
-						location   	(717, 721)
-						label      	(object SegLabel @1482
-						    Parent_View 	@1481
-						    location   	(668, 662)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iMessageReference"
-						    pctDist    	-0.333333
-						    height     	60
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"3773848B0069"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$177" @1483
-							Parent_View 	@1481
-							location   	(92, -160)
-							stereotype 	TRUE
-							quidu      	"3773848B0308"
-							client     	@1481
-							supplier   	@1477
-							line_style 	0)
-						    (object RoleView "$UNNAMED$178" @1484
-							Parent_View 	@1481
-							location   	(92, -160)
-							stereotype 	TRUE
-							quidu      	"3773848B0309"
-							client     	@1481
-							supplier   	@1472
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$179" @1485
-						location   	(1018, 925)
-						stereotype 	TRUE
-						quidu      	"3773853800E6"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$180" @1486
-							Parent_View 	@1485
-							location   	(-91, -15)
-							stereotype 	TRUE
-							quidu      	"37738538027C"
-							client     	@1485
-							supplier   	@1477
-							line_style 	0)
-						    (object RoleView "$UNNAMED$181" @1487
-							Parent_View 	@1485
-							location   	(-91, -15)
-							stereotype 	TRUE
-							quidu      	"37738538027D"
-							client     	@1485
-							supplier   	@1473
-							line_style 	0)))
-					    (object AssociationViewNew "iMessageNumber" @1488
-						location   	(1276, 922)
-						label      	(object SegLabel @1489
-						    Parent_View 	@1488
-						    location   	(1276, 863)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iMessageNumber"
-						    pctDist    	0.500000
-						    height     	60
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"377385660097"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$182" @1490
-							Parent_View 	@1488
-							location   	(-92, -221)
-							stereotype 	TRUE
-							quidu      	"37738566028B"
-							client     	@1488
-							supplier   	@1477
-							line_style 	0)
-						    (object RoleView "$UNNAMED$183" @1491
-							Parent_View 	@1488
-							location   	(-92, -221)
-							stereotype 	TRUE
-							quidu      	"37738566028C"
-							client     	@1488
-							supplier   	@1474
-							line_style 	0)))
-					    (object AssociationViewNew "iDestinationAddress" @1492
-						location   	(1558, 772)
-						label      	(object SegLabel @1493
-						    Parent_View 	@1492
-						    location   	(1558, 713)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iDestinationAddress"
-						    pctDist    	0.500000
-						    height     	60
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"377385B50059"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$184" @1494
-							Parent_View 	@1492
-							location   	(-107, -399)
-							stereotype 	TRUE
-							quidu      	"377385B5027C"
-							client     	@1492
-							supplier   	@1477
-							line_style 	0)
-						    (object RoleView "$UNNAMED$185" @1495
-							Parent_View 	@1492
-							location   	(-107, -399)
-							stereotype 	TRUE
-							quidu      	"377385B5027D"
-							client     	@1492
-							supplier   	@1475
-							line_style 	0)))
-					    (object AssociationViewNew "iCommandData" @1496
-						location   	(1532, 516)
-						label      	(object SegLabel @1497
-						    Parent_View 	@1496
-						    location   	(1532, 457)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iCommandData"
-						    pctDist    	0.500000
-						    height     	60
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37738631001A"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$186" @1498
-							Parent_View 	@1496
-							location   	(-390, 54)
-							stereotype 	TRUE
-							quidu      	"3773863101FF"
-							client     	@1496
-							supplier   	@1477
-							line_style 	0)
-						    (object RoleView "$UNNAMED$187" @1499
-							Parent_View 	@1496
-							location   	(-390, 54)
-							stereotype 	TRUE
-							quidu      	"377386310200"
-							client     	@1496
-							supplier   	@1476
-							line_style 	0)))
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1500
-						IncludeAttribute 	TRUE
-						location   	(371, 1302)
-						label      	(object ItemLabel
-						    Parent_View 	@1500
-						    location   	(290, 1284)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsProtocolIdentifier")
-						icon_style 	"Icon"
-						quidu      	"3771063F02E5")
-					    (object AssociationViewNew "$UNNAMED$190" @1501
-						location   	(740, 909)
-						stereotype 	TRUE
-						quidu      	"38186DD90037"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$191" @1502
-							Parent_View 	@1501
-							location   	(403, -396)
-							stereotype 	TRUE
-							quidu      	"38186DDA0075"
-							client     	@1501
-							supplier   	@1477
-							line_style 	0)
-						    (object RoleView "$UNNAMED$192" @1503
-							Parent_View 	@1501
-							location   	(403, -396)
-							stereotype 	TRUE
-							quidu      	"38186DDA0085"
-							client     	@1501
-							supplier   	@1500
-							line_style 	0)))))))
-			    (object Class_Category "SMS STATUS REPORT"
-				quid       	"37710DBF03CF"
-				exportControl 	"Public"
-				logical_models 	(list unit_reference_list
-				    (object Association "$UNNAMED$193"
-					quid       	"377287E102CC"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$194"
-						quid       	"377287E2004B"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$195"
-						quid       	"377287E2004C"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-						quidu      	"3771060F0074"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iMessageReference"
-					quid       	"3772880103A7"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$196"
-						quid       	"377288020201"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$197"
-						quid       	"377288020202"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-						quidu      	"377105F80035"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iRecipientAddress"
-					quid       	"37728831005B"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$198"
-						quid       	"37728831026E"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$199"
-						quid       	"37728831026F"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress"
-						quidu      	"377104A3014F"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iServiceCenterTimeStamp"
-					quid       	"3772886301A3"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$200"
-						quid       	"3772886303C6"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$201"
-						quid       	"3772886303C7"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp"
-						quidu      	"377105AC00A3"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "iDischargeTime"
-					quid       	"377288B1004B"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$202"
-						quid       	"377288B10220"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$203"
-						quid       	"377288B10221"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp"
-						quidu      	"377105AC00A3"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$204"
-					quid       	"37836FAA0230"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$205"
-						quid       	"37836FAA0358"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$206"
-						quid       	"37836FAA0359"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-						quidu      	"35E3DE9002B6"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$207"
-					quid       	"37836FB00358"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$208"
-						quid       	"37836FB10184"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$209"
-						quid       	"37836FB10185"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier"
-						quidu      	"3771063F02E5"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$210"
-					quid       	"37836FB40339"
-					roles      	(list role_list
-					    (object Role "1"
-						quid       	"37836FB501F1"
-						label      	"1"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "1..n"
-						quid       	"37836FB501F2"
-						label      	"1..n"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsParameterIndicator"
-						quidu      	"37710B1F0391"
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$211"
-					quid       	"3783751E00C8"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$212"
-						quid       	"3783751E0358"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						client_cardinality 	(value cardinality "1")
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$213"
-						quid       	"3783751E0359"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-						quidu      	"377106660074"
-						client_cardinality 	(value cardinality "0..1")
-						Containment 	"By Value"
-						is_navigable 	TRUE)))
-				    (object Association "$UNNAMED$214"
-					quid       	"37860B06029C"
-					roles      	(list role_list
-					    (object Role "$UNNAMED$215"
-						quid       	"37860B070098"
-						supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport"
-						quidu      	"3770FB540258"
-						is_navigable 	TRUE
-						is_aggregate 	TRUE)
-					    (object Role "$UNNAMED$216"
-						quid       	"37860B0700A8"
-						supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsStatus"
-						quidu      	"37860A8E00B7"
-						Containment 	"By Value"
-						is_navigable 	TRUE))))
-				logical_presentations 	(list unit_reference_list
-				    (object ClassDiagram "Main"
-					quid       	"37710DFF015E"
-					title      	"Main"
-					zoom       	100
-					max_height 	28350
-					max_width  	21600
-					origin_x   	0
-					origin_y   	0
-					items      	(list diagram_item_list
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1504
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(300, 343)
-						label      	(object ItemLabel
-						    Parent_View 	@1504
-						    location   	(219, 325)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsFirstOctet")
-						icon_style 	"Icon"
-						quidu      	"3771060F0074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet" @1505
-						location   	(275, 806)
-						label      	(object ItemLabel
-						    Parent_View 	@1505
-						    location   	(194, 788)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsOctet")
-						icon_style 	"Icon"
-						quidu      	"377105F80035")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress" @1506
-						location   	(271, 1196)
-						label      	(object ItemLabel
-						    Parent_View 	@1506
-						    location   	(190, 1178)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsAddress")
-						icon_style 	"Icon"
-						quidu      	"377104A3014F")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp" @1507
-						location   	(878, 1505)
-						label      	(object ItemLabel
-						    Parent_View 	@1507
-						    location   	(797, 1487)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsServiceCenterTimeStamp")
-						icon_style 	"Icon"
-						quidu      	"377105AC00A3")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData" @1508
-						IncludeAttribute 	TRUE
-						location   	(2043, 337)
-						label      	(object ItemLabel
-						    Parent_View 	@1508
-						    location   	(1962, 319)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsUserData")
-						icon_style 	"Icon"
-						quidu      	"35E3DE9002B6")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1509
-						location   	(2096, 1209)
-						label      	(object ItemLabel
-						    Parent_View 	@1509
-						    location   	(2015, 1191)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsProtocolIdentifier")
-						icon_style 	"Icon"
-						quidu      	"3771063F02E5")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsParameterIndicator" @1510
-						location   	(2027, 1537)
-						label      	(object ItemLabel
-						    Parent_View 	@1510
-						    location   	(1946, 1519)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsParameterIndicator")
-						icon_style 	"Icon"
-						quidu      	"37710B1F0391")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1511
-						location   	(2090, 828)
-						label      	(object ItemLabel
-						    Parent_View 	@1511
-						    location   	(2009, 810)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsDataCodingScheme")
-						icon_style 	"Icon"
-						quidu      	"377106660074")
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsStatusReport" @1512
-						IncludeAttribute 	TRUE
-						IncludeOperation 	TRUE
-						location   	(1209, 537)
-						label      	(object ItemLabel
-						    Parent_View 	@1512
-						    location   	(1128, 519)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"CSmsStatusReport")
-						icon_style 	"Icon"
-						quidu      	"3770FB540258")
-					    (object AssociationViewNew "$UNNAMED$193" @1513
-						location   	(754, 438)
-						stereotype 	TRUE
-						quidu      	"377287E102CC"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$194" @1514
-							Parent_View 	@1513
-							location   	(337, 145)
-							stereotype 	TRUE
-							quidu      	"377287E2004B"
-							client     	@1513
-							supplier   	@1512
-							line_style 	0)
-						    (object RoleView "$UNNAMED$195" @1515
-							Parent_View 	@1513
-							location   	(337, 145)
-							stereotype 	TRUE
-							quidu      	"377287E2004C"
-							client     	@1513
-							supplier   	@1504
-							line_style 	0)))
-					    (object AssociationViewNew "iMessageReference" @1516
-						location   	(741, 670)
-						label      	(object SegLabel @1517
-						    Parent_View 	@1516
-						    location   	(741, 611)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	360
-						    justify    	0
-						    label      	"iMessageReference"
-						    pctDist    	0.500000
-						    height     	60
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"3772880103A7"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$196" @1518
-							Parent_View 	@1516
-							location   	(260, -170)
-							stereotype 	TRUE
-							quidu      	"377288020201"
-							client     	@1516
-							supplier   	@1512
-							line_style 	0)
-						    (object RoleView "$UNNAMED$197" @1519
-							Parent_View 	@1516
-							location   	(260, -170)
-							stereotype 	TRUE
-							quidu      	"377288020202"
-							client     	@1516
-							supplier   	@1505
-							line_style 	0)))
-					    (object AssociationViewNew "iRecipientAddress" @1520
-						location   	(737, 866)
-						label      	(object SegLabel @1521
-						    Parent_View 	@1520
-						    location   	(745, 813)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iRecipientAddress"
-						    pctDist    	0.650000
-						    height     	54
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37728831005B"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$198" @1522
-							Parent_View 	@1520
-							location   	(-372, 41)
-							stereotype 	TRUE
-							quidu      	"37728831026E"
-							client     	@1520
-							supplier   	@1512
-							line_style 	0)
-						    (object RoleView "$UNNAMED$199" @1523
-							Parent_View 	@1520
-							location   	(-372, 41)
-							stereotype 	TRUE
-							quidu      	"37728831026F"
-							client     	@1520
-							supplier   	@1506
-							line_style 	0)))
-					    (object AssociationViewNew "iServiceCenterTimeStamp" @1524
-						location   	(1043, 1020)
-						label      	(object SegLabel @1525
-						    Parent_View 	@1524
-						    location   	(904, 1086)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iServiceCenterTimeStamp"
-						    pctDist    	-1.833333
-						    height     	66
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"3772886301A3"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$200" @1526
-							Parent_View 	@1524
-							location   	(-210, 67)
-							stereotype 	TRUE
-							quidu      	"3772886303C6"
-							client     	@1524
-							supplier   	@1512
-							line_style 	0)
-						    (object RoleView "$UNNAMED$201" @1527
-							Parent_View 	@1524
-							location   	(-210, 67)
-							stereotype 	TRUE
-							quidu      	"3772886303C7"
-							client     	@1524
-							supplier   	@1507
-							line_style 	0)))
-					    (object AssociationViewNew "iDischargeTime" @1528
-						location   	(1216, 1090)
-						label      	(object SegLabel @1529
-						    Parent_View 	@1528
-						    location   	(1303, 1138)
-						    font       	(object Font
-							italics    	TRUE)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	600
-						    justify    	0
-						    label      	"iDischargeTime"
-						    pctDist    	1.950000
-						    height     	48
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"377288B1004B"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$202" @1530
-							Parent_View 	@1528
-							location   	(13, -128)
-							stereotype 	TRUE
-							quidu      	"377288B10220"
-							client     	@1528
-							supplier   	@1512
-							line_style 	0)
-						    (object RoleView "$UNNAMED$203" @1531
-							Parent_View 	@1528
-							location   	(13, -128)
-							stereotype 	TRUE
-							quidu      	"377288B10221"
-							client     	@1528
-							supplier   	@1507
-							vertices   	(list Points
-							    (1216, 1090)
-							    (1218, 1200)
-							    (909, 1474))
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$204" @1532
-						location   	(1625, 436)
-						stereotype 	TRUE
-						quidu      	"37836FAA0230"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$205" @1533
-							Parent_View 	@1532
-							location   	(-353, 71)
-							stereotype 	TRUE
-							quidu      	"37836FAA0358"
-							client     	@1532
-							supplier   	@1512
-							line_style 	0
-							label      	(object SegLabel @1534
-							    Parent_View 	@1533
-							    location   	(1390, 538)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.755952
-							    height     	44
-							    orientation 	0))
-						    (object RoleView "$UNNAMED$206" @1535
-							Parent_View 	@1532
-							location   	(-353, 71)
-							stereotype 	TRUE
-							quidu      	"37836FAA0359"
-							client     	@1532
-							supplier   	@1508
-							line_style 	0
-							label      	(object SegLabel @1536
-							    Parent_View 	@1535
-							    location   	(1875, 414)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.740950
-							    height     	37
-							    orientation 	1))))
-					    (object AssociationViewNew "$UNNAMED$207" @1537
-						location   	(1652, 872)
-						stereotype 	TRUE
-						quidu      	"37836FB00358"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$208" @1538
-							Parent_View 	@1537
-							location   	(-304, -90)
-							stereotype 	TRUE
-							quidu      	"37836FB10184"
-							client     	@1537
-							supplier   	@1512
-							line_style 	0
-							label      	(object SegLabel @1539
-							    Parent_View 	@1538
-							    location   	(1259, 642)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.900000
-							    height     	54
-							    orientation 	0))
-						    (object RoleView "$UNNAMED$209" @1540
-							Parent_View 	@1537
-							location   	(-304, -90)
-							stereotype 	TRUE
-							quidu      	"37836FB10185"
-							client     	@1537
-							supplier   	@1509
-							line_style 	0
-							label      	(object SegLabel @1541
-							    Parent_View 	@1540
-							    location   	(1882, 1110)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.642742
-							    height     	51
-							    orientation 	1))))
-					    (object AssociationViewNew "$UNNAMED$210" @1542
-						location   	(1617, 1036)
-						stereotype 	TRUE
-						quidu      	"37836FB40339"
-						roleview_list 	(list RoleViews
-						    (object RoleView "1" @1543
-							Parent_View 	@1542
-							location   	(-183, -232)
-							label      	(object SegLabel @1544
-							    Parent_View 	@1543
-							    location   	(1302, 698)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1"
-							    pctDist    	0.761953
-							    height     	30
-							    orientation 	0)
-							stereotype 	TRUE
-							quidu      	"37836FB501F1"
-							client     	@1542
-							supplier   	@1512
-							line_style 	0)
-						    (object RoleView "1..n" @1545
-							Parent_View 	@1542
-							location   	(-183, -232)
-							label      	(object SegLabel @1546
-							    Parent_View 	@1545
-							    location   	(1892, 1439)
-							    anchor     	1
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	450
-							    justify    	0
-							    label      	"+1..n"
-							    pctDist    	0.800000
-							    height     	42
-							    orientation 	1)
-							stereotype 	TRUE
-							quidu      	"37836FB501F2"
-							client     	@1542
-							supplier   	@1510
-							line_style 	0)))
-					    (object AssociationViewNew "$UNNAMED$211" @1547
-						location   	(1650, 681)
-						stereotype 	TRUE
-						quidu      	"3783751E00C8"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$212" @1548
-							Parent_View 	@1547
-							location   	(-362, 3)
-							stereotype 	TRUE
-							quidu      	"3783751E0358"
-							client     	@1547
-							supplier   	@1512
-							line_style 	0
-							label      	(object SegLabel @1549
-							    Parent_View 	@1548
-							    location   	(1319, 629)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"1"
-							    pctDist    	0.900000
-							    height     	54
-							    orientation 	0))
-						    (object RoleView "$UNNAMED$213" @1550
-							Parent_View 	@1547
-							location   	(-362, 3)
-							stereotype 	TRUE
-							quidu      	"3783751E0359"
-							client     	@1547
-							supplier   	@1511
-							line_style 	0
-							label      	(object SegLabel @1551
-							    Parent_View 	@1550
-							    location   	(1949, 836)
-							    anchor     	2
-							    anchor_loc 	1
-							    nlines     	1
-							    max_width  	15
-							    justify    	0
-							    label      	"0..1"
-							    pctDist    	0.900000
-							    height     	54
-							    orientation 	1))))
-					    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsStatus" @1552
-						IncludeAttribute 	TRUE
-						location   	(1474, 1512)
-						label      	(object ItemLabel
-						    Parent_View 	@1552
-						    location   	(1393, 1494)
-						    nlines     	1
-						    max_width  	162
-						    justify    	0
-						    label      	"TSmsStatus")
-						icon_style 	"Icon"
-						quidu      	"37860A8E00B7")
-					    (object AssociationViewNew "$UNNAMED$214" @1553
-						location   	(1341, 1024)
-						stereotype 	TRUE
-						quidu      	"37860B06029C"
-						roleview_list 	(list RoleViews
-						    (object RoleView "$UNNAMED$215" @1554
-							Parent_View 	@1553
-							location   	(-93, -584)
-							stereotype 	TRUE
-							quidu      	"37860B070098"
-							client     	@1553
-							supplier   	@1512
-							line_style 	0)
-						    (object RoleView "$UNNAMED$216" @1555
-							Parent_View 	@1553
-							location   	(-93, -584)
-							stereotype 	TRUE
-							quidu      	"37860B0700A8"
-							client     	@1553
-							supplier   	@1552
-							line_style 	0))))))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"360122AF03E3"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	2725
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1556
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2509, 2148)
-					label      	(object ItemLabel
-					    Parent_View 	@1556
-					    location   	(2208, 1819)
-					    nlines     	1
-					    max_width  	602
-					    justify    	0
-					    label      	"TSmsProtocolIdentifier")
-					icon_style 	"Icon"
-					quidu      	"3771063F02E5"
-					width      	620
-					height     	682
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1557
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3591, 1633)
-					label      	(object ItemLabel
-					    Parent_View 	@1557
-					    location   	(3342, 1254)
-					    nlines     	1
-					    max_width  	498
-					    justify    	0
-					    label      	"TSmsDataCodingScheme")
-					icon_style 	"Icon"
-					quidu      	"377106660074"
-					width      	516
-					height     	782
-					annotation 	8)
-				    (object CategoryView "Logical View::GSM UTILS::SMS PDUS::SMS PDU" @1558
-					location   	(915, 362)
-					label      	(object ItemLabel
-					    Parent_View 	@1558
-					    location   	(731, 256)
-					    nlines     	2
-					    max_width  	368
-					    justify    	0
-					    label      	"SMS PDU")
-					icon_style 	"Icon"
-					quidu      	"37710C3903A0"
-					width      	381
-					height     	225)
-				    (object CategoryView "Logical View::GSM UTILS::SMS PDUS::SMS DELIVER" @1559
-					location   	(215, 418)
-					label      	(object ItemLabel
-					    Parent_View 	@1559
-					    location   	(43, 318)
-					    nlines     	2
-					    max_width  	344
-					    justify    	0
-					    label      	"SMS DELIVER")
-					icon_style 	"Icon"
-					quidu      	"37710D360333"
-					width      	356
-					height     	212)
-				    (object CategoryView "Logical View::GSM UTILS::SMS PDUS::SMS DELIVER REPORT" @1560
-					location   	(228, 837)
-					label      	(object ItemLabel
-					    Parent_View 	@1560
-					    location   	(53, 734)
-					    nlines     	2
-					    max_width  	350
-					    justify    	0
-					    label      	"SMS DELIVER REPORT")
-					icon_style 	"Icon"
-					quidu      	"37710D500268"
-					width      	362
-					height     	218)
-				    (object CategoryView "Logical View::GSM UTILS::SMS PDUS::SMS SUBMIT" @1561
-					location   	(681, 840)
-					label      	(object ItemLabel
-					    Parent_View 	@1561
-					    location   	(512, 743)
-					    nlines     	2
-					    max_width  	338
-					    justify    	0
-					    label      	"SMS SUBMIT")
-					icon_style 	"Icon"
-					quidu      	"37710D7701AC"
-					width      	350
-					height     	206)
-				    (object CategoryView "Logical View::GSM UTILS::SMS PDUS::SMS SUBMIT REPORT" @1562
-					location   	(1184, 850)
-					label      	(object ItemLabel
-					    Parent_View 	@1562
-					    location   	(1015, 750)
-					    nlines     	2
-					    max_width  	338
-					    justify    	0
-					    label      	"SMS SUBMIT REPORT")
-					icon_style 	"Icon"
-					quidu      	"37710D9F0277"
-					width      	350
-					height     	213)
-				    (object CategoryView "Logical View::GSM UTILS::SMS PDUS::SMS COMMAND" @1563
-					location   	(1656, 419)
-					label      	(object ItemLabel
-					    Parent_View 	@1563
-					    location   	(1490, 322)
-					    nlines     	2
-					    max_width  	332
-					    justify    	0
-					    label      	"SMS COMMAND")
-					icon_style 	"Icon"
-					quidu      	"37710DAE01BC"
-					width      	344
-					height     	206)
-				    (object CategoryView "Logical View::GSM UTILS::SMS PDUS::SMS STATUS REPORT" @1564
-					location   	(1653, 853)
-					label      	(object ItemLabel
-					    Parent_View 	@1564
-					    location   	(1491, 759)
-					    nlines     	2
-					    max_width  	324
-					    justify    	0
-					    label      	"SMS STATUS REPORT")
-					icon_style 	"Icon"
-					quidu      	"37710DBF03CF"
-					width      	337
-					height     	200)))))
-		    (object Class_Category "SMS MESSAGE"
-			quid       	"3770FA6302D5"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CBufSeg"
-				quid       	"3773A21400F5")
-			    (object Class "CBufSeg8"
-				quid       	"3773A24F0105")
-			    (object Class "CSmsMessage"
-				quid       	"35E3DBB702F4"
-				operations 	(list Operations
-				    (object Operation "static NewL()"
-					quid       	"36011DBA0317"
-					parameters 	(list Parameters
-					    (object Parameter "CSmsHeader"
-						type       	"argtype"
-						initv      	"default"))
-					result     	"CSmsHeader*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Type"
-					quid       	"38B2C1FE0327"
-					result     	"TSmsPDUType"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsComplete"
-					quid       	"3784A5FE02F9"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsDecoded"
-					quid       	"3784A6100191"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Storage"
-					quid       	"3818946A0259"
-					result     	"TSmsStorage"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetStorage"
-					quid       	"38B2C2CC02C9"
-					parameters 	(list Parameters
-					    (object Parameter "aStorage"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Status"
-					quid       	"3785E37D01F0"
-					result     	"TStatus"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetStatus"
-					quid       	"3785E488025D"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TStatus"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "LogServerId"
-					quid       	"381896280102"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetLogServerId"
-					quid       	"38189628018E"
-					parameters 	(list Parameters
-					    (object Parameter "aId"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Time"
-					quid       	"3819830C01AD"
-					parameters 	(list Parameters
-					    (object Parameter "argname"
-						type       	"argtype"
-						initv      	"default"))
-					result     	"const TTime&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTime"
-					quid       	"3819832600C3"
-					parameters 	(list Parameters
-					    (object Parameter "aTime"
-						type       	"const TTime&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SmsPDU"
-					quid       	"3819834A0249"
-					result     	"CSmsPDU&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ServiceCenterAddress"
-					quid       	"381983A3018E"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetServiceCenterAddressL"
-					quid       	"381983A3020B"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ParsedServiceCenterAddress"
-					quid       	"381983A30288"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"TGsmTelNumber&"
-						initv      	"default"))
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetParsedServiceCenterAddressL"
-					quid       	"381983A302F5"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"const TGsmTelNumber&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ToFromAddress"
-					quid       	"381983A30372"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetToFromAddressL"
-					quid       	"381983A303DF"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ParsedToFromAddress"
-					quid       	"381983A40074"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"TGsmTelNumber&"
-						initv      	"default"))
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetParsedToFromAddressL"
-					quid       	"381983A400F1"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"const TGsmTelNumber&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeWithoutBufferL"
-					quid       	"381983C403C0"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeWithoutBufferL"
-					quid       	"381983C50046"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"381983E100C3"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"381983E10140"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Buffer"
-					quid       	"381983EE0026"
-					result     	"CSmsBufferBase&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TextPresent"
-					quid       	"381984030324"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NumMessagePDUsL"
-					quid       	"381984170353"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MaxMessageLength"
-					quid       	"3819843301EB"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageLengthL"
-					quid       	"3819845300A3"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UserDataSettings"
-					quid       	"381984760130"
-					parameters 	(list Parameters
-					    (object Parameter "aSettings"
-						type       	"TSmsUserDataSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetUserDataSettings"
-					quid       	"381984AF014F"
-					parameters 	(list Parameters
-					    (object Parameter "aSettings"
-						type       	"const TSmsUserDataSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CompressionSettings"
-					quid       	"381984CE0017"
-					parameters 	(list Parameters
-					    (object Parameter "aCompressionSettings"
-						type       	"TGsmCompressionSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetCompressionSettings"
-					quid       	"3819850800C3"
-					parameters 	(list Parameters
-					    (object Parameter "aCompressionSettings"
-						type       	"const TGsmCompressionSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "OptimizeSettingsL"
-					quid       	"381985200324"
-					parameters 	(list Parameters
-					    (object Parameter "aOptions"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CompressionSupportedL"
-					quid       	"3819854B0334"
-					parameters 	(list Parameters
-					    (object Parameter "aFs"
-						type       	"RFs&"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsSupportedL"
-					quid       	"3819858F014F"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"const TDesC&"
-						initv      	"default")
-					    (object Parameter "aNumberOfUnconvertableCharacters"
-						type       	"argtype"
-						initv      	"TInt&")
-					    (object Parameter "aIndexOfFirstUnconvertableCharacter"
-						type       	"argtype"
-						initv      	"TInt&"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeMessagePDUsL"
-					quid       	"38199DA502E5"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsArray"
-						type       	"CArrayFix<TSms>&"
-						initv      	"default")
-					    (object Parameter "aServiceCenterAddressPresent"
-						type       	"TBool"
-						initv      	"ETrue")
-					    (object Parameter "aReference"
-						type       	"TInt"
-						initv      	"0"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeMessagePDUsL"
-					quid       	"38199E360140"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsArray"
-						type       	"const CArrayFix<TSms>&"
-						initv      	"default")
-					    (object Parameter "aServiceCenterAddressPresent"
-						type       	"TBool"
-						initv      	"ETrue"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UTCOffset"
-					quid       	"426E3BB600BF"
-					result     	"TTimeIntervalSeconds"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetUTCOffSet"
-					quid       	"426E3C330236"
-					parameters 	(list Parameters
-					    (object Parameter "aTimeOffset"
-						type       	"TTimeIntervalSeconds&"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Version"
-					quid       	"426E4B1E028F"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetVersion"
-					quid       	"426E4B420250"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeWithoutBufferAndVersionL"
-					quid       	"426E4B50005C"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeWithoutBufferAndVersionL"
-					quid       	"426E4B5B00C9"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeBufferL"
-					quid       	"426E4B6801F2"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeBufferL"
-					quid       	"426E4B6C0175"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeVersionL"
-					quid       	"426E4B960108"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeVersionL"
-					quid       	"426E4B9A026F"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetOperationsForIEL"
-					quid       	"43380A8801AC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iFlags"
-					quid       	"3785E3180125"
-					type       	"TInt")
-				    (object ClassAttribute "iLogServerId"
-					quid       	"3789EDBE0394"
-					type       	"TInt")
-				    (object ClassAttribute "iTime"
-					quid       	"38199A8B03A1"
-					type       	"TTime")
-				    (object ClassAttribute "iVersion"
-					quid       	"426E4B000369"
-					type       	"TInt")
-				    (object ClassAttribute "iAdditionalInfo"
-					quid       	"43393C4C03C0"
-					type       	"(void)*"
-					Containment 	"By Value")))
-			    (object Association "$UNNAMED$217"
-				quid       	"3773A209028B"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$218"
-					quid       	"3773A20A00E6"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$219"
-					quid       	"3773A20A00F5"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer"
-					quidu      	"378F2399000F"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$220"
-				quid       	"3773A26E02DA"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$221"
-					quid       	"3773A26F0069"
-					supplier   	"Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase"
-					quidu      	"37AA9AA20154"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$222"
-					quid       	"3773A26F0078"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CBufSeg8"
-					quidu      	"3773A24F0105"
-					is_navigable 	TRUE)))
-			    (object Association "iSmsPDU"
-				quid       	"37848A1A00A7"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$223"
-					quid       	"37848A1A021E"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$224"
-					quid       	"37848A1A022E"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU"
-					quidu      	"378489410078"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$225"
-				quid       	"3784C17C01B1"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$226"
-					quid       	"3784C17C0337"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$227"
-					quid       	"3784C17C0338"
-					supplier   	"Logical View::GSM UTILS::SMS SETTINGS::TSmsUserDataSettings"
-					quidu      	"3764D62102E9"
-					is_navigable 	TRUE)))
-			    (object Association "iBuffer"
-				quid       	"378F262202AF"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$228"
-					quid       	"378F26240203"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$229"
-					quid       	"378F26240213"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$230"
-				quid       	"378F262B0213"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$231"
-					quid       	"378F262B037A"
-					supplier   	"Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase"
-					quidu      	"37AA9AA20154"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$232"
-					quid       	"378F262B037B"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$233"
-				quid       	"433946830102"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$234"
-					quid       	"4339468502A8"
-					supplier   	"Logical View::GSM UTILS::AdditionalAttributes::CSmsMessageAdditionalAttributes"
-					quidu      	"43393D5000C4"
-					Containment 	"By Value"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$235"
-					quid       	"4339468502A9"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$236"
-				quid       	"433948F8029C"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$237"
-					quid       	"433948FB021F"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsEnhancedVoiceMailOperations"
-					quidu      	"433815DC00B0"
-					Containment 	"By Value"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$238"
-					quid       	"433948FB0220"
-					supplier   	"Logical View::GSM UTILS::AdditionalAttributes::CSmsMessageAdditionalAttributes"
-					quidu      	"43393D5000C4"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$239"
-				quid       	"43394902023E"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$240"
-					quid       	"43394907027D"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsReplyAddressOperations"
-					quidu      	"433815C50246"
-					Containment 	"By Value"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$241"
-					quid       	"43394907027E"
-					supplier   	"Logical View::GSM UTILS::AdditionalAttributes::CSmsMessageAdditionalAttributes"
-					quidu      	"43393D5000C4"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$242"
-				quid       	"4339491A0164"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$243"
-					quid       	"4339491C00E7"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsSpecialSMSMessageOperations"
-					quidu      	"433815AE0004"
-					Containment 	"By Value"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$244"
-					quid       	"4339491C00E8"
-					supplier   	"Logical View::GSM UTILS::AdditionalAttributes::CSmsMessageAdditionalAttributes"
-					quidu      	"43393D5000C4"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$245"
-				quid       	"4339493A0220"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$246"
-					quid       	"43394942022F"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsHyperLinkOperations"
-					quidu      	"4338158502E2"
-					Containment 	"By Value"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$247"
-					quid       	"433949420230"
-					supplier   	"Logical View::GSM UTILS::AdditionalAttributes::CSmsMessageAdditionalAttributes"
-					quidu      	"43393D5000C4"
-					is_aggregate 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"3770FAD600F1"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	-7425
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CBufSeg8" @1565
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(255, 1296)
-					label      	(object ItemLabel
-					    Parent_View 	@1565
-					    location   	(150, 1245)
-					    nlines     	1
-					    max_width  	210
-					    justify    	0
-					    label      	"CBufSeg8")
-					icon_style 	"Icon"
-					quidu      	"3773A24F0105"
-					width      	228
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::CSmsPDU" @1566
-					location   	(1668, 106)
-					label      	(object ItemLabel
-					    Parent_View 	@1566
-					    location   	(1568, 31)
-					    nlines     	1
-					    max_width  	201
-					    justify    	0
-					    label      	"CSmsPDU")
-					icon_style 	"Icon"
-					quidu      	"378489410078"
-					width      	219
-					height     	175)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS SETTINGS::TSmsUserDataSettings" @1567
-					location   	(2238, 128)
-					label      	(object ItemLabel
-					    Parent_View 	@1567
-					    location   	(1997, 62)
-					    nlines     	1
-					    max_width  	482
-					    justify    	0
-					    label      	"TSmsUserDataSettings")
-					icon_style 	"Icon"
-					quidu      	"3764D62102E9"
-					width      	500
-					height     	156)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms" @1568
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2108, 550)
-					label      	(object ItemLabel
-					    Parent_View 	@1568
-					    location   	(2027, 499)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"TSms")
-					icon_style 	"Icon"
-					quidu      	"3770C4E700A3"
-					height     	126)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase" @1569
-					IncludeAttribute 	TRUE
-					location   	(256, 815)
-					label      	(object ItemLabel
-					    Parent_View 	@1569
-					    location   	(9, 712)
-					    nlines     	1
-					    max_width  	495
-					    justify    	0
-					    label      	"CGsmCompressionBase")
-					icon_style 	"Icon"
-					quidu      	"37AA9AA20154"
-					width      	513
-					height     	231)
-				    (object AssociationViewNew "$UNNAMED$220" @1570
-					location   	(255, 1081)
-					stereotype 	TRUE
-					quidu      	"3773A26E02DA"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$221" @1571
-						Parent_View 	@1570
-						location   	(-1572, 28)
-						stereotype 	TRUE
-						quidu      	"3773A26F0069"
-						client     	@1570
-						supplier   	@1569
-						line_style 	0)
-					    (object RoleView "$UNNAMED$222" @1572
-						Parent_View 	@1570
-						location   	(-1572, 28)
-						stereotype 	TRUE
-						quidu      	"3773A26F0078"
-						client     	@1570
-						supplier   	@1565
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase" @1573
-					IncludeAttribute 	TRUE
-					location   	(256, 134)
-					label      	(object ItemLabel
-					    Parent_View 	@1573
-					    location   	(86, 83)
-					    nlines     	1
-					    max_width  	340
-					    justify    	0
-					    label      	"CSmsBufferBase")
-					icon_style 	"Icon"
-					quidu      	"378F211E01D4"
-					width      	358
-					height     	126)
-				    (object AssociationViewNew "$UNNAMED$230" @1574
-					location   	(256, 448)
-					stereotype 	TRUE
-					quidu      	"378F262B0213"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$231" @1575
-						Parent_View 	@1574
-						location   	(38, -1384)
-						stereotype 	TRUE
-						quidu      	"378F262B037A"
-						client     	@1574
-						supplier   	@1569
-						line_style 	0)
-					    (object RoleView "$UNNAMED$232" @1576
-						Parent_View 	@1574
-						location   	(38, -1384)
-						stereotype 	TRUE
-						quidu      	"378F262B037B"
-						client     	@1574
-						supplier   	@1573
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage" @1577
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1044, 1403)
-					label      	(object ItemLabel
-					    Parent_View 	@1577
-					    location   	(678, 13)
-					    nlines     	1
-					    max_width  	732
-					    justify    	0
-					    label      	"CSmsMessage")
-					icon_style 	"Icon"
-					quidu      	"35E3DBB702F4"
-					compartment 	(object Compartment
-					    Parent_View 	@1577
-					    location   	(678, 74)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	56
-					    max_width  	712)
-					width      	750
-					height     	2805)
-				    (object AssociationViewNew "iSmsPDU" @1578
-					location   	(1522, 407)
-					label      	(object SegLabel @1579
-					    Parent_View 	@1578
-					    location   	(1538, 387)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iSmsPDU"
-					    pctDist    	0.766667
-					    height     	21
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"37848A1A00A7"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$223" @1580
-						Parent_View 	@1578
-						location   	(-927, -121)
-						stereotype 	TRUE
-						quidu      	"37848A1A021E"
-						client     	@1578
-						supplier   	@1577
-						line_style 	0)
-					    (object RoleView "$UNNAMED$224" @1581
-						Parent_View 	@1578
-						location   	(-927, -121)
-						stereotype 	TRUE
-						quidu      	"37848A1A022E"
-						client     	@1578
-						supplier   	@1566
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$225" @1582
-					location   	(1791, 603)
-					stereotype 	TRUE
-					quidu      	"3784C17C01B1"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$226" @1583
-						Parent_View 	@1582
-						location   	(-636, -412)
-						stereotype 	TRUE
-						quidu      	"3784C17C0337"
-						client     	@1582
-						supplier   	@1577
-						line_style 	0)
-					    (object RoleView "$UNNAMED$227" @1584
-						Parent_View 	@1582
-						location   	(-636, -412)
-						stereotype 	TRUE
-						quidu      	"3784C17C0338"
-						client     	@1582
-						supplier   	@1567
-						line_style 	0)))
-				    (object AssociationViewNew "" @1585
-					location   	(1723, 856)
-					stereotype 	TRUE
-					quidu      	"376116F90394"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1..n" @1586
-						Parent_View 	@1585
-						location   	(1111, 288)
-						label      	(object SegLabel @1587
-						    Parent_View 	@1586
-						    location   	(1992, 695)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"376116FA0105"
-						client     	@1585
-						supplier   	@1568
-						line_style 	0)
-					    (object RoleView "1" @1588
-						Parent_View 	@1585
-						location   	(1111, 288)
-						label      	(object SegLabel @1589
-						    Parent_View 	@1588
-						    location   	(1506, 1083)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"376116FA0104"
-						client     	@1585
-						supplier   	@1577
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$94" @1590
-					location   	(539, 1026)
-					stereotype 	TRUE
-					quidu      	"35E3E90402A6"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @1591
-						Parent_View 	@1590
-						location   	(-995, 6)
-						label      	(object SegLabel @1592
-						    Parent_View 	@1591
-						    location   	(667, 1069)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"35E3E9050083"
-						client     	@1590
-						supplier   	@1577
-						line_style 	0)
-					    (object RoleView "0..1" @1593
-						Parent_View 	@1590
-						location   	(-995, 6)
-						label      	(object SegLabel @1594
-						    Parent_View 	@1593
-						    location   	(491, 941)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..1"
-						    pctDist    	0.556496
-						    height     	40
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"35E3E9050084"
-						client     	@1590
-						supplier   	@1569
-						line_style 	0)))
-				    (object AssociationViewNew "iBuffer" @1595
-					location   	(481, 497)
-					label      	(object SegLabel @1596
-					    Parent_View 	@1595
-					    location   	(481, 438)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iBuffer"
-					    pctDist    	0.500000
-					    height     	60
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"378F262202AF"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$228" @1597
-						Parent_View 	@1595
-						location   	(222, -1341)
-						stereotype 	TRUE
-						quidu      	"378F26240203"
-						client     	@1595
-						supplier   	@1577
-						line_style 	0)
-					    (object RoleView "$UNNAMED$229" @1598
-						Parent_View 	@1595
-						location   	(222, -1341)
-						stereotype 	TRUE
-						quidu      	"378F26240213"
-						client     	@1595
-						supplier   	@1573
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsEnhancedVoiceMailOperations" @1599
-					SuppressAttribute 	TRUE
-					SuppressOperation 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1888, 1385)
-					label      	(object ItemLabel
-					    Parent_View 	@1599
-					    location   	(1497, 1319)
-					    nlines     	1
-					    max_width  	782
-					    justify    	0
-					    label      	"CSmsEnhancedVoiceMailOperations")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433815DC00B0"
-					width      	800
-					height     	156)
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsReplyAddressOperations" @1600
-					ShowCompartmentStereotypes 	TRUE
-					SuppressAttribute 	TRUE
-					SuppressOperation 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1909, 2322)
-					label      	(object ItemLabel
-					    Parent_View 	@1600
-					    location   	(1509, 2256)
-					    nlines     	1
-					    max_width  	800
-					    justify    	0
-					    label      	"CSmsReplyAddressOperations")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433815C50246"
-					width      	818
-					height     	156)
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsHyperLinkOperations" @1601
-					ShowCompartmentStereotypes 	TRUE
-					SuppressAttribute 	TRUE
-					SuppressOperation 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2846, 1367)
-					label      	(object ItemLabel
-					    Parent_View 	@1601
-					    location   	(2443, 1308)
-					    nlines     	1
-					    max_width  	807
-					    justify    	0
-					    label      	"CSmsHyperLinkOperations")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"4338158502E2"
-					width      	825
-					height     	143)
-				    (object ClassView "Class" "Logical View::GSM UTILS::AdditionalAttributes::CSmsMessageAdditionalAttributes" @1602
-					ShowCompartmentStereotypes 	TRUE
-					SuppressAttribute 	TRUE
-					SuppressOperation 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2378, 1850)
-					label      	(object ItemLabel
-					    Parent_View 	@1602
-					    location   	(1934, 1790)
-					    nlines     	1
-					    max_width  	888
-					    justify    	0
-					    label      	"CSmsMessageAdditionalAttributes")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"43393D5000C4"
-					width      	906
-					height     	144)
-				    (object AssociationViewNew "$UNNAMED$233" @1603
-					location   	(1790, 1652)
-					stereotype 	TRUE
-					quidu      	"433946830102"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$234" @1604
-						Parent_View 	@1603
-						location   	(359, 240)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"4339468502A8"
-						client     	@1603
-						supplier   	@1602
-						line_style 	0)
-					    (object RoleView "$UNNAMED$235" @1605
-						Parent_View 	@1603
-						location   	(359, 240)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"4339468502A9"
-						client     	@1603
-						supplier   	@1577
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$236" @1606
-					location   	(2136, 1620)
-					stereotype 	TRUE
-					quidu      	"433948F8029C"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$237" @1607
-						Parent_View 	@1606
-						location   	(-20, 233)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"433948FB021F"
-						client     	@1606
-						supplier   	@1599
-						line_style 	0)
-					    (object RoleView "$UNNAMED$238" @1608
-						Parent_View 	@1606
-						location   	(-20, 233)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"433948FB0220"
-						client     	@1606
-						supplier   	@1602
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$239" @1609
-					location   	(2144, 2082)
-					stereotype 	TRUE
-					quidu      	"43394902023E"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$240" @1610
-						Parent_View 	@1609
-						location   	(-12, 695)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"43394907027D"
-						client     	@1609
-						supplier   	@1600
-						line_style 	0)
-					    (object RoleView "$UNNAMED$241" @1611
-						Parent_View 	@1609
-						location   	(-12, 695)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"43394907027E"
-						client     	@1609
-						supplier   	@1602
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$245" @1612
-					location   	(2610, 1607)
-					stereotype 	TRUE
-					quidu      	"4339493A0220"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$246" @1613
-						Parent_View 	@1612
-						location   	(454, 220)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"43394942022F"
-						client     	@1612
-						supplier   	@1601
-						line_style 	0)
-					    (object RoleView "$UNNAMED$247" @1614
-						Parent_View 	@1612
-						location   	(454, 220)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"433949420230"
-						client     	@1612
-						supplier   	@1602
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsSpecialSMSMessageOperations" @1615
-					ShowCompartmentStereotypes 	TRUE
-					SuppressAttribute 	TRUE
-					SuppressOperation 	TRUE
-					IncludeAttribute 	TRUE
-					ShowOperationSignature 	TRUE
-					location   	(2859, 2325)
-					label      	(object ItemLabel
-					    Parent_View 	@1615
-					    location   	(2450, 2259)
-					    nlines     	1
-					    max_width  	819
-					    justify    	0
-					    label      	"CSmsSpecialSMSMessageOperations")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433815AE0004"
-					width      	837
-					height     	157)
-				    (object AssociationViewNew "$UNNAMED$242" @1616
-					location   	(2615, 2084)
-					stereotype 	TRUE
-					quidu      	"4339491A0164"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$244" @1617
-						Parent_View 	@1616
-						location   	(650, -407)
-						label      	(object SegLabel @1618
-						    Parent_View 	@1617
-						    location   	(2452, 1981)
-						    hidden     	TRUE
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	""
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"4339491C00E8"
-						client     	@1616
-						supplier   	@1602
-						line_style 	0)
-					    (object RoleView "$UNNAMED$243" @1619
-						Parent_View 	@1616
-						location   	(650, -407)
-						label      	(object SegLabel @1620
-						    Parent_View 	@1619
-						    location   	(2721, 2248)
-						    hidden     	TRUE
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	""
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"4339491C00E7"
-						client     	@1616
-						supplier   	@1615
-						line_style 	0)))))))
-		    (object Class_Category "SMS ELEMENTS"
-			quid       	"37710435015E"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsAddress"
-				quid       	"377104A3014F"
-				operations 	(list Operations
-				    (object Operation "Address"
-					quid       	"3817121502C7"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetAddressL"
-					quid       	"38171220023A"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"const TDesc&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ParsedAddress"
-					quid       	"381712550334"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"TGsmTelNumber&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetParsedAddressL"
-					quid       	"3817125503A2"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"const TGsmTelNumber&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TypeOfNumber"
-					quid       	"381712E200F2"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTypeOfNumber"
-					quid       	"381712FF0315"
-					parameters 	(list Parameters
-					    (object Parameter "aTypeOfNumber"
-						type       	"TSmsTypeOfNumber"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NumberPlanIdentification"
-					quid       	"381713CD0102"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetNumberPlanIdentification"
-					quid       	"381713D80269"
-					parameters 	(list Parameters
-					    (object Parameter "aNumberingPlanIdentification"
-						type       	"TSmsNumberingPlanIdentification"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"3817140702C7"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"381714070344"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"3817140703B1"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"381714080046"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSms8BitConvert"
-				quid       	"36012D3C03B4"
-				operations 	(list Operations
-				    (object Operation "EncodeL"
-					quid       	"38170D8903E0"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"38170D8A0065"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsSupportedL"
-					quid       	"38170D8A00C3"
-					parameters 	(list Parameters
-					    (object Parameter "aChar"
-						type       	"TChar"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsUCS2Convert"
-				quid       	"35FF81FB03DF"
-				operations 	(list Operations
-				    (object Operation "EncodeL"
-					quid       	"38170D950065"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"38170D9500D3"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsSupportedL"
-					quid       	"38170D950140"
-					parameters 	(list Parameters
-					    (object Parameter "aChar"
-						type       	"TChar"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "HBufC8"
-				quid       	"35E3DEEE0381")
-			    (object Class "CSmsUserData"
-				quid       	"35E3DE9002B6"
-				used_nodes 	(list uses_relationship_list
-				    (object Uses_Relationship
-					quid       	"39CB728902B4"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter"
-					quidu      	"39CB70B102FB"))
-				operations 	(list Operations
-				    (object Operation "NumInformationElements"
-					quid       	"381727DC03A2"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InformationElement"
-					quid       	"381727FC00A4"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt"
-						initv      	"default"))
-					result     	"CSmsInformationElement&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InformationElementIndex"
-					quid       	"3817282D02F6"
-					parameters 	(list Parameters
-					    (object Parameter "aIdentifier"
-						type       	"TSmsInformationElementIdentifier"
-						initv      	"default")
-					    (object Parameter "aIndex"
-						type       	"TInt&"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddInformationElementL"
-					quid       	"381728F10392"
-					parameters 	(list Parameters
-					    (object Parameter "aIdentifier"
-						type       	"TSmsInformationElementIdentifier"
-						initv      	"default")
-					    (object Parameter "aData"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteInformationElement"
-					quid       	"381728F20056"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MaxBodyLengthInChars"
-					quid       	"381728F200D3"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Body"
-					quid       	"381728F2015F"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetBodyL"
-					quid       	"381728F201EC"
-					parameters 	(list Parameters
-					    (object Parameter "aBody"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsSupportedL"
-					quid       	"381728F20279"
-					parameters 	(list Parameters
-					    (object Parameter "aChar"
-						type       	"TChar"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"381728F20305"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"381728F20392"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"381728F30037"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"381728F300C3"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsValidityPeriod"
-				quid       	"377105940064"
-				operations 	(list Operations
-				    (object Operation "ValidityPeriodFormat"
-					quid       	"38171D3200D3"
-					result     	"TSmsValidityPeriodFormat"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetValidityPeriodFormat"
-					quid       	"38171D660382"
-					parameters 	(list Parameters
-					    (object Parameter "aValidityPeriodFormat"
-						type       	"SetValidityPeriodFormat"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TimeIntervalMinutes"
-					quid       	"38171D8E03B1"
-					result     	"const TTimeIntervalMinutes&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTimeIntervalMinutes"
-					quid       	"38171DB20102"
-					parameters 	(list Parameters
-					    (object Parameter "aTimeIntervalMinutes"
-						type       	"const TTimeIntervalMinutes&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Time"
-					quid       	"38171E2800F2"
-					result     	"TTime"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"38171E5C0037"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"38171E5C00A4"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"38171E5C0121"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"38171E5C018E"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iTimeIntervalMinutes"
-					quid       	"38171E940373"
-					type       	"TTimeIntervalMinutes")))
-			    (object Class "TSmsServiceCenterTimeStamp"
-				quid       	"377105AC00A3"
-				operations 	(list Operations
-				    (object Operation "TimeOffset"
-					quid       	"3784A12201A1"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTimeOffset"
-					quid       	"3784A16901E0"
-					parameters 	(list Parameters
-					    (object Parameter "aNumQuarterHours"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Time"
-					quid       	"3784A1CC0357"
-					result     	"const TTime&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTime"
-					quid       	"3784A1D10153"
-					parameters 	(list Parameters
-					    (object Parameter "aTime"
-						type       	"const TTime&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"3817173602D6"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"381717360344"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"3817173603B1"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"381717370046"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iTime"
-					quid       	"381717430150"
-					type       	"TTime")
-				    (object ClassAttribute "iTimeZoneNumQuarterHours"
-					quid       	"3817178D0334"
-					type       	"TInt")))
-			    (object Class "TSmsOctet"
-				quid       	"377105F80035"
-				operations 	(list Operations
-				    (object Operation "EncodeL"
-					quid       	"377106060229"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"377106060249"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"38170B1F0353"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"38170B2002A8"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iValue"
-					quid       	"378B129A0223"
-					type       	"TUint8")))
-			    (object Class "TSmsFirstOctet"
-				quid       	"3771060F0074"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"37710615017D"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035")))
-			    (object Class "TSmsProtocolIdentifier"
-				quid       	"3771063F02E5"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3771064D013F"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"))
-				operations 	(list Operations
-				    (object Operation "PIDType"
-					quid       	"37849AF80172"
-					result     	"TSmsPIDType"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetPIDType"
-					quid       	"37849B0F0308"
-					parameters 	(list Parameters
-					    (object Parameter "aPIDType"
-						type       	"TSmsPIDType"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TelematicDeviceIndicator"
-					quid       	"37849E680172"
-					result     	"TSmsTelematicDeviceIndicator"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTelematicDeviceIndicator"
-					quid       	"37849E9E023D"
-					parameters 	(list Parameters
-					    (object Parameter "aTelematicDeviceIndicator"
-						type       	"TSmsTelematicDeviceIndicator"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TelematicDeviceType"
-					quid       	"3784BE78000B"
-					result     	"TSmsTelematicDeviceType"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTelematicDeviceType"
-					quid       	"3784BEDA025D"
-					parameters 	(list Parameters
-					    (object Parameter "aTelematicDeviceType"
-						type       	"TSmsTelematicDeviceType"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ShortMessageALProtocol"
-					quid       	"3784BF0503E3"
-					result     	"TSmsShortMessageALProtocol"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetShortMessageALProtocol"
-					quid       	"3784BF06002A"
-					parameters 	(list Parameters
-					    (object Parameter "aShortMessageALProtocol"
-						type       	"TSmsShortMessageALProtocol"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ShortMessageType"
-					quid       	"3784BF060059"
-					result     	"TSmsShortMessageType"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetShortMessageType"
-					quid       	"3784BF060078"
-					parameters 	(list Parameters
-					    (object Parameter "aShortMessageType"
-						type       	"TSmsShortMessageType"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsDataCodingScheme"
-				quid       	"377106660074"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3771068A02C6"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"))
-				operations 	(list Operations
-				    (object Operation "Bits7To4"
-					quid       	"3815E70803E5"
-					result     	"TSmsDCSBits7To4"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetBits7To4"
-					quid       	"3815E72001B3"
-					parameters 	(list Parameters
-					    (object Parameter "aBits7To4"
-						type       	"TSmsDCSBits7To4"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TextCompressed"
-					quid       	"381702E101FC"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTextCompressed"
-					quid       	"381702E10269"
-					parameters 	(list Parameters
-					    (object Parameter "aCompressed"
-						type       	"TBool"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Alphabet"
-					quid       	"381702E102D6"
-					result     	"TSmsAlphabet"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetAlphabet"
-					quid       	"381702E10344"
-					parameters 	(list Parameters
-					    (object Parameter "aAlphabet"
-						type       	"TSmsAlphabet"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Class"
-					quid       	"381702E103C1"
-					parameters 	(list Parameters
-					    (object Parameter "aClass"
-						type       	"TSmsClass&"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetClass"
-					quid       	"381702E20046"
-					parameters 	(list Parameters
-					    (object Parameter "aClassDefined"
-						type       	"TBool"
-						initv      	"default")
-					    (object Parameter "aClass"
-						type       	"const TSmsClass&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IndicationState"
-					quid       	"3817030E018E"
-					result     	"TSmsIndicationState"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetIndicationState"
-					quid       	"381703230111"
-					parameters 	(list Parameters
-					    (object Parameter "aState"
-						type       	"TSmsIndicationState"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IndicationType"
-					quid       	"3817036F00A4"
-					result     	"TSmsIndicationType"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetIndicationType"
-					quid       	"381703750056"
-					parameters 	(list Parameters
-					    (object Parameter "aType"
-						type       	"TSmsIndicationType"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsParameterIndicator"
-				quid       	"37710B1F0391"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"37710B300016"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"))
-				operations 	(list Operations
-				    (object Operation "Extension"
-					quid       	"3785FEA802DA"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetExtension"
-					quid       	"3785FED70338"
-					parameters 	(list Parameters
-					    (object Parameter "aExtension"
-						type       	"TBool"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UserDataPresent"
-					quid       	"3785FF250192"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetUserDataPresent"
-					quid       	"3785FF650192"
-					parameters 	(list Parameters
-					    (object Parameter "aUserDataPresent"
-						type       	"TBool"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DataCodingSchemePresent"
-					quid       	"3785FF8D001B"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetDataCodingSchemePresent"
-					quid       	"3785FF8D004A"
-					parameters 	(list Parameters
-					    (object Parameter "aDataCodingSchemePresent"
-						type       	"TBool"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ProtocolIdentifierPresent"
-					quid       	"3785FF8E004A"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetProtocolIdentifierPresent"
-					quid       	"3785FF8E0079"
-					parameters 	(list Parameters
-					    (object Parameter "aProtocolIdentifierPresent"
-						type       	"TBool"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsFailureCause"
-				quid       	"3772213901F1"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"37722153028D"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"))
-				operations 	(list Operations
-				    (object Operation "Error"
-					quid       	"378B12EA007D"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetError"
-					quid       	"378B12FC02BF"
-					parameters 	(list Parameters
-					    (object Parameter "aError"
-						type       	"TSmsFailureCauseError"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iIsPresent"
-					quid       	"378605AE0396"
-					type       	"TBool")))
-			    (object Class "TSmsCommandType"
-				quid       	"377384EB024D"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3773850601A1"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"))
-				operations 	(list Operations
-				    (object Operation "CommandType"
-					quid       	"3815E62F030A"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetCommandType"
-					quid       	"3815E63B00E7"
-					parameters 	(list Parameters
-					    (object Parameter "aType"
-						type       	"TSmsCommandTypeValue"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsCommandData"
-				quid       	"37836133029D"
-				operations 	(list Operations
-				    (object Operation "Data"
-					quid       	"38170A7903B1"
-					result     	"TPtrC8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetData"
-					quid       	"38170A9C01EC"
-					parameters 	(list Parameters
-					    (object Parameter "aData"
-						type       	"const TDesC8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"38170B3B0315"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"38170B3B0382"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"38170B3C00E2"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"38170B3C0150"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsStatus"
-				quid       	"37860A8E00B7"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"37860A990115"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"))
-				operations 	(list Operations
-				    (object Operation "Status"
-					quid       	"3815E55F0387"
-					result     	"TSmsStatusValue"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetStatus"
-					quid       	"3815E58B02FB"
-					parameters 	(list Parameters
-					    (object Parameter "aValue"
-						type       	"TSmsStatusValue"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsInformationElement"
-				quid       	"38171F60022B"
-				operations 	(list Operations
-				    (object Operation "Identifier"
-					quid       	"38171FAE0008"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Data"
-					quid       	"38171FB80363"
-					result     	"TPtr8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"381726B30085"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"381726B40075"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"381726B400E2"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"381726B4015F"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CEnhancedVoiceMailBoxInformation"
-				quid       	"433CFCEE0027"
-				exportControl 	"Protected"
-				operations 	(list Operations
-				    (object Operation "Type"
-					quid       	"433D0044029D"
-					result     	"TVoiceMailInfoType"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetProfile"
-					quid       	"433D00500378"
-					parameters 	(list Parameters
-					    (object Parameter "aProfile"
-						type       	"TSmsMessageProfileType"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Profile"
-					quid       	"433D011B0185"
-					result     	"TSmsMessageProfileType"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetStorage"
-					quid       	"433D01580260"
-					parameters 	(list Parameters
-					    (object Parameter "aIsStored"
-						type       	"TBool"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Store"
-					quid       	"433D019A03A9"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetAlmostMaximumCapacity"
-					quid       	"433D01B50186"
-					parameters 	(list Parameters
-					    (object Parameter "aIsAlmostFull"
-						type       	"TBool"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AlmostMaximumCapacity"
-					quid       	"433D01F0038A"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetMaximumCapacity"
-					quid       	"433D02110119"
-					parameters 	(list Parameters
-					    (object Parameter "aIsFull"
-						type       	"TBool"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MaximumCapacity"
-					quid       	"433D0251035C"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExtensionIndicator"
-					quid       	"433D026A0214"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetAccessAddressL"
-					quid       	"433D027E02EF"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"TDesC"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetParsedAccessAddressL"
-					quid       	"433D028E0253"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"TGsmSmsTelNumber"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AccessAddress"
-					quid       	"433D02C4039B"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ParsedAccessAddress"
-					quid       	"433D036200ED"
-					parameters 	(list Parameters
-					    (object Parameter "aParsedAddress"
-						type       	"TGsmSmsTelNumber"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetNumberOfVoiceMessages"
-					quid       	"433D037F034E"
-					parameters 	(list Parameters
-					    (object Parameter "aNumber"
-						type       	"TUint8"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NumberOfVoiceMessages"
-					quid       	"433D040E0090"
-					result     	"TUint8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NewL"
-					quid       	"433D045D0062"
-					result     	"CEnhancedVoiceMailBoxInformation*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CEnhancedVoiceMailBoxInformation"
-					quid       	"433D04810360"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iType"
-					quid       	"433CFE1003C2"
-					type       	"TVoiceMailInfoType"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iOctet1Bit1"
-					quid       	"433CFE240152"
-					type       	"TBool"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iProfile"
-					quid       	"433CFE2F01BF"
-					type       	"TSmsMessageProfileType"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iStorage"
-					quid       	"433CFE3600F4"
-					type       	"TBool"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iAlmostFull"
-					quid       	"433CFE3E000A"
-					type       	"TBool"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iFull"
-					quid       	"433CFE450346"
-					type       	"TBool"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iExtensionIndicator"
-					quid       	"433CFE4C025B"
-					type       	"TBool"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iAccessAddress"
-					quid       	"433CFE570142"
-					type       	"HBufC*"
-					exportControl 	"Protected")
-				    (object ClassAttribute "iNumberOfVoiceMessages"
-					quid       	"433CFE650019"
-					type       	"TGsmSmsTypeOfAddress"
-					exportControl 	"Protected")))
-			    (object Class "EnhancedVoiceMailNotification"
-				quid       	"433D0BD8004F"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"43463A9502A6"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CEnhancedVoiceMailBoxInformation"
-					quidu      	"433CFCEE0027"))
-				operations 	(list Operations
-				    (object Operation "NumberOfVoiceMails"
-					quid       	"433D0C1A038B"
-					result     	"TUint8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetVoiceMailNotifications"
-					quid       	"433D0C2D037C"
-					result     	"RPointerArray<CVoiceMailNotification>&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NewL"
-					quid       	"433D0C370214"
-					result     	"CEnhancedVoiceMailNotification*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CEnhancedVoiceMailNotification"
-					quid       	"433D0C3D0253"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"433D0C4E0149"
-					result     	"TUInt8*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"433D0C550188"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CEnhancedVoiceMailNotification"
-					quid       	"433D0C5C01B7"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "CEnhancedVoiceMailNotification"
-					quid       	"433D0C69012A"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "NewExtensionL"
-					quid       	"433D0C7F0011"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "ConstructL"
-					quid       	"433D0C8802C1"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iNumberOfVMNotifications"
-					quid       	"433D0C930292"
-					type       	"TUint")
-				    (object ClassAttribute "iExtensions"
-					quid       	"433D0CA00021"
-					type       	"HBufC*")
-				    (object ClassAttribute "iNotifications"
-					quid       	"433D0CA600CD"
-					type       	"RPointerArray<CVoiceMailNotification>*")))
-			    (object Class "CEnhancedVoiceMailDeleteConfirmations"
-				quid       	"433D107F0056"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"43463A9B0025"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CEnhancedVoiceMailBoxInformation"
-					quidu      	"433CFCEE0027"))
-				operations 	(list Operations
-				    (object Operation "NumberOfDeletes"
-					quid       	"433D10CB0028"
-					result     	"TUint8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetVoiceMailDeletions"
-					quid       	"433D10D803E1"
-					result     	"RPointerArray<CVoiceMailDeletion>&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NewL"
-					quid       	"433D111C0019"
-					result     	"CEnhancedVoiceMailDeleteConfirmations*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CEnhancedVoiceMailDeleteConfirmations"
-					quid       	"433D12480098"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodeL"
-					quid       	"433D12630153"
-					parameters 	(list Parameters
-					    (object Parameter "aPtr"
-						type       	"TUint8*")
-					    (object Parameter "aCharacterSetConverter"
-						type       	"CCnvCharacterSetConverter&")
-					    (object Parameter "aFs"
-						type       	"RFs&"))
-					result     	"TUint8*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeL"
-					quid       	"433D126D0173"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CEnhancedVoiceMailDeleteConfirmations"
-					quid       	"433D12C0000C"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "CEnhancedVoiceMailDeleteConfirmations"
-					quid       	"433D12D1029C"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "ConstructL"
-					quid       	"433D12F30339"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "NewExtensionL"
-					quid       	"433D12FB0126"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iExtension"
-					quid       	"433D144D01D4"
-					type       	"HBufC*")
-				    (object ClassAttribute "iVoiceMailDeletions"
-					quid       	"433D1473028F"
-					type       	"RPointerArray")))
-			    (object Association "iBody"
-				quid       	"35E3E213013F"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$248"
-					quid       	"35E3E2130323"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-					quidu      	"35E3DE9002B6"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$249"
-					quid       	"35E3E2130324"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::HBufC"
-					quidu      	"3770C6FF018D"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iDataCodingScheme"
-				quid       	"3784B7280366"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$250"
-					quid       	"3784B7290143"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-					quidu      	"35E3DE9002B6"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$251"
-					quid       	"3784B7290144"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-					quidu      	"377106660074"
-					is_navigable 	TRUE)))
-			    (object Association "iBuffer"
-				quid       	"3817112F00C3"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$252"
-					quid       	"3817112F0363"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress"
-					quidu      	"377104A3014F"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$253"
-					quid       	"3817112F0373"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::HBufC"
-					quidu      	"3770C6FF018D"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iTypeOfAddress"
-				quid       	"3817116B0298"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$254"
-					quid       	"3817116C01AE"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress"
-					quidu      	"377104A3014F"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$255"
-					quid       	"3817116C01BD"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iFirstOctet"
-				quid       	"38171E7D0140"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$256"
-					quid       	"38171E7D0288"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsValidityPeriod"
-					quidu      	"377105940064"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$257"
-					quid       	"38171E7D0298"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet"
-					quidu      	"3771060F0074"
-					is_navigable 	TRUE)))
-			    (object Association "iData"
-				quid       	"3817200B0363"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$258"
-					quid       	"3817200C019E"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsInformationElement"
-					quidu      	"38171F60022B"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$259"
-					quid       	"3817200C01AE"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::HBufC8"
-					quidu      	"35E3DEEE0381"
-					is_navigable 	TRUE)))
-			    (object Association "iIdentifier"
-				quid       	"381720DA0353"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$260"
-					quid       	"381720DB00D3"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsInformationElement"
-					quidu      	"38171F60022B"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$261"
-					quid       	"381720DB00E2"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet"
-					quidu      	"377105F80035"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$262"
-				quid       	"381720FA0065"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"381720FA022B"
-					label      	"1"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-					quidu      	"35E3DE9002B6"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..n"
-					quid       	"381720FA024A"
-					label      	"0..n"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsInformationElement"
-					quidu      	"38171F60022B"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$263"
-				quid       	"39CB71AC0003"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$264"
-					quid       	"39CB71AC02C0"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter"
-					quidu      	"39CB70B102FB"
-					Containment 	"By Reference"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$265"
-					quid       	"39CB71AC02CA"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData"
-					quidu      	"35E3DE9002B6"
-					Containment 	"By Reference"
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$266"
-				quid       	"39CB722700F1"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$267"
-					quid       	"39CB72280124"
-					supplier   	"Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme"
-					quidu      	"377106660074"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$268"
-					quid       	"39CB72280138"
-					supplier   	"Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter"
-					quidu      	"39CB70B102FB"))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"377104560026"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	9284
-				origin_y   	4613
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsCommandType" @1621
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(580, 3109)
-					label      	(object ItemLabel
-					    Parent_View 	@1621
-					    location   	(372, 3003)
-					    nlines     	1
-					    max_width  	416
-					    justify    	0
-					    label      	"TSmsCommandType")
-					icon_style 	"Icon"
-					quidu      	"377384EB024D"
-					compartment 	(object Compartment
-					    Parent_View 	@1621
-					    location   	(372, 3061)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	3
-					    max_width  	418)
-					width      	434
-					height     	236
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::HBufC8" @1622
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3291, 1597)
-					label      	(object ItemLabel
-					    Parent_View 	@1622
-					    location   	(3206, 1546)
-					    nlines     	1
-					    max_width  	170
-					    justify    	0
-					    label      	"HBufC8")
-					icon_style 	"Icon"
-					quidu      	"35E3DEEE0381"
-					width      	188
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsCommandData" @1623
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3291, 2000)
-					label      	(object ItemLabel
-					    Parent_View 	@1623
-					    location   	(3080, 1794)
-					    nlines     	1
-					    max_width  	422
-					    justify    	0
-					    label      	"CSmsCommandData")
-					icon_style 	"Icon"
-					quidu      	"37836133029D"
-					compartment 	(object Compartment
-					    Parent_View 	@1623
-					    location   	(3080, 1852)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	7
-					    max_width  	309)
-					width      	440
-					height     	436
-					annotation 	8)
-				    (object AssociationViewNew "iData" @1624
-					location   	(3291, 1720)
-					label      	(object SegLabel @1625
-					    Parent_View 	@1624
-					    location   	(3372, 1708)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iData"
-					    pctDist    	1.850000
-					    height     	12
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"378361650339"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$189" @1626
-						Parent_View 	@1624
-						location   	(1025, -87)
-						stereotype 	TRUE
-						quidu      	"3783616600BA"
-						client     	@1624
-						supplier   	@1622
-						line_style 	0)
-					    (object RoleView "$UNNAMED$188" @1627
-						Parent_View 	@1624
-						location   	(1025, -87)
-						stereotype 	TRUE
-						quidu      	"3783616600B9"
-						client     	@1624
-						supplier   	@1623
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFailureCause" @1628
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(312, 2395)
-					label      	(object ItemLabel
-					    Parent_View 	@1628
-					    location   	(124, 2264)
-					    nlines     	1
-					    max_width  	376
-					    justify    	0
-					    label      	"TSmsFailureCause")
-					icon_style 	"Icon"
-					quidu      	"3772213901F1"
-					compartment 	(object Compartment
-					    Parent_View 	@1628
-					    location   	(124, 2322)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	4
-					    max_width  	381)
-					width      	394
-					height     	286
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1629
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(324, 2026)
-					label      	(object ItemLabel
-					    Parent_View 	@1629
-					    location   	(162, 1975)
-					    nlines     	1
-					    max_width  	324
-					    justify    	0
-					    label      	"TSmsFirstOctet")
-					icon_style 	"Icon"
-					quidu      	"3771060F0074"
-					width      	342
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsServiceCenterTimeStamp" @1630
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(4330, 1250)
-					label      	(object ItemLabel
-					    Parent_View 	@1630
-					    location   	(3998, 944)
-					    nlines     	1
-					    max_width  	664
-					    justify    	0
-					    label      	"TSmsServiceCenterTimeStamp")
-					icon_style 	"Icon"
-					quidu      	"377105AC00A3"
-					compartment 	(object Compartment
-					    Parent_View 	@1630
-					    location   	(3998, 1002)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	11
-					    max_width  	671)
-					width      	682
-					height     	636
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsProtocolIdentifier" @1631
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1905, 2835)
-					label      	(object ItemLabel
-					    Parent_View 	@1631
-					    location   	(1604, 2529)
-					    nlines     	1
-					    max_width  	602
-					    justify    	0
-					    label      	"TSmsProtocolIdentifier")
-					icon_style 	"Icon"
-					quidu      	"3771063F02E5"
-					compartment 	(object Compartment
-					    Parent_View 	@1631
-					    location   	(1604, 2587)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	11
-					    max_width  	609)
-					width      	620
-					height     	636
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsParameterIndicator" @1632
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1199, 2957)
-					label      	(object ItemLabel
-					    Parent_View 	@1632
-					    location   	(879, 2701)
-					    nlines     	1
-					    max_width  	640
-					    justify    	0
-					    label      	"TSmsParameterIndicator")
-					icon_style 	"Icon"
-					quidu      	"37710B1F0391"
-					compartment 	(object Compartment
-					    Parent_View 	@1632
-					    location   	(879, 2759)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	9
-					    max_width  	646)
-					width      	658
-					height     	536
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsStatus" @1633
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(418, 2773)
-					label      	(object ItemLabel
-					    Parent_View 	@1633
-					    location   	(284, 2667)
-					    nlines     	1
-					    max_width  	268
-					    justify    	0
-					    label      	"TSmsStatus")
-					icon_style 	"Icon"
-					quidu      	"37860A8E00B7"
-					compartment 	(object Compartment
-					    Parent_View 	@1633
-					    location   	(284, 2725)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	3
-					    max_width  	265)
-					width      	286
-					height     	236
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet" @1634
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1012, 2023)
-					label      	(object ItemLabel
-					    Parent_View 	@1634
-					    location   	(853, 1842)
-					    nlines     	1
-					    max_width  	318
-					    justify    	0
-					    label      	"TSmsOctet")
-					icon_style 	"Icon"
-					quidu      	"377105F80035"
-					compartment 	(object Compartment
-					    Parent_View 	@1634
-					    location   	(853, 1900)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	6
-					    max_width  	325)
-					width      	336
-					height     	386
-					annotation 	8)
-				    (object InheritView "" @1635
-					stereotype 	TRUE
-					quidu      	"37710615017D"
-					client     	@1629
-					supplier   	@1634
-					line_style 	0)
-				    (object InheritView "" @1636
-					stereotype 	TRUE
-					quidu      	"37722153028D"
-					client     	@1628
-					supplier   	@1634
-					line_style 	0)
-				    (object InheritView "" @1637
-					stereotype 	TRUE
-					quidu      	"3773850601A1"
-					client     	@1621
-					supplier   	@1634
-					line_style 	0)
-				    (object InheritView "" @1638
-					stereotype 	TRUE
-					quidu      	"3771064D013F"
-					client     	@1631
-					supplier   	@1634
-					line_style 	0)
-				    (object InheritView "" @1639
-					stereotype 	TRUE
-					quidu      	"37710B300016"
-					client     	@1632
-					supplier   	@1634
-					line_style 	0)
-				    (object InheritView "" @1640
-					stereotype 	TRUE
-					quidu      	"37860A990115"
-					client     	@1633
-					supplier   	@1634
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::HBufC" @1641
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(242, 603)
-					label      	(object ItemLabel
-					    Parent_View 	@1641
-					    location   	(161, 552)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"HBufC")
-					icon_style 	"Icon"
-					quidu      	"3770C6FF018D"
-					height     	126)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsAddress" @1642
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(962, 394)
-					label      	(object ItemLabel
-					    Parent_View 	@1642
-					    location   	(669, 38)
-					    nlines     	1
-					    max_width  	586
-					    justify    	0
-					    label      	"CSmsAddress")
-					icon_style 	"Icon"
-					quidu      	"377104A3014F"
-					compartment 	(object Compartment
-					    Parent_View 	@1642
-					    location   	(669, 96)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	13
-					    max_width  	593)
-					width      	604
-					height     	736
-					annotation 	8)
-				    (object AssociationViewNew "iBuffer" @1643
-					location   	(495, 528)
-					label      	(object SegLabel @1644
-					    Parent_View 	@1643
-					    location   	(503, 542)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	120
-					    justify    	0
-					    label      	"iBuffer"
-					    pctDist    	0.650000
-					    height     	14
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"3817112F00C3"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$252" @1645
-						Parent_View 	@1643
-						location   	(-691, -715)
-						stereotype 	TRUE
-						quidu      	"3817112F0363"
-						client     	@1643
-						supplier   	@1642
-						line_style 	0)
-					    (object RoleView "$UNNAMED$253" @1646
-						Parent_View 	@1643
-						location   	(-691, -715)
-						stereotype 	TRUE
-						quidu      	"3817112F0373"
-						client     	@1643
-						supplier   	@1641
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet" @1647
-					location   	(240, 262)
-					label      	(object ItemLabel
-					    Parent_View 	@1647
-					    location   	(120, 211)
-					    nlines     	1
-					    max_width  	240
-					    justify    	0
-					    label      	"TSmsOctet")
-					icon_style 	"Icon"
-					quidu      	"377105F80035"
-					width      	258
-					height     	126
-					annotation 	8)
-				    (object AssociationViewNew "iTypeOfAddress" @1648
-					location   	(514, 311)
-					label      	(object SegLabel @1649
-					    Parent_View 	@1648
-					    location   	(466, 292)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	288
-					    justify    	0
-					    label      	"iTypeOfAddress"
-					    pctDist    	-0.300000
-					    height     	20
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"3817116B0298"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$254" @1650
-						Parent_View 	@1648
-						location   	(-483, -1368)
-						stereotype 	TRUE
-						quidu      	"3817116C01AE"
-						client     	@1648
-						supplier   	@1642
-						line_style 	0)
-					    (object RoleView "$UNNAMED$255" @1651
-						Parent_View 	@1648
-						location   	(-483, -1368)
-						stereotype 	TRUE
-						quidu      	"3817116C01BD"
-						client     	@1648
-						supplier   	@1647
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsValidityPeriod" @1652
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(4301, 387)
-					label      	(object ItemLabel
-					    Parent_View 	@1652
-					    location   	(3884, 81)
-					    nlines     	1
-					    max_width  	834
-					    justify    	0
-					    label      	"TSmsValidityPeriod")
-					icon_style 	"Icon"
-					quidu      	"377105940064"
-					compartment 	(object Compartment
-					    Parent_View 	@1652
-					    location   	(3884, 139)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	11
-					    max_width  	840)
-					width      	852
-					height     	636
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsFirstOctet" @1653
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(5225, 399)
-					label      	(object ItemLabel
-					    Parent_View 	@1653
-					    location   	(5063, 348)
-					    nlines     	1
-					    max_width  	324
-					    justify    	0
-					    label      	"TSmsFirstOctet")
-					icon_style 	"Icon"
-					quidu      	"3771060F0074"
-					width      	342
-					height     	126
-					annotation 	8)
-				    (object AssociationViewNew "iFirstOctet" @1654
-					location   	(4890, 394)
-					label      	(object SegLabel @1655
-					    Parent_View 	@1654
-					    location   	(4909, 406)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iFirstOctet"
-					    pctDist    	0.833333
-					    height     	12
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"38171E7D0140"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$256" @1656
-						Parent_View 	@1654
-						location   	(1205, 102)
-						stereotype 	TRUE
-						quidu      	"38171E7D0288"
-						client     	@1654
-						supplier   	@1652
-						line_style 	0)
-					    (object RoleView "$UNNAMED$257" @1657
-						Parent_View 	@1654
-						location   	(1205, 102)
-						stereotype 	TRUE
-						quidu      	"38171E7D0298"
-						client     	@1654
-						supplier   	@1653
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::HBufC" @1658
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1632, 1290)
-					label      	(object ItemLabel
-					    Parent_View 	@1658
-					    location   	(1551, 1239)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"HBufC")
-					icon_style 	"Icon"
-					quidu      	"3770C6FF018D"
-					height     	126)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1659
-					location   	(1562, 931)
-					label      	(object ItemLabel
-					    Parent_View 	@1659
-					    location   	(1315, 821)
-					    nlines     	1
-					    max_width  	495
-					    justify    	0
-					    label      	"TSmsDataCodingScheme")
-					icon_style 	"Icon"
-					quidu      	"377106660074"
-					width      	513
-					height     	244
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::HBufC8" @1660
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3478, 1418)
-					label      	(object ItemLabel
-					    Parent_View 	@1660
-					    location   	(3393, 1367)
-					    nlines     	1
-					    max_width  	170
-					    justify    	0
-					    label      	"HBufC8")
-					icon_style 	"Icon"
-					quidu      	"35E3DEEE0381"
-					width      	188
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsOctet" @1661
-					location   	(3059, 1418)
-					label      	(object ItemLabel
-					    Parent_View 	@1661
-					    location   	(2939, 1367)
-					    nlines     	1
-					    max_width  	240
-					    justify    	0
-					    label      	"TSmsOctet")
-					icon_style 	"Icon"
-					quidu      	"377105F80035"
-					width      	258
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsUserData" @1662
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2335, 1096)
-					label      	(object ItemLabel
-					    Parent_View 	@1662
-					    location   	(2065, 715)
-					    nlines     	1
-					    max_width  	540
-					    justify    	0
-					    label      	"CSmsUserData")
-					icon_style 	"Icon"
-					quidu      	"35E3DE9002B6"
-					compartment 	(object Compartment
-					    Parent_View 	@1662
-					    location   	(2065, 773)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	14
-					    max_width  	546)
-					width      	558
-					height     	786
-					annotation 	8)
-				    (object AssociationViewNew "iBody" @1663
-					location   	(1888, 1217)
-					label      	(object SegLabel @1664
-					    Parent_View 	@1663
-					    location   	(1910, 1235)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	108
-					    justify    	0
-					    label      	"iBody"
-					    pctDist    	0.883333
-					    height     	18
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"35E3E213013F"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$248" @1665
-						Parent_View 	@1663
-						location   	(76, -674)
-						stereotype 	TRUE
-						quidu      	"35E3E2130323"
-						client     	@1663
-						supplier   	@1662
-						line_style 	0)
-					    (object RoleView "$UNNAMED$249" @1666
-						Parent_View 	@1663
-						location   	(76, -674)
-						stereotype 	TRUE
-						quidu      	"35E3E2130324"
-						client     	@1663
-						supplier   	@1658
-						line_style 	0)))
-				    (object AssociationViewNew "iDataCodingScheme" @1667
-					location   	(1936, 1009)
-					label      	(object SegLabel @1668
-					    Parent_View 	@1667
-					    location   	(1858, 985)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iDataCodingScheme"
-					    pctDist    	-0.800000
-					    height     	25
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"3784B7280366"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$250" @1669
-						Parent_View 	@1667
-						location   	(53, -411)
-						stereotype 	TRUE
-						quidu      	"3784B7290143"
-						client     	@1667
-						supplier   	@1662
-						line_style 	0)
-					    (object RoleView "$UNNAMED$251" @1670
-						Parent_View 	@1667
-						location   	(53, -411)
-						stereotype 	TRUE
-						quidu      	"3784B7290144"
-						client     	@1667
-						supplier   	@1659
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CSmsInformationElement" @1671
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3190, 902)
-					label      	(object ItemLabel
-					    Parent_View 	@1671
-					    location   	(2941, 696)
-					    nlines     	1
-					    max_width  	498
-					    justify    	0
-					    label      	"CSmsInformationElement")
-					icon_style 	"Icon"
-					quidu      	"38171F60022B"
-					compartment 	(object Compartment
-					    Parent_View 	@1671
-					    location   	(2941, 754)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	7
-					    max_width  	309)
-					width      	516
-					height     	436
-					annotation 	8)
-				    (object AssociationViewNew "iData" @1672
-					location   	(3376, 1237)
-					label      	(object SegLabel @1673
-					    Parent_View 	@1672
-					    location   	(3408, 1241)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iData"
-					    pctDist    	1.050000
-					    height     	4
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"3817200B0363"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$258" @1674
-						Parent_View 	@1672
-						location   	(466, 58)
-						stereotype 	TRUE
-						quidu      	"3817200C019E"
-						client     	@1672
-						supplier   	@1671
-						line_style 	0)
-					    (object RoleView "$UNNAMED$259" @1675
-						Parent_View 	@1672
-						location   	(466, 58)
-						stereotype 	TRUE
-						quidu      	"3817200C01AE"
-						client     	@1672
-						supplier   	@1660
-						line_style 	0)))
-				    (object AssociationViewNew "iIdentifier" @1676
-					location   	(3103, 1237)
-					label      	(object SegLabel @1677
-					    Parent_View 	@1676
-					    location   	(3080, 1250)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iIdentifier"
-					    pctDist    	0.116667
-					    height     	13
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"381720DA0353"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$260" @1678
-						Parent_View 	@1676
-						location   	(728, 117)
-						stereotype 	TRUE
-						quidu      	"381720DB00D3"
-						client     	@1676
-						supplier   	@1671
-						line_style 	0)
-					    (object RoleView "$UNNAMED$261" @1679
-						Parent_View 	@1676
-						location   	(728, 117)
-						stereotype 	TRUE
-						quidu      	"381720DB00E2"
-						client     	@1676
-						supplier   	@1661
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$262" @1680
-					location   	(2772, 995)
-					stereotype 	TRUE
-					quidu      	"381720FA0065"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @1681
-						Parent_View 	@1680
-						location   	(210, 161)
-						label      	(object SegLabel @1682
-						    Parent_View 	@1681
-						    location   	(2637, 984)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"381720FA022B"
-						client     	@1680
-						supplier   	@1662
-						line_style 	0)
-					    (object RoleView "0..n" @1683
-						Parent_View 	@1680
-						location   	(210, 161)
-						label      	(object SegLabel @1684
-						    Parent_View 	@1683
-						    location   	(2857, 932)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..n"
-						    pctDist    	0.586950
-						    height     	44
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"381720FA024A"
-						client     	@1680
-						supplier   	@1671
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS UTILITIES::CSmsAlphabetConverter" @1685
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2588, 2063)
-					label      	(object ItemLabel
-					    Parent_View 	@1685
-					    location   	(2219, 1744)
-					    nlines     	1
-					    max_width  	738
-					    justify    	0
-					    label      	"CSmsAlphabetConverter")
-					icon_style 	"Icon"
-					line_color 	3342489
-					quidu      	"39CB70B102FB"
-					compartment 	(object Compartment
-					    Parent_View 	@1685
-					    location   	(2219, 1849)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	11
-					    max_width  	718)
-					width      	756
-					height     	662
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::TSmsDataCodingScheme" @1686
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1804, 2023)
-					label      	(object ItemLabel
-					    Parent_View 	@1686
-					    location   	(1554, 1667)
-					    nlines     	1
-					    max_width  	500
-					    justify    	0
-					    label      	"TSmsDataCodingScheme")
-					icon_style 	"Icon"
-					quidu      	"377106660074"
-					compartment 	(object Compartment
-					    Parent_View 	@1686
-					    location   	(1554, 1725)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	13
-					    max_width  	453)
-					width      	518
-					height     	736
-					annotation 	8)
-				    (object InheritView "" @1687
-					stereotype 	TRUE
-					quidu      	"3771068A02C6"
-					client     	@1686
-					supplier   	@1634
-					line_style 	0)
-				    (object UsesView "" @1688
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"39CB728902B4"
-					client     	@1662
-					supplier   	@1685
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CEnhancedVoiceMailBoxInformation" @1689
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(4312, 2472)
-					label      	(object ItemLabel
-					    Parent_View 	@1689
-					    location   	(3790, 1741)
-					    nlines     	1
-					    max_width  	1044
-					    justify    	0
-					    label      	"CEnhancedVoiceMailBoxInformation")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433CFCEE0027"
-					width      	1062
-					height     	1486
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::EnhancedVoiceMailNotification" @1690
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3694, 3774)
-					label      	(object ItemLabel
-					    Parent_View 	@1690
-					    location   	(3171, 3393)
-					    nlines     	1
-					    max_width  	1046
-					    justify    	0
-					    label      	"EnhancedVoiceMailNotification")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433D0BD8004F"
-					width      	1064
-					height     	786
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CEnhancedVoiceMailDeleteConfirmations" @1691
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(4862, 3750)
-					label      	(object ItemLabel
-					    Parent_View 	@1691
-					    location   	(4436, 3394)
-					    nlines     	1
-					    max_width  	852
-					    justify    	0
-					    label      	"CEnhancedVoiceMailDeleteConfirmations")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433D107F0056"
-					width      	870
-					height     	736
-					annotation 	8)
-				    (object InheritView "" @1692
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43463A9502A6"
-					client     	@1690
-					supplier   	@1689
-					line_style 	0)
-				    (object InheritView "" @1693
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43463A9B0025"
-					client     	@1691
-					supplier   	@1689
-					line_style 	0)))
-			    (object ClassDiagram "EnhancedVoiceMailInformation"
-				quid       	"43463ACF03A3"
-				title      	"EnhancedVoiceMailInformation"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	5094
-				origin_y   	8280
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CEnhancedVoiceMailBoxInformation" @1694
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2172, 2415)
-					label      	(object ItemLabel
-					    Parent_View 	@1694
-					    location   	(1650, 1684)
-					    nlines     	1
-					    max_width  	1044
-					    justify    	0
-					    label      	"CEnhancedVoiceMailBoxInformation")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433CFCEE0027"
-					compartment 	(object Compartment
-					    Parent_View 	@1694
-					    location   	(1650, 1745)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	28
-					    max_width  	1050)
-					width      	1062
-					height     	1486
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::EnhancedVoiceMailNotification" @1695
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1554, 3717)
-					label      	(object ItemLabel
-					    Parent_View 	@1695
-					    location   	(1031, 3336)
-					    nlines     	1
-					    max_width  	1046
-					    justify    	0
-					    label      	"EnhancedVoiceMailNotification")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433D0BD8004F"
-					compartment 	(object Compartment
-					    Parent_View 	@1695
-					    location   	(1031, 3397)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	14
-					    max_width  	1053)
-					width      	1064
-					height     	786
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS ELEMENTS::CEnhancedVoiceMailDeleteConfirmations" @1696
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2722, 3693)
-					label      	(object ItemLabel
-					    Parent_View 	@1696
-					    location   	(2296, 3337)
-					    nlines     	1
-					    max_width  	852
-					    justify    	0
-					    label      	"CEnhancedVoiceMailDeleteConfirmations")
-					icon_style 	"Icon"
-					fill_color 	16777215
-					quidu      	"433D107F0056"
-					compartment 	(object Compartment
-					    Parent_View 	@1696
-					    location   	(2296, 3398)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	13
-					    max_width  	859)
-					width      	870
-					height     	736
-					annotation 	8)
-				    (object InheritView "" @1697
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43463A9502A6"
-					client     	@1695
-					supplier   	@1694
-					line_style 	0)
-				    (object InheritView "" @1698
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43463A9B0025"
-					client     	@1696
-					supplier   	@1694
-					line_style 	0)))))
-		    (object Class_Category "SMS BUFFER"
-			quid       	"378F21120251"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsBufferBase"
-				quid       	"378F211E01D4"
-				operations 	(list Operations
-				    (object Operation "pv Length"
-					quid       	"378F2159001F"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv Extract"
-					quid       	"378F21BB01D4"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"TDes&"
-						initv      	"default")
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv InsertL"
-					quid       	"378F22350167"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aDes"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv DeleteL"
-					quid       	"37958CAA02BC"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv Reset"
-					quid       	"378F27CE0167"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"378F23CF0196"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"378F24410157"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsEditorBuffer"
-				quid       	"378F2466009C"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"378F24900186"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"))
-				operations 	(list Operations
-				    (object Operation "Length"
-					quid       	"378F2504009C"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Extract"
-					quid       	"378F250400DA"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"TDes&"
-						initv      	"default")
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InsertL"
-					quid       	"378F25040109"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aDes"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteL"
-					quid       	"37958D100164"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Reset"
-					quid       	"37958D1202CB"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsBuffer"
-				quid       	"378F2399000F"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"378F23A601F4"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"))
-				operations 	(list Operations
-				    (object Operation "Length"
-					quid       	"378F23AE01D4"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Extract"
-					quid       	"378F23AE0203"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"TDes&"
-						initv      	"default")
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InsertL"
-					quid       	"378F23AE0232"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aDes"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteL"
-					quid       	"37958CFB0200"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Reset"
-					quid       	"37958D0700B8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CEditableText"
-				quid       	"35E3E394016E")
-			    (object Class "CArrayFixSeg<TUint16>"
-				quid       	"378F2F880222")
-			    (object Class "CSmsCompressedBuffer"
-				quid       	"37AA99CE027C"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"37AA99E501E0"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"))
-				operations 	(list Operations
-				    (object Operation "Length"
-					quid       	"37AA99F60357"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Extract"
-					quid       	"37AA99F7005A"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"TDes&"
-						initv      	"default")
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InsertL"
-					quid       	"37AA99F70144"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aDes"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteL"
-					quid       	"37AA99F7022E"
-					parameters 	(list Parameters
-					    (object Parameter "aPos"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aLength"
-						type       	"TInt"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Reset"
-					quid       	"37AA99F70319"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CompressL"
-					quid       	"37AA9A05022E"
-					parameters 	(list Parameters
-					    (object Parameter "aBuffer"
-						type       	"const CSmsBufferBase&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecompressL"
-					quid       	"37AA9A2E01C1"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Association "$UNNAMED$269"
-				quid       	"378F2FB20399"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$270"
-					quid       	"378F2FB30177"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer"
-					quidu      	"378F2399000F"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$271"
-					quid       	"378F2FB30178"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CArrayFixSeg<TUint16>"
-					quidu      	"378F2F880222"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$272"
-				quid       	"37AA9AA600C7"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$273"
-					quid       	"37AA9AA6029C"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsCompressedBuffer"
-					quidu      	"37AA99CE027C"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$274"
-					quid       	"37AA9AA6029D"
-					supplier   	"Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase"
-					quidu      	"37AA9AA20154"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$275"
-				quid       	"37AA9BFA02CB"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$276"
-					quid       	"37AA9BFB01A2"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsCompressedBuffer"
-					quidu      	"37AA99CE027C"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$277"
-					quid       	"37AA9BFB01A3"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase"
-					quidu      	"378F211E01D4"
-					is_navigable 	TRUE)))
-			    (object Association "iBuf"
-				quid       	"3819D4E4014F"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$278"
-					quid       	"3819D4E40362"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsCompressedBuffer"
-					quidu      	"37AA99CE027C"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$279"
-					quid       	"3819D4E40363"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CBufSeg"
-					quidu      	"3773A21400F5"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iBody"
-				quid       	"3819D5CC00D2"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$280"
-					quid       	"3819D5CC0353"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsEditorBuffer"
-					quidu      	"378F2466009C"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$281"
-					quid       	"3819D5CC0362"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CEditableText"
-					quidu      	"35E3E394016E"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"378F211C01D4"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	444
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer" @1699
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(281, 1258)
-					label      	(object ItemLabel
-					    Parent_View 	@1699
-					    location   	(158, 1077)
-					    nlines     	1
-					    max_width  	246
-					    justify    	0
-					    label      	"CSmsBuffer")
-					icon_style 	"Icon"
-					quidu      	"378F2399000F"
-					width      	264
-					height     	386)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CArrayFixSeg<TUint16>" @1700
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(279, 1924)
-					label      	(object ItemLabel
-					    Parent_View 	@1700
-					    location   	(38, 1873)
-					    nlines     	1
-					    max_width  	482
-					    justify    	0
-					    label      	"CArrayFixSeg<TUint16>")
-					icon_style 	"Icon"
-					quidu      	"378F2F880222"
-					width      	500
-					height     	126
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$269" @1701
-					location   	(279, 1655)
-					stereotype 	TRUE
-					quidu      	"378F2FB20399"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$270" @1702
-						Parent_View 	@1701
-						location   	(-180, 90)
-						stereotype 	TRUE
-						quidu      	"378F2FB30177"
-						client     	@1701
-						supplier   	@1699
-						line_style 	0)
-					    (object RoleView "$UNNAMED$271" @1703
-						Parent_View 	@1701
-						location   	(-180, 90)
-						stereotype 	TRUE
-						quidu      	"378F2FB30178"
-						client     	@1701
-						supplier   	@1700
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase" @1704
-					IncludeAttribute 	TRUE
-					location   	(903, 1933)
-					label      	(object ItemLabel
-					    Parent_View 	@1704
-					    location   	(663, 1882)
-					    nlines     	1
-					    max_width  	480
-					    justify    	0
-					    label      	"CGsmCompressionBase")
-					icon_style 	"Icon"
-					quidu      	"37AA9AA20154"
-					width      	498
-					height     	126)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsBufferBase" @1705
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(728, 565)
-					label      	(object ItemLabel
-					    Parent_View 	@1705
-					    location   	(558, 334)
-					    nlines     	1
-					    max_width  	340
-					    justify    	0
-					    label      	"CSmsBufferBase")
-					icon_style 	"Icon"
-					quidu      	"378F211E01D4"
-					width      	358
-					height     	486)
-				    (object InheritView "" @1706
-					stereotype 	TRUE
-					quidu      	"378F23A601F4"
-					client     	@1699
-					supplier   	@1705
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsCompressedBuffer" @1707
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(906, 1265)
-					label      	(object ItemLabel
-					    Parent_View 	@1707
-					    location   	(664, 1034)
-					    nlines     	1
-					    max_width  	484
-					    justify    	0
-					    label      	"CSmsCompressedBuffer")
-					icon_style 	"Icon"
-					quidu      	"37AA99CE027C"
-					width      	502
-					height     	486)
-				    (object AssociationViewNew "$UNNAMED$272" @1708
-					location   	(903, 1688)
-					stereotype 	TRUE
-					quidu      	"37AA9AA600C7"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$273" @1709
-						Parent_View 	@1708
-						location   	(38, -239)
-						stereotype 	TRUE
-						quidu      	"37AA9AA6029C"
-						client     	@1708
-						supplier   	@1707
-						line_style 	0)
-					    (object RoleView "$UNNAMED$274" @1710
-						Parent_View 	@1708
-						location   	(38, -239)
-						stereotype 	TRUE
-						quidu      	"37AA9AA6029D"
-						client     	@1708
-						supplier   	@1704
-						line_style 	0)))
-				    (object InheritView "" @1711
-					stereotype 	TRUE
-					quidu      	"37AA99E501E0"
-					client     	@1707
-					supplier   	@1705
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$275" @1712
-					location   	(941, 878)
-					stereotype 	TRUE
-					quidu      	"37AA9BFA02CB"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$276" @1713
-						Parent_View 	@1712
-						location   	(213, 354)
-						stereotype 	TRUE
-						quidu      	"37AA9BFB01A2"
-						client     	@1712
-						supplier   	@1707
-						vertices   	(list Points
-						    (941, 878)
-						    (975, 928)
-						    (954, 1021))
-						line_style 	0)
-					    (object RoleView "$UNNAMED$277" @1714
-						Parent_View 	@1712
-						location   	(213, 354)
-						stereotype 	TRUE
-						quidu      	"37AA9BFB01A3"
-						client     	@1712
-						supplier   	@1705
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CBufSeg" @1715
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1387, 1921)
-					label      	(object ItemLabel
-					    Parent_View 	@1715
-					    location   	(1286, 1870)
-					    nlines     	1
-					    max_width  	202
-					    justify    	0
-					    label      	"CBufSeg")
-					icon_style 	"Icon"
-					quidu      	"3773A21400F5"
-					width      	220
-					height     	126)
-				    (object AssociationViewNew "iBuf" @1716
-					location   	(1212, 1682)
-					label      	(object SegLabel @1717
-					    Parent_View 	@1716
-					    location   	(1240, 1670)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iBuf"
-					    pctDist    	0.966667
-					    height     	13
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"3819D4E4014F"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$278" @1718
-						Parent_View 	@1716
-						location   	(-199, -264)
-						stereotype 	TRUE
-						quidu      	"3819D4E40362"
-						client     	@1716
-						supplier   	@1707
-						line_style 	0)
-					    (object RoleView "$UNNAMED$279" @1719
-						Parent_View 	@1716
-						location   	(-199, -264)
-						stereotype 	TRUE
-						quidu      	"3819D4E40363"
-						client     	@1716
-						supplier   	@1715
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsEditorBuffer" @1720
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1765, 1261)
-					label      	(object ItemLabel
-					    Parent_View 	@1720
-					    location   	(1588, 1080)
-					    nlines     	1
-					    max_width  	354
-					    justify    	0
-					    label      	"CSmsEditorBuffer")
-					icon_style 	"Icon"
-					quidu      	"378F2466009C"
-					width      	372
-					height     	386)
-				    (object InheritView "" @1721
-					stereotype 	TRUE
-					quidu      	"378F24900186"
-					client     	@1720
-					supplier   	@1705
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CEditableText" @1722
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1762, 1899)
-					label      	(object ItemLabel
-					    Parent_View 	@1722
-					    location   	(1619, 1848)
-					    nlines     	1
-					    max_width  	286
-					    justify    	0
-					    label      	"CEditableText")
-					icon_style 	"Icon"
-					quidu      	"35E3E394016E"
-					width      	304
-					height     	126
-					annotation 	8)
-				    (object AssociationViewNew "iBody" @1723
-					location   	(1762, 1644)
-					label      	(object SegLabel @1724
-					    Parent_View 	@1723
-					    location   	(1762, 1654)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iBody"
-					    pctDist    	0.500000
-					    height     	10
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"3819D5CC00D2"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$280" @1725
-						Parent_View 	@1723
-						location   	(0, -255)
-						stereotype 	TRUE
-						quidu      	"3819D5CC0353"
-						client     	@1723
-						supplier   	@1720
-						line_style 	0)
-					    (object RoleView "$UNNAMED$281" @1726
-						Parent_View 	@1723
-						location   	(0, -255)
-						stereotype 	TRUE
-						quidu      	"3819D5CC0362"
-						client     	@1723
-						supplier   	@1722
-						line_style 	0)))))))
-		    (object Class_Category "SMS COMPRESSION"
-			quid       	"3819C5C90017"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CGsmCompressionBase"
-				quid       	"37AA9AA20154"
-				operations 	(list Operations
-				    (object Operation "pv CompressL()"
-					quid       	"37AA9CDA0115"
-					parameters 	(list Parameters
-					    (object Parameter "aSource"
-						type       	"const CSmsBufferBase&"
-						initv      	"default")
-					    (object Parameter "aDestination"
-						type       	"CBufSeg&"
-						initv      	"default")
-					    (object Parameter "aSettings"
-						type       	"const TGsmCompressionSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv DecompressL()"
-					quid       	"37AA9D5B03C5"
-					parameters 	(list Parameters
-					    (object Parameter "aSource"
-						type       	"const CBufSeg&"
-						initv      	"default")
-					    (object Parameter "aDestination"
-						type       	"CSmsBufferBase&"
-						initv      	"default")
-					    (object Parameter "aSettings"
-						type       	"TGsmCompressionSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv SettingsSupported"
-					quid       	"3819C8E900A3"
-					parameters 	(list Parameters
-					    (object Parameter "aSettings"
-						type       	"const TGsmCompressionSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv CharacterSupportedL"
-					quid       	"3819C8F80017"
-					parameters 	(list Parameters
-					    (object Parameter "aChar"
-						type       	"TChar"
-						initv      	"default")
-					    (object Parameter "aSettings"
-						type       	"const TGsmCompressionSettings&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TGsmCompressionSettings"
-				quid       	"3819C5ED01FB"
-				operations 	(list Operations
-				    (object Operation "CurrentLanguageContext"
-					quid       	"3819C6A903B1"
-					result     	"TGsmLanguage"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetCurrentLanguageContext"
-					quid       	"3819C6BA0391"
-					parameters 	(list Parameters
-					    (object Parameter "aLanguage"
-						type       	"TGsmLanguage"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CharacterSet"
-					quid       	"3819C6DE0362"
-					parameters 	(list Parameters
-					    (object Parameter "aCharacterSet"
-						type       	"TGsmCharacterSet"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetCharacterSet"
-					quid       	"3819C71202F5"
-					parameters 	(list Parameters
-					    (object Parameter "aChange"
-						type       	"TBool"
-						initv      	"default")
-					    (object Parameter "aCharacterSet"
-						type       	"TGsmCharacterSet"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PunctuatorID"
-					quid       	"3819C73D02B7"
-					parameters 	(list Parameters
-					    (object Parameter "aID"
-						type       	"TInt&"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetPunctuatorID"
-					quid       	"3819C76B03DF"
-					parameters 	(list Parameters
-					    (object Parameter "aChange"
-						type       	"TBool"
-						initv      	"default")
-					    (object Parameter "aID"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CharacterGroupID"
-					quid       	"3819C7A60017"
-					parameters 	(list Parameters
-					    (object Parameter "aID"
-						type       	"TInt&"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetCharacterGroupID"
-					quid       	"3819C7A600A3"
-					parameters 	(list Parameters
-					    (object Parameter "aChange"
-						type       	"TBool"
-						initv      	"default")
-					    (object Parameter "aID"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "KeywordDictionaryID"
-					quid       	"3819C7A80046"
-					parameters 	(list Parameters
-					    (object Parameter "aID"
-						type       	"TInt&"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetKeywordDictionaryID"
-					quid       	"3819C7A800C3"
-					parameters 	(list Parameters
-					    (object Parameter "aChange"
-						type       	"TBool"
-						initv      	"default")
-					    (object Parameter "aID"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "HuffmanInitializationID"
-					quid       	"3819C7A802D6"
-					parameters 	(list Parameters
-					    (object Parameter "aID"
-						type       	"TInt&"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetHuffmanInitializationID"
-					quid       	"3819C7A80353"
-					parameters 	(list Parameters
-					    (object Parameter "aChange"
-						type       	"TBool"
-						initv      	"default")
-					    (object Parameter "aID"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"38B2C5DF0172"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"38B2C5DF0181"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iCurrentLanguageContext"
-					quid       	"3819C62700C3"
-					type       	"TGsmLanguage")
-				    (object ClassAttribute "iFlags"
-					quid       	"3819C63C00C3"
-					type       	"TInt")
-				    (object ClassAttribute "iCharacterSet"
-					quid       	"3819C6540007"
-					type       	"TGsmCharacterSet")
-				    (object ClassAttribute "iPunctuatorID"
-					quid       	"3819C66201BD"
-					type       	"TInt")
-				    (object ClassAttribute "iKeywordDictionaryID"
-					quid       	"3819C663019D"
-					type       	"TInt")
-				    (object ClassAttribute "iCharacterGroupID"
-					quid       	"3819C6640120"
-					type       	"TInt")
-				    (object ClassAttribute "iHuffmanInitializationID"
-					quid       	"3819C668016E"
-					type       	"TInt")))
-			    (object Association "$UNNAMED$282"
-				quid       	"3819C8210026"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$283"
-					quid       	"3819C821018E"
-					supplier   	"Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase"
-					quidu      	"37AA9AA20154"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$284"
-					quid       	"3819C821018F"
-					supplier   	"Logical View::GSM UTILS::SMS COMPRESSION::TGsmCompressionSettings"
-					quidu      	"3819C5ED01FB"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"3819C5DF03DF"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS COMPRESSION::CGsmCompressionBase" @1727
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1021, 1546)
-					label      	(object ItemLabel
-					    Parent_View 	@1727
-					    location   	(781, 1390)
-					    nlines     	1
-					    max_width  	480
-					    justify    	0
-					    label      	"CGsmCompressionBase")
-					icon_style 	"Icon"
-					quidu      	"37AA9AA20154"
-					width      	498
-					height     	336)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS COMPRESSION::TGsmCompressionSettings" @1728
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1012, 656)
-					label      	(object ItemLabel
-					    Parent_View 	@1728
-					    location   	(593, 81)
-					    nlines     	1
-					    max_width  	838
-					    justify    	0
-					    label      	"TGsmCompressionSettings")
-					icon_style 	"Icon"
-					quidu      	"3819C5ED01FB"
-					width      	856
-					height     	1174)
-				    (object AssociationViewNew "$UNNAMED$282" @1729
-					location   	(1017, 1310)
-					stereotype 	TRUE
-					quidu      	"3819C8210026"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$283" @1730
-						Parent_View 	@1729
-						location   	(8, 698)
-						stereotype 	TRUE
-						quidu      	"3819C821018E"
-						client     	@1729
-						supplier   	@1727
-						line_style 	0)
-					    (object RoleView "$UNNAMED$284" @1731
-						Parent_View 	@1729
-						location   	(8, 698)
-						stereotype 	TRUE
-						quidu      	"3819C821018F"
-						client     	@1729
-						supplier   	@1728
-						line_style 	0)))))))
-		    (object Class_Category "SAR STORE"
-			quid       	"381D7C1F031C"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "TSAREntry"
-				quid       	"375BCD210348"
-				operations 	(list Operations
-				    (object Operation "Reference"
-					quid       	"381D8371001E"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetReference"
-					quid       	"381D83840241"
-					parameters 	(list Parameters
-					    (object Parameter "aReference"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Total"
-					quid       	"381D83AB00CA"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTotal"
-					quid       	"381D83B7033B"
-					parameters 	(list Parameters
-					    (object Parameter "aTotal"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Count"
-					quid       	"381D83D00176"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetCount"
-					quid       	"381D83DD008C"
-					parameters 	(list Parameters
-					    (object Parameter "aCount"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsComplete"
-					quid       	"381D840D0137"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Data1"
-					quid       	"381D84260212"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetData1"
-					quid       	"381D843101C4"
-					parameters 	(list Parameters
-					    (object Parameter "aData"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Data2"
-					quid       	"381D845C00AB"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetData2"
-					quid       	"381D845C0166"
-					parameters 	(list Parameters
-					    (object Parameter "aData"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Data3"
-					quid       	"381D845D00F9"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetData3"
-					quid       	"381D845D0186"
-					parameters 	(list Parameters
-					    (object Parameter "aData"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Data4"
-					quid       	"381D845E000F"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetData4"
-					quid       	"381D845E009B"
-					parameters 	(list Parameters
-					    (object Parameter "aData"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Description1"
-					quid       	"381D8490004D"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetDescription1"
-					quid       	"381D84A600DA"
-					parameters 	(list Parameters
-					    (object Parameter "aDescription"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Description2"
-					quid       	"381D8511000F"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetDescription2"
-					quid       	"381D851100BA"
-					parameters 	(list Parameters
-					    (object Parameter "aDescription"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DataStreamId"
-					quid       	"381D853300CA"
-					result     	"TStreamId"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetDataStreamId"
-					quid       	"381D854B02FD"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"381D857503C8"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"381D8576006C"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iReference"
-					quid       	"3785EBAB01FF"
-					type       	"TInt")
-				    (object ClassAttribute "iTotal"
-					quid       	"3785EBAB0200"
-					type       	"TInt")
-				    (object ClassAttribute "iCount"
-					quid       	"3785EBAB020F"
-					type       	"TInt")
-				    (object ClassAttribute "iData1"
-					quid       	"381D82ED02CE"
-					type       	"TInt")
-				    (object ClassAttribute "iData2"
-					quid       	"381D82FF00AB"
-					type       	"TInt")
-				    (object ClassAttribute "iData3"
-					quid       	"381D82FF035A"
-					type       	"TInt")
-				    (object ClassAttribute "iData4"
-					quid       	"381D830000BA"
-					type       	"TInt")
-				    (object ClassAttribute "iDescription1"
-					quid       	"381D8317034B"
-					type       	"TBuf<32>")
-				    (object ClassAttribute "iDescription2"
-					quid       	"381D83180260"
-					type       	"TBuf<32>")
-				    (object ClassAttribute "iTime"
-					quid       	"381D8339000F"
-					type       	"TTime")
-				    (object ClassAttribute "iDataStreamId"
-					quid       	"381D8339002E"
-					type       	"TStreamId")
-				    (object ClassAttribute "iFlags"
-					quid       	"381D8339004D"
-					type       	"TInt")))
-			    (object Class "CSARStore"
-				quid       	"375BD0900089"
-				operations 	(list Operations
-				    (object Operation "OpenL"
-					quid       	"37A0129F00AD"
-					parameters 	(list Parameters
-					    (object Parameter "aFullName"
-						type       	"const TDesC&"
-						initv      	"default")
-					    (object Parameter "aThirdUid"
-						type       	"TUid"
-						initv      	"default"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Close"
-					quid       	"37A012CE008D"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Entries"
-					quid       	"37A012DD00FB"
-					result     	"CArrayFix<TSAREntry>&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PurgeL"
-					quid       	"37A012DD01E5"
-					parameters 	(list Parameters
-					    (object Parameter "aTimeIntervalMinutes"
-						type       	"TTimeIntervalMinutes&"
-						initv      	"default")
-					    (object Parameter "aPurgeIncompleteOnly"
-						type       	"TBool"
-						initv      	"default"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteEntryL"
-					quid       	"37A012DD02DF"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt"
-						initv      	"default"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "FileStore"
-					quid       	"381D869201B4"
-					result     	"CFileStore&"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "AddEntryL"
-					quid       	"381D86B50212"
-					parameters 	(list Parameters
-					    (object Parameter "aEntry"
-						type       	"const TSAREntry&"
-						initv      	"default"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "ChangeEntryL"
-					quid       	"381D86F70399"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aNewEntry"
-						type       	"const TSAREntry&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "ExtraStreamId"
-					quid       	"3A642C5400B9"
-					result     	"TStreamId"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "SetExtraStreamId"
-					quid       	"3A642C8703DD"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "DoOpenL"
-					quid       	"3A642DCF00E6"
-					parameters 	(list Parameters
-					    (object Parameter "aFullName"
-						type       	"const TDesC&")
-					    (object Parameter "aThirdUid"
-						type       	"TUid"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "DoDeleteEntry"
-					quid       	"3A642E2001E7"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TIndex"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "InternalizeEntryArrayL"
-					quid       	"3A642E63023D"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "ExternalizeEntryArrayL"
-					quid       	"3A642E9C02E9"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "DoExternalizeEntryArrayL"
-					quid       	"3A642ED203A5"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iExtraStreamId"
-					quid       	"38B2C4340172"
-					type       	"TStreamId")
-				    (object ClassAttribute "iCommitCount"
-					quid       	"38B2C44800B6"
-					type       	"TInt")
-				    (object ClassAttribute "iEntryArray"
-					quid       	"3A642D3F01F7"
-					type       	"CArrayFixFlat<TSAREntry>")
-				    (object ClassAttribute "iFileStore"
-					quid       	"3A642D7903BD"
-					type       	"CFileStore*")
-				    (object ClassAttribute "iFs"
-					quid       	"3A642DA2013B"
-					type       	"RFs&")))
-			    (object Class "CPermanentFileStore"
-				quid       	"3770C5920287")
-			    (object Association "iFileStore"
-				quid       	"381D87C40241"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$285"
-					quid       	"381D87C40242"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CPermanentFileStore"
-					quidu      	"3770C5920287"
-					Containment 	"By Value"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$286"
-					quid       	"381D87C40243"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CSARStore"
-					quidu      	"375BD0900089"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"381D7C4900F9"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::TSAREntry" @1732
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(387, 1071)
-					label      	(object ItemLabel
-					    Parent_View 	@1732
-					    location   	(127, 136)
-					    nlines     	1
-					    max_width  	520
-					    justify    	0
-					    label      	"TSAREntry")
-					icon_style 	"Icon"
-					quidu      	"375BCD210348"
-					width      	538
-					height     	1894)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::CPermanentFileStore" @1733
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1518, 206)
-					label      	(object ItemLabel
-					    Parent_View 	@1733
-					    location   	(1304, 155)
-					    nlines     	1
-					    max_width  	428
-					    justify    	0
-					    label      	"CPermanentFileStore")
-					icon_style 	"Icon"
-					quidu      	"3770C5920287"
-					width      	446
-					height     	126)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::CSARStore" @1734
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1531, 1068)
-					label      	(object ItemLabel
-					    Parent_View 	@1734
-					    location   	(1109, 518)
-					    nlines     	1
-					    max_width  	844
-					    justify    	0
-					    label      	"CSARStore")
-					icon_style 	"Icon"
-					quidu      	"375BD0900089"
-					width      	862
-					height     	1124)
-				    (object AssociationViewNew "iEntryArray" @1735
-					location   	(877, 1069)
-					label      	(object SegLabel @1736
-					    Parent_View 	@1735
-					    location   	(866, 1144)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iEntryArray"
-					    pctDist    	0.316667
-					    height     	75
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"375BD0A903A6"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @1737
-						Parent_View 	@1735
-						location   	(-588, -255)
-						label      	(object SegLabel @1738
-						    Parent_View 	@1737
-						    location   	(1054, 1027)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"375BD0AA01E1"
-						client     	@1735
-						supplier   	@1734
-						line_style 	0)
-					    (object RoleView "0..n" @1739
-						Parent_View 	@1735
-						location   	(-588, -255)
-						label      	(object SegLabel @1740
-						    Parent_View 	@1739
-						    location   	(700, 1029)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"375BD0AA01E2"
-						client     	@1735
-						supplier   	@1732
-						line_style 	0)))
-				    (object AssociationViewNew "iFileStore" @1741
-					location   	(1519, 387)
-					label      	(object SegLabel @1742
-					    Parent_View 	@1741
-					    location   	(1394, 391)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iFileStore"
-					    pctDist    	-1.583333
-					    height     	4
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"381D87C40241"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$285" @1743
-						Parent_View 	@1741
-						location   	(663, 44)
-						stereotype 	TRUE
-						quidu      	"381D87C40242"
-						client     	@1741
-						supplier   	@1733
-						line_style 	0)
-					    (object RoleView "$UNNAMED$286" @1744
-						Parent_View 	@1741
-						location   	(663, 44)
-						stereotype 	TRUE
-						quidu      	"381D87C40243"
-						client     	@1741
-						supplier   	@1734
-						line_style 	0)))))))
-		    (object Class_Category "CSmsOperations"
-			quid       	"4338134B0138"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsIEOperation"
-				quid       	"433813E602D0"
-				operations 	(list Operations
-				    (object Operation "NewL"
-					quid       	"4338143E005F"
-					result     	"CSmsIEOperation*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Id"
-					quid       	"433814550030"
-					result     	"CSmsInformationElement::TSmsInformationElementIdentifier"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CSmsIEOperation"
-					quid       	"4338147800BD"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageTypeSupported"
-					quid       	"433814900205"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "ValidateOperationL"
-					quid       	"433814A1014A"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "ConstructL"
-					quid       	"433814AD038C"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "CSmsIEOperation"
-					quid       	"433814C5036D"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator="
-					quid       	"433814D203DB"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator=="
-					quid       	"433814E30031"
-					result     	"bool"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iId"
-					quid       	"43381504013B")
-				    (object ClassAttribute "iMessage"
-					quid       	"433815260264")))
-			    (object Class "CSmsCtrlOperation"
-				quid       	"433815570042"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"43462B6001C0"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsIEOperation"
-					quidu      	"433813E602D0"))
-				operations 	(list Operations
-				    (object Operation "CSmsCtrlOperation"
-					quid       	"433816370350"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CSmsCtrlOperation"
-					quid       	"43381651038F"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "operator="
-					quid       	"4338165F02D4"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator=="
-					quid       	"433816680312"
-					result     	"bool"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)))
-			    (object Class "CSmsHyperLinkOperations"
-				quid       	"4338158502E2"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"43462B7501A0"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsCtrlOperation"
-					quidu      	"433815570042"))
-				operations 	(list Operations
-				    (object Operation "AddHyperLink"
-					quid       	"4338169200C1"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NumberOfHyperLinksL"
-					quid       	"433816A2016D"
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CopyHyperLinkAtIndexL"
-					quid       	"433816B003AF"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveAllHyperLinksL"
-					quid       	"433816C10361"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveHyperLinkL"
-					quid       	"433816CB00E0"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CSmsHyperLinkOperations"
-					quid       	"433816D401BB"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CSmsHyperLinkOperations"
-					quid       	"433816E30044"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ValidateOperationL()"
-					quid       	"433816F602D5"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator="
-					quid       	"433817020380"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator=="
-					quid       	"4338170A01FA"
-					result     	"bool"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)))
-			    (object Class "CSmsSpecialSMSMessageOperations"
-				quid       	"433815AE0004"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"43462B7901FE"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsCtrlOperation"
-					quidu      	"433815570042"))
-				operations 	(list Operations
-				    (object Operation "GetCountOfSpecialMessageIndicationsL"
-					quid       	"4338174E0362"
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveSpecialMessageIndicationL"
-					quid       	"4338176B013F"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveAllSpecialMessageIndications"
-					quid       	"4338177D0026"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CSmsSpecialSMSMessageOperations"
-					quid       	"4338178A00C2"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ValidateOperationL"
-					quid       	"4338179B0093"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator="
-					quid       	"433817A300F1"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator=="
-					quid       	"433817AB02B6"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "AddSpecialMessageIndicationL"
-					quid       	"4338181800E2"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetMessageIndicationIEL"
-					quid       	"433934E402AA"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CSmsSpecialSMSMessageOperations"
-					quid       	"4339356A0172"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsReplyAddressOperations"
-				quid       	"433815C50246"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"43462B70027B"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsCtrlOperation"
-					quidu      	"433815570042"))
-				operations 	(list Operations
-				    (object Operation "AddReplyAddressL"
-					quid       	"433819410142"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddParsedReplyAddressL"
-					quid       	"4338194F0190"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ContainsReplyAddressIEL"
-					quid       	"4338196102D8"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetReplyAddressL"
-					quid       	"43381974029A"
-					result     	"HBufC*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetParsedReplyAddressL"
-					quid       	"43381980020E"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveReplyAddressL"
-					quid       	"4338198D028B"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CSmsReplyAddressOperations"
-					quid       	"433819A80366"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ValidateOperationL"
-					quid       	"433819B303D3"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator="
-					quid       	"433819C20143"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator=="
-					quid       	"433819CD00B6"
-					result     	"bool"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "~CSmsReplyAddressOperations"
-					quid       	"4339327803CF"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iCharacterSetConverter"
-					quid       	"433819DE028B")
-				    (object ClassAttribute "iFs"
-					quid       	"433819F202CA")))
-			    (object Class "CSmsEnhancedVoiceMailOperations"
-				quid       	"433815DC00B0"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"43462B7E00D5"
-					supplier   	"Logical View::GSM UTILS::CSmsOperations::CSmsCtrlOperation"
-					quidu      	"433815570042"))
-				operations 	(list Operations
-				    (object Operation "AddEnhancedVoiceMailIEL"
-					quid       	"43381A1303E3"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveEnhancedVoiceMailBoxIEL"
-					quid       	"43381A3E0079"
-					result     	"CEnhancedVoiceMailBoxInformation*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CopyEnhancedVoiceMailIEL"
-					quid       	"43381A7A0192"
-					result     	"CEnhancedVoiceMailBoxInformation*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ContainsEnhancedVoiceMailIEL"
-					quid       	"43381A8E020F"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CSmsEnhancedVoiceMailOperations"
-					quid       	"43381AA601A2"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CSmsEnhancedVoiceMailOperations"
-					quid       	"43381ABA0358"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetEnhancedVoiceMailIEL"
-					quid       	"43381AD90106"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "ValidateOperationL"
-					quid       	"43381AE302AC"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator="
-					quid       	"43381AEC02DB"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0)
-				    (object Operation "operator=="
-					quid       	"43381AF50348"
-					result     	"bool"
-					concurrency 	"Sequential"
-					opExportControl 	"Protected"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iCharacterSetConverter"
-					quid       	"43381B0000C8")
-				    (object ClassAttribute "iFs"
-					quid       	"43381B09022F"))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"4346282C024C"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsIEOperation" @1745
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1508, 447)
-					label      	(object ItemLabel
-					    Parent_View 	@1745
-					    location   	(1250, 116)
-					    fill_color 	13434879
-					    nlines     	1
-					    max_width  	516
-					    justify    	0
-					    label      	"CSmsIEOperation")
-					icon_style 	"Icon"
-					line_color 	3342489
-					fill_color 	13434879
-					quidu      	"433813E602D0"
-					compartment 	(object Compartment
-					    Parent_View 	@1745
-					    location   	(1250, 177)
-					    icon_style 	"Icon"
-					    fill_color 	13434879
-					    anchor     	2
-					    nlines     	12
-					    max_width  	521)
-					width      	534
-					height     	686
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsCtrlOperation" @1746
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1509, 1178)
-					label      	(object ItemLabel
-					    Parent_View 	@1746
-					    location   	(1283, 1022)
-					    fill_color 	13434879
-					    nlines     	1
-					    max_width  	452
-					    justify    	0
-					    label      	"CSmsCtrlOperation")
-					icon_style 	"Icon"
-					line_color 	3342489
-					fill_color 	13434879
-					quidu      	"433815570042"
-					compartment 	(object Compartment
-					    Parent_View 	@1746
-					    location   	(1283, 1083)
-					    icon_style 	"Icon"
-					    fill_color 	13434879
-					    anchor     	2
-					    nlines     	5
-					    max_width  	459)
-					width      	470
-					height     	336
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsHyperLinkOperations" @1747
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(369, 2081)
-					label      	(object ItemLabel
-					    Parent_View 	@1747
-					    location   	(72, 1775)
-					    fill_color 	13434879
-					    nlines     	1
-					    max_width  	594
-					    justify    	0
-					    label      	"CSmsHyperLinkOperations")
-					icon_style 	"Icon"
-					line_color 	3342489
-					fill_color 	13434879
-					quidu      	"4338158502E2"
-					compartment 	(object Compartment
-					    Parent_View 	@1747
-					    location   	(72, 1836)
-					    icon_style 	"Icon"
-					    fill_color 	13434879
-					    anchor     	2
-					    nlines     	11
-					    max_width  	600)
-					width      	612
-					height     	636
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsSpecialSMSMessageOperations" @1748
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2021, 2094)
-					label      	(object ItemLabel
-					    Parent_View 	@1748
-					    location   	(1618, 1788)
-					    fill_color 	13434879
-					    nlines     	1
-					    max_width  	806
-					    justify    	0
-					    label      	"CSmsSpecialSMSMessageOperations")
-					icon_style 	"Icon"
-					line_color 	3342489
-					fill_color 	13434879
-					quidu      	"433815AE0004"
-					compartment 	(object Compartment
-					    Parent_View 	@1748
-					    location   	(1618, 1849)
-					    icon_style 	"Icon"
-					    fill_color 	13434879
-					    anchor     	2
-					    nlines     	11
-					    max_width  	812)
-					width      	824
-					height     	636
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsReplyAddressOperations" @1749
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1136, 2159)
-					label      	(object ItemLabel
-					    Parent_View 	@1749
-					    location   	(803, 1778)
-					    fill_color 	13434879
-					    nlines     	1
-					    max_width  	666
-					    justify    	0
-					    label      	"CSmsReplyAddressOperations")
-					icon_style 	"Icon"
-					line_color 	3342489
-					fill_color 	13434879
-					quidu      	"433815C50246"
-					compartment 	(object Compartment
-					    Parent_View 	@1749
-					    location   	(803, 1839)
-					    icon_style 	"Icon"
-					    fill_color 	13434879
-					    anchor     	2
-					    nlines     	14
-					    max_width  	671)
-					width      	684
-					height     	786
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::CSmsOperations::CSmsEnhancedVoiceMailOperations" @1750
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2948, 2140)
-					label      	(object ItemLabel
-					    Parent_View 	@1750
-					    location   	(2562, 1784)
-					    fill_color 	13434879
-					    nlines     	1
-					    max_width  	772
-					    justify    	0
-					    label      	"CSmsEnhancedVoiceMailOperations")
-					icon_style 	"Icon"
-					line_color 	3342489
-					fill_color 	13434879
-					quidu      	"433815DC00B0"
-					compartment 	(object Compartment
-					    Parent_View 	@1750
-					    location   	(2562, 1845)
-					    icon_style 	"Icon"
-					    fill_color 	13434879
-					    anchor     	2
-					    nlines     	13
-					    max_width  	778)
-					width      	790
-					height     	736
-					annotation 	8)
-				    (object InheritView "" @1751
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43462B6001C0"
-					client     	@1746
-					supplier   	@1745
-					line_style 	0)
-				    (object InheritView "" @1752
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43462B70027B"
-					client     	@1749
-					supplier   	@1746
-					line_style 	0)
-				    (object InheritView "" @1753
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43462B7901FE"
-					client     	@1748
-					supplier   	@1746
-					line_style 	0)
-				    (object InheritView "" @1754
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43462B7E00D5"
-					client     	@1750
-					supplier   	@1746
-					vertices   	(list Points
-					    (2772, 1771)
-					    (2681, 1575)
-					    (1744, 1257))
-					line_style 	0)
-				    (object InheritView "" @1755
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"43462B7501A0"
-					client     	@1747
-					supplier   	@1746
-					vertices   	(list Points
-					    (453, 1762)
-					    (509, 1559)
-					    (1273, 1267))
-					line_style 	0)))))
-		    (object Class_Category "AdditionalAttributes"
-			quid       	"43393D340306"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsMessageAdditionalAttributes"
-				quid       	"43393D5000C4"
-				operations 	(list Operations
-				    (object Operation "NewL"
-					quid       	"43393EC30069"
-					result     	"CSmsMessageAdditionalAttributes*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddControlInformationElementL"
-					quid       	"43393EF500B7"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Find1stInstanceOfControlInformationElement"
-					quid       	"43393F1303A5"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "FindNextInstanceOfControlInformationElement"
-					quid       	"43393F4A0367"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetControlInformationElementL"
-					quid       	"43393F7202DB"
-					result     	"CSmsInformationElement&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveControlInformationElement"
-					quid       	"433940350388"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddControlInformationElementL"
-					quid       	"43394045033A"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetControlInformationElementL"
-					quid       	"4339408900AA"
-					result     	"CSmsInformationElement&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveNextControlInformationElement"
-					quid       	"43394159003E"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteAllControlInformationElements"
-					quid       	"433941950290"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteAllControlInformationElements"
-					quid       	"433941A703A9"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteControlInformationElement"
-					quid       	"433941DE00EB"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NumberOfControlInformationElements"
-					quid       	"4339422600FB"
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NumberOfControlInformationElements"
-					quid       	"4339424701A7"
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetIEOperationL"
-					quid       	"4339428702FF"
-					result     	"CSmsIEOperation&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetIEOperationL"
-					quid       	"433942A9033E"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"433942C60011"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"433942DC02D1"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ResetAttributes"
-					quid       	"4339432B0070"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "~CSmsMessageAdditionalAttributes"
-					quid       	"4339434A012B"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ConstructL"
-					quid       	"43394441039E"
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "CSmsMessageAdditionalAttributes"
-					quid       	"433944610321"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "CSmsHyperLinkOperations"
-					quid       	"43393DB60384")
-				    (object ClassAttribute "CSmsReplyAddressOperations"
-					quid       	"43393DD2020D")
-				    (object ClassAttribute "CSmsSpecialSMSMessageOperations"
-					quid       	"43393DE103E2")
-				    (object ClassAttribute "CSmsEnhancedVoiceMailOperations"
-					quid       	"43393DFD0326"))))
-			logical_presentations 	(list unit_reference_list)))
-		logical_presentations 	(list unit_reference_list
-		    (object ClassDiagram "Main"
-			quid       	"35B4B69B0058"
-			title      	"Main"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object CategoryView "Logical View::GSM UTILS::SMS SETTINGS" @1756
-				location   	(588, 375)
-				label      	(object ItemLabel
-				    Parent_View 	@1756
-				    location   	(385, 256)
-				    nlines     	2
-				    max_width  	406
-				    justify    	0
-				    label      	"SMS SETTINGS")
-				icon_style 	"Icon"
-				quidu      	"3601227700A6"
-				width      	418
-				height     	250)
-			    (object CategoryView "Logical View::GSM UTILS::SMS PDUS" @1757
-				location   	(1156, 378)
-				label      	(object ItemLabel
-				    Parent_View 	@1757
-				    location   	(953, 259)
-				    nlines     	2
-				    max_width  	406
-				    justify    	0
-				    label      	"SMS PDUS")
-				icon_style 	"Icon"
-				quidu      	"3601228200C6"
-				width      	419
-				height     	250)
-			    (object CategoryView "Logical View::GSM UTILS::SMS MESSAGE" @1758
-				location   	(1715, 378)
-				label      	(object ItemLabel
-				    Parent_View 	@1758
-				    location   	(1509, 259)
-				    nlines     	2
-				    max_width  	412
-				    justify    	0
-				    label      	"SMS MESSAGE")
-				icon_style 	"Icon"
-				quidu      	"3770FA6302D5"
-				width      	424
-				height     	250)
-			    (object CategoryView "Logical View::GSM UTILS::SMS ELEMENTS" @1759
-				location   	(1153, 834)
-				label      	(object ItemLabel
-				    Parent_View 	@1759
-				    location   	(959, 721)
-				    nlines     	2
-				    max_width  	388
-				    justify    	0
-				    label      	"SMS ELEMENTS")
-				icon_style 	"Icon"
-				quidu      	"37710435015E"
-				width      	400
-				height     	238)
-			    (object CategoryView "Logical View::GSM UTILS::SMS BUFFER" @1760
-				location   	(1725, 837)
-				label      	(object ItemLabel
-				    Parent_View 	@1760
-				    location   	(1541, 728)
-				    nlines     	2
-				    max_width  	368
-				    justify    	0
-				    label      	"SMS BUFFER")
-				icon_style 	"Icon"
-				quidu      	"378F21120251"
-				width      	381
-				height     	231)
-			    (object CategoryView "Logical View::GSM UTILS::SMS COMPRESSION" @1761
-				location   	(597, 821)
-				label      	(object ItemLabel
-				    Parent_View 	@1761
-				    location   	(381, 693)
-				    nlines     	2
-				    max_width  	432
-				    justify    	0
-				    label      	"SMS COMPRESSION")
-				icon_style 	"Icon"
-				quidu      	"3819C5C90017"
-				width      	444
-				height     	268)
-			    (object CategoryView "Logical View::GSM UTILS::SAR STORE" @1762
-				location   	(2253, 384)
-				label      	(object ItemLabel
-				    Parent_View 	@1762
-				    location   	(2065, 275)
-				    nlines     	2
-				    max_width  	376
-				    justify    	0
-				    label      	"SAR STORE")
-				icon_style 	"Icon"
-				quidu      	"381D7C1F031C"
-				width      	388
-				height     	231)))))
-	    (object Class_Category "SMS PROTOCOL MODULE"
-		quid       	"3780BA4B00FF"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list
-		    (object Class "CSmsTimeout"
-			quid       	"39B9129E0203")
-		    (object Association "$UNNAMED$287"
-			quid       	"3780BAA20380"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$288"
-				quid       	"3780BAA300C1"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CProtocolBase"
-				quidu      	"3780BA380073"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$289"
-				quid       	"3780BAA300C2"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CServProviderBase"
-				quidu      	"3780BA630303"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$290"
-			quid       	"3780BAA40295"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$291"
-				quid       	"3780BAA40370"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CProtocolFamilyBase"
-				quidu      	"3780BA6403DE"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$292"
-				quid       	"3780BAA40371"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CProtocolBase"
-				quidu      	"3780BA380073"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$293"
-			quid       	"3780BAF60238"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$294"
-				quid       	"3780BAF603BE"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocolFamily"
-				quidu      	"3780BA5F0295"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$295"
-				quid       	"3780BAF603BF"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$296"
-			quid       	"3780BBDA0073"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$297"
-				quid       	"3780BBDA0238"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$298"
-				quid       	"3780BBDA0239"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore"
-				quidu      	"375BE9D80396"
-				Containment 	"By Value"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$299"
-			quid       	"3780BBE30015"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$300"
-				quid       	"3780BBE3019B"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$301"
-				quid       	"3780BBE3019C"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore"
-				quidu      	"377CA18801C2"
-				Containment 	"By Value"
-				is_navigable 	TRUE)))
-		    (object Association "iServer"
-			quid       	"3780BCCD018C"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$302"
-				quid       	"3780BCCD03BE"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$303"
-				quid       	"3780BCCD03BF"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RTelServer"
-				quidu      	"3780BCC600FF"
-				Containment 	"By Value"
-				is_navigable 	TRUE)))
-		    (object Association "iPhone"
-			quid       	"3780BD3B0286"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$304"
-				quid       	"3780BD3C00B1"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$305"
-				quid       	"3780BD3C00B2"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RBasicGsmPhone"
-				quidu      	"3780BCDD00F0"
-				Containment 	"By Value"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$306"
-			quid       	"3780BD810276"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$307"
-				quid       	"3780BD8103BE"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RBasicGsmPhone"
-				quidu      	"3780BCDD00F0"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$308"
-				quid       	"3780BD8103BF"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RTelServer"
-				quidu      	"3780BCC600FF"
-				is_navigable 	TRUE)))
-		    (object Association "iSmsMessaging"
-			quid       	"3780BDA0016D"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$309"
-				quid       	"3780BDA0038F"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$310"
-				quid       	"3780BDA00390"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-				quidu      	"3780BD850209"
-				Containment 	"By Value"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$311"
-			quid       	"3780BDCF0238"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$312"
-				quid       	"3780BDCF0370"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-				quidu      	"3780BD850209"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$313"
-				quid       	"3780BDCF0371"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RBasicGsmPhone"
-				quidu      	"3780BCDD00F0"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$314"
-			quid       	"3780C0FC016D"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$315"
-				quid       	"3780C0FC02A5"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsStorage"
-				quidu      	"3780C0B4012E"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$316"
-				quid       	"3780C0FC02A6"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-				quidu      	"3780BD850209"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$317"
-			quid       	"3780C1870082"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$318"
-				quid       	"3780C1870276"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-				quidu      	"382193B500F4"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$319"
-				quid       	"3780C1870277"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsPDUSend"
-				quidu      	"3780C15800B1"
-				Containment 	"By Value"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$320"
-			quid       	"3780C1B90276"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$321"
-				quid       	"3780C1B9038F"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsStoreRead"
-				quidu      	"383C06CE0146"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$322"
-				quid       	"3780C1B90390"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsStorage"
-				quidu      	"3780C0B4012E"
-				Containment 	"By Value"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$323"
-			quid       	"3780C3C70082"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$324"
-				quid       	"3780C3C7016D"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration"
-				quidu      	"3780C11703AF"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$325"
-				quid       	"3780C3C7016E"
-				supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-				quidu      	"3770C4E700A3"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$326"
-			quid       	"3780C3CA0218"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$327"
-				quid       	"3780C3CA0380"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsPDUSend"
-				quidu      	"3780C15800B1"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$328"
-				quid       	"3780C3CA0381"
-				supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-				quidu      	"3770C4E700A3"
-				is_navigable 	TRUE)))
-		    (object Association "$UNNAMED$329"
-			quid       	"3781D8DF0174"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$330"
-				quid       	"3781D8E000C8"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-				quidu      	"3780BA620276"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$331"
-				quid       	"3781D8E000C9"
-				supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-				quidu      	"3780BA610015"
-				is_navigable 	TRUE)))
-		    (object Class_Category "FRAMEWORK"
-			quid       	"37CFF6D600A3"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSocket"
-				quid       	"37CFF7980381")
-			    (object Class "CSmsProtocol"
-				quid       	"3780BA610015"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3780BB050092"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CProtocolBase"
-					quidu      	"3780BA380073")
-				    (object Inheritance_Relationship
-					quid       	"37D7C11B0260"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm"
-					quidu      	"37D7B65E01A5"))
-				operations 	(list Operations
-				    (object Operation "static NewL"
-					quid       	"38B2CEB100A6"
-					result     	"CSmsProtocol*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InitL"
-					quid       	"38B2CEDE00B6"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "StartL"
-					quid       	"38B2CEDE00D5"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "BindToL"
-					quid       	"38B2CEDE0104"
-					parameters 	(list Parameters
-					    (object Parameter "aProtocol"
-						type       	"CProtocolBase*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "BindL"
-					quid       	"38B2CEDE0133"
-					parameters 	(list Parameters
-					    (object Parameter "aProtocol"
-						type       	"CProtocolBase*"
-						initv      	"default")
-					    (object Parameter "aId"
-						type       	"TUint"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Send"
-					quid       	"38B2CEDE0191"
-					parameters 	(list Parameters
-					    (object Parameter "aPDU"
-						type       	"RMBufChain&"
-						initv      	"default")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Process"
-					quid       	"38B2CEDE01C0"
-					parameters 	(list Parameters
-					    (object Parameter "aPDU"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "aTo"
-						type       	"TSockAddr*"
-						initv      	"default")
-					    (object Parameter "aFrom"
-						type       	"TSockAddr*"
-						initv      	"NULL")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetOption"
-					quid       	"38B2CEDE021D"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetOption"
-					quid       	"38B2CEDE024C"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"const TDesC8&"
-						initv      	"default")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NewSAPL"
-					quid       	"38B2CEDE027B"
-					parameters 	(list Parameters
-					    (object Parameter "aSocketType"
-						type       	"TUint"
-						initv      	"default"))
-					result     	"CServProviderBase*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddSmsMessageObserverL"
-					quid       	"38B2CFD50308"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "BindSmsMessageObserver"
-					quid       	"38B2CFE30104"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&")
-					    (object Parameter "aSmsAddr"
-						type       	"const TSmsAddr&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemoveSmsMessageObserver"
-					quid       	"38B2CFF10068"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"const MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetServiceCenterAddress"
-					quid       	"38B2D0BC00E5"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetServiceCenterAddress"
-					quid       	"38B2D0CA02E9"
-					parameters 	(list Parameters
-					    (object Parameter "aSCAddress"
-						type       	"const TDesC&")
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CancelServiceCenterAddress"
-					quid       	"38B2D0D201CF"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SendSmsMessage"
-					quid       	"38B2D16802C9"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"CSmsMessage*")
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CancelSendSmsMessage"
-					quid       	"38B2D16E001A"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EnumeratePhone"
-					quid       	"38B2D177029A"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CancelEnumeratePhone"
-					quid       	"38B2D1830375"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "WriteSmsMessage"
-					quid       	"38B2D18F0191"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"CSmsMessage*")
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CancelWriteSmsMessage"
-					quid       	"38B2D1990385"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteSmsMessage"
-					quid       	"38B2D1B60104"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"CSmsMessage*")
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CancelDeleteSmsMessage"
-					quid       	"38B2D1CC024C"
-					parameters 	(list Parameters
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ProcessMessage"
-					quid       	"38B2CEDE02AA"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&"
-						initv      	"default")
-					    (object Parameter "aOriginalSmsAddr"
-						type       	"const TSmsAddr*"
-						initv      	"default")
-					    (object Parameter "aOriginalSmsMessage"
-						type       	"const CSmsMessage*"
-						initv      	"default")
-					    (object Parameter "aDes"
-						type       	"TDes"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeletePDUs"
-					quid       	"38B2CEDE02D9"
-					parameters 	(list Parameters
-					    (object Parameter "aSlotArray"
-						type       	"const CArrayFix<TSmsSlot>&"
-						initv      	"default")
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EncodedPDUs"
-					quid       	"38B2CEDE0308"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsArray"
-						type       	"const CArrayFix<TSms>&"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "UnsentPDUs"
-					quid       	"38B2CEDE0346"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsArray"
-						type       	"const CArrayFix<TSms>&"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ServiceCenterAddressCompleted"
-					quid       	"38B2CEDE0375"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageSendCompleted"
-					quid       	"38B2CEDE03A4"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EventNotificationCompleted"
-					quid       	"38B2CEDE03E3"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PhoneInitializationCompleted"
-					quid       	"38B2CEDF0029"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ModemNotificationCompleted"
-					quid       	"38B2CEDF0068"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PDUReadCompleted"
-					quid       	"38B2CEDF00A6"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PDUReadProcessCompleted"
-					quid       	"38B2CEDF00E5"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PhoneEnumerationCompleted"
-					quid       	"38B2CEDF0114"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageWriteCompleted"
-					quid       	"38B2CEDF0152"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PDUDeleteCompleted"
-					quid       	"38B2CEDF0191"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ServiceCenterAddress"
-					quid       	"38B2D2EE025C"
-					result     	"TPtrC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PhoneImage"
-					quid       	"38B2D2FE0039"
-					parameters 	(list Parameters
-					    (object Parameter "argname"))
-					result     	"const CSmsPhoneImage&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsProtocolFamily"
-				quid       	"3780BA5F0295"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3780BAFB0024"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CProtocolFamilyBase"
-					quidu      	"3780BA6403DE"))
-				operations 	(list Operations
-				    (object Operation "Install"
-					quid       	"3781BDE100D8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Open"
-					quid       	"3781BDF201C2"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ProtocolList"
-					quid       	"3781BDF201E1"
-					parameters 	(list Parameters
-					    (object Parameter "aProtocolList"
-						type       	"TServerProtocolDesc*&"
-						initv      	"default"))
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NewProtocolL"
-					quid       	"3781BDF20201"
-					parameters 	(list Parameters
-					    (object Parameter "aSocketType"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aProtocol"
-						type       	"TUint"
-						initv      	"default"))
-					result     	"CProtocolBase*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Remove"
-					quid       	"3781BE74031A"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "MSmsMessageObserver"
-				quid       	"38B2C82602BA"
-				operations 	(list Operations
-				    (object Operation "pv GetLocalAddress"
-					quid       	"38B2CB9D022D"
-					result     	"const TSmsAddr&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv SetLocalAddress"
-					quid       	"38B2CBB40308"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsAddr"
-						type       	"const TSmsAddr&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv ModemNotificationCompleted"
-					quid       	"38B2CC0003D3"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv ServiceCenterAddressCompleted"
-					quid       	"38B2CC11025C"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv MessageSendCompleted"
-					quid       	"38B2CC2701C0"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv MessageReceived"
-					quid       	"38B2CC640078"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage& aSmsMessage")
-					    (object Parameter "aDes"
-						type       	"TDes&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv EnumeratePhoneCompleted"
-					quid       	"38B2CCC501CF"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv MessageWriteCompleted"
-					quid       	"38B2CCEA026C"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv MessageDeleteCompleted"
-					quid       	"38B2CCEA0356"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsProvider"
-				quid       	"3780BA620276"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3780BB0202B5"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CServProviderBase"
-					quidu      	"3780BA630303")
-				    (object Inheritance_Relationship
-					quid       	"37D7C48E003D"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::MSmsMessageSendObserver"
-					quidu      	"37D7C46E01D4")
-				    (object Inheritance_Relationship
-					quid       	"38B2C9D603A4"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::MSmsMessageObserver"
-					quidu      	"38B2C82602BA"))
-				operations 	(list Operations
-				    (object Operation "LocalName"
-					quid       	"3781E14D032A"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetLocalName"
-					quid       	"3781E14D0349"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "RemName"
-					quid       	"3781E14D0368"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetRemName"
-					quid       	"3781E14D0387"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Ioctl"
-					quid       	"3781E14D03B6"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"TDes8*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CancelIoctl"
-					quid       	"3781E14D03D5"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetOption"
-					quid       	"3781E14E000D"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"TDes8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetOption"
-					quid       	"3781E14E002C"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"const TDes8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Write"
-					quid       	"3781E14E004B"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"const TDesC8&"
-						initv      	"default")
-					    (object Parameter "arOptions"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aAddr"
-						type       	"TSockAddr*"
-						initv      	"NULL"))
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetData"
-					quid       	"3781E14E007A"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "arOptions"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aAddr"
-						type       	"TSockAddr*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ActiveOpen"
-					quid       	"3781E14E00B9"
-					parameters 	(list Parameters
-					    (object Parameter "aConnectionData"
-						type       	"const TDesC8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PassiveOpen"
-					quid       	"3781E14E0107"
-					parameters 	(list Parameters
-					    (object Parameter "aQueSize"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aConnectionData"
-						type       	"const TDesC8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Shutdown"
-					quid       	"3781E14E0126"
-					parameters 	(list Parameters
-					    (object Parameter "aOption"
-						type       	"TCloseType"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AutoBind"
-					quid       	"3781E14E0164"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetLocalAddress"
-					quid       	"38B2CD2A028B"
-					result     	"const TSmsAddr&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetLocalAddress"
-					quid       	"38B2CD2A029A"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsAddr"
-						type       	"const TSmsAddr&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ModemNotificationCompleted"
-					quid       	"38B2CD2A02BA"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ServiceCenterAddressCompleted"
-					quid       	"38B2CD2A02C9"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageSendCompleted"
-					quid       	"38B2CD2A02D9"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageReceived"
-					quid       	"38B2CD2A02F8"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage& aSmsMessage")
-					    (object Parameter "aDes"
-						type       	"TDes&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "EnumeratePhoneCompleted"
-					quid       	"38B2CD2A0317"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageWriteCompleted"
-					quid       	"38B2CD2A0327"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "MessageDeleteCompleted"
-					quid       	"38B2CD2A0337"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CQueuedSmsMessage"
-				quid       	"39B8B0BB02E6")
-			    (object Association "$UNNAMED$332"
-				quid       	"37CFF7A6014F"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$333"
-					quid       	"37CFF7A603CF"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSocket"
-					quidu      	"37CFF7980381"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$334"
-					quid       	"37CFF7A603D0"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CServProviderBase"
-					quidu      	"3780BA630303"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$335"
-				quid       	"37CFF7A90362"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$336"
-					quid       	"37CFF7AA00F1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ESOCK::CServProviderBase"
-					quidu      	"3780BA630303"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$337"
-					quid       	"37CFF7AA0120"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSocket"
-					quidu      	"37CFF7980381"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$338"
-				quid       	"37CFF839019D"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$339"
-					quid       	"37CFF83A0006"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-					quidu      	"3780BA620276"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$340"
-					quid       	"37CFF83A0026"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$341"
-				quid       	"37CFF83C0268"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$342"
-					quid       	"37CFF83D00A3"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					client_cardinality 	(value cardinality "1")
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$343"
-					quid       	"37CFF83D00B2"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider"
-					quidu      	"3780BA620276"
-					client_cardinality 	(value cardinality "n")
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$344"
-				quid       	"38B2C9B502AA"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$345"
-					quid       	"38B2C9B502AB"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::MSmsMessageObserver"
-					quidu      	"38B2C82602BA"
-					client_cardinality 	(value cardinality "n")
-					Containment 	"By Value"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$346"
-					quid       	"38B2C9B502AC"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					client_cardinality 	(value cardinality "1")
-					is_navigable 	TRUE
-					is_aggregate 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"37CFF7040297"
-				title      	"Main"
-				zoom       	95
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	936
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm" @1763
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(353, 2220)
-					label      	(object ItemLabel
-					    Parent_View 	@1763
-					    location   	(9, 1820)
-					    nlines     	1
-					    max_width  	688
-					    justify    	0
-					    label      	"MSmsComm")
-					icon_style 	"Icon"
-					quidu      	"37D7B65E01A5"
-					width      	706
-					height     	825)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocolFamily" @1764
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(290, 1343)
-					label      	(object ItemLabel
-					    Parent_View 	@1764
-					    location   	(75, 1162)
-					    nlines     	1
-					    max_width  	430
-					    justify    	0
-					    label      	"CSmsProtocolFamily")
-					icon_style 	"Icon"
-					quidu      	"3780BA5F0295"
-					width      	448
-					height     	386)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider" @1765
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2674, 985)
-					label      	(object ItemLabel
-					    Parent_View 	@1765
-					    location   	(2333, 347)
-					    nlines     	1
-					    max_width  	682
-					    justify    	0
-					    label      	"CSmsProvider")
-					icon_style 	"Icon"
-					quidu      	"3780BA620276"
-					width      	700
-					height     	1300)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol" @1766
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1234, 2082)
-					label      	(object ItemLabel
-					    Parent_View 	@1766
-					    location   	(871, 1026)
-					    nlines     	1
-					    max_width  	726
-					    justify    	0
-					    label      	"CSmsProtocol")
-					icon_style 	"Icon"
-					quidu      	"3780BA610015"
-					width      	744
-					height     	2137)
-				    (object AssociationViewNew "$UNNAMED$293" @1767
-					location   	(687, 1653)
-					stereotype 	TRUE
-					quidu      	"3780BAF60238"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$294" @1768
-						Parent_View 	@1767
-						location   	(-1222, 800)
-						stereotype 	TRUE
-						quidu      	"3780BAF603BE"
-						client     	@1767
-						supplier   	@1764
-						line_style 	0)
-					    (object RoleView "$UNNAMED$295" @1769
-						Parent_View 	@1767
-						location   	(-1222, 800)
-						stereotype 	TRUE
-						quidu      	"3780BAF603BF"
-						client     	@1767
-						supplier   	@1766
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$338" @1770
-					location   	(1964, 1523)
-					stereotype 	TRUE
-					quidu      	"37CFF839019D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$339" @1771
-						Parent_View 	@1770
-						location   	(935, 11)
-						stereotype 	TRUE
-						quidu      	"37CFF83A0006"
-						client     	@1770
-						supplier   	@1765
-						line_style 	0)
-					    (object RoleView "$UNNAMED$340" @1772
-						Parent_View 	@1770
-						location   	(935, 11)
-						stereotype 	TRUE
-						quidu      	"37CFF83A0026"
-						client     	@1770
-						supplier   	@1766
-						line_style 	0)))
-				    (object InheritView "" @1773
-					stereotype 	TRUE
-					quidu      	"37D7C11B0260"
-					client     	@1766
-					supplier   	@1763
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::MSmsMessageObserver" @1774
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2237, 2217)
-					label      	(object ItemLabel
-					    Parent_View 	@1774
-					    location   	(1871, 1933)
-					    nlines     	1
-					    max_width  	732
-					    justify    	0
-					    label      	"MSmsMessageObserver")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"38B2C82602BA"
-					width      	750
-					height     	593)
-				    (object AssociationViewNew "$UNNAMED$344" @1775
-					location   	(1733, 2148)
-					stereotype 	TRUE
-					quidu      	"38B2C9B502AA"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$346" @1776
-						Parent_View 	@1775
-						location   	(-316, 536)
-						stereotype 	TRUE
-						quidu      	"38B2C9B502AC"
-						client     	@1775
-						supplier   	@1766
-						line_style 	0
-						label      	(object SegLabel @1777
-						    Parent_View 	@1776
-						    location   	(1613, 2187)
-						    anchor     	2
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	15
-						    justify    	0
-						    label      	"1"
-						    pctDist    	0.900000
-						    height     	54
-						    orientation 	0))
-					    (object RoleView "$UNNAMED$345" @1778
-						Parent_View 	@1775
-						location   	(-316, 536)
-						stereotype 	TRUE
-						quidu      	"38B2C9B502AB"
-						client     	@1775
-						supplier   	@1774
-						line_style 	0
-						label      	(object SegLabel @1779
-						    Parent_View 	@1778
-						    location   	(1846, 2139)
-						    anchor     	2
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	15
-						    justify    	0
-						    label      	"*"
-						    pctDist    	0.869813
-						    height     	25
-						    orientation 	0))))
-				    (object InheritView "" @1780
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2C9D603A4"
-					client     	@1765
-					supplier   	@1774
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ESOCK::CProtocolFamilyBase" @1781
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(292, 465)
-					label      	(object ItemLabel
-					    Parent_View 	@1781
-					    location   	(78, 284)
-					    nlines     	1
-					    max_width  	428
-					    justify    	0
-					    label      	"CProtocolFamilyBase")
-					icon_style 	"Icon"
-					quidu      	"3780BA6403DE"
-					width      	446
-					height     	386
-					annotation 	8)
-				    (object InheritView "" @1782
-					stereotype 	TRUE
-					quidu      	"3780BAFB0024"
-					client     	@1764
-					supplier   	@1781
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ESOCK::CProtocolBase" @1783
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1223, 463)
-					label      	(object ItemLabel
-					    Parent_View 	@1783
-					    location   	(1055, 163)
-					    nlines     	1
-					    max_width  	337
-					    justify    	0
-					    label      	"CProtocolBase")
-					icon_style 	"Icon"
-					quidu      	"3780BA380073"
-					width      	355
-					height     	625)
-				    (object AssociationViewNew "$UNNAMED$290" @1784
-					location   	(780, 463)
-					stereotype 	TRUE
-					quidu      	"3780BAA40295"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$291" @1785
-						Parent_View 	@1784
-						location   	(-1119, 51)
-						stereotype 	TRUE
-						quidu      	"3780BAA40370"
-						client     	@1784
-						supplier   	@1781
-						line_style 	0)
-					    (object RoleView "$UNNAMED$292" @1786
-						Parent_View 	@1784
-						location   	(-1119, 51)
-						stereotype 	TRUE
-						quidu      	"3780BAA40371"
-						client     	@1784
-						supplier   	@1783
-						line_style 	0)))
-				    (object InheritView "" @1787
-					stereotype 	TRUE
-					quidu      	"3780BB050092"
-					client     	@1766
-					supplier   	@1783
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ESOCK::CServProviderBase" @1788
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1761, 459)
-					label      	(object ItemLabel
-					    Parent_View 	@1788
-					    location   	(1564, 53)
-					    nlines     	1
-					    max_width  	394
-					    justify    	0
-					    label      	"CServProviderBase")
-					icon_style 	"Icon"
-					quidu      	"3780BA630303"
-					width      	412
-					height     	836)
-				    (object AssociationViewNew "$UNNAMED$287" @1789
-					location   	(1477, 460)
-					stereotype 	TRUE
-					quidu      	"3780BAA20380"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$288" @1790
-						Parent_View 	@1789
-						location   	(296, 51)
-						stereotype 	TRUE
-						quidu      	"3780BAA300C1"
-						client     	@1789
-						supplier   	@1783
-						line_style 	0)
-					    (object RoleView "$UNNAMED$289" @1791
-						Parent_View 	@1789
-						location   	(296, 51)
-						stereotype 	TRUE
-						quidu      	"3780BAA300C2"
-						client     	@1789
-						supplier   	@1788
-						line_style 	0)))
-				    (object InheritView "" @1792
-					stereotype 	TRUE
-					quidu      	"3780BB0202B5"
-					client     	@1765
-					supplier   	@1788
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSocket" @1793
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2352, 170)
-					label      	(object ItemLabel
-					    Parent_View 	@1793
-					    location   	(2255, 119)
-					    nlines     	1
-					    max_width  	194
-					    justify    	0
-					    label      	"CSocket")
-					icon_style 	"Icon"
-					quidu      	"37CFF7980381"
-					width      	212
-					height     	126
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$332" @1794
-					location   	(2106, 288)
-					stereotype 	TRUE
-					quidu      	"37CFF7A6014F"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$333" @1795
-						Parent_View 	@1794
-						location   	(-673, -939)
-						stereotype 	TRUE
-						quidu      	"37CFF7A603CF"
-						client     	@1794
-						supplier   	@1793
-						line_style 	0)
-					    (object RoleView "$UNNAMED$334" @1796
-						Parent_View 	@1794
-						location   	(-673, -939)
-						stereotype 	TRUE
-						quidu      	"37CFF7A603D0"
-						client     	@1794
-						supplier   	@1788
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$335" @1797
-					location   	(2141, 402)
-					stereotype 	TRUE
-					quidu      	"37CFF7A90362"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$336" @1798
-						Parent_View 	@1797
-						location   	(-1290, -519)
-						stereotype 	TRUE
-						quidu      	"37CFF7AA00F1"
-						client     	@1797
-						supplier   	@1788
-						line_style 	0)
-					    (object RoleView "$UNNAMED$337" @1799
-						Parent_View 	@1797
-						location   	(-1290, -519)
-						stereotype 	TRUE
-						quidu      	"37CFF7AA0120"
-						client     	@1797
-						supplier   	@1793
-						vertices   	(list Points
-						    (2141, 402)
-						    (2200, 394)
-						    (2309, 233))
-						line_style 	0)))))))
-		    (object Class_Category "RECEIVING"
-			quid       	"37CFF7110239"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsPDURead"
-				quid       	"37D3BE8E026D"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"37D51A8A004C"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CActive"
-					quidu      	"3780C4A601F9"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"37D51AAB027F"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"37D51AAB02DD"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "MSmsComm"
-				quid       	"37D7B65E01A5"
-				operations 	(list Operations
-				    (object Operation "pv ProcessMessage"
-					quid       	"37D7B6770166"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&"
-						initv      	"default")
-					    (object Parameter "aOriginalSmsAddr"
-						type       	"const TSmsAddr*"
-						initv      	"default")
-					    (object Parameter "aOriginalSmsMessage"
-						type       	"const CSmsMessage*"
-						initv      	"default")
-					    (object Parameter "aDes"
-						type       	"TDes"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv DeletePDUs"
-					quid       	"383C0A68005C"
-					parameters 	(list Parameters
-					    (object Parameter "aSlotArray"
-						type       	"const CArrayFix<TSmsSlot>&"
-						initv      	"default")
-					    (object Parameter "aObserver"
-						type       	"MSmsMessageObserver*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv EncodedPDUs"
-					quid       	"38B2C68F0039"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsArray"
-						type       	"const CArrayFix<TSms>&"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv UnsentPDUs"
-					quid       	"38B2C6E701A0"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsArray"
-						type       	"const CArrayFix<TSms>&"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv ServiceCenterAddressCompleted"
-					quid       	"38B2C720025C"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv MessageSendCompleted"
-					quid       	"38B2C7570394"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv EventNotificationCompleted"
-					quid       	"38B2C7700375"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv PhoneInitializationCompleted"
-					quid       	"38B2C79501CF"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv ModemNotificationCompleted"
-					quid       	"38B2C79501EF"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv PDUReadCompleted"
-					quid       	"38B2C795021D"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv PDUReadProcessCompleted"
-					quid       	"38B2C795023D"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv PhoneEnumerationCompleted"
-					quid       	"38B2C7C60356"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv MessageWriteCompleted"
-					quid       	"38B2C7CB02E9"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv PDUDeleteCompleted"
-					quid       	"38B2C7DB0346"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsPDUDelete"
-				quid       	"37D7BF950222"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"37D7C3890147"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CActive"
-					quidu      	"3780C4A601F9"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"37D7BFD00212"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"37D7BFD0028F"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TMsgStoreEntry"
-				quid       	"37D7C8C8006C"
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iStatus"
-					quid       	"37D7C8EE02AE"
-					type       	"TStatus")))
-			    (object Class "CSmsPhoneImage"
-				quid       	"37D7D6120241")
-			    (object Class "CSmsPDUProcess"
-				quid       	"3829955C02AD"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"38B2D53800C6"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CLogActive"
-					quidu      	"38B2B3CA023D"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"38352EC30382"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"38352EC40017"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iState"
-					quid       	"38B2D4460039"
-					type       	"TSmsPDUProcessState"))
-				statemachine 	(object State_Machine ""
-				    quid       	"38B29837015E"
-				    states     	(list States
-					(object State "Idle"
-					    quid       	"383417330326"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"383418560345"
-						    supplier   	":Decoding:DecodingPDU"
-						    quidu      	"3834180F0019"
-						    sendEvent  	(object sendEvent
-							quid       	"383418560347")))
-					    type       	"Normal")
-					(object State "CreatingLogEvent"
-					    quid       	"3834174F0103"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"383419F501ED"
-						    label      	""
-						    supplier   	"AddingEntryToReassemblyStore"
-						    quidu      	"383417BB0307"
-						    Event      	(object Event "If Submit or Deliver"
-							quid       	"38B298370198")
-						    sendEvent  	(object sendEvent
-							quid       	"383419F501EF"))
-						(object State_Transition
-						    quid       	"38341AE300F3"
-						    label      	""
-						    supplier   	"Idle"
-						    quidu      	"383417330326"
-						    Event      	(object Event "If Status Report"
-							quid       	"38B29837019D")
-						    sendEvent  	(object sendEvent
-							quid       	"38341AE300F5")))
-					    type       	"Normal")
-					(object State "GettingLogEvent"
-					    quid       	"3834176102C8"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"3834192F02E7"
-						    supplier   	"UpdatingLogEvent"
-						    quidu      	"383417700122"
-						    sendEvent  	(object sendEvent
-							quid       	"3834192F02E9")))
-					    type       	"Normal")
-					(object State "UpdatingLogEvent"
-					    quid       	"383417700122"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"38341B510180"
-						    label      	""
-						    supplier   	"ProcessingMessage"
-						    quidu      	"383417D20047"
-						    Event      	(object Event "Message Complete"
-							quid       	"38B2983701A9")
-						    sendEvent  	(object sendEvent
-							quid       	"38341B510182"))
-						(object State_Transition
-						    quid       	"38341BC703E1"
-						    label      	""
-						    supplier   	"Idle"
-						    quidu      	"383417330326"
-						    Event      	(object Event "Message Complete"
-							quid       	"38B2983701AE")
-						    sendEvent  	(object sendEvent
-							quid       	"38341BC703E3")))
-					    type       	"Normal")
-					(object State "AddingEntryToReassemblyStore"
-					    quid       	"383417BB0307"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"38341B4F0122"
-						    label      	""
-						    supplier   	"ProcessingMessage"
-						    quidu      	"383417D20047"
-						    Event      	(object Event "Message Complete"
-							quid       	"38B2983701B4")
-						    sendEvent  	(object sendEvent
-							quid       	"38341B4F0124"))
-						(object State_Transition
-						    quid       	"38341BC50019"
-						    label      	""
-						    supplier   	"Idle"
-						    quidu      	"383417330326"
-						    Event      	(object Event "Message Incomplete"
-							quid       	"38B2983701C2")
-						    sendEvent  	(object sendEvent
-							quid       	"38341BC5001B")))
-					    type       	"Normal")
-					(object State "ProcessingMessage"
-					    quid       	"383417D20047"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"38341C170067"
-						    supplier   	"Idle"
-						    quidu      	"383417330326"
-						    sendEvent  	(object sendEvent
-							quid       	"38341C170069"))
-						(object State_Transition
-						    quid       	"38341C2101AF"
-						    label      	""
-						    supplier   	"DeletingEntryFromReassemblyStore"
-						    quidu      	"383417E900D4"
-						    Event      	(object Event "If Entry in Reassembly Store"
-							quid       	"38B2983701CD")
-						    sendEvent  	(object sendEvent
-							quid       	"38341C2101B1")))
-					    type       	"Normal")
-					(object State "DeletingEntryFromReassemblyStore"
-					    quid       	"383417E900D4"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"38341C190384"
-						    supplier   	"Idle"
-						    quidu      	"383417330326"
-						    sendEvent  	(object sendEvent
-							quid       	"38341C190386")))
-					    type       	"Normal")
-					(object State "Decoding"
-					    quid       	"383417FD00C4"
-					    transitions 	(list transition_list
-						(object State_Transition
-						    quid       	"383418FC03A3"
-						    label      	""
-						    supplier   	"GettingLogEvent"
-						    quidu      	"3834176102C8"
-						    Event      	(object Event "Matched in SAR Store"
-							quid       	"38B2983701D9")
-						    sendEvent  	(object sendEvent
-							quid       	"383418FC03B3"))
-						(object State_Transition
-						    quid       	"3834193B0057"
-						    label      	""
-						    supplier   	"CreatingLogEvent"
-						    quidu      	"3834174F0103"
-						    Event      	(object Event "Not matched in SAR Store"
-							quid       	"38B2983701DE")
-						    sendEvent  	(object sendEvent
-							quid       	"3834193B0059")))
-					    statemachine 	(object State_Machine ""
-						quid       	"38B2983701E2"
-						states     	(list States
-						    (object State "DecodingPDU"
-							quid       	"3834180F0019"
-							transitions 	(list transition_list
-							    (object State_Transition
-								quid       	"3834188700B5"
-								label      	""
-								supplier   	":Decoding:AddingMessagePDUToReassemblyStore"
-								quidu      	"3834182500F3"
-								Event      	(object Event "If Submit or Deliver"
-								    quid       	"38B2983701E5")
-								sendEvent  	(object sendEvent
-								    quid       	"3834188700B7"))
-							    (object State_Transition
-								quid       	"38341889026A"
-								label      	""
-								supplier   	":Decoding:AddingStatusReportToSegmentationStore"
-								quidu      	"383418260393"
-								Event      	(object Event "If Status Report"
-								    quid       	"38B2983701EA")
-								sendEvent  	(object sendEvent
-								    quid       	"38341889026C")))
-							type       	"Normal")
-						    (object State "AddingMessagePDUToReassemblyStore"
-							quid       	"3834182500F3"
-							transitions 	(list transition_list
-							    (object State_Transition
-								quid       	"383419D300B5"
-								supplier   	"Decoding"
-								quidu      	"383417FD00C4"
-								sendEvent  	(object sendEvent
-								    quid       	"383419D300B7")))
-							type       	"Normal")
-						    (object State "AddingStatusReportToSegmentationStore"
-							quid       	"383418260393"
-							transitions 	(list transition_list
-							    (object State_Transition
-								quid       	"383419CC02B8"
-								supplier   	"Decoding"
-								quidu      	"383417FD00C4"
-								sendEvent  	(object sendEvent
-								    quid       	"383419CC02BA")))
-							type       	"Normal"))
-						partitions 	(list Partitions)
-						statediagrams 	(list StateDiagrams))
-					    type       	"Normal"))
-				    partitions 	(list Partitions)
-				    statediagrams 	(list StateDiagrams
-					(object State_Diagram ""
-					    quid       	"3834172C0316"
-					    title      	""
-					    zoom       	100
-					    max_height 	28350
-					    max_width  	21600
-					    origin_x   	0
-					    origin_y   	1125
-					    items      	(list diagram_item_list
-						(object StateView "Normal" "Idle" @1800
-						    location   	(1287, 150)
-						    label      	(object ItemLabel
-							Parent_View 	@1800
-							location   	(1287, 111)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	369
-							justify    	0
-							label      	"Idle")
-						    icon_style 	"Icon"
-						    quidu      	"383417330326"
-						    width      	381
-						    height     	168)
-						(object StateView "Normal" "CreatingLogEvent" @1801
-						    location   	(528, 1318)
-						    label      	(object ItemLabel
-							Parent_View 	@1801
-							location   	(528, 1260)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	470
-							justify    	0
-							label      	"CreatingLogEvent")
-						    icon_style 	"Icon"
-						    quidu      	"3834174F0103"
-						    width      	482
-						    height     	207)
-						(object StateView "Normal" "GettingLogEvent" @1802
-						    location   	(1866, 1250)
-						    label      	(object ItemLabel
-							Parent_View 	@1802
-							location   	(1866, 1202)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	431
-							justify    	0
-							label      	"GettingLogEvent")
-						    icon_style 	"Icon"
-						    quidu      	"3834176102C8"
-						    width      	443
-						    height     	187)
-						(object StateView "Normal" "UpdatingLogEvent" @1803
-						    location   	(1866, 1664)
-						    label      	(object ItemLabel
-							Parent_View 	@1803
-							location   	(1866, 1612)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	432
-							justify    	0
-							label      	"UpdatingLogEvent")
-						    icon_style 	"Icon"
-						    quidu      	"383417700122"
-						    width      	444
-						    height     	194)
-						(object StateView "Normal" "AddingEntryToReassemblyStore" @1804
-						    location   	(984, 1718)
-						    label      	(object ItemLabel
-							Parent_View 	@1804
-							location   	(984, 1663)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	663
-							justify    	0
-							label      	"AddingEntryToReassemblyStore")
-						    icon_style 	"Icon"
-						    quidu      	"383417BB0307"
-						    width      	675
-						    height     	200)
-						(object StateView "Normal" "ProcessingMessage" @1805
-						    location   	(1862, 2053)
-						    label      	(object ItemLabel
-							Parent_View 	@1805
-							location   	(1862, 2023)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	476
-							justify    	0
-							label      	"ProcessingMessage")
-						    icon_style 	"Icon"
-						    quidu      	"383417D20047"
-						    width      	488
-						    height     	150)
-						(object StateView "Normal" "DeletingEntryFromReassemblyStore" @1806
-						    location   	(1862, 2451)
-						    label      	(object ItemLabel
-							Parent_View 	@1806
-							location   	(1862, 2412)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	682
-							justify    	0
-							label      	"DeletingEntryFromReassemblyStore")
-						    icon_style 	"Icon"
-						    quidu      	"383417E900D4"
-						    width      	694
-						    height     	168)
-						(object StateView "Normal" "Decoding" @1807
-						    location   	(1293, 665)
-						    label      	(object ItemLabel
-							Parent_View 	@1807
-							location   	(1293, 411)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	1756
-							justify    	0
-							label      	"Decoding")
-						    icon_style 	"Icon"
-						    quidu      	"383417FD00C4"
-						    width      	1768
-						    height     	599)
-						(object StateView "Normal" "DecodingPDU" @1808
-						    Parent_View 	@1807
-						    location   	(1284, 540)
-						    label      	(object ItemLabel
-							Parent_View 	@1808
-							location   	(1284, 514)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	351
-							justify    	0
-							label      	"DecodingPDU")
-						    icon_style 	"Icon"
-						    quidu      	"3834180F0019"
-						    width      	363
-						    height     	143)
-						(object StateView "Normal" "AddingMessagePDUToReassemblyStore" @1809
-						    Parent_View 	@1807
-						    location   	(891, 806)
-						    label      	(object ItemLabel
-							Parent_View 	@1809
-							location   	(891, 760)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	794
-							justify    	0
-							label      	"AddingMessagePDUToReassemblyStore")
-						    icon_style 	"Icon"
-						    quidu      	"3834182500F3"
-						    width      	806
-						    height     	182)
-						(object StateView "Normal" "AddingStatusReportToSegmentationStore" @1810
-						    Parent_View 	@1807
-						    location   	(1700, 799)
-						    label      	(object ItemLabel
-							Parent_View 	@1810
-							location   	(1700, 757)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	769
-							justify    	0
-							label      	"AddingStatusReportToSegmentationStore")
-						    icon_style 	"Icon"
-						    quidu      	"383418260393"
-						    width      	781
-						    height     	175)
-						(object TransView "" @1811
-						    stereotype 	TRUE
-						    quidu      	"383418560345"
-						    client     	@1800
-						    supplier   	@1808
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1812
-						    label      	(object SegLabel @1813
-							Parent_View 	@1812
-							location   	(1119, 666)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	336
-							justify    	0
-							label      	"If Submit or Deliver"
-							pctDist    	0.433221
-							height     	12
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"3834188700B5"
-						    client     	@1808
-						    supplier   	@1809
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1814
-						    label      	(object SegLabel @1815
-							Parent_View 	@1814
-							location   	(1524, 656)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	288
-							justify    	0
-							label      	"If Status Report"
-							pctDist    	0.680665
-							height     	30
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"38341889026A"
-						    client     	@1808
-						    supplier   	@1810
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1816
-						    stereotype 	TRUE
-						    quidu      	"3834192F02E7"
-						    client     	@1802
-						    supplier   	@1803
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1817
-						    label      	(object SegLabel @1818
-							Parent_View 	@1817
-							location   	(805, 1089)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	480
-							justify    	0
-							label      	"Not matched in SAR Store"
-							pctDist    	0.481166
-							height     	6
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"3834193B0057"
-						    client     	@1807
-						    supplier   	@1801
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1819
-						    label      	(object SegLabel @1820
-							Parent_View 	@1819
-							location   	(1692, 1062)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	408
-							justify    	0
-							label      	"Matched in SAR Store"
-							pctDist    	0.534542
-							height     	9
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"383418FC03A3"
-						    client     	@1807
-						    supplier   	@1802
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1821
-						    stereotype 	TRUE
-						    quidu      	"383419CC02B8"
-						    client     	@1810
-						    supplier   	@1807
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1822
-						    stereotype 	TRUE
-						    quidu      	"383419D300B5"
-						    client     	@1809
-						    supplier   	@1807
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object StateView "Normal" "Idle" @1823
-						    location   	(528, 2454)
-						    label      	(object ItemLabel
-							Parent_View 	@1823
-							location   	(528, 2415)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	369
-							justify    	0
-							label      	"Idle")
-						    icon_style 	"Icon"
-						    quidu      	"383417330326"
-						    width      	381
-						    height     	168)
-						(object TransView "" @1824
-						    label      	(object SegLabel @1825
-							Parent_View 	@1824
-							location   	(1432, 1882)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	450
-							justify    	0
-							label      	"Message Complete"
-							pctDist    	0.435447
-							height     	8
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"38341B4F0122"
-						    client     	@1804
-						    supplier   	@1805
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1826
-						    label      	(object SegLabel @1827
-							Parent_View 	@1826
-							location   	(1909, 1870)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	348
-							justify    	0
-							label      	"Message Complete"
-							pctDist    	0.500000
-							height     	45
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"38341B510180"
-						    client     	@1803
-						    supplier   	@1805
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1828
-						    label      	(object SegLabel @1829
-							Parent_View 	@1828
-							location   	(782, 2096)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	450
-							justify    	0
-							label      	"Message Incomplete"
-							pctDist    	0.477475
-							height     	27
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"38341BC50019"
-						    client     	@1804
-						    supplier   	@1823
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1830
-						    label      	(object SegLabel @1831
-							Parent_View 	@1830
-							location   	(1227, 2077)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	450
-							justify    	0
-							label      	"Message Complete"
-							pctDist    	0.475130
-							height     	31
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"38341BC703E1"
-						    client     	@1803
-						    supplier   	@1823
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1832
-						    stereotype 	TRUE
-						    quidu      	"38341C170067"
-						    client     	@1805
-						    supplier   	@1823
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1833
-						    stereotype 	TRUE
-						    quidu      	"38341C190384"
-						    client     	@1806
-						    supplier   	@1823
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1834
-						    label      	(object SegLabel @1835
-							Parent_View 	@1834
-							location   	(1907, 2248)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	516
-							justify    	0
-							label      	"If Entry in Reassembly Store"
-							pctDist    	0.500000
-							height     	45
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"38341C2101AF"
-						    client     	@1805
-						    supplier   	@1806
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1836
-						    label      	(object SegLabel @1837
-							Parent_View 	@1836
-							location   	(762, 1524)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	336
-							justify    	0
-							label      	"If Submit or Deliver"
-							pctDist    	0.520790
-							height     	1
-							orientation 	1)
-						    stereotype 	TRUE
-						    quidu      	"383419F501ED"
-						    client     	@1801
-						    supplier   	@1804
-						    line_style 	0
-						    x_offset   	FALSE)
-						(object TransView "" @1838
-						    label      	(object SegLabel @1839
-							Parent_View 	@1838
-							location   	(533, 1891)
-							anchor_loc 	1
-							nlines     	1
-							max_width  	288
-							justify    	0
-							label      	"If Status Report"
-							pctDist    	0.496312
-							height     	5
-							orientation 	0)
-						    stereotype 	TRUE
-						    quidu      	"38341AE300F3"
-						    client     	@1801
-						    supplier   	@1823
-						    line_style 	0
-						    x_offset   	FALSE))))))
-			    (object Class "CSmsPDUReadProcess"
-				quid       	"38352E9F023A"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"38B2D4AD0097"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CActive"
-					quidu      	"3780C4A601F9"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"38352EDA0094"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"38352EDA0111"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Association "$UNNAMED$347"
-				quid       	"37D3E90C0134"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$348"
-					quid       	"37D3E90C026D"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$349"
-					quid       	"37D3E90C027C"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-					quidu      	"37D3BE8E026D"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$350"
-				quid       	"37D3F13E0098"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$351"
-					quid       	"37D3F13E021F"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$352"
-					quid       	"37D3F13E022E"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration"
-					quidu      	"3780C11703AF"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$353"
-				quid       	"37D51A0302DD"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$354"
-					quid       	"37D51A040137"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-					quidu      	"37D3BE8E026D"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$355"
-					quid       	"37D51A040138"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-					quidu      	"3780BD850209"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$356"
-				quid       	"37D51A5A01D3"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$357"
-					quid       	"37D51A5A0369"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-					quidu      	"37D3BE8E026D"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$358"
-					quid       	"37D51A5A036A"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-					quidu      	"3770C4E700A3"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$359"
-				quid       	"37D7C2AD033B"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$360"
-					quid       	"37D7C2AE0137"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration"
-					quidu      	"3780C11703AF"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$361"
-					quid       	"37D7C2AE0138"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm"
-					quidu      	"37D7B65E01A5"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$362"
-				quid       	"37D7C2B903D7"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$363"
-					quid       	"37D7C2BA0231"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$364"
-					quid       	"37D7C2BA0251"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUDelete"
-					quidu      	"37D7BF950222"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$365"
-				quid       	"37D7C2C3037A"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$366"
-					quid       	"37D7C2C40231"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUDelete"
-					quidu      	"37D7BF950222"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$367"
-					quid       	"37D7C2C40232"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm"
-					quidu      	"37D7B65E01A5"
-					is_navigable 	TRUE)))
-			    (object Association "iPhoneImage"
-				quid       	"37D7D68C01A5"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$368"
-					quid       	"37D7D68C02FD"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$369"
-					quid       	"37D7D68C031C"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage"
-					quidu      	"37D7D6120241"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$370"
-				quid       	"37D7C3C102ED"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$371"
-					quid       	"37D7C3C20222"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead"
-					quidu      	"37D3BE8E026D"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$372"
-					quid       	"37D7C3C20231"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm"
-					quidu      	"37D7B65E01A5"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$373"
-				quid       	"38352E9302F5"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$374"
-					quid       	"38352E94017E"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$375"
-					quid       	"38352E94018E"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$376"
-				quid       	"38352EDE015F"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$377"
-					quid       	"38352EDE03C0"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$378"
-					quid       	"38352EDE03D0"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-					quidu      	"38352E9F023A"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$379"
-				quid       	"38352EEE0094"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$380"
-					quid       	"38352EEE0278"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-					quidu      	"38352E9F023A"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$381"
-					quid       	"38352EEE0279"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE)))
-			    (object Association "iDeliverReportQueue"
-				quid       	"38352EFF0120"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"38352EFF0121"
-					label      	"1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-					quidu      	"38352E9F023A"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..n"
-					quid       	"38352EFF0122"
-					label      	"0..n"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-					quidu      	"3770C4E700A3"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$382"
-				quid       	"38352F11019D"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$383"
-					quid       	"38352F110391"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$384"
-					quid       	"38352F1103A1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore"
-					quidu      	"375BE9D80396"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$385"
-				quid       	"38352FDD0297"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$386"
-					quid       	"38352FDE017E"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$387"
-					quid       	"38352FDE018E"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore"
-					quidu      	"377CA18801C2"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$388"
-				quid       	"383537550353"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"383537560130"
-					label      	"1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage"
-					quidu      	"37D7D6120241"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..n"
-					quid       	"383537560131"
-					label      	"0..n"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$389"
-				quid       	"383551930324"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$390"
-					quid       	"383551940065"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-					quidu      	"38352E9F023A"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$391"
-					quid       	"383551940074"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-					quidu      	"3780BD850209"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$392"
-				quid       	"38355A8803B1"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$393"
-					quid       	"38355A890140"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-					quidu      	"38352E9F023A"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$394"
-					quid       	"38355A89014F"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm"
-					quidu      	"37D7B65E01A5"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$395"
-				quid       	"38355A9E019D"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$396"
-					quid       	"38355A9F0007"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$397"
-					quid       	"38355A9F0017"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm"
-					quidu      	"37D7B65E01A5"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$398"
-				quid       	"38465C7602FD"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$399"
-					quid       	"38465C7A001F"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-					quidu      	"38352E9F023A"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$400"
-					quid       	"38465C7A0020"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage"
-					quidu      	"37D7D6120241"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$401"
-				quid       	"38465DB60167"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$402"
-					quid       	"38465DB602FD"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$403"
-					quid       	"38465DB602FE"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot"
-					quidu      	"383E9C80003A"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$404"
-				quid       	"38466008034B"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$405"
-					quid       	"384660090290"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess"
-					quidu      	"38352E9F023A"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$406"
-					quid       	"38466009029F"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot"
-					quidu      	"383E9C80003A"
-					Containment 	"By Value"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"37CFF7340093"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	131
-				origin_y   	806
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CActive" @1840
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(173, 1106)
-					label      	(object ItemLabel
-					    Parent_View 	@1840
-					    location   	(9, 1032)
-					    nlines     	1
-					    max_width  	328
-					    justify    	0
-					    label      	"CActive")
-					icon_style 	"Icon"
-					quidu      	"3780C4A601F9"
-					width      	346
-					height     	172
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::TName" @1841
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3545, 2423)
-					label      	(object ItemLabel
-					    Parent_View 	@1841
-					    location   	(3378, 2349)
-					    nlines     	1
-					    max_width  	334
-					    justify    	0
-					    label      	"TName")
-					icon_style 	"Icon"
-					quidu      	"383A835C00F1"
-					width      	352
-					height     	172
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::TMsgLocation" @1842
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2916, 2424)
-					label      	(object ItemLabel
-					    Parent_View 	@1842
-					    location   	(2749, 2320)
-					    nlines     	1
-					    max_width  	334
-					    justify    	0
-					    label      	"TMsgLocation")
-					icon_style 	"Icon"
-					quidu      	"383538E502D6"
-					width      	352
-					height     	232
-					annotation 	8)
-				    (object AssociationViewNew "iStore" @1843
-					location   	(3230, 2423)
-					label      	(object SegLabel @1844
-					    Parent_View 	@1843
-					    location   	(3230, 2364)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iStore"
-					    pctDist    	0.500000
-					    height     	60
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"383BFA4A01D3"
-					roleview_list 	(list RoleViews
-					    (object RoleView "" @1845
-						Parent_View 	@1843
-						location   	(-312, 86)
-						stereotype 	TRUE
-						quidu      	"383BFA4A030C"
-						client     	@1843
-						supplier   	@1841
-						line_style 	0)
-					    (object RoleView "" @1846
-						Parent_View 	@1843
-						location   	(-312, 86)
-						stereotype 	TRUE
-						quidu      	"383BFA4A02FC"
-						client     	@1843
-						supplier   	@1842
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CActive" @1847
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1673, 2003)
-					label      	(object ItemLabel
-					    Parent_View 	@1847
-					    location   	(1509, 1929)
-					    nlines     	1
-					    max_width  	328
-					    justify    	0
-					    label      	"CActive")
-					icon_style 	"Icon"
-					quidu      	"3780C4A601F9"
-					width      	346
-					height     	172
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm" @1848
-					location   	(631, 695)
-					label      	(object ItemLabel
-					    Parent_View 	@1848
-					    location   	(497, 595)
-					    nlines     	1
-					    max_width  	269
-					    justify    	0
-					    label      	"MSmsComm")
-					icon_style 	"Icon"
-					quidu      	"37D7B65E01A5"
-					width      	287
-					height     	225
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ETEL::RSmsStorage" @1849
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(633, 2437)
-					label      	(object ItemLabel
-					    Parent_View 	@1849
-					    location   	(443, 2306)
-					    nlines     	1
-					    max_width  	380
-					    justify    	0
-					    label      	"RSmsStorage")
-					icon_style 	"Icon"
-					quidu      	"3780C0B4012E"
-					width      	398
-					height     	286
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDURead" @1850
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(632, 1106)
-					label      	(object ItemLabel
-					    Parent_View 	@1850
-					    location   	(471, 1000)
-					    nlines     	1
-					    max_width  	322
-					    justify    	0
-					    label      	"CSmsPDURead")
-					icon_style 	"Icon"
-					quidu      	"37D3BE8E026D"
-					width      	340
-					height     	236
-					annotation 	8)
-				    (object InheritView "" @1851
-					stereotype 	TRUE
-					quidu      	"37D51A8A004C"
-					client     	@1850
-					supplier   	@1840
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$370" @1852
-					location   	(631, 897)
-					stereotype 	TRUE
-					quidu      	"37D7C3C102ED"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$371" @1853
-						Parent_View 	@1852
-						location   	(-187, -932)
-						stereotype 	TRUE
-						quidu      	"37D7C3C20222"
-						client     	@1852
-						supplier   	@1850
-						line_style 	0)
-					    (object RoleView "$UNNAMED$372" @1854
-						Parent_View 	@1852
-						location   	(-187, -932)
-						stereotype 	TRUE
-						quidu      	"37D7C3C20231"
-						client     	@1852
-						supplier   	@1848
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms" @1855
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3523, 2742)
-					label      	(object ItemLabel
-					    Parent_View 	@1855
-					    location   	(3401, 2668)
-					    nlines     	1
-					    max_width  	244
-					    justify    	0
-					    label      	"TSms")
-					icon_style 	"Icon"
-					quidu      	"3770C4E700A3"
-					width      	262
-					height     	172
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms" @1856
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1418, 2834)
-					label      	(object ItemLabel
-					    Parent_View 	@1856
-					    location   	(1255, 2749)
-					    nlines     	1
-					    max_width  	326
-					    justify    	0
-					    label      	"TSms")
-					icon_style 	"Icon"
-					quidu      	"3770C4E700A3"
-					width      	344
-					height     	194
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging" @1857
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(631, 1919)
-					label      	(object ItemLabel
-					    Parent_View 	@1857
-					    location   	(358, 1763)
-					    nlines     	1
-					    max_width  	546
-					    justify    	0
-					    label      	"RSmsMessaging")
-					icon_style 	"Icon"
-					quidu      	"3780BD850209"
-					width      	564
-					height     	336
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$314" @1858
-					location   	(631, 2190)
-					stereotype 	TRUE
-					quidu      	"3780C0FC016D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$315" @1859
-						Parent_View 	@1858
-						location   	(-553, 376)
-						stereotype 	TRUE
-						quidu      	"3780C0FC02A5"
-						client     	@1858
-						supplier   	@1849
-						line_style 	0)
-					    (object RoleView "$UNNAMED$316" @1860
-						Parent_View 	@1858
-						location   	(-553, 376)
-						stereotype 	TRUE
-						quidu      	"3780C0FC02A6"
-						client     	@1858
-						supplier   	@1857
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$353" @1861
-					location   	(631, 1487)
-					stereotype 	TRUE
-					quidu      	"37D51A0302DD"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$354" @1862
-						Parent_View 	@1861
-						location   	(375, -612)
-						stereotype 	TRUE
-						quidu      	"37D51A040137"
-						client     	@1861
-						supplier   	@1850
-						line_style 	0)
-					    (object RoleView "$UNNAMED$355" @1863
-						Parent_View 	@1861
-						location   	(375, -612)
-						stereotype 	TRUE
-						quidu      	"37D51A040138"
-						client     	@1861
-						supplier   	@1857
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm" @1864
-					location   	(821, 2928)
-					label      	(object ItemLabel
-					    Parent_View 	@1864
-					    location   	(618, 2831)
-					    nlines     	1
-					    max_width  	407
-					    justify    	0
-					    label      	"MSmsComm")
-					icon_style 	"Icon"
-					quidu      	"37D7B65E01A5"
-					compartment 	(object Compartment
-					    Parent_View 	@1864
-					    location   	(618, 2892)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	2
-					    max_width  	669
-					    compartmentItems 	(list Compartment
-						"+ pv DeletePDUs()"))
-					width      	425
-					height     	218
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage" @1865
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1172, 1937)
-					label      	(object ItemLabel
-					    Parent_View 	@1865
-					    location   	(981, 1886)
-					    nlines     	1
-					    max_width  	382
-					    justify    	0
-					    label      	"CSmsPhoneImage")
-					icon_style 	"Icon"
-					quidu      	"37D7D6120241"
-					width      	400
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol" @1866
-					location   	(1418, 1181)
-					label      	(object ItemLabel
-					    Parent_View 	@1866
-					    location   	(1240, 968)
-					    nlines     	1
-					    max_width  	356
-					    justify    	0
-					    label      	"CSmsProtocol")
-					icon_style 	"Icon"
-					quidu      	"3780BA610015"
-					width      	374
-					height     	450
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$347" @1867
-					location   	(1016, 1141)
-					stereotype 	TRUE
-					quidu      	"37D3E90C0134"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$348" @1868
-						Parent_View 	@1867
-						location   	(-55, -724)
-						stereotype 	TRUE
-						quidu      	"37D3E90C026D"
-						client     	@1867
-						supplier   	@1866
-						line_style 	0)
-					    (object RoleView "$UNNAMED$349" @1869
-						Parent_View 	@1867
-						location   	(-55, -724)
-						stereotype 	TRUE
-						quidu      	"37D3E90C027C"
-						client     	@1867
-						supplier   	@1850
-						line_style 	0)))
-				    (object InheritView "" @1870
-					stereotype 	TRUE
-					quidu      	"37D7C11B0260"
-					client     	@1866
-					supplier   	@1848
-					line_style 	0)
-				    (object AssociationViewNew "iSmsMessaging" @1871
-					location   	(1019, 1552)
-					label      	(object SegLabel @1872
-					    Parent_View 	@1871
-					    location   	(1011, 1562)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	288
-					    justify    	0
-					    label      	"iSmsMessaging"
-					    pctDist    	0.366667
-					    height     	10
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"3780BDA0016D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$309" @1873
-						Parent_View 	@1871
-						location   	(-190, -250)
-						stereotype 	TRUE
-						quidu      	"3780BDA0038F"
-						client     	@1871
-						supplier   	@1866
-						line_style 	0)
-					    (object RoleView "$UNNAMED$310" @1874
-						Parent_View 	@1871
-						location   	(-190, -250)
-						stereotype 	TRUE
-						quidu      	"3780BDA00390"
-						client     	@1871
-						supplier   	@1857
-						line_style 	0)))
-				    (object AssociationViewNew "iPhoneImage" @1875
-					location   	(1267, 1639)
-					label      	(object SegLabel @1876
-					    Parent_View 	@1875
-					    location   	(1253, 1643)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iPhoneImage"
-					    pctDist    	0.266667
-					    height     	4
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"37D7D68C01A5"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$369" @1877
-						Parent_View 	@1875
-						location   	(-136, 458)
-						stereotype 	TRUE
-						quidu      	"37D7D68C031C"
-						client     	@1875
-						supplier   	@1865
-						line_style 	0)
-					    (object RoleView "$UNNAMED$368" @1878
-						Parent_View 	@1875
-						location   	(-136, 458)
-						stereotype 	TRUE
-						quidu      	"37D7D68C02FD"
-						client     	@1875
-						supplier   	@1866
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore" @1879
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2112, 1726)
-					label      	(object ItemLabel
-					    Parent_View 	@1879
-					    location   	(1873, 1620)
-					    nlines     	1
-					    max_width  	478
-					    justify    	0
-					    label      	"CSmsReassemblyStore")
-					icon_style 	"Icon"
-					quidu      	"375BE9D80396"
-					width      	496
-					height     	236
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$296" @1880
-					location   	(1782, 1467)
-					stereotype 	TRUE
-					quidu      	"3780BBDA0073"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$297" @1881
-						Parent_View 	@1880
-						location   	(901, 27)
-						stereotype 	TRUE
-						quidu      	"3780BBDA0238"
-						client     	@1880
-						supplier   	@1866
-						line_style 	0)
-					    (object RoleView "$UNNAMED$298" @1882
-						Parent_View 	@1880
-						location   	(901, 27)
-						stereotype 	TRUE
-						quidu      	"3780BBDA0239"
-						client     	@1880
-						supplier   	@1879
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore" @1883
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2773, 1661)
-					label      	(object ItemLabel
-					    Parent_View 	@1883
-					    location   	(2521, 1482)
-					    nlines     	1
-					    max_width  	504
-					    justify    	0
-					    label      	"CSmsSegmentationStore")
-					icon_style 	"Icon"
-					quidu      	"377CA18801C2"
-					width      	522
-					height     	382
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$299" @1884
-					location   	(2058, 1407)
-					stereotype 	TRUE
-					quidu      	"3780BBE30015"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$301" @1885
-						Parent_View 	@1884
-						location   	(452, 417)
-						stereotype 	TRUE
-						quidu      	"3780BBE3019C"
-						client     	@1884
-						supplier   	@1883
-						line_style 	0)
-					    (object RoleView "$UNNAMED$300" @1886
-						Parent_View 	@1884
-						location   	(452, 417)
-						stereotype 	TRUE
-						quidu      	"3780BBE3019B"
-						client     	@1884
-						supplier   	@1866
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm" @1887
-					location   	(3004, 2176)
-					label      	(object ItemLabel
-					    Parent_View 	@1887
-					    location   	(2766, 2101)
-					    nlines     	1
-					    max_width  	476
-					    justify    	0
-					    label      	"MSmsComm")
-					icon_style 	"Icon"
-					quidu      	"37D7B65E01A5"
-					compartment 	(object Compartment
-					    Parent_View 	@1887
-					    location   	(2766, 2162)
-					    icon_style 	"Icon"
-					    anchor     	2
-					    nlines     	2
-					    max_width  	463
-					    compartmentItems 	(list Compartment
-						"pv ProcessMessage()"))
-					width      	494
-					height     	175)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::TMsgStoreEntry" @1888
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2908, 2740)
-					label      	(object ItemLabel
-					    Parent_View 	@1888
-					    location   	(2729, 2659)
-					    nlines     	1
-					    max_width  	358
-					    justify    	0
-					    label      	"TMsgStoreEntry")
-					icon_style 	"Icon"
-					quidu      	"37D7C8C8006C"
-					width      	376
-					height     	186
-					annotation 	8)
-				    (object AssociationViewNew "iMsg" @1889
-					location   	(3243, 2740)
-					label      	(object SegLabel @1890
-					    Parent_View 	@1889
-					    location   	(3243, 2681)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iMsg"
-					    pctDist    	0.500000
-					    height     	60
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"383E9B8601A1"
-					roleview_list 	(list RoleViews
-					    (object RoleView "" @1891
-						Parent_View 	@1889
-						location   	(335, 0)
-						stereotype 	TRUE
-						quidu      	"383E9B860348"
-						client     	@1889
-						supplier   	@1855
-						line_style 	0)
-					    (object RoleView "" @1892
-						Parent_View 	@1889
-						location   	(335, 0)
-						stereotype 	TRUE
-						quidu      	"383E9B860347"
-						client     	@1889
-						supplier   	@1888
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUReadProcess" @1893
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1419, 2340)
-					label      	(object ItemLabel
-					    Parent_View 	@1893
-					    location   	(1185, 2234)
-					    nlines     	1
-					    max_width  	468
-					    justify    	0
-					    label      	"CSmsPDUReadProcess")
-					icon_style 	"Icon"
-					quidu      	"38352E9F023A"
-					width      	486
-					height     	236
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$376" @1894
-					location   	(1418, 1813)
-					stereotype 	TRUE
-					quidu      	"38352EDE015F"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$377" @1895
-						Parent_View 	@1894
-						location   	(-1034, 400)
-						stereotype 	TRUE
-						quidu      	"38352EDE03C0"
-						client     	@1894
-						supplier   	@1866
-						line_style 	0)
-					    (object RoleView "$UNNAMED$378" @1896
-						Parent_View 	@1894
-						location   	(-1034, 400)
-						stereotype 	TRUE
-						quidu      	"38352EDE03D0"
-						client     	@1894
-						supplier   	@1893
-						line_style 	0)))
-				    (object AssociationViewNew "iDeliverReportQueue" @1897
-					location   	(1418, 2597)
-					label      	(object SegLabel @1898
-					    Parent_View 	@1897
-					    location   	(1407, 2612)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iDeliverReportQueue"
-					    pctDist    	0.316667
-					    height     	15
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"38352EFF0120"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @1899
-						Parent_View 	@1897
-						location   	(-441, 1862)
-						label      	(object SegLabel @1900
-						    Parent_View 	@1899
-						    location   	(1460, 2486)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"38352EFF0121"
-						client     	@1897
-						supplier   	@1893
-						line_style 	0)
-					    (object RoleView "0..n" @1901
-						Parent_View 	@1897
-						location   	(-441, 1862)
-						label      	(object SegLabel @1902
-						    Parent_View 	@1901
-						    location   	(1404, 2703)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..n"
-						    pctDist    	0.762079
-						    height     	15
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"38352EFF0122"
-						client     	@1897
-						supplier   	@1856
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$389" @1903
-					location   	(1056, 2145)
-					stereotype 	TRUE
-					quidu      	"383551930324"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$390" @1904
-						Parent_View 	@1903
-						location   	(422, 159)
-						stereotype 	TRUE
-						quidu      	"383551940065"
-						client     	@1903
-						supplier   	@1893
-						line_style 	0)
-					    (object RoleView "$UNNAMED$391" @1905
-						Parent_View 	@1903
-						location   	(422, 159)
-						stereotype 	TRUE
-						quidu      	"383551940074"
-						client     	@1903
-						supplier   	@1857
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$392" @1906
-					location   	(1113, 2638)
-					stereotype 	TRUE
-					quidu      	"38355A8803B1"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$393" @1907
-						Parent_View 	@1906
-						location   	(-535, 620)
-						stereotype 	TRUE
-						quidu      	"38355A890140"
-						client     	@1906
-						supplier   	@1893
-						line_style 	0)
-					    (object RoleView "$UNNAMED$394" @1908
-						Parent_View 	@1906
-						location   	(-535, 620)
-						stereotype 	TRUE
-						quidu      	"38355A89014F"
-						client     	@1906
-						supplier   	@1864
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$398" @1909
-					location   	(1278, 2110)
-					stereotype 	TRUE
-					quidu      	"38465C7602FD"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$399" @1910
-						Parent_View 	@1909
-						location   	(113, 173)
-						stereotype 	TRUE
-						quidu      	"38465C7A001F"
-						client     	@1909
-						supplier   	@1893
-						line_style 	0)
-					    (object RoleView "$UNNAMED$400" @1911
-						Parent_View 	@1909
-						location   	(113, 173)
-						stereotype 	TRUE
-						quidu      	"38465C7A0020"
-						client     	@1909
-						supplier   	@1865
-						line_style 	0)))
-				    (object InheritView "" @1912
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2D4AD0097"
-					client     	@1893
-					supplier   	@1847
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess" @1913
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2114, 2338)
-					label      	(object ItemLabel
-					    Parent_View 	@1913
-					    location   	(1826, 2216)
-					    nlines     	1
-					    max_width  	576
-					    justify    	0
-					    label      	"CSmsPDUProcess")
-					icon_style 	"Icon"
-					quidu      	"3829955C02AD"
-					width      	594
-					height     	269
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$373" @1914
-					location   	(1792, 1804)
-					stereotype 	TRUE
-					quidu      	"38352E9302F5"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$374" @1915
-						Parent_View 	@1914
-						location   	(-672, 972)
-						stereotype 	TRUE
-						quidu      	"38352E94017E"
-						client     	@1914
-						supplier   	@1866
-						line_style 	0)
-					    (object RoleView "$UNNAMED$375" @1916
-						Parent_View 	@1914
-						location   	(-672, 972)
-						stereotype 	TRUE
-						quidu      	"38352E94018E"
-						client     	@1914
-						supplier   	@1913
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$382" @1917
-					location   	(2112, 2023)
-					stereotype 	TRUE
-					quidu      	"38352F11019D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$383" @1918
-						Parent_View 	@1917
-						location   	(-252, 1556)
-						stereotype 	TRUE
-						quidu      	"38352F110391"
-						client     	@1917
-						supplier   	@1913
-						line_style 	0)
-					    (object RoleView "$UNNAMED$384" @1919
-						Parent_View 	@1917
-						location   	(-252, 1556)
-						stereotype 	TRUE
-						quidu      	"38352F1103A1"
-						client     	@1917
-						supplier   	@1879
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$385" @1920
-					location   	(2413, 2027)
-					stereotype 	TRUE
-					quidu      	"38352FDD0297"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$386" @1921
-						Parent_View 	@1920
-						location   	(29, 1780)
-						stereotype 	TRUE
-						quidu      	"38352FDE017E"
-						client     	@1920
-						supplier   	@1913
-						line_style 	0)
-					    (object RoleView "$UNNAMED$387" @1922
-						Parent_View 	@1920
-						location   	(29, 1780)
-						stereotype 	TRUE
-						quidu      	"38352FDE018E"
-						client     	@1920
-						supplier   	@1883
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$395" @1923
-					location   	(2583, 2251)
-					stereotype 	TRUE
-					quidu      	"38355A9E019D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$396" @1924
-						Parent_View 	@1923
-						location   	(935, 233)
-						stereotype 	TRUE
-						quidu      	"38355A9F0007"
-						client     	@1923
-						supplier   	@1913
-						line_style 	0)
-					    (object RoleView "$UNNAMED$397" @1925
-						Parent_View 	@1923
-						location   	(935, 233)
-						stereotype 	TRUE
-						quidu      	"38355A9F0017"
-						client     	@1923
-						supplier   	@1887
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$379" @1926
-					location   	(1739, 2338)
-					stereotype 	TRUE
-					quidu      	"38352EEE0094"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$380" @1927
-						Parent_View 	@1926
-						location   	(-725, 1506)
-						stereotype 	TRUE
-						quidu      	"38352EEE0278"
-						client     	@1926
-						supplier   	@1893
-						line_style 	0)
-					    (object RoleView "$UNNAMED$381" @1928
-						Parent_View 	@1926
-						location   	(-725, 1506)
-						stereotype 	TRUE
-						quidu      	"38352EEE0279"
-						client     	@1926
-						supplier   	@1913
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot" @1929
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2114, 2740)
-					label      	(object ItemLabel
-					    Parent_View 	@1929
-					    location   	(1947, 2666)
-					    nlines     	1
-					    max_width  	334
-					    justify    	0
-					    label      	"TSmsSlot")
-					icon_style 	"Icon"
-					quidu      	"383E9C80003A"
-					width      	352
-					height     	172
-					annotation 	8)
-				    (object InheritView "" @1930
-					stereotype 	TRUE
-					quidu      	"383E9CA802E9"
-					client     	@1929
-					supplier   	@1842
-					line_style 	0)
-				    (object AssociationViewNew "" @1931
-					location   	(2504, 2740)
-					stereotype 	TRUE
-					quidu      	"383E9CD80143"
-					roleview_list 	(list RoleViews
-					    (object RoleView "" @1932
-						Parent_View 	@1931
-						location   	(-162, 403)
-						stereotype 	TRUE
-						quidu      	"383E9CD80309"
-						client     	@1931
-						supplier   	@1888
-						line_style 	0)
-					    (object RoleView "" @1933
-						Parent_View 	@1931
-						location   	(-162, 403)
-						stereotype 	TRUE
-						quidu      	"383E9CD80308"
-						client     	@1931
-						supplier   	@1929
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$404" @1934
-					location   	(1793, 2555)
-					stereotype 	TRUE
-					quidu      	"38466008034B"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$405" @1935
-						Parent_View 	@1934
-						location   	(-321, -185)
-						stereotype 	TRUE
-						quidu      	"384660090290"
-						client     	@1934
-						supplier   	@1893
-						line_style 	0)
-					    (object RoleView "$UNNAMED$406" @1936
-						Parent_View 	@1934
-						location   	(-321, -185)
-						stereotype 	TRUE
-						quidu      	"38466009029F"
-						client     	@1934
-						supplier   	@1929
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$401" @1937
-					location   	(2114, 2562)
-					stereotype 	TRUE
-					quidu      	"38465DB60167"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$402" @1938
-						Parent_View 	@1937
-						location   	(-553, 239)
-						stereotype 	TRUE
-						quidu      	"38465DB602FD"
-						client     	@1937
-						supplier   	@1913
-						line_style 	0)
-					    (object RoleView "$UNNAMED$403" @1939
-						Parent_View 	@1937
-						location   	(-553, 239)
-						stereotype 	TRUE
-						quidu      	"38465DB602FE"
-						client     	@1937
-						supplier   	@1929
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CLogActive" @1940
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2801, 1983)
-					label      	(object ItemLabel
-					    Parent_View 	@1940
-					    location   	(2666, 1911)
-					    nlines     	1
-					    max_width  	270
-					    justify    	0
-					    label      	"CLogActive")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"38B2B3CA023D"
-					width      	288
-					height     	168
-					annotation 	8)
-				    (object InheritView "" @1941
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2D53800C6"
-					client     	@1913
-					supplier   	@1940
-					line_style 	0)))))
-		    (object Class_Category "SENDING"
-			quid       	"37CFF7260026"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsQueuedSend"
-				quid       	"37D520A10118"
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iOptions"
-					quid       	"382994BB003C"
-					type       	"TUint")))
-			    (object Class "MSmsMessageSendObserver"
-				quid       	"37D7C46E01D4"
-				operations 	(list Operations
-				    (object Operation "pv MessageSendCompleted"
-					quid       	"37D7C4990203"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsMessageSend"
-				quid       	"382193B500F4"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3780C4B401DA"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CActive"
-					quidu      	"3780C4A601F9"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"3821946F0113"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"3821B8F601EE"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsActive"
-				quid       	"382196CF022C")
-			    (object Class "CSmsSendTry"
-				quid       	"3821986E02B9"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"382198B303C3"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsActive"
-					quidu      	"382196CF022C")))
-			    (object Class "CSmsPDUSend"
-				quid       	"3780C15800B1"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"382196E10132"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsActive"
-					quidu      	"382196CF022C"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"3780C49F0295"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Association "$UNNAMED$407"
-				quid       	"37D51D3703E6"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$408"
-					quid       	"37D51D3800D9"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-					quidu      	"382193B500F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$409"
-					quid       	"37D51D3800E9"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm"
-					quidu      	"37D7B65E01A5"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$410"
-				quid       	"37D5210202FC"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"37D521030398"
-					label      	"1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "n"
-					quid       	"37D5210303A8"
-					label      	"n"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsQueuedSend"
-					quidu      	"37D520A10118"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iObserver"
-				quid       	"37D5211202CD"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$411"
-					quid       	"37D521150398"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsQueuedSend"
-					quidu      	"37D520A10118"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$412"
-					quid       	"37D521150399"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::MSmsMessageSendObserver"
-					quidu      	"37D7C46E01D4"
-					is_navigable 	TRUE)))
-			    (object Association "iSmsMessage"
-				quid       	"37D52137032B"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$413"
-					quid       	"37D5213800AA"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsQueuedSend"
-					quidu      	"37D520A10118"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$414"
-					quid       	"37D5213800AB"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iSmsArray"
-				quid       	"37D5216A0398"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"37D5216B01D3"
-					label      	"1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-					quidu      	"382193B500F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "n"
-					quid       	"37D5216B01F2"
-					label      	"n"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-					quidu      	"3770C4E700A3"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$415"
-				quid       	"382198580355"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$416"
-					quid       	"382198590096"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-					quidu      	"382193B500F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$417"
-					quid       	"382198590097"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore"
-					quidu      	"377CA18801C2"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$418"
-				quid       	"382198AF03B3"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$419"
-					quid       	"382198B00171"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsPDUSend"
-					quidu      	"3780C15800B1"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$420"
-					quid       	"382198B00172"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsSendTry"
-					quidu      	"3821986E02B9"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$421"
-				quid       	"382198DF0307"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$422"
-					quid       	"382198E00104"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsPDUSend"
-					quidu      	"3780C15800B1"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$423"
-					quid       	"382198E00105"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-					quidu      	"3780BD850209"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$424"
-				quid       	"382199D903E2"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$425"
-					quid       	"382199DA0336"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$426"
-					quid       	"382199DA0346"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-					quidu      	"382193B500F4"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$427"
-				quid       	"3821B8680336"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$428"
-					quid       	"3821B8690152"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$429"
-					quid       	"3821B869021D"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CLogWrapper"
-					quidu      	"3821B81002E8"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$430"
-				quid       	"382993D9002D"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$431"
-					quid       	"382993D90221"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-					quidu      	"382193B500F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$432"
-					quid       	"382993D90222"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CLogWrapper"
-					quidu      	"3821B81002E8"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$433"
-				quid       	"382993ED01B3"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$434"
-					quid       	"382993ED0388"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend"
-					quidu      	"382193B500F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$435"
-					quid       	"382993ED0389"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CLogEvent"
-					quidu      	"382993E0028E"
-					Containment 	"By Value"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"37CFF73B0352"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	638
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CActive" @1942
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1531, 3034)
-					label      	(object ItemLabel
-					    Parent_View 	@1942
-					    location   	(1450, 3016)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CActive")
-					icon_style 	"Icon"
-					quidu      	"3780C4A601F9"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SENDING::CSmsActive" @1943
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(862, 3232)
-					label      	(object ItemLabel
-					    Parent_View 	@1943
-					    location   	(781, 3214)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsActive")
-					icon_style 	"Icon"
-					quidu      	"382196CF022C"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage" @1944
-					location   	(2722, 1929)
-					label      	(object ItemLabel
-					    Parent_View 	@1944
-					    location   	(2641, 1911)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsMessage")
-					icon_style 	"Icon"
-					quidu      	"35E3DBB702F4"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SENDING::MSmsMessageSendObserver" @1945
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2083, 1416)
-					label      	(object ItemLabel
-					    Parent_View 	@1945
-					    location   	(2002, 1398)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"MSmsMessageSendObserver")
-					icon_style 	"Icon"
-					quidu      	"37D7C46E01D4"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SENDING::CSmsSendTry" @1946
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(309, 3230)
-					label      	(object ItemLabel
-					    Parent_View 	@1946
-					    location   	(228, 3212)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsSendTry")
-					icon_style 	"Icon"
-					quidu      	"3821986E02B9"
-					annotation 	8)
-				    (object InheritView "" @1947
-					stereotype 	TRUE
-					quidu      	"382198B303C3"
-					client     	@1946
-					supplier   	@1943
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocolFamily" @1948
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(362, 921)
-					label      	(object ItemLabel
-					    Parent_View 	@1948
-					    location   	(137, 708)
-					    nlines     	1
-					    max_width  	451
-					    justify    	0
-					    label      	"CSmsProtocolFamily")
-					icon_style 	"Icon"
-					quidu      	"3780BA5F0295"
-					width      	469
-					height     	450
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProvider" @1949
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2778, 1177)
-					label      	(object ItemLabel
-					    Parent_View 	@1949
-					    location   	(2697, 1159)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsProvider")
-					icon_style 	"Icon"
-					quidu      	"3780BA620276"
-					annotation 	8)
-				    (object InheritView "" @1950
-					stereotype 	TRUE
-					quidu      	"37D7C48E003D"
-					client     	@1949
-					supplier   	@1945
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SENDING::CSmsQueuedSend" @1951
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2077, 1781)
-					label      	(object ItemLabel
-					    Parent_View 	@1951
-					    location   	(1996, 1763)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsQueuedSend")
-					icon_style 	"Icon"
-					quidu      	"37D520A10118"
-					annotation 	8)
-				    (object AssociationViewNew "iSmsMessage" @1952
-					location   	(2399, 1854)
-					label      	(object SegLabel @1953
-					    Parent_View 	@1952
-					    location   	(2399, 1795)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iSmsMessage"
-					    pctDist    	0.500000
-					    height     	60
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"37D52137032B"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$413" @1954
-						Parent_View 	@1952
-						location   	(217, 119)
-						stereotype 	TRUE
-						quidu      	"37D5213800AA"
-						client     	@1952
-						supplier   	@1951
-						line_style 	0)
-					    (object RoleView "$UNNAMED$414" @1955
-						Parent_View 	@1952
-						location   	(217, 119)
-						stereotype 	TRUE
-						quidu      	"37D5213800AB"
-						client     	@1952
-						supplier   	@1944
-						line_style 	0)))
-				    (object AssociationViewNew "iObserver" @1956
-					location   	(2079, 1598)
-					label      	(object SegLabel @1957
-					    Parent_View 	@1956
-					    location   	(2077, 1570)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iObserver"
-					    pctDist    	0.466667
-					    height     	29
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"37D5211202CD"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$411" @1958
-						Parent_View 	@1956
-						location   	(-700, 371)
-						stereotype 	TRUE
-						quidu      	"37D521150398"
-						client     	@1956
-						supplier   	@1951
-						line_style 	0)
-					    (object RoleView "$UNNAMED$412" @1959
-						Parent_View 	@1956
-						location   	(-700, 371)
-						stereotype 	TRUE
-						quidu      	"37D521150399"
-						client     	@1956
-						supplier   	@1945
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging" @1960
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(462, 1836)
-					label      	(object ItemLabel
-					    Parent_View 	@1960
-					    location   	(162, 1617)
-					    nlines     	1
-					    max_width  	601
-					    justify    	0
-					    label      	"RSmsMessaging")
-					icon_style 	"Icon"
-					quidu      	"3780BD850209"
-					width      	619
-					height     	462
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms" @1961
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(931, 3431)
-					label      	(object ItemLabel
-					    Parent_View 	@1961
-					    location   	(850, 3413)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"TSms")
-					icon_style 	"Icon"
-					quidu      	"3770C4E700A3"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm" @1962
-					location   	(2130, 2163)
-					label      	(object ItemLabel
-					    Parent_View 	@1962
-					    location   	(2049, 2145)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"MSmsComm")
-					icon_style 	"Icon"
-					quidu      	"37D7B65E01A5"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore" @1963
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(912, 2166)
-					label      	(object ItemLabel
-					    Parent_View 	@1963
-					    location   	(831, 2148)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsSegmentationStore")
-					icon_style 	"Icon"
-					quidu      	"377CA18801C2"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SENDING::CSmsPDUSend" @1964
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(409, 2709)
-					label      	(object ItemLabel
-					    Parent_View 	@1964
-					    location   	(231, 2574)
-					    nlines     	1
-					    max_width  	357
-					    justify    	0
-					    label      	"CSmsPDUSend")
-					icon_style 	"Icon"
-					quidu      	"3780C15800B1"
-					width      	375
-					height     	294
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$326" @1965
-					location   	(712, 3128)
-					stereotype 	TRUE
-					quidu      	"3780C3CA0218"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$327" @1966
-						Parent_View 	@1965
-						location   	(-1028, 1038)
-						stereotype 	TRUE
-						quidu      	"3780C3CA0380"
-						client     	@1965
-						supplier   	@1964
-						line_style 	0)
-					    (object RoleView "$UNNAMED$328" @1967
-						Parent_View 	@1965
-						location   	(-1028, 1038)
-						stereotype 	TRUE
-						quidu      	"3780C3CA0381"
-						client     	@1965
-						supplier   	@1961
-						line_style 	0)))
-				    (object InheritView "" @1968
-					stereotype 	TRUE
-					quidu      	"382196E10132"
-					client     	@1964
-					supplier   	@1943
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$418" @1969
-					location   	(346, 3027)
-					stereotype 	TRUE
-					quidu      	"382198AF03B3"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$419" @1970
-						Parent_View 	@1969
-						location   	(28, -26)
-						stereotype 	TRUE
-						quidu      	"382198B00171"
-						client     	@1969
-						supplier   	@1964
-						line_style 	0)
-					    (object RoleView "$UNNAMED$420" @1971
-						Parent_View 	@1969
-						location   	(28, -26)
-						stereotype 	TRUE
-						quidu      	"382198B00172"
-						client     	@1969
-						supplier   	@1946
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$421" @1972
-					location   	(431, 2314)
-					stereotype 	TRUE
-					quidu      	"382198DF0307"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$422" @1973
-						Parent_View 	@1972
-						location   	(119, 632)
-						stereotype 	TRUE
-						quidu      	"382198E00104"
-						client     	@1972
-						supplier   	@1964
-						line_style 	0)
-					    (object RoleView "$UNNAMED$423" @1974
-						Parent_View 	@1972
-						location   	(119, 632)
-						stereotype 	TRUE
-						quidu      	"382198E00105"
-						client     	@1972
-						supplier   	@1960
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol" @1975
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1093, 1294)
-					label      	(object ItemLabel
-					    Parent_View 	@1975
-					    location   	(1012, 1276)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsProtocol")
-					icon_style 	"Icon"
-					quidu      	"3780BA610015"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$293" @1976
-					location   	(815, 1151)
-					stereotype 	TRUE
-					quidu      	"3780BAF60238"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$294" @1977
-						Parent_View 	@1976
-						location   	(-1094, 298)
-						stereotype 	TRUE
-						quidu      	"3780BAF603BE"
-						client     	@1976
-						supplier   	@1948
-						line_style 	0)
-					    (object RoleView "$UNNAMED$295" @1978
-						Parent_View 	@1976
-						location   	(-1094, 298)
-						stereotype 	TRUE
-						quidu      	"3780BAF603BF"
-						client     	@1976
-						supplier   	@1975
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$329" @1979
-					location   	(1935, 1234)
-					stereotype 	TRUE
-					quidu      	"3781D8DF0174"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$331" @1980
-						Parent_View 	@1979
-						location   	(-844, 7)
-						stereotype 	TRUE
-						quidu      	"3781D8E000C9"
-						client     	@1979
-						supplier   	@1975
-						line_style 	0)
-					    (object RoleView "$UNNAMED$330" @1981
-						Parent_View 	@1979
-						location   	(-844, 7)
-						stereotype 	TRUE
-						quidu      	"3781D8E000C8"
-						client     	@1979
-						supplier   	@1949
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$338" @1982
-					location   	(1935, 1234)
-					stereotype 	TRUE
-					quidu      	"37CFF839019D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$340" @1983
-						Parent_View 	@1982
-						location   	(-844, 7)
-						stereotype 	TRUE
-						quidu      	"37CFF83A0026"
-						client     	@1982
-						supplier   	@1975
-						line_style 	0)
-					    (object RoleView "$UNNAMED$339" @1984
-						Parent_View 	@1982
-						location   	(-844, 7)
-						stereotype 	TRUE
-						quidu      	"37CFF83A0006"
-						client     	@1982
-						supplier   	@1949
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$341" @1985
-					location   	(1930, 1056)
-					stereotype 	TRUE
-					quidu      	"37CFF83C0268"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$343" @1986
-						Parent_View 	@1985
-						location   	(895, -175)
-						stereotype 	TRUE
-						quidu      	"37CFF83D00B2"
-						client     	@1985
-						supplier   	@1949
-						vertices   	(list Points
-						    (1930, 1056)
-						    (2049, 1022)
-						    (2687, 1157))
-						line_style 	0
-						label      	(object SegLabel @1987
-						    Parent_View 	@1986
-						    location   	(2601, 1194)
-						    anchor     	2
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	15
-						    justify    	0
-						    label      	"*"
-						    pctDist    	0.900000
-						    height     	54
-						    orientation 	1))
-					    (object RoleView "$UNNAMED$342" @1988
-						Parent_View 	@1985
-						location   	(895, -175)
-						stereotype 	TRUE
-						quidu      	"37CFF83D00A3"
-						client     	@1985
-						supplier   	@1975
-						line_style 	0
-						label      	(object SegLabel @1989
-						    Parent_View 	@1988
-						    location   	(1274, 1297)
-						    anchor     	2
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	15
-						    justify    	0
-						    label      	"1"
-						    pctDist    	0.900000
-						    height     	54
-						    orientation 	0))))
-				    (object AssociationViewNew "$UNNAMED$410" @1990
-					location   	(1585, 1537)
-					stereotype 	TRUE
-					quidu      	"37D5210202FC"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @1991
-						Parent_View 	@1990
-						location   	(-433, 90)
-						label      	(object SegLabel @1992
-						    Parent_View 	@1991
-						    location   	(1259, 1329)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"37D521030398"
-						client     	@1990
-						supplier   	@1975
-						line_style 	0)
-					    (object RoleView "n" @1993
-						Parent_View 	@1990
-						location   	(-433, 90)
-						label      	(object SegLabel @1994
-						    Parent_View 	@1993
-						    location   	(1950, 1671)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37D5210303A8"
-						client     	@1990
-						supplier   	@1951
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$299" @1995
-					location   	(1001, 1729)
-					stereotype 	TRUE
-					quidu      	"3780BBE30015"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$300" @1996
-						Parent_View 	@1995
-						location   	(-614, 311)
-						stereotype 	TRUE
-						quidu      	"3780BBE3019B"
-						client     	@1995
-						supplier   	@1975
-						line_style 	0)
-					    (object RoleView "$UNNAMED$301" @1997
-						Parent_View 	@1995
-						location   	(-614, 311)
-						stereotype 	TRUE
-						quidu      	"3780BBE3019C"
-						client     	@1995
-						supplier   	@1963
-						line_style 	0)))
-				    (object AssociationViewNew "iSmsMessaging" @1998
-					location   	(892, 1464)
-					label      	(object SegLabel @1999
-					    Parent_View 	@1998
-					    location   	(888, 1466)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	288
-					    justify    	0
-					    label      	"iSmsMessaging"
-					    pctDist    	0.450000
-					    height     	2
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"3780BDA0016D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$309" @2000
-						Parent_View 	@1998
-						location   	(-317, -338)
-						stereotype 	TRUE
-						quidu      	"3780BDA0038F"
-						client     	@1998
-						supplier   	@1975
-						line_style 	0)
-					    (object RoleView "$UNNAMED$310" @2001
-						Parent_View 	@1998
-						location   	(-317, -338)
-						stereotype 	TRUE
-						quidu      	"3780BDA00390"
-						client     	@1998
-						supplier   	@1960
-						line_style 	0)))
-				    (object InheritView "" @2002
-					stereotype 	TRUE
-					quidu      	"37D7C11B0260"
-					client     	@1975
-					supplier   	@1962
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CLogWrapper" @2003
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1652, 2119)
-					label      	(object ItemLabel
-					    Parent_View 	@2003
-					    location   	(1571, 2101)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CLogWrapper")
-					icon_style 	"Icon"
-					quidu      	"3821B81002E8"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$427" @2004
-					location   	(1371, 1706)
-					stereotype 	TRUE
-					quidu      	"3821B8680336"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$428" @2005
-						Parent_View 	@2004
-						location   	(-288, -435)
-						stereotype 	TRUE
-						quidu      	"3821B8690152"
-						client     	@2004
-						supplier   	@1975
-						line_style 	0)
-					    (object RoleView "$UNNAMED$429" @2006
-						Parent_View 	@2004
-						location   	(-288, -435)
-						stereotype 	TRUE
-						quidu      	"3821B869021D"
-						client     	@2004
-						supplier   	@2003
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SENDING::CSmsMessageSend" @2007
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1530, 2592)
-					label      	(object ItemLabel
-					    Parent_View 	@2007
-					    location   	(1449, 2574)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsMessageSend")
-					icon_style 	"Icon"
-					quidu      	"382193B500F4"
-					annotation 	8)
-				    (object AssociationViewNew "iSmsArray" @2008
-					location   	(1229, 3011)
-					label      	(object SegLabel @2009
-					    Parent_View 	@2008
-					    location   	(1209, 2987)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iSmsArray"
-					    pctDist    	0.166667
-					    height     	25
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"37D5216A0398"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2010
-						Parent_View 	@2008
-						location   	(407, 972)
-						label      	(object SegLabel @2011
-						    Parent_View 	@2010
-						    location   	(1417, 2681)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.793642
-						    height     	40
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37D5216B01D3"
-						client     	@2008
-						supplier   	@2007
-						line_style 	0)
-					    (object RoleView "n" @2012
-						Parent_View 	@2008
-						location   	(407, 972)
-						label      	(object SegLabel @2013
-						    Parent_View 	@2012
-						    location   	(974, 3298)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"37D5216B01F2"
-						client     	@2008
-						supplier   	@1961
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$407" @2014
-					location   	(1827, 2377)
-					stereotype 	TRUE
-					quidu      	"37D51D3703E6"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$408" @2015
-						Parent_View 	@2014
-						location   	(406, 437)
-						stereotype 	TRUE
-						quidu      	"37D51D3800D9"
-						client     	@2014
-						supplier   	@2007
-						line_style 	0)
-					    (object RoleView "$UNNAMED$409" @2016
-						Parent_View 	@2014
-						location   	(406, 437)
-						stereotype 	TRUE
-						quidu      	"37D51D3800E9"
-						client     	@2014
-						supplier   	@1962
-						line_style 	0)))
-				    (object InheritView "" @2017
-					stereotype 	TRUE
-					quidu      	"3780C4B401DA"
-					client     	@2007
-					supplier   	@1942
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$415" @2018
-					location   	(1221, 2378)
-					stereotype 	TRUE
-					quidu      	"382198580355"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$416" @2019
-						Parent_View 	@2018
-						location   	(-878, 168)
-						stereotype 	TRUE
-						quidu      	"382198590096"
-						client     	@2018
-						supplier   	@2007
-						line_style 	0)
-					    (object RoleView "$UNNAMED$417" @2020
-						Parent_View 	@2018
-						location   	(-878, 168)
-						stereotype 	TRUE
-						quidu      	"382198590097"
-						client     	@2018
-						supplier   	@1963
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$317" @2021
-					location   	(1017, 2644)
-					stereotype 	TRUE
-					quidu      	"3780C1870082"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$318" @2022
-						Parent_View 	@2021
-						location   	(-589, 1013)
-						stereotype 	TRUE
-						quidu      	"3780C1870276"
-						client     	@2021
-						supplier   	@2007
-						line_style 	0)
-					    (object RoleView "$UNNAMED$319" @2023
-						Parent_View 	@2021
-						location   	(-589, 1013)
-						stereotype 	TRUE
-						quidu      	"3780C1870277"
-						client     	@2021
-						supplier   	@1964
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$424" @2024
-					location   	(1310, 1942)
-					stereotype 	TRUE
-					quidu      	"382199D903E2"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$425" @2025
-						Parent_View 	@2024
-						location   	(-111, -591)
-						stereotype 	TRUE
-						quidu      	"382199DA0336"
-						client     	@2024
-						supplier   	@1975
-						line_style 	0)
-					    (object RoleView "$UNNAMED$426" @2026
-						Parent_View 	@2024
-						location   	(-111, -591)
-						stereotype 	TRUE
-						quidu      	"382199DA0346"
-						client     	@2024
-						supplier   	@2007
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$430" @2027
-					location   	(1590, 2355)
-					stereotype 	TRUE
-					quidu      	"382993D9002D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$431" @2028
-						Parent_View 	@2027
-						location   	(-75, 220)
-						stereotype 	TRUE
-						quidu      	"382993D90221"
-						client     	@2027
-						supplier   	@2007
-						line_style 	0)
-					    (object RoleView "$UNNAMED$432" @2029
-						Parent_View 	@2027
-						location   	(-75, 220)
-						stereotype 	TRUE
-						quidu      	"382993D90222"
-						client     	@2027
-						supplier   	@2003
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CLogEvent" @2030
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2108, 2870)
-					label      	(object ItemLabel
-					    Parent_View 	@2030
-					    location   	(2027, 2852)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CLogEvent")
-					icon_style 	"Icon"
-					quidu      	"382993E0028E"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$433" @2031
-					location   	(1820, 2730)
-					stereotype 	TRUE
-					quidu      	"382993ED01B3"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$434" @2032
-						Parent_View 	@2031
-						location   	(-288, -140)
-						stereotype 	TRUE
-						quidu      	"382993ED0388"
-						client     	@2031
-						supplier   	@2007
-						line_style 	0)
-					    (object RoleView "$UNNAMED$435" @2033
-						Parent_View 	@2031
-						location   	(-288, -140)
-						stereotype 	TRUE
-						quidu      	"382993ED0389"
-						client     	@2031
-						supplier   	@2030
-						line_style 	0)))))))
-		    (object Class_Category "REASSEMBLY STORE"
-			quid       	"3770C35301DB"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CWAPReassemblyStore"
-				quid       	"375BE9B20193"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"375BF01601F0"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CSARStore"
-					quidu      	"375BD0900089"))
-				operations 	(list Operations
-				    (object Operation "AddMessageL"
-					quid       	"375BFC5E0145"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt&")
-					    (object Parameter "aDatagram"
-						type       	"c. CWapDatagram&"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetDatagramL"
-					quid       	"37611A04026B"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt"
-						initv      	"default")
-					    (object Parameter "aDatagram"
-						type       	"CWapDatagram&"
-						initv      	"default"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeEntryL"
-					quid       	"3A643B870046"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "ExternalizeEntryL"
-					quid       	"3A643B9A0350"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "PopulateEntry"
-					quid       	"3A643BA600B8"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "CreateEntryL"
-					quid       	"3A643BB202A0"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "NewL"
-					quid       	"3A643BDB00B4"
-					parameters 	(list Parameters
-					    (object Parameter "aFs"
-						type       	"RFs&"))
-					result     	"static CWapReassemblyStore*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "HBufC"
-				quid       	"3770C6FF018D")
-			    (object Class "TWAPMessageSettings"
-				quid       	"377CA32C03A6")
-			    (object Class "CSmsReassemblyStore"
-				quid       	"375BE9D80396"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"375BF01802AC"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CSARStore"
-					quidu      	"375BD0900089"))
-				operations 	(list Operations
-				    (object Operation "AddMessagePDUL"
-					quid       	"375BFC890173"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt&")
-					    (object Parameter "aComplete"
-						type       	"TBool&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aSms"
-						type       	"const TSms&")
-					    (object Parameter "aServiceCenterAddressPresent"
-						type       	"TBool"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetMessageL"
-					quid       	"376119F800C5"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt&"
-						initv      	"default")
-					    (object Parameter "aSmsMessage"
-						type       	"CSmsMessage&"
-						initv      	"default"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NewL"
-					quid       	"3A6435AE02B0"
-					parameters 	(list Parameters
-					    (object Parameter "aFs"
-						type       	"RFs&"))
-					result     	"static CSmsReassemblyStore*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "NewMessagePDUL"
-					quid       	"3A64375403E3"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aSms"
-						type       	"const TSms&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeEntryL"
-					quid       	"3A6437C901D9"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId")
-					    (object Parameter "aSmsMessage"
-						type       	"CSmsMessage&")
-					    (object Parameter "aIndexArray"
-						type       	"CArrayFix<TInt>&")
-					    (object Parameter "aSmsArray"
-						type       	"CArrayFix<TSms>&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "ExternalizeEntryL"
-					quid       	"3A643859029E"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aIndexArray"
-						type       	"c. CArrayFix<TInt>&")
-					    (object Parameter "aSmsArray"
-						type       	"c. CArrayFix<TSms>&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "PopulateEntry"
-					quid       	"3A64393201BA"
-					parameters 	(list Parameters
-					    (object Parameter "aEntry"
-						type       	"TSAREntry&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aNumSmss"
-						type       	"TInt"))
-					result     	"static void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "CreateEntryL"
-					quid       	"3A6439AB0380"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aIndexArray"
-						type       	"c. CArrayFix<TInt>&")
-					    (object Parameter "aSmsArray"
-						type       	"c. CArrayFix<TSms>&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)))
-			    (object Association "$UNNAMED$436"
-				quid       	"375BF1A4003B"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$437"
-					quid       	"375BF1A4021F"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CSARStore"
-					quidu      	"375BD0900089"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$438"
-					quid       	"375BF1A40220"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CPermanentFileStore"
-					quidu      	"3770C5920287"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iEntryArray"
-				quid       	"375BD0A903A6"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"375BD0AA01E1"
-					label      	"1"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CSARStore"
-					quidu      	"375BD0900089"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..n"
-					quid       	"375BD0AA01E2"
-					label      	"0..n"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::TSAREntry"
-					quidu      	"375BCD210348"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$439"
-				quid       	"375BF1EC0135"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$440"
-					quid       	"375BF1EC028D"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore"
-					quidu      	"375BE9D80396"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$441"
-					quid       	"375BF1EC028E"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-					quidu      	"3770C4E700A3"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$442"
-				quid       	"375BF1D502EA"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"375BF1D600C8"
-					label      	"1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore"
-					quidu      	"375BE9D80396"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..n"
-					quid       	"375BF1D600C9"
-					label      	"0..n"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$443"
-				quid       	"376116F90394"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"376116FA0104"
-					label      	"1"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "1..n"
-					quid       	"376116FA0105"
-					label      	"1..n"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-					quidu      	"3770C4E700A3"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$444"
-				quid       	"376119590096"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$445"
-					quid       	"376119590336"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore"
-					quidu      	"375BE9D80396"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$446"
-					quid       	"376119590337"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer"
-					quidu      	"378F2399000F"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$447"
-				quid       	"375BF1D80339"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"375BF1D90099"
-					label      	"1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CWAPReassemblyStore"
-					quidu      	"375BE9B20193"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "0..n"
-					quid       	"375BF1D9009A"
-					label      	"0..n"
-					supplier   	"Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram"
-					quidu      	"3764D1B50097"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$448"
-				quid       	"3764D5B502E9"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"3764D5B60097"
-					label      	"1"
-					supplier   	"Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram"
-					quidu      	"3764D1B50097"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "1..n"
-					quid       	"3764D5B60098"
-					label      	"1..n"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer"
-					quidu      	"378F2399000F"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$449"
-				quid       	"377CA3420173"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$450"
-					quid       	"377CA34202FA"
-					supplier   	"Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram"
-					quidu      	"3764D1B50097"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$451"
-					quid       	"377CA34202FB"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::TWAPMessageSettings"
-					quidu      	"377CA32C03A6"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$452"
-				quid       	"37A00C9A0187"
-				roles      	(list role_list
-				    (object Role "1..n"
-					quid       	"37A00C9A0188"
-					label      	"1..n"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer"
-					quidu      	"378F2399000F"
-					is_navigable 	TRUE)
-				    (object Role "1"
-					quid       	"37A00C9A0189"
-					label      	"1"
-					supplier   	"Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram"
-					quidu      	"3764D1B50097"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)))
-			    (object Association "$UNNAMED$453"
-				quid       	"37A00C9D0197"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$454"
-					quid       	"37A00C9D0198"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer"
-					quidu      	"378F2399000F"
-					is_navigable 	TRUE)
-				    (object Role "$UNNAMED$455"
-					quid       	"37A00C9D0199"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"3770C36901FA"
-				title      	"Main"
-				zoom       	85
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::TSAREntry" @2034
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(287, 1079)
-					label      	(object ItemLabel
-					    Parent_View 	@2034
-					    location   	(18, 82)
-					    nlines     	1
-					    max_width  	538
-					    justify    	0
-					    label      	"TSAREntry")
-					icon_style 	"Icon"
-					quidu      	"375BCD210348"
-					width      	556
-					height     	2018
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::CSARStore" @2035
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1172, 1417)
-					label      	(object ItemLabel
-					    Parent_View 	@2035
-					    location   	(792, 795)
-					    nlines     	1
-					    max_width  	761
-					    justify    	0
-					    label      	"CSARStore")
-					icon_style 	"Icon"
-					quidu      	"375BD0900089"
-					width      	779
-					height     	1269
-					annotation 	8)
-				    (object AssociationViewNew "iEntryArray" @2036
-					location   	(673, 1226)
-					label      	(object SegLabel @2037
-					    Parent_View 	@2036
-					    location   	(642, 1285)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iEntryArray"
-					    pctDist    	-0.016667
-					    height     	59
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"375BD0A903A6"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2038
-						Parent_View 	@2036
-						location   	(-792, -98)
-						label      	(object SegLabel @2039
-						    Parent_View 	@2038
-						    location   	(776, 1222)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"375BD0AA01E1"
-						client     	@2036
-						supplier   	@2035
-						line_style 	0)
-					    (object RoleView "0..n" @2040
-						Parent_View 	@2036
-						location   	(-792, -98)
-						label      	(object SegLabel @2041
-						    Parent_View 	@2040
-						    location   	(602, 1155)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"375BD0AA01E2"
-						client     	@2036
-						supplier   	@2034
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::CPermanentFileStore" @2042
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1174, 398)
-					label      	(object ItemLabel
-					    Parent_View 	@2042
-					    location   	(946, 335)
-					    nlines     	1
-					    max_width  	457
-					    justify    	0
-					    label      	"CPermanentFileStore")
-					icon_style 	"Icon"
-					quidu      	"3770C5920287"
-					width      	475
-					height     	150
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$436" @2043
-					location   	(1173, 627)
-					stereotype 	TRUE
-					quidu      	"375BF1A4003B"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$437" @2044
-						Parent_View 	@2043
-						location   	(-611, -298)
-						stereotype 	TRUE
-						quidu      	"375BF1A4021F"
-						client     	@2043
-						supplier   	@2035
-						line_style 	0)
-					    (object RoleView "$UNNAMED$438" @2045
-						Parent_View 	@2043
-						location   	(-611, -298)
-						stereotype 	TRUE
-						quidu      	"375BF1A40220"
-						client     	@2043
-						supplier   	@2042
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::TWAPMessageSettings" @2046
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2772, 1792)
-					label      	(object ItemLabel
-					    Parent_View 	@2046
-					    location   	(2550, 1751)
-					    nlines     	1
-					    max_width  	445
-					    justify    	0
-					    label      	"TWAPMessageSettings")
-					icon_style 	"Icon"
-					quidu      	"377CA32C03A6"
-					width      	463
-					height     	107
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CWAPReassemblyStore" @2047
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1992, 1634)
-					label      	(object ItemLabel
-					    Parent_View 	@2047
-					    location   	(1742, 1368)
-					    nlines     	1
-					    max_width  	500
-					    justify    	0
-					    label      	"CWAPReassemblyStore")
-					icon_style 	"Icon"
-					quidu      	"375BE9B20193"
-					width      	518
-					height     	557
-					annotation 	8)
-				    (object InheritView "" @2048
-					stereotype 	TRUE
-					quidu      	"375BF01601F0"
-					client     	@2047
-					supplier   	@2035
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms" @2049
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2773, 223)
-					label      	(object ItemLabel
-					    Parent_View 	@2049
-					    location   	(2626, 157)
-					    nlines     	1
-					    max_width  	295
-					    justify    	0
-					    label      	"TSms")
-					icon_style 	"Icon"
-					quidu      	"3770C4E700A3"
-					width      	313
-					height     	156
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::CSmsReassemblyStore" @2050
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2004, 396)
-					label      	(object ItemLabel
-					    Parent_View 	@2050
-					    location   	(1726, 102)
-					    nlines     	1
-					    max_width  	557
-					    justify    	0
-					    label      	"CSmsReassemblyStore")
-					icon_style 	"Icon"
-					quidu      	"375BE9D80396"
-					width      	575
-					height     	613
-					annotation 	8)
-				    (object InheritView "" @2051
-					stereotype 	TRUE
-					quidu      	"375BF01802AC"
-					client     	@2050
-					supplier   	@2035
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$439" @2052
-					location   	(2453, 293)
-					stereotype 	TRUE
-					quidu      	"375BF1EC0135"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$440" @2053
-						Parent_View 	@2052
-						location   	(-12, -1053)
-						stereotype 	TRUE
-						quidu      	"375BF1EC028D"
-						client     	@2052
-						supplier   	@2050
-						line_style 	0)
-					    (object RoleView "$UNNAMED$441" @2054
-						Parent_View 	@2052
-						location   	(-12, -1053)
-						stereotype 	TRUE
-						quidu      	"375BF1EC028E"
-						client     	@2052
-						supplier   	@2049
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram" @2055
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2775, 1271)
-					label      	(object ItemLabel
-					    Parent_View 	@2055
-					    location   	(2509, 1130)
-					    nlines     	1
-					    max_width  	532
-					    justify    	0
-					    label      	"CWAPDatagram")
-					icon_style 	"Icon"
-					quidu      	"3764D1B50097"
-					width      	550
-					height     	306
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$449" @2056
-					location   	(2772, 1581)
-					stereotype 	TRUE
-					quidu      	"377CA3420173"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$450" @2057
-						Parent_View 	@2056
-						location   	(1400, -59)
-						stereotype 	TRUE
-						quidu      	"377CA34202FA"
-						client     	@2056
-						supplier   	@2055
-						line_style 	0)
-					    (object RoleView "$UNNAMED$451" @2058
-						Parent_View 	@2056
-						location   	(1400, -59)
-						stereotype 	TRUE
-						quidu      	"377CA34202FB"
-						client     	@2056
-						supplier   	@2046
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$447" @2059
-					location   	(2375, 1454)
-					stereotype 	TRUE
-					quidu      	"375BF1D80339"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2060
-						Parent_View 	@2059
-						location   	(-27, 592)
-						label      	(object SegLabel @2061
-						    Parent_View 	@2060
-						    location   	(2259, 1463)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"375BF1D90099"
-						client     	@2059
-						supplier   	@2047
-						line_style 	0)
-					    (object RoleView "0..n" @2062
-						Parent_View 	@2059
-						location   	(-27, 592)
-						label      	(object SegLabel @2063
-						    Parent_View 	@2062
-						    location   	(2261, 948)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..n"
-						    pctDist    	0.792186
-						    height     	508
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"375BF1D9009A"
-						client     	@2059
-						supplier   	@2055
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer" @2064
-					IncludeAttribute 	TRUE
-					location   	(1979, 1033)
-					label      	(object ItemLabel
-					    Parent_View 	@2064
-					    location   	(1829, 973)
-					    nlines     	1
-					    max_width  	301
-					    justify    	0
-					    label      	"CSmsBuffer")
-					icon_style 	"Icon"
-					quidu      	"378F2399000F"
-					width      	319
-					height     	144
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$444" @2065
-					location   	(1986, 831)
-					stereotype 	TRUE
-					quidu      	"376119590096"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$445" @2066
-						Parent_View 	@2065
-						location   	(352, -34)
-						stereotype 	TRUE
-						quidu      	"376119590336"
-						client     	@2065
-						supplier   	@2050
-						line_style 	0)
-					    (object RoleView "$UNNAMED$446" @2067
-						Parent_View 	@2065
-						location   	(352, -34)
-						stereotype 	TRUE
-						quidu      	"376119590337"
-						client     	@2065
-						supplier   	@2064
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$452" @2068
-					location   	(2318, 1133)
-					stereotype 	TRUE
-					quidu      	"37A00C9A0187"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2069
-						Parent_View 	@2068
-						location   	(703, 268)
-						label      	(object SegLabel @2070
-						    Parent_View 	@2069
-						    location   	(2456, 1133)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.700000
-						    height     	41
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37A00C9A0189"
-						client     	@2068
-						supplier   	@2055
-						line_style 	0)
-					    (object RoleView "1..n" @2071
-						Parent_View 	@2068
-						location   	(703, 268)
-						label      	(object SegLabel @2072
-						    Parent_View 	@2071
-						    location   	(2242, 1122)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.408759
-						    height     	11
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"37A00C9A0188"
-						client     	@2068
-						supplier   	@2064
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage" @2073
-					location   	(2773, 574)
-					label      	(object ItemLabel
-					    Parent_View 	@2073
-					    location   	(2582, 499)
-					    nlines     	1
-					    max_width  	382
-					    justify    	0
-					    label      	"CSmsMessage")
-					icon_style 	"Icon"
-					quidu      	"35E3DBB702F4"
-					width      	400
-					height     	175
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$443" @2074
-					location   	(2773, 393)
-					stereotype 	TRUE
-					quidu      	"376116F90394"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2075
-						Parent_View 	@2074
-						location   	(411, -19)
-						label      	(object SegLabel @2076
-						    Parent_View 	@2075
-						    location   	(2732, 467)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"376116FA0104"
-						client     	@2074
-						supplier   	@2073
-						line_style 	0)
-					    (object RoleView "1..n" @2077
-						Parent_View 	@2074
-						location   	(411, -19)
-						label      	(object SegLabel @2078
-						    Parent_View 	@2077
-						    location   	(2732, 320)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"376116FA0105"
-						client     	@2074
-						supplier   	@2049
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$442" @2079
-					location   	(2431, 493)
-					stereotype 	TRUE
-					quidu      	"375BF1D502EA"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2080
-						Parent_View 	@2079
-						location   	(29, -369)
-						label      	(object SegLabel @2081
-						    Parent_View 	@2080
-						    location   	(2329, 428)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"375BF1D600C8"
-						client     	@2079
-						supplier   	@2050
-						line_style 	0)
-					    (object RoleView "0..n" @2082
-						Parent_View 	@2079
-						location   	(29, -369)
-						label      	(object SegLabel @2083
-						    Parent_View 	@2082
-						    location   	(2554, 479)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"375BF1D600C9"
-						client     	@2079
-						supplier   	@2073
-						line_style 	0)))
-				    (object AssociationViewNew "" @2084
-					location   	(2773, 889)
-					stereotype 	TRUE
-					quidu      	"3764D2DD0182"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2085
-						Parent_View 	@2084
-						location   	(399, 24)
-						label      	(object SegLabel @2086
-						    Parent_View 	@2085
-						    location   	(2733, 1070)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"3764D2DD0308"
-						client     	@2084
-						supplier   	@2055
-						line_style 	0)
-					    (object RoleView "1..n" @2087
-						Parent_View 	@2084
-						location   	(399, 24)
-						label      	(object SegLabel @2088
-						    Parent_View 	@2087
-						    location   	(2732, 708)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"3764D2DD0318"
-						client     	@2084
-						supplier   	@2073
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$453" @2089
-					location   	(2358, 810)
-					stereotype 	TRUE
-					quidu      	"37A00C9D0197"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$454" @2090
-						Parent_View 	@2089
-						location   	(271, 107)
-						stereotype 	TRUE
-						quidu      	"37A00C9D0198"
-						client     	@2089
-						supplier   	@2064
-						line_style 	0)
-					    (object RoleView "$UNNAMED$455" @2091
-						Parent_View 	@2089
-						location   	(271, 107)
-						stereotype 	TRUE
-						quidu      	"37A00C9D0199"
-						client     	@2089
-						supplier   	@2073
-						line_style 	0)))))))
-		    (object Class_Category "SEGMENTATION STORE"
-			quid       	"377CA153005A"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsSegmentationStore"
-				quid       	"377CA18801C2"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"377CA1B50135"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CSARStore"
-					quidu      	"375BD0900089"))
-				operations 	(list Operations
-				    (object Operation "AddSubmitL"
-					quid       	"37D51E0100E9"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsAddr"
-						type       	"const TSmsAddr&")
-					    (object Parameter "aSubmit"
-						type       	"CSmsMessage&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddReferenceL"
-					quid       	"37D51E21002D"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aReference"
-						type       	"TInt"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddStatusReportL"
-					quid       	"37D51E2F005C"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt&")
-					    (object Parameter "aComplete"
-						type       	"TBool&")
-					    (object Parameter "aStatusReport"
-						type       	"const CSmsMessage&"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetMessageStatusL"
-					quid       	"37D51E530185"
-					parameters 	(list Parameters
-					    (object Parameter "aIndex"
-						type       	"TInt")
-					    (object Parameter "aSmsAddr"
-						type       	"TSmsAddr&")
-					    (object Parameter "aSmsMessage"
-						type       	"CSmsMessage&")
-					    (object Parameter "aStatusArray"
-						type       	"CArrayFix<TInt>&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddCommandL"
-					quid       	"3A641C470150"
-					parameters 	(list Parameters
-					    (object Parameter "aSmsAddr"
-						type       	"const TSmsAddr&")
-					    (object Parameter "aCommand"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aReferenceArray"
-						type       	"CArrayFix<TInt>&"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "PurgeL"
-					quid       	"3A6423DF0160"
-					parameters 	(list Parameters
-					    (object Parameter "aKSegmentationLifetimeMultiplier"
-						type       	"TInt")
-					    (object Parameter "aPurgeIncompleteOnly"
-						type       	"TBool"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Next8BitReferenceL"
-					quid       	"3A64249A0259"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Next16BitReferenceL"
-					quid       	"3A6424B8011C"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IsPermanentStatus"
-					quid       	"3A6424D803AD"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt"))
-					result     	"inline static"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeConcatenationReferencesL"
-					quid       	"3A64259803E5"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId")
-					    (object Parameter "aReference8Bit"
-						type       	"TInt&")
-					    (object Parameter "aReference16Bit"
-						type       	"Tint&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "ExternalizeConcatenationReferencesL"
-					quid       	"3A642744032C"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId&")
-					    (object Parameter "aReference8Bit"
-						type       	"TInt")
-					    (object Parameter "aReference16Bit"
-						type       	"TInt"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "InternalizeEntry"
-					quid       	"3A6427F301BB"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId")
-					    (object Parameter "aSmsAddr"
-						type       	"TSmsAddr&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aReferenceArray"
-						type       	"c. CArrayFix<Tint>&")
-					    (object Parameter "aStatusArray"
-						type       	"c. CArrayFix<TInt>&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "ExternalizeEntryL"
-					quid       	"3A64292803AA"
-					parameters 	(list Parameters
-					    (object Parameter "aStreamId"
-						type       	"TStreamId&")
-					    (object Parameter "aSmsAddr"
-						type       	"const TSmsAddr&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aReferenceArray"
-						type       	"c. CArrayFix<TInt>&")
-					    (object Parameter "aSatusArray"
-						type       	"c. CArrayFix<TInt>&"))
-					result     	"void"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "StatusArrayComplete"
-					quid       	"3A642AAC0023"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TInt")
-					    (object Parameter "aStatusArray"
-						type       	"c. CarrayFix<TInt>&"))
-					result     	"static TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "NewL"
-					quid       	"3A6434BF0085"
-					parameters 	(list Parameters
-					    (object Parameter "aFs"
-						type       	"RFs&"))
-					result     	"static CSmsSegmentationStore*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CWAPSegmentationStore"
-				quid       	"377CA1B903B6"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"377CA1D0003B"
-					supplier   	"Logical View::GSM UTILS::SAR STORE::CSARStore"
-					quidu      	"375BD0900089")))
-			    (object Association "$UNNAMED$456"
-				quid       	"377CA21F0135"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$457"
-					quid       	"377CA220001C"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore"
-					quidu      	"377CA18801C2"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$458"
-					quid       	"377CA220001D"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-					quidu      	"3770C4E700A3"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$459"
-				quid       	"377CA27E029C"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$460"
-					quid       	"377CA27F004B"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore"
-					quidu      	"377CA18801C2"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$461"
-					quid       	"377CA27F004C"
-					supplier   	"Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer"
-					quidu      	"378F2399000F"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$462"
-				quid       	"377CA35601F0"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$463"
-					quid       	"377CA35603C5"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CWAPSegmentationStore"
-					quidu      	"377CA1B903B6"
-					client_cardinality 	(value cardinality "1")
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$464"
-					quid       	"377CA35603C6"
-					supplier   	"Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram"
-					quidu      	"3764D1B50097"
-					client_cardinality 	(value cardinality "0..n")
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"377CA182026D"
-				title      	"Main"
-				zoom       	80
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	97
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::TSAREntry" @2092
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(349, 1387)
-					label      	(object ItemLabel
-					    Parent_View 	@2092
-					    location   	(71, 418)
-					    nlines     	1
-					    max_width  	557
-					    justify    	0
-					    label      	"TSAREntry")
-					icon_style 	"Icon"
-					quidu      	"375BCD210348"
-					width      	575
-					height     	1962
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::CSARStore" @2093
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1406, 1931)
-					label      	(object ItemLabel
-					    Parent_View 	@2093
-					    location   	(966, 1299)
-					    nlines     	1
-					    max_width  	880
-					    justify    	0
-					    label      	"CSARStore")
-					icon_style 	"Icon"
-					quidu      	"375BD0900089"
-					width      	898
-					height     	1289
-					annotation 	8)
-				    (object AssociationViewNew "iEntryArray" @2094
-					location   	(796, 1616)
-					label      	(object SegLabel @2095
-					    Parent_View 	@2094
-					    location   	(796, 1557)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iEntryArray"
-					    pctDist    	0.500000
-					    height     	60
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"375BD0A903A6"
-					roleview_list 	(list RoleViews
-					    (object RoleView "0..n" @2096
-						Parent_View 	@2094
-						location   	(0, 821)
-						label      	(object SegLabel @2097
-						    Parent_View 	@2096
-						    location   	(687, 1514)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+0..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"375BD0AA01E2"
-						client     	@2094
-						supplier   	@2092
-						line_style 	0)
-					    (object RoleView "1" @2098
-						Parent_View 	@2094
-						location   	(0, 821)
-						label      	(object SegLabel @2099
-						    Parent_View 	@2098
-						    location   	(943, 1646)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"375BD0AA01E1"
-						client     	@2094
-						supplier   	@2093
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CSmsSegmentationStore" @2100
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1406, 570)
-					label      	(object ItemLabel
-					    Parent_View 	@2100
-					    location   	(993, 114)
-					    nlines     	1
-					    max_width  	826
-					    justify    	0
-					    label      	"CSmsSegmentationStore")
-					icon_style 	"Icon"
-					quidu      	"377CA18801C2"
-					width      	844
-					height     	937
-					annotation 	8)
-				    (object InheritView "" @2101
-					stereotype 	TRUE
-					quidu      	"377CA1B50135"
-					client     	@2100
-					supplier   	@2093
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms" @2102
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2140, 295)
-					label      	(object ItemLabel
-					    Parent_View 	@2102
-					    location   	(1953, 214)
-					    nlines     	1
-					    max_width  	375
-					    justify    	0
-					    label      	"TSms")
-					icon_style 	"Icon"
-					quidu      	"3770C4E700A3"
-					width      	393
-					height     	187
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$456" @2103
-					location   	(1885, 388)
-					stereotype 	TRUE
-					quidu      	"377CA21F0135"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$457" @2104
-						Parent_View 	@2103
-						location   	(-591, 116)
-						stereotype 	TRUE
-						quidu      	"377CA220001C"
-						client     	@2103
-						supplier   	@2100
-						line_style 	0)
-					    (object RoleView "$UNNAMED$458" @2105
-						Parent_View 	@2103
-						location   	(-591, 116)
-						stereotype 	TRUE
-						quidu      	"377CA220001D"
-						client     	@2103
-						supplier   	@2102
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer" @2106
-					IncludeAttribute 	TRUE
-					location   	(2148, 1185)
-					label      	(object ItemLabel
-					    Parent_View 	@2106
-					    location   	(1985, 1100)
-					    nlines     	1
-					    max_width  	326
-					    justify    	0
-					    label      	"CSmsBuffer")
-					icon_style 	"Icon"
-					quidu      	"378F2399000F"
-					width      	344
-					height     	194
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$459" @2107
-					location   	(1929, 1003)
-					stereotype 	TRUE
-					quidu      	"377CA27E029C"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$460" @2108
-						Parent_View 	@2107
-						location   	(207, 275)
-						stereotype 	TRUE
-						quidu      	"377CA27F004B"
-						client     	@2107
-						supplier   	@2100
-						line_style 	0)
-					    (object RoleView "$UNNAMED$461" @2109
-						Parent_View 	@2107
-						location   	(207, 275)
-						stereotype 	TRUE
-						quidu      	"377CA27F004C"
-						client     	@2107
-						supplier   	@2106
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage" @2110
-					location   	(2142, 722)
-					label      	(object ItemLabel
-					    Parent_View 	@2110
-					    location   	(1980, 634)
-					    nlines     	1
-					    max_width  	325
-					    justify    	0
-					    label      	"CSmsMessage")
-					icon_style 	"Icon"
-					quidu      	"35E3DBB702F4"
-					width      	343
-					height     	200
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$443" @2111
-					location   	(2140, 504)
-					stereotype 	TRUE
-					quidu      	"376116F90394"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2112
-						Parent_View 	@2111
-						location   	(-222, 92)
-						label      	(object SegLabel @2113
-						    Parent_View 	@2112
-						    location   	(2132, 966)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	180
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	3.963591
-						    height     	13
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"376116FA0104"
-						client     	@2111
-						supplier   	@2110
-						line_style 	0)
-					    (object RoleView "1..n" @2114
-						Parent_View 	@2111
-						location   	(-222, 92)
-						label      	(object SegLabel @2115
-						    Parent_View 	@2114
-						    location   	(2099, 412)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"376116FA0105"
-						client     	@2111
-						supplier   	@2102
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$217" @2116
-					location   	(2144, 954)
-					stereotype 	TRUE
-					quidu      	"3773A209028B"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$219" @2117
-						Parent_View 	@2116
-						location   	(-334, 226)
-						stereotype 	TRUE
-						quidu      	"3773A20A00F5"
-						client     	@2116
-						supplier   	@2106
-						line_style 	0)
-					    (object RoleView "$UNNAMED$218" @2118
-						Parent_View 	@2116
-						location   	(-334, 226)
-						stereotype 	TRUE
-						quidu      	"3773A20A00E6"
-						client     	@2116
-						supplier   	@2110
-						line_style 	0)))))))
-		    (object Class_Category "ENUMERATION"
-			quid       	"38352E4201EB"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "TMsgLocation"
-				quid       	"383538E502D6"
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iIndex"
-					quid       	"383539150094")))
-			    (object Class "TName"
-				quid       	"383A835C00F1")
-			    (object Class "CSmsEnumeratedMessage"
-				quid       	"383AC746014F")
-			    (object Class "CSmsStoreRead"
-				quid       	"383C06CE0146"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"383C076E0212"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::SENDING::CSmsActive"
-					quidu      	"382196CF022C"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"383C06F1003D"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"383C06F400C9"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TSmsSlot"
-				quid       	"383E9C80003A"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"383E9CA802E9"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TMsgLocation"
-					quidu      	"383538E502D6")))
-			    (object Class "CSmsSlotRead"
-				quid       	"38465AD202AF"
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"38465B7602BF"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"38465B76033C"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CSmsPhoneEnumeration"
-				quid       	"3780C11703AF"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"3780C4B102D4"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CActive"
-					quidu      	"3780C4A601F9"))
-				operations 	(list Operations
-				    (object Operation "Start"
-					quid       	"3780C46C01DA"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Cancel"
-					quid       	"37D51A450379"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Association "iLocation"
-				quid       	"383A86B10093"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"383A86B10239"
-					label      	"1"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsEnumeratedMessage"
-					quidu      	"383AC746014F"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "1..n"
-					quid       	"383A86B1023A"
-					label      	"1..n"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot"
-					quidu      	"383E9C80003A"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$465"
-				quid       	"383A8BC60239"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$466"
-					quid       	"383A8BC70035"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$467"
-					quid       	"383A8BC70045"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage"
-					quidu      	"37D7D6120241"
-					is_navigable 	TRUE)))
-			    (object Association "aMsgLocation"
-				quid       	"383AC5EB02B6"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$468"
-					quid       	"383AC5EC0110"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUDelete"
-					quidu      	"37D7BF950222"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$469"
-					quid       	"383AC5EC019D"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TMsgLocation"
-					quidu      	"383538E502D6"
-					Containment 	"By Reference"
-					is_navigable 	TRUE)))
-			    (object Association "iSmsMessageArray"
-				quid       	"383AC69700F1"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$470"
-					quid       	"383AC69702B6"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage"
-					quidu      	"37D7D6120241"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$471"
-					quid       	"383AC69702B7"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsEnumeratedMessage"
-					quidu      	"383AC746014F"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iSmsMessage"
-				quid       	"383AC764018D"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$472"
-					quid       	"383AC7640287"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsEnumeratedMessage"
-					quidu      	"383AC746014F"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$473"
-					quid       	"383AC7640288"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$474"
-				quid       	"383BF7C3028F"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$475"
-					quid       	"383BF7C302BD"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol"
-					quidu      	"3780BA610015"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$476"
-					quid       	"383BF7C302CD"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$477"
-				quid       	"383BF7D20369"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$478"
-					quid       	"383BF7D30146"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsSlotRead"
-					quidu      	"38465AD202AF"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$479"
-					quid       	"383BF7D30147"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE)))
-			    (object Association "iStore"
-				quid       	"383BFA4A01D3"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$480"
-					quid       	"383BFA4A02FC"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TMsgLocation"
-					quidu      	"383538E502D6"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$481"
-					quid       	"383BFA4A030C"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TName"
-					quidu      	"383A835C00F1"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$482"
-				quid       	"383C06FC0195"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$483"
-					quid       	"383C06FC0379"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration"
-					quidu      	"3780C11703AF"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$484"
-					quid       	"383C06FC0389"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsStoreRead"
-					quidu      	"383C06CE0146"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$485"
-				quid       	"383C10210108"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$486"
-					quid       	"383C10220195"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration"
-					quidu      	"3780C11703AF"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$487"
-					quid       	"383C10220196"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging"
-					quidu      	"3780BD850209"
-					is_navigable 	TRUE)))
-			    (object Association "iMsg"
-				quid       	"383E9B8601A1"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$488"
-					quid       	"383E9B860347"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::TMsgStoreEntry"
-					quidu      	"37D7C8C8006C"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$489"
-					quid       	"383E9B860348"
-					supplier   	"Logical View::GSM UTILS::SMS PDUS::SMS PDU::TSms"
-					quidu      	"3770C4E700A3"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$490"
-				quid       	"383E9CD80143"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$491"
-					quid       	"383E9CD80308"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot"
-					quidu      	"383E9C80003A"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$492"
-					quid       	"383E9CD80309"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::TMsgStoreEntry"
-					quidu      	"37D7C8C8006C"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$493"
-				quid       	"38465D6300DA"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$494"
-					quid       	"38465D64006D"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsStoreRead"
-					quidu      	"383C06CE0146"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$495"
-					quid       	"38465D64007D"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsSlotRead"
-					quidu      	"38465AD202AF"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$496"
-				quid       	"38465D9B0119"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$497"
-					quid       	"38465D9B037A"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsSlotRead"
-					quidu      	"38465AD202AF"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$498"
-					quid       	"38465D9B038A"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot"
-					quidu      	"383E9C80003A"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$499"
-				quid       	"3846638601A5"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$500"
-					quid       	"38466386033C"
-					supplier   	"Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess"
-					quidu      	"3829955C02AD"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$501"
-					quid       	"38466386033D"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					Containment 	"By Value"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"38352E4502E5"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	1037
-				origin_y   	2889
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CActive" @2119
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(673, 2119)
-					label      	(object ItemLabel
-					    Parent_View 	@2119
-					    location   	(592, 2101)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CActive")
-					icon_style 	"Icon"
-					quidu      	"3780C4A601F9"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CActive" @2120
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2626, 250)
-					label      	(object ItemLabel
-					    Parent_View 	@2120
-					    location   	(2545, 232)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CActive")
-					icon_style 	"Icon"
-					quidu      	"3780C4A601F9"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SENDING::CSmsActive" @2121
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2309, 2806)
-					label      	(object ItemLabel
-					    Parent_View 	@2121
-					    location   	(2228, 2788)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsActive")
-					icon_style 	"Icon"
-					quidu      	"382196CF022C"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::TMsgLocation" @2122
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2838, 677)
-					label      	(object ItemLabel
-					    Parent_View 	@2122
-					    location   	(2757, 659)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"TMsgLocation")
-					icon_style 	"Icon"
-					quidu      	"383538E502D6"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm" @2123
-					location   	(2065, 249)
-					label      	(object ItemLabel
-					    Parent_View 	@2123
-					    location   	(1984, 231)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"MSmsComm")
-					icon_style 	"Icon"
-					quidu      	"37D7B65E01A5"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ETEL::RSmsStorage" @2124
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(272, 2383)
-					label      	(object ItemLabel
-					    Parent_View 	@2124
-					    location   	(191, 2365)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"RSmsStorage")
-					icon_style 	"Icon"
-					quidu      	"3780C0B4012E"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsStoreRead" @2125
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2308, 2379)
-					label      	(object ItemLabel
-					    Parent_View 	@2125
-					    location   	(2227, 2361)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsStoreRead")
-					icon_style 	"Icon"
-					quidu      	"383C06CE0146"
-					annotation 	8)
-				    (object InheritView "" @2126
-					stereotype 	TRUE
-					quidu      	"383C076E0212"
-					client     	@2125
-					supplier   	@2121
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$320" @2127
-					location   	(1289, 2380)
-					stereotype 	TRUE
-					quidu      	"3780C1B90276"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$321" @2128
-						Parent_View 	@2127
-						location   	(98, 337)
-						stereotype 	TRUE
-						quidu      	"3780C1B9038F"
-						client     	@2127
-						supplier   	@2125
-						line_style 	0)
-					    (object RoleView "$UNNAMED$322" @2129
-						Parent_View 	@2127
-						location   	(98, 337)
-						stereotype 	TRUE
-						quidu      	"3780C1B90390"
-						client     	@2127
-						supplier   	@2124
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUDelete" @2130
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2062, 678)
-					label      	(object ItemLabel
-					    Parent_View 	@2130
-					    location   	(1981, 660)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsPDUDelete")
-					icon_style 	"Icon"
-					quidu      	"37D7BF950222"
-					annotation 	8)
-				    (object InheritView "" @2131
-					stereotype 	TRUE
-					quidu      	"37D7C3890147"
-					client     	@2130
-					supplier   	@2120
-					line_style 	0)
-				    (object AssociationViewNew "aMsgLocation" @2132
-					location   	(2449, 677)
-					label      	(object SegLabel @2133
-					    Parent_View 	@2132
-					    location   	(2462, 628)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"aMsgLocation"
-					    pctDist    	0.716667
-					    height     	50
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"383AC5EB02B6"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$468" @2134
-						Parent_View 	@2132
-						location   	(-379, 21)
-						stereotype 	TRUE
-						quidu      	"383AC5EC0110"
-						client     	@2132
-						supplier   	@2130
-						line_style 	0)
-					    (object RoleView "$UNNAMED$469" @2135
-						Parent_View 	@2132
-						location   	(-379, 21)
-						stereotype 	TRUE
-						quidu      	"383AC5EC019D"
-						client     	@2132
-						supplier   	@2122
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$365" @2136
-					location   	(2063, 463)
-					stereotype 	TRUE
-					quidu      	"37D7C2C3037A"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$366" @2137
-						Parent_View 	@2136
-						location   	(39, -1319)
-						stereotype 	TRUE
-						quidu      	"37D7C2C40231"
-						client     	@2136
-						supplier   	@2130
-						line_style 	0)
-					    (object RoleView "$UNNAMED$367" @2138
-						Parent_View 	@2136
-						location   	(39, -1319)
-						stereotype 	TRUE
-						quidu      	"37D7C2C40232"
-						client     	@2136
-						supplier   	@2123
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ETEL::RSmsMessaging" @2139
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(271, 684)
-					label      	(object ItemLabel
-					    Parent_View 	@2139
-					    location   	(190, 666)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"RSmsMessaging")
-					icon_style 	"Icon"
-					quidu      	"3780BD850209"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$314" @2140
-					location   	(271, 1533)
-					stereotype 	TRUE
-					quidu      	"3780C0FC016D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$315" @2141
-						Parent_View 	@2140
-						location   	(-913, -281)
-						stereotype 	TRUE
-						quidu      	"3780C0FC02A5"
-						client     	@2140
-						supplier   	@2124
-						line_style 	0)
-					    (object RoleView "$UNNAMED$316" @2142
-						Parent_View 	@2140
-						location   	(-913, -281)
-						stereotype 	TRUE
-						quidu      	"3780C0FC02A6"
-						client     	@2140
-						supplier   	@2139
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsPhoneEnumeration" @2143
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2966, 2409)
-					label      	(object ItemLabel
-					    Parent_View 	@2143
-					    location   	(2885, 2391)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsPhoneEnumeration")
-					icon_style 	"Icon"
-					quidu      	"3780C11703AF"
-					annotation 	8)
-				    (object InheritView "" @2144
-					stereotype 	TRUE
-					quidu      	"3780C4B102D4"
-					client     	@2143
-					supplier   	@2119
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$482" @2145
-					location   	(2636, 2393)
-					stereotype 	TRUE
-					quidu      	"383C06FC0195"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$483" @2146
-						Parent_View 	@2145
-						location   	(425, 82)
-						stereotype 	TRUE
-						quidu      	"383C06FC0379"
-						client     	@2145
-						supplier   	@2143
-						line_style 	0)
-					    (object RoleView "$UNNAMED$484" @2147
-						Parent_View 	@2145
-						location   	(425, 82)
-						stereotype 	TRUE
-						quidu      	"383C06FC0389"
-						client     	@2145
-						supplier   	@2125
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$485" @2148
-					location   	(1618, 1546)
-					stereotype 	TRUE
-					quidu      	"383C10210108"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$486" @2149
-						Parent_View 	@2148
-						location   	(1347, 862)
-						stereotype 	TRUE
-						quidu      	"383C10220195"
-						client     	@2148
-						supplier   	@2143
-						line_style 	0)
-					    (object RoleView "$UNNAMED$487" @2150
-						Parent_View 	@2148
-						location   	(1347, 862)
-						stereotype 	TRUE
-						quidu      	"383C10220196"
-						client     	@2148
-						supplier   	@2139
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot" @2151
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(4466, 1965)
-					label      	(object ItemLabel
-					    Parent_View 	@2151
-					    location   	(4385, 1947)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"TSmsSlot")
-					icon_style 	"Icon"
-					quidu      	"383E9C80003A"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsSlotRead" @2152
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2308, 1996)
-					label      	(object ItemLabel
-					    Parent_View 	@2152
-					    location   	(2227, 1978)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsSlotRead")
-					icon_style 	"Icon"
-					quidu      	"38465AD202AF"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$493" @2153
-					location   	(2308, 2187)
-					stereotype 	TRUE
-					quidu      	"38465D6300DA"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$494" @2154
-						Parent_View 	@2153
-						location   	(159, 206)
-						stereotype 	TRUE
-						quidu      	"38465D64006D"
-						client     	@2153
-						supplier   	@2125
-						line_style 	0)
-					    (object RoleView "$UNNAMED$495" @2155
-						Parent_View 	@2153
-						location   	(159, 206)
-						stereotype 	TRUE
-						quidu      	"38465D64007D"
-						client     	@2153
-						supplier   	@2152
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::FRAMEWORK::CSmsProtocol" @2156
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1256, 681)
-					label      	(object ItemLabel
-					    Parent_View 	@2156
-					    location   	(1175, 663)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsProtocol")
-					icon_style 	"Icon"
-					quidu      	"3780BA610015"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$362" @2157
-					location   	(1658, 679)
-					stereotype 	TRUE
-					quidu      	"37D7C2B903D7"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$363" @2158
-						Parent_View 	@2157
-						location   	(-451, -813)
-						stereotype 	TRUE
-						quidu      	"37D7C2BA0231"
-						client     	@2157
-						supplier   	@2156
-						line_style 	0)
-					    (object RoleView "$UNNAMED$364" @2159
-						Parent_View 	@2157
-						location   	(-451, -813)
-						stereotype 	TRUE
-						quidu      	"37D7C2BA0251"
-						client     	@2157
-						supplier   	@2130
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$350" @2160
-					location   	(2110, 1544)
-					stereotype 	TRUE
-					quidu      	"37D3F13E0098"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$351" @2161
-						Parent_View 	@2160
-						location   	(1195, -361)
-						stereotype 	TRUE
-						quidu      	"37D3F13E021F"
-						client     	@2160
-						supplier   	@2156
-						line_style 	0)
-					    (object RoleView "$UNNAMED$352" @2162
-						Parent_View 	@2160
-						location   	(1195, -361)
-						stereotype 	TRUE
-						quidu      	"37D3F13E022E"
-						client     	@2160
-						supplier   	@2143
-						line_style 	0)))
-				    (object AssociationViewNew "iSmsMessaging" @2163
-					location   	(763, 682)
-					label      	(object SegLabel @2164
-					    Parent_View 	@2163
-					    location   	(743, 677)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	288
-					    justify    	0
-					    label      	"iSmsMessaging"
-					    pctDist    	0.166667
-					    height     	6
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"3780BDA0016D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$309" @2165
-						Parent_View 	@2163
-						location   	(-446, -1120)
-						stereotype 	TRUE
-						quidu      	"3780BDA0038F"
-						client     	@2163
-						supplier   	@2156
-						line_style 	0)
-					    (object RoleView "$UNNAMED$310" @2166
-						Parent_View 	@2163
-						location   	(-446, -1120)
-						stereotype 	TRUE
-						quidu      	"3780BDA00390"
-						client     	@2163
-						supplier   	@2139
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::MSmsComm" @2167
-					location   	(1637, 1540)
-					label      	(object ItemLabel
-					    Parent_View 	@2167
-					    location   	(1556, 1522)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"MSmsComm")
-					icon_style 	"Icon"
-					quidu      	"37D7B65E01A5"
-					annotation 	8)
-				    (object InheritView "" @2168
-					stereotype 	TRUE
-					quidu      	"37D7C11B0260"
-					client     	@2156
-					supplier   	@2167
-					line_style 	0)
-				    (object AssociationViewNew "$UNNAMED$359" @2169
-					location   	(2301, 1974)
-					stereotype 	TRUE
-					quidu      	"37D7C2AD033B"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$360" @2170
-						Parent_View 	@2169
-						location   	(265, 370)
-						stereotype 	TRUE
-						quidu      	"37D7C2AE0137"
-						client     	@2169
-						supplier   	@2143
-						line_style 	0)
-					    (object RoleView "$UNNAMED$361" @2171
-						Parent_View 	@2169
-						location   	(265, 370)
-						stereotype 	TRUE
-						quidu      	"37D7C2AE0138"
-						client     	@2169
-						supplier   	@2167
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::TSmsSlot" @2172
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1839, 1996)
-					label      	(object ItemLabel
-					    Parent_View 	@2172
-					    location   	(1758, 1978)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"TSmsSlot")
-					icon_style 	"Icon"
-					quidu      	"383E9C80003A"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$496" @2173
-					location   	(2073, 1996)
-					stereotype 	TRUE
-					quidu      	"38465D9B0119"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$497" @2174
-						Parent_View 	@2173
-						location   	(-1043, 292)
-						stereotype 	TRUE
-						quidu      	"38465D9B037A"
-						client     	@2173
-						supplier   	@2152
-						line_style 	0)
-					    (object RoleView "$UNNAMED$498" @2175
-						Parent_View 	@2173
-						location   	(-1043, 292)
-						stereotype 	TRUE
-						quidu      	"38465D9B038A"
-						client     	@2173
-						supplier   	@2172
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPhoneImage" @2176
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3034, 1412)
-					label      	(object ItemLabel
-					    Parent_View 	@2176
-					    location   	(2953, 1394)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsPhoneImage")
-					icon_style 	"Icon"
-					quidu      	"37D7D6120241"
-					annotation 	8)
-				    (object AssociationViewNew "iPhoneImage" @2177
-					location   	(2146, 1046)
-					label      	(object SegLabel @2178
-					    Parent_View 	@2177
-					    location   	(2164, 1052)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iPhoneImage"
-					    pctDist    	0.800000
-					    height     	6
-					    orientation 	1)
-					stereotype 	TRUE
-					quidu      	"37D7D68C01A5"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$368" @2179
-						Parent_View 	@2177
-						location   	(262, -725)
-						stereotype 	TRUE
-						quidu      	"37D7D68C02FD"
-						client     	@2177
-						supplier   	@2156
-						line_style 	0)
-					    (object RoleView "$UNNAMED$369" @2180
-						Parent_View 	@2177
-						location   	(262, -725)
-						stereotype 	TRUE
-						quidu      	"37D7D68C031C"
-						client     	@2177
-						supplier   	@2176
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::ENUMERATION::CSmsEnumeratedMessage" @2181
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(3574, 1965)
-					label      	(object ItemLabel
-					    Parent_View 	@2181
-					    location   	(3493, 1947)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsEnumeratedMessage")
-					icon_style 	"Icon"
-					quidu      	"383AC746014F"
-					annotation 	8)
-				    (object AssociationViewNew "iLocation" @2182
-					location   	(4019, 1965)
-					label      	(object SegLabel @2183
-					    Parent_View 	@2182
-					    location   	(4015, 1963)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	168
-					    justify    	0
-					    label      	"iLocation"
-					    pctDist    	0.450000
-					    height     	3
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"383A86B10093"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2184
-						Parent_View 	@2182
-						location   	(1487, 253)
-						label      	(object SegLabel @2185
-						    Parent_View 	@2184
-						    location   	(3735, 2007)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"383A86B10239"
-						client     	@2182
-						supplier   	@2181
-						line_style 	0)
-					    (object RoleView "1..n" @2186
-						Parent_View 	@2182
-						location   	(1487, 253)
-						label      	(object SegLabel @2187
-						    Parent_View 	@2186
-						    location   	(4319, 1959)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	92
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.846897
-						    height     	7
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"383A86B1023A"
-						client     	@2182
-						supplier   	@2151
-						line_style 	0)))
-				    (object AssociationViewNew "iSmsMessageArray" @2188
-					location   	(3303, 1688)
-					label      	(object SegLabel @2189
-					    Parent_View 	@2188
-					    location   	(3310, 1638)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iSmsMessageArray"
-					    pctDist    	0.616667
-					    height     	51
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"383AC69700F1"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$470" @2190
-						Parent_View 	@2188
-						location   	(383, 324)
-						stereotype 	TRUE
-						quidu      	"383AC69702B6"
-						client     	@2188
-						supplier   	@2176
-						line_style 	0)
-					    (object RoleView "$UNNAMED$471" @2191
-						Parent_View 	@2188
-						location   	(383, 324)
-						stereotype 	TRUE
-						quidu      	"383AC69702B7"
-						client     	@2188
-						supplier   	@2181
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::RECEIVING::CSmsPDUProcess" @2192
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2312, 1525)
-					label      	(object ItemLabel
-					    Parent_View 	@2192
-					    location   	(2231, 1507)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsPDUProcess")
-					icon_style 	"Icon"
-					quidu      	"3829955C02AD"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$477" @2193
-					location   	(2309, 1760)
-					stereotype 	TRUE
-					quidu      	"383BF7D20369"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$478" @2194
-						Parent_View 	@2193
-						location   	(400, -66)
-						stereotype 	TRUE
-						quidu      	"383BF7D30146"
-						client     	@2193
-						supplier   	@2152
-						line_style 	0)
-					    (object RoleView "$UNNAMED$479" @2195
-						Parent_View 	@2193
-						location   	(400, -66)
-						stereotype 	TRUE
-						quidu      	"383BF7D30147"
-						client     	@2193
-						supplier   	@2192
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$474" @2196
-					location   	(1784, 1102)
-					stereotype 	TRUE
-					quidu      	"383BF7C3028F"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$476" @2197
-						Parent_View 	@2196
-						location   	(525, 419)
-						stereotype 	TRUE
-						quidu      	"383BF7C302CD"
-						client     	@2196
-						supplier   	@2192
-						line_style 	0)
-					    (object RoleView "$UNNAMED$475" @2198
-						Parent_View 	@2196
-						location   	(525, 419)
-						stereotype 	TRUE
-						quidu      	"383BF7C302BD"
-						client     	@2196
-						supplier   	@2156
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$373" @2199
-					location   	(1784, 1102)
-					stereotype 	TRUE
-					quidu      	"38352E9302F5"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$375" @2200
-						Parent_View 	@2199
-						location   	(528, 421)
-						stereotype 	TRUE
-						quidu      	"38352E94018E"
-						client     	@2199
-						supplier   	@2192
-						line_style 	0)
-					    (object RoleView "$UNNAMED$374" @2201
-						Parent_View 	@2199
-						location   	(528, 421)
-						stereotype 	TRUE
-						quidu      	"38352E94017E"
-						client     	@2199
-						supplier   	@2156
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$395" @2202
-					location   	(1974, 1531)
-					stereotype 	TRUE
-					quidu      	"38355A9E019D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$397" @2203
-						Parent_View 	@2202
-						location   	(-277, -25)
-						stereotype 	TRUE
-						quidu      	"38355A9F0017"
-						client     	@2202
-						supplier   	@2167
-						line_style 	0)
-					    (object RoleView "$UNNAMED$396" @2204
-						Parent_View 	@2202
-						location   	(-277, -25)
-						stereotype 	TRUE
-						quidu      	"38355A9F0007"
-						client     	@2202
-						supplier   	@2192
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$401" @2205
-					location   	(2074, 1760)
-					stereotype 	TRUE
-					quidu      	"38465DB60167"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$403" @2206
-						Parent_View 	@2205
-						location   	(-177, 204)
-						stereotype 	TRUE
-						quidu      	"38465DB602FE"
-						client     	@2205
-						supplier   	@2172
-						line_style 	0)
-					    (object RoleView "$UNNAMED$402" @2207
-						Parent_View 	@2205
-						location   	(-177, 204)
-						stereotype 	TRUE
-						quidu      	"38465DB602FD"
-						client     	@2205
-						supplier   	@2192
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$465" @2208
-					location   	(2672, 1468)
-					stereotype 	TRUE
-					quidu      	"383A8BC60239"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$466" @2209
-						Parent_View 	@2208
-						location   	(636, -285)
-						stereotype 	TRUE
-						quidu      	"383A8BC70035"
-						client     	@2208
-						supplier   	@2192
-						line_style 	0)
-					    (object RoleView "$UNNAMED$467" @2210
-						Parent_View 	@2208
-						location   	(636, -285)
-						stereotype 	TRUE
-						quidu      	"383A8BC70045"
-						client     	@2208
-						supplier   	@2176
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage" @2211
-					location   	(2815, 1968)
-					label      	(object ItemLabel
-					    Parent_View 	@2211
-					    location   	(2734, 1950)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsMessage")
-					icon_style 	"Icon"
-					quidu      	"35E3DBB702F4"
-					annotation 	8)
-				    (object AssociationViewNew "iSmsMessage" @2212
-					location   	(3194, 1966)
-					label      	(object SegLabel @2213
-					    Parent_View 	@2212
-					    location   	(3194, 1908)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iSmsMessage"
-					    pctDist    	0.500000
-					    height     	59
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"383AC764018D"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$472" @2214
-						Parent_View 	@2212
-						location   	(-422, 637)
-						stereotype 	TRUE
-						quidu      	"383AC7640287"
-						client     	@2212
-						supplier   	@2181
-						line_style 	0)
-					    (object RoleView "$UNNAMED$473" @2215
-						Parent_View 	@2212
-						location   	(-422, 637)
-						stereotype 	TRUE
-						quidu      	"383AC7640288"
-						client     	@2212
-						supplier   	@2211
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$499" @2216
-					location   	(2563, 1746)
-					stereotype 	TRUE
-					quidu      	"3846638601A5"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$500" @2217
-						Parent_View 	@2216
-						location   	(-217, -222)
-						stereotype 	TRUE
-						quidu      	"38466386033C"
-						client     	@2216
-						supplier   	@2192
-						line_style 	0)
-					    (object RoleView "$UNNAMED$501" @2218
-						Parent_View 	@2216
-						location   	(-217, -222)
-						stereotype 	TRUE
-						quidu      	"38466386033D"
-						client     	@2216
-						supplier   	@2211
-						line_style 	0)))))))
-		    (object Class_Category "SERVICE CENTER ADDRESS"
-			quid       	"39B785020353"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsSCAddress"
-				quid       	"39B7851702E5"))
-			logical_presentations 	(list unit_reference_list))
-		    (object Class_Category "ETEL"
-			quid       	"39B8DD690094"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "RBasicGsmPhone"
-				quid       	"3780BCDD00F0")
-			    (object Class "RSmsMessaging"
-				quid       	"3780BD850209"
-				operations 	(list Operations
-				    (object Operation "ReadSmsMessage"
-					quid       	"3780BE5300FF"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default")
-					    (object Parameter "aMsgLocation"
-						type       	"TMsgLocation&"
-						initv      	"default")
-					    (object Parameter "aMsg"
-						type       	"TSms&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ReadSmsMessageCancel"
-					quid       	"3780C1C80024"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SendMessage"
-					quid       	"3780C1DC0247"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default")
-					    (object Parameter "aMsgRef"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aMsg"
-						type       	"TSms&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SendMessageCancel"
-					quid       	"3780C1DE03DE"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default")
-					    (object Parameter "aMsgLocation"
-						type       	"TMsgLocation&"
-						initv      	"default")
-					    (object Parameter "aMsg"
-						type       	"TSms&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "RSmsStorage"
-				quid       	"3780C0B4012E"
-				operations 	(list Operations
-				    (object Operation "Open"
-					quid       	"3780C25C02A5"
-					parameters 	(list Parameters
-					    (object Parameter "aMessaging"
-						type       	"RSmsMessaging&"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ReadSms"
-					quid       	"3780C2A2014D"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default")
-					    (object Parameter "aMsgLocation"
-						type       	"TMsgLocation&"
-						initv      	"default")
-					    (object Parameter "aMsgEntry"
-						type       	"TSmsMsgStoreEntry&"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ReadSmsCancel"
-					quid       	"3780C38C00F0"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "RAdvSmsMessaging"
-				quid       	"39B8DD960111")
-			    (object Class "RTelServer"
-				quid       	"3780BCC600FF")
-			    (object Class "RGprs"
-				quid       	"39D1D62B0081")
-			    (object Class "RPhone"
-				quid       	"39D4745700B8"))
-			logical_presentations 	(list unit_reference_list))
-		    (object Class_Category "WRITING"
-			quid       	"39D1C7E9019B"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsMessageWrite"
-				quid       	"39D1C81000C5"))
-			logical_presentations 	(list unit_reference_list))
-		    (object Class_Category "INITIALIZATION AND NOTIFICATIONS"
-			quid       	"39D1E35B0298"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CSmsPhoneInitialization"
-				quid       	"39D1C5B302E2")
-			    (object Class "CSmsModemNotification"
-				quid       	"39D1C62C03AE")
-			    (object Class "CSmsEventNotification"
-				quid       	"39D1C69C012E")
-			    (object Class "CSmsCommDBEvent"
-				quid       	"39D1C70C005D")
-			    (object Class "CSmsSetBearer"
-				quid       	"39D1C73E01F9"))
-			logical_presentations 	(list unit_reference_list))
-		    (object Class_Category "ESOCK"
-			quid       	"39D47EC500CC"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CProtocolBase"
-				quid       	"3780BA380073"
-				operations 	(list Operations
-				    (object Operation "v InitL"
-					quid       	"3781D589027E"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v StartL"
-					quid       	"3781D58902AD"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v BindToL"
-					quid       	"3781D58902EB"
-					parameters 	(list Parameters
-					    (object Parameter "aProtocol"
-						type       	"CProtocolBase*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v BindL"
-					quid       	"3781D589032A"
-					parameters 	(list Parameters
-					    (object Parameter "aProtocol"
-						type       	"CProtocolBase*"
-						initv      	"default")
-					    (object Parameter "aId"
-						type       	"TUint"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v Send"
-					quid       	"3781D5890368"
-					parameters 	(list Parameters
-					    (object Parameter "aPDU"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "aTo"
-						type       	"TSockAddr*"
-						initv      	"default")
-					    (object Parameter "aFrom"
-						type       	"TSockAddr*"
-						initv      	"NULL")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v Process"
-					quid       	"3781D5FB02CC"
-					parameters 	(list Parameters
-					    (object Parameter "aPDU"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "aTo"
-						type       	"TSockAddr*"
-						initv      	"default")
-					    (object Parameter "aFrom"
-						type       	"TSockAddr*"
-						initv      	"NULL")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v GetOption"
-					quid       	"3781D622027E"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v SetOption"
-					quid       	"3781D683026E"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"const TDesC8&"
-						initv      	"default")
-					    (object Parameter "aSourceProtocol"
-						type       	"CProtocolBase*"
-						initv      	"NULL"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v NewSAPL"
-					quid       	"3781D85E02FB"
-					parameters 	(list Parameters
-					    (object Parameter "aSocketType"
-						type       	"TUint"
-						initv      	"default"))
-					result     	"CServProviderBase*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CProtocolFamilyBase"
-				quid       	"3780BA6403DE"
-				operations 	(list Operations
-				    (object Operation "pv Install"
-					quid       	"3781BC340349"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v Open"
-					quid       	"3781BC4502CC"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v ProtocolList"
-					quid       	"3781BC580164"
-					parameters 	(list Parameters
-					    (object Parameter "aProtocolList"
-						type       	"TServerProtocolDesc*&"
-						initv      	"default"))
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v NewProtocolL"
-					quid       	"3781BCB1006A"
-					parameters 	(list Parameters
-					    (object Parameter "aSocketType"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aProtocol"
-						type       	"TUint"
-						initv      	"default"))
-					result     	"CProtocolBase*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "v Remove"
-					quid       	"3781BE44024F"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "CServProviderBase"
-				quid       	"3780BA630303"
-				operations 	(list Operations
-				    (object Operation "pv LocalName"
-					quid       	"3781C11B01E1"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv SetLocalName"
-					quid       	"3781DCDC007A"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv RemName"
-					quid       	"3781DCF7028D"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv SetRemName"
-					quid       	"3781DD2D0358"
-					parameters 	(list Parameters
-					    (object Parameter "aAddress"
-						type       	"TSockAddr&"
-						initv      	"default"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv Ioctl"
-					quid       	"3781DD3F0220"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"TDes8*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv CancelIoctl"
-					quid       	"3781DDA702EB"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv GetOption"
-					quid       	"3781DDED0230"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"TDes8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv SetOption"
-					quid       	"3781DE37026E"
-					parameters 	(list Parameters
-					    (object Parameter "aLevel"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aName"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aOption"
-						type       	"const TDes8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv Write"
-					quid       	"3781DE8A00E7"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"const TDesC8&"
-						initv      	"default")
-					    (object Parameter "arOptions"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aAddr"
-						type       	"TSockAddr*"
-						initv      	"NULL"))
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv GetData"
-					quid       	"3781DF04003C"
-					parameters 	(list Parameters
-					    (object Parameter "aDes"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "arOptions"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aAddr"
-						type       	"TSockAddr*"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv ActiveOpen"
-					quid       	"3781DF560397"
-					parameters 	(list Parameters
-					    (object Parameter "aConnectionData"
-						type       	"const TDesC8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv PassiveOpen"
-					quid       	"3781DF8B03C6"
-					parameters 	(list Parameters
-					    (object Parameter "aQueSize"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aConnectionData"
-						type       	"const TDesC8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv Shutdown"
-					quid       	"3781E02003E5"
-					parameters 	(list Parameters
-					    (object Parameter "aOption"
-						type       	"TCloseType"
-						initv      	"default")
-					    (object Parameter "aDisconnectionData"
-						type       	"const TDesC8&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "pv AutoBind"
-					quid       	"3781E06A0339"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))))
-			logical_presentations 	(list unit_reference_list)))
-		logical_presentations 	(list unit_reference_list
-		    (object ClassDiagram "Main"
-			quid       	"3780BA50015D"
-			title      	"Main"
-			zoom       	75
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object CategoryView "Logical View::SMS PROTOCOL MODULE::FRAMEWORK" @2219
-				location   	(404, 475)
-				label      	(object ItemLabel
-				    Parent_View 	@2219
-				    location   	(165, 336)
-				    nlines     	2
-				    max_width  	478
-				    justify    	0
-				    label      	"FRAMEWORK")
-				icon_style 	"Icon"
-				quidu      	"37CFF6D600A3"
-				width      	491
-				height     	291)
-			    (object CategoryView "Logical View::SMS PROTOCOL MODULE::RECEIVING" @2220
-				location   	(1070, 483)
-				label      	(object ItemLabel
-				    Parent_View 	@2220
-				    location   	(835, 348)
-				    nlines     	2
-				    max_width  	470
-				    justify    	0
-				    label      	"RECEIVING")
-				icon_style 	"Icon"
-				quidu      	"37CFF7110239"
-				width      	483
-				height     	283)
-			    (object CategoryView "Logical View::SMS PROTOCOL MODULE::SENDING" @2221
-				location   	(2315, 491)
-				label      	(object ItemLabel
-				    Parent_View 	@2221
-				    location   	(2092, 360)
-				    nlines     	2
-				    max_width  	446
-				    justify    	0
-				    label      	"SENDING")
-				icon_style 	"Icon"
-				quidu      	"37CFF7260026"
-				width      	458
-				height     	275)
-			    (object CategoryView "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE" @2222
-				location   	(396, 1050)
-				label      	(object ItemLabel
-				    Parent_View 	@2222
-				    location   	(148, 902)
-				    nlines     	2
-				    max_width  	496
-				    justify    	0
-				    label      	"REASSEMBLY STORE")
-				icon_style 	"Icon"
-				quidu      	"3770C35301DB"
-				width      	508
-				height     	308)
-			    (object CategoryView "Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE" @2223
-				location   	(1083, 1054)
-				label      	(object ItemLabel
-				    Parent_View 	@2223
-				    location   	(831, 906)
-				    nlines     	2
-				    max_width  	504
-				    justify    	0
-				    label      	"SEGMENTATION STORE")
-				icon_style 	"Icon"
-				quidu      	"377CA153005A"
-				width      	517
-				height     	308)
-			    (object CategoryView "Logical View::SMS PROTOCOL MODULE::ENUMERATION" @2224
-				location   	(1674, 487)
-				label      	(object ItemLabel
-				    Parent_View 	@2224
-				    location   	(1460, 360)
-				    nlines     	2
-				    max_width  	428
-				    justify    	0
-				    label      	"ENUMERATION")
-				icon_style 	"Icon"
-				quidu      	"38352E4201EB"
-				width      	441
-				height     	267)))))
-	    (object Class_Category "WAP PROTOCOL MODULE"
-		quid       	"37B96CFD016B"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list
-		    (object Association "$UNNAMED$502"
-			quid       	"37B96D4A00CF"
-			roles      	(list role_list
-			    (object Role "$UNNAMED$503"
-				quid       	"37B96D4A0256"
-				supplier   	"Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram"
-				quidu      	"3764D1B50097"
-				is_navigable 	TRUE
-				is_aggregate 	TRUE)
-			    (object Role "$UNNAMED$504"
-				quid       	"37B96D4A0257"
-				supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-				quidu      	"35E3DBB702F4"
-				is_navigable 	TRUE)))
-		    (object Class_Category "WAP REASSEMBLY STORE"
-			quid       	"381F2A6603B5"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list)
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"381F2A70027C"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::SEGMENTATION STORE::CWAPSegmentationStore" @2225
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(884, 974)
-					label      	(object ItemLabel
-					    Parent_View 	@2225
-					    location   	(803, 956)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CWAPSegmentationStore")
-					icon_style 	"Icon"
-					quidu      	"377CA1B903B6"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS PROTOCOL MODULE::REASSEMBLY STORE::TWAPMessageSettings" @2226
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1087, 1515)
-					label      	(object ItemLabel
-					    Parent_View 	@2226
-					    location   	(1006, 1497)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"TWAPMessageSettings")
-					icon_style 	"Icon"
-					quidu      	"377CA32C03A6"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram" @2227
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1560, 975)
-					label      	(object ItemLabel
-					    Parent_View 	@2227
-					    location   	(1479, 957)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CWAPDatagram")
-					icon_style 	"Icon"
-					quidu      	"3764D1B50097"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$462" @2228
-					location   	(1221, 974)
-					stereotype 	TRUE
-					quidu      	"377CA35601F0"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$463" @2229
-						Parent_View 	@2228
-						location   	(-1259, -230)
-						stereotype 	TRUE
-						quidu      	"377CA35603C5"
-						client     	@2228
-						supplier   	@2225
-						line_style 	0
-						label      	(object SegLabel @2230
-						    Parent_View 	@2229
-						    location   	(1000, 1028)
-						    anchor     	2
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	15
-						    justify    	0
-						    label      	"1"
-						    pctDist    	0.900000
-						    height     	54
-						    orientation 	0))
-					    (object RoleView "$UNNAMED$464" @2231
-						Parent_View 	@2228
-						location   	(-1259, -230)
-						stereotype 	TRUE
-						quidu      	"377CA35603C6"
-						client     	@2228
-						supplier   	@2227
-						line_style 	0
-						label      	(object SegLabel @2232
-						    Parent_View 	@2231
-						    location   	(1443, 1028)
-						    anchor     	2
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	15
-						    justify    	0
-						    label      	"0..*"
-						    pctDist    	0.900000
-						    height     	54
-						    orientation 	1))))
-				    (object AssociationViewNew "$UNNAMED$449" @2233
-					location   	(1322, 1244)
-					stereotype 	TRUE
-					quidu      	"377CA3420173"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$451" @2234
-						Parent_View 	@2233
-						location   	(-1158, 40)
-						stereotype 	TRUE
-						quidu      	"377CA34202FB"
-						client     	@2233
-						supplier   	@2226
-						line_style 	0)
-					    (object RoleView "$UNNAMED$450" @2235
-						Parent_View 	@2233
-						location   	(-1158, 40)
-						stereotype 	TRUE
-						quidu      	"377CA34202FA"
-						client     	@2233
-						supplier   	@2227
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS BUFFER::CSmsBuffer" @2236
-					IncludeAttribute 	TRUE
-					location   	(788, 489)
-					label      	(object ItemLabel
-					    Parent_View 	@2236
-					    location   	(707, 471)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsBuffer")
-					icon_style 	"Icon"
-					quidu      	"378F2399000F"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$448" @2237
-					location   	(1174, 731)
-					stereotype 	TRUE
-					quidu      	"3764D5B502E9"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2238
-						Parent_View 	@2237
-						location   	(-441, -134)
-						label      	(object SegLabel @2239
-						    Parent_View 	@2238
-						    location   	(1467, 866)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"3764D5B60097"
-						client     	@2237
-						supplier   	@2227
-						line_style 	0)
-					    (object RoleView "1..n" @2240
-						Parent_View 	@2237
-						location   	(-441, -134)
-						label      	(object SegLabel @2241
-						    Parent_View 	@2240
-						    location   	(927, 527)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"3764D5B60098"
-						client     	@2237
-						supplier   	@2236
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage" @2242
-					location   	(1557, 492)
-					label      	(object ItemLabel
-					    Parent_View 	@2242
-					    location   	(1476, 474)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsMessage")
-					icon_style 	"Icon"
-					quidu      	"35E3DBB702F4"
-					annotation 	8)
-				    (object AssociationViewNew "" @2243
-					location   	(1558, 733)
-					stereotype 	TRUE
-					quidu      	"3764D2DD0182"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2244
-						Parent_View 	@2243
-						location   	(-816, -132)
-						label      	(object SegLabel @2245
-						    Parent_View 	@2244
-						    location   	(1518, 901)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"3764D2DD0308"
-						client     	@2243
-						supplier   	@2227
-						line_style 	0)
-					    (object RoleView "1..n" @2246
-						Parent_View 	@2243
-						location   	(-816, -132)
-						label      	(object SegLabel @2247
-						    Parent_View 	@2246
-						    location   	(1516, 565)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"3764D2DD0318"
-						client     	@2243
-						supplier   	@2242
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$217" @2248
-					location   	(1172, 490)
-					stereotype 	TRUE
-					quidu      	"3773A209028B"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$219" @2249
-						Parent_View 	@2248
-						location   	(-1306, -238)
-						stereotype 	TRUE
-						quidu      	"3773A20A00F5"
-						client     	@2248
-						supplier   	@2236
-						line_style 	0)
-					    (object RoleView "$UNNAMED$218" @2250
-						Parent_View 	@2248
-						location   	(-1306, -238)
-						stereotype 	TRUE
-						quidu      	"3773A20A00E6"
-						client     	@2248
-						supplier   	@2242
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::GSM UTILS::SAR STORE::CSARStore" @2251
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(296, 1321)
-					label      	(object ItemLabel
-					    Parent_View 	@2251
-					    location   	(215, 1303)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSARStore")
-					icon_style 	"Icon"
-					quidu      	"375BD0900089"
-					annotation 	8)
-				    (object InheritView "" @2252
-					stereotype 	TRUE
-					quidu      	"377CA1D0003B"
-					client     	@2225
-					supplier   	@2251
-					line_style 	0)))))
-		    (object Class_Category "WAP DATAGRAM"
-			quid       	"381F2AA50105"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CWAPDatagram"
-				quid       	"3764D1B50097"
-				operations 	(list Operations
-				    (object Operation "EncodeSmsMessagesL"
-					quid       	"3764D24A022E"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DecodeSmsMessagesL"
-					quid       	"3764D24A024D"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Association "$UNNAMED$505"
-				quid       	"3764D2DD0182"
-				roles      	(list role_list
-				    (object Role "1"
-					quid       	"3764D2DD0308"
-					label      	"1"
-					supplier   	"Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram"
-					quidu      	"3764D1B50097"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "1..n"
-					quid       	"3764D2DD0318"
-					label      	"1..n"
-					supplier   	"Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage"
-					quidu      	"35E3DBB702F4"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"381F2AB2000B"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM::CWAPDatagram" @2253
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(745, 995)
-					label      	(object ItemLabel
-					    Parent_View 	@2253
-					    location   	(664, 977)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CWAPDatagram")
-					icon_style 	"Icon"
-					quidu      	"3764D1B50097"
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::GSM UTILS::SMS MESSAGE::CSmsMessage" @2254
-					location   	(1626, 995)
-					label      	(object ItemLabel
-					    Parent_View 	@2254
-					    location   	(1545, 977)
-					    nlines     	1
-					    max_width  	162
-					    justify    	0
-					    label      	"CSmsMessage")
-					icon_style 	"Icon"
-					quidu      	"35E3DBB702F4"
-					annotation 	8)
-				    (object AssociationViewNew "$UNNAMED$505" @2255
-					location   	(1185, 995)
-					stereotype 	TRUE
-					quidu      	"3764D2DD0182"
-					roleview_list 	(list RoleViews
-					    (object RoleView "1" @2256
-						Parent_View 	@2255
-						location   	(-336, 386)
-						label      	(object SegLabel @2257
-						    Parent_View 	@2256
-						    location   	(905, 954)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	1)
-						stereotype 	TRUE
-						quidu      	"3764D2DD0308"
-						client     	@2255
-						supplier   	@2253
-						line_style 	0)
-					    (object RoleView "1..n" @2258
-						Parent_View 	@2255
-						location   	(-336, 386)
-						label      	(object SegLabel @2259
-						    Parent_View 	@2258
-						    location   	(1465, 954)
-						    anchor     	1
-						    anchor_loc 	1
-						    nlines     	1
-						    max_width  	450
-						    justify    	0
-						    label      	"+1..n"
-						    pctDist    	0.800000
-						    height     	42
-						    orientation 	0)
-						stereotype 	TRUE
-						quidu      	"3764D2DD0318"
-						client     	@2255
-						supplier   	@2254
-						line_style 	0))))))))
-		logical_presentations 	(list unit_reference_list
-		    (object ClassDiagram "Main"
-			quid       	"37B96D0E01B9"
-			title      	"Main"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object CategoryView "Logical View::WAP PROTOCOL MODULE::WAP REASSEMBLY STORE" @2260
-				location   	(1237, 325)
-				label      	(object ItemLabel
-				    Parent_View 	@2260
-				    location   	(1003, 187)
-				    nlines     	2
-				    max_width  	468
-				    justify    	0
-				    label      	"WAP REASSEMBLY STORE")
-				icon_style 	"Icon"
-				quidu      	"381F2A6603B5"
-				width      	481
-				height     	288)
-			    (object CategoryView "Logical View::WAP PROTOCOL MODULE::WAP DATAGRAM" @2261
-				location   	(562, 300)
-				label      	(object ItemLabel
-				    Parent_View 	@2261
-				    location   	(331, 162)
-				    nlines     	2
-				    max_width  	462
-				    justify    	0
-				    label      	"WAP DATAGRAM")
-				icon_style 	"Icon"
-				quidu      	"381F2AA50105"
-				width      	475
-				height     	288)))))
-	    (object Class_Category "SMS UTILS"
-		quid       	"381F1BB30328"
-		exportControl 	"Public"
-		logical_models 	(list unit_reference_list
-		    (object Class "NewInterface"
-			quid       	"38B2B4760375"
-			stereotype 	"Interface")
-		    (object Class "NewInterface2"
-			quid       	"38B2B4DD0029"
-			stereotype 	"Interface")
-		    (object Class_Category "SMS ADDRESS"
-			quid       	"381F1BDC03A5"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "TSockAddr"
-				quid       	"381F1C0B00D7"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"381F22200338"
-					supplier   	"Logical View::SMS UTILS::SMS ADDRESS::TBuf8<32>"
-					quidu      	"381F221D01FF"))
-				operations 	(list Operations
-				    (object Operation "Family"
-					quid       	"381F2292002B"
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetFamily"
-					quid       	"381F229F01D1"
-					parameters 	(list Parameters
-					    (object Parameter "aFamily"
-						type       	"TUint"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Port"
-					quid       	"381F22C4020F"
-					result     	"TUint"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetPort"
-					quid       	"381F22C40309"
-					parameters 	(list Parameters
-					    (object Parameter "aPort"
-						type       	"TUint"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "CmpPort"
-					quid       	"381F23030144"
-					parameters 	(list Parameters
-					    (object Parameter "aAddr"
-						type       	"TSockAddr"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetUserLen"
-					quid       	"381F23250173"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "TBuf8<32>"
-				quid       	"381F221D01FF")
-			    (object Class "TSmsAddr"
-				quid       	"381F22330098"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"381F226002DA"
-					supplier   	"Logical View::SMS UTILS::SMS ADDRESS::TSockAddr"
-					quidu      	"381F1C0B00D7"))
-				operations 	(list Operations
-				    (object Operation "SmsAddrFamily"
-					quid       	"381F234D00C7"
-					result     	"TSmsAddrFamily"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetSmsAddrFamily"
-					quid       	"381F236A0173"
-					parameters 	(list Parameters
-					    (object Parameter "aFamily"
-						type       	"TSmsAddrFamily"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "IdentifierMatch"
-					quid       	"381F23A70309"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetIdentifierMatch"
-					quid       	"381F23B20182"
-					parameters 	(list Parameters
-					    (object Parameter "aIdentifier"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "TextMatch"
-					quid       	"381F23D70367"
-					result     	"TPtrC8"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTextMatch"
-					quid       	"381F23ED03B5"
-					parameters 	(list Parameters
-					    (object Parameter "aText"
-						type       	"const TDesC&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "operator=="
-					quid       	"381F24150134"
-					parameters 	(list Parameters
-					    (object Parameter "aAddr"
-						type       	"const TSmsAddr& aAddr"
-						initv      	"default"))
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"381F1C060319"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS ADDRESS::TBuf8<32>" @2262
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(581, 706)
-					label      	(object ItemLabel
-					    Parent_View 	@2262
-					    location   	(460, 655)
-					    nlines     	1
-					    max_width  	242
-					    justify    	0
-					    label      	"TBuf8<32>")
-					icon_style 	"Icon"
-					line_color 	4194368
-					fill_color 	16777215
-					quidu      	"381F221D01FF"
-					width      	260
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS ADDRESS::TSockAddr" @2263
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1153, 706)
-					label      	(object ItemLabel
-					    Parent_View 	@2263
-					    location   	(1006, 500)
-					    nlines     	1
-					    max_width  	294
-					    justify    	0
-					    label      	"TSockAddr")
-					icon_style 	"Icon"
-					line_color 	4194368
-					fill_color 	16777215
-					quidu      	"381F1C0B00D7"
-					width      	312
-					height     	436
-					annotation 	8)
-				    (object InheritView "" @2264
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"381F22200338"
-					client     	@2263
-					supplier   	@2262
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS ADDRESS::TSmsAddr" @2265
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1893, 706)
-					label      	(object ItemLabel
-					    Parent_View 	@2265
-					    location   	(1678, 475)
-					    nlines     	1
-					    max_width  	430
-					    justify    	0
-					    label      	"TSmsAddr")
-					icon_style 	"Icon"
-					line_color 	4194368
-					fill_color 	16777215
-					quidu      	"381F22330098"
-					width      	448
-					height     	486
-					annotation 	8)
-				    (object InheritView "" @2266
-					stereotype 	TRUE
-					line_color 	3342489
-					quidu      	"381F226002DA"
-					client     	@2265
-					supplier   	@2263
-					line_style 	0)))))
-		    (object Class_Category "SMS STREAM"
-			quid       	"381F1BF003E4"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "RSocket"
-				quid       	"3796FE770244"
-				operations 	(list Operations
-				    (object Operation "Recv"
-					quid       	"381F259D000B"
-					parameters 	(list Parameters
-					    (object Parameter "aDesc"
-						type       	"TDes8&"
-						initv      	"default")
-					    (object Parameter "aFlags"
-						type       	"TUint"
-						initv      	"default")
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default")
-					    (object Parameter "aLen"
-						type       	"TSockXfrLength"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Write"
-					quid       	"381F25CA01A2"
-					parameters 	(list Parameters
-					    (object Parameter "aDesc"
-						type       	"const TDes8&"
-						initv      	"default")
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "RSmsSocketWriteStream"
-				quid       	"379703EC01B7"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"379705A3032E"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RWriteSream"
-					quidu      	"379705660253"))
-				operations 	(list Operations
-				    (object Operation "untitled"
-					quid       	"39B8C409004D"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)))
-			    (object Class "RSmsSocketReadStream"
-				quid       	"3797040A031E"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"379705A80011"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RReadStream"
-					quidu      	"3797055703CA")))
-			    (object Class "RSmsSocketBuf"
-				quid       	"379704B003BB"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"381F272A0154"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::TStreamBuf"
-					quidu      	"381F271C0105"))
-				operations 	(list Operations
-				    (object Operation "UnderflowL"
-					quid       	"381F27A202F9"
-					parameters 	(list Parameters
-					    (object Parameter "aMaxLength"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "OverflowL"
-					quid       	"381F27A20376"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "DoSynchL"
-					quid       	"381F284C023E"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)))
-			    (object Class "RReadStream"
-				quid       	"3797055703CA")
-			    (object Class "RWriteSream"
-				quid       	"379705660253")
-			    (object Class "TStreamBuf"
-				quid       	"381F271C0105"
-				operations 	(list Operations
-				    (object Operation "pv UnderflowL"
-					quid       	"381F274B0396"
-					parameters 	(list Parameters
-					    (object Parameter "aMaxLength"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "pv OverflowL"
-					quid       	"381F27770376"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)
-				    (object Operation "v DoSynchL"
-					quid       	"381F286903D4"
-					concurrency 	"Sequential"
-					opExportControl 	"Private"
-					uid        	0)))
-			    (object Class "TBuf8<256>"
-				quid       	"381F28730079")
-			    (object Association "iSocket"
-				quid       	"379704BE0205"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$506"
-					quid       	"379704BE03AB"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RSmsSocketBuf"
-					quidu      	"379704B003BB"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$507"
-					quid       	"379704BE03AC"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RSocket"
-					quidu      	"3796FE770244"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$508"
-				quid       	"3797053D007E"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$509"
-					quid       	"3797053D01F5"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RSmsSocketWriteStream"
-					quidu      	"379703EC01B7"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$510"
-					quid       	"3797053D01F6"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RSmsSocketBuf"
-					quidu      	"379704B003BB"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "$UNNAMED$511"
-				quid       	"3797054C0178"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$512"
-					quid       	"3797054C02D0"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RSmsSocketReadStream"
-					quidu      	"3797040A031E"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$513"
-					quid       	"3797054C02D1"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RSmsSocketBuf"
-					quidu      	"379704B003BB"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iBuffer"
-				quid       	"381F288401B1"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$514"
-					quid       	"381F288403C5"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::RSmsSocketBuf"
-					quidu      	"379704B003BB"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$515"
-					quid       	"381F288403C6"
-					supplier   	"Logical View::SMS UTILS::SMS STREAM::TBuf8<256>"
-					quidu      	"381F28730079"
-					Containment 	"By Value"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"381F21C100A8"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	79
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::RReadStream" @2267
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1802, 593)
-					label      	(object ItemLabel
-					    Parent_View 	@2267
-					    location   	(1652, 542)
-					    nlines     	1
-					    max_width  	300
-					    justify    	0
-					    label      	"RReadStream")
-					icon_style 	"Icon"
-					quidu      	"3797055703CA"
-					width      	318
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::RWriteSream" @2268
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1815, 1359)
-					label      	(object ItemLabel
-					    Parent_View 	@2268
-					    location   	(1674, 1308)
-					    nlines     	1
-					    max_width  	282
-					    justify    	0
-					    label      	"RWriteSream")
-					icon_style 	"Icon"
-					quidu      	"379705660253"
-					width      	300
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::RSocket" @2269
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1802, 975)
-					label      	(object ItemLabel
-					    Parent_View 	@2269
-					    location   	(1708, 869)
-					    nlines     	1
-					    max_width  	188
-					    justify    	0
-					    label      	"RSocket")
-					icon_style 	"Icon"
-					quidu      	"3796FE770244"
-					width      	206
-					height     	236)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::RSmsSocketWriteStream" @2270
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1174, 1359)
-					label      	(object ItemLabel
-					    Parent_View 	@2270
-					    location   	(923, 1308)
-					    nlines     	1
-					    max_width  	502
-					    justify    	0
-					    label      	"RSmsSocketWriteStream")
-					icon_style 	"Icon"
-					quidu      	"379703EC01B7"
-					width      	520
-					height     	126
-					annotation 	8)
-				    (object InheritView "" @2271
-					stereotype 	TRUE
-					quidu      	"379705A3032E"
-					client     	@2270
-					supplier   	@2268
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::TBuf8<256>" @2272
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(559, 1118)
-					label      	(object ItemLabel
-					    Parent_View 	@2272
-					    location   	(434, 1067)
-					    nlines     	1
-					    max_width  	250
-					    justify    	0
-					    label      	"TBuf8<256>")
-					icon_style 	"Icon"
-					quidu      	"381F28730079"
-					width      	268
-					height     	126
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::RSmsSocketReadStream" @2273
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1178, 597)
-					label      	(object ItemLabel
-					    Parent_View 	@2273
-					    location   	(925, 546)
-					    nlines     	1
-					    max_width  	506
-					    justify    	0
-					    label      	"RSmsSocketReadStream")
-					icon_style 	"Icon"
-					quidu      	"3797040A031E"
-					width      	524
-					height     	126
-					annotation 	8)
-				    (object InheritView "" @2274
-					stereotype 	TRUE
-					quidu      	"379705A80011"
-					client     	@2273
-					supplier   	@2267
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::RSmsSocketBuf" @2275
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1174, 975)
-					label      	(object ItemLabel
-					    Parent_View 	@2275
-					    location   	(1005, 844)
-					    nlines     	1
-					    max_width  	338
-					    justify    	0
-					    label      	"RSmsSocketBuf")
-					icon_style 	"Icon"
-					quidu      	"379704B003BB"
-					width      	356
-					height     	286)
-				    (object AssociationViewNew "iSocket" @2276
-					location   	(1525, 975)
-					label      	(object SegLabel @2277
-					    Parent_View 	@2276
-					    location   	(1525, 916)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iSocket"
-					    pctDist    	0.500000
-					    height     	60
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"379704BE0205"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$506" @2278
-						Parent_View 	@2276
-						location   	(-509, 394)
-						stereotype 	TRUE
-						quidu      	"379704BE03AB"
-						client     	@2276
-						supplier   	@2275
-						line_style 	0)
-					    (object RoleView "$UNNAMED$507" @2279
-						Parent_View 	@2276
-						location   	(-509, 394)
-						stereotype 	TRUE
-						quidu      	"379704BE03AC"
-						client     	@2276
-						supplier   	@2269
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$508" @2280
-					location   	(1174, 1206)
-					stereotype 	TRUE
-					quidu      	"3797053D007E"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$509" @2281
-						Parent_View 	@2280
-						location   	(-535, 182)
-						stereotype 	TRUE
-						quidu      	"3797053D01F5"
-						client     	@2280
-						supplier   	@2270
-						line_style 	0)
-					    (object RoleView "$UNNAMED$510" @2282
-						Parent_View 	@2280
-						location   	(-535, 182)
-						stereotype 	TRUE
-						quidu      	"3797053D01F6"
-						client     	@2280
-						supplier   	@2275
-						line_style 	0)))
-				    (object AssociationViewNew "iBuffer" @2283
-					location   	(844, 1050)
-					label      	(object SegLabel @2284
-					    Parent_View 	@2283
-					    location   	(844, 991)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iBuffer"
-					    pctDist    	0.500000
-					    height     	60
-					    orientation 	0)
-					stereotype 	TRUE
-					quidu      	"381F288401B1"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$514" @2285
-						Parent_View 	@2283
-						location   	(301, -68)
-						stereotype 	TRUE
-						quidu      	"381F288403C5"
-						client     	@2283
-						supplier   	@2275
-						line_style 	0)
-					    (object RoleView "$UNNAMED$515" @2286
-						Parent_View 	@2283
-						location   	(301, -68)
-						stereotype 	TRUE
-						quidu      	"381F288403C6"
-						client     	@2283
-						supplier   	@2272
-						line_style 	0)))
-				    (object AssociationViewNew "$UNNAMED$511" @2287
-					location   	(1176, 745)
-					stereotype 	TRUE
-					quidu      	"3797054C0178"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$512" @2288
-						Parent_View 	@2287
-						location   	(-533, -279)
-						stereotype 	TRUE
-						quidu      	"3797054C02D0"
-						client     	@2287
-						supplier   	@2273
-						line_style 	0)
-					    (object RoleView "$UNNAMED$513" @2289
-						Parent_View 	@2287
-						location   	(-533, -279)
-						stereotype 	TRUE
-						quidu      	"3797054C02D1"
-						client     	@2287
-						supplier   	@2275
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS STREAM::TStreamBuf" @2290
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(537, 771)
-					label      	(object ItemLabel
-					    Parent_View 	@2290
-					    location   	(400, 640)
-					    nlines     	1
-					    max_width  	274
-					    justify    	0
-					    label      	"TStreamBuf")
-					icon_style 	"Icon"
-					quidu      	"381F271C0105"
-					width      	292
-					height     	286)
-				    (object InheritView "" @2291
-					stereotype 	TRUE
-					quidu      	"381F272A0154"
-					client     	@2275
-					supplier   	@2290
-					line_style 	0)))))
-		    (object Class_Category "SETTINGS"
-			quid       	"381D7BE4037A"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "TSmsSettings"
-				quid       	"371CA4B2022E"
-				operations 	(list Operations
-				    (object Operation "Timeout"
-					quid       	"381F1EF7003A"
-					result     	"const TTimeIntervalMicroSeconds32&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetTimeout"
-					quid       	"381F1F3900C7"
-					parameters 	(list Parameters
-					    (object Parameter "aTimeout"
-						type       	"const TTimeIntervalMicroSeconds32&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SendTryLimit"
-					quid       	"381F1F6203D4"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetSendTryLimit"
-					quid       	"381F1FA002DA"
-					parameters 	(list Parameters
-					    (object Parameter "aSendTryLimit"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeletePDUsFromSIM"
-					quid       	"38B29A510133"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetDeletePDUsFromSIM"
-					quid       	"38B29A6903A4"
-					parameters 	(list Parameters
-					    (object Parameter "aDelete"
-						type       	"TBool"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeletePDUsFromPhoneStores"
-					quid       	"38B2A3490049"
-					result     	"TBool"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetDeletePDUsFromPhoneStores"
-					quid       	"38B2A34900C6"
-					parameters 	(list Parameters
-					    (object Parameter "aDelete"
-						type       	"TBool"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ReassemblyLifetime"
-					quid       	"38B2A34F01CF"
-					result     	"const TTimeIntervalMinutes&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetReassemblyLifetime"
-					quid       	"38B2A34F01EF"
-					parameters 	(list Parameters
-					    (object Parameter "aReassemblyLifetime"
-						type       	"argtype"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "KSegmentationLifetimeMultiplier"
-					quid       	"38B2A34F020E"
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetKSegmentationLifetimeMultiplier"
-					quid       	"38B2A34F023D"
-					parameters 	(list Parameters
-					    (object Parameter "aKSegmentationLifetimeMultiplier"
-						type       	"TInt"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ModemInitializationTimeout"
-					quid       	"38B2A38700B6"
-					result     	"const TTimeIntervalMicroSeconds32&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SetModemInitializationTimeout"
-					quid       	"38B2A38700D5"
-					parameters 	(list Parameters
-					    (object Parameter "aTimeout"
-						type       	"const TTimeIntervalMicroSeconds32&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "InternalizeL"
-					quid       	"38B2A38A0346"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RReadStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ExternalizeL"
-					quid       	"38B2A38A0366"
-					parameters 	(list Parameters
-					    (object Parameter "aStream"
-						type       	"RWriteStream&"
-						initv      	"default"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iTimeoutMicroSeconds32"
-					quid       	"3784C3C802F9"
-					type       	"TTimeIntervalMicroSeconds32")
-				    (object ClassAttribute "iSendTryLimit"
-					quid       	"3784C51B029B"
-					type       	"TInt")
-				    (object ClassAttribute "iFlags"
-					quid       	"381F1CB60328"
-					type       	"TInt")
-				    (object ClassAttribute "iReassemblyLifetime"
-					quid       	"381F1EA403E4"
-					type       	"TTimeIntervalMinutes")
-				    (object ClassAttribute "iKSegmentationLifetimeMultiplier"
-					quid       	"381F1ECE01B1"
-					type       	"TInt")
-				    (object ClassAttribute "iModemInitializationTimeoutMicroSeconds32"
-					quid       	"38B298F000E5"
-					type       	"TTimeIntervalMicroSeconds32"))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"381D7BEC007C"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	166
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS UTILS::SETTINGS::TSmsSettings" @2292
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(768, 945)
-					label      	(object ItemLabel
-					    Parent_View 	@2292
-					    location   	(78, 339)
-					    nlines     	1
-					    max_width  	1380
-					    justify    	0
-					    label      	"TSmsSettings")
-					icon_style 	"Icon"
-					quidu      	"371CA4B2022E"
-					width      	1398
-					height     	1236)))))
-		    (object Class_Category "SMS LOGGING"
-			quid       	"38B2B3320394"
-			exportControl 	"Public"
-			logical_models 	(list unit_reference_list
-			    (object Class "CLogActive"
-				quid       	"38B2B3CA023D"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"38B2B4FB0172"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CActive"
-					quidu      	"3780C4A601F9")))
-			    (object Class "CActive"
-				quid       	"3780C4A601F9")
-			    (object Class "CSmsEventLogger"
-				quid       	"38B2B5130078"
-				superclasses 	(list inheritance_relationship_list
-				    (object Inheritance_Relationship
-					quid       	"38B2B56F024C"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CLogActive"
-					quidu      	"38B2B3CA023D"))
-				operations 	(list Operations
-				    (object Operation "static NewL"
-					quid       	"38B2BFF9027B"
-					parameters 	(list Parameters
-					    (object Parameter "aSms"
-						type       	"const TSms&"
-						initv      	"default"))
-					result     	"CSmsEventLogger*"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "AddEvent"
-					quid       	"38B2BFFF0133"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aData"
-						type       	"TLogSmsPduData")
-					    (object Parameter "aStatusId"
-						type       	"TInt*"
-						initv      	"NULL"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetEvent"
-					quid       	"38B2BFFF0143"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&")
-					    (object Parameter "aId"
-						type       	"TLogId"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ChangeEvent"
-					quid       	"38B2BFFF0152"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&")
-					    (object Parameter "aSmsMessage"
-						type       	"const CSmsMessage&")
-					    (object Parameter "aData"
-						type       	"TLogSmsPduData")
-					    (object Parameter "aStatusId"
-						type       	"TInt*"
-						initv      	"NULL"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "DeleteEvent"
-					quid       	"38B2BFFF0162"
-					parameters 	(list Parameters
-					    (object Parameter "aStatus"
-						type       	"TRequestStatus&"))
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "ClientAvailable"
-					quid       	"38B2BFFF0172"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "GetString"
-					quid       	"38B2BFFF0181"
-					parameters 	(list Parameters
-					    (object Parameter "aString"
-						type       	"TDes&")
-					    (object Parameter "aId"))
-					result     	"TInt"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "Event"
-					quid       	"38B2BFFF0191"
-					result     	"CLogEvent&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0)
-				    (object Operation "SmsPDUData"
-					quid       	"38B2BFFF01B0"
-					result     	"const TLogSmsPduData&"
-					concurrency 	"Sequential"
-					opExportControl 	"Public"
-					uid        	0))
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iState"
-					quid       	"38B2BDE601A0")))
-			    (object Class "TLogSmsPduData"
-				quid       	"38B2B7B00317"
-				class_attributes 	(list class_attribute_list
-				    (object ClassAttribute "iType"
-					quid       	"38B2BD240068"
-					type       	"TInt")
-				    (object ClassAttribute "iTotal"
-					quid       	"38B2BD49029A"
-					type       	"TInt")
-				    (object ClassAttribute "iSent"
-					quid       	"38B2BD4A0039"
-					type       	"TInt")
-				    (object ClassAttribute "iDelivered"
-					quid       	"38B2BD4A0385"
-					type       	"TInt")
-				    (object ClassAttribute "iFailed"
-					quid       	"38B2BD4B00A6"
-					type       	"TInt")
-				    (object ClassAttribute "iReceived"
-					quid       	"38B2BD4B0162"
-					type       	"TInt")))
-			    (object Class "CLogWrapper"
-				quid       	"3821B81002E8")
-			    (object Class "CLogEvent"
-				quid       	"382993E0028E")
-			    (object Class "CSmsSendLogger"
-				quid       	"39B8D96202B8")
-			    (object Association "iSmsPDUData"
-				quid       	"38B2BC8B0308"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$516"
-					quid       	"38B2BC8C00E5"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CSmsEventLogger"
-					quidu      	"38B2B5130078"
-					Containment 	"By Value"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$517"
-					quid       	"38B2BC8C00F5"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::TLogSmsPduData"
-					quidu      	"38B2B7B00317"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iLogWrapper"
-				quid       	"38B2BDB302D9"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$518"
-					quid       	"38B2BDB40087"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CSmsEventLogger"
-					quidu      	"38B2B5130078"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$519"
-					quid       	"38B2BDB40097"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CLogWrapper"
-					quidu      	"3821B81002E8"
-					Containment 	"By Value"
-					is_navigable 	TRUE)))
-			    (object Association "iLogEvent"
-				quid       	"38B2BE3E0097"
-				roles      	(list role_list
-				    (object Role "$UNNAMED$520"
-					quid       	"38B2BE3F0049"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CSmsEventLogger"
-					quidu      	"38B2B5130078"
-					is_navigable 	TRUE
-					is_aggregate 	TRUE)
-				    (object Role "$UNNAMED$521"
-					quid       	"38B2BE3F0068"
-					supplier   	"Logical View::SMS UTILS::SMS LOGGING::CLogEvent"
-					quidu      	"382993E0028E"
-					Containment 	"By Value"
-					is_navigable 	TRUE))))
-			logical_presentations 	(list unit_reference_list
-			    (object ClassDiagram "Main"
-				quid       	"38B2B3C40337"
-				title      	"Main"
-				zoom       	100
-				max_height 	28350
-				max_width  	21600
-				origin_x   	0
-				origin_y   	0
-				items      	(list diagram_item_list
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CLogActive" @2293
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(903, 856)
-					label      	(object ItemLabel
-					    Parent_View 	@2293
-					    location   	(756, 762)
-					    nlines     	1
-					    max_width  	294
-					    justify    	0
-					    label      	"CLogActive")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"38B2B3CA023D"
-					width      	312
-					height     	213
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CActive" @2294
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(340, 852)
-					label      	(object ItemLabel
-					    Parent_View 	@2294
-					    location   	(256, 801)
-					    nlines     	1
-					    max_width  	168
-					    justify    	0
-					    label      	"CActive")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"3780C4A601F9"
-					width      	186
-					height     	126
-					annotation 	8)
-				    (object InheritView "" @2295
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2B4FB0172"
-					client     	@2293
-					supplier   	@2294
-					line_style 	0)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::TLogSmsPduData" @2296
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(2319, 1559)
-					label      	(object ItemLabel
-					    Parent_View 	@2296
-					    location   	(2091, 1353)
-					    nlines     	1
-					    max_width  	457
-					    justify    	0
-					    label      	"TLogSmsPduData")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"38B2B7B00317"
-					width      	475
-					height     	437)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CLogWrapper" @2297
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(903, 1559)
-					label      	(object ItemLabel
-					    Parent_View 	@2297
-					    location   	(703, 1415)
-					    nlines     	1
-					    max_width  	401
-					    justify    	0
-					    label      	"CLogWrapper")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"3821B81002E8"
-					width      	419
-					height     	313
-					annotation 	8)
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CSmsEventLogger" @2298
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1634, 859)
-					label      	(object ItemLabel
-					    Parent_View 	@2298
-					    location   	(1409, 537)
-					    nlines     	1
-					    max_width  	451
-					    justify    	0
-					    label      	"CSmsEventLogger")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"38B2B5130078"
-					width      	469
-					height     	669)
-				    (object InheritView "" @2299
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2B56F024C"
-					client     	@2298
-					supplier   	@2293
-					line_style 	0)
-				    (object AssociationViewNew "iSmsPDUData" @2300
-					location   	(1986, 1219)
-					label      	(object SegLabel @2301
-					    Parent_View 	@2300
-					    location   	(1974, 1232)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iSmsPDUData"
-					    pctDist    	0.300000
-					    height     	13
-					    orientation 	1)
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2BC8B0308"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$516" @2302
-						Parent_View 	@2300
-						location   	(721, -296)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"38B2BC8C00E5"
-						client     	@2300
-						supplier   	@2298
-						line_style 	0)
-					    (object RoleView "$UNNAMED$517" @2303
-						Parent_View 	@2300
-						location   	(721, -296)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"38B2BC8C00F5"
-						client     	@2300
-						supplier   	@2296
-						line_style 	0)))
-				    (object AssociationViewNew "iLogWrapper" @2304
-					location   	(1231, 1241)
-					label      	(object SegLabel @2305
-					    Parent_View 	@2304
-					    location   	(1227, 1247)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iLogWrapper"
-					    pctDist    	0.450000
-					    height     	6
-					    orientation 	1)
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2BDB302D9"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$518" @2306
-						Parent_View 	@2304
-						location   	(-643, -283)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"38B2BDB40087"
-						client     	@2304
-						supplier   	@2298
-						line_style 	0)
-					    (object RoleView "$UNNAMED$519" @2307
-						Parent_View 	@2304
-						location   	(-643, -283)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"38B2BDB40097"
-						client     	@2304
-						supplier   	@2297
-						line_style 	0)))
-				    (object ClassView "Class" "Logical View::SMS UTILS::SMS LOGGING::CLogEvent" @2308
-					ShowCompartmentStereotypes 	TRUE
-					IncludeAttribute 	TRUE
-					IncludeOperation 	TRUE
-					location   	(1637, 1593)
-					label      	(object ItemLabel
-					    Parent_View 	@2308
-					    location   	(1462, 1465)
-					    nlines     	1
-					    max_width  	351
-					    justify    	0
-					    label      	"CLogEvent")
-					icon_style 	"Icon"
-					line_color 	4194368
-					quidu      	"382993E0028E"
-					width      	369
-					height     	281
-					annotation 	8)
-				    (object AssociationViewNew "iLogEvent" @2309
-					location   	(1635, 1322)
-					label      	(object SegLabel @2310
-					    Parent_View 	@2309
-					    location   	(1631, 1333)
-					    font       	(object Font
-						italics    	TRUE)
-					    anchor     	1
-					    anchor_loc 	1
-					    nlines     	1
-					    max_width  	600
-					    justify    	0
-					    label      	"iLogEvent"
-					    pctDist    	0.450000
-					    height     	11
-					    orientation 	1)
-					stereotype 	TRUE
-					line_color 	4194368
-					quidu      	"38B2BE3E0097"
-					roleview_list 	(list RoleViews
-					    (object RoleView "$UNNAMED$520" @2311
-						Parent_View 	@2309
-						location   	(-539, -280)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"38B2BE3F0049"
-						client     	@2309
-						supplier   	@2298
-						line_style 	0)
-					    (object RoleView "$UNNAMED$521" @2312
-						Parent_View 	@2309
-						location   	(-539, -280)
-						stereotype 	TRUE
-						line_color 	3342489
-						quidu      	"38B2BE3F0068"
-						client     	@2309
-						supplier   	@2308
-						line_style 	0))))))))
-		logical_presentations 	(list unit_reference_list
-		    (object ClassDiagram "Main"
-			quid       	"381F1BC802EA"
-			title      	"Main"
-			zoom       	100
-			max_height 	28350
-			max_width  	21600
-			origin_x   	0
-			origin_y   	0
-			items      	(list diagram_item_list
-			    (object CategoryView "Logical View::SMS UTILS::SETTINGS" @2313
-				location   	(384, 596)
-				label      	(object ItemLabel
-				    Parent_View 	@2313
-				    location   	(153, 461)
-				    nlines     	2
-				    max_width  	462
-				    justify    	0
-				    label      	"SETTINGS")
-				icon_style 	"Icon"
-				quidu      	"381D7BE4037A"
-				width      	475
-				height     	283)
-			    (object CategoryView "Logical View::SMS UTILS::SMS ADDRESS" @2314
-				location   	(1121, 606)
-				label      	(object ItemLabel
-				    Parent_View 	@2314
-				    location   	(909, 481)
-				    nlines     	2
-				    max_width  	424
-				    justify    	0
-				    label      	"SMS ADDRESS")
-				icon_style 	"Icon"
-				quidu      	"381F1BDC03A5"
-				width      	437
-				height     	263)
-			    (object CategoryView "Logical View::SMS UTILS::SMS STREAM" @2315
-				location   	(393, 1009)
-				label      	(object ItemLabel
-				    Parent_View 	@2315
-				    location   	(162, 871)
-				    nlines     	2
-				    max_width  	462
-				    justify    	0
-				    label      	"SMS STREAM")
-				icon_style 	"Icon"
-				quidu      	"381F1BF003E4"
-				width      	475
-				height     	288)
-			    (object CategoryView "Logical View::SMS UTILS::SMS LOGGING" @2316
-				location   	(1153, 1028)
-				label      	(object ItemLabel
-				    Parent_View 	@2316
-				    location   	(925, 906)
-				    nlines     	2
-				    max_width  	456
-				    justify    	0
-				    label      	"SMS LOGGING")
-				icon_style 	"Icon"
-				line_color 	4194368
-				fill_color 	16777215
-				quidu      	"38B2B3320394"
-				width      	468
-				height     	256))))))
-	logical_presentations 	(list unit_reference_list
-	    (object ClassDiagram "Main"
-		quid       	"375BCD1B022F"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	300
-		origin_y   	309
-		items      	(list diagram_item_list
-		    (object CategoryView "Logical View::GSM UTILS" @2317
-			location   	(704, 681)
-			label      	(object ItemLabel
-			    Parent_View 	@2317
-			    location   	(482, 550)
-			    nlines     	2
-			    max_width  	444
-			    justify    	0
-			    label      	"GSM UTILS")
-			icon_style 	"Icon"
-			quidu      	"35B4B68E0162"
-			width      	456
-			height     	275)
-		    (object CategoryView "Logical View::SMS PROTOCOL MODULE" @2318
-			location   	(1432, 694)
-			label      	(object ItemLabel
-			    Parent_View 	@2318
-			    location   	(1207, 563)
-			    nlines     	2
-			    max_width  	450
-			    justify    	0
-			    label      	"SMS PROTOCOL MODULE")
-			icon_style 	"Icon"
-			quidu      	"3780BA4B00FF"
-			width      	462
-			height     	275)
-		    (object CategoryView "Logical View::WAP PROTOCOL MODULE" @2319
-			location   	(1431, 1127)
-			label      	(object ItemLabel
-			    Parent_View 	@2319
-			    location   	(1197, 989)
-			    nlines     	2
-			    max_width  	468
-			    justify    	0
-			    label      	"WAP PROTOCOL MODULE")
-			icon_style 	"Icon"
-			quidu      	"37B96CFD016B"
-			width      	481
-			height     	288)
-		    (object CategoryView "Logical View::SMS UTILS" @2320
-			location   	(694, 1106)
-			label      	(object ItemLabel
-			    Parent_View 	@2320
-			    location   	(469, 975)
-			    nlines     	2
-			    max_width  	450
-			    justify    	0
-			    label      	"SMS UTILS")
-			icon_style 	"Icon"
-			quidu      	"381F1BB30328"
-			width      	463
-			height     	275)))))
-    root_subsystem 	(object SubSystem "Component View"
-	quid       	"375BCD1B01F3"
-	physical_models 	(list unit_reference_list)
-	physical_presentations 	(list unit_reference_list
-	    (object Module_Diagram "Main"
-		quid       	"375BCD1B023F"
-		title      	"Main"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    process_structure 	(object Processes
-	quid       	"375BCD1B01F4"
-	ProcsNDevs 	(list
-	    (object Process_Diagram "Deployment View"
-		quid       	"375BCD1B0241"
-		title      	"Deployment View"
-		zoom       	100
-		max_height 	28350
-		max_width  	21600
-		origin_x   	0
-		origin_y   	0
-		items      	(list diagram_item_list))))
-    properties 	(object Properties
-	attributes 	(list Attribute_Set
-	    (object Attribute
-		tool       	"cg"
-		name       	"roseId"
-		value      	"753117540")
-	    (object Attribute
-		tool       	"cg"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"cg"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"cg"
-			name       	"project"
-			value      	" ")))
-	    (object Attribute
-		tool       	"DDL"
-		name       	"propertyId"
-		value      	"809135966")
-	    (object Attribute
-		tool       	"DDL"
-		name       	"default__Project"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"DDL"
-			name       	"Directory"
-			value      	"AUTO GENERATE")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DataBase"
-			value      	("DataBaseSet" 800))
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DataBaseSet"
-			value      	(list Attribute_Set
-			    (object Attribute
-				tool       	"DDL"
-				name       	"ANSI"
-				value      	800)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"Oracle"
-				value      	801)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"SQLServer"
-				value      	802)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"Sybase"
-				value      	803)
-			    (object Attribute
-				tool       	"DDL"
-				name       	"Watcom"
-				value      	804)))
-		    (object Attribute
-			tool       	"DDL"
-			name       	"PrimaryKeyColumnName"
-			value      	"Id")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"PrimaryKeyColumnType"
-			value      	"NUMBER(5)")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"ViewName"
-			value      	"V_")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"TableName"
-			value      	"T_")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"InheritSuffix"
-			value      	"_V")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DropClause"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"BaseViews"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"DDLScriptFilename"
-			value      	"DDL1.SQL")))
-	    (object Attribute
-		tool       	"DDL"
-		name       	"default__Attribute"
-		value      	(list Attribute_Set
-		    (object Attribute
-			tool       	"DDL"
-			name       	"ColumnType"
-			value      	"VARCHAR")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"Length"
-			value      	"")
-		    (object Attribute
-			tool       	"DDL"
-			name       	"NullsOK"
-			value      	TRUE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"PrimaryKey"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"Unique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"CompositeUnique"
-			value      	FALSE)
-		    (object Attribute
-			tool       	"DDL"
-			name       	"CheckConstraint"
-			value      	"")))
-	    (object Attribute
-		tool       	"DDL"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Model Integrator"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Version Control"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"RequisitePro"
-		name       	"HiddenTool"
-		value      	FALSE)
-	    (object Attribute
-		tool       	"Rose Web Publisher"
-		name       	"HiddenTool"
-		value      	FALSE))
-	quid       	"375BCD1B01F5"))
--- a/smsprotocols/smsstack/group/nbprotocols_smsstackv2.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/group/nbprotocols_smsstackv2.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	nbprotocols_smsstackv2
 source	\sf\os\cellularsrv\smsprotocols\smsstack
 source	\sf\os\cellularsrv\smsprotocols\documentation
--- a/smsprotocols/smsstack/gsmu/inc/gsmupdu.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/gsmu/inc/gsmupdu.h	Fri Apr 16 16:12:37 2010 +0300
@@ -82,6 +82,10 @@
 	IMPORT_C void SetParsedToFromAddressL(const TGsmSmsTelNumber& aParsedAddress);
 
 //  Functions on data coding scheme
+//  The functions available are dependant on bits 7 to 4 in the data coding scheme.
+//  Functions panic when they are not available.
+//  This requires the caller to have some knowledge of ETSI GSM 03.38 in order to keep the data coding scheme in a consistent state.
+
 	IMPORT_C TSmsDataCodingScheme::TSmsDCSBits7To4 Bits7To4() const;
 	IMPORT_C void SetBits7To4(TSmsDataCodingScheme::TSmsDCSBits7To4 aBits7To4);
 
--- a/smsprotocols/smsstack/gsmu/inc/gsmustor.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/gsmu/inc/gsmustor.h	Fri Apr 16 16:12:37 2010 +0300
@@ -211,7 +211,7 @@
 	TInt iTotal;     //< total number of PDUs in this SMS message
 	TInt iCount;     //< number of PDUs sent/received for this SMS message
 protected:
-	TInt iData1;     // TODO should be TUint32
+	TInt iData1;     
 	TInt iData2;     //< Log server ID
 	TInt iData3;
 	TInt iData4;
--- a/smsprotocols/smsstack/gsmu/src/Gsmuelem.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/gsmu/src/Gsmuelem.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -682,15 +682,12 @@
 			break;
 			}
 		default:
+		    LOGGSMU1("TSmsDataCodingScheme::Alphabet() WARNING! default case has been reached");
             break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-            // Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
-		}
+ 		}
 	return (TSmsAlphabet) alphabet;
 	} // TSmsDataCodingScheme::TSmsAlphabet
 
-
 void TSmsDataCodingScheme::SetAlphabet(TSmsAlphabet aAlphabet)
 	{
 	LOGGSMU1("TSmsDataCodingScheme::SetAlphabet()");
@@ -720,38 +717,40 @@
 			}
 		case (ESmsDCSMessageWaitingIndicationDiscardMessage):
 			{
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//if (aAlphabet!=ESmsAlphabet7Bit)
-				//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
+            if (aAlphabet!=ESmsAlphabet7Bit)
+                {
+                LOGGSMU3("TSmsDataCodingScheme::SetAlphabet() WARNING! Not Supported With Discard Message  [Bits7To4=%d], [aAlphabet=%d]", bits7to4, aAlphabet);
+                }
 			break;
 			}
 		case (ESmsDCSMessageWaitingIndication7Bit):
 			{
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//if (aAlphabet==ESmsAlphabet8Bit)
-				//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
-			if (aAlphabet==ESmsAlphabetUCS2)
+ 			if (aAlphabet==ESmsAlphabetUCS2)
+ 			    {
 				iValue=(TUint8) (ESmsDCSMessageWaitingIndicationUCS2|(iValue&(~ESmsDCSBits7To4Mask)));
+ 			    }
+ 			else 
+                {
+        		LOGGSMU3("TSmsDataCodingScheme::SetAlphabet() WARNING! Not Supported With Discard Message  [Bits7To4=%d], [aAlphabet=%d]", bits7to4, aAlphabet);
+			    }	     
 			break;
 			}
 		case (ESmsDCSMessageWaitingIndicationUCS2):
 			{
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//if (aAlphabet==ESmsAlphabet8Bit)
-				//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
-			if (aAlphabet==ESmsAlphabet7Bit)
+  			if (aAlphabet==ESmsAlphabet7Bit)
+			    {
 				iValue=(TUint8) (ESmsDCSMessageWaitingIndication7Bit|(iValue&(~ESmsDCSBits7To4Mask)));
+			    }
+			else 
+			    {
+				LOGGSMU3("TSmsDataCodingScheme::SetAlphabet() WARNING! Not Supported With Discard Message  [Bits7To4=%d], [aAlphabet=%d]", bits7to4, aAlphabet);
+			    }
 			break;
 			}
 		default:
+		    LOGGSMU1("TSmsDataCodingScheme::SetAlphabet() WARNING! default case has been reached");
             break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
-		}
+      		}
 	} // TSmsDataCodingScheme::SetAlphabet
 
 
@@ -814,10 +813,8 @@
 				break;
 				}
 			default:
+		        LOGGSMU1("WARNING! default case has been reached");
                 break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-				//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
 			}
 		}
 	else
@@ -880,11 +877,9 @@
 			break;
 			}
 		default:
+		    LOGGSMU1("WARNING! default case has been reached");
             break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
-		}
+  		}
 	return state;
 	} // TSmsDataCodingScheme::TSmsIndicationState
 
@@ -904,11 +899,9 @@
 			break;
 			}
 		default:
+		    LOGGSMU1("TSmsDataCodingScheme::SetIndicationState() WARNING! default case has been reached");
             break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
-		}
+  		}
 	} // TSmsDataCodingScheme::SetIndicationState
 
 
@@ -928,10 +921,8 @@
 			break;
 			}
 		default:
+		    LOGGSMU1("TSmsDataCodingScheme::IndicationType() WARNING default case has been reached");
             break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
 		}
 	return type;
 	} // TSmsDataCodingScheme::TSmsIndicationType
@@ -952,11 +943,9 @@
 			break;
 			}
 		default:
+		    LOGGSMU1("TSmsDataCodingScheme::SetIndicationType() WARNING! default case has been reached");
             break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-			//Panic(KGsmuPanicNotSupportedWithDCSBits7To4);
-		}
+ 		}
 	} // TSmsDataCodingScheme::SetIndicationType
 
 
@@ -2743,17 +2732,17 @@
 	{
 	LOGGSMU1("CSmsAddress::NewBufferL()");
 
-	HBufC* buffer=HBufC::NewL(aLength);
-	delete iBuffer;
-	iBuffer=buffer;
-	iBuffer->Des().SetLength(aLength);
-	iBuffer->Des().FillZ();
-	} // CSmsAddress::NewBufferL
+    HBufC* buffer=HBufC::NewL(aLength);
+    delete iBuffer;
+    iBuffer=buffer;
+    iBuffer->Des().SetLength(aLength);
+    iBuffer->Des().FillZ();
+	}
 
 
 void CSmsAddress::DoSetParsedAddressL(const TDesC& aAddress)
 	{
-	LOGGSMU1("CSmsAddress::DoSetParsedAddressL()");
+	LOGGSMU2("CSmsAddress::DoSetParsedAddressL() the length of the Address [Length = %d", aAddress.Length());
 
 	TInt length=aAddress.Length();
 	if ((iTypeOfAddress.TON()==EGsmSmsTONInternationalNumber) &&
@@ -3900,11 +3889,9 @@
 				break;
 				}
 			default:
+			    LOGGSMU1("CSmsUserData::MaxBodyLengthInChars() WARNING! default case has been reached");
                 break;
-            // TODO - ahe - Never Panic GSMU !!!
-            // has to be tested, what happens in this default case
-				//Panic(KGsmuPanicUnsupportedAlphabet);
-			}
+ 			}
 		}
 	return maxbodylengthinchars;
 	} // CSmsUserData::MaxBodyLengthInChars
@@ -4281,10 +4268,8 @@
 					break;
 					}
 				default:
+				    LOGGSMU1("CSmsUserData::TotalHeaderLengthInUDLUnits() WARNING default case has been reached");
                     break;
-                // TODO - ahe - Never Panic GSMU !!!
-                // has to be tested, what happens in this default case
-					//Panic(KGsmuPanicUnsupportedAlphabet);
 				}
 			}
 		}
--- a/smsprotocols/smsstack/gsmu/src/gsmupdu.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/gsmu/src/gsmupdu.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -153,7 +153,6 @@
 	TGsmuLex8 lex(aGsmSms.Pdu());
 	smspdu->DecodeL(lex);
 
-	// TODO Service centre address should be in rigth format when it comes from TSY
 	smspdu->SetParsedServiceCenterAddressL(aGsmSms.Sca());
 
 	CleanupStack::Pop(smspdu);
@@ -488,11 +487,6 @@
 
 
 //
-//  TODO move this to the DCS descriptions
-//  Also, the functions available are dependant on bits 7 to 4 in the data coding scheme.
-//  Functions panic when they are not available.
-//  This requires the caller to have some knowledge of ETSI GSM 03.38 in order to keep the data coding scheme in a consistent state.
-//
 /**
  *  Updates the three pieces of concatenation data (reference number,
  *  pdu index and max pdu number) in this PDU.
@@ -2636,7 +2630,8 @@
 		{
 		//
 		//  Throw away rest of the pdu - some pdus received with this bit set don't appear to conform to 03.40 v7.4.0 spec.
-		//  TODO Will need to review later, though this appears safest option now.
+		//  This appears safest option.
+		//	TODO check new versions of 03.40 to make sre that it is still the right option
 		//
 		((TSmsOctet&)iParameterIndicator)=TSmsParameterIndicator::ESmsPIDExtension;
 		return;
@@ -2852,7 +2847,8 @@
 		{
 		//
 		//  Throw away rest of the pdu - some pdus received with this bit set don't appear to conform to 03.40 v7.4.0 spec.
-		//  TODO Will need to review later, though this appears safest option now.
+		//  This appears safest option.
+		//	TODO check new versions of 03.40 to make sre that it is still the right option
 		//
 		((TSmsOctet&)iParameterIndicator)=TSmsParameterIndicator::ESmsPIDExtension;
 		return;
--- a/smsprotocols/smsstack/gsmu/src/gsmustor.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/gsmu/src/gsmustor.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -142,7 +142,6 @@
 	DoOpenL();
  	// defect fix for EDNJJUN-4WYJGP
  	// Unable to send sms cause sms*.dat is corrupted
- 	// TODO - has to be back ported to higher versions
  	TRAPD(ret, InternalizeEntryArrayL());
 	if (ret != KErrNone)
 		{
@@ -184,8 +183,6 @@
 	DoCommitAndCompactL();
 #endif
 
-	//TODO AA: What should we do if err == KErrCorrupt?
-
 	CleanupStack::Pop(this);
 	iInTransaction = EFalse;
 
@@ -683,8 +680,11 @@
 #endif // _SMS_LOGGING_ENABLED
 
 	__ASSERT_DEBUG(iFileStore!=NULL,Panic(KGsmuPanicSARStoreNotOpen));
-	TRAP_IGNORE(iFileStore->DeleteL(iEntryArray[aIndex].DataStreamId()));
-	iEntryArray[aIndex].SetIsDeleted(ETrue); // TODO - truth value should be set depending on ret
+	TRAPD(err, iFileStore->DeleteL(iEntryArray[aIndex].DataStreamId()));
+	if(err == KErrNone)
+	    {
+        iEntryArray[aIndex].SetIsDeleted(ETrue);
+  	    }
 	} // CSARStore::DoDeleteEntryL
 
 
@@ -790,7 +790,7 @@
 		}
 
 	stream << iExtraStreamId;
-	stream.CommitL(); // TODO - keep this in your head
+	stream.CommitL();
 	CleanupStack::PopAndDestroy(&stream);
 	} // CSARStore::ExternalizeEntryArrayL
 
--- a/smsprotocols/smsstack/smsprot/Group/bld.inf	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Group/bld.inf	Fri Apr 16 16:12:37 2010 +0300
@@ -74,8 +74,8 @@
 ../../test/configfiles/setupgsmsms.txt                        z:/sms/setupgsmsms.txt
 ../../test/configfiles/te_intersetupgsmsms.txt                z:/sms/te_intersetupgsmsms.txt
 
-../Test/configfiles/tsmsprtstress_config.txt                  c:/sms/tsmsprtstress_config.txt
-../Test/configfiles/tsmsemsprt_config.txt                     c:/sms/tsmsemsprt_config.txt
+../Test/configfiles/tsmsprtstress_config.txt                  z:/sms/tsmsprtstress_config.txt
+../Test/configfiles/tsmsemsprt_config.txt                     z:/sms/tsmsemsprt_config.txt
 
 ../Test/configfiles/tsmscaps_config.txt                       z:/testdata/configs/tsmscaps_config.txt
 ../Test/TE_SMSCAPS/te_smscaps.cfg                             z:/testdata/configs/te_smscaps.cfg
@@ -129,7 +129,6 @@
 ../Test/TE_Smsprt/smswap_DontDiscardType0s.esk			      z:/testdata/configs/smswap_dontdiscardtype0s.esk
 ../Test/TE_Smsprt/smswap_discardType0s.esk			      	  z:/testdata/configs/smswap_discardtype0s.esk
 ../Test/TE_Smsprt/smswap_MaxFivePDUsInOOD.esk			      z:/testdata/configs/smswap_maxfivepdusinood.esk
-../Test/TE_Smsprt/SIMTSYTestNumbers.ini			      		  z:/testdata/configs/simtsytestnumbers.ini
 ../Test/TE_Smsprt/smswap_Class0DisabledMaxFivePDUsInOOD.esk	  z:/testdata/configs/smswap_class0disabledmaxfivepdusinood.esk
 
 //Class0RegressionTestSuite
--- a/smsprotocols/smsstack/smsprot/Inc/smspproc.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Inc/smspproc.h	Fri Apr 16 16:12:37 2010 +0300
@@ -42,7 +42,6 @@
 class CSmsPDURead;
 
 /**
-ToDo What is correct value of KDefaultMaxmumNumberOfCompleteMessagesInReassemblyStore?
 @internalComponent
 */
 
--- a/smsprotocols/smsstack/smsprot/Inc/smspqueue.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Inc/smspqueue.h	Fri Apr 16 16:12:37 2010 +0300
@@ -11,7 +11,7 @@
 // Contributors:
 //
 // Description:
-// TODO
+// This file define the classes for SMS message queues
 // 
 //
 
--- a/smsprotocols/smsstack/smsprot/Inc/smsprot.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Inc/smsprot.h	Fri Apr 16 16:12:37 2010 +0300
@@ -176,8 +176,7 @@
     
     void NotifyMessageObservers(TInt aStatus);
 
- 	// TODO - flag
-	TBool IsWapSMS(const CSmsMessage& smsmessage );
+ 	TBool IsWapSMS(const CSmsMessage& smsmessage );
 
     inline TBool ClosingDown() const;
     inline void SetClosingDown(TBool aClosingDown);
--- a/smsprotocols/smsstack/smsprot/Src/smspenum.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Src/smspenum.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -937,6 +937,7 @@
 					{
 					if ((iStoreInfo.iCaps & RMobilePhoneStore::KCapsWriteAccess) == 0)
 						{
+                        LOGSMSPROT2("CSmsMessageWrite::DoRunL left with KErrNotSuported [iState=%d]", iState);
 						User::Leave(KErrNotSupported);
 						}
 
@@ -954,7 +955,8 @@
 						}
 					else
 						{
-						User::Leave(KErrNotFound); //< TODO Is this correct?
+                        LOGSMSPROT2("CSmsMessageWrite::DoRunL left with KErrNotFound [iState=%d]", iState);            
+						User::Leave(KErrNotFound);
 						}
 					}
 				}
--- a/smsprotocols/smsstack/smsprot/Src/smspqueue.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Src/smspqueue.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -88,8 +88,6 @@
 
 void CSmspMessageQueue::Queue(CSmsMessage* aMessage, MSmsMessageObserver& aObserver, TUint aOptions)
 	{
-	// TODO __ASSERT_DEBUG no item is in the queue for this observer
-
 	TRAPD(err, DoQueueL(aMessage, aObserver, aOptions));
 
 	LOGSMSPROT4("*** CSmspMessageQueue::Queue [err=%d aObserver=0x%08x IsActive=%d]", err, &aObserver, IsActive());
@@ -313,8 +311,6 @@
 
 void CSmspDeleteQueue::Queue(const CArrayFix<TGsmSmsSlotEntry>& aSlotArray, MSmsMessageObserver* aObserver)
 	{
-	// TODO __ASSERT_DEBUG no item is in the queue for this observer
-
 	TRAPD(err, DoQueueL(aSlotArray, aObserver));
 
 	LOGSMSPROT4("*** CSmspDeleteQueue::Queue [err=%d aObserver=0x%X IsActive=%d]", err, aObserver, IsActive());
--- a/smsprotocols/smsstack/smsprot/Src/smsprov.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Src/smsprov.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -395,16 +395,7 @@
                         }
                     __ASSERT_DEBUG(iLocalAddress.SmsAddrFamily()!=ESmsAddrSendOnly,SmspPanic(KSmspPanicWrongSmsAddressFamily));
                     __ASSERT_DEBUG(NumSegments(iSegmentIndex==NumSegments(iRecvBufSegArray->At(0)->Size())),SmspPanic(KSmspPanicBadClientIoctlCall));
-                    // TODO - flag
-                    // i)  delete entry from reassemblystore
-                    //     smsmsg = MyInternalize( iRecvBufSegArray );
-                    //     iReasStore->GetIndex( Index, smsmsg ); // iReasStore->DeleteSMS(smsmsg);
-                    //     iReasStore->DeleteEntry( Index );
-                    // ii) looking for more sms left in the store
-                    //     iPotocol.ProcessCompleteSMSMessage();
-                    //     @note if this is only called from here the msg stay for a long time
-                    //     in the reassembly store if the processmessage fails
-                    // i)
+                    // Delete entry from reassemblystore
                     CSmsMessage*smsmessage=NULL;
                     TRAPD(ret,(smsmessage=InternalizeMessageL(iRecvBufSegArray->At(0))));
                     if( ret==KErrNone )
@@ -417,9 +408,8 @@
                         LOGSMSPROT2("-> CSmsProvider::Ioctl - CSmsProvider::InternalizeMessageL [ret=%d]", ret);
                         }
                     delete smsmessage;
-                    // ii)
-                    // this is now down after finishing the readprocess
-                    // it has to be called here o in pdureadprocescompleted???
+                    // Looking for more sms left in the store
+                    // This is now done after finishing the readprocess
                     iProtocol.MessageReadedSuccessfully();
                     if( iEnumSocket )
                         {
--- a/smsprotocols/smsstack/smsprot/Src/smspstor.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Src/smspstor.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -559,7 +559,6 @@
 
 
 void CSmsReassemblyStore::SetPassedToClientL(TInt aIndex, TBool aPassed)
-//TODO CommentThisFunction
 	{
 	LOGSMSPROT1("CSmsReassemblyStore::SetPassedToClientL()");
 
@@ -774,7 +773,6 @@
 
 	BeginTransactionLC();
 
-	//TODO AA: What is it doing here? Please comment
 	for (TInt i=count-1; i>=0; --i)
 		{
 		if ((logid!=KLogNullId) && (logid==Entries()[i].LogServerId()))
@@ -818,7 +816,6 @@
 				ChangeEntryL(j,entry);
 				}
 
-			//TODO What is happening here? Seems strange
 			RSmsSegmentationStoreRefStatusArray refStatusTemp;
 			CleanupClosePushL(refStatusTemp);
 
@@ -844,7 +841,6 @@
 
 TBool CSmsSegmentationStore::AddReferenceL(const CSmsMessage& aSmsMessage,TInt aReference)
 	{
-	TSmsSegmentationEntry entry; // TODO const and inside loop
 	const TInt count=Entries().Count();
 	LOGSMSPROT3("CSmsSegmentationStore::AddReferenceL [count=%d, ref=%d]", count, aReference);
 	TInt i=0;
@@ -853,8 +849,7 @@
 		{
 		for (i=0; i<count; i++)
 			{
-			entry = (TSmsSegmentationEntry&)Entries()[i];
-			if (logserverid==entry.LogServerId())
+            if (logserverid==((TSmsSegmentationEntry&)Entries()[i]).LogServerId())
 				break;
 			}
 		}
@@ -865,22 +860,25 @@
 		TInt telLen;
 		for (i=0; i<count; i++)
 			{
-			entry = (TSmsSegmentationEntry&)Entries()[i];
-			telLen=Min(entry.Description2().Length(),parsedaddress.iTelNumber.Length());
-			const CSmsPDU::TSmsPDUType type=entry.PduType();
-			if ((type==aSmsMessage.Type()) && (!entry.IsComplete()) && (aSmsMessage.Time()==entry.Time()) && (entry.Description2().Right(telLen)==parsedaddress.iTelNumber.Right(telLen)))
-				break;
-			}
-		}
-//	__ASSERT_DEBUG(i<count,SmspPanic(KSmspPanicEntryWithLogServerIdNotFound)); TODO
+            TSAREntry tsareenty = Entries()[i];      
+            TSmsSegmentationEntry& entry = static_cast<TSmsSegmentationEntry&>(tsareenty);        
+            telLen=Min(entry.Description2().Length(),parsedaddress.iTelNumber.Length());
+            const CSmsPDU::TSmsPDUType type=entry.PduType();
+            if ((type==aSmsMessage.Type()) && (!entry.IsComplete()) && (aSmsMessage.Time()==entry.Time()) && (entry.Description2().Right(telLen)==parsedaddress.iTelNumber.Right(telLen)))
+                    break;
+                }
+            }
 	if(i>=count)
 		{
 		LOGSMSPROT3("WARNING! KSmspPanicEntryWithLogServerIdNotFound [i=%d, count=%d]", i, count);
+		return EFalse;
 		}
 
 	RSmsSegmentationStoreRefStatusArray refStatusArray;
 	CleanupClosePushL(refStatusArray);
 
+	TSAREntry tsareenty = Entries()[i];      
+	TSmsSegmentationEntry& entry = static_cast<TSmsSegmentationEntry&>(tsareenty);        
 	TStreamId streamid=entry.DataStreamId();
 	TSmsAddr smsaddr;
 	CSmsBuffer* buffer=CSmsBuffer::NewL();
@@ -923,7 +921,6 @@
  */
 TBool CSmsSegmentationStore::AddReferenceStatusPairL(const CSmsMessage& aSmsMessage,TInt aReference, TUint aSegmentSequenceNumber)
  	{
-	TSmsSegmentationEntry entry; // TODO const and inside loop
 	const TInt count=Entries().Count();
 	LOGSMSPROT3("CSmsSegmentationStore::AddReferenceStatusPairL [count=%d, ref=%d]", count, aReference);
 	TInt i=0;
@@ -932,8 +929,7 @@
 		{
 		for (i=0; i<count; i++)
 			{
-			entry = (TSmsSegmentationEntry&)Entries()[i];
-			if (logserverid==entry.LogServerId())
+            if (logserverid==((TSmsSegmentationEntry&)Entries()[i]).LogServerId())
 				break;
 			}
 		}
@@ -944,21 +940,24 @@
 		TInt telLen;
 		for (i=0; i<count; i++)
 			{
-			entry = (TSmsSegmentationEntry&)Entries()[i];
+            TSAREntry tsareenty = Entries()[i];  
+            TSmsSegmentationEntry& entry = static_cast<TSmsSegmentationEntry&>(tsareenty);
 			telLen=Min(entry.Description2().Length(),parsedaddress.iTelNumber.Length());
 			const CSmsPDU::TSmsPDUType type=entry.PduType();
 			if ((type==aSmsMessage.Type()) && (!entry.IsComplete()) && (aSmsMessage.Time()==entry.Time()) && (entry.Description2().Right(telLen)==parsedaddress.iTelNumber.Right(telLen)))
 				break;
 			}
 		}
-//	__ASSERT_DEBUG(i<count,SmspPanic(KSmspPanicEntryWithLogServerIdNotFound)); TODO
 	if(i>=count)
 		{
 		LOGSMSPROT3("WARNING! KSmspPanicEntryWithLogServerIdNotFound [i=%d, count=%d]", i, count);
+		return EFalse;
 		}
 
 	RSmsSegmentationStoreRefStatusArray refStatusArray;
 	CleanupClosePushL(refStatusArray);
+    TSAREntry tsareenty = Entries()[i];  
+    TSmsSegmentationEntry& entry = static_cast<TSmsSegmentationEntry&>(tsareenty);
 
 	TStreamId streamid=entry.DataStreamId();
 	TSmsAddr smsaddr;
@@ -1059,7 +1058,6 @@
 	CleanupStack::PushL(smsmessage);
 	TGsmSmsTelNumber parsedaddress;
 	aStatusReport.ParsedToFromAddress(parsedaddress);
-	TSmsSegmentationEntry entry; // TODO const ref and inside loop
 
 	BeginTransactionLC();
 
@@ -1068,7 +1066,8 @@
 	TInt telLen;
 	while (!found && aIndex--)
 		{
-		entry = (TSmsSegmentationEntry&)Entries()[aIndex];
+        TSAREntry tsareenty = Entries()[aIndex]; 
+        TSmsSegmentationEntry& entry = static_cast<TSmsSegmentationEntry&>(tsareenty);  
 
 		// Remove leading zeros of national numbers
 		TPtrC trimmedTelNumber(TrimLeadingZeros(entry.Description2()));
@@ -1149,7 +1148,8 @@
 		TInt telLen;
 		for (aIndex=0; aIndex<count1; aIndex++)
 			{
-			entry = (TSmsSegmentationEntry&)Entries()[aIndex];
+            TSAREntry tsareenty = Entries()[aIndex]; 
+	        TSmsSegmentationEntry& entry = static_cast<TSmsSegmentationEntry&>(tsareenty);  
 			telLen=Min(entry.Description2().Length(),parsedaddress.iTelNumber.Length());
 			const CSmsPDU::TSmsPDUType type = entry.PduType();
 			if ((type==CSmsPDU::ESmsSubmit) &&
@@ -1176,7 +1176,6 @@
 				__ASSERT_DEBUG(count2 == refStatusArray2.Count(),SmspPanic(KSmspPanicBadReferenceArray));
 				for (TInt i=0; i<count2; i++)
 					{
-					//TODO What is this doing?
 					TSmsSegmentationStoreRefStatus& refStatus2 = refStatusArray2[i];
 					if (!IsPermanentStatus(refStatus2.Status()))
 						{
@@ -1321,7 +1320,7 @@
 		aEntry.SetReference(0);
 		aEntry.SetTotal(1);
 		CSmsSubmit& submit=(CSmsSubmit&) aSmsMessage.SmsPDU();
-		aEntry.SetValidityPeriod(submit.ValidityPeriod().Int()); // TODO use val per type
+		aEntry.SetValidityPeriod(submit.ValidityPeriod().Int());
 		
 		if (aSmsMessage.Scheme() == EDefaultScheme)
 		    {
@@ -1426,16 +1425,6 @@
 		if (ret)
 			permanent++;
 		}
-	/*
-	 *  
-	 *  TODO ahe - for release
-	 *  tested hack: the messagereceived function will be called right
-	 *  I did a lot of testing with multipart messages, the sms are
-	 *  almost always received and sent now, there might be only problems
-	 *  with the SR now - to wait for more logs to see what happens in this
-	 *  special cases - and the device crashes and is too slow of course
-	 *  
-	 */
 	return (permanent==count) && (permanent==aEntry.Total() );
 	} // CSmsSegmentationStore::StatusArrayComplete
 
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscaps.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscaps.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -34,6 +34,7 @@
 
 
 USERINCLUDE   .
+USERINCLUDE   ../../../test
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
@@ -43,7 +44,7 @@
 LIBRARY       etelmm.lib
 LIBRARY       smsu.lib gsmu.lib // components under test
 LIBRARY       esock.lib efsrv.lib etel.lib
-
+LIBRARY		  smsstacktestutilities.lib
 LIBRARY commsdat.lib
 
 
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsserver.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsserver.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -19,19 +19,14 @@
  @file
 */
 
-#include <commsdattypesv1_1.h>
+#include "te_smscapsserver.h"
 
 #include <rsshared.h>		// StartC32
-#include "te_smscapsstep.h"
-#include "te_smscapsserver.h"
 #include <smsuaddr.h>
 #include <e32property.h>
 #include <simtsy.h>
 
-using namespace CommsDat;
-
-
-//
+#include "te_smscapsstep.h"
 
 _LIT(KSmsCapsServerName,"TE_SMSCAPS_SC");
 
@@ -51,6 +46,8 @@
 	CSmsCapsTestServer * server = new (ELeave) CSmsCapsTestServer();
 	CleanupStack::PushL(server);
 	server->ConstructL(KNullDesC);
+	// CSmsStackTestServer intermediate base class call
+	server->InitializeTsyAndPhonesL();
 	// CServer base class call
 	server->StartL(KSmsCapsServerName);
 	CleanupStack::Pop(server);
@@ -105,52 +102,15 @@
 	return err;
     }
 
+
 void CSmsCapsTestServer::ConstructL(const TDesC& /*aName*/)
 	{
-	TSmsServiceCenterAddress serviceCenterNumber=_L("+358508771010"); //Radiolinja
-
-	// File Server
+	////////// File Server
 	User::LeaveIfError(iFs.Connect());
 
-	//
-	// Create CommDB
-	//
-
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	
-    CleanupStack::PushL(db);
-    db->OpenTransactionL();
-    CMDBRecordSet<CCDModemBearerRecord>* modemBearerRecordSet = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>;
-    CleanupStack::PushL(modemBearerRecordSet);
-    modemBearerRecordSet->LoadL(*db);
-
-	_LIT(KDummy0, "DUMMY::0");
-	_LIT(KDummy, "DUMMY");
-	_LIT(KSim, "SIM");
-
-    RPointerArray<CCDModemBearerRecord>& resultSet = (RPointerArray<CCDModemBearerRecord>&) modemBearerRecordSet->iRecords;
-    CCDModemBearerRecord* modemRecord;
-    for (TInt i=0; i<resultSet.Count(); i++)
-    	{
-    		modemRecord = resultSet[i];
-    	    modemRecord->iPortName = KDummy0;
-       	    modemRecord->iCsyName = KDummy;
-       	    modemRecord->iTsyName = KSim;
-    		modemRecord->iMessageCentreNumber = serviceCenterNumber;
-    		modemRecord->ModifyL(*db);
-    		modemRecord = NULL;
-    	}
-    db->CommitTransactionL();
-    CleanupStack::PopAndDestroy(); //modemBearerRecordSet
-    CleanupStack::PopAndDestroy(); //db
-
-	//
-	// initialise ser-comms - is this really needed ????
-	//
+	//////////////////////////////////////////////////////
+	/// initialise ser-comms - TODO: is this really needed ????
+	//////////////////////////////////////////////////////
 
     TInt err=User::LoadPhysicalDevice(PDD_NAME);
     if (err!=KErrNone && err!=KErrAlreadyExists)
@@ -159,24 +119,13 @@
     if (err!=KErrNone && err!=KErrAlreadyExists)
         User::Leave(err);
 
+    
     err = StartC32();
     if (err!=KErrNone)
+        {
+        ERR_PRINTF2(_L("Couldn't start the comms process root server. Error:%d"), err);
     	User::Leave(err);
-
-	//
-	// turn phone on
-	//
-//    User::LeaveIfError(RProperty::Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOn));
-//    User::After(1000000);
-
-    //
-    // define test number property
-    //
-//	TInt val = RProperty::Define(KUidPSSimTsyCategory, KPSSimTsyTestNumber, RProperty::EInt);
-//	if ((val != KErrNone) && (val != KErrAlreadyExists))
-//		{
-//		User::Leave(val);
-//		}
+        }
 	}
 
 CTestStep* CSmsCapsTestServer::CreateTestStep(const TDesC& aStepName)
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsserver.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsserver.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,13 +15,14 @@
 // 
 //
 
-#ifndef __TS_SMSCAPSSERVER_H__
+#ifndef TE_SMSCAPSSERVER_H
+#define TE_SMSCAPSSERVER_H
 
 #include <es_sock.h>
-#include <test/testexecuteserverbase.h>
-#include "te_smscapsstep.h"
 
-class CSmsCapsTestServer : public CTestServer
+#include "smsstackbasetestserver.h"
+
+class CSmsCapsTestServer : public CSmsStackTestServer
 	{
 public:
 	static CSmsCapsTestServer* NewL();
@@ -33,4 +34,4 @@
 	RFs iFs;
 	};
 
-#endif
+#endif // TE_SMSCAPSSERVER_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsstep.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSCAPS/te_smscapsstep.h	Fri Apr 16 16:12:37 2010 +0300
@@ -18,15 +18,11 @@
 #ifndef _TE_SMSCAPSSTEP_H_
 #define _TE_SMSCAPSSTEP_H_
 
-#include <test/testexecuteserverbase.h>
 #include <es_sock.h>
 #include <gsmumsg.h>
-
-//#include "networking/teststep.h"
 #include <testconfigfileparser.h>
 #include <test/testexecuteserverbase.h>
 
-
 class CSmsCapsTestStep : public CTestStep
 	{
 public:
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -13,49 +13,14 @@
 // Description:
 //
 
-#include "TE_SMSEMSPRTBASE.h"
 #include "TE_SMSEMSPRT.h"
 
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-
-TVerdict CTestInit::doTestStepL()
-{
-	User::LeaveIfError(iFs.Connect());
-
-    TRAPD( ret, ParseSettingsFromFileL());
-	if (ret != KErrNone)
-		{
-		INFO_PRINTF2(_L("ParseSettingsFromFileL [err=%d]"), ret);
-		}
-
-	iSmsStackTestUtils = CSmsStackTestUtils::NewL(this, iFs);
-
-    INFO_PRINTF2(_L("TelNo: [%S]"), &iTelephoneNumber);
-    INFO_PRINTF2(_L("ScNo:  [%S]"), &iServiceCenterNumber);
-
-	CommInit();
-	iSmsStackTestUtils->CopyConfigFileL(KTSmsEmsPrtConfigFileName);
-
-    delete iSmsStackTestUtils;
-    iSmsStackTestUtils = NULL;
-
-	iFs.Close();
-
-	return TestStepResult();
-}
-
+_LIT(KBasicSmsText,"abcdefghijklmnopqrstuvwxyz"); // The basic text we send - 26 chars long
 
 TVerdict CTestEmsFormatA::doTestStepL()
 	{
 	// send a message 26 characters long
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// create the formatting object
 	CEmsFormatIE* object = CEmsFormatIE::NewL();
@@ -72,7 +37,6 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsFormatB::doTestStepL()
 	{
 	TBuf<26*8> buf;
@@ -83,7 +47,7 @@
 		buf.Append(KBasicSmsText);
 		}
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// create the formatting object
 	CEmsFormatIE* object = CEmsFormatIE::NewL();
@@ -100,7 +64,6 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsFormatC::doTestStepL()
 	{
 	TBuf<26*8> buf;
@@ -111,7 +74,7 @@
 		buf.Append(KBasicSmsText);
 		}
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet7Bit);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet7Bit);
 
 	// create the formatting object
 	CEmsFormatIE* object = CEmsFormatIE::NewL();
@@ -128,7 +91,6 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsFormatD::doTestStepL()
 	{
 	TBuf<26*4> buf;
@@ -139,7 +101,7 @@
 		buf.Append(KBasicSmsText);
 		}
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabetUCS2);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabetUCS2);
 
 	// create the formatting object
 	CEmsFormatIE* object = CEmsFormatIE::NewL();
@@ -156,10 +118,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsFormatE::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// create the formatting object - set the start position to be out of range
 	CEmsFormatIE* object = CEmsFormatIE::NewL();
@@ -189,7 +150,6 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsFormatF::doTestStepL()
 	{
 	TBuf<26*8> buf;
@@ -201,7 +161,7 @@
 		}
 
 	// send a message 26*8 characters long
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// create the formatting object
 	CEmsFormatIE* object = CEmsFormatIE::NewL();
@@ -218,10 +178,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsSoundA::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// create the sound object - EChimes at pos 5
 	CEmsPreDefSoundIE* object =
@@ -244,14 +203,13 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsSoundB::doTestStepL()
 	{
 	// User melody
 	_LIT8(KUserMelody, 	"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f"
 	  "\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f");
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// create one melody at position 20
 	CEmsSoundIE* object =
@@ -274,7 +232,6 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsSoundC::doTestStepL()
 	{
 	TBuf<26*4> buf;
@@ -285,7 +242,7 @@
 		buf.Append(KBasicSmsText);
 		}
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 128-byte sound - fill it with byte 0x02
 	TBuf8<128> soundBuf;
@@ -312,7 +269,6 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsSoundD::doTestStepL()
 	{
 	// Create a 130-byte sound - fill it with byte 0x02
@@ -327,11 +283,10 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsPicture::doTestStepL()
 	{
 	// Create a standard message
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	for (TInt i = 0; i < 3; ++i)
 		{
@@ -345,18 +300,16 @@
 		CleanupStack::PopAndDestroy(picture);
 		}
 
-
 	// Send and receive message
 	SendReceiveMsgL(*smsMessage);
 	CleanupStack::PopAndDestroy(smsMessage);
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsAnimation::doTestStepL()
 	{
 	// Create a standard message
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	for (TInt i = 0; i < 2; ++i)
 		{
@@ -383,10 +336,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsUserPromptA::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 32-byte sound - fill it with byte 0x02
 	TBuf8<32> soundBuf;
@@ -420,10 +372,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsUserPromptB::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 32-byte sound - fill it with byte 0x02
 	TBuf8<32> soundBuf;
@@ -474,7 +425,7 @@
 		buf.Append(KBasicSmsText);
 		}
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf, aAlphabet);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, aAlphabet);
 
 	// Create the format object
 	CEmsFormatIE* format = CEmsFormatIE::NewL();
@@ -507,34 +458,30 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 	}
 
-
 TVerdict CTestEmsLongMessageA::doTestStepL()
 	{
 	StepWithCharSetL(TSmsDataCodingScheme::ESmsAlphabet8Bit);
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsLongMessageB::doTestStepL()
 	{
 	StepWithCharSetL(TSmsDataCodingScheme::ESmsAlphabet7Bit);
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsLongMessageC::doTestStepL()
 	{
 	StepWithCharSetL(TSmsDataCodingScheme::ESmsAlphabetUCS2);
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsUnsupportedIE::doTestStepL()
 	{
 	TBuf<10> buf;
 	buf.Fill('A', 10);
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 4-byte sound - fill it with byte 0x02
 	TBuf8<4> soundBuf;
@@ -555,13 +502,12 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsUnsorted::doTestStepL()
 	{
 	TBuf<10> buf;
 	buf.Fill('A', 10);
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 4-byte sound - fill it with byte 0x02
 	TBuf8<4> soundBuf;
@@ -615,10 +561,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsODIA::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 32-byte sound - fill it with byte 0x02
 	TBuf8<32> soundBuf;
@@ -652,10 +597,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsODIB::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 32-byte sound - fill it with byte 0x02
 	TBuf8<32> soundBuf;
@@ -695,10 +639,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsODIC::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 32-byte sound - fill it with byte 0x02
 	TBuf8<32> soundBuf;
@@ -752,10 +695,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsODID::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 32-byte sound - fill it with byte 0x02
 	TBuf8<32> soundBuf;
@@ -788,7 +730,6 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsODIE::doTestStepL()
 	{
 	TBuf<26*4> buf;
@@ -799,7 +740,7 @@
 		buf.Append(KBasicSmsText);
 		}
 
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet8Bit);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(buf, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create the format object
 	CEmsFormatIE* format = CEmsFormatIE::NewL();
@@ -847,10 +788,9 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEmsODIF::doTestStepL()
 	{
-	CSmsMessage* smsMessage = ConfigCreateSmsMessageLC(KBasicSmsText);
+	CSmsMessage* smsMessage = CreateSmsMessageLC(KBasicSmsText, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 
 	// Create a 32-byte sound - fill it with byte 0x02
 	TBuf8<32> soundBuf;
@@ -882,4 +822,3 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 	return TestStepResult();
 	}
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.h	Fri Apr 16 16:12:37 2010 +0300
@@ -16,19 +16,7 @@
 #ifndef __TE_SMSEMSPRT_H_
 #define __TE_SMSEMSPRT_H_
 
-
-//
-// Test Initialisation test object - Initializes the members
-//
-class CTestInit : public CSmsEmsPrtTestStep
-	{
-public:
-	virtual TVerdict doTestStepPreambleL() { return EPass; }
-	virtual TVerdict doTestStepPostambleL() { return EPass; }
-	TInt GetTestNumber() { return -1 ; /* return test order number */ } ;
-	virtual TVerdict doTestStepL();
-	};
-
+#include "TE_SMSEMSPRTBASE.h"
 
 //
 // Test EMS FormatA test object - basic Format IE test
@@ -36,7 +24,6 @@
 class CTestEmsFormatA : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 1 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -48,7 +35,6 @@
 class CTestEmsFormatB : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 2 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -60,7 +46,6 @@
 class CTestEmsFormatC : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 3 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -72,7 +57,6 @@
 class CTestEmsFormatD : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 4 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -84,7 +68,6 @@
 class CTestEmsFormatE : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 5 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -96,7 +79,6 @@
 class CTestEmsFormatF : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 6 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -107,7 +89,6 @@
 class CTestEmsSoundA : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 7 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -118,7 +99,6 @@
 class CTestEmsSoundB : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 8 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -129,7 +109,6 @@
 class CTestEmsSoundC : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 9 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -140,7 +119,6 @@
 class CTestEmsSoundD : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 10 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -151,7 +129,6 @@
 class CTestEmsPicture : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 11 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -162,7 +139,6 @@
 class CTestEmsAnimation : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 12 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -173,7 +149,6 @@
 class CTestEmsUserPromptA : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 13 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -185,7 +160,6 @@
 class CTestEmsUserPromptB : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 14 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -210,7 +184,6 @@
 class CTestEmsLongMessageA : public CTestEmsLongMsgBase
 	{
 public:
-	TInt GetTestNumber() { return 15 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -218,7 +191,6 @@
 class CTestEmsLongMessageB : public CTestEmsLongMsgBase
 	{
 public:
-	TInt GetTestNumber() { return 16 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -226,7 +198,6 @@
 class CTestEmsLongMessageC : public CTestEmsLongMsgBase
 	{
 public:
-	TInt GetTestNumber() { return 17 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -238,7 +209,6 @@
 class CTestEmsUnsupportedIE : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 18 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -251,7 +221,6 @@
 class CTestEmsUnsorted : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 19 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -262,7 +231,6 @@
 class CTestEmsODIA : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 20 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -274,7 +242,6 @@
 class CTestEmsODIB : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 21 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -286,7 +253,6 @@
 class CTestEmsODIC : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 22 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -297,7 +263,6 @@
 class CTestEmsODID : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 23 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -308,7 +273,6 @@
 class CTestEmsODIE : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 24 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
@@ -319,7 +283,6 @@
 class CTestEmsODIF : public CSmsEmsPrtTestStep
 	{
 public:
-	TInt GetTestNumber() { return 25 ; /* return test order number */ } ;
 	virtual TVerdict doTestStepL();
 	};
 
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,7 +16,7 @@
 //
 
 TARGET        te_smsemsprt.exe
-CAPABILITY    ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData ProtServ AllFiles
+CAPABILITY    ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData ProtServ AllFiles PowerMgmt
 TARGETTYPE    exe
 UID           0x1000007A 0x101FE443
 VENDORID      0x70000001
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRT.script	Fri Apr 16 16:12:37 2010 +0300
@@ -16,19 +16,6 @@
 RUN_SCRIPT Z:\testdata\scripts\te_smsemsprt_setup.script
 LOAD_SUITE te_smsemsprt
 
-
-START_TESTCASE SMS-SMSStack-NA-7500
-//!@SYMTestCaseID SMS-SMSStack-NA-7500
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Init
-//!@SYMTestPriority critical
-//!@SYMTestActions Test Initialisation
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestInit
-
-END_TESTCASE SMS-SMSStack-NA-7500
-
 START_TESTCASE SMS-SMSStack-NA-7501
 //!@SYMTestCaseID SMS-SMSStack-NA-7501
 //!@SYMREQ REQ0000
@@ -37,7 +24,7 @@
 //!@SYMTestActions Test creationm of an Ems Format A
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatA
+RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatA z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber1
 
 END_TESTCASE SMS-SMSStack-NA-7501
 
@@ -49,7 +36,7 @@
 //!@SYMTestActions Test creation of an Ems Format B
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatB
+RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatB z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber2
 
 END_TESTCASE SMS-SMSStack-NA-7502
 
@@ -61,7 +48,7 @@
 //!@SYMTestActions Test cresation of an Ems Format C
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatC
+RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatC z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber3
 
 END_TESTCASE SMS-SMSStack-NA-7503
 
@@ -73,7 +60,7 @@
 //!@SYMTestActions Test creation of an Ems Format D
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatD
+RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatD z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber4
 
 END_TESTCASE SMS-SMSStack-NA-7504
 
@@ -85,7 +72,7 @@
 //!@SYMTestActions Test creation of an EMS Format E
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatE
+RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatE z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber5
 
 END_TESTCASE SMS-SMSStack-NA-7505
 
@@ -97,7 +84,7 @@
 //!@SYMTestActions Tests creation of an EMS Format F
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatF
+RUN_TEST_STEP 100 te_smsemsprt TestEmsFormatF z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber6
 
 END_TESTCASE SMS-SMSStack-NA-7506
 
@@ -109,7 +96,7 @@
 //!@SYMTestActions Test creation of an Ems sound A
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundA
+RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundA z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber7
 
 END_TESTCASE SMS-SMSStack-NA-7507
 
@@ -121,7 +108,7 @@
 //!@SYMTestActions Tests Creation of an Ems sound B
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundB
+RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundB z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber8
 
 END_TESTCASE SMS-SMSStack-NA-7508
 
@@ -133,7 +120,7 @@
 //!@SYMTestActions Test creation of an Ems Sound C
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundC
+RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundC z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber9
 
 END_TESTCASE SMS-SMSStack-NA-7509
 
@@ -145,7 +132,7 @@
 //!@SYMTestActions Test creation of an Ems Sound C
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundD
+RUN_TEST_STEP 100 te_smsemsprt TestEmsSoundD z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber10
 
 END_TESTCASE SMS-SMSStack-NA-7510
 
@@ -157,7 +144,7 @@
 //!@SYMTestActions Testcreation of an Ems Picture
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsPicture
+RUN_TEST_STEP 100 te_smsemsprt TestEmsPicture z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber11
 
 END_TESTCASE SMS-SMSStack-NA-7511
 
@@ -169,7 +156,7 @@
 //!@SYMTestActions Test creation of an Ems Animation
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsAnimation
+RUN_TEST_STEP 100 te_smsemsprt TestEmsAnimation z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber12
 
 END_TESTCASE SMS-SMSStack-NA-7512
 
@@ -181,7 +168,7 @@
 //!@SYMTestActions Test creation of an Ems User Prompt A
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsUserPromptA
+RUN_TEST_STEP 100 te_smsemsprt TestEmsUserPromptA z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber13
 
 END_TESTCASE SMS-SMSStack-NA-7513
 
@@ -193,7 +180,7 @@
 //!@SYMTestActions Test creation of an Ems User Prompt B
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsUserPromptB
+RUN_TEST_STEP 100 te_smsemsprt TestEmsUserPromptB z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber14
 
 END_TESTCASE SMS-SMSStack-NA-7514
 
@@ -205,7 +192,7 @@
 //!@SYMTestActions Test creation of an Ems Long Message A
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsLongMessageA
+RUN_TEST_STEP 100 te_smsemsprt TestEmsLongMessageA z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber15
 
 END_TESTCASE SMS-SMSStack-NA-7515
 
@@ -217,7 +204,7 @@
 //!@SYMTestActions Test creation of an Ems Long Message B
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsLongMessageB
+RUN_TEST_STEP 100 te_smsemsprt TestEmsLongMessageB z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber16
 
 END_TESTCASE SMS-SMSStack-NA-7516
 
@@ -229,7 +216,7 @@
 //!@SYMTestActions Test creation of Ems Long Message C
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsLongMessageC
+RUN_TEST_STEP 100 te_smsemsprt TestEmsLongMessageC z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber17
 
 END_TESTCASE SMS-SMSStack-NA-7517
 
@@ -241,7 +228,7 @@
 //!@SYMTestActions Tests Ems Unsupported IE api's in the TSY
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsUnsupportedIE
+RUN_TEST_STEP 100 te_smsemsprt TestEmsUnsupportedIE z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber18
 
 END_TESTCASE SMS-SMSStack-NA-7518
 
@@ -253,7 +240,7 @@
 //!@SYMTestActions Test Ems Unsorted API's
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsUnsorted
+RUN_TEST_STEP 100 te_smsemsprt TestEmsUnsorted z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber19
 
 END_TESTCASE SMS-SMSStack-NA-7519
 
@@ -265,7 +252,7 @@
 //!@SYMTestActions Test Ems ODIA api's
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsODIA
+RUN_TEST_STEP 100 te_smsemsprt TestEmsODIA z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber20
 
 END_TESTCASE SMS-SMSStack-NA-7520
 
@@ -277,7 +264,7 @@
 //!@SYMTestActions Test Ems ODIB api's
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsODIB
+RUN_TEST_STEP 100 te_smsemsprt TestEmsODIB z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber21
 
 END_TESTCASE SMS-SMSStack-NA-7521
 
@@ -289,7 +276,7 @@
 //!@SYMTestActions Test Ems ODIC api's
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsODIC
+RUN_TEST_STEP 100 te_smsemsprt TestEmsODIC z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber22
 
 END_TESTCASE SMS-SMSStack-NA-7522
 
@@ -301,7 +288,7 @@
 //!@SYMTestActions Test Ems ODID api's
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsODID
+RUN_TEST_STEP 100 te_smsemsprt TestEmsODID z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber23
 
 END_TESTCASE SMS-SMSStack-NA-7523
 
@@ -313,7 +300,7 @@
 //!@SYMTestActions Test Ems ODIE api's
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsODIE
+RUN_TEST_STEP 100 te_smsemsprt TestEmsODIE z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber24
 
 END_TESTCASE SMS-SMSStack-NA-7524
 
@@ -325,6 +312,7 @@
 //!@SYMTestActions Test Ems ODIF api's
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsemsprt TestEmsODIF
+RUN_TEST_STEP 100 te_smsemsprt TestEmsODIF z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber25
 END_TESTCASE SMS-SMSStack-NA-7525
 
+RUN_SCRIPT  z:\testdata\scripts\smsstackcleanprivatedata.script
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTBASE.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTBASE.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -17,284 +17,26 @@
  @file
 */
 
-#include <commsdattypesv1_1.h>
-#include "metadatabase.h"
-
 #include "TE_SMSEMSPRTBASE.h"
-#include <sacls.h>
 
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define PDD_NAME2 _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
+#include <commsdattypesv1_1.h>
+#include <sacls.h>
+#include <metadatabase.h>
+
+#include "smsstacktestconsts.h"
 
 using namespace CommsDat;
 
-CSmsMessage* CSmsEmsPrtTestStep::ConfigCreateSmsMessageLC(const TDesC& aDes,
-				TSmsDataCodingScheme::TSmsAlphabet aAlphabet)
-	{
-	_LIT(KRadiolinjaSC,"+358508771010");	// Radiolinja SC
-	_LIT(KPekka,"+358408415528");			// Pekka's telephone number
-
-	// Set destination and SC numbers
-	iTelephoneNumber=KPekka;
-	iServiceCenterNumber=KRadiolinjaSC;
-
-	CSmsMessage* smsMessage = CreateSmsMessageL(aDes, aAlphabet);
-	CleanupStack::PushL(smsMessage);
-	return smsMessage;
-	}
-
-CSmsMessage* CSmsEmsPrtTestStep::CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType)
-/**
- *  Create a uninitialised SMS message
- *  @param aDes contains text that will be inserted to the pdu
- *  @param aAlphabet describes the alphabet of the pdu
- *  @return CSmsMessage* :Pointer to the created CSmsMessage object.
- */
-	{
-	CSmsBuffer* buffer=CSmsBuffer::NewL();
-	CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, aType, buffer);
-	CleanupStack::PushL(smsMessage);
-
-	TSmsUserDataSettings smsSettings;
-	smsSettings.SetAlphabet(aAlphabet);
-	smsSettings.SetTextCompressed(EFalse);
-	smsMessage->SetUserDataSettingsL(smsSettings);
-
-	smsMessage->SetToFromAddressL(iTelephoneNumber);
-	smsMessage->SmsPDU().SetServiceCenterAddressL(iServiceCenterNumber);
-	buffer->InsertL(0,aDes);
-	CleanupStack::Pop(smsMessage);
-	return smsMessage;
-	}
-
-TBool CSmsEmsPrtTestStep::SendReceiveMsgL(CSmsMessage& aMsg)
-	{
-	// Send SMS
-	SendSmsL(&aMsg,iSocket);
-
-	CSmsMessage* rxMsg;
-
-	// Now receive and compare
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
-	WaitForRecvL(iSocket);
-	rxMsg = RecvSmsL(iSocket);
-
-	CleanupStack::PushL(rxMsg);
-	TBool comp = EmsTestUtils::CompareEmsMsgL(aMsg, *rxMsg);
-	TEST(comp);
-
-	// compare OK
-	INFO_PRINTF1(_L("Sent and received PDUs compare OK..."));
-
-	// Now make sure the received message is valid - this can be
-	// tested by ensuring that NumMessagePDUsL can be called without
-	// leaving
-	rxMsg->NumMessagePDUsL();
-
-	CleanupStack::PopAndDestroy(rxMsg);
-
-	// return the result of the comparison
-	return comp;
-	}
-
-void CSmsEmsPrtTestStep::SendSmsL(const CSmsMessage* aSms, RSocket& aSocket)
-/**
- *  Stream aSms out to the socket server
- *  @param aSms contains the sms tpdu that will be streamed to the sms stack
- *  @param aSocket is used to stream the aSms to the sms stack
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if sending is completed with error code
- */
-	{
-	TBool tryAgain = ETrue;
-	TInt sendTry (0);
-	TRequestStatus status = KErrNone;
-
-	while (tryAgain && sendTry < 3)
-		{
-		RSmsSocketWriteStream writestream(aSocket);
-		TRAPD(ret,writestream << *aSms);
-
-		TRAP(ret,writestream.CommitL());
-
-		TPckgBuf<TUint> sbuf;
-		aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
-		User::WaitForRequest(status);
-		INFO_PRINTF2(_L("SendSmsL - sendSmsMessage returned %d"),status.Int());
-		if (status.Int() )
-			{
-			tryAgain = ETrue;
-			INFO_PRINTF1(_L("Try again... "));
-			sendTry++;
-			}
-		else tryAgain = EFalse;
-		}
-
-	TEST(status.Int() == KErrNone);
-
-    PrintMessageL(aSms);
-	}
-
-void CSmsEmsPrtTestStep::PrintMessageL(const CSmsMessage* aSms)
-/**
- *  Print the content of SMS to the console
- */
-	{
-	CSmsBuffer& smsbuffer = (CSmsBuffer&)aSms->Buffer();
-	const TInt len = smsbuffer.Length();
-	HBufC* hbuf = HBufC::NewL(len);
-	TPtr ptr = hbuf->Des();
-	smsbuffer.Extract(ptr,0,len);
-	INFO_PRINTF1(_L("SMS contains..."));
-
-	for (TInt j = 0; j < len; j++)
-        ptr[j]=IsCharDisplayable((TText8)ptr[j]);
-
-
-    INFO_PRINTF1(ptr);
-	INFO_PRINTF1(_L(""));
-
-	delete hbuf;
-	}
-
-TText8 CSmsEmsPrtTestStep::IsCharDisplayable( const TText8 aChar )
-	{
-	if(( aChar >= 0x20) && (aChar <= 0x80))
-		return aChar;
-	else
-		return '.';
-	}
-
-
-
-void CSmsEmsPrtTestStep::WaitForRecvL(RSocket& aSocket)
-/**
- *  Wait for an Sms to be received
- *  @param aSocket The status is return to this socket
- *  @leave Leaves if receiving is completed with error code
- */
-	{
-	TPckgBuf<TUint> sbuf;
-	sbuf()=KSockSelectRead;
-	TRequestStatus status;
-	aSocket.Ioctl(KIOctlSelect,status,&sbuf,KSOLSocket);
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
-	}
-
-CSmsMessage* CSmsEmsPrtTestStep::RecvSmsL(RSocket& aSocket, TInt aIoctl)
-/**
- *  Receive an Sms
- *  @param aSocket is used to stream the sms message from the socket server
- *  @return CSmsMessage* :Sms message from Sms stack
- *  @leave Leaves if streaming the message from the socket server doesn't succeed
- */
-	{
-	CSmsBuffer* buffer=CSmsBuffer::NewL();
-	CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsSubmit,buffer);
-	CleanupStack::PushL(smsMessage);
-
-	RSmsSocketReadStream readstream(aSocket);
-	TRAPD(ret,readstream >> *smsMessage);
-	TEST(ret == KErrNone);
-
-	TPckgBuf<TUint> sbuf;
-	TRequestStatus status;
-	aSocket.Ioctl(aIoctl, status, &sbuf, KSolSmsProv);
-	User::WaitForRequest(status);
-
-	CleanupStack::Pop(smsMessage);
-	return smsMessage;
-	}
-
-void CSmsEmsPrtTestStep::PrepareRegTestL()
-/**
- *  Run a specified test.
- *  The test number is passed via property KUidPSSimTsyCategory. This will notify the SIM tsy
- *  SIM tsy uses test number to parse correct script from config.txt
- *  @param aTestNumber The test number corresponding the test case
- */
-	{
-	RProperty testNumberProperty;
-	User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
-	CleanupClosePushL(testNumberProperty);
-
-	TRequestStatus status;
-	testNumberProperty.Subscribe(status);
-	TInt testNumber = GetTestNumber();
-	User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,testNumber));
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
-	TInt testNumberCheck;
-	User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
-	if (testNumber != testNumberCheck)
-		User::Leave(KErrNotFound);
-
-	CleanupStack::PopAndDestroy(&testNumberProperty);
-
-    INFO_PRINTF1(_L("Connecting to SocketServer ..."));
-	TInt ret=iSocketServ.Connect(KSocketMessageSlots);
-    TEST(ret == KErrNone);
-
-	INFO_PRINTF1(_L("Deleting segmentation and reassembly stores..."));
-
-	// delete segmentation and reassembly store files before the test
-	_LIT(KReassemblyStoreName,"C:\\Private\\101F7989\\sms\\smsreast.dat");
-	_LIT(KSegmentationStoreName,"C:\\Private\\101F7989\\sms\\smssegst.dat");
-
-	iFs.Delete(KReassemblyStoreName);
-	iFs.Delete(KSegmentationStoreName);
-	}
-
-void CSmsEmsPrtTestStep::EndRegTest()
-/**
- *  Closes objects used at test harness
- */
- 	{
-	INFO_PRINTF1(_L("Closing Reg Test"));
-	User::After(2000000); //Wait a couple of seconds to avoid closing the SMS stack too early
-	iSocketServ.Close();
-	User::After(2000000); //Wait a couple of seconds to avoid closing the SMS stack too early
-	}
-
 TVerdict CSmsEmsPrtTestStep::doTestStepPreambleL()
 	{
-	__UHEAP_MARK;
-
-	User::LeaveIfError(iFs.Connect());
-
-    TRAPD(ret, ParseSettingsFromFileL());
-	if (ret != KErrNone)
-		INFO_PRINTF2(_L("ParseSettingsFromFileL [err=%d]"), ret);
-
-	iSmsStackTestUtils = CSmsStackTestUtils::NewL(this, iFs);
-
-	PrepareRegTestL() ;
-
-	iSmsStackTestUtils->OpenSmsSocketL(iSocketServ, iSocket, ESmsAddrRecvAny);
+	//base class preamble - marks the heap
+	CSmsBaseTestStep::doTestStepPreambleL();
+	
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, iSocket, ESmsAddrRecvAny);
 
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-    CleanupStack::PushL(db);
-
-    CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-    CleanupStack::PushL(smsReceiveModeField);
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	smsReceiveModeField->ModifyL(*db);
-
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
-
+    // Set destination and SC numbers
+    iTelephoneNumber=KPekka;
+    iServiceCenterNumber=KRadiolinjaSC;
 	return TestStepResult();
 	}
 
@@ -302,115 +44,37 @@
 	{
 	iSocket.Close();
 
-	EndRegTest() ;
-
-	delete iSmsStackTestUtils;
-	iSmsStackTestUtils = NULL;
-
-	iFs.Close();
-
-	__UHEAP_MARKEND;
+    //base class postamble - unmarks the heap
+    CSmsBaseTestStep::doTestStepPostambleL();
 
  	return TestStepResult();
 	}
 
-TInt CSmsEmsPrtTestStep::CommInit()
-    {
-    RFs fs;
-    TInt err=fs.Connect();  // make sure the FileServer is alive (only needed for WINS test code)
-    fs.Close();
-
-    INFO_PRINTF1(_L("CommInit: Loading PDD ") );
-    INFO_PRINTF1(PDD_NAME);
-    INFO_PRINTF1(_L(""));
-    err=User::LoadPhysicalDevice(PDD_NAME);
-    if (err!=KErrNone && err!=KErrAlreadyExists)
-        return(err);
-
-    INFO_PRINTF1(_L("CommInit: Loading LDD ") );
-    INFO_PRINTF1(LDD_NAME);
-    INFO_PRINTF1(_L(""));
-    err=User::LoadLogicalDevice(LDD_NAME );
-    if (err!=KErrNone && err!=KErrAlreadyExists)
-        return(err);
-
-    INFO_PRINTF1(_L("CommInit: Starting C32 ") );
+ TBool CSmsEmsPrtTestStep::SendReceiveMsgL(CSmsMessage& aMsg)
+     {
+     // Send SMS
+     SendSmsL(&aMsg,iSocket);
 
-    err = StartC32();
-    return (err == KErrNone || err == KErrAlreadyExists) ? KErrNone : err;
-    }
-
- void CSmsEmsPrtTestStep::CreateCommDBL()
-/**
- *  @test Create a special CommDb Database for this test harness.
- */
-    {
-    INFO_PRINTF1(_L("Creating of the commdb for the TE_SmsEmsPrt") );
+     CSmsMessage* rxMsg;
 
-    
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-    CleanupStack::PushL(db);
-    db->OpenTransactionL();
-    CMDBRecordSet<CCDModemBearerRecord>* modemBearerRecordSet = new(ELeave) CMDBRecordSet<CCDModemBearerRecord>(KCDTIdModemBearerRecord);
-    CleanupStack::PushL(modemBearerRecordSet);
- 	modemBearerRecordSet->LoadL(*db);
-
-	_LIT(KDummy0, "DUMMY::0");
-	_LIT(KDummy, "DUMMY");
-	_LIT(KSim, "SIM");
+     // Now receive and compare
+     WaitForRecvL(iSocket);
+     rxMsg = RecvSmsL(iSocket);
 
-    RPointerArray<CCDModemBearerRecord>& resultSet = (RPointerArray<CCDModemBearerRecord>&) modemBearerRecordSet->iRecords;
-
-    CCDModemBearerRecord *modemRecord = static_cast<CCDModemBearerRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdModemBearerRecord));
-    CleanupStack::PushL(modemRecord);
+     CleanupStack::PushL(rxMsg);
+     TBool comp = EmsTestUtils::CompareEmsMsgL(aMsg, *rxMsg);
+     TEST(comp);
 
-    for (TInt i=0; i<resultSet.Count(); i++)
-    	{
-    		modemRecord = resultSet[i];
-    	    modemRecord->iPortName = KDummy0;
-       	    modemRecord->iCsyName = KDummy;
-       	    modemRecord->iTsyName = KSim;
-    		modemRecord->iMessageCentreNumber = iServiceCenterNumber;
-			modemRecord->ModifyL(*db);
-			modemRecord = NULL;
-    	}
-    db->CommitTransactionL();
-    resultSet.Close();
-    CleanupStack::PopAndDestroy(2);
-    CleanupStack::PopAndDestroy(db);
-    }
-
-
-// Here are the section names
-_LIT8(KSetupTelNumbers,           "Defaults");
+     // compare OK
+     INFO_PRINTF1(_L("Sent and received PDUs compare OK..."));
 
-// Here are the item names
-_LIT8(KServiceCenter,               "ServiceCenter");
-_LIT8(KTelefoneNumber,              "TelephoneNumber");
-
-void CSmsEmsPrtTestStep::ParseSettingsFromFileL()
-	{
-	CTestConfig* configFile = CTestConfig::NewLC(iFs,KGmsSmsConfigFileDir,KGmsSmsConfigFileName);
-	const CTestConfigSection* cfgFile = configFile->Section(KSetupTelNumbers);
-	if (cfgFile == NULL)
-		User::Leave(KErrNotFound);
+     // Now make sure the received message is valid - this can be
+     // tested by ensuring that NumMessagePDUsL can be called without
+     // leaving
+     rxMsg->NumMessagePDUsL();
 
-	const CTestConfigItem* item = cfgFile->Item(KServiceCenter,0);
-	if (item == NULL)
-		User::Leave(KErrNotFound);
-
-	iServiceCenterNumber.Copy(item->Value());
+     CleanupStack::PopAndDestroy(rxMsg);
 
-	item = cfgFile->Item(KTelefoneNumber,0);
-	if (item == NULL)
-		User::Leave(KErrNotFound);
-
-	iTelephoneNumber.Copy(item->Value());
-
-	// beginning of the destruction
-	CleanupStack::PopAndDestroy(configFile);//configFile
-	}
+     // return the result of the comparison
+     return comp;
+     }
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTBASE.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTBASE.h	Fri Apr 16 16:12:37 2010 +0300
@@ -13,14 +13,14 @@
 // Description:
 //
 
-#ifndef _TE_SMSEMSPRTBASE_H_
-#define _TE_SMSEMSPRTBASE_H_
-
+#ifndef TE_SMSEMSPRTBASE_H
+#define TE_SMSEMSPRTBASE_H
 
 #include <test/testexecuteserverbase.h>
 #include <simtsy.h>
 #include <testconfigfileparser.h>
-
+#include <mmlist.h>
+#include <mmretrieve.h>
 
 #include "gsmubuf.h"
 #include "Gsmumsg.h"
@@ -30,8 +30,7 @@
 #include "smsustrm.h"
 #include "smspdudb.h"
 #include "smsstacktestutilities.h"
-#include <mmlist.h>
-#include <mmretrieve.h>
+#include "smsstackbaseteststeps.h"
 
 #include "attributes.h"
 #include "smspproc.h"
@@ -43,47 +42,16 @@
 #include "EmsTestUtils.h"
 #include "EMSObjectDistributionIE.h"
 
-
-const TUint KSocketMessageSlots = 16;   // Override the default value of 8
-
-// The basic text we send - 26 chars long
-_LIT(KBasicSmsText,"abcdefghijklmnopqrstuvwxyz");
-_LIT(KTSmsEmsPrtConfigFileName, "tsmsemsprt_config.txt");
-
-_LIT(KGmsSmsConfigFileName,"setupgsmsms.txt");
-
-class CSmsEmsPrtTestStep : public CTestStep
-{
-
+class CSmsEmsPrtTestStep : public CSmsBaseTestStep
+    {
 public:
-	CSmsMessage* ConfigCreateSmsMessageLC(const TDesC& aDes,
-			TSmsDataCodingScheme::TSmsAlphabet aAlphabet = TSmsDataCodingScheme::ESmsAlphabet8Bit);
-	CSmsMessage* CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType  = CSmsPDU::ESmsSubmit) ;
+    virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPostambleL();
+    
 	TBool SendReceiveMsgL(CSmsMessage& aMsg);
-	void SendSmsL(const CSmsMessage* aSms, RSocket& aSocket);
-	void PrintMessageL(const CSmsMessage* aSms);
-	void WaitForRecvL(RSocket& aSocket);
-	CSmsMessage* RecvSmsL(RSocket& aSocket, TInt aIoctl = KIoctlReadMessageSucceeded) ;
-	TText8 IsCharDisplayable( const TText8 aChar ) ;
-	void PrepareRegTestL() ;
-	void EndRegTest();
-	TInt CommInit() ;
-    void CreateCommDBL();
-	void ParseSettingsFromFileL();
-
+    
+protected:
+	RSocket iSocket;
+    };
 
-	RFs iFs;
-	TSmsServiceCenterAddress iTelephoneNumber; //Test SIM
-	TSmsServiceCenterAddress iServiceCenterNumber; //Radiolinja
-	RSocketServ iSocketServ;
-	RSocket iSocket;
-
- 	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();
-	virtual TInt GetTestNumber() = 0 ;
-
-	CSmsStackTestUtils* iSmsStackTestUtils;
-
-};
-
-#endif // _TE_SMSEMSPRTBASE_H_
+#endif // TE_SMSEMSPRTBASE_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTSERVER.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTSERVER.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -30,6 +30,8 @@
 	{
 	CSmsEmsPrtTestServer* server = new (ELeave) CSmsEmsPrtTestServer();
 	CleanupStack::PushL(server);
+	// CSmsStackTestServer intermediate base class call
+	server->InitializeTsyAndPhonesL();
 	// CServer base class call
 	server->StartL(KServerName);
 	CleanupStack::Pop(server);
@@ -86,11 +88,7 @@
 	// the new could return NULL, but that is not a problem as it implies
 	// the test step is missing and this will be marked in the log file.
 	//
-	if (aStepName == _L("TestInit"))
-		{
-		testStep = new CTestInit;
-		}
-	else if (aStepName == _L("TestEmsFormatA"))
+	if (aStepName == _L("TestEmsFormatA"))
 		{
 		testStep = new CTestEmsFormatA ;
 		}
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTSERVER.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_SMSEMSPRTSERVER.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,17 +15,16 @@
 // 
 //
 
-#ifndef __TE_SMSEMSPRTSERVER_H__
-#define __TE_SMSEMSPRTSERVER_H__
-#include <test/testexecuteserverbase.h>
-#include "TE_SMSEMSPRTBASE.h"
+#ifndef TE_SMSEMSPRTSERVER_H
+#define TE_SMSEMSPRTSERVER_H
 
+#include "smsstackbasetestserver.h"
 
-class CSmsEmsPrtTestServer : public CTestServer
+class CSmsEmsPrtTestServer : public CSmsStackTestServer
 	{
 public:
 	static CSmsEmsPrtTestServer* NewL();
 	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
 	};
 
-#endif // __TE_SMSEMSPRTSERVER_H__
+#endif // TE_SMSEMSPRTSERVER_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_smsemsprt_setup.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSEMSPRT/TE_smsemsprt_setup.script	Fri Apr 16 16:12:37 2010 +0300
@@ -13,5 +13,15 @@
 // Description:
 //
 
+RUN_UTILS  MakeReadWrite c:\config.txt
+RUN_UTILS  DeleteFile c:\config.txt
+
+RUN_SCRIPT  z:\testdata\scripts\smsstackcleanprivatedata.script
+
+RUN_UTILS  MkDir c:\sms\
+RUN_UTILS  CopyFile z:\sms\tsmsemsprt_config.txt c:\sms\tsmsemsprt_config.txt
+
+RUN_UTILS  CopyFile c:\sms\tsmsemsprt_config.txt c:\config.txt
+RUN_UTILS  MakeReadWrite c:\config.txt
+
 ced -i z:\TestData\configs\te_smsemsprt_commdb.cfg ced.log
-copyfile z:\sms\tsmsemsprt_config.txt c:\sms\tsmsemsprt_config.txt
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSINTER/TE_smsinterbase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSINTER/TE_smsinterbase.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -2393,8 +2393,6 @@
 	sendMessage->AddEMSInformationElementL(*object2);
 	CleanupStack::PopAndDestroy(object2);
 
-	iSmsStackTestUtils->WaitForInitializeL();      // load wapprot
-
 	// set SMS port addresing for 8 Bit ports
 	CSmsPDU& pdu = sendMessage->SmsPDU();
 	pdu.SetApplicationPortAddressingL(ETrue, port8, port8, EFalse);
@@ -2487,8 +2485,6 @@
 	sendMessage->AddEMSInformationElementL(*object2);
 	CleanupStack::PopAndDestroy(object2);
 
-	iSmsStackTestUtils->WaitForInitializeL();      // load wapprot
-
 	// set SMS port addresing for 8 Bit ports
 	CSmsPDU& pdu = sendMessage->SmsPDU();
 	pdu.SetApplicationPortAddressingL(ETrue, port16, port16, ETrue);
@@ -3116,13 +3112,10 @@
 		SendSmsL(smsMessage,socket);
 		CleanupStack::PopAndDestroy(smsMessage);
 
-		INFO_PRINTF1(_L("waiting for incoming SMS...") );
 		WaitForRecvL(socket);
 		smsMessage = RecvSmsL(socket);
-
-		INFO_PRINTF1(_L("incoming SMS") );
-
 		CleanupStack::PushL(smsMessage);
+		
 		TestSmsContentsL(smsMessage,testText);
 		CleanupStack::PopAndDestroy(smsMessage);
 
@@ -5566,9 +5559,6 @@
     	}
 	while (phonePowerCheck==ESAPhoneOff);
 
-    // Wait phone initializing
-    iSmsStackTestUtils->WaitForInitializeL();
-
     INFO_PRINTF1(_L("Checking that Sms Stack will allow us to send an SMS"));
     TRAP(ret,SendSmsDontCheckReturnValueL(smsMessage,socket));
     TEST(ret==KErrNone);
@@ -5613,9 +5603,6 @@
     	}
 	while (phonePowerCheck==ESAPhoneOff);
 
-    // Wait phone initializing
-    iSmsStackTestUtils->WaitForInitializeL();
-
     INFO_PRINTF1(_L("Checking that Sms Stack will allow us to send an SMS"));
     TRAP(ret,SendSmsDontCheckReturnValueL(smsMessage,socket));
     TEST(ret==KErrNone);
@@ -5694,10 +5681,6 @@
 	ret = socketany.Open(socketServer, KSMSAddrFamily, KSockDatagram, KSMSDatagramProtocol);
 	TEST(ret==KErrNone);
 
-	// Wait phone initializing
-	iSmsStackTestUtils->WaitForInitializeL();
-
-
 	// bind them to ports
 	ret = socket8.Bind(addr8);
 	TEST(ret==KErrNone);
@@ -7097,16 +7080,12 @@
  */
 	{
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(aSocket);
 	CSmsMessage* smsMessage = RecvSmsL(aSocket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
+    CleanupStack::PushL(smsMessage);
 
 	//Check the status report
-	CleanupStack::PushL(smsMessage);
 	TBool isSR = (smsMessage->Type()==CSmsPDU::ESmsStatusReport);
-
 	if (isSR)
 		{
 		INFO_PRINTF1(_L("Received status report"));
@@ -7117,7 +7096,7 @@
 	else
 		INFO_PRINTF1(_L("Received SMS is NOT a Status report!"));
 
-	TEST(isSR==1);
+	TEST(isSR);
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	}
@@ -7575,13 +7554,10 @@
 	SendSmsL(smsMessage, aSocket);
 	CleanupStack::PopAndDestroy(smsMessage); //destroyed because created again in RecvSmsL
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL( aSocket);
 	smsMessage = RecvSmsL( aSocket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,aDes);
 
 	User::After(1000000);
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -13,110 +13,85 @@
 // Description:
 //
 
-#include "TE_smsprtstressbase.h"
 #include "TE_smsprtstress.h"
-#include "TE_smsprtstressutils.h"
 
 #include <e32property.h>
-#include <connect/sbdefs.h>
+//#include <connect/sbdefs.h>
 #include <sacls.h>
 
-using namespace conn;
-
+#include "TE_smsprtstressutils.h"
 
-TVerdict CTestInit::doTestStepL()
-	{
-	InitGlobalsL();
-	return TestStepResult();
-	}
-
+//using namespace conn;
 
 TVerdict CTestRxAndRead::doTestStepL()
 	{
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 0);
-
-	CTestReceiveEnumerateMessages* globalAO = CTestReceiveEnumerateMessages::NewL(KActiveReceiverPriority, socketServer, *iSmsStackTestUtils);
-    CleanupStack::PushL(globalAO);
-
-	globalAO->Start(2,5,3);
-
-	TEST(globalAO->iStatus.Int() == KErrNone);
-
-   	//globalAO->Cancel();
-
-   	CleanupStack::PopAndDestroy(globalAO);
-	CleanupStack::PopAndDestroy(&socketServer);
-
+//	CTestReceiveEnumerateMessages* globalAO = CTestReceiveEnumerateMessages::NewL(KActiveReceiverPriority, iSocketServer, *iSmsStackTestUtils);
+//    CleanupStack::PushL(globalAO);
+//
+//	globalAO->Start(2 /*aEnumExpected*/, 5 /*aRecvExpected*/, 3 /*aRecvInitial*/);
+//
+//	TEST(globalAO->iStatus.Int() == KErrNone);
+//
+//   	CleanupStack::PopAndDestroy(globalAO);
 	return TestStepResult();
 	}
 
-
 TVerdict CTestMultipleSimultaneousRequests::doTestStepL()
 	{
-	INFO_PRINTF1(_L("Test multiple simultaneous requests handling"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 1);
-
-	TInt ret(KErrNone);
-
-	RPointerArray<CTestSmsActiveBase> testSmsActives;
-	CleanupResetAndDestroyPushL(testSmsActives);
-
-	//Create instance of CTestSmsActiveStop that stops testing activity when tests are completed.
-	CTestSmsActiveStop* testSmsActiveStop = new (ELeave) CTestSmsActiveStop(testSmsActives,ret);
-	CleanupStack::PushL(testSmsActiveStop);
-
-	//Create instance of CTestSmsSendActive that makes send requests to the SMS Stack.
-	CTestSmsSendActive* sendActive = CTestSmsSendActive::NewL(socketServer,*testSmsActiveStop, 16, iFs, iSmsStackTestUtils, this);
-	CleanupStack::PushL(sendActive);
-	User::LeaveIfError(testSmsActives.Append(sendActive));
-	CleanupStack::Pop(sendActive);
-
-	//Create instance of CTestSmsParametersActive that makes retrieve and store parameters requests to the SMS Stack.
-	CTestSmsParametersActive* parametersActive = CTestSmsParametersActive::NewL(socketServer,*testSmsActiveStop,70, iSmsStackTestUtils, this);
-	CleanupStack::PushL(parametersActive);
-	User::LeaveIfError(testSmsActives.Append(parametersActive));
-	CleanupStack::Pop(parametersActive);
-
-	//Create instance of CTestSmsStorageActive that makes enumerate, write and delete requests to the SMS Stack.
-	CTestSmsStorageActive* storageActive = CTestSmsStorageActive::NewL(socketServer,*testSmsActiveStop,70, iFs,iSmsStackTestUtils, this);
-	CleanupStack::PushL(storageActive);
-	User::LeaveIfError(testSmsActives.Append(storageActive));
-	CleanupStack::Pop(storageActive);
-
-	//Create instance of CTestSmsReceiveActive that makes retrieve requests to the SMS Stack.
-	CTestSmsReceiveActive* receiveActive = CTestSmsReceiveActive::NewL(socketServer,*testSmsActiveStop,16, iFs, iSmsStackTestUtils, this);
-	CleanupStack::PushL(receiveActive);
-	User::LeaveIfError(testSmsActives.Append(receiveActive));
-	CleanupStack::Pop(receiveActive);
-
-	sendActive->StartL();
-	parametersActive->StartL();
-	storageActive->StartL();
-	receiveActive->StartL();
-
-	//Start active objects
-	CActiveScheduler::Start();
-
-	//Checkpoint is called when test are ran through
-	TEST(ret == KErrNone);
-
-	CleanupStack::PopAndDestroy(testSmsActiveStop);	//stopper class
-	CleanupStack::PopAndDestroy(&testSmsActives);	//active objects
-
-	EndRegTest();
-
+//	INFO_PRINTF1(_L("Test multiple simultaneous requests handling"));
+//	TInt ret(KErrNone);
+//
+//	RPointerArray<CTestSmsActiveBase> testSmsActives;
+//	CleanupResetAndDestroyPushL(testSmsActives);
+//
+//	//Create instance of CTestSmsActiveStop that stops testing activity when tests are completed.
+//	CTestSmsActiveStop* testSmsActiveStop = new (ELeave) CTestSmsActiveStop(testSmsActives,ret);
+//	CleanupStack::PushL(testSmsActiveStop);
+//
+//	//Create instance of CTestSmsSendActive that makes send requests to the SMS Stack.
+//	CTestSmsSendActive* sendActive = CTestSmsSendActive::NewL(iSocketServer,*testSmsActiveStop, 16, iFs, iSmsStackTestUtils, this);
+//	CleanupStack::PushL(sendActive);
+//	User::LeaveIfError(testSmsActives.Append(sendActive));
+//	CleanupStack::Pop(sendActive);
+//
+//	//Create instance of CTestSmsParametersActive that makes retrieve and store parameters requests to the SMS Stack.
+//	CTestSmsParametersActive* parametersActive = CTestSmsParametersActive::NewL(iSocketServer,*testSmsActiveStop,70, iSmsStackTestUtils, this);
+//	CleanupStack::PushL(parametersActive);
+//	User::LeaveIfError(testSmsActives.Append(parametersActive));
+//	CleanupStack::Pop(parametersActive);
+//
+//	//Create instance of CTestSmsStorageActive that makes enumerate, write and delete requests to the SMS Stack.
+//	CTestSmsStorageActive* storageActive = CTestSmsStorageActive::NewL(iSocketServer,*testSmsActiveStop,70, iFs,iSmsStackTestUtils, this);
+//	CleanupStack::PushL(storageActive);
+//	User::LeaveIfError(testSmsActives.Append(storageActive));
+//	CleanupStack::Pop(storageActive);
+//
+//	//Create instance of CTestSmsReceiveActive that makes retrieve requests to the SMS Stack.
+//	CTestSmsReceiveActive* receiveActive = CTestSmsReceiveActive::NewL(iSocketServer,*testSmsActiveStop,16, iFs, iSmsStackTestUtils, this);
+//	CleanupStack::PushL(receiveActive);
+//	User::LeaveIfError(testSmsActives.Append(receiveActive));
+//	CleanupStack::Pop(receiveActive);
+//
+//	sendActive->StartL();
+//	parametersActive->StartL();
+//	storageActive->StartL();
+//	receiveActive->StartL();
+//
+//	//Start active objects
+//	CActiveScheduler::Start();
+//
+//	//Checkpoint is called when test are ran through
+//	TEST(ret == KErrNone);
+//
+//	CleanupStack::PopAndDestroy(testSmsActiveStop);	//stopper class
+//	CleanupStack::PopAndDestroy(&testSmsActives);	//active objects
 	return TestStepResult();
 	}
 
-
+// TODO: replace with one from CSmsBaseTestStep
 TInt CTestSmsPrtBackup::SendSmsL(RSocket& aSocket)
 	{
-
 	INFO_PRINTF1(_L("Attempting to send an sms to +358405202000"));
-
 	TBuf<32> buf;
 	buf.Append(_L("TestSmsPrtBackup message"));
 
@@ -130,13 +105,10 @@
 	TPckgBuf<TUint> sbuf;
 	TRequestStatus status;
 	aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
-
-	//wait for message to be sent
 	User::WaitForRequest(status);
-
+    INFO_PRINTF2(_L("SendSmsL returning %d"), status.Int());
+    
 	CleanupStack::PopAndDestroy(message);
-
-	INFO_PRINTF2(_L("SendSmsL returning %d"), status.Int());
 	return (status.Int());
 	}
 
@@ -154,103 +126,98 @@
 	during backup and restore.*/
 TVerdict CTestSmsPrtBackup::doTestStepL()
 	{
-	PrepareRegTestLC(iSocketServer, 2);
-	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrSendOnly);
-
-	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrNone"));
-	TEST(SendSmsL(socket) == KErrNone);
-
-	// Notify the SMSPROT server that a backup is about to take place and
-	// that the server should powerdown
-	INFO_PRINTF1(_L("Simulating a backup notification"));
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURBackupFull, EBackupBase);
-
-	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrDisconnected"));
-	TEST(SendSmsL(socket) == KErrDisconnected);
-
-
-	// Notify the SMSPROT server that a backup has completed
-	// that the server should powerup
-	INFO_PRINTF1(_L("Simulating a backup complete notification"));
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURNormal, ENoBackup);
-
-	// Required Pause to Allow SMSStack to hande notification and restart
-	User::After(5*1000*1000);
-
-	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrNone"));
-	TEST(SendSmsL(socket) == KErrNone);
-
-	// Notify the SMSPROT server that a restore is about to take place and
-	// that the server should powerdown
-	INFO_PRINTF1(_L("Simulating a restore notification"));
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURRestorePartial, EBackupIncrement);
-
-	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrDisconnected"));
-	TEST(SendSmsL(socket) == KErrDisconnected);
-
-	// Notify the SMSPROT server that a restore has completed
-	// that the server should powerup
-	INFO_PRINTF1(_L("Simulating a restore complete notification"));
-	
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURNormal, ENoBackup);
-
-	// Required Pause to Allow SMSStack to hande notification and restart
-	User::After(5*1000*1000);
-	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrNone"));
-	TEST(SendSmsL(socket) == KErrNone);
-
-	INFO_PRINTF1(_L("Closing SocketServer ..."));
-	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&iSocketServer);
+//	RSocket socket;
+//	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrSendOnly);
+//
+//	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrNone"));
+//	TEST(SendSmsL(socket) == KErrNone);
+//
+//	// Notify the SMSPROT server that a backup is about to take place and
+//	// that the server should powerdown
+//	INFO_PRINTF1(_L("Simulating a backup notification"));
+//	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+//									 EBURBackupFull, EBackupBase);
+//
+//	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrDisconnected"));
+//	TEST(SendSmsL(socket) == KErrDisconnected);
+//
+//
+//	// Notify the SMSPROT server that a backup has completed
+//	// that the server should powerup
+//	INFO_PRINTF1(_L("Simulating a backup complete notification"));
+//	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+//									 EBURNormal, ENoBackup);
+//
+//	// Required Pause to Allow SMSStack to hande notification and restart
+//	User::After(5*1000*1000);
+//
+//	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrNone"));
+//	TEST(SendSmsL(socket) == KErrNone);
+//
+//	// Notify the SMSPROT server that a restore is about to take place and
+//	// that the server should powerdown
+//	INFO_PRINTF1(_L("Simulating a restore notification"));
+//	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+//									 EBURRestorePartial, EBackupIncrement);
+//
+//	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrDisconnected"));
+//	TEST(SendSmsL(socket) == KErrDisconnected);
+//
+//	// Notify the SMSPROT server that a restore has completed
+//	// that the server should powerup
+//	INFO_PRINTF1(_L("Simulating a restore complete notification"));
+//	
+//	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+//									 EBURNormal, ENoBackup);
+//
+//	// Required Pause to Allow SMSStack to hande notification and restart
+//	User::After(5*1000*1000);
+//	INFO_PRINTF1(_L("Expecting SendSmsL to return KErrNone"));
+//	TEST(SendSmsL(socket) == KErrNone);
+//
+//	INFO_PRINTF1(_L("Closing SocketServer ..."));
+//	CleanupStack::PopAndDestroy(&socket);
 	return TestStepResult();
 	}
 
-
 /**
  *  Tests the Backup and Restore operation when the phone is powered off.
  */
 TVerdict CTestSmsPrtBackupWhenPhoneIsOff::doTestStepL()
 	{
-	PrepareRegTestLC(iSocketServer, 2);
-	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrSendOnly);
-
-	//
-	// Perform backup abnd restore when the phone is powered down...
-	//
-	INFO_PRINTF1(_L("Simulating a backup and restore while the phone is off"));
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid,
-									  ESAPhoneOff));
-	
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURBackupFull, EBackupBase);
-
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURNormal, ENoBackup);
-
-	User::After(5*1000*1000);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid,
-									  ESAPhoneOn));
-
-	INFO_PRINTF1(_L("Closing SocketServer..."));
-	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&iSocketServer);
-
-	//
-	// Ensure the SMS Stack has been reloaded, prior to performing the ESock
-	// memory leak check.
-	//
-	PrepareRegTestLC(iSocketServer, 2);
-	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrSendOnly);
-
-	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&iSocketServer);
-
+//	RSocket socket;
+//	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrSendOnly);
+//
+//	//
+//	// Perform backup abnd restore when the phone is powered down...
+//	//
+//	INFO_PRINTF1(_L("Simulating a backup and restore while the phone is off"));
+//	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid,
+//									  ESAPhoneOff));
+//	
+//	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+//									 EBURBackupFull, EBackupBase);
+//
+//	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+//									 EBURNormal, ENoBackup);
+//
+//	User::After(5*1000*1000);
+//
+//	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid,
+//									  ESAPhoneOn));
+//
+//	INFO_PRINTF1(_L("Closing SocketServer..."));
+//	CleanupStack::PopAndDestroy(&socket);
+//	iSocketServer.Close();
+//
+//	// TODO: check if this part is still valid
+//	//
+//	// Ensure the SMS Stack has been reloaded, prior to performing the ESock
+//	// memory leak check.
+//	//
+//	ConnectSocketServerL(iSocketServer);
+//	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrSendOnly);
+//
+//	CleanupStack::PopAndDestroy(&socket);
 	return TestStepResult();
-	} // CTestSmsPrtBackupWhenPhoneIsOff::doTestStepL
+	}
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.h	Fri Apr 16 16:12:37 2010 +0300
@@ -13,16 +13,10 @@
 // Description:
 //
 
-
-#ifndef __TE_SMSPRTSTRESS_H_
-#define __TE_SMSPRTSTRESS_H_
-
+#ifndef TE_SMSPRTSTRESS_H
+#define TE_SMSPRTSTRESS_H
 
-class CTestInit : public CSmsPrtStressTestStep
-	{
-public:
-	virtual TVerdict doTestStepL();
-	};
+#include "TE_smsprtstressbase.h"
 
 class CTestRxAndRead : public CSmsPrtStressTestStep
 	{
@@ -42,17 +36,14 @@
 	virtual TVerdict doTestStepL();
 
 private:
+	// TODO: replace with one from CSmsBaseTestStep
 	TInt SendSmsL(RSocket& aSocket);
-	RSocketServ iSocketServer;
 	};
 
 class CTestSmsPrtBackupWhenPhoneIsOff : public CSmsPrtStressTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
-
-private:
-	RSocketServ iSocketServer;
 	};
 
-#endif
+#endif // TE_SMSPRTSTRESS_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -14,7 +14,7 @@
 //
 
 TARGET         te_smsprtstress.exe
-CAPABILITY     ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData AllFiles PowerMgmt
+CAPABILITY     ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData ProtServ AllFiles PowerMgmt
 TARGETTYPE     exe
 UID            0x1000007A 0x101FE444
 VENDORID       0x70000001
@@ -24,10 +24,8 @@
 SOURCE      	   TE_smsprtstress.cpp
 SOURCE        	   TE_smsprtstressserver.cpp
 SOURCE        	   TE_smsprtstressbase.cpp
-SOURCE        	   TE_smsprtstressutils.cpp
 
-SOURCEPATH         ../../Test
-
+SOURCEPATH       ../../Test
 
 USERINCLUDE        ../../../test
 USERINCLUDE        ../../Inc
@@ -37,16 +35,17 @@
 USERINCLUDE   	   ../../../gsmu/inc
 USERINCLUDE   	   ../../../smsu/inc
 
-MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
-LIBRARY       	   etelmm.lib
 LIBRARY       	   smsu.lib gsmu.lib // components under test
-LIBRARY       	   esock.lib bafl.lib
-LIBRARY       	   euser.lib efsrv.lib estor.lib c32root.lib
+LIBRARY       	   esock.lib c32root.lib
+LIBRARY       	   euser.lib efsrv.lib estor.lib
 LIBRARY		   smsstacktestutilities.lib
 LIBRARY		   testexecutelogclient.lib
 LIBRARY		   testexecuteutils.lib
 LIBRARY		   testconfigfileparser.lib
-LIBRARY		   sbeclient.lib
+
+LIBRARY		   commsdat.lib
+
 
 SMPSAFE
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress_setup.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstress_setup.script	Fri Apr 16 16:12:37 2010 +0300
@@ -15,4 +15,15 @@
 // 
 //
 
+RUN_UTILS  MakeReadWrite c:\config.txt
+RUN_UTILS  DeleteFile c:\config.txt
+
+RUN_SCRIPT  z:\testdata\scripts\smsstackcleanprivatedata.script
+
+RUN_UTILS  MkDir c:\sms\
+RUN_UTILS  CopyFile z:\sms\tsmsprtstress_config.txt c:\sms\tsmsprtstress_config.txt
+
+RUN_UTILS  CopyFile c:\sms\tsmsprtstress_config.txt c:\config.txt
+RUN_UTILS  MakeReadWrite c:\config.txt
+
 ced -i z:\TestData\configs\te_smsprtstress_commdb.cfg ced.log
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressbase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressbase.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -18,310 +18,33 @@
 */
 
 #include "TE_smsprtstressbase.h"
+
 #include <sacls.h>
 #include <cfshared.h>
 #include <c32root.h>
-
 #include <connect/sbdefs.h>
-using namespace conn;
 
-TVerdict CSmsPrtStressTestStep::doTestStepPreambleL( void )
-	{
-	__UHEAP_MARK;
+//using namespace conn;
 
-	iScheduler = new(ELeave) CActiveScheduler;
-	CActiveScheduler::Install(iScheduler);
+TVerdict CSmsPrtStressTestStep::doTestStepPreambleL()
+	{
+    //base class preamble - marks the heap
+//    CSmsBaseTestStep::doTestStepPreambleL();
 
-	iSecureBackupEngine = CSBEClient::NewL();
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURNormal, ENoBackup);
-
-	User::LeaveIfError(iFs.Connect());
-
-	iSmsStackTestUtils = CSmsStackTestUtils::NewL(this, iFs);
+//	iSecureBackupEngine = CSBEClient::NewL();
+//	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+//									 EBURNormal, ENoBackup);
 
     return TestStepResult() ;
 	}
 
-TVerdict CSmsPrtStressTestStep::doTestStepPostambleL( void )
+TVerdict CSmsPrtStressTestStep::doTestStepPostambleL()
 	{
-	delete iSmsStackTestUtils;
-	iSmsStackTestUtils = NULL;
-
-	iFs.Close();
+//	delete iSecureBackupEngine;
+//	iSecureBackupEngine = NULL;
 
-	delete iSecureBackupEngine;
-	iSecureBackupEngine = NULL;
-
-	delete iScheduler;
-	iScheduler = NULL;
-
-	__UHEAP_MARKEND;
-	
-	DoESockMemoryLeakTestL();
+	//base class postamble - unmarks the heap
+//	CSmsBaseTestStep::doTestStepPostambleL();
 
 	return TestStepResult() ;
 	}
-
-
-void CSmsPrtStressTestStep::InitGlobalsL()
-/**
- *  Initialise global variables.
- */
-    {
-    TRAPD( ret, ParseSettingsFromFileL());
-
-	if (ret != KErrNone)
-		INFO_PRINTF2(_L("ParseSettingsFromFileL [err=%d]"), ret);
-
-    GetCmdLineArguments();
-
-    INFO_PRINTF2(_L("TelNo: [%S]"), &iTelephoneNumber);
-	INFO_PRINTF2(_L("ScNo:  [%S]"), &iServiceCenterNumber);
-
-	CommInit();
-
-	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtStressConfigFileName);
-	}
-
-
-void CSmsPrtStressTestStep::PrepareRegTestLC(RSocketServ& aSocketServer, TInt aTestNumber)
-/**
- *  Run a specified test.
- *  The test number is passed via property KUidPSSimTsyCategory. This will notify the SIM tsy
- *  SIM tsy uses test number to parse correct script from config.txt
- *  @param aTestNumber The test number corresponding the test case
- */
-	{
-	RProperty testNumberProperty;
-	User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
-	CleanupClosePushL(testNumberProperty);
-
-	TRequestStatus status;
-	testNumberProperty.Subscribe(status);
-	User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,aTestNumber));
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
-	TInt testNumberCheck;
-	User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
-	if (aTestNumber != testNumberCheck)
-		User::Leave(KErrNotFound);
-
-	CleanupStack::PopAndDestroy(&testNumberProperty);
-
-    INFO_PRINTF1(_L("Connecting to SocketServer ..."));
-	TInt ret=aSocketServer.Connect(KSocketMessageSlots);
-    TEST(ret == KErrNone);
-	CleanupClosePushL(aSocketServer);
-
-	INFO_PRINTF1(_L("Deleting segmentation and reassembly stores..."));
-
-	// delete segmentation and reassembly store files before the test
-	_LIT(KReassemblyStoreName,"C:\\Private\\101F7989\\sms\\smsreast.dat");
-	_LIT(KSegmentationStoreName,"C:\\Private\\101F7989\\sms\\smssegst.dat");
-
-	iFs.Delete(KReassemblyStoreName);
-	iFs.Delete(KSegmentationStoreName);
-	}
-
-
-TBool CSmsPrtStressTestStep::DoGetCmdLineArguments(TDes& aCmdarg, const TDesC& aToFind, TDes& aCmd)
-    {
-    if(( aCmdarg.FindF(aToFind)) != KErrNotFound )
-        {
-        TLex myLex( aCmdarg );
-        myLex.Inc(aCmdarg.FindF(_L("="))+1);
-        myLex.SkipSpace();
-        myLex.Mark();                         // remember where we are
-        myLex.SkipCharacters();               // move to end of character token
-        if (myLex.TokenLength() != 0)         // if valid potential token
-            {
-            aCmd.Copy(myLex.MarkedToken());    // extract token
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-void CSmsPrtStressTestStep::GetCmdLineArguments()
-    {
-    CCommandLineArguments *cmdLine = NULL;
-    TRAPD(err, cmdLine = CCommandLineArguments::NewL());
-    if (err==KErrNone)
-        {
-        TInt numCmds = cmdLine->Count();
-        TInt i=0;
-        while (++i < numCmds)
-            {
-            TBuf<256> arg = cmdLine->Arg(i);
-
-            // Reading the Service Centre Number
-            _LIT( KSCno, "sc=");
-            _LIT( KSCNO, "SC=");
-            if(    DoGetCmdLineArguments( arg, KSCno, iServiceCenterNumber )
-                || DoGetCmdLineArguments( arg, KSCNO, iServiceCenterNumber ))
-                continue;
-
-            // Reading the Recipient Telephone Number
-            _LIT( KTELno, "tel=");
-            _LIT( KTELNO, "TEL=");
-            if(    DoGetCmdLineArguments( arg, KTELno, iTelephoneNumber )
-                || DoGetCmdLineArguments( arg, KTELNO, iTelephoneNumber ))
-                continue;
-            }
-        }
-    delete cmdLine;
-    cmdLine = NULL;
-    }
-
-void CSmsPrtStressTestStep::ParseSettingsFromFileL()
-	{
-	CTestConfig* configFile = CTestConfig::NewLC(iFs,KGmsSmsConfigFileDir,KGmsSmsConfigFileName);
-	const CTestConfigSection* cfgFile = configFile->Section(KSetupTelNumbers);
-	if (cfgFile == NULL)
-		User::Leave(KErrNotFound);
-
-	const CTestConfigItem* item = cfgFile->Item(KServiceCenter,0);
-	if (item == NULL)
-		User::Leave(KErrNotFound);
-
-	iServiceCenterNumber.Copy(item->Value());
-
-	item = cfgFile->Item(KTelefoneNumber,0);
-	if (item == NULL)
-		User::Leave(KErrNotFound);
-
-	iTelephoneNumber.Copy(item->Value());
-
-	// beginning of the destruction
-	CleanupStack::PopAndDestroy(configFile);//configFile
-	}
-
-void CSmsPrtStressTestStep::EndRegTest()
-/**
- *  Closes objects used at test harness
- */
- 	{
-	INFO_PRINTF1(_L("Closing Reg Test"));
-	User::After(2000000); //Wait a couple of seconds to avoid closing the SMS stack too early
-	CleanupStack::PopAndDestroy(); //socketServer
-	User::After(2000000); //Wait a couple of seconds to avoid closing the SMS stack too early
-	}
-
-
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define PDD_NAME2 _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-
-TInt CSmsPrtStressTestStep::CommInit()
-    {
-    RFs fs;
-    TInt err=fs.Connect();  // make sure the FileServer is alive (only needed for WINS test code)
-    fs.Close();
-
-    INFO_PRINTF1(_L("CommInit: Loading PDD ") );
-    INFO_PRINTF1(PDD_NAME);
-    INFO_PRINTF1(_L(""));
-    err=User::LoadPhysicalDevice(PDD_NAME);
-    if (err!=KErrNone && err!=KErrAlreadyExists)
-        return(err);
-
-    INFO_PRINTF1(_L("CommInit: Loading LDD ") );
-    INFO_PRINTF1(LDD_NAME);
-    INFO_PRINTF1(_L(""));
-    err=User::LoadLogicalDevice(LDD_NAME );
-    if (err!=KErrNone && err!=KErrAlreadyExists)
-        return(err);
-
-    INFO_PRINTF1(_L("CommInit: Starting C32 ") );
-
-    err = StartC32();
-    return (err == KErrNone || err == KErrAlreadyExists) ? KErrNone : err;
-    }
-
-
-void CSmsPrtStressTestStep::DoESockMemoryLeakTestL()
-	{
-	//
-	// Find the current number of leaked cells in ESock...
-	//
-	TInt  ret, startLeakCounter;
-	
-	ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, startLeakCounter);
-	if (ret == KErrNotFound)
-		{
-		// No variable to monitor, ESock is probably not in debug mode.
-		return;
-		}
-	else
-		{
-		TESTL(ret == KErrNone);
-		}
-
-	//
-	// Connect to Rootserver...
-	//
-	RRootServ  rootserver;
-
-	User::LeaveIfError(rootserver.Connect());
-	CleanupClosePushL(rootserver);
-
-	//
-	// Shutdown all the ESock CPMs gracefully...
-	//
-	TRSIter  iter;
-	TCFModuleName  modName;
-	TRSModuleInfo  modInfo;
-	TRequestStatus  statusArray[16];
-	TInt  statusCount = 0;
-
-	while (rootserver.EnumerateModules(iter, modName) == KErrNone)
-		{
-		if (rootserver.GetModuleInfo(modName, modInfo) == KErrNone  &&
-		    modInfo.iParams.iDll.MatchF(_L("*ESOCKSVR.DLL")) >= 0)
-			{
-			rootserver.UnloadCpm(statusArray[statusCount++], modInfo.iParams.iName,
-			                     EGraceful);
-			}
-		}
-
-	while (statusCount > 0)
-		{
-		statusCount--;
-		User::WaitForRequest(statusArray[statusCount]);
-		TEST(statusArray[statusCount] == KErrNone);
-		}
-
-	//
-	// Close Rootserver session...
-	//
-	CleanupStack::PopAndDestroy(1, &rootserver);
-	
-	//
-	// Get the latest number of leaked cells in ESock...
-	//
-	TInt  finalLeakCounter;
-
-	ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, finalLeakCounter);
-	TESTL(ret == KErrNone);
-
-	if (finalLeakCounter > startLeakCounter)
-		{
-		INFO_PRINTF1(_L("<font size=2 color=FF0000><B>A memory leak has been detected inside ESock - Check SMS Stack!</B></font>"));
-		TEST(finalLeakCounter == startLeakCounter);
-		}
-
-	//
-	// Restart C32...
-	//
-	_LIT(KDummyCMI, "");
-	WarmBootC32(KDummyCMI);
-	} // CSmsPrtStressTestStep::DoESockMemoryLeakTestL
-
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressbase.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressbase.h	Fri Apr 16 16:12:37 2010 +0300
@@ -13,69 +13,31 @@
 // Description:
 //
 
-#ifndef _TE_SMSPRTBASE_H_
-#define _TE_SMSPRTBASE_H_
-
-#include <testconfigfileparser.h>
-#include <test/testexecuteserverbase.h>
+#ifndef TE_SMSPRTBASE_H
+#define TE_SMSPRTBASE_H
 
-#include <e32test.h>
-#include <es_sock.h>
-#include <logwrap.h>
-#include "smsuact.h"
-#include "gsmubuf.h"
+//#include <connect/sbeclient.h>
+
+#include "smsstacktestutilities.h"
+#include "smsstackbaseteststeps.h"
 #include "Gsmumsg.h"
 #include "gsmuset.h"
-#include "smsuaddr.H"
+#include "gsmubuf.h"
 #include "smsustrm.h"
-#include <mmretrieve.h>
-#include <smsustrm.h>
-#include <mmlist.h>
-#include <simtsy.h>
 #include "smspdudb.h"
-#include "attributes.h"
-#include "smspproc.h"
-#include "smsstacktestutilities.h"
-#include <bacline.h>        // CCommandLineArguments
-#include <connect/sbeclient.h>
 
-using namespace conn;
-
-_LIT(KTSmsPrtStressConfigFileName, "tsmsprtStress_config.txt");
-_LIT(KSmsMsgStressTestReport, "tsmsprtStress_testreport.txt");
-_LIT8(KSmsCompInfo, "SMSPROT.PRT");
-_LIT(KGmsSmsConfigFileName,"setupgsmsms.txt");
-
-// Here are the section names
-_LIT8(KSetupTelNumbers,           "Defaults");
-
-// Here are the item names
-_LIT8(KServiceCenter,               "ServiceCenter");
-_LIT8(KTelefoneNumber,              "TelephoneNumber");
+//using namespace conn;
 
 const TInt KActiveReceiverPriority = CActive::EPriorityStandard;
-const TUint KSocketMessageSlots = 16;
 
-class CSmsPrtStressTestStep : public CTestStep
+class CSmsPrtStressTestStep : public CSmsBaseTestStep
 {
 public:
-	void PrepareRegTestLC(RSocketServ& aSocketServer, TInt aTestNumber) ;
-	void EndRegTest() ;
-	void InitGlobalsL();
-	void ParseSettingsFromFileL();
-	TBool DoGetCmdLineArguments(TDes& aCmdarg, const TDesC& aToFind, TDes& aCmd);
-	void GetCmdLineArguments();
-	TInt CommInit();
 	TVerdict doTestStepPreambleL();
 	TVerdict doTestStepPostambleL();
-	void DoESockMemoryLeakTestL();
+
 public:
-	RFs iFs;
-	CSmsStackTestUtils* iSmsStackTestUtils;
-	TSmsServiceCenterAddress iTelephoneNumber;
-	TSmsServiceCenterAddress iServiceCenterNumber;
-	CActiveScheduler*  iScheduler;
-	CSBEClient*  iSecureBackupEngine;
+//	CSBEClient*  iSecureBackupEngine;
 };
 
 #endif
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressserver.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressserver.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -18,12 +18,11 @@
 */
 
 #include "TE_smsprtstressserver.h"
+
 #include "TE_smsprtstress.h"
 
-
 _LIT(KServerName,"TE_SMSPRTSTRESS");
 
-
 CSmsPrtStressTestServer* CSmsPrtStressTestServer::NewL()
 /**
  *  @return - Instance of the test server
@@ -33,6 +32,8 @@
 	{
 	CSmsPrtStressTestServer * server = new (ELeave) CSmsPrtStressTestServer();
 	CleanupStack::PushL(server);
+	// CSmsStackTestServer intermediate base class call
+//	server->InitializeTsyAndPhonesL();
 	// CServer base class call
 	server->StartL(KServerName);
 	CleanupStack::Pop(server);
@@ -89,11 +90,7 @@
 	// the new could return NULL, but that is not a problem as it implies
 	// the test step is missing and this will be marked in the log file.
 	//
-	if (aStepName == _L("TestInit"))
-		{
-		testStep = new CTestInit ;
-		}
-	else if (aStepName == _L("TestRxAndRead"))
+	if (aStepName == _L("TestRxAndRead"))
 		{
 		testStep = new CTestRxAndRead ;
 		}
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressserver.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressserver.h	Fri Apr 16 16:12:37 2010 +0300
@@ -13,16 +13,16 @@
 // Description:
 //
 
-#if (!defined __TE_SMSPRTSTRESSSERVER_H__)
-#define __TE_SMSPRTSTRESSSERVER_H__
-#include "TE_smsprtstressbase.h"
-#include <test/testexecuteserverbase.h>
+#ifndef TE_SMSPRTSTRESSSERVER_H
+#define TE_SMSPRTSTRESSSERVER_H
 
-class CSmsPrtStressTestServer : public CTestServer
+#include "smsstackbasetestserver.h"
+
+class CSmsPrtStressTestServer : public CSmsStackTestServer
 	{
 public:
 	static CSmsPrtStressTestServer* NewL();
 	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
 	};
 
-#endif
+#endif // TE_SMSPRTSTRESSSERVER_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressutils.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/TE_smsprtstressutils.h	Fri Apr 16 16:12:37 2010 +0300
@@ -19,8 +19,8 @@
  @file
 */
 
-#ifndef __TE_SMSPRTSTRESSUTILS_H__
-#define __TE_SMSPRTSTRESSUTILS_H__
+#ifndef TE_SMSPRTSTRESSUTILS_H
+#define TE_SMSPRTSTRESSUTILS_H
 
 #include "TE_smsprtstressbase.h"
 
@@ -35,6 +35,7 @@
 	{
 public:
 	CTestSmsActiveBase(TInt aHowManyRequests);
+	
 protected:
 	RSocket iSocket;
 	TPckgBuf<TUint> iSbuf;
@@ -57,13 +58,12 @@
 public:
 	CTestSmsActiveStop(RPointerArray<CTestSmsActiveBase>& aTestSmsActives,TInt& aRet);
 	void StopTests(TInt aStatus);
+	
 private:
 	RPointerArray<CTestSmsActiveBase>& iTestSmsActives;
 	TInt& iRet;
 	};
 
-
-
 /*
 -------------------------------------------------------------------------------
 
@@ -82,10 +82,12 @@
 	void CreateSmsWithStatusReportReqL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, RFs& aFs) ;
 	~CTestSmsSendActive();
 	void StartL();
+	
 protected:
 	void DoCancel();
 	void RunL();
 	TInt RunError(TInt aError);
+	
 private:
 	void SendMessageL();
 	CSmsMessage* CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, RFs& aFs, CSmsPDU::TSmsPDUType aType = CSmsPDU::ESmsSubmit);
@@ -96,7 +98,6 @@
 	TSmsServiceCenterAddress iTelephoneNumber;
 	TSmsServiceCenterAddress iServiceCenterNumber;
 	CTestStep* iTestStep;
-
 	};
 
 /*
@@ -117,14 +118,17 @@
 	CTestSmsParametersActive(CTestSmsActiveStop& aTestSmsActiveStop,TInt aHowManyRequests, CSmsStackTestUtils* aSmsStackTestUtils, CTestStep* aTestStep);
 	~CTestSmsParametersActive();
 	void StartL();
+	
 protected:
 	void DoCancel();
 	void RunL();
 	TInt RunError(TInt aError);
+	
 private:
 	void StoreParametersL();
 	void RetrieveParameters();
 	void GetParametersL();
+	
 private:
 	enum TSmsDeleteAndEnumState
 		{
@@ -132,6 +136,7 @@
 		ESmsNextRetrieveParameters,
 		ESmsNextGetParameters
 		};
+	
 private:
 	TSmsDeleteAndEnumState iState;
 	CMobilePhoneSmspList* iStoreSmspList;
@@ -157,10 +162,12 @@
 	CTestSmsStorageActive(CTestSmsActiveStop& aTestSmsActiveStop,TInt aHowManyRequests, RFs& aFs, CTestStep* aTestStep);
 	~CTestSmsStorageActive();
 	void StartL();
+	
 protected:
 	void DoCancel();
 	void RunL();
 	TInt RunError(TInt aError);
+	
 private:
 	void WriteMessageL();
 	void DeleteMessageL();
@@ -168,6 +175,7 @@
 	void GetMessagesL();
 	CSmsMessage* CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, RFs& aFs, CSmsPDU::TSmsPDUType aType = CSmsPDU::ESmsSubmit);
 	void TestSmsListsL(RPointerArray<CSmsMessage>& aLeft,RPointerArray<CSmsMessage>& aRight) ;
+	
 private:
 	enum TSmsDeleteAndEnumState
 		{
@@ -176,6 +184,7 @@
 		ESmsNextGetMessages,
 		ESmsNextDeleteMessage
 		};
+	
 private:
 	CTestSmsActiveStop& iTestSmsActiveStop;
 	RPointerArray<CSmsMessage> iEnumeratedMessages;
@@ -205,21 +214,25 @@
 	CTestSmsReceiveActive(CTestSmsActiveStop& aTestSmsActiveStop,TInt aHowManyRequests, RFs& aFs, CTestStep* aTestStep);
 	~CTestSmsReceiveActive();
 	void StartL();
+	
 protected:
 	void DoCancel();
 	void RunL();
 	TInt RunError(TInt aError);
+	
 private:
 	void ReceiveMessage();
 	void GetMessagesL();
 	void PrintMessageL(const CSmsMessage* aSms);
 	TText8 IsCharDisplayable( const TText8 aChar );
+	
 private:
 	enum TSmsReceiveState
 		{
 		ESmsNextReceiveMessage,
 		ESmsNextGetMessage,
 		};
+	
 private:
 	TSmsReceiveState iState;
 	CTestSmsActiveStop& iTestSmsActiveStop;
@@ -228,4 +241,4 @@
 	CTestStep* iTestStep ;
 	};
 
-#endif  //__TE_SMSPRTSTRESSUTILS
+#endif  // TE_SMSPRTSTRESSUTILS_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/te_smsprtstress.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSPRTSTRESS/te_smsprtstress.script	Fri Apr 16 16:12:37 2010 +0300
@@ -16,18 +16,6 @@
 RUN_SCRIPT z:\TestData\Scripts\TE_smsprtstress_setup.script
 LOAD_SUITE te_smsprtstress
 
-//!@file
-START_TESTCASE SMS-SMSStack-NA-4000
-//!@SYMTestCaseID SMS-SMSStack-NA-4000
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Initialises the test
-//!@SYMTestPriority critical
-//!@SYMTestActions - Parses a config file to retreive phone numbers and initialises comms
-//!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code
-//!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsprtstress TestInit
-END_TESTCASE SMS-SMSStack-NA-4000
-
 START_TESTCASE SMS-SMSStack-NA-4001
 //!@SYMTestCaseID SMS-SMSStack-NA-4001
 //!@SYMREQ REQ0000
@@ -36,7 +24,7 @@
 //!@SYMTestActions Creates and then uses a CTestReceiveEnumerateMessages to Receive ansd read sms messages
 //!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code
 //!@SYMTestType CT
-RUN_TEST_STEP 100 te_smsprtstress TestRxAndRead
+RUN_TEST_STEP 100 te_smsprtstress TestRxAndRead z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber1
 END_TESTCASE SMS-SMSStack-NA-4001
 
 START_TESTCASE SMS-SMSStack-NA-4002
@@ -47,7 +35,7 @@
 //!@SYMTestActions Creates various active objects thewn starts them at same time
 //!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code
 //!@SYMTestType CT
-RUN_TEST_STEP 900 te_smsprtstress TestMultipleSimultaneousRequests
+RUN_TEST_STEP 900 te_smsprtstress TestMultipleSimultaneousRequests z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber2
 END_TESTCASE SMS-SMSStack-NA-4002
 
 START_TESTCASE SMS-SMSStack-NA-4003
@@ -58,7 +46,7 @@
 //!@SYMTestActions  Test Backup and restore under all conditions
 //!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code
 //!@SYMTestType CT
-RUN_TEST_STEP 900 te_smsprtstress TestSmsPrtBackup
+RUN_TEST_STEP 900 te_smsprtstress TestSmsPrtBackup z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber3
 END_TESTCASE SMS-SMSStack-NA-4003
 
 START_TESTCASE SMS-SMSStack-NA-4004
@@ -69,5 +57,5 @@
 //!@SYMTestActions Test Backup and restore when phone is powered off
 //!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code
 //!@SYMTestType CT
-RUN_TEST_STEP 900 te_smsprtstress TestSmsPrtBackupWhenPhoneIsOff
+RUN_TEST_STEP 900 te_smsprtstress TestSmsPrtBackupWhenPhoneIsOff z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber3
 END_TESTCASE SMS-SMSStack-NA-4004
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstor.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstor.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -13,21 +13,14 @@
 // Description:
 //
 
+#include "TE_smsstor.h"
+
 #include <bautils.h>
-#include "TE_smsstor.h"
+#include <smspproc.h>
+
 #include "gsmuieoperations.h"
-#include "smspclass0stor.h"
 #include "gsmunonieoperations.h"
 
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-
 TVerdict CSmsSegmentionStorePurge::doTestStepL()
 	{
 	_LIT(KSegmentationStoreFileName,"C:\\Private\\101FE442\\smssegst.dat");
@@ -303,6 +296,7 @@
 	// initialisation of the reassembly store
     iReassemblyStore=CSmsReassemblyStore::NewL(iFs);
 
+    // TODO: check if the correct file is opened (KReassemblyStoreName or KReassemblyStoreFileName)
     iReassemblyStore->OpenL(KReassemblyStoreName,KReassemblyStoreUid);
     iReassemblyStore->PurgeL(iSmsSettings.ReassemblyLifetime(), ETrue);
 
@@ -503,12 +497,12 @@
 
 /*  enum TSmsPDUType
         {
-        ESmsDeliver       = 0, //< Deliver, sent from SC to MS
-        ESmsDeliverReport = 1, //< Deliver report, sent from MS to SC
-        ESmsSubmit        = 2, //< Submit, sent from MS to SC
-        ESmsSubmitReport  = 3, //< Submit report, sent from SC to MS
-        ESmsStatusReport  = 4, //< Status report, sent from SC to MS
-        ESmsCommand       = 5  //< Command, sent from MS to SC
+        ESmsDeliver       = 0, ///< Deliver, sent from SC to MS
+        ESmsDeliverReport = 1, ///< Deliver report, sent from MS to SC
+        ESmsSubmit        = 2, ///< Submit, sent from MS to SC
+        ESmsSubmitReport  = 3, ///< Submit report, sent from SC to MS
+        ESmsStatusReport  = 4, ///< Status report, sent from SC to MS
+        ESmsCommand       = 5  ///< Command, sent from MS to SC
         };*/
 
 /*
@@ -564,7 +558,6 @@
     DoEncodePDUsL( 20, TSmsDataCodingScheme::ESmsAlphabet8Bit,CSmsPDU::ESmsCommand );
     DoEncodePDUsL( 20, TSmsDataCodingScheme::ESmsAlphabetUCS2,CSmsPDU::ESmsCommand );
 
-
 /*
     CleanupStack::PopAndDestroy(); //socket
     ss.Close();
@@ -2913,7 +2906,7 @@
 	return KErrNone;
 	};
 
-void CTestMSmsComm2::DeletePDUs(const CArrayFix<TGsmSmsSlotEntry>& /*aSlotArray*/,MSmsMessageObserver* /*aObserver*/)
+void CTestMSmsComm2::DeletePDUs(const CArrayFix<TGsmSmsSlotEntry>& /*aSlotArray*/, MSmsMessageObserver* /*aObserver*/)
 	{
 	
 	}
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstor.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstor.h	Fri Apr 16 16:12:37 2010 +0300
@@ -134,7 +134,7 @@
 public:
 	//Implementation of MSmsComm
 	TInt ProcessMessageL(const CSmsMessage& aSmsMessage,const TSmsAddr* aOriginalSmsAddr,const CSmsMessage* aOriginalSmsMessage,TDes& aDes);
-	void DeletePDUs(const CArrayFix<TGsmSmsSlotEntry>& aSlotArray,MSmsMessageObserver* aObserver);
+	void DeletePDUs(const CArrayFix<TGsmSmsSlotEntry>& aSlotArray, MSmsMessageObserver* aObserver);
 	void MessageSendCompleted(TInt aStatus);
 	void ModemNotificationCompleted(TInt aStatus,RPhone::TModemDetection aState);
 	void PhoneEnumerationCompleted(TInt aStatus);
@@ -262,13 +262,13 @@
 		return EFalse;
 		};
 
-	virtual const RMobilePhone::TMobilePhoneNetworkInfoV1& NetworkInfo()const
-		{
-		User::Invariant();
-		return iDummyNetworkInfoV1;
-		};
-
-	virtual TBool NetworkInfoAvailable()const
+    virtual const RMobilePhone::TMobilePhoneNetworkInfoV1& NetworkInfo()const
+        {
+        User::Invariant();
+        return iDummyNetworkInfoV1;
+        };
+    
+    virtual TBool NetworkInfoAvailable()const
 		{
 		User::Invariant();
 		return EFalse;
@@ -280,10 +280,10 @@
 		return EFalse;
 		};
 
-	virtual void DiskSpaceMonitorStateChange(TSmsDiskSpaceMonitorStatus /*aStatus*/)
-		{
-		User::Invariant();
-		};
+    virtual void DiskSpaceMonitorStateChange(TSmsDiskSpaceMonitorStatus /*aStatus*/)
+        {
+        User::Invariant();
+        };
 
 private:
 	RMobilePhone::TMobilePhoneNetworkInfoV1  iDummyNetworkInfoV1;
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstorbase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstorbase.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -14,19 +14,9 @@
 //
 
 #include "TE_smsstorbase.h"
+
 #include "TE_smsstor.h"
 
-
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define PDD_NAME2 _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-
 TVerdict CSmsStorTestStep::doTestStepPreambleL()
 	{
 	__UHEAP_MARK;
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstorbase.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/TE_smsstorbase.h	Fri Apr 16 16:12:37 2010 +0300
@@ -16,24 +16,20 @@
 #ifndef _TE_SMSSTORBASE_H_
 #define _TE_SMSSTORBASE_H_
 
+#include <testconfigfileparser.h>
+#include <test/testexecuteserverbase.h>
+#include <logwrap.h>
+#include <es_sock.h>
+
 #include "gsmubuf.h"
 #include "Gsmumsg.h"
 #include "gsmuset.h"
 #include "smsuset.h"
 #include "testconfigfileparser.h"
-
-#include <es_sock.h>
 #include "smsuaddr.H"
 #include "smsustrm.h"
-
 #include "smsprot.h"
 
-#include <logwrap.h>
-
-#include <testconfigfileparser.h>
-#include <test/testexecuteserverbase.h>
-
-
 const TInt KMaxNumberOfCharsFor7BitSms = 160;
 
 class CSmsStorTestStep : public CTestStep
--- a/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/te_smsstor.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_SMSSTOR/te_smsstor.script	Fri Apr 16 16:12:37 2010 +0300
@@ -90,7 +90,7 @@
 START_TESTCASE SMS-SMSSTACK-SMSSTOR-1006
 //!@SYMTestCaseID SMS-SMSSTACK-SMSSTOR-1006
 //!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Internalize Externalize SMS
+//!@SYMTestCaseDesc Test Internaliz eExternalize SMS
 //!@SYMTestPriority critical
 //!@SYMTestActions Test Internalize Externalize SMS
 //!@SYMTestExpectedResults Pass
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SIMTSYTestNumbers.ini	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-//This is a test resource file.  It is used to house SIM TSY test numbers.  They are put here so they can be reused
-[TestNumber1]
-testNumber=1
-
-[TestNumber2]
-testNumber=2
-
-[TestNumber3]
-testNumber=3
-
-[TestNumber4]
-testNumber=4
-
-[TestNumber5]
-testNumber=5
-
-[TestNumber6]
-testNumber=6
-
-[TestNumber7]
-testNumber=7
-
-[TestNumber8]
-testNumber=8
-
-[TestNumber9]
-testNumber=9
-
-[TestNumber10]
-testNumber=10
-
-[TestNumber11]
-testNumber=11
-
-[TestNumber12]
-testNumber=12
-
-[TestNumber13]
-testNumber=13
-
-[TestNumber14]
-testNumber=14
-
-[TestNumber15]
-testNumber=15
-
-[TestNumber16]
-testNumber=16
-
-[TestNumber17]
-testNumber=17
-
-[TestNumber25]
-testNumber=25
-
-[TestNumber26]
-testNumber=26
-
-[TestNumber27]
-testNumber=27
-
-[TestNumber28]
-testNumber=28
-
-[TestNumber29]
-testNumber=29
-
-[TestNumber30]
-testNumber=30
-
-[TestNumber31]
-testNumber=31
-
-[TestNumber32]
-testNumber=32
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SMSOutOfDiskSpace.ini	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SMSOutOfDiskSpace.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -11,9 +11,9 @@
 //Disk Space Monitor
 [DiskMonitorLimits]
 //4Mb		
-highDrop = 4
+highDrop = 3
 //10Mb
-lowDrop = 10
+lowDrop = 8
 
 [DiskSpaceBelowLowLimit]
 freeDrop = 11
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SMSStackOutOfDiskSpace.txt	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/SMSStackOutOfDiskSpace.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -1,5 +1,7 @@
 #	SIM TSY config file for simulating behaviour of TSY for "SMS Out Of Disk Space" Condition
 #
+[test0]
+
 [test1]
 # class 0, 8 bit
 SmsRx= 240C915348801455820014108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
@@ -9,11 +11,11 @@
 //Wait 3 seconds for smsstack to process the received PDUs - This give it time before the second message is sent.
 SmsTxPause=5
 SmsStartRxDelay= 4207, 1, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824110103060019153009F050003000301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA29701, 358405202000
 
 SmsStartRxDelay= 4207, 2, 2
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824110103060019193009F050003000302E674D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B501, 358405202000
 SmsRx= 440C9153488014558241101030600191340077050003000303CAF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681A8E832A8E826BB00, 358405202000
 
@@ -21,21 +23,21 @@
 [test2]
 #Multiple PDU message
 SmsStartRxDelay= 4207, 1, 3
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558241F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 SmsRx= 440C9153488014558241F4108071417314801A0500030B03024920616D20746865205345434F4E442050445520, 358405202000
 SmsRx= 440C9153488014558241F410807141731480180500030B03034920616D2074686520544849524420504455, 358405202000
 
 [test4]
 SmsStartRxDelay= 4207, 1, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480180500030B03014920616D2074686520464952535420504455, 358405202000
 
 
 [test5]
 SmsRxPeriod=1
 SmsStartRxDelay= 4207, 1, 10
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
 SmsRx= 440C915348801455824114108071417314801E050003010301546869732069732074657374206D6573736167652054574F, 358405202000
 SmsRx= 440C9153488014558241141080714173148020050003020301546869732069732074657374206D657373616765205448524540, 358405202000
@@ -48,15 +50,15 @@
 SmsRx= 440C915348801455824114108071417314801E050003090301546869732069732074657374206D6573736167652054454E, 358405202000
 
 SmsStartRxDelay= 4207, 2, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 240C915348801455820014108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
 
 SmsStartRxDelay= 4207, 3, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C91534880145582411410807141731480210500030A0301546869732069732074657374206D65737361676520454C4556454E, 358405202000
 
 SmsStartRxDelay= 4207, 4, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C91534880145582411410807141731480210500030B0301546869732069732074657374206D65737361676520454C4556454E, 358405202000
 
 
@@ -69,78 +71,79 @@
 SmsRx= 240C915348801455824015108071417314801254797065203020536D73206D657373616765, 358405202000
 [test8]
 SmsStartRxDelay= 4207, 1, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
+
 SmsRx= 440C915348801455820014108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
 
 SmsStartRxDelay= 4207, 2, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx= 15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 240C915348801455820014108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
 
 [test9]
 SmsStartRxDelay= 4207, 1, 2 
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 SmsRx= 440C9153488014558200F4108071417314801A0500030B03024920616D20746865205345434F4E442050445520, 358405202000
 [test13]
 SmsStartRxDelay= 4207, 1, 1 
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480180500030B03034920616D2074686520544849524420504455, 358405202000
 
 [test10]
 SmsStartRxDelay= 4207, 1, 1 
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 SmsStartRxDelay= 4207, 2, 1 
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F4108071417314801A0500030B03024920616D20746865205345434F4E442050445520, 358405202000
 SmsStartRxDelay= 4207, 3, 1 
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480180500030B03034920616D2074686520544849524420504455, 358405202000
 
 [test11]
 SmsStartRxDelay= 4207, 1, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 SmsStartRxDelay= 4207, 2, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F4108071417314801A0500030B03024920616D20746865205345434F4E442050445520, 358405202000
 
 
 [test12]
 SmsStartRxDelay= 4207, 1, 2
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 SmsRx= 440C9153488014558200F410807141731480190500030B03024920616D20746865205345434F4E4420504455, 358405202000
 [test14]
 SmsStartRxDelay= 4207, 1, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480180500030B03034920616D2074686520544849524420504455, 358405202000
 
 
 [test15]
 SmsStartRxDelay= 4207, 1, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 
 SmsStartRxDelay= 4207, 2, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 2, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 2, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03024920616D20746865205345434F4E4420504455, 358405202000
 
 SmsStartRxDelay= 4207, 3, 3
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455820014108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
 SmsRx= 440C915348801455820014108071417314801E050003010301546869732069732074657374206D6573736167652054574F, 358405202000
 SmsRx= 440C9153488014558200141080714173148020050003020301546869732069732074657374206D657373616765205448524540, 358405202000
 
 SmsStartRxDelay= 4207, 4, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200141080714173148020050003120301546869732069732074657374206D65737361676520534556454E, 358405202000
 
 
 [test16]
 SmsStartRxDelay= 4207, 1, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
 SmsRx= 440C915348801455824114108071417314801E050003010301546869732069732074657374206D6573736167652054574F, 358405202000
 SmsRx= 440C9153488014558241141080714173148020050003020301546869732069732074657374206D657373616765205448524540, 358405202000
@@ -165,45 +168,65 @@
 
 [test27]
 SmsRxPeriod=1
-SmsStartRxDelay= 4207, 1, 4
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsStartRxDelay= 4207, 1, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
+
 SmsRx= 440C915348801455824114108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
+
+SmsStartRxDelay= 4207, 2, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801E050003010301546869732069732074657374206D6573736167652054574F, 358405202000
+
+SmsStartRxDelay= 4207, 3, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558241141080714173148020050003020301546869732069732074657374206D657373616765205448524540, 358405202000
+
+SmsStartRxDelay= 4207, 4, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801F050003030301546869732069732074657374206D65737361676520464F5552, 358405202000
 
-SmsStartRxDelay= 4207, 2, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsStartRxDelay= 4207, 5, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801F050003040301546869732069732074657374206D6573736167652046495645, 358405202000
 
 [test28]
 #Fill the preallocation file
-SmsStartRxDelay= 4207, 1, 4
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsStartRxDelay= 4207, 1, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
+
+SmsStartRxDelay= 4207, 2, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801E050003010301546869732069732074657374206D6573736167652054574F, 358405202000
+
+SmsStartRxDelay= 4207, 3, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558241141080714173148020050003020301546869732069732074657374206D657373616765205448524540, 358405202000
+
+SmsStartRxDelay= 4207, 4, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801F050003030301546869732069732074657374206D65737361676520464F5552, 358405202000
 
 #Receive first PDU when disk space available
-SmsStartRxDelay= 4207, 2, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsStartRxDelay= 4207, 5, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 
 #Receive second PDU in OOD
-SmsStartRxDelay= 4207, 3, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsStartRxDelay= 4207, 6, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F4108071417314801A0500030B03024920616D20746865205345434F4E442050445520, 358405202000
 
 #Receive third PDU when disk space available
-SmsStartRxDelay= 4207, 4, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsStartRxDelay= 4207, 7, 1
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480180500030B03034920616D2074686520544849524420504455, 358405202000
 
+
 [test29]
 #Fill the preallocation file
 SmsStartRxDelay= 4207, 1, 4
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
 SmsRx= 440C915348801455824114108071417314801E050003010301546869732069732074657374206D6573736167652054574F, 358405202000
 SmsRx= 440C9153488014558241141080714173148020050003020301546869732069732074657374206D657373616765205448524540, 358405202000
@@ -211,23 +234,23 @@
 
 #Receive first PDU in OOD
 SmsStartRxDelay= 4207, 2, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 
 #Receive second PDU in OOD
 SmsStartRxDelay= 4207, 3, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F4108071417314801A0500030B03024920616D20746865205345434F4E442050445520, 358405202000
 
 #Receive third PDU in OOD
 SmsStartRxDelay= 4207, 4, 1
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480180500030B03034920616D2074686520544849524420504455, 358405202000
 
 [test30]
 SmsRxPeriod=5
 SmsStartRxDelay= 4207, 1, 10
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 # class 0, 8 bit
 SmsRx= 240C915348801455820014108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
 SmsRx= 240C915348801455820014108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
@@ -244,14 +267,14 @@
 [test31]
 SmsRxPeriod=2
 SmsStartRxDelay= 4207, 1, 3
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C9153488014558200F410807141731480190500030B03014920616D207468652046495253542050445520, 358405202000
 SmsRx= 440C9153488014558200F4108071417314801A0500030B03024920616D20746865205345434F4E442050445520, 358405202000
 SmsRx= 440C9153488014558200F410807141731480180500030B03034920616D2074686520544849524420504455, 358405202000
 
 [test32]
 SmsStartRxDelay= 4207, 1, 5
-SmsTx= 150000810004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +358405202000, 1, 010010807141731480, 0
+SmsTx=15000C914477746085520004A71E74657374206D6573736167652C2038626974732C206C656E677468203330, +447785016005, 1, 010010807141731480, 0
 SmsRx= 440C915348801455824114108071417314801E050003000301546869732069732074657374206D657373616765204F4E45, 358405202000
 SmsRx= 440C915348801455824114108071417314801E050003010301546869732069732074657374206D6573736167652054574F, 358405202000
 SmsRx= 440C9153488014558241141080714173148020050003020301546869732069732074657374206D657373616765205448524540, 358405202000
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_CloseSMSProtocol.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_CloseSMSProtocol.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -27,7 +27,7 @@
 	@param aSocket is the sub-session handle
 */
 	{
-	iSocketServer = &aSocketServer;
+    iSharedSocketServer = &aSocketServer;
 	}
 
 /**
@@ -36,10 +36,10 @@
 TVerdict CCloseSMSProtocol::doTestStepL()
 	{	
 	//Close session
-	if(iSocketServer)
-		{
-		iSocketServer->Close();	
-		}
+    if( iSharedSocketServer != NULL )
+        {
+        iSharedSocketServer->Close(); 
+        }
 
 #ifdef _DEBUG	
 	TInt err = RProperty::Delete(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey);
@@ -51,11 +51,3 @@
 	
 	return TestStepResult();
 	}
-//-----------------------------------------------------------------------------
-
-
-
-
-
-
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DeleteSARStores.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DeleteSARStores.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -19,6 +19,13 @@
 
 #include "Te_SmsTestSteps.h"
 
+
+CDeleteSARStores::CDeleteSARStores()
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
+
+
 /**
 	Deletes the SMS and WAP segmentation and reassembly stores
 */
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DiskSpaceMonitor.ini	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DiskSpaceMonitor.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -25,7 +25,6 @@
 
 
 [DiskSpaceInMidRange]
-testNumber =131
 //7Mb
 freeDrop = 7
 
@@ -34,7 +33,6 @@
 freeDrop = 2
 
 [DiskSpaceBelowMidRange]
-testNumber =132
 //11Mb
 freeDrop = 11
 
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_DoESockMemoryLeakTest.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <cfshared.h>
-#include <c32root.h>
-
-#include "Te_SmsTestSteps.h"
-
-/**
-	Test for any leaks in ESOCK
-	The socket server must be closed down before this step is run, or no clients must be connected to esock
-	when running this test step.
-*/
-TVerdict CESockMemoryLeakTest::doTestStepL()
-	{
-	//
-	// Find the current number of leaked cells in ESock...
-	//
-	TInt  ret, startLeakCounter;
-	
-	ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, startLeakCounter);
-	if (ret == KErrNotFound)
-		{
-		// No variable to monitor, ESock is probably not in debug mode.
-		INFO_PRINTF1(_L("<font size=2 color=00FFCC><B>ESock is probably not in debug mode.</B></font>"));		
-		return EPass;
-		}
-	else
-		{
-		TESTL(ret == KErrNone);
-		}
-
-	//
-	// Connect to Rootserver...
-	//
-	RRootServ  rootserver;
-
-	User::LeaveIfError(rootserver.Connect());
-	CleanupClosePushL(rootserver);
-
-	//
-	// Shutdown all the ESock CPMs gracefully...
-	//
-	TRSIter  iter;
-	TCFModuleName  modName;
-	TRSModuleInfo  modInfo;
-	TRequestStatus  statusArray[16];
-	TInt  statusCount = 0;
-
-	while (rootserver.EnumerateModules(iter, modName) == KErrNone)
-		{
-		if (rootserver.GetModuleInfo(modName, modInfo) == KErrNone  &&
-		    modInfo.iParams.iDll.MatchF(_L("*ESOCKSVR.DLL")) >= 0)
-			{
-			rootserver.UnloadCpm(statusArray[statusCount++], modInfo.iParams.iName,
-			                     EGraceful);
-			}
-		}
-
-	while (statusCount > 0)
-		{
-		statusCount--;
-		User::WaitForRequest(statusArray[statusCount]);
-		TEST(statusArray[statusCount] == KErrNone);
-		}
-
-	//
-	// Close Rootserver session...
-	//
-	CleanupStack::PopAndDestroy(1, &rootserver);
-	
-	//
-	// Get the latest number of leaked cells in ESock...
-	//
-	TInt  finalLeakCounter;
-
-	ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, finalLeakCounter);
-	TESTL(ret == KErrNone);
-
-	if (finalLeakCounter > startLeakCounter)
-		{
-		INFO_PRINTF1(_L("<font size=2 color=FF0000><B>A memory leak has been detected inside ESock - Check SMS Stack!</B></font>"));
-		TEST(finalLeakCounter == startLeakCounter);
-		}
-
-	//
-	// Restart C32...
-	//
-	_LIT(KDummyCMI, "");
-	WarmBootC32(KDummyCMI);
-	
-	return TestStepResult();
-	} // CSmsPrtTestStep::DoESockMemoryLeakTestL
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_EnumerateInOODCondition.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_EnumerateInOODCondition.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -24,25 +24,24 @@
 	Each test step initialises it's own name
 */
 	{
-	iSocketServer = &aSocketServer;
+    iSharedSocketServer = &aSocketServer;
+    iPartOfMultiStepTestCase = ETrue;
 	}
 
 /**
   Enumerates SIM messages.
-		*/
+ */
 TVerdict CEnumerateInOODCondition::doTestStepL()
 	{
 #ifndef _DEBUG
     INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
 #else   
 	
-	//PrepareRegTestLC(*iSocketServer, 17);
+	//Open a socket 
+	RSocket socket;
+	OpenSmsSocketL(*iSharedSocketServer, socket, ESmsAddrRecvAny);
+    CleanupClosePushL(socket);
 	
-	//Open a socket 
-	INFO_PRINTF1(_L("Opening socket..."));
-	RSocket socket;
-	OpenSmsSocketL(*iSocketServer, socket, ESmsAddrRecvAny);
-
 	TRequestStatus status;
 	TPckgBuf<TUint> sbuf;
 	sbuf()=0;
@@ -50,21 +49,9 @@
 	//Now enumerate messages from store
 	socket.Ioctl(KIoctlEnumerateSmsMessages,status,&sbuf, KSolSmsProv);
 	User::WaitForRequest(status);
+	TESTCHECK(status.Int(), KErrDiskFull, "Checking the Enumeration was unsuccessful due to the disk being full");
 	
-	//The Enumeration should fail due to the disk being full and returns KErrDiskFull
-	if(status==KErrDiskFull)
-		{
-		INFO_PRINTF1(_L("Status = KErrDiskFull"));
-		}
-	else
-		{
-		TEST(EFalse);
-		}
-	
-	socket.Close();
+    CleanupStack::PopAndDestroy(&socket);
 #endif		
 	return TestStepResult();
 	}
-//----------------------------------------------------------------------------->
-
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_FreeDiskSpace.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_FreeDiskSpace.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,6 +16,10 @@
 
 #include "TE_smsmondsk.h"
 
+CFreeDiskSpace::CFreeDiskSpace()
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
 
 /**
 	Free up disk space by deleting the temp files created
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_LoadSMSProtocol.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_LoadSMSProtocol.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -20,31 +20,26 @@
 #include <smspver.h>
 #include "Te_SmsTestSteps.h"
 
+#include "smsstacktestconsts.h"
+
 CLoadSMSProtocol::CLoadSMSProtocol(RSocketServ &aSocketServer)
 /** Each test step initialises it's own name
 */
 	{
-	iSocketServer = &aSocketServer;
+    iSharedSocketServer = &aSocketServer;
+	iPartOfMultiStepTestCase = ETrue;
 	}
 
 /** 
 	This step is required before using the SMS stack.
-	It connects with the socket server, opens a socket subsession AND powers-up the phones using
-	interface to  Etel.
+	It connects with the socket server and opens a socket subsession.
 */
 TVerdict CLoadSMSProtocol::doTestStepL()
-	{	
-	TInt testNumber;
-	GetIntFromConfig(ConfigSection(), _L("testNumber"), testNumber);
-	INFO_PRINTF2(_L("Setting test number, %d"),testNumber );
-	SetSimTSYTestNumberL(testNumber);
-		
-	WaitForInitializeL();
+	{		
+	INFO_PRINTF1(_L("Connecting to SocketServer"));
+	TInt ret=iSharedSocketServer->Connect(KSocketMessageSlots);
+	TEST(ret == KErrNone);
 	
-	INFO_PRINTF1(_L("Connecting to SocketServer"));
-	TInt ret=iSocketServer->Connect(KSocketMessageSlots);
-	TEST(ret == KErrNone);
-
 #ifdef _DEBUG	
     TInt err = RProperty::Define(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, RProperty::EInt);
     if ((err != KErrNone) && (err != KErrAlreadyExists))    
@@ -53,9 +48,5 @@
         User::Leave(err);
         }
 #endif	
-		
 	return TestStepResult();
 	}
-	
-	
-	
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_ReceiveSMS.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_ReceiveSMS.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -24,7 +24,8 @@
 	Each test step initialises it's own name
 */
 	{
-	iSocketServer = &aSocketServer;
+    iSharedSocketServer = &aSocketServer;
+	iPartOfMultiStepTestCase = ETrue;
 	}
 
 /**
@@ -35,26 +36,14 @@
 #ifndef _DEBUG
     INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
 #else   
-
-	//Read from the INI file.  
+	//Read from the INI file
 	TInt timeout=10;
 	GetIntFromConfig(ConfigSection(), _L("timeout"), timeout);
 	
-	
-	TBool isThisADiskSpaceMonitorTest;
-	GetBoolFromConfig(_L("DiskSpaceMonitor"), _L("diskSpaceMonitor"), isThisADiskSpaceMonitorTest);
-	TBool isClientExpectingMessage;
-	GetBoolFromConfig(ConfigSection(), _L("isClientExpectingMessage"), isClientExpectingMessage);
+	TBool messageExpected;
+	GetBoolFromConfig(ConfigSection(), _L("isClientExpectingMessage"), messageExpected);
 	
-	//Disk SpaceMonitor tests are only run in DEBUG builds
-	if(isThisADiskSpaceMonitorTest)
-		{
-#ifndef _DEBUG
-		return TestStepResult();
-#endif
-		}
-	
-	if( isClientExpectingMessage && timeout < 40 )
+	if( messageExpected && timeout < 40 )
 		{
 		// Change timeout to be 40 seconds
 		timeout = 40;
@@ -63,57 +52,50 @@
 	INFO_PRINTF1(_L("Receiving SMS message..."));
 
 	//Open the socket for receiving messages
-	INFO_PRINTF1(_L("Opening socket and loading SMS Protocol"));
 	RSocket socket;
-	OpenSmsSocketL(*iSocketServer, socket, ESmsAddrRecvAny);
+	OpenSmsSocketL(*iSharedSocketServer, socket, ESmsAddrRecvAny);
+	CleanupClosePushL(socket);
 
 	//Message must be received in "timeout" else the test will fail	
 	INFO_PRINTF2(_L("Wait for message (timeout: %d)..."), timeout);
 	TBool messageReceived = TimedWaitForRecvL(socket, timeout*1000000);
 	
-	if(messageReceived)
-		{
-		INFO_PRINTF1(_L("Message received!"));		
-		}
-	
-	//Set the result to "fail" if no message is received in the specified time
-	if(messageReceived && isClientExpectingMessage )
-		{
-		CSmsMessage *smsMessage=RecvSmsL(socket);	//Get the message from the STACK.
-		CleanupStack::PushL(smsMessage);
-		
-		//Get the text from the ini file
-		TPtrC messageText;
-		GetStringFromConfig(ConfigSection(), _L("messageExpected"), messageText);
+    if( !messageReceived )
+        {
+        if( messageExpected )
+            {
+            ERR_PRINTF1(_L("Message expected - not received!"));  
+            TEST(EFalse);
+            }
+        else
+            {
+            INFO_PRINTF1(_L("No message expected and not received"));  
+            }
+        }
+    else
+        {
+        CSmsMessage* smsMessage = RecvSmsL(socket);   //Get the message from the STACK.
+        CleanupStack::PushL(smsMessage);
+        
+        if( !messageExpected )
+            {
+            ERR_PRINTF1(_L("Message not expected!"));  
+            TEST(EFalse);
+            }
+        else
+            {
+            //Get the text from the ini file
+            TPtrC messageText;
+            GetStringFromConfig(ConfigSection(), _L("messageExpected"), messageText);
 
-		if(messageText!=_L(""))
-			{
-			TestSmsContentsL(smsMessage,messageText);
-			}
-		
-		CleanupStack::PopAndDestroy(smsMessage);
-		}
-		
-	else if((!messageReceived  &&  isClientExpectingMessage) ||
-		    (messageReceived  &&  !isClientExpectingMessage))
-		{
-		if( !messageReceived  &&  isClientExpectingMessage )
-			{
-			INFO_PRINTF1(_L("Message expected - not received"));
-			}
-		TEST(EFalse);
-		}
-		
-	socket.Close();
+            if(messageText!=_L(""))
+                {
+                TestSmsContentsL(smsMessage,messageText);
+                }
+            }
+        CleanupStack::PopAndDestroy(smsMessage);
+        }
+	CleanupStack::PopAndDestroy(&socket);
 #endif
 	return TestStepResult();
 	}
-	
-//-----------------------------------------------------------------------------
-
-
-
-
-
-
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SendReceiveSMSWhileServerInOOM.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SendReceiveSMSWhileServerInOOM.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -26,7 +26,8 @@
 	Each test step initialises it's own name
 */
 	{
-	iSocketServer = &aSocketServer;
+    iSharedSocketServer = &aSocketServer;
+	iPartOfMultiStepTestCase = ETrue;
 	}
 
 /**
@@ -41,32 +42,31 @@
 	TInt timeout=10;
 	GetIntFromConfig(ConfigSection(), _L("timeout"), timeout);
 	
-	
 	//Open the socket for sending messages
 	RSocket socket;
-	INFO_PRINTF1(_L("Opening socket and loading SMS Protocol"));
-	OpenSmsSocketL(*iSocketServer, socket, ESmsAddrSendOnly);
+	OpenSmsSocketL(*iSharedSocketServer, socket, ESmsAddrSendOnly);
+	CleanupClosePushL(socket);
 	
 	//Create SMS
-	CSmsMessage* iSms=CreateSMSL();
-	CleanupStack::PushL(iSms);
+	CSmsMessage* sms=CreateSMSL();
+	CleanupStack::PushL(sms);
 
 	TBool isClientExpectingMessage;
 	GetBoolFromConfig(ConfigSection(), _L("isClientExpectingMessage"), isClientExpectingMessage);
 
 	INFO_PRINTF1(_L("Sending SMS...") );
-	PrintMessageL(iSms);
+	PrintMessageL(sms);
 			
 	//Send SMS
-	SendSmsL(iSms,socket);
-	CleanupStack::PopAndDestroy(iSms);
-	socket.Close();
+	SendSmsL(sms,socket);
+	CleanupStack::PopAndDestroy(sms);
+	CleanupStack::PopAndDestroy(&socket);
 	
 	//Open the socket for receiving messages
-	INFO_PRINTF1(_L("Opening socket and loading SMS Protocol"));
 	RSocket recSocket;
-	OpenSmsSocketL(*iSocketServer, recSocket, ESmsAddrRecvAny);
-
+	OpenSmsSocketL(*iSharedSocketServer, recSocket, ESmsAddrRecvAny);
+	CleanupClosePushL(recSocket);
+	
 	//Receive
 	TInt allocFailCount=0;
 	TInt ret=KErrNoMemory;
@@ -82,13 +82,13 @@
 			{
 			INFO_PRINTF1(_L("Message received!"));
 			
-			iSocketServer->__DbgMarkHeap();
-			iSocketServer->__DbgFailNext(allocFailCount);
+			iSharedSocketServer->__DbgMarkHeap();
+			iSharedSocketServer->__DbgFailNext(allocFailCount);
 			
 			CSmsMessage *iSmsMessage=NULL;
 			
 			TRAP(ret,iSmsMessage=RecvSmsL(recSocket));	//Get the message from the STACK.
-			iSocketServer->__DbgMarkEnd(0);			
+			iSharedSocketServer->__DbgMarkEnd(0);			
 
 			//If a message was retrieved successfully.
 			if(ret==KErrNone)
@@ -105,19 +105,15 @@
 					{
 					TestSmsContentsL(iSmsMessage,messageText);
 					}
-				
 				CleanupStack::PopAndDestroy(iSmsMessage);
 				}
-		
-			allocFailCount++;
+			++allocFailCount;
 			}
-		
 		}
 
-	recSocket.Close();
-	iSocketServer->__DbgFailNext(-1); // Reset heap
+	CleanupStack::PopAndDestroy(&recSocket);
+	iSharedSocketServer->__DbgFailNext(-1); // Reset heap
 #endif	
 	return TestStepResult();
 	}
 
-//-------------------------------------------------------------------------------------
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SendSMS.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SendSMS.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -24,7 +24,8 @@
 	Each test step initialises it's own name
 */
 	{
-	iSocketServer = &aSocketServer;
+    iSharedSocketServer = &aSocketServer;
+	iPartOfMultiStepTestCase = ETrue;
 	}
 
 /**
@@ -34,38 +35,28 @@
 	{
 #ifndef _DEBUG
     INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
-#else   	
+#else
 	//Open the socket for sending messages
 	RSocket socket;
-	INFO_PRINTF1(_L("Opening socket and loading SMS Protocol"));
-	OpenSmsSocketL(*iSocketServer, socket, ESmsAddrSendOnly);
-	
+	OpenSmsSocketL(*iSharedSocketServer, socket, ESmsAddrSendOnly);
+    CleanupClosePushL(socket);
+    
 	//Create SMS
-	CSmsMessage* iSms=CreateSMSL();
-	CleanupStack::PushL(iSms);
+	CSmsMessage* sms=CreateSMSL();
+    CleanupStack::PushL(sms);
 
-	if( iSms )
+	if( sms )
 		{
-		INFO_PRINTF1(_L("Sending SMS...") );
-		PrintMessageL(iSms);
-		SendSmsL(iSms,socket);				
+		SendSmsL(sms,socket);				
 		}
 	else
 		{
-		INFO_PRINTF1(_L("Error creating SMS.") );
-		TEST(EFalse);
+		INFO_PRINTF1(_L("Error creating SMS") );
+		SetTestStepResult(EFail);
 		}
-	
-	CleanupStack::PopAndDestroy(iSms);
-	socket.Close();
+
+    CleanupStack::PopAndDestroy(sms);
+	CleanupStack::PopAndDestroy(&socket);
 #endif	
 	return TestStepResult();
 	}
-//-----------------------------------------------------------------------------
-
-
-
-
-
-
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SetDiskSpace.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SetDiskSpace.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -15,6 +15,10 @@
 
 #include "TE_smsmondsk.h"
 
+CSetDiskSpace::CSetDiskSpace()
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
 
 /**
  *  Set free disk space to the required limit
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SetDiskSpaceMonitorLimits.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_SetDiskSpaceMonitorLimits.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,17 +16,24 @@
 
 #include "TE_smsmondsk.h"
 
+CSetDiskMonitorLimits::CSetDiskMonitorLimits()
+/** 
+    Each test step initialises it's own name
+*/
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
+
 enum TVerdict CSetDiskMonitorLimits::doTestStepL()
 /**
 	Creates smsu.rsc file which defines the upper and lower limits for the disk space monitor
 */
-
     {
 #ifndef _DEBUG
     INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
 #else    
-    TInt highDrop = 4;
-    TInt lowDrop = 10;
+    TInt highDrop = 3;
+    TInt lowDrop  = 8;
     TInt freeDrop = 0;
    
     GetIntFromConfig(_L("DiskMonitorLimits"), _L("highDrop"), highDrop);
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsmondsk.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsmondsk.h	Fri Apr 16 16:12:37 2010 +0300
@@ -13,37 +13,30 @@
 // Description:
 //
 
-#ifndef __TE_SMSMONDSK_H_
-#define __TE_SMSMONDSK_H_
+#ifndef TE_SMSMONDSK_H
+#define TE_SMSMONDSK_H
 
 #include "Te_SmsTestSteps.h"
 
-/**
- 
- */
-class CSetDiskMonitorLimits : public CSMSTestSteps
+class CSetDiskMonitorLimits : public CSmsBaseTestStep
 	{
 public:
-	virtual enum TVerdict doTestStepL();	
+    CSetDiskMonitorLimits();
+	virtual TVerdict doTestStepL();	
 	};
 
-/**
- 
- */
-class CSetDiskSpace : public CSMSTestSteps
+class CSetDiskSpace : public CSmsBaseTestStep
 	{
 public:
-	virtual enum TVerdict doTestStepL();	
+	CSetDiskSpace();
+	virtual TVerdict doTestStepL();	
 	};
-	
-/**
- 	
- */
-class CFreeDiskSpace : public CSMSTestSteps
+
+class CFreeDiskSpace : public CSmsBaseTestStep
 	{
 public:
-	virtual enum TVerdict doTestStepL();
+    CFreeDiskSpace();
+	virtual TVerdict doTestStepL();
 	};
 
-
-#endif // __TE_SMSMONDSK_H_
+#endif // TE_SMSMONDSK_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,95 +16,55 @@
 /**
  @file
 */
-#include <commsdattypesv1_1.h>
-
-#include "TE_smsprtbase.h"
-#include "smsulog.h"
-#include "logcheck.h"
 #include "TE_smsprt.h"
+
 #include <sacls.h>
 #include <exterror.h>
-
 #include <emsformatie.h>
 #include <logwraplimits.h>
 #include <smspver.h>
 
+#include "smsulog.h"
+
 using namespace CommsDat;
 
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-
 TVerdict CTestSimpleTxAndRx::doTestStepL()
 /**
  *  Test a simple Transmit and Receive of a TPDU
  */
 	{
 	INFO_PRINTF1(_L("Test Simple Tx and Rx SMS"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 0);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer,socket,ESmsAddrRecvAny);
-	CleanupClosePushL(socket);
-
-    // Create comms database object
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 	
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
-    // EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
-	_LIT(KTestMsg1,"test message, 8bits, length 30");
+	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
+	
+	_LIT(KTestMsg,"test message, 8bits, length 30");
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KRadiolinjaSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg, alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
-	CleanupStack::PushL(smsMessage);
-	TestSmsContentsL(smsMessage,KTestMsg1);
+    CleanupStack::PushL(smsMessage);
+    
+	TestSmsContentsL(smsMessage, KTestMsg);
 
 	//Save the received message to the SMS storage
 	smsMessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 	WriteSmsToSimL(*smsMessage, socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	// Enumerate messages from Store
@@ -113,46 +73,20 @@
 	messages.ResetAndDestroy();
 
 	CleanupStack::PopAndDestroy(&socket);
-	
-	CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
-
-
+	
 TVerdict CTestBinaryTxAndRx::doTestStepL()
 /**
  *  Test a binary Transmit and Receive of a TPDU
  */
 	{
 	INFO_PRINTF1(_L("Test Binary Tx and Rx SMS"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 142);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer,socket,ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
-
-    // Create comms database object
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
-    // EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
-		                          
+	
+	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
@@ -167,8 +101,7 @@
 		}
 		
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(arrBuf, alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(arrBuf, alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
@@ -184,43 +117,33 @@
 		arrBuf2[i] = 128 + i;
 		}
 		
-	smsMessage=CreateSmsMessageL(arrBuf2, alphabet);
-	CleanupStack::PushL(smsMessage);
-	
 	//Send second SMS
-	SendSmsL(smsMessage,socket);
+    smsMessage=CreateSmsMessageLC(arrBuf2, alphabet);
+    SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);		
 				
 	//Receive first SMS
-	INFO_PRINTF1(_L("waiting for incoming first SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming first SMS") );
-	
 	CleanupStack::PushL(smsMessage);
-	TestSmsContentsL(smsMessage, arrBuf, ETrue);	
+
+	TestSmsContentsL(smsMessage, arrBuf, ETrue);
 
 	//Save the received message to the SMS storage
 	smsMessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 	WriteSmsToSimL(*smsMessage, socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 			
 	//Receive second SMS
-	INFO_PRINTF1(_L("waiting for incoming second SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming second SMS") );
-	
 	CleanupStack::PushL(smsMessage);
-	TestSmsContentsL(smsMessage, arrBuf2, ETrue);	
+
+	TestSmsContentsL(smsMessage, arrBuf2, ETrue);
 
 	//Save the received message to the SMS storage
 	smsMessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 	WriteSmsToSimL(*smsMessage, socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);				
 	
 	// Enumerate messages from Store
@@ -229,25 +152,17 @@
 	messages.ResetAndDestroy();
 
 	CleanupStack::PopAndDestroy(&socket);
-	
-	CleanupStack::PopAndDestroy(&socketServer);	 
-
 	return TestStepResult() ;	 	
 	}	
-
-
+	
 TVerdict CTestStatusReport::doTestStepL()
 /**
  *  Test a simple Transmit and Receive with status reporting
  */
 	{
 	INFO_PRINTF1(_L("Test Tx an SMS and then receive a status report"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 1);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -264,11 +179,9 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Create and send the second SMS
-
 	_LIT(KTest7bitMsg,"test message, length 23"); //7 bits test message, length 23 characters
 
 	//Set destination number
@@ -283,7 +196,6 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Create and send the third SMS
@@ -300,7 +212,6 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Create and send the fourth SMS
@@ -318,7 +229,6 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	// Create and send the 5th SMS. Here the submit PDU contains an international number
@@ -338,10 +248,9 @@
 
 	//Send SMS
 	SendSmsL(smsMessage, socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	//
+	////////////
 	// PDEF137451
 	//Create and send the sixth SMS
 	//
@@ -359,7 +268,6 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//
@@ -378,22 +286,24 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 	
-	//
+	///////////////
 	
-
 	//Receive status report
 	TSmsServiceCenterAddress telephoneNumber;
 	telephoneNumber.Copy( KOther );
 	RecvStatusReportL(telephoneNumber, socket);
+	
 	telephoneNumber = KLocalNumber;
 	RecvStatusReportL(telephoneNumber, socket);
+	
 	telephoneNumber = KOther;
 	RecvStatusReportL(telephoneNumber, socket);
+	
 	telephoneNumber.Copy( KPekka );
 	RecvStatusReportL(telephoneNumber, socket);
+	
 	// CSmsPDUProcessor::DecodeAndProcessPDUL sets the address of the SR
 	// to the same as that of the original submit. So we expect the
 	// received SR to have an international number, despite the SR PDU
@@ -404,33 +314,26 @@
 	// truncated user data, 8-bit:
 	telephoneNumber.Copy( KPekka );
 	RecvStatusReportL(telephoneNumber, socket);
+	
 	// truncated user data, 7-bit:
 	telephoneNumber.Copy( KOther );			
 	RecvStatusReportL(telephoneNumber, socket);
 
 	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&socketServer);
-
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestTxWithError::doTestStepL()
 /**
  *  Test a simple Transmit and Receive. This test case tests different errors from TSY.
  */
 	{
 	INFO_PRINTF1(_L("Test Tx an SMS, completed with error"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 2);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	RSocket socket2;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket2,ESmsAddrSendOnly);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket2,ESmsAddrSendOnly);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -439,8 +342,7 @@
 	iServiceCenterNumber=KSoneraSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	//Set Status report request
 	CSmsSubmit& submitPdu=(CSmsSubmit&)smsMessage->SmsPDU();
@@ -455,8 +357,6 @@
 	//Try sending, Tsy returns error
 	SendSmsCancelL(smsMessage,socket, socket2);
 
-//	SendSmsErrorL(smsMessage,socket);
-
 	INFO_PRINTF1(_L("Try again sending the SMS"));
 	//Now sending succeeds KErrNone
 	SendSmsL(smsMessage,socket);
@@ -490,37 +390,24 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 	
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS..."));
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 
 	TestSmsContentsL(smsMessage,KTestMsg1);
 
-	CleanupStack::PopAndDestroy(3); // socket, socket2, smsMessage
-	CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(3, &socket); // socket, socket2, smsMessage
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestTxFailed::doTestStepL()
 /**
  *  Test sending an SMS, transmit will be failed with different error codes
  */
 	{
 	INFO_PRINTF1(_L("Test Tx an SMS, failed with different error codes"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 3);
-
 	RSocket socket;
-	TInt ret;
-
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -529,27 +416,28 @@
 	iServiceCenterNumber=KSoneraSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
 	//Try sending, Dummy Tsy returns RP-error
 	TInt i;
-	for (i=0; i <25; i++)
+	TInt ret;
+
+	for (i=0; i < 25; ++i)
 		{
 		ret = SendSmsErrorL(smsMessage,socket);
 		}
 
 	//Try sending, Dummy Tsy returns RP-error with corrupted or wrong submit report PDU
-	for (i=0; i <2; i++)
+	for (i=0; i < 2; ++i)
 		{
 		ret = SendSmsErrorL(smsMessage,socket);
 		}
 
 	//Try sending, Dummy Tsy returns general error
-	for (i=0; i <3; i++)
+	for (i=0; i < 3; ++i)
 		{
 		ret = SendSmsErrorL(smsMessage,socket);
 		}
@@ -558,29 +446,23 @@
 	ret = SendSmsErrorL(smsMessage,socket);
 	TEST(ret== KErrGsmSMSMemCapacityExceeded);
 
-
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-	CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
 	return TestStepResult() ;
 	}
 
-
+// TODO: test does not seem to be used in any scripts that are run as part of tests
+// only present in TE_smsprtRegressionClass0StoreEnabled.script, check if OK to remove
 TVerdict CTestMatchingToObserver::doTestStepL()
 /**
  *  Test a simple Receive of a single TPDU containing a simple text
  */
 	{
 	INFO_PRINTF1(_L("Test Messages matching to correct observer"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 4);
-
 	RSocket socket1;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket1,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket1,ESmsAddrRecvAny);
 
 	RSocket socket2;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket2,ESmsAddrSendOnly);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket2,ESmsAddrSendOnly);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30"); //8 bits test message, length 30 chars
 	_LIT(KTestMsg2,"test message, length 23"); //7 bits test message, length 23 characters
@@ -589,7 +471,7 @@
 	match.Copy(KTestMsg2);
 
 	RSocket socket3;
-	TInt ret=socket3.Open(socketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
+	TInt ret=socket3.Open(iSocketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
 	TEST(ret == KErrNone);
 	CleanupClosePushL(socket3);
 
@@ -603,7 +485,6 @@
 	ret=socket1.Bind(smsaddr);
 	TEST(ret == KErrNone);
 
-//
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KRadiolinjaSC;
@@ -617,7 +498,6 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket2);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	INFO_PRINTF1(_L("waiting for incoming SMS...") );
@@ -631,36 +511,25 @@
 	TEST(ret == KErrNone);
 
 	INFO_PRINTF1(_L("waiting for incoming SMS...") );
-
 	smsMessage = RecvSmsL(socket3);
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 
 	TestSmsContentsL(smsMessage,KTestMsg2);
 
 	CleanupStack::PopAndDestroy(smsMessage);
 
-//Receive a message to socket1
+	//Receive a message to socket1
 	smsMessage = RecvSmsL(socket1);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 
 	TestSmsContentsL(smsMessage,KTestMsg1);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
-//Receive a status report message to socket2
-
+	//Receive a status report message to socket2
 	smsMessage = RecvSmsL(socket2);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
+    CleanupStack::PushL(smsMessage);
+    
 	//Check the status report
-
-	CleanupStack::PushL(smsMessage);
 	if (smsMessage->Type()==CSmsPDU::ESmsStatusReport)
 		{
 		INFO_PRINTF1(_L("Received status report"));
@@ -669,13 +538,10 @@
 		INFO_PRINTF2(_L("Message delivered to %S"),&telephoneNumber);
 		}
 
-	CleanupStack::PopAndDestroy(4); // socket1, socket2, socket3, smsMessage
-	CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(4, &socket1); // socket1, socket2, socket3, smsMessage
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestCommandMessages::doTestStepL()
 /**
  *  Test first transmit of a message, then send Command message to enable status reporting to previously sent
@@ -683,12 +549,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test Command messages"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 5);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTest7bitMsg,"test message, length 23"); //7 bits test message, length 23 characters
 
@@ -697,8 +559,7 @@
 	iServiceCenterNumber=KSoneraSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTest7bitMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTest7bitMsg,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
@@ -731,75 +592,54 @@
 	telephoneNumber.Copy( KPekka );
 	RecvStatusReportL(telephoneNumber, socket);
 
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestSimpleRx::doTestStepL()
 /**
  *  Test a simple Receive of a single TPDU containing a simple text
  */
 	{
 	INFO_PRINTF1(_L("Test Simple Rx SMS with Client ACK"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 6);
-
 	RSocket socket;
 	TSmsAddr smsaddr;
 	smsaddr.SetSmsAddrFamily(ESmsAddrMatchText);
 	smsaddr.SetTextMatch(_L8("test message, 8b"));
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer, socket, smsaddr);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, smsaddr);
 
 	RSocket socketRecvAny;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer, socketRecvAny, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socketRecvAny, ESmsAddrRecvAny);
 
 	INFO_PRINTF1(_L("waiting for incoming SMS No. 1...") );
 	WaitForRecvL(socket);
 	CSmsMessage* smsMessage = RecvSmsFailedL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 
 	_LIT(KTestMsg1,"Test message, 8bits, length 30");
 	TestSmsContentsL(smsMessage,KTestMsg1);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	INFO_PRINTF1(_L("waiting for incoming SMS No. 2...") );
 	WaitForRecvL(socketRecvAny);
 	smsMessage = RecvSmsFailedL(socketRecvAny);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 
 	_LIT(KTestMsg2,"Sest message, 8bits, length 30");
 	TestSmsContentsL(smsMessage,KTestMsg2);
 
-	CleanupStack::PopAndDestroy(3); // socket, socketRecvAny, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(3, &socket); // socket, socketRecvAny, smsMessage
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTest7bitMessTest::doTestStepL()
 /**
  *  Test a simple Transmit and Receive of a single TPDU containing a single character
  */
 	{
 	INFO_PRINTF1(_L("Test Tx and Rx 7 bit SMS with Client ACK"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 7);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTest7bitMsg,"test message, length 23"); //7 bits test message, length 23 characters
 	//Set destination and SC numbers
@@ -807,8 +647,7 @@
 	iServiceCenterNumber=KSoneraSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTest7bitMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTest7bitMsg,alphabet);
 
 	//Set status report request
 	CSmsSubmit& submitPdu=(CSmsSubmit&)smsMessage->SmsPDU();
@@ -821,36 +660,25 @@
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KTest7bitMsg);
 
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestClassMessages::doTestStepL()
 /**
  *  Test Send and receive messages of different classes
  *  TODO - why do I have to send a class 2 sms before the class 1 and 3 sms
  */
     {
-
     INFO_PRINTF1(_L("Send and receive messages with different classes"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 8);
-	
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KSoneraSC;
@@ -875,12 +703,9 @@
     SendAndRecvTestMessageL(Class3msg,socket);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestRxConcatenated::doTestStepL()
 /**
  *  Test reception of a concatenated SMS message spanning 3 TPDUs
@@ -888,46 +713,38 @@
  */
 	{
 	INFO_PRINTF1(_L("Test Rx Three Part Concatenated Message"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 9);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
 	WaitForRecvL(socket);
 	CSmsMessage* smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
-	INFO_PRINTF1(_L("incoming SMS") );
 
 	_LIT(KLongText,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"The End.");
+	
 	TestSmsContentsL(smsMessage,KLongText);
 
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestRxDuplicate::doTestStepL()
 /**
  *  Test reception of a concatenated SMS message spanning 3 TPDUs
@@ -936,46 +753,38 @@
  */
 	{
 	INFO_PRINTF1(_L("Test Rx Three Part Concatenated Message with 2nd TPDU Duplicated"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 10);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
 	WaitForRecvL(socket);
 	CSmsMessage* smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
-	INFO_PRINTF1(_L("incoming SMS") );
 
 	_LIT(KLongText,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"The End.");
+	
 	TestSmsContentsL(smsMessage,KLongText);
 
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestRxRingToneA::doTestStepL()
 /**
  *  Test reception of a concatenated SMS Ringing Tone message spanning 3 TPDUs
@@ -983,18 +792,12 @@
  */
 	{
 	INFO_PRINTF1(_L("Test Rx Three Part Concatenated SMS Ringing Tone Message"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 11);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
 	WaitForRecvL(socket);
 	CSmsMessage* smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
-	INFO_PRINTF1(_L("incoming SMS") );
 
 	const TUint16 KRingingTonePDUA[]= {
 	0x02, 0x4A, 0x3A, 0x75, 0x09, 0x85, 0x91, 0xA5, 0xB9, 0x95,
@@ -1033,65 +836,53 @@
 	TPtrC ringingTonePDUA(KRingingTonePDUA,sizeof(KRingingTonePDUA)/sizeof(TUint16));
 	TestSmsContentsL(smsMessage,ringingTonePDUA);
 
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
+  	return TestStepResult() ;
 	}
 
-
 TVerdict CTestTxRxConcatenated::doTestStepL()
 /**
  *  Test transmition and reception of a concatenated SMS message spanning 3 TPDUs
  */
-
 	{
 	INFO_PRINTF1(_L("Test Tx and Rx SMS with 3 PDU message"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 12);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KLongText,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"The End.");
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KRegTestNumber;
 	iServiceCenterNumber=KVodafoneSC;
 
-	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;//changed to 7 bits
-//	CSmsMessage* smsMessage=CreateSmsMessageL(KLongText,alphabet);
+	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
 	CSmsMessage* smsMessage=CreateSmsWithStatusReportReqL(KLongText,alphabet);
 
 	CleanupStack::PushL(smsMessage);
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS"));
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KLongText);
 	CleanupStack::PopAndDestroy(smsMessage);
 
@@ -1101,74 +892,55 @@
 
 	// TX & RX 8 bit conc msg
 	alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	smsMessage=CreateSmsMessageL(KLongText,alphabet);
-
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KLongText,alphabet);
+
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS..."));
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KLongText);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	// TX & RX 16 bit conc msg
 	_LIT(KLongText2,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"The End.");
 
 	alphabet=TSmsDataCodingScheme::ESmsAlphabetUCS2;
-	smsMessage=CreateSmsMessageL(KLongText2,alphabet);
-
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KLongText2,alphabet);
+
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS"));
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KLongText2);
 
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
+ 	return TestStepResult();
 	}
 
-
 TVerdict CTestParamStorage::doTestStepL()
 /**
  *  Test retrieving and storing the sms parameters
  */
 	{
 	INFO_PRINTF1(_L("Test the parameter storage"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 13);
-
-	TInt ret(KErrNone);
-    TRequestStatus status;
-
-//
-// Retrieve SMS parameters
-//
-	// Open the socket for SIM operations
-	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrLocalOperation);
-
-    RSmsSocketReadStream readstream(socket);
+    // Open the socket for SIM operations
+    RSocket socket;
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrLocalOperation);
+
+    //
+    // Retrieve SMS parameters
+    //
 
 	//Create the smspList
 	CMobilePhoneSmspList* smspList = CMobilePhoneSmspList::NewL();
@@ -1178,12 +950,16 @@
 	User::After(2000000);
 
     // Make read SMS params request to the SMS Stack.
+    TRequestStatus status;
+
     socket.Ioctl(KIoctlReadSmsParams,status,NULL, KSolSmsProv);
     INFO_PRINTF1(_L("waiting for SMS parameters..."));
     User::WaitForRequest(status);
 	TEST(status.Int() == KErrNone);
 
     // Read list from stream and make acknowledgement to the SMS Stack
+    RSmsSocketReadStream readstream(socket);
+
     readstream >> *smspList;
     socket.Ioctl(KIoctlCompleteReadSmsParams, status, NULL,KSolSmsProv);
     User::WaitForRequest(status);
@@ -1191,9 +967,9 @@
 
 	CleanupStack::PopAndDestroy(smspList);
 
-//
-// Store SMS parameters
-//
+	//
+	// Store SMS parameters
+	//
 	smspList=CMobilePhoneSmspList::NewL();
 	CleanupStack::PushL(smspList);
 
@@ -1214,7 +990,7 @@
     // Add 6 entries to the list
 	TInt i = 0;
 
-    for(i=0; i<6; i++)
+    for(i=0; i<6; ++i)
 		{
         entryToTsy.iIndex = i;
 	    smspList->AddEntryL(entryToTsy);
@@ -1223,7 +999,7 @@
     INFO_PRINTF1(_L("storing the SMS parameters..."));
 
     // Write parameter list to the stream and make write SMS parameters request to the SMS Stack.
-    ret = iSmsStackTestUtils->StoreParamsL(*smspList,socket,EFalse);
+    TInt ret = iSmsStackTestUtils->StoreParamsL(*smspList,socket,EFalse);
     TEST_CHECKL(ret,KErrArgument,_L("Status values doesn't match"));
 
     // Writing failed because SIM tsy's SMS parameter store can contain only 5 SMSP sets.
@@ -1234,9 +1010,9 @@
     ret = iSmsStackTestUtils->StoreParamsL(*smspList,socket,EFalse);
 	TEST(ret == KErrNone);
 
-//
-// Retrieve SMS parameters again
-//
+	//
+	// Retrieve SMS parameters again
+	//
 	CMobilePhoneSmspList* smspList2=CMobilePhoneSmspList::NewL();
 	CleanupStack::PushL(smspList2);
 
@@ -1245,7 +1021,7 @@
     socket.CancelIoctl();
     User::WaitForRequest(status);
 
-		// originl code was
+    // originl code was
 	// GLOBAL_CHECKPOINT_CODE(status.Int());
 	// thus always assumes that the cancelling will be missed,
 	// but with the change due defect (DEF40029) to smsppara.cpp,
@@ -1270,9 +1046,9 @@
 
 	CleanupStack::PopAndDestroy(2);	//smspList,smspList2
 
-//
-// Store SMS parameters again
-//
+	//
+	// Store SMS parameters again
+	//
 	smspList=CMobilePhoneSmspList::NewL();
 	CleanupStack::PushL(smspList);
 
@@ -1307,32 +1083,23 @@
 	ret = iSmsStackTestUtils->StoreParamsL(*smspList,socket,EFalse);
 	TEST(ret == KErrNone);
 
-	CleanupStack::PopAndDestroy(2); // socket,smspList
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+	CleanupStack::PopAndDestroy(2, &socket); // socket,smspList
+   	return TestStepResult();
 	}
 
-
 TVerdict CTestSmsStore::doTestStepL()
 /**
  *  Test Sms message storage
  */
 	{
 	INFO_PRINTF1(_L("Test the SMS storage"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 14);
-
-	// Open the socket
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// Enumerate messages
 	RPointerArray<CSmsMessage> messages;
 	CleanupResetAndDestroyPushL(messages);
 	ReadSmsStoreL(socket, messages);
-//	const TInt beforeCount = messages.Count();
 
 	const CSmsMessage* message = messages[0];
 
@@ -1353,8 +1120,7 @@
 	// Create and store the message
 	_LIT(KStoreMsg1,"SIM TEST MESSAGE 1");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsmessage=CreateSmsMessageL(KStoreMsg1,alphabet);
-	CleanupStack::PushL(smsmessage);
+	CSmsMessage* smsmessage=CreateSmsMessageLC(KStoreMsg1,alphabet);
 
 	smsmessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 	WriteSmsToSimL(*smsmessage, socket);
@@ -1363,12 +1129,10 @@
 	// Create and store another message
 	_LIT(KStoreMsg2,"ME TEST MESSAGE 2");
 	alphabet=TSmsDataCodingScheme::ESmsAlphabetUCS2;
-	smsmessage=CreateSmsMessageL(KStoreMsg2,alphabet);
-	CleanupStack::PushL(smsmessage);
+	smsmessage=CreateSmsMessageLC(KStoreMsg2,alphabet);
 
 	smsmessage->SetStorage(CSmsMessage::ESmsPhoneStorage);
 	WriteSmsToSimL(*smsmessage, socket);
-
 	CleanupStack::PopAndDestroy(smsmessage);
 
 	// Enumerate messages
@@ -1379,31 +1143,22 @@
 
 	CleanupStack::PopAndDestroy(&messages);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+   	return TestStepResult() ;
 	}
 
-
 TVerdict CTestSmsStoreList::doTestStepL()
 /**
  *  Test Sms message storage
  */
 	{
 	INFO_PRINTF1(_L("Test the SMS storage - read SmsList"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 15);
-
-	// Open the socket for SIM operations
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// Enumerate messages
 	RPointerArray<CSmsMessage> messages;
 	CleanupResetAndDestroyPushL(messages);
 	ReadSmsStoreL(socket, messages);
-//	const TInt beforeCount = messages.Count();
 
 	const CSmsMessage* message = messages[1];
 
@@ -1425,39 +1180,31 @@
 	_LIT(KStoreMsg1,"SIM TEST MESSAGE 1");
 	iTelephoneNumber=KOther;
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsmessage=CreateSmsMessageL(KStoreMsg1,alphabet);
+	CSmsMessage* smsmessage=CreateSmsMessageLC(KStoreMsg1,alphabet);
 	smsmessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 	smsmessage->SetStatus(NMobileSmsStore::EStoredMessageUnsent);
 
-	CleanupStack::PushL(smsmessage);
-
 	WriteSmsToSimL(*smsmessage, socket);
 	CleanupStack::PopAndDestroy(smsmessage);
 
 	// Create and store another message
 	_LIT(KStoreMsg2,"COMB TEST MESSAGE 2");
 	alphabet=TSmsDataCodingScheme::ESmsAlphabetUCS2;
-	smsmessage=CreateSmsMessageL(KStoreMsg2,alphabet);
+	smsmessage=CreateSmsMessageLC(KStoreMsg2,alphabet);
 	smsmessage->SetStorage(CSmsMessage::ESmsCombinedStorage);
 	smsmessage->SetStatus(NMobileSmsStore::EStoredMessageUnsent);
 
-	CleanupStack::PushL(smsmessage);
-
 	WriteSmsToSimL(*smsmessage, socket);
 	CleanupStack::PopAndDestroy(smsmessage);
 
 	// Create and store third message
 	_LIT(KStoreMsg3,"ME TEST MESSAGE 3");
 	alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	smsmessage=CreateSmsMessageL(KStoreMsg3,alphabet);
+	smsmessage=CreateSmsMessageLC(KStoreMsg3,alphabet);
 	smsmessage->SetStorage(CSmsMessage::ESmsPhoneStorage);
 	smsmessage->SetStatus(NMobileSmsStore::EStoredMessageUnsent);
 
-	CleanupStack::PushL(smsmessage);
-
 	WriteSmsToSimL(*smsmessage, socket);
-
-
 	CleanupStack::PopAndDestroy(smsmessage);
 
 	// Enumerate messages
@@ -1469,30 +1216,21 @@
 
 	CleanupStack::PopAndDestroy(&messages);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestDeleteSms::doTestStepL()
 /**
  *  Try to delete message without enumerating the store before it.
  */
 	{
 	INFO_PRINTF1(_L("Test deleting message from SMS storage"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 15); //script number can be this!
-
-	// Open the socket
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KStoreMsg1,"HELLO CHRIS");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsmessage=CreateSmsMessageL(KStoreMsg1,alphabet);
-	CleanupStack::PushL(smsmessage);
+	CSmsMessage* smsmessage=CreateSmsMessageLC(KStoreMsg1,alphabet);
 
 	//Try to delete the message without enumerating first!
 	TRequestStatus status;
@@ -1501,19 +1239,102 @@
 	writestream << *smsmessage;
 	writestream.CommitL();
 
-	socket.Ioctl(KIoctlDeleteSmsMessage, status, NULL, KSolSmsProv);
-	User::WaitForRequest(status);
-
-	INFO_PRINTF2(_L("Delete Sms - returned %d"), status.Int());
+    TBool tryAgain = ETrue;
+    TInt attempts (0);
+    TInt maxRetries = 3;
+	
+    // Delete messages from store. If it fails with KErrNotReady wait for 3 seconds to 
+    // allow sms protocol to fully load and repeat
+    while( tryAgain && attempts++ < maxRetries )
+        {
+        socket.Ioctl(KIoctlDeleteSmsMessage, status, NULL, KSolSmsProv);
+        User::WaitForRequest(status);
+        INFO_PRINTF2(_L("Delete messages from store returned [status=%d]"), status.Int());
+        
+        if ( status.Int() == KErrNotReady )
+            {
+            INFO_PRINTF1(_L("Trying to delete again... "));
+            User::After(3000000);
+            }
+        else
+            {
+            tryAgain = EFalse;
+            }
+        }
 
 	TEST(status.Int() == KErrArgument);
 
-	CleanupStack::PopAndDestroy(2); //socket, smsmessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socket); //socket, smsmessage
+ 	return TestStepResult() ;
 	}
 
+/**
+ *  Tests the TSmsAddr class
+ * 
+ *  @return A TVerdict test result.
+ */
+TVerdict CTestSmsAddr::doTestStepL()
+    {
+    TSmsAddr addr1;
+
+    INFO_PRINTF1(_L("Test default values ..."));
+
+    TEST(addr1.SmsAddrFamily() == ESmsAddrUnbound);
+    
+    INFO_PRINTF1(_L("Test address family set/get and dual-SIM aware flag ..."));
+    
+    addr1.SetSmsAddrFamily(ESmsAddrLocalOperation);
+    TEST(addr1.SmsAddrFamily() == ESmsAddrLocalOperation);
+ 
+    
+    addr1.SetSmsAddrFamily(ESmsAddrEmail);
+    TEST(addr1.SmsAddrFamily() == ESmsAddrEmail);
+    
+    INFO_PRINTF1(_L("Test identifier match set/get ..."));
+    
+    addr1.SetSmsAddrFamily(ESmsAddrMatchIEI);
+    addr1.SetIdentifierMatch(CSmsInformationElement::ESmsIEIApplicationPortAddressing8Bit);
+    TEST(addr1.IdentifierMatch() == CSmsInformationElement::ESmsIEIApplicationPortAddressing8Bit);
+    
+    INFO_PRINTF1(_L("Test text match set/get ..."));
+    
+    addr1.SetSmsAddrFamily(ESmsAddrMatchText);
+    addr1.SetTextMatch(_L8("test message, len"));
+    TEST(addr1.TextMatch().CompareF(_L8("test message, len")) == 0);
+    
+    addr1.SetTextMatch(_L8("test message this is max:extra"));
+    TEST(addr1.TextMatch().CompareF(_L8("test message this is max")) == 0);
+    
+    INFO_PRINTF1(_L("Test compare ..."));
+    
+    TSmsAddr addr2;
+    addr2.SetSmsAddrFamily(ESmsAddrMatchText);
+    addr2.SetTextMatch(_L8("test message, len"));
+
+    TSmsAddr addr3;
+    addr3.SetSmsAddrFamily(ESmsAddrMatchText);
+    addr3.SetTextMatch(_L8("test message, len"));
+
+    TEST((addr2 == addr3));
+    
+    addr3.SetTextMatch(_L8("diff test message"));
+    TEST(!(addr2 == addr3));
+  
+    addr2.SetSmsAddrFamily(ESmsAddrMatchIEI);
+    addr2.SetIdentifierMatch(CSmsInformationElement::ESmsIEIApplicationPortAddressing8Bit);
+    
+    TEST(!(addr2 == addr3));
+
+    addr3.SetSmsAddrFamily(ESmsAddrMatchIEI);
+    addr3.SetIdentifierMatch(CSmsInformationElement::ESmsIEIApplicationPortAddressing8Bit);
+
+    TEST((addr2 == addr3));
+    
+    addr2.SetIdentifierMatch(CSmsInformationElement::ESmsIEIApplicationPortAddressing16Bit);
+    TEST(!(addr2 == addr3));
+    
+    return TestStepResult();    
+    }
 
 TVerdict CTestSocketBinding::doTestStepL()
 /**
@@ -1521,19 +1342,15 @@
  */
 	{
 	INFO_PRINTF1(_L("Test Open & Bind the Socket"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 16);
-
 	RSocket socket1;
 	RSocket socket2;
 
-	TInt ret1=socket1.Open(socketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
+	TInt ret1=socket1.Open(iSocketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
 	TEST(ret1 == KErrNone);
 	CleanupClosePushL(socket1);
 	TSmsAddr smsaddr1;
 
-	TInt ret2=socket2.Open(socketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
+	TInt ret2=socket2.Open(iSocketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
 	TEST(ret2 == KErrNone);
 	CleanupClosePushL(socket2);
 	TSmsAddr smsaddr2;
@@ -1621,32 +1438,26 @@
 
 	CleanupStack::Pop(&socket2);
 	CleanupStack::Pop(&socket1);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	INFO_PRINTF1(_L("All bindings ok!"));
+ 	INFO_PRINTF1(_L("All bindings ok!"));
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestSmsEventLogger::doTestStepL()
 /**
  *  Test SMS event logger
  */
 	{
 	INFO_PRINTF1(_L("Test SMS event logger"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 17);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	CLogEvent* logEvent=CLogEvent::NewL();
 	CleanupStack::PushL(logEvent);
 
-//
-// Test logging of sending and receiving events
-//
+	//
+	// Test logging of sending and receiving events
+	//
+	
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KRadiolinjaSC;
@@ -1654,8 +1465,7 @@
 	_LIT(KTest7bitMsg,"test message, length 23"); //7 bits test message, length 23 characters
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* sendSmsMessage=CreateSmsMessageL(KTest7bitMsg,alphabet);
-    CleanupStack::PushL(sendSmsMessage);
+	CSmsMessage* sendSmsMessage=CreateSmsMessageLC(KTest7bitMsg,alphabet);
 
 	//Send SMS-SUBMIT
 	SendSmsL(sendSmsMessage,socket);
@@ -1769,9 +1579,9 @@
        (dateTime.Second() != 18) )     
         TEST(KErrArgument); 
 	
-//
-// Test logging when senging fails.
-//
+    //
+    // Test logging when senging fails.
+    //
 
 	//Send SMS-SUBMIT
 	SendSmsErrorL(sendSmsMessage,socket);
@@ -1791,27 +1601,27 @@
 
     CleanupStack::PopAndDestroy(2); //sendSmsMessage, receiveSmsMessage
 
-//
-// Test event logging when an intermittent concatenated message status report received.
-//
+    //
+    // Test event logging when an intermittent concatenated message status report received.
+    //
 	_LIT(KLongText,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"The End.");
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KRegTestNumber;
@@ -1865,10 +1675,8 @@
        (dateTime.Second() != 18) )     
         TEST(KErrArgument); 
 	
-	CleanupStack::PopAndDestroy(4); // sendSmsMessage, receiveSmsMessage, logEvent, socket
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(4, &socket); // sendSmsMessage, receiveSmsMessage, logEvent, socket
+ 	return TestStepResult() ;
 	}
 
 
@@ -1879,12 +1687,10 @@
  *  message.  Buffer size of 500 => 4 PDU message
  */
     {
+    RSocket socket;
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+    
     INFO_PRINTF1(_L("Testing tx & rx while changing the SMS Bearer"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 18);
-	
-
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KRadiolinjaSC; //maybe not needed...
 
@@ -1894,25 +1700,16 @@
     CleanupStack::PushL(messageBuffer);
     TPtr bufferPtr=messageBuffer->Des();
     FillDes(bufferPtr,KTestMessageBufferSize);
-    CSmsMessage* smsMessage=CreateSmsMessageL(bufferPtr,
-            TSmsDataCodingScheme::ESmsAlphabet7Bit);
-    CleanupStack::PushL(smsMessage);
-    CSmsMessage* rxSmsMessage=NULL;
-
-    // Open socket
-    RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-    RMobileSmsMessaging::TMobileSmsBearer smsBearer;
+    CSmsMessage* smsMessage=CreateSmsMessageLC(bufferPtr, TSmsDataCodingScheme::ESmsAlphabet7Bit);
 
     INFO_PRINTF1(_L("Testing bearer change to GPRS only setting"));
 
     // Send message & change bearer
-    smsBearer=RMobileSmsMessaging::ESmsBearerPacketOnly;
-	iSmsStackTestUtils->SendSmsAndChangeBearerL(smsMessage,socket, smsBearer);
+    RMobileSmsMessaging::TMobileSmsBearer smsBearer = RMobileSmsMessaging::ESmsBearerPacketOnly;
+	iSmsStackTestUtils->SendSmsAndChangeBearerL(smsMessage, socket, smsBearer);
 
 	// Receive message
-	rxSmsMessage=RecvSmsL(socket);
+	CSmsMessage* rxSmsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(rxSmsMessage);
 	TestSmsContentsL(rxSmsMessage,bufferPtr);
 	CleanupStack::PopAndDestroy(rxSmsMessage);  // rxSmsMessage
@@ -1920,8 +1717,8 @@
 	INFO_PRINTF1(_L("Testing bearer change to CSD only setting"));
 
 	// Send message & change bearer
-	smsBearer=RMobileSmsMessaging::ESmsBearerCircuitOnly;
-	iSmsStackTestUtils->SendSmsAndChangeBearerL(smsMessage,socket, smsBearer);
+	smsBearer = RMobileSmsMessaging::ESmsBearerCircuitOnly;
+	iSmsStackTestUtils->SendSmsAndChangeBearerL(smsMessage, socket, smsBearer);
 
 	// Receive message
 	rxSmsMessage=RecvSmsL(socket);
@@ -1933,7 +1730,7 @@
 
 	// Send message & change bearer
 	smsBearer=RMobileSmsMessaging::ESmsBearerPacketPreferred;
-	iSmsStackTestUtils->SendSmsAndChangeBearerL(smsMessage,socket, smsBearer);
+	iSmsStackTestUtils->SendSmsAndChangeBearerL(smsMessage, socket, smsBearer);
 
 	// Receive message
 	rxSmsMessage=RecvSmsL(socket);
@@ -1953,10 +1750,8 @@
 	TestSmsContentsL(rxSmsMessage,bufferPtr);
 	CleanupStack::PopAndDestroy(rxSmsMessage);  // rxSmsMessage
 
-	CleanupStack::PopAndDestroy(3); // messageBuffer, smsMessage, CleanupCloseItem
-    CleanupStack::PopAndDestroy(&socketServer);
-
- 	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(3, &socket); // messageBuffer, smsMessage, CleanupCloseItem
+  	return TestStepResult() ;
 	}
 
 	
@@ -1966,43 +1761,42 @@
       the bearer back to the previous setting.
 */
 	{
-    // Set the initial bearer value in CommDB
-    RMobileSmsMessaging::TMobileSmsBearer newBearer;
-    newBearer = RMobileSmsMessaging::ESmsBearerCircuitPreferred;
-    iSmsStackTestUtils->ChangeBearerL(newBearer);
-
-	// Starts the smsstack
-	RSocketServ socketServer;
-	INFO_PRINTF1(_L("Connecting to SocketServer ..."));
-	TInt ret = socketServer.Connect(KSocketMessageSlots);
-	CleanupClosePushL(socketServer);
-
-    // Open socket
+    // Get the initial bearer value from CommDB
+    RMobileSmsMessaging::TMobileSmsBearer retrievedBearer;
+    RMobileSmsMessaging::TMobileSmsBearer bearer;
+    iSmsStackTestUtils->GetBearerL(retrievedBearer);
+
     RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
     
     // Attempt to change the bearer
-    newBearer = RMobileSmsMessaging::ESmsBearerPacketPreferred;
-    iSmsStackTestUtils->ChangeBearerL(newBearer);
-    INFO_PRINTF2(_L("Changing bearer in CommDB global settings to %d"), newBearer);
+	if (retrievedBearer == RMobileSmsMessaging::ESmsBearerPacketPreferred )
+	    {
+        bearer = RMobileSmsMessaging::ESmsBearerCircuitPreferred;
+ 	    }
+	else
+        {
+        bearer = RMobileSmsMessaging::ESmsBearerPacketPreferred;
+        }
+    INFO_PRINTF2(_L("Changing bearer in CommDB global settings to %d"), bearer);
+    iSmsStackTestUtils->ChangeBearerL(bearer);
     
-    // Wait 2 seconds for CSmspSetBearer to complete and revert the bearer
-    User::After(2000000);
+    // Wait 5 seconds for CSmspSetBearer to complete and revert the bearer
+    const TInt delay = 5;
+    User::After(delay*1000000);
     
     // With simtsy, setting the bearer to any value is not
     // supported, therefore the smsstack should revert 
     // back to the previous bearer setting.
-    INFO_PRINTF1(_L("Bearer should be reverted back to previous supported setting."));
+    INFO_PRINTF2(_L("Bearer should be reverted back to previous supported setting after wait for %d seconds"), delay);
     INFO_PRINTF1(_L("The initial supported setting is obtained from CommDB."));
-    RMobileSmsMessaging::TMobileSmsBearer retrievedBearer;
-    iSmsStackTestUtils->GetBearerL(retrievedBearer);
+    iSmsStackTestUtils->GetBearerL(bearer);
     
-    TEST(retrievedBearer == RMobileSmsMessaging::ESmsBearerCircuitPreferred);
+    TESTCHECK(retrievedBearer, bearer, "Checking if the Bearer was reverted back to previous supported setting");
     
-	CleanupStack::PopAndDestroy(); //socketServer
+	CleanupStack::PopAndDestroy(&socket);
  	return TestStepResult();	
-	} 
-
+	}
 
 TVerdict CTestRecvModeChange::doTestStepL()
 /**
@@ -2011,11 +1805,9 @@
  */
     {
     INFO_PRINTF1(_L("Testing tx & rx while changing the SMS Receive mode"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 19);
-	
-
+    RSocket socket;
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+    
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
 	//Set destination and SC numbers
@@ -2028,28 +1820,24 @@
     CleanupStack::PushL(smsMessage);
     CSmsMessage* rxSmsMessage=NULL;
 
-    // Open socket
-    RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
     // Create comms database object
 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
 #else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
 #endif
     CleanupStack::PushL(db);
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveModeUnspecified"));
+    INFO_PRINTF1(_L("Testing recvMode change to EReceiveModeUnspecified"));
 
     // Send message & wait a sec(!)
     SendSmsL(smsMessage,socket);
 
     // EReceiveModeUnspecified
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveModeUnspecified;
-	smsReceiveModeField->ModifyL(*db);
+    CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
+    CleanupStack::PushL(smsReceiveModeField);
+    smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
+    *smsReceiveModeField = RMobileSmsMessaging::EReceiveModeUnspecified;
+    smsReceiveModeField->ModifyL(*db);
 
     // Receive message
     rxSmsMessage=RecvSmsL(socket);
@@ -2063,8 +1851,8 @@
     SendSmsL(smsMessage,socket);
 
     // UnstoredPhoneAck
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredPhoneAck;
-	smsReceiveModeField->ModifyL(*db);
+    *smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredPhoneAck;
+    smsReceiveModeField->ModifyL(*db);
 
     // Receive message
     rxSmsMessage=RecvSmsL(socket);
@@ -2078,8 +1866,8 @@
     SendSmsL(smsMessage,socket);
 
     // UnstoredClientAck
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
+    *smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
+    smsReceiveModeField->ModifyL(*db);
 
     // Receive message
     rxSmsMessage=RecvSmsL(socket);
@@ -2093,8 +1881,8 @@
     SendSmsL(smsMessage,socket);
 
     // Stored
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveStored;
-	smsReceiveModeField->ModifyL(*db);
+    *smsReceiveModeField = RMobileSmsMessaging::EReceiveStored;
+    smsReceiveModeField->ModifyL(*db);
 
     // Receive message
     rxSmsMessage=RecvSmsL(socket);
@@ -2108,9 +1896,9 @@
     SendSmsL(smsMessage,socket);
 
     // Either
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveEither;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
+    *smsReceiveModeField = RMobileSmsMessaging::EReceiveEither;
+    smsReceiveModeField->ModifyL(*db);
+    CleanupStack::PopAndDestroy(smsReceiveModeField);
 
     // Receive message
     rxSmsMessage=RecvSmsL(socket);
@@ -2120,25 +1908,18 @@
 
     // Cleanup
     CleanupStack::PopAndDestroy(3); // smsMessage, socket, db
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+
+    return TestStepResult() ;
     }
 
-
 TVerdict CTestTsyCaps::doTestStepL()
 /**
  *  Test sms stack when tsy doesn't support anything
  */
 	{
 	INFO_PRINTF1(_L("Test Sms stack when Tsy supports nothing"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 20);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -2147,8 +1928,7 @@
 	iServiceCenterNumber=KRadiolinjaSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
@@ -2200,10 +1980,7 @@
 	INFO_PRINTF2(_L("Read Sms parameters - returned %d"), status.Int());
 	TEST(status.Int() == KErrNotSupported);
 
-
-//
-// Try to store SMS parameters, tsy doesn't support this
-//
+	// Try to store SMS parameters, tsy doesn't support this
 	CMobilePhoneSmspList* smspList=CMobilePhoneSmspList::NewL();
 	CleanupStack::PushL(smspList);
 
@@ -2236,10 +2013,8 @@
 	INFO_PRINTF2(_L("Write Sms parameters - returned %d"), status.Int());
 	TEST(status.Int() == KErrNotSupported);
 
-	CleanupStack::PopAndDestroy(2); //socket, smspList
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socket); //socket, smspList
+ 	return TestStepResult() ;
 	}
 
 TVerdict CTestOOMSendSms::doTestStepL()
@@ -2251,12 +2026,8 @@
 #ifdef _DEBUG
 
 	INFO_PRINTF1(_L("OOM test: Send Sms"));
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 21);
-	
-	
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
@@ -2265,18 +2036,17 @@
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	TInt count=0;
 	TInt ret=KErrNoMemory;
 	TInt successfullSends=0;  //maximum expected number of succeeded sends is 2 in TSY config file
 	while ((ret==KErrNoMemory || ret==KErrEof || count < 18) && (successfullSends<2))
 		{
-		socketServer.__DbgFailNext(count);
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgFailNext(count);
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,SendSmsDontCheckReturnValueL(smsMessage,socket));
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		if(ret==KErrNone)
 			successfullSends++;
 		count++;
@@ -2284,11 +2054,9 @@
 	
 	TEST(ret == KErrNone);
 
-	socketServer.__DbgFailNext(-1); // Reset heap
-
-	CleanupStack::PopAndDestroy(2);	//smsMessage, socket
-
-	CleanupStack::PopAndDestroy(&socketServer);
+	iSocketServer.__DbgFailNext(-1); // Reset heap
+
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
 
 #endif
 	return TestStepResult() ;
@@ -2301,19 +2069,13 @@
 	{
 	INFO_PRINTF1(_L("OOM test: Write Sms to Store"));
 #ifdef _DEBUG
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 22);
-	
-		
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// Create and store the message
 	_LIT(KStoreMsg1,"HELLO CHRIS");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KStoreMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KStoreMsg1,alphabet);
 
 	smsMessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 
@@ -2321,25 +2083,20 @@
 	TInt ret=KErrNoMemory;
 	while (ret==KErrNoMemory || ret==KErrEof || count < 8)
 		{
-		socketServer.__DbgFailNext(count);
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgFailNext(count);
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,WriteSmsLeaveIfErrorL(*smsMessage,socket););
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		count++;
 		}
 
-	socketServer.__DbgFailNext(-1); // Reset heap
+	iSocketServer.__DbgFailNext(-1); // Reset heap
 	TEST(ret == KErrNone);
-	CleanupStack::PopAndDestroy(2);	//smsMessage, socket
-
-	//Ensure socket server session is closed to remove cache
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
 #endif
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestOOMReadSms::doTestStepL()
 /**
  *  Test out of memory handling, Read SMS messages
@@ -2347,15 +2104,8 @@
 	{
 	INFO_PRINTF1(_L("OOM test: Read, SMS store ReadAll not supported."));
 #ifdef _DEBUG
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 23);
-	
-	
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	TInt count, i(0);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	RSmsSocketReadStream readstream(socket);
 	TRequestStatus status;
@@ -2363,21 +2113,20 @@
 	CSmsMessage* smsMessage = NULL;
 
 	TInt numberOfMessages(0);
-	smsMessage = CreateSmsMessageL(_L(""),TSmsDataCodingScheme::ESmsAlphabet7Bit);
-	CleanupStack::PushL(smsMessage);
-
-	count=0;
+	smsMessage = CreateSmsMessageLC(_L(""),TSmsDataCodingScheme::ESmsAlphabet7Bit);
+
+	TInt count=0;
 	TInt ret=KErrNoMemory;
 	while (ret==KErrNoMemory || ret==KErrEof || count < 10)
 		{
-		socketServer.__DbgFailNext(count);
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgFailNext(count);
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,numberOfMessages=MakeReadSmsStoreRequestL(socket););
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		
 		if (ret==KErrNone)
 			{
-			for (i=0; i<numberOfMessages; i++)
+			for (TInt i=0; i<numberOfMessages; ++i)
 				{
 				TRAPD(ret,readstream >> *smsMessage);
 				TEST(ret == KErrNone);
@@ -2385,17 +2134,17 @@
 				User::WaitForRequest(status);
 				}
 			}
-		count++;
+		++count;
 		}
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	TEST(ret == KErrNone);
-	socketServer.__DbgFailNext(-1); // Reset heap
+	iSocketServer.__DbgFailNext(-1); // Reset heap
 
 	INFO_PRINTF2(_L("%d enumerated messages"), numberOfMessages);
 
 	//Check that test client can read all messages from the stream
-	for(i=0; i< numberOfMessages; i++)
+	for(TInt i=0; i< numberOfMessages; ++i)
 		{
 		CSmsBuffer* buffer=CSmsBuffer::NewL();
 		smsMessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsDeliver,buffer);
@@ -2409,16 +2158,11 @@
 		CleanupStack::PopAndDestroy(smsMessage);
 		}
 
-	CleanupStack::PopAndDestroy(&socket);	//socket
-
-	//Ensure socket server session is closed to remove cache
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(&socket);
 #endif
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestOOMReadSmsList::doTestStepL()
 /**
  *  Test out of memory handling, Read SMS messages from store
@@ -2426,15 +2170,8 @@
 	{
 	INFO_PRINTF1(_L("OOM test: Read, SMS store ReadAll not supported."));
 #ifdef _DEBUG
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 24);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	TInt count, i(0);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	RSmsSocketReadStream readstream(socket);
 	TRequestStatus status;
@@ -2442,23 +2179,21 @@
 	CSmsMessage* smsMessage = NULL;
 
 	TInt numberOfMessages(0);
-	smsMessage = CreateSmsMessageL(_L(""),TSmsDataCodingScheme::ESmsAlphabet7Bit);
-	CleanupStack::PushL(smsMessage);
-
-	count=0;
+	smsMessage = CreateSmsMessageLC(_L(""),TSmsDataCodingScheme::ESmsAlphabet7Bit);
+
+	TInt count=0;
 	TInt ret=KErrNoMemory;
 	while (ret==KErrNoMemory || ret==KErrEof || count < 10)
 		{
-		
-		socketServer.__DbgFailNext(count);
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgFailNext(count);
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,numberOfMessages=MakeReadSmsStoreRequestL(socket););
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		
 		if (ret==KErrNone)
 			{
 			//Check that test client can read all messages from the stream
-			for (i=0; i<numberOfMessages; i++)
+			for (TInt i=0; i<numberOfMessages; ++i)
 				{
 				TRAPD(ret,readstream >> *smsMessage);
 				TEST(ret == KErrNone);
@@ -2467,27 +2202,22 @@
 				TEST(status.Int() == KErrNone);
 				}
 			}
-		count++;
+		++count;
 		}
 
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	TEST(ret == KErrNone);
 
-	socketServer.__DbgFailNext(-1); // Reset heap
+	iSocketServer.__DbgFailNext(-1); // Reset heap
 
 	INFO_PRINTF2(_L("%d enumerated messages"), numberOfMessages);
 
-	CleanupStack::PopAndDestroy(&socket);	//socket
-
-	//Ensure socket server session is closed to remove cache
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(&socket);
 #endif
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestOOMDeleteSms::doTestStepL()
 /**
  *  Test out of memory handling, Delete SMS message
@@ -2495,13 +2225,8 @@
 	{
 	INFO_PRINTF1(_L("OOM test: Delete SMS message."));
 #ifdef _DEBUG
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 25);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrLocalOperation);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrLocalOperation);
 
 	// First get one message from store.
 	RPointerArray<CSmsMessage> messages;
@@ -2513,54 +2238,45 @@
 	TInt ret=0;
 	while (ret==KErrNoMemory || ret==KErrEof || i<messages.Count())
 		{
-		socketServer.__DbgFailNext(count);
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgFailNext(count);
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,DeleteSmsLeaveIfErrorL(*messages[i],socket));
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		
 		if(ret == KErrNone)
+		    {
 			//Deleting was successfull. Delete next message.
-
-			i++;
+			++i;
+		    }
 		else if(ret == KErrNotFound)
+		    {
 			//SMS Prot has deleted message, but returned KErrNoMemory.
 			//When test harness tried to delete same message again, SMS stack
 			//returned KErrNotFound.
 			TEST(ret == KErrNone);
-		count++;
+		    }
+		++count;
 		}
 
-	socketServer.__DbgFailNext(-1); // Reset heap
+	iSocketServer.__DbgFailNext(-1); // Reset heap
 	messages.ResetAndDestroy();
 	ReadSmsStoreL(socket, messages);
 
 	TEST(messages.Count()== 0);
-	CleanupStack::PopAndDestroy(2);	//messages,socket
-
-	//Ensure socket server session is closed to remove cache
-    CleanupStack::PopAndDestroy(&socketServer);
-    
+	CleanupStack::PopAndDestroy(2, &socket); // socket, messages
 #endif
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestOOMSmsParams::doTestStepL()
 /**
  *  Test out of memory handling, Retrieve and store SMS parameters
  */
 	{
-	INFO_PRINTF1(_L("OOM test: Read and Store Sms params."));
 #ifdef _DEBUG
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 26);
-	
-
-	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrLocalOperation);
-
-	TInt count;
+    INFO_PRINTF1(_L("OOM test: Read and Store Sms params."));
+    RSocket socket;
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrLocalOperation);
 
 	RSmsSocketReadStream readstream(socket);
 	TRequestStatus status;
@@ -2570,17 +2286,17 @@
 
 	INFO_PRINTF1(_L("Retrieve SMS parameters."));
 
-	count=0;
+	TInt count = 0;
 	TInt ret=KErrNoMemory;
 	while (ret==KErrNoMemory || ret==KErrEof || count < 8)
 		{
-		socketServer.__DbgFailNext(count);
-		socketServer.__DbgMarkHeap();		
+		iSocketServer.__DbgFailNext(count);
+		iSocketServer.__DbgMarkHeap();		
 		TRAP(ret,iSmsStackTestUtils->MakeParametersReadRequestL(socket););
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		count++;
 		}
-	socketServer.__DbgFailNext(-1);	// suppress any lurking heap failure
+	iSocketServer.__DbgFailNext(-1);	// suppress any lurking heap failure
 
 	TEST(ret == KErrNone);
 
@@ -2592,9 +2308,9 @@
 
 	CleanupStack::PopAndDestroy(smspList);
 
-//
-//Store parameters
-//
+	//
+	//Store parameters
+	//
 	smspList=CMobilePhoneSmspList::NewL();
 	CleanupStack::PushL(smspList);
 
@@ -2621,19 +2337,19 @@
 	ret=KErrNoMemory;
 	while (ret==KErrNoMemory || count < 10)
 		{
-		socketServer.__DbgFailNext(count);
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgFailNext(count);
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,iSmsStackTestUtils->StoreParamsLeaveIfErrorL(*smspList,socket););
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		count++;
 		}
 
 	TEST(ret == KErrNone);
 
-	socketServer.__DbgFailNext(-1); // Reset heap
-//
-// Retrieve SMS parameters again and test the content of params
-//
+	iSocketServer.__DbgFailNext(-1); // Reset heap
+	//
+	// Retrieve SMS parameters again and test the content of params
+	//
 	//Wait a second, OOM macro is still closing!!
 	INFO_PRINTF1(_L("Retrieve parameters again..."));
 
@@ -2656,16 +2372,11 @@
 	ret = iSmsStackTestUtils->TestParameters(*smspList,*smspList2);
 	TEST(ret == KErrNone);
 
-	CleanupStack::PopAndDestroy(3);  //smspList2, smspList, socket
-
-	//Ensure socket server session is closed to remove cache
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	CleanupStack::PopAndDestroy(3, &socket);  //smspList2, smspList, socket
 #endif
 	return TestStepResult();
 	}
 
-
 //
 // Integration test harnesses against SIM tsy
 //
@@ -2676,14 +2387,9 @@
  */
 	{
 	INFO_PRINTF1(_L("Test the ME store containing duplicated and missing pdus"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 27);
-	
-
 	// Open the socket for SIM operations
 	RSocket enumSocket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,enumSocket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, enumSocket, ESmsAddrLocalOperation);
 
 	// Enumerate messages
 	RPointerArray<CSmsMessage> messages;
@@ -2695,7 +2401,7 @@
 	CleanupStack::PopAndDestroy(&enumSocket);
 
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	INFO_PRINTF1(_L("waiting for 1st incoming SMS...") );
 	WaitForRecvL(socket);
@@ -2718,14 +2424,11 @@
     delete smsMessage;
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	INFO_PRINTF1(_L("Additional waiting SMS protocol to get unloaded"));
-	User::After(20000000);
+ 	INFO_PRINTF1(_L("Additional waiting SMS protocol to get unloaded"));
+	User::After(20000000); // TODO: reviewers - is this needed here?
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestSimStoreDupAndMiss::doTestStepL()
 /**
  *  Test ME store containing concatenated messages when
@@ -2733,14 +2436,9 @@
  */
 	{
 	INFO_PRINTF1(_L("Test the ME store containing duplicated and missing pdus"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 28);
-	
-
 	// Open the socket for SIM operations
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrLocalOperation);
 
 	// Enumerate messages
 	RPointerArray<CSmsMessage> messages;
@@ -2770,35 +2468,25 @@
 	message = messages[0];
 	ret = DeleteSmsL(*message, socket);
 	TEST(ret == KErrNone);
-
 	messages.ResetAndDestroy();
 
 	ReadSmsStoreL(socket, messages);
-
 	TEST(messages.Count() == 4);
 
 	CleanupStack::PopAndDestroy(&messages);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestRxCphs::doTestStepL()
 /**
  *  Test the reception of a CPHS Message Waiting Indication
  */
 	{
 	INFO_PRINTF1(_L("Test Rx Message Waiting Cphs"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 30);
-	
-
-	// Open the socket for SIM operations
+	// Open the socket for Address Message Indications
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrMessageIndication);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrMessageIndication);
 
 	INFO_PRINTF1(_L("...waiting for incoming Message Waiting Indicator Cphs...") );
 	WaitForRecvL(socket);
@@ -2817,19 +2505,15 @@
 	TEST(((address.iTelNumber[2] & 0x7E) == 0x10));
 	TEST(((address.iTelNumber[3] & 0x7E) == 0x00));
 
-
 	//test for the user data: space and then free-format text
 	_LIT(KTestSingleSpace," ");
 	TestSmsContentsL(smsMessage,KTestSingleSpace);
 	INFO_PRINTF1(_L("Successful Match of Message Waiting Indicator Cphs") );
 
-	CleanupStack::PopAndDestroy(2); // socket, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestInvalidPDUs::doTestStepL()
 /**
  *  Test receiving invalid pdus.
@@ -2837,13 +2521,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test receiving invalid pdus"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 31);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 	_LIT(KTestMsg2,"Voicemail waiting");
 
@@ -2855,8 +2534,6 @@
 		INFO_PRINTF2(_L("waiting for incoming SMS No. %d..."), i);
 		WaitForRecvL(socket);
 		smsMessage = RecvSmsL(socket);
-
-		INFO_PRINTF1(_L("incoming SMS") );
 		CleanupStack::PushL(smsMessage);
 
 		if (i!=10 && i!= 16)
@@ -2867,29 +2544,21 @@
 		if (i==12)
 			TestSmsContentsL(smsMessage, KTestMsg2);
 		CleanupStack::PopAndDestroy(smsMessage);
-		i++;
+		++i;
 		}
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestStress::doTestStepL()
 /**
  *  Test Transmit and Receive large number of different messages
  */
 	{
 	INFO_PRINTF1(_L("Test Tx and Rx large number of messages"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 32);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -2898,38 +2567,32 @@
 	iServiceCenterNumber=KRadiolinjaSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
-	INFO_PRINTF1(_L("Send large number of messages"));
+	INFO_PRINTF1(_L("Send large number (20) of messages"));
 
 	TInt i(0);
-	//Send SMSes
 	while (i<20)
 		{
 		SendSmsL(smsMessage,socket);
-		i++;
+		++i;
 		}
 
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("Receive large number of messages"));
-	//Receive SMSes
+	INFO_PRINTF1(_L("Receive large number (20) of messages"));
 	while (i!=0)
 		{
-		INFO_PRINTF1(_L("waiting for incoming SMS...") );
 		WaitForRecvL(socket);
 		smsMessage = RecvSmsL(socket);
-
-		INFO_PRINTF1(_L("incoming SMS") );
-
 		CleanupStack::PushL(smsMessage);
+
 		TestSmsContentsL(smsMessage,KTestMsg1);
 		CleanupStack::PopAndDestroy(smsMessage);
-		i--;
+		--i;
 		}
 
 	_LIT(KTest7bitMsg,"test message, length 23"); //7 bits test message, length 23 characters
@@ -2939,8 +2602,7 @@
 	iServiceCenterNumber=KSoneraSC;
 
 	alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	smsMessage=CreateSmsMessageL(KTest7bitMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KTest7bitMsg,alphabet);
 
 	//Set status report request
 	CSmsSubmit& submitPdu=(CSmsSubmit&)smsMessage->SmsPDU();
@@ -2949,55 +2611,50 @@
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
-	INFO_PRINTF1(_L("Send large number of messages"));
-	//Send SMSes
+	INFO_PRINTF1(_L("Send large number (40) of messages"));
 	while (i<40)
 		{
 		SendSmsL(smsMessage,socket);
-		i++;
+		++i;
 		}
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive status report
 	TSmsServiceCenterAddress telephoneNumber(KPekka);
 
-	INFO_PRINTF1(_L("Receive large number of messages"));
-	//Receive SMSes
+	INFO_PRINTF1(_L("Receive large number (40) of messages"));
 	while (i!=0)
 		{
-		INFO_PRINTF1(_L("waiting for incoming SMS...") );
 		WaitForRecvL(socket);
 		smsMessage = RecvSmsL(socket);
-
-		INFO_PRINTF1(_L("incoming SMS") );
-
 		CleanupStack::PushL(smsMessage);
+		
 		TestSmsContentsL(smsMessage,KTest7bitMsg);
 		CleanupStack::PopAndDestroy(smsMessage);
-		i--;
+		--i;
 		//Receive status report
 		RecvStatusReportL(telephoneNumber, socket);
 		}
 
-//Tx and rx concatenated message & status report
+	//Tx and rx concatenated message & status report
 	_LIT(KLongText,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"The End.");
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KRegTestNumber;
@@ -3012,55 +2669,52 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	INFO_PRINTF1(_L("Recv concatenated message and status report"));
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+	
 	TestSmsContentsL(smsMessage,KLongText);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	telephoneNumber.Copy( KRegTestNumber );
 	RecvStatusReportL(telephoneNumber, socket);
 
-//Tx and rx longer concatenated message & status report
+	//Tx and rx longer concatenated message & status report
 	_LIT(KLongText2,"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"7 PDU test SMS message. "
-L"The End.");
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"7 PDU test SMS message. "
+	        L"The End.");
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
@@ -3068,20 +2722,17 @@
 
 	alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
 	smsMessage=CreateSmsWithStatusReportReqL(KLongText2,alphabet);
-
 	CleanupStack::PushL(smsMessage);
+
 	INFO_PRINTF1(_L("Send concatenated message"));
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	INFO_PRINTF1(_L("Recv concatenated message and status report"));
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+	
 	TestSmsContentsL(smsMessage,KLongText2);
 
 	telephoneNumber.Copy( KPekka );
@@ -3125,28 +2776,19 @@
     
     CleanupStack::PopAndDestroy(logEvent);
     CleanupStack::PopAndDestroy(smsMessage);        
-	
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestCombinedStore::doTestStepL()
 /**
  *  Test combined store.
  */
 	{
 	INFO_PRINTF1(_L("Test Combined SMS Store"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 33);
-	
-
 	// Open the socket for SIM operations
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrLocalOperation);
 
 	// Enumerate messages. Concatenated message with constituent PDUs is stored to the SIM, Phone store and
 	// Combined store. Also one normal single part message is stored to Combined store.
@@ -3178,32 +2820,30 @@
 	// Create and write message to the Combined store
 	_LIT(KStoreMsg1,"Store MSG to combined store");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsmessage1=CreateSmsMessageL(KStoreMsg1,alphabet);
-	CleanupStack::PushL(smsmessage1);
+	CSmsMessage* smsmessage1=CreateSmsMessageLC(KStoreMsg1,alphabet);
 	smsmessage1->SetStorage(CSmsMessage::ESmsCombinedStorage);
 	WriteSmsToSimL(*smsmessage1, socket);
 
 	// Create and write concatenated message to the Combined store
 	_LIT(KStoreMsg2,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
-	CSmsMessage* smsmessage2=CreateSmsMessageL(KStoreMsg2,alphabet);
-	CleanupStack::PushL(smsmessage2);
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"3 PDU test SMS message. "
+	        L"The End.");
+	CSmsMessage* smsmessage2=CreateSmsMessageLC(KStoreMsg2,alphabet);
 	smsmessage2->SetStorage(CSmsMessage::ESmsCombinedStorage);
 	WriteSmsToSimL(*smsmessage2, socket);
 
@@ -3227,13 +2867,10 @@
 	ReadSmsStoreL(socket, messages);
 	TEST(messages.Count()==0);
 
-	CleanupStack::PopAndDestroy(4);	//socket, messages, smsmessage1, smsmessage2
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(4, &socket);	//socket, messages, smsmessage1, smsmessage2
+    return TestStepResult() ;
 	}
 
-
 TVerdict CTestParamsInter::doTestStepL()
 /**
  *  Test retrieving and storing the sms parameters.
@@ -3241,20 +2878,15 @@
  */
 	{
 	INFO_PRINTF1(_L("Parameter storage data testing"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 34);
-	
-
 	TInt ret(KErrNone);
     TRequestStatus status;
 
-//
-// Retrieve SMS parameters
-//
+    //
+    // Retrieve SMS parameters
+    //
 	// Open the socket for SIM operations
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrLocalOperation);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrLocalOperation);
 
     RSmsSocketReadStream readstream(socket);
 
@@ -3278,9 +2910,9 @@
     User::WaitForRequest(status);
 	TEST(status.Int() == KErrNone);
 
-//
-// Store SMS parameters
-//
+	//
+	// Store SMS parameters
+	//
 	CMobilePhoneSmspList* smspList = CMobilePhoneSmspList::NewL();
 	CleanupStack::PushL(smspList);
 
@@ -3353,9 +2985,9 @@
     ret = iSmsStackTestUtils->StoreParamsL(*smspList,socket,EFalse);
 	TEST(ret == KErrNone);
 
-//
-// Retrieve SMS parameters again
-//
+	//
+	// Retrieve SMS parameters again
+	//
 	CMobilePhoneSmspList* smspList2=CMobilePhoneSmspList::NewL();
 	CleanupStack::PushL(smspList2);
 
@@ -3376,9 +3008,9 @@
 
 	CleanupStack::PopAndDestroy(2);	//smspList,smspList2
 
-//
-// Store original SMS parameters to the SIM
-//
+	//
+	// Store original SMS parameters to the SIM
+	//
 
     INFO_PRINTF1(_L("storing the original SMS parameters...") );
 
@@ -3386,26 +3018,18 @@
     ret = iSmsStackTestUtils->StoreParamsL(*smspListOriginal,socket,EFalse);
 	TEST(ret == KErrNone);
 
-	CleanupStack::PopAndDestroy(2); // socket,smspListOriginal
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socket); // socket,smspListOriginal
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestTxRxAlphanumeric::doTestStepL()
 /**
  *  Test a Tx And Rx of messages with alphanumeric dest/orig addresses
  */
 	{
 	INFO_PRINTF1(_L("Test Tx And Rx SMSes with Alphanumeric originator address"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 35);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
@@ -3431,8 +3055,7 @@
 		{
 		iTelephoneNumber=destinationNumbers[i];
 
-		txSms=CreateSmsMessageL(KTestMsg1,alphabet);
-		CleanupStack::PushL(txSms);
+		txSms=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 		gsmSmsTelNumber.iTelNumber.Copy(iTelephoneNumber);
 
@@ -3444,17 +3067,19 @@
 
 		//Send SMS
 		if(i!=0)
-			SendSmsL(txSms,socket);
+		    {
+            SendSmsL(txSms,socket);
+		    }
 		else
+		    {
 			SendSmsErrorL(txSms,socket);
-
+		    }
+		
 		if(i!=0)
 			{
 			INFO_PRINTF2(_L("waiting for incoming SMS No. %d..."), i);
 			WaitForRecvL(socket);
 			rxSms = RecvSmsL(socket);
-
-			INFO_PRINTF1(_L("incoming SMS") );
 			CleanupStack::PushL(rxSms);
 
 			TestSmsContentsL(rxSms,KTestMsg1);
@@ -3472,29 +3097,26 @@
 			CleanupStack::PopAndDestroy(rxSms);
 			}
 		CleanupStack::PopAndDestroy(txSms);
-		i++;
+		++i;
 		}
 
-	CleanupStack::PopAndDestroy(2); //socket, destinationNumbers
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socket); //socket, destinationNumbers
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestRxSuspend::doTestStepL()
 /**
  *  Test suspend receiving messages
  */
 	{
 	const TInt testNumber = 36;
-	const TInt smsRxCount = KDefaultMaxmumNumberOfCompleteMessagesInReassemblyStore + 1; //< Number of messages that will cause a suspend
+	const TInt smsRxCount = KDefaultMaxmumNumberOfCompleteMessagesInReassemblyStore + 1; // Number of messages that will cause a suspend
 
 	//Add smsRxCount SmsRx tags to c:\config.txt, taking KTSmsPrtConfigFileName as input
 	CTestConfig* configFile = CTestConfig::NewLC(iFs, KGmsSmsConfigFileDir, KTSmsPrtConfigFileName);
 
 	TInt i(0);
-	for (i = 0; i < smsRxCount; i++)
+	for (i = 0; i < smsRxCount; ++i)
 		{
 		_LIT(KTestRxSuspendMessage, "TestRxSuspendMessage %d");
 		TBuf<32> buf;
@@ -3515,37 +3137,38 @@
 
 	CleanupStack::PopAndDestroy(configFile);
 
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, testNumber);
+	// Set the test number. SIMTSY will re-configure itself
+	SetSimTSYTestNumberL(testNumber);
 	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	INFO_PRINTF1(_L("Test suspend receiving messages"));
 
 	CSmsMessage* smsMessage;
-	for (i = 0; i < smsRxCount; i++)
+	for (i = 0; i < smsRxCount; ++i)
 		{
 		INFO_PRINTF2(_L("%d Waiting for incoming SMS..."), i);
 		WaitForRecvL(socket);
 		smsMessage = RecvSmsL(socket, KIoctlReadMessageFailed);
-
-		PrintSmsMessage(*smsMessage);
-		delete smsMessage;
+		CleanupStack::PushL(smsMessage);
+
+		PrintMessageL(smsMessage);
+		CleanupStack::PopAndDestroy(smsMessage);
 
 		INFO_PRINTF3(_L("%d Waiting %d secs for next message"), i, rxPeriod);
 		User::After(rxPeriod * 1000000);
 		}
 
-	for (i = 0; i < smsRxCount; i++)
+	for (i = 0; i < smsRxCount; ++i)
 		{
 		INFO_PRINTF2(_L("%d Waiting for incoming SMS..."), i);
 		WaitForRecvL(socket);
 		smsMessage = RecvSmsL(socket, KIoctlReadMessageSucceeded);
-
-		PrintSmsMessage(*smsMessage);
-		delete smsMessage;
+		CleanupStack::PushL(smsMessage);
+
+		PrintMessageL(smsMessage);
+        CleanupStack::PopAndDestroy(smsMessage);
 		}
 
 	INFO_PRINTF2(_L("Waiting %d secs to see if other (unexpected) message received"), rxPeriod * 3);
@@ -3555,28 +3178,21 @@
 		{
 		INFO_PRINTF1(_L("Unexpected message received:"));
 		smsMessage = RecvSmsL(socket, KIoctlReadMessageSucceeded);
-		PrintSmsMessage(*smsMessage);
-		delete smsMessage;
+		CleanupStack::PushL(smsMessage);
+		PrintMessageL(smsMessage);
+        CleanupStack::PopAndDestroy(smsMessage);
 		}
 
 	TEST(!otherReceived);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestEnumerateCorrupted::doTestStepL()
 	{
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 37);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// Enumerate messages
 	RPointerArray<CSmsMessage> messages;
@@ -3589,12 +3205,9 @@
 	messages.ResetAndDestroy();
 	CleanupStack::PopAndDestroy(&messages);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+  	return TestStepResult() ;
 	}
 
-
 TVerdict CTestCancelling::doTestStepL()
 	{
 	/*This test harness has been created to reproduce  HOE-573FF6 that has been closed
@@ -3603,15 +3216,11 @@
 	note: the message count will keep increasing as the socket is not emptied
 	*/
 	INFO_PRINTF1(_L("Test Cancelling requests"));
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 38);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	RSocket socket2;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket2,ESmsAddrLocalOperation);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket2,ESmsAddrLocalOperation);
 	RSmsSocketWriteStream writestream(socket);
 
 	RPointerArray<CSmsMessage> messages;
@@ -3619,27 +3228,24 @@
 
 	_LIT(KStoreMsg1,"SIM TEST MESSAGE 1");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* smsmessage=CreateSmsMessageL(KStoreMsg1,alphabet);
-	CleanupStack::PushL(smsmessage);
+	CSmsMessage* smsmessage=CreateSmsMessageLC(KStoreMsg1,alphabet);
 	smsmessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 
 	TPckgBuf<TUint> sbuf;
 	TRequestStatus status;
-//***********************************************************
+
 	INFO_PRINTF1(_L("testing cancel send message"));
 
 	writestream << *smsmessage;
 	writestream.CommitL();
 
 	socket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
-	INFO_PRINTF1(_L("Cancel"));
+	INFO_PRINTF1(_L("Cancel send request"));
 	socket.CancelIoctl();
 	User::WaitForRequest(status);
-	TEST(status.Int()==KErrCancel);
+	TESTCHECK(status.Int(), KErrCancel, "Cancel send request");
 	//need to check here if the message has actually been sent
 
-
-//************************************************************
 	INFO_PRINTF1(_L("testing cancel Delete message"));
 
 	ReadSmsStoreL(socket, messages);
@@ -3653,13 +3259,9 @@
 	INFO_PRINTF1(_L("Cancel"));
 	User::After(300000);
 	socket.CancelIoctl();
-
 	User::WaitForRequest(status);
-	TEST(status.Int()==KErrCancel);
-	INFO_PRINTF1(_L("Cancel successfully"));
-
-
-//****************************************************
+    TESTCHECK(status.Int(), KErrCancel, "Cancel delete request");
+
 	INFO_PRINTF1(_L("testing cancel write message"));
 
 	writestream << *smsmessage;
@@ -3673,21 +3275,22 @@
 	CleanupStack::PopAndDestroy(&messages);
 	CleanupStack::PopAndDestroy(&socket2);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestSendAndRecvMsgsWithDifferentTON::doTestStepL()
 /**
  *  @test Send and receive messages with different type of number
  */
 	{
+    // TODO: replace the following two lines with 
+    // in-script commands(copy file, ParseSettingsFromFileL is called from preample) 
 	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigExtraFileName);
 	ParseSettingsFromFileL();
+	
 	TBool found( ETrue );
 	TInt count( 0 );
+	
 	while( found )
 		{
 		//run the test
@@ -3697,7 +3300,6 @@
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestSendAndReceiveIndicatorMsgs::doTestStepL()
 	{
 	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigExtraFileName);
@@ -3713,42 +3315,34 @@
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestSendRecvMaxLengthMsg::doTestStepL()
     {
     INFO_PRINTF1(_L("Sending max length SMS can take a while ... get a cup of coffee or two :-)"));
 	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigTxRxMaxMsgFileName);
-
 	ParseSettingsFromFileL();
-
-	RSocketServ socketServer;
-
-	PrepareRegTestLC(socketServer, 42);
 	
+	const TInt testNumber = 42;
+	SetSimTSYTestNumberL(testNumber);
 
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	HBufC* textBuf=HBufC::NewL(39015);
 	CleanupStack::PushL(textBuf);
 	TPtr textPtr=textBuf->Des();
 	TInt i;
-	for(i=0;i<255;i++)
+	for(i=0; i<255; ++i)
 		{
 		textPtr.Append(KText);
 		}
 
 	SendAndRecvSms7BitL(textPtr,socket);
-
-	CleanupStack::PopAndDestroy(2);
-    CleanupStack::PopAndDestroy(&socketServer);
+	CleanupStack::PopAndDestroy(2, &socket); // socket, textBuf
 
 	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigFileName);
-
 	return TestStepResult() ;
     }
 
-
 TVerdict CTestSendAndRecvMsgsWithDifferentPID::doTestStepL()
 /**
  *  @test Send and receive messages with different type of protocol identifier
@@ -3758,22 +3352,19 @@
 	ParseSettingsFromFileL();
 
     INFO_PRINTF1(_L("Send and receive messages with different type of TP-PID"));
-
-	RSocketServ socketServer;
-
-	PrepareRegTestLC(socketServer, 41);
-	
+    
+    const TInt testNumber = 41;
+    SetSimTSYTestNumberL(testNumber);
 
 	RSocket sendSocket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,sendSocket,ESmsAddrSendOnly);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,sendSocket,ESmsAddrSendOnly);
 
 	_LIT(KTestMsg,"Test message.");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet7Bit;
-	CSmsMessage* sendMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(sendMessage);
+	CSmsMessage* sendMessage=CreateSmsMessageLC(KTestMsg,alphabet);
     CSmsSubmit& submitPdu=(CSmsSubmit&)sendMessage->SmsPDU();
 
-// TP-PID is telex (or teletex reduced to telex format)
+    // TP-PID is telex (or teletex reduced to telex format)
 	submitPdu.SetPIDType(TSmsProtocolIdentifier::ESmsPIDTelematicInterworking);
 	submitPdu.SetTelematicDeviceIndicator(TSmsProtocolIdentifier::ESmsTelematicDevice);
 	submitPdu.SetTelematicDeviceType(TSmsProtocolIdentifier::ESmsTelex);
@@ -3781,9 +3372,8 @@
 	SendSmsL(sendMessage,sendSocket);
 
 	RSocket recvSocket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,recvSocket,ESmsAddrRecvAny);
-
-	INFO_PRINTF1(_L("Waiting for incoming SMS...") );
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,recvSocket,ESmsAddrRecvAny);
+
 	WaitForRecvL(recvSocket);
 	CSmsMessage* recvMessage = RecvSmsL(recvSocket);
 	CleanupStack::PushL(recvMessage);
@@ -3794,9 +3384,9 @@
 	TEST(deliverPdu1.TelematicDeviceIndicator() == submitPdu.TelematicDeviceIndicator());
 	TEST(deliverPdu1.TelematicDeviceType() == submitPdu.TelematicDeviceType());
 
-	CleanupStack::PopAndDestroy(2);	//recvSocket,recvMessage
-
-// TP-PID is Replace Short Message Type 1
+	CleanupStack::PopAndDestroy(2, &recvSocket); //recvSocket, recvMessage
+
+	// TP-PID is Replace Short Message Type 1
 	submitPdu.SetPIDType(TSmsProtocolIdentifier::ESmsPIDShortMessageType);
 	submitPdu.SetShortMessageType(TSmsProtocolIdentifier::ESmsReplaceShortMessageType1);
 	INFO_PRINTF1(_L("Send SMS message. TP-PID is Replace Short Message Type 1") );
@@ -3806,7 +3396,7 @@
 	SendSmsL(sendMessage,sendSocket);
 
 	INFO_PRINTF1(_L("Open ESmsAddrRecvAny socket and receive messages") );
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,recvSocket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,recvSocket,ESmsAddrRecvAny);
 
 	INFO_PRINTF1(_L("Waiting for incoming SMS...") );
 	WaitForRecvL(recvSocket);
@@ -3831,7 +3421,6 @@
 	/*I beleive the above is wrong, the sms stack does not care about the PID and just passes the message
 	it is up to the applicatio to do that check; therefore the 2 replace messages are received -Pierre*/
 
-
 	WaitForRecvL(recvSocket);
 	recvMessage = RecvSmsL(recvSocket);
 	CleanupStack::PushL(recvMessage);
@@ -3842,40 +3431,43 @@
 	TEST(deliverPdu3.ShortMessageType() == submitPdu.ShortMessageType());
 	CleanupStack::PopAndDestroy(recvMessage);
 
-	CleanupStack::PopAndDestroy(3);	//socketServer,sendSocket,sendMessage,recvSocket
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigFileName);
+	CleanupStack::PopAndDestroy(3, &sendSocket);	// sendSocket,sendMessage,recvSocket
+    iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigFileName);
 	return TestStepResult() ;
 	}
 
-
-TVerdict CSmsParamsErrorCases::doTestStepL()
+TVerdict CTestSmsParamsErrorCases::doTestStepL()
  /**
   *  Test SMS parameters while error returned from TSY.
   *  Manual function moved from t_sms_inter_auto test suite.
   */
 	{
-	INFO_PRINTF1(_L("Test SMS prameters while eror returned from TSY"));
+	INFO_PRINTF1(_L("Test SMS prameters while error returned from TSY"));
 	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigExtraFileName);
+	
 	const TInt testNumber = 43;         // or any number it reaches
 	CTestConfig* configFile = CTestConfig::NewLC(iFs, KGmsSmsConfigFileDir, KTSmsPrtConfigExtraFileName);
+	
 	CTestConfigSection& section = iSmsStackTestUtils->GetSectionL(*configFile, testNumber);
 	TInt param = section.ItemValue(KSmspEntryValidParams, 2);
+	
 	RMobileSmsMessaging::TMobileSmspStoreValidParams smspEntryValidParams = ( RMobileSmsMessaging::TMobileSmspStoreValidParams )param;
 	param = section.ItemValue(KSmspEntryScTypeOfNumber, 1);
+	
 	RMobilePhone::TMobileTON smspEntryScTypeOfNumber = ( RMobilePhone::TMobileTON )param;
 	param = section.ItemValue(KSmspEntryScNumberPlan, 1);
+	
 	RMobilePhone::TMobileNPI smspEntryScNumberPlan = ( RMobilePhone::TMobileNPI )param;
 	const TDesC8& smspEntryScTelNumber = section.ItemValue(KServiceCentreAddress, (_L8("+358508771010")));
 
 	TestSmsParamsErrorCasesL(smspEntryValidParams, smspEntryScTypeOfNumber, smspEntryScNumberPlan, smspEntryScTelNumber);
+	
 	CleanupStack::PopAndDestroy(configFile);
 	iSmsStackTestUtils->CopyConfigFileL(KTSmsPrtConfigFileName);
 	return TestStepResult() ;
 	}
 
-void CSmsParamsErrorCases::TestSmsParamsErrorCasesL(
+void CTestSmsParamsErrorCases::TestSmsParamsErrorCasesL(
 		RMobileSmsMessaging::TMobileSmspStoreValidParams aSmspEntryValidParams,
 		RMobilePhone::TMobileTON aSmspEntryScTypeOfNumber,
 		RMobilePhone::TMobileNPI aSmspEntryScNumberPlan,
@@ -3885,25 +3477,44 @@
  */
     {
     INFO_PRINTF1(_L("TSY returns error to retrieve and store SMSP list requests"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer,43);
-	
-
+    
+    const TInt testNumber = 43;
+    SetSimTSYTestNumberL(testNumber);
+    
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrLocalOperation);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrLocalOperation);
 
 	RSmsSocketReadStream readstream(socket);
 	TRequestStatus status;
 
-//
-//Retrieve SMSP list
-//
-    // Make read SMS params request to the SMS Stack.
-    socket.Ioctl(KIoctlReadSmsParams,status,NULL, KSolSmsProv);
+    TBool tryAgain = ETrue;
+    TInt attempts (0);
+    TInt maxRetries = 3;
+	
+    //
+	//Retrieve SMSP list
+	//
+	
+    // Make read SMS params request to the SMS Stack. If it fails with KErrNotReady wait for 3 seconds to 
+    // allow sms protocol to fully load and repeat
     INFO_PRINTF1(_L("Waiting for SMS parameters...") );
-    User::WaitForRequest(status);
-	INFO_PRINTF2(_L("Read parameters returned %d"), status.Int());
+    while( tryAgain && attempts++ < maxRetries )
+        {
+        socket.Ioctl(KIoctlReadSmsParams,status,NULL, KSolSmsProv);
+        User::WaitForRequest(status);
+        INFO_PRINTF2(_L("Read parameters returned %d"), status.Int());
+        
+        if ( status.Int() == KErrNotReady )
+            {
+            INFO_PRINTF1(_L("Trying again... "));
+            User::After(3000000);
+            }
+        else
+            {
+            tryAgain = EFalse;
+            }
+        }
+    
 	if(status.Int() == KErrNone)
 		{
 		CMobilePhoneSmspList* smspList = CMobilePhoneSmspList::NewL();
@@ -3914,11 +3525,11 @@
 		User::WaitForRequest(status);
 		CleanupStack::PopAndDestroy(smspList);
 		}
-		TEST(status.Int() == KErrNone);
-
-//
-//Store SMSP list
-//
+	TEST(status.Int() == KErrNone);
+
+	//
+	//Store SMSP list
+	//
 	// Create the smspList
     CMobilePhoneSmspList* smspList = CMobilePhoneSmspList::NewL();
     CleanupStack::PushL(smspList);
@@ -3938,11 +3549,8 @@
 
 	CleanupStack::PopAndDestroy(smspList);
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	}
 
-
 TVerdict CTestResendFailedConcatinatedMessage::doTestStepL()
 /**
  *  Test that sent PDUs in failed concatenated message are not re-sent"
@@ -3951,32 +3559,10 @@
 	INFO_PRINTF1(_L(" Test that sent PDUs in failed concatenated message are not re-sent"));
 	TLogId logid;
 	TLogSmsPduData pduData;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 44);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-    // Create comms database object
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
-    // EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
+	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
 
 	_LIT(KTestMsg1,"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCC");
 
@@ -3984,126 +3570,105 @@
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KRadiolinjaSC;
 
-
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
 	//Send SMS	- first pdu fails
-
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 	pduData.iType=smsMessage->Type();
 	logid=iSmsStackTestUtils->AddLogEventL(*smsMessage,pduData);
 	smsMessage->SetLogServerId(logid);
+	
 	INFO_PRINTF2(_L("Sends message with log id %d"),logid);
 	SendSmsErrorL(smsMessage,socket);
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
+	
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 	TestSmsContentsL(smsMessage,KTestMsg1);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Send SMS	- second pdu fails
-
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 	pduData.iType=smsMessage->Type();
 	logid=iSmsStackTestUtils->AddLogEventL(*smsMessage,pduData);
 	smsMessage->SetLogServerId(logid);
+	
 	INFO_PRINTF2(_L("Sends message with log id %d"),logid);
 	SendSmsErrorL(smsMessage,socket);
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KTestMsg1);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-
 	//Send SMS	- third pdu fails
-
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 	pduData.iType=smsMessage->Type();
 	logid=iSmsStackTestUtils->AddLogEventL(*smsMessage,pduData);
 	smsMessage->SetLogServerId(logid);
+	
 	INFO_PRINTF2(_L("Sends message with log id %d"),logid);
 	SendSmsErrorL(smsMessage,socket);
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KTestMsg1);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Send SMS	- fourth pdu fails
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 	pduData.iType=smsMessage->Type();
 	logid=iSmsStackTestUtils->AddLogEventL(*smsMessage,pduData);
 	smsMessage->SetLogServerId(logid);
+	
 	INFO_PRINTF2(_L("Sends message with log id %d"),logid);
 	SendSmsErrorL(smsMessage,socket);
 	smsMessage->SetLogServerId(KLogNullId);
+	
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+	
 	TestSmsContentsL(smsMessage,KTestMsg1);
 	CleanupStack::PopAndDestroy(smsMessage);
+	
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+    return TestStepResult() ;
 	}
 
-
+// TODO: move to WAP STACK test suite
 TVerdict CTestMultipartWapMessage::doTestStepL()
 /**
  *  test multi-part WAP message
  */
 	{
-
 	INFO_PRINTF1(_L("Test receive multi-part WAP message"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 45);
-	
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	RSocket wapsock;
-	TInt ret=wapsock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol);
+	TInt ret=wapsock.Open(iSocketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol);
 	TEST(ret == KErrNone);
 
 	TWapAddr recvWapAddr;
@@ -4134,35 +3699,26 @@
 		buf.Zero();
 		const TInt midLen = Min(KMaxPrintLen, len - pos);
 		buf.SetLength(midLen);
-		for (TInt i=0; i<midLen; i++)
+		for (TInt i=0; i<midLen; ++i)
+		    {
 			buf[i]=recvBuf[pos+i];
+		    }
 		INFO_PRINTF2(_L("%S"), &buf);
 		}
 
 	wapsock.Close();
-
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestMOSESMessage::doTestStepL()
 /**
  *  Test a simple Receive of a single TPDU containing a simple text
  */
 	{
 	INFO_PRINTF1(_L("Test receive MOSES message"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 46);
-	
-
 	RSocket socketRecvAny;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer, socketRecvAny, ESmsAddrRecvAny);
-
-	INFO_PRINTF1(_L("waiting for incoming SMS ...") );
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socketRecvAny, ESmsAddrRecvAny);
 
 	WaitForRecvL(socketRecvAny);
 	CSmsMessage* smsMessage = RecvSmsL(socketRecvAny);
@@ -4172,46 +3728,20 @@
 	INFO_PRINTF1(_L(""));
 
 	CleanupStack::PushL(smsMessage);
-
-	CleanupStack::PopAndDestroy(2); //  socketRecvAny, smsMessage
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+	CleanupStack::PopAndDestroy(2, &socketRecvAny); //  socketRecvAny, smsMessage
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestClockBack::doTestStepL()
  /**
   *  Test clock back
   */
-{
+    {
  	INFO_PRINTF1(_L(" Test that turning back time does not result in 2 receipts of same messages"));
-
- 	RSocketServ socketServer;
- 	PrepareRegTestLC(socketServer, 47);
-	
-
  	RSocket socket;
- 	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
- 	// Create comms database object
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
- 	CleanupStack::PushL(db);
-
- 	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
- 	// EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
+ 	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
+ 	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
 
  	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -4219,7 +3749,6 @@
  	iTelephoneNumber=KPekka;
  	iServiceCenterNumber=KRadiolinjaSC;
 
-
  	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
 
  	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
@@ -4229,19 +3758,15 @@
 	User::SetUTCOffset(-2*60*60);
 
  	//Send SMS
-
- 	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
- 	CleanupStack::PushL(smsMessage);
+ 	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
  	SendSmsL(smsMessage,socket);
  	CleanupStack::PopAndDestroy(smsMessage);
+
  	//Receive SMS
- 	INFO_PRINTF1(_L("waiting for incoming SMS...") );
  	WaitForRecvL(socket);
  	smsMessage = RecvSmsL(socket);
-
- 	INFO_PRINTF1(_L("incoming SMS") );
-
  	CleanupStack::PushL(smsMessage);
+
  	TestSmsContentsL(smsMessage,KTestMsg1);
  	CleanupStack::PopAndDestroy(smsMessage);
 
@@ -4251,48 +3776,56 @@
  	TEST(otherReceived ==EFalse);
 
  	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
- 
-	return TestStepResult() ;
-}
-
+    return TestStepResult() ;
+    }
 
 TVerdict CTestEnumerateNoMessages::doTestStepL()
 /**
  *  Test enumerating a message store which has no messages in it.
  *  There are 3 message stores s13 has 0 messages, S14 has 1 message and S15 has 2 messages
  */
-{
+    {
 	INFO_PRINTF1(_L("Test enumerating a message store which has no messages"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 48);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
- 	// Enumerate messages from Store
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
 	TRequestStatus status;
 	TPckgBuf<TUint> sbuf;
 	sbuf()=0;
 
-	//Now enumerate messages from store
-	socket.Ioctl(KIoctlEnumerateSmsMessages,status,&sbuf, KSolSmsProv);
-	User::WaitForRequest(status);
-	TEST(status.Int()==KErrNone);
-
+    TBool tryAgain = ETrue;
+    TInt attempts (0);
+    TInt maxRetries = 3;
+
+    // Enumerate messages from store. If it fails with KErrNotReady wait for 3 seconds to 
+    // allow sms protocol to fully load and repeat
+    while( tryAgain && attempts++ < maxRetries )
+        {
+        socket.Ioctl(KIoctlEnumerateSmsMessages,status,&sbuf, KSolSmsProv);
+        User::WaitForRequest(status);
+        INFO_PRINTF2(_L("Enumerate messages from store returned [status=%d]"), status.Int());
+        
+        if ( status.Int() == KErrNotReady )
+            {
+            INFO_PRINTF1(_L("Trying to enumerate again... "));
+            User::After(3000000);
+            }
+        else
+            {
+            tryAgain = EFalse;
+            }
+        }
+
+    TESTCHECK(status.Int(), KErrNone, "Enumerate messages from store");
+    
 	//sbuf() includes the count of messages on Store
 	TInt count = sbuf();
 	INFO_PRINTF2(_L("%d enumerated messages"), count);
 	TEST(count==3);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
-}
-
+ 	return TestStepResult() ;
+    }
 
 TVerdict CTestIE::doTestStepL()
 /**
@@ -4300,46 +3833,37 @@
  */
 {
 	INFO_PRINTF1(_L("Test IE"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 52);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KRadiolinjaSC;
 	CSmsMessage* smsMessage=NULL;
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
+	
 	CleanupStack::PushL(smsMessage);
 	CSmsUserData& recvUserData = smsMessage->SmsPDU().UserData();
 	TInt numIE=recvUserData.NumInformationElements();
-	for(TInt k=0;k<numIE;k++)
+	
+	for(TInt i=0; i<numIE; ++i)
 		{
-		CSmsInformationElement& ie=recvUserData.InformationElement(k);
+		CSmsInformationElement& ie=recvUserData.InformationElement(i);
 		TPtr8 ptr(ie.Data());
-		INFO_PRINTF4(_L(" %d. ie  is %d %S"),k,ie.Identifier(),&ptr);
+		INFO_PRINTF4(_L(" %d. ie  is %d %S"),i ,ie.Identifier(), &ptr);
 		}
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+ 	return TestStepResult() ;
 }
 
-
 TVerdict CTestEmailIE::doTestStepL()
 /**
  *  Test the reception of a CPHS Message Waiting Indication
  */
-
 	{
 	INFO_PRINTF1(_L("Test EmailIE"));
 	_LIT(KTestMsg1,"MMMMMMMMMM");
@@ -4349,128 +3873,118 @@
 	_LIT16(KSmsEmailHeaderLong,"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA");
 	_LIT16(KSmsEmailBodyLong,"BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB");
 
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 53);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrEmail);
-
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrEmail);
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
 	iServiceCenterNumber=KRadiolinjaSC;
 	CSmsMessage* smsMessage=NULL;
-
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
+	
 	// case 1 short - one pdu
 	smsMessage->AddEmailHeaderL(KSmsEmailHeaderShort,KSmsEmailBodyShort);
-	//Send SMS
+
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
+	
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+	
 	CSmsUserData& recvUserData = smsMessage->SmsPDU().UserData();
 	TInt numIE=recvUserData.NumInformationElements();
-	TInt k=0;
-	for(k=0;k<numIE;k++)
+	
+	for(TInt i=0; i<numIE; ++i)
 		{
-		CSmsInformationElement& ie=recvUserData.InformationElement(k);
+		CSmsInformationElement& ie=recvUserData.InformationElement(i);
 		TPtr8 ptr(ie.Data());
-		INFO_PRINTF4(_L(" %d. ie  is %d %S"),k,ie.Identifier(),&ptr);
+		INFO_PRINTF4(_L(" %d. ie  is %d %S"), i, ie.Identifier(), &ptr);
 		}
 
 	TLogId logId(KLogNullId);
-	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Message does noty contain E-Mail header"));
+	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Checking if message contains E-Mail header"));
 	HBufC* bd;
 	HBufC* hd;
 	if(smsMessage->GetEmailHeaderL(&hd,&bd))
 		{
-			INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
-			INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
-			TEST(*hd==KSmsEmailHeaderShort());
-			TEST(*bd==KSmsEmailBodyShort());
-			logId=smsMessage->LogServerId();
-			if(logId!=KLogNullId)
+		INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
+		INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
+		TEST(*hd==KSmsEmailHeaderShort());
+		TEST(*bd==KSmsEmailBodyShort());
+		logId=smsMessage->LogServerId();
+		
+		if(logId!=KLogNullId)
 			{
-				TLogSmsPduData pduData;
-				CLogEvent* logEvent=CLogEvent::NewL();
-				CleanupStack::PushL(logEvent);
-				iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
-				TPckg<TLogSmsPduData> packeddata(pduData);
-				packeddata.Copy(logEvent->Data());
-				TEST(packeddata().iTotal==1);
-				TEST(packeddata().iReceived==1);
-				CleanupStack::PopAndDestroy(logEvent);
+			TLogSmsPduData pduData;
+			CLogEvent* logEvent=CLogEvent::NewL();
+			CleanupStack::PushL(logEvent);
+			iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
+			TPckg<TLogSmsPduData> packeddata(pduData);
+			packeddata.Copy(logEvent->Data());
+			TEST(packeddata().iTotal==1);
+			TEST(packeddata().iReceived==1);
+			CleanupStack::PopAndDestroy(logEvent);
 			}
-			delete hd;
-			delete bd;
+		delete hd;
+		delete bd;
 		}
-	//
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	// case 2 - long header
-
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	smsMessage->AddEmailHeaderL(KSmsEmailHeaderLong,KSmsEmailBodyShort);
 
-	//Send SMS
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+
+	CSmsUserData& recvUserData2 = smsMessage->SmsPDU().UserData();
+	numIE=recvUserData2.NumInformationElements();
+	
+	for(TInt i=0; i<numIE; ++i)
 		{
-		CSmsUserData& recvUserData2 = smsMessage->SmsPDU().UserData();
-		TInt numIE=recvUserData2.NumInformationElements();
-		for(TInt k=0;k<numIE;k++)
-			{
-			CSmsInformationElement& ie=recvUserData2.InformationElement(k);
-			TPtr8 ptr(ie.Data());
-			INFO_PRINTF4(_L(" %d. ie  is %d %S"),k,ie.Identifier(),&ptr);
-			}
+		CSmsInformationElement& ie=recvUserData2.InformationElement(i);
+		TPtr8 ptr(ie.Data());
+		INFO_PRINTF4(_L(" %d. ie  is %d %S"), i, ie.Identifier(), &ptr);
 		}
 
 	logId=KLogNullId;
 	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Message does noty contain E-Mail header"));
 	if(smsMessage->GetEmailHeaderL(&hd,&bd))
+	    {
+		INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
+		INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
+		TEST(*hd==KSmsEmailHeaderLong());
+		TEST(*bd==KSmsEmailBodyShort());
+		logId=smsMessage->LogServerId();
+		if(logId!=KLogNullId)
 			{
-			INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
-			INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
-			TEST(*hd==KSmsEmailHeaderLong());
-			TEST(*bd==KSmsEmailBodyShort());
-			logId=smsMessage->LogServerId();
-			if(logId!=KLogNullId)
-				{
-				TLogSmsPduData pduData;
-				CLogEvent* logEvent=CLogEvent::NewL();
-				CleanupStack::PushL(logEvent);
-				iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
-				TPckg<TLogSmsPduData> packeddata(pduData);
-				packeddata.Copy(logEvent->Data());
-				TEST(packeddata().iTotal==2);
-				TEST(packeddata().iReceived==2);
-				CleanupStack::PopAndDestroy(logEvent);
-				}
-			delete hd;
-			delete bd;
+			TLogSmsPduData pduData;
+			CLogEvent* logEvent=CLogEvent::NewL();
+			CleanupStack::PushL(logEvent);
+			iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
+			TPckg<TLogSmsPduData> packeddata(pduData);
+			packeddata.Copy(logEvent->Data());
+			TEST(packeddata().iTotal==2);
+			TEST(packeddata().iReceived==2);
+			CleanupStack::PopAndDestroy(logEvent);
 			}
-	//
+		delete hd;
+		delete bd;
+		}
 	CleanupStack::PopAndDestroy(smsMessage);
 
 
 	// case 3 - short header  long body
 
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	smsMessage->AddEmailHeaderL(KSmsEmailHeaderShort,KSmsEmailBodyLong);
 
@@ -4482,249 +3996,214 @@
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+
+	CSmsUserData& recvUserData3 = smsMessage->SmsPDU().UserData();
+	numIE = recvUserData3.NumInformationElements();
+	for(TInt i=0; i<numIE; ++i)
 		{
-		CSmsUserData& recvUserData3 = smsMessage->SmsPDU().UserData();
-		TInt numIE=recvUserData3.NumInformationElements();
-		for(TInt k=0;k<numIE;k++)
-			{
-			CSmsInformationElement& ie=recvUserData3.InformationElement(k);
-			TPtr8 ptr(ie.Data());
-			INFO_PRINTF4(_L(" %d. ie  is %d %S"),k,ie.Identifier(),&ptr);
-			}
-		}
-
-	logId=KLogNullId;
-	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Message does noty contain E-Mail header"));
-	if(smsMessage->GetEmailHeaderL(&hd,&bd))
-			{
-			INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
-			INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
-			TEST(*hd==KSmsEmailHeaderShort());
-			TEST(*bd==KSmsEmailBodyLong());
-			logId=smsMessage->LogServerId();
-			if(logId!=KLogNullId)
-				{
-				TLogSmsPduData pduData;
-				CLogEvent* logEvent=CLogEvent::NewL();
-				CleanupStack::PushL(logEvent);
-				iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
-				TPckg<TLogSmsPduData> packeddata(pduData);
-				packeddata.Copy(logEvent->Data());
-				TEST(packeddata().iTotal==2);
-				TEST(packeddata().iReceived==2);
-				CleanupStack::PopAndDestroy(logEvent);
-				}
-			delete hd;
-			delete bd;
-			}
-	//
-	CleanupStack::PopAndDestroy(smsMessage);
-
-
-	// case 4 - long header  long body
-
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
-
-	smsMessage->AddEmailHeaderL(KSmsEmailHeaderLong,KSmsEmailBodyLong);
-
-	//Send SMS
-	SendSmsL(smsMessage,socket);
-	CleanupStack::PopAndDestroy(smsMessage);
-
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
-	WaitForRecvL(socket);
-	smsMessage = RecvSmsL(socket);
-	CleanupStack::PushL(smsMessage);
-		{
-		CSmsUserData& recvUserData4 = smsMessage->SmsPDU().UserData();
-		TInt numIE=recvUserData4.NumInformationElements();
-		for(TInt k=0;k<numIE;k++)
-			{
-			CSmsInformationElement& ie=recvUserData4.InformationElement(k);
-			TPtr8 ptr(ie.Data());
-			INFO_PRINTF4(_L(" %d. ie  is %d %S"),k,ie.Identifier(),&ptr);
-			}
+		CSmsInformationElement& ie=recvUserData3.InformationElement(i);
+		TPtr8 ptr(ie.Data());
+		INFO_PRINTF4(_L(" %d. ie  is %d %S"), i, ie.Identifier(), &ptr);
 		}
 
 	logId=KLogNullId;
 	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Message does noty contain E-Mail header"));
 	if(smsMessage->GetEmailHeaderL(&hd,&bd))
+		{
+		INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
+		INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
+		TEST(*hd==KSmsEmailHeaderShort());
+		TEST(*bd==KSmsEmailBodyLong());
+		logId=smsMessage->LogServerId();
+		if(logId!=KLogNullId)
 			{
-			INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
-			INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
-			TEST(*hd==KSmsEmailHeaderLong());
-			TEST(*bd==KSmsEmailBodyLong());
-			logId=smsMessage->LogServerId();
-			if(logId!=KLogNullId)
-				{
-				TLogSmsPduData pduData;
-				CLogEvent* logEvent=CLogEvent::NewL();
-				CleanupStack::PushL(logEvent);
-				iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
-				TPckg<TLogSmsPduData> packeddata(pduData);
-				packeddata.Copy(logEvent->Data());
-				TEST(packeddata().iTotal==3);
-				TEST(packeddata().iReceived==3);
-				CleanupStack::PopAndDestroy(logEvent);
-				}
-			delete hd;
-			delete bd;
+			TLogSmsPduData pduData;
+			CLogEvent* logEvent=CLogEvent::NewL();
+			CleanupStack::PushL(logEvent);
+			iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
+			TPckg<TLogSmsPduData> packeddata(pduData);
+			packeddata.Copy(logEvent->Data());
+			TEST(packeddata().iTotal==2);
+			TEST(packeddata().iReceived==2);
+			CleanupStack::PopAndDestroy(logEvent);
 			}
-	//
+		delete hd;
+		delete bd;
+		}
 	CleanupStack::PopAndDestroy(smsMessage);
 
-
-	// case 5 - long header  long body, unicode
-
-	smsMessage=CreateSmsMessageL(KTestMsg1,TSmsDataCodingScheme::ESmsAlphabetUCS2);
-	CleanupStack::PushL(smsMessage);
+	// case 4 - long header  long body
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	smsMessage->AddEmailHeaderL(KSmsEmailHeaderLong,KSmsEmailBodyLong);
 
-	//Send SMS
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+	
+	CSmsUserData& recvUserData4 = smsMessage->SmsPDU().UserData();
+	numIE=recvUserData4.NumInformationElements();
+	
+    for(TInt i=0; i<numIE; ++i)
 		{
-		CSmsUserData& recvUserData4 = smsMessage->SmsPDU().UserData();
-		TInt numIE=recvUserData4.NumInformationElements();
-		for(TInt k=0;k<numIE;k++)
+		CSmsInformationElement& ie=recvUserData4.InformationElement(i);
+		TPtr8 ptr(ie.Data());
+		INFO_PRINTF4(_L(" %d. ie  is %d %S"), i, ie.Identifier(), &ptr);
+		}
+	
+	logId=KLogNullId;
+	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Message does noty contain E-Mail header"));
+	if(smsMessage->GetEmailHeaderL(&hd,&bd))
+		{
+		INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
+		INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
+		TEST(*hd==KSmsEmailHeaderLong());
+		TEST(*bd==KSmsEmailBodyLong());
+		logId=smsMessage->LogServerId();
+		if(logId!=KLogNullId)
 			{
-			CSmsInformationElement& ie=recvUserData4.InformationElement(k);
-			TPtr8 ptr(ie.Data());
-			INFO_PRINTF4(_L(" %d. ie  is %d %S"),k,ie.Identifier(),&ptr);
+			TLogSmsPduData pduData;
+			CLogEvent* logEvent=CLogEvent::NewL();
+			CleanupStack::PushL(logEvent);
+			iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
+			TPckg<TLogSmsPduData> packeddata(pduData);
+			packeddata.Copy(logEvent->Data());
+			TEST(packeddata().iTotal==3);
+			TEST(packeddata().iReceived==3);
+			CleanupStack::PopAndDestroy(logEvent);
 			}
+		delete hd;
+		delete bd;
+		}
+
+	CleanupStack::PopAndDestroy(smsMessage);
+
+	// case 5 - long header, long body, unicode
+	smsMessage=CreateSmsMessageLC(KTestMsg1,TSmsDataCodingScheme::ESmsAlphabetUCS2);
+
+	smsMessage->AddEmailHeaderL(KSmsEmailHeaderLong,KSmsEmailBodyLong);
+
+	SendSmsL(smsMessage,socket);
+	CleanupStack::PopAndDestroy(smsMessage);
+
+	WaitForRecvL(socket);
+	smsMessage = RecvSmsL(socket);
+	CleanupStack::PushL(smsMessage);
+
+	CSmsUserData& recvUserData5 = smsMessage->SmsPDU().UserData();
+	numIE=recvUserData5.NumInformationElements();
+    for(TInt i=0; i<numIE; ++i)
+		{
+		CSmsInformationElement& ie=recvUserData5.InformationElement(i);
+		TPtr8 ptr(ie.Data());
+		INFO_PRINTF4(_L(" %d. ie  is %d %S"), i, ie.Identifier(), &ptr);
 		}
 
 	logId=KLogNullId;
 	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Message does noty contain E-Mail header"));
 	if(smsMessage->GetEmailHeaderL(&hd,&bd))
+		{
+		INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
+		INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
+		TEST(*hd==KSmsEmailHeaderLong());
+		TEST(*bd==KSmsEmailBodyLong());
+		logId=smsMessage->LogServerId();
+		if(logId!=KLogNullId)
 			{
-			INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
-			INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
-			TEST(*hd==KSmsEmailHeaderLong());
-			TEST(*bd==KSmsEmailBodyLong());
-			logId=smsMessage->LogServerId();
-			if(logId!=KLogNullId)
-				{
-				TLogSmsPduData pduData;
-				CLogEvent* logEvent=CLogEvent::NewL();
-				CleanupStack::PushL(logEvent);
-				iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
-				TPckg<TLogSmsPduData> packeddata(pduData);
-				packeddata.Copy(logEvent->Data());
-				TEST(packeddata().iTotal==6);
-				TEST(packeddata().iReceived==6);
-				CleanupStack::PopAndDestroy(logEvent);
-				}
-			delete hd;
-			delete bd;
+			TLogSmsPduData pduData;
+			CLogEvent* logEvent=CLogEvent::NewL();
+			CleanupStack::PushL(logEvent);
+			iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
+			TPckg<TLogSmsPduData> packeddata(pduData);
+			packeddata.Copy(logEvent->Data());
+			TEST(packeddata().iTotal==6);
+			TEST(packeddata().iReceived==6);
+			CleanupStack::PopAndDestroy(logEvent);
 			}
-	//
+		delete hd;
+		delete bd;
+		}
 	CleanupStack::PopAndDestroy(smsMessage);
 
 
-
 	// case 6 - long header  long body, 7bit
-
-	smsMessage=CreateSmsMessageL(KTestMsg1,TSmsDataCodingScheme::ESmsAlphabet7Bit);
-	CleanupStack::PushL(smsMessage);
+	smsMessage=CreateSmsMessageLC(KTestMsg1,TSmsDataCodingScheme::ESmsAlphabet7Bit);
 
 	smsMessage->AddEmailHeaderL(KSmsEmailHeaderLong,KSmsEmailBodyLong);
 
-	//Send SMS
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+
+	CSmsUserData& recvUserData6 = smsMessage->SmsPDU().UserData();
+	numIE=recvUserData6.NumInformationElements();
+	
+    for(TInt i=0; i<numIE; ++i)
 		{
-		CSmsUserData& recvUserData4 = smsMessage->SmsPDU().UserData();
-		TInt numIE=recvUserData4.NumInformationElements();
-		for(TInt k=0;k<numIE;k++)
-			{
-			CSmsInformationElement& ie=recvUserData4.InformationElement(k);
-			TPtr8 ptr(ie.Data());
-			INFO_PRINTF4(_L(" %d. ie  is %d %S"),k,ie.Identifier(),&ptr);
-			}
+		CSmsInformationElement& ie=recvUserData6.InformationElement(i);
+		TPtr8 ptr(ie.Data());
+		INFO_PRINTF4(_L(" %d. ie  is %d %S"),i, ie.Identifier(), &ptr);
 		}
 
 	logId=KLogNullId;
 	TEST_CHECKL(smsMessage->IsEmailHeader(),ETrue,_L("Message does noty contain E-Mail header"));
 	if(smsMessage->GetEmailHeaderL(&hd,&bd))
+		{
+		INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
+		INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
+		TEST(*hd==KSmsEmailHeaderLong());
+		TEST(*bd==KSmsEmailBodyLong());
+		logId=smsMessage->LogServerId();
+		if(logId!=KLogNullId)
 			{
-			INFO_PRINTF3(_L(" This is e-mail header:len %d %S"),hd->Length(),hd);
-			INFO_PRINTF3(_L(" This is e-mail body: %d %S"),bd->Length(),bd);
-			TEST(*hd==KSmsEmailHeaderLong());
-			TEST(*bd==KSmsEmailBodyLong());
-			logId=smsMessage->LogServerId();
-			if(logId!=KLogNullId)
-				{
-				TLogSmsPduData pduData;
-				CLogEvent* logEvent=CLogEvent::NewL();
-				CleanupStack::PushL(logEvent);
-				iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
-				TPckg<TLogSmsPduData> packeddata(pduData);
-				packeddata.Copy(logEvent->Data());
-				TEST(packeddata().iTotal==3);
-				TEST(packeddata().iReceived==3);
-				CleanupStack::PopAndDestroy(logEvent);
-				}
-			delete hd;
-			delete bd;
+			TLogSmsPduData pduData;
+			CLogEvent* logEvent=CLogEvent::NewL();
+			CleanupStack::PushL(logEvent);
+			iSmsStackTestUtils->GetLogEventL(*logEvent,logId);
+			TPckg<TLogSmsPduData> packeddata(pduData);
+			packeddata.Copy(logEvent->Data());
+			TEST(packeddata().iTotal==3);
+			TEST(packeddata().iReceived==3);
+			CleanupStack::PopAndDestroy(logEvent);
 			}
-	//
+		delete hd;
+		delete bd;
+		}
+
 	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
-
-
 TVerdict CTestMaxReadTimeForSmsStoreList::doTestStepL()
 /**
  *  Test Sms message storage
  */
     {
     INFO_PRINTF1(_L("Enumerating a phone store list that takes 254 seconds"));
-
-    RSocketServ socketServer;
-    PrepareRegTestLC(socketServer, 54);
-	
-
     // Open the socket for SIM operations
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrLocalOperation);
 
     // Enumerate messages
-
     RPointerArray<CSmsMessage> messages;
     CleanupResetAndDestroyPushL(messages);
     ReadSmsStoreL(socket, messages);
+
     const TInt count = messages.Count();
-
-    // Check that request successfully retrieved 2 messages
-    // after 254 seconds.
-
-    TEST(count == 2);
+    TESTCHECK(count, 2, "Request retrieved 2 messages after 254 seconds");
 
     CleanupStack::PopAndDestroy(&messages);
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
     }
 
-
 TVerdict CTestSameLogIdMultiplePDU::doTestStepL()
 /**
  *  Resend Multi PDU SMS message with same log id"
@@ -4752,32 +4231,10 @@
 	INFO_PRINTF1(_L(" Test that sent SMS consisting of Multiple PDUs with the same logId"));
 	TLogId logid;
 	TLogSmsPduData pduData;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 57);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-    // Create comms database object
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-    CleanupStack::PushL(db);
-
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
-    // EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
+	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
 
     // Initialization
     // Message String
@@ -4794,9 +4251,30 @@
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
     // Twice send an Sms with the same logid - step 1
-    // Create a Message
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
+	pduData.iType=smsMessage->Type();
+
+	// Get a log Id
+	logid=iSmsStackTestUtils->AddLogEventL(*smsMessage,pduData);
+	smsMessage->SetLogServerId(logid);
+	INFO_PRINTF2(_L("Sends message with log id %d"),logid);
+
+	SendSmsL(smsMessage,socket);
+	// Send SMS again
+    SendSmsL(smsMessage,socket);
+
+	CleanupStack::PopAndDestroy(smsMessage);
+
+	WaitForRecvL(socket);
+	smsMessage = RecvSmsL(socket);
+
 	CleanupStack::PushL(smsMessage);
+	TestSmsContentsL(smsMessage,KTestMsg1);
+	CleanupStack::PopAndDestroy(smsMessage);
+
+	// Twice send an Sms with the same logid - step 2
+	// Create a Message
+	smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 	pduData.iType=smsMessage->Type();
 
 	// Get a log Id
@@ -4812,49 +4290,17 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-    INFO_PRINTF1(_L("incoming SMS arrived") );
 
 	CleanupStack::PushL(smsMessage);
 	TestSmsContentsL(smsMessage,KTestMsg1);
-	CleanupStack::PopAndDestroy(smsMessage);
-
-	// Twice send an Sms with the same logid - step 2
-	// Create a Message
-	smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
-	pduData.iType=smsMessage->Type();
-
-	// Get a log Id
-	logid=iSmsStackTestUtils->AddLogEventL(*smsMessage,pduData);
-	smsMessage->SetLogServerId(logid);
-	INFO_PRINTF2(_L("Sends message with log id %d"),logid);
-
-	// Send SMS
-	SendSmsL(smsMessage,socket);
-	// Send SMS again
-    SendSmsL(smsMessage,socket);
 
 	CleanupStack::PopAndDestroy(smsMessage);
-
-	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
-	WaitForRecvL(socket);
-	smsMessage = RecvSmsL(socket);
-    INFO_PRINTF1(_L("incoming SMS arrived") );
-
-	CleanupStack::PushL(smsMessage);
-	TestSmsContentsL(smsMessage,KTestMsg1);
-	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
 	}
 
-
 TVerdict CTestSameLogIdSinglePDU::doTestStepL()
 /**
  *  Resend Single PDU SMS message with same log id"
@@ -4882,34 +4328,11 @@
 	INFO_PRINTF1(_L(" Test that sent SMS consisting of single PDUs with the same logId"));
 	TLogId logid;
 	TLogSmsPduData pduData;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 58);
+	RSocket socket;
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 	
-
-	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-    // Create comms database object
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
-    // EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
-    // Initialization
-    // Message String
+	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
+	
 	_LIT(KTestMsg1,"CCCCCCC");
 
 	//Set destination and SC numbers
@@ -4934,8 +4357,7 @@
 
         // Twice send an Sms with the same logid - step 1
         // Create a Message
-        smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-        CleanupStack::PushL(smsMessage);
+        smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
         pduData.iType=smsMessage->Type();
 
         // Get a log Id
@@ -4951,19 +4373,15 @@
         CleanupStack::PopAndDestroy(smsMessage);
 
         // Receive SMS
-        INFO_PRINTF1(_L("waiting for incoming SMS...") );
         WaitForRecvL(socket);
         smsMessage = RecvSmsL(socket);
-        INFO_PRINTF1(_L("incoming SMS arrived") );
 
         CleanupStack::PushL(smsMessage);
         TestSmsContentsL(smsMessage,KTestMsg1);
         CleanupStack::PopAndDestroy(smsMessage);
 
         // Twice send an Sms with the same logid - step 2
-        // Create a Message
-        smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-        CleanupStack::PushL(smsMessage);
+        smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
         pduData.iType=smsMessage->Type();
 
         // Get a log Id
@@ -4979,10 +4397,8 @@
         CleanupStack::PopAndDestroy(smsMessage);
 
         //Receive SMS
-        INFO_PRINTF1(_L("waiting for incoming SMS...") );
         WaitForRecvL(socket);
         smsMessage = RecvSmsL(socket);
-        INFO_PRINTF1(_L("incoming SMS arrived") );
 
         CleanupStack::PushL(smsMessage);
         TestSmsContentsL(smsMessage,KTestMsg1);
@@ -4990,14 +4406,10 @@
         }
 
 	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&socketServer);
-
-
 	return TestStepResult();
 }
 
-
-CTestLog* CTestLog::NewLC(CSmsStackTestUtils& aUtils, RFs& aFs, CSmsPrtTestStep* aTest, TInt aPriority)
+CTestLog* CTestLog::NewLC(CSmsStackTestUtils& aUtils, RFs& aFs, CSmsBaseTestStep* aTest, TInt aPriority)
 	{
 	CTestLog* self = new (ELeave) CTestLog(aUtils, aTest, aPriority);
 	CleanupStack::PushL(self);
@@ -5005,7 +4417,7 @@
 	return self;
 	}
 
-CTestLog::CTestLog(CSmsStackTestUtils& aUtils, CSmsPrtTestStep* aTest, TInt aPriority)
+CTestLog::CTestLog(CSmsStackTestUtils& aUtils, CSmsBaseTestStep* aTest, TInt aPriority)
 : CActive(aPriority), iUtils(aUtils), iTest(aTest)
 	{
 	CActiveScheduler::Add(this);
@@ -5014,15 +4426,15 @@
 CTestLog::~CTestLog()
 	{
 	Cancel();
-	delete iMessage;
+	iSocket.Close();
 	delete iLogChecker;
 	delete iEventLogger;
+    delete iMessage;
 	iAddedIds.Close();
 	}
 
 void CTestLog::StartOriginalL()
 	{
-
 	iAddedIds.Reset();
 
 	iLogChecker->CountOriginalIdsL(iStatus);
@@ -5032,8 +4444,6 @@
 
 	//TEST(KErrNone == iStatus.Int());
 	iTest->testBooleanTrue(KErrNone == iStatus.Int(),(TText8*)__FILE__, __LINE__);
-
-
 	}
 
 void CTestLog::StartCompareL(TInt aExpectError)
@@ -5047,23 +4457,23 @@
 	}
 
 _LIT(KLongText,"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"3 PDU test SMS message. "
-L"The End.");
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"3 PDU test SMS message. "
+        L"The End.");
 
 void CTestLog::StartL()
 	{
@@ -5072,38 +4482,28 @@
 
 	iTest->SendSmsL(iMessage,iSocket);
 
-	//INFO_PRINTF1(_L("waiting for incoming SMS...") );
-	iTest->Logger().LogExtra(((TText8*)__FILE__), __LINE__, ESevrInfo, (_L("waiting for incoming SMS...\n")));
-
 	delete iMessage;
 	iMessage = NULL;
 
 	iTest->WaitForRecvL(iSocket);
 	iMessage = iTest->RecvSmsL(iSocket);
 
-	//INFO_PRINTF1(_L("incoming SMS") );
-	iTest->Logger().LogExtra(((TText8*)__FILE__), __LINE__, ESevrInfo, (_L("incoming SMS\n")));
-	iTest->TestSmsContentsL(iMessage,KLongText);
+	iTest->TestSmsContentsL(iMessage, KLongText);
 
 	User::LeaveIfError(iAddedIds.Append(iMessage->LogServerId()));
 
 	StartCompareL(KErrNone);
-
 	delete iMessage;
 	iMessage = NULL;
-
-	CleanupStack::PopAndDestroy(&iSocket);
-	CleanupStack::PopAndDestroy(&iSocketServer);
 	}
 
 void CTestLog::ConstructL(RFs& aFs)
 	{
 	iLogChecker = CSmsLogChecker::NewL(aFs, iTest, Priority());
 	iEventLogger = CSmsEventLogger::NewL(aFs, Priority());
-
-	iTest->PrepareRegTestLC(iSocketServer, 50);
-
-	iTest->iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,iSocket,ESmsAddrRecvAny);
+	
+//	iTest->ConnectSocketServerL(iSocketServer);
+	iTest->iSmsStackTestUtils->OpenSmsSocketL(iTest->iSocketServer,iSocket,ESmsAddrRecvAny);
 
 	//Set destination and SC numbers
 	iTest->iTelephoneNumber=KRegTestNumber;
@@ -5134,12 +4534,10 @@
 	{
 	INFO_PRINTF1(_L("Test Tx and Rx SMS with 3 PDU message"));
 
-
 	CTestLog* testLog = CTestLog::NewLC(*iSmsStackTestUtils, iFs,this, CActive::EPriorityStandard);
 	testLog->StartL();
 	
 	CleanupStack::PopAndDestroy(testLog);
-
 	return TestStepResult();
 	}
 
@@ -5147,19 +4545,14 @@
 TVerdict CTestEnumerationOfStatusReport::doTestStepL()
 	{
 	INFO_PRINTF1(_L("Test enumeration of status report"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 51);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrLocalOperation);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrLocalOperation);
 
 	CSmsMessage* smsMessage = CreateSmsMessageLC(CSmsPDU::ESmsStatusReport, CSmsBuffer::NewL(), iTelephoneNumber);
 
 	smsMessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 
-	WriteToSIML(socket, *smsMessage);
+	WriteSmsToSimL(*smsMessage, socket);
 
  	// Enumerate messages from Store
 	TRequestStatus status;
@@ -5169,7 +4562,7 @@
 	//Now enumerate messages from store
 	socket.Ioctl(KIoctlEnumerateSmsMessages,status,&sbuf, KSolSmsProv);
 	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
+	TESTCHECK(status.Int(), KErrNone, "Enumerate messages from store");
 
 	//sbuf() includes the count of messages on Store
 	TInt count = sbuf();
@@ -5178,37 +4571,26 @@
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+   	return TestStepResult();
 	}
 
-
 TVerdict CTestWriteStatusReportToSIM::doTestStepL()
 	{
 	INFO_PRINTF1(_L("Test write of status report to SIM"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 49);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrLocalOperation);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrLocalOperation);
 
 	CSmsMessage* smsMessage = CreateSmsMessageLC(CSmsPDU::ESmsStatusReport, CSmsBuffer::NewL(), iTelephoneNumber);
 
 	smsMessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 
-	WriteToSIML(socket, *smsMessage);
+	WriteSmsToSimL(*smsMessage, socket);
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
 	}
 
-
 TVerdict CTestTxSmsWithDelayedCompletion::doTestStepL()
     {
     /**
@@ -5218,34 +4600,11 @@
      *  and adding a delay to the SIM TSY's completion time in tsms_config.txt.
      *  DEF047240 - read sendTryTimeout from ESK file
      */
-
 	INFO_PRINTF1(_L("Test Simple Tx SMS"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 60);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
- 	// Create comms database object
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
-	// EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+
+	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -5254,26 +4613,21 @@
 	iServiceCenterNumber=KRadiolinjaSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	INFO_PRINTF1(_L("SMS message sent successfully") );
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
 	};
 
-
 TVerdict CTestSmsStoreReadCancel::doTestStepL()
 /**
  *  Test Sms message storage - cancel during read
@@ -5282,7 +4636,6 @@
     return TestStepResult() ;
 	}
 
-
 TVerdict CTestBindWhenPoweredDownWithPublishSubscribe::doTestStepL()
 /**
  *  Test bind()ing when powered-down, and subsequent dequeueing of messages upon power-up
@@ -5291,14 +4644,7 @@
 	{
 	INFO_PRINTF1(_L("Test bind() when powered-down with Publish and Subscribe"));
 
-	RSocketServ socketServer;
-	TInt  ret = socketServer.Connect(KSocketMessageSlots);
-    TESTL(ret == KErrNone);
-    CleanupClosePushL(socketServer);
-
-	// Now switch phone off
 	INFO_PRINTF1(_L("switching phone off") );
-
 	RProperty phonePowerProperty;
 	User::LeaveIfError(phonePowerProperty.Attach(KUidSystemCategory, KUidPhonePwr.iUid));
 	CleanupClosePushL(phonePowerProperty);
@@ -5306,21 +4652,10 @@
 	// Create the socket and open for SIM operations
 	RSocket socket;
 	INFO_PRINTF1(_L("binding socket") );
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// knock power off because opening of socket brought it up
-	TRequestStatus status;
-	TInt phonePowerCheck;
-	do
-    	{
-       	phonePowerProperty.Subscribe(status);
-    	User::LeaveIfError(phonePowerProperty.Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOff));
-    	User::After(5 * 1000000);	// sleep 5 secs;
-    	User::WaitForRequest(status);
-    	TEST(status.Int() == KErrNone);
-    	User::LeaveIfError(phonePowerProperty.Get(phonePowerCheck));
-    	}
-	while (phonePowerCheck==ESAPhoneOn);
+	UpdatePhonePowerStatusL(phonePowerProperty, ESAPhoneOff);
 	
 	// Set the SimTSY config.
 	SetSimTSYTestNumberL(29);
@@ -5330,17 +4665,8 @@
 	TEST_CHECKL(bRcv, EFalse, _L("Receive should fail with phone off"));
 
 	// Power on & wait for rx again
-	do
-    	{
-       	phonePowerProperty.Subscribe(status);
-    	User::LeaveIfError(phonePowerProperty.Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOn));
-    	User::After(5 * 1000000);	// sleep 5 secs;
-    	User::WaitForRequest(status);
-       	TEST(status.Int() == KErrNone);
-    	User::LeaveIfError(phonePowerProperty.Get(phonePowerCheck));
-    	}
-	while (phonePowerCheck==ESAPhoneOff);
-	
+	UpdatePhonePowerStatusL(phonePowerProperty, ESAPhoneOn);
+
 	// Briefly wait for receipt on it - this should now happen
 	bRcv = TimedWaitForRecvL(socket, 5 * 1000000);
 	TEST_CHECKL(bRcv, ETrue, _L("Receive should now succeed with phone on again"));
@@ -5350,16 +4676,13 @@
 
 	TPtrC fromAddr = smsMessage->ToFromAddress();
 	INFO_PRINTF2(_L("Received SMS from: %S"), &fromAddr);
+
 	CleanupStack::PopAndDestroy(smsMessage);
-	
 	CleanupStack::PopAndDestroy(&socket);
 	CleanupStack::PopAndDestroy(&phonePowerProperty);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+ 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestObserverNotifiedWhenPoweredDownWithPublishSubscribe::doTestStepL()
 /**
  *  Fix Defect 42937
@@ -5381,11 +4704,6 @@
  */
 	{
 	INFO_PRINTF1(_L("Test observer when powered-down"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 59);
-	
-
 	// Open the socket and bind it to ESmsAddrApplication16BitPort 245
 	RSocket socket;
 	TSmsAddr addr16;
@@ -5393,7 +4711,7 @@
 	TInt port(245);
 	addr16.SetPort(port);
 
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,addr16);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,addr16);
 
 	// Switch phone off, causing the stack to notify the observer
 	// corresponding to ESmsAddrApplication16BitPort 245
@@ -5404,39 +4722,16 @@
 	CleanupClosePushL(phonePowerProperty);
 
 	// knock power off because opening of socket brought it up
-	TInt phonePowerCheck;
-	TRequestStatus status;
-	do
-    	{
-       	phonePowerProperty.Subscribe(status);
-    	User::LeaveIfError(phonePowerProperty.Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOff));
-    	User::After(5 * 1000000);	// sleep 5 secs;
-    	User::WaitForRequest(status);
-    	TEST(status.Int() == KErrNone);
-    	User::LeaveIfError(phonePowerProperty.Get(phonePowerCheck));
-    	}
-	while (phonePowerCheck==ESAPhoneOn);
+	UpdatePhonePowerStatusL(phonePowerProperty, ESAPhoneOff);
 
 	// bring power back up
-	do
-    	{
-       	phonePowerProperty.Subscribe(status);
-    	User::LeaveIfError(phonePowerProperty.Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOn));
-    	User::After(5 * 1000000);	// sleep 5 secs;
-    	User::WaitForRequest(status);
-    	TEST(status.Int() == KErrNone);
-    	User::LeaveIfError(phonePowerProperty.Get(phonePowerCheck));
-    	}
-	while (phonePowerCheck==ESAPhoneOff);
+	UpdatePhonePowerStatusL(phonePowerProperty, ESAPhoneOn);
 
 	CleanupStack::PopAndDestroy(&phonePowerProperty);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+ 	return TestStepResult();
 	}
 
-
 TVerdict CTestSmsCNumberChangeWithPublishSubscribe::doTestStepL()
 /**
  *  Test SMSC number change
@@ -5459,15 +4754,9 @@
  */
     {
     INFO_PRINTF1(_L("Test SMSC Number Change with Publish and Subscribe"));
-
-    RSocketServ socketServer;
-    TRequestStatus status;
-    PrepareRegTestLC(socketServer, 55);
-	
-
     // Open the socket for SIM operations
     RSocket socket1;
-    iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket1,ESmsAddrLocalOperation);
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket1, ESmsAddrLocalOperation);
     RSmsSocketReadStream readstream1(socket1);
 
     // Create the smspList
@@ -5475,20 +4764,38 @@
     CleanupStack::PushL(smspList1);
 
     // Make read SMS params request to the SMS Stack
-    socket1.Ioctl(KIoctlReadSmsParams,status,NULL,KSolSmsProv);
-    INFO_PRINTF1(_L("waiting for SMS parameters...") );
-    User::WaitForRequest(status);
-    TEST(status.Int() == KErrNone);
-    INFO_PRINTF1(_L("Received SMS parameters..."));
+    TRequestStatus status;
+    TBool tryAgain = ETrue;
+    TInt attempts (0);
+    TInt maxRetries = 3;
+
+    // Enumerate messages from store. If it fails with KErrNotReady wait for 3 seconds to 
+    // allow sms protocol to fully load and repeat
+    while( tryAgain && attempts++ < maxRetries )
+        {
+        socket1.Ioctl(KIoctlReadSmsParams,status,NULL,KSolSmsProv);
+        User::WaitForRequest(status);
+        INFO_PRINTF2(_L("Reading SMS parameters returned [status=%d]"), status.Int());
+        if ( status.Int() == KErrNotReady )
+            {
+            INFO_PRINTF1(_L("Trying to enumerate again... "));
+            User::After(3000000);
+            }
+        else
+            {
+            tryAgain = EFalse;
+            }
+        }
+
+    TESTCHECK(status.Int(), KErrNone, "Reading SMS parameters"); 
 
     // Read list from stream and make acknowledgement to the SMS Stack
-
     INFO_PRINTF1(_L("About to write to smspList1..."));
     readstream1 >> *smspList1;
     INFO_PRINTF1(_L("written to smspList1..."));
     socket1.Ioctl(KIoctlCompleteReadSmsParams,status,NULL,KSolSmsProv);
     User::WaitForRequest(status);
-    TEST(status.Int() == KErrNone);
+    TESTCHECK(status.Int(), KErrNone, "Completing Read SMS parameters...");
 
     iSmsStackTestUtils->PrintSmspList(*smspList1);
 
@@ -5499,18 +4806,7 @@
     CleanupClosePushL(phonePowerProperty);
 
     // knock power off
-	INFO_PRINTF1(_L("switching phone off"));
-	TInt phonePowerCheck;
-	do
-    	{
-       	phonePowerProperty.Subscribe(status);
-    	User::LeaveIfError(phonePowerProperty.Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOff));
-    	User::After(5 * 1000000);	// sleep 5 secs;
-    	User::WaitForRequest(status);
-    	TEST(status.Int() == KErrNone);
-    	User::LeaveIfError(phonePowerProperty.Get(phonePowerCheck));
-    	}
-	while (phonePowerCheck==ESAPhoneOn);
+    UpdatePhonePowerStatusL(phonePowerProperty, ESAPhoneOff);
 
     // Move to new test
     RProperty testNumberProperty;
@@ -5529,24 +4825,14 @@
         User::Leave(KErrNotFound);
 
     // Power back on
-    INFO_PRINTF1(_L("switching phone on") );
-	do
-    	{
-       	phonePowerProperty.Subscribe(status);
-    	User::LeaveIfError(phonePowerProperty.Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOn));
-    	User::After(5 * 1000000);	// sleep 5 secs;
-    	User::WaitForRequest(status);
-    	TEST(status.Int() == KErrNone);
-    	User::LeaveIfError(phonePowerProperty.Get(phonePowerCheck));
-    	}
-	while (phonePowerCheck==ESAPhoneOff);
+    UpdatePhonePowerStatusL(phonePowerProperty, ESAPhoneOn);
 
     CleanupStack::PopAndDestroy(&testNumberProperty);
     CleanupStack::PopAndDestroy(&phonePowerProperty);
 
     // Open the second socket for SIM operations
     RSocket socket2;
-    iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket2,ESmsAddrLocalOperation);
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket2,ESmsAddrLocalOperation);
 
     RSmsSocketReadStream readstream2(socket2);
 
@@ -5558,13 +4844,13 @@
     socket2.Ioctl(KIoctlReadSmsParams,status,NULL,KSolSmsProv);
     INFO_PRINTF1(_L("waiting for SMS parameters...") );
     User::WaitForRequest(status);
-    TEST(status.Int() == KErrNone);
+    TESTCHECK(status.Int(), KErrNone, "Receiving SMS parameters...");
 
     // Read list from stream and make acknowledgement to the SMS Stack
     readstream2 >> *smspList2;
     socket2.Ioctl(KIoctlCompleteReadSmsParams,status,NULL,KSolSmsProv);
     User::WaitForRequest(status);
-    TEST(status.Int() == KErrNone);
+    TESTCHECK(status.Int(), KErrNone, "Completing Read SMS parameters...");
 
     iSmsStackTestUtils->PrintSmspList(*smspList2);
 
@@ -5579,36 +4865,25 @@
                                  &entryToTsy2.iServiceCentre.iTelNumber);
 
     // Real test - both parameters have a vaild SC number and they are different - it leaves if error
-    TEST(
-        (entryToTsy1.iValidParams & RMobileSmsMessaging::KSCAIncluded) &&
-        (entryToTsy2.iValidParams & RMobileSmsMessaging::KSCAIncluded) &&
-        (entryToTsy1.iServiceCentre.iTelNumber != entryToTsy2.iServiceCentre.iTelNumber)
-                     );
-
-    // Give memory back
+    TEST((entryToTsy1.iValidParams & RMobileSmsMessaging::KSCAIncluded) &&
+         (entryToTsy2.iValidParams & RMobileSmsMessaging::KSCAIncluded) &&
+         (entryToTsy1.iServiceCentre.iTelNumber != entryToTsy2.iServiceCentre.iTelNumber));
+
     CleanupStack::PopAndDestroy(smspList2);
     CleanupStack::PopAndDestroy(&socket2);
     CleanupStack::PopAndDestroy(smspList1);
     CleanupStack::PopAndDestroy(&socket1);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+  	return TestStepResult();
     }
 
-
 TVerdict CTestStatusReportTime::doTestStepL()
 /**
  *  Test a simple Transmit and Receive with status reporting, check time stamp
  */
 	{
 	INFO_PRINTF1(_L("Test Tx an SMS and then receive a status report"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 62);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -5629,7 +4904,6 @@
 
 	//Send SMS
 	SendSmsL(smsMessageSend,socket);
-
 	CleanupStack::PopAndDestroy(smsMessageSend);
 
 	//Receive status report
@@ -5637,12 +4911,9 @@
 	telephoneNumberSC.Copy( KPekka );
 
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	CSmsMessage* smsMessageRecv = RecvSmsL(socket);
 
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	//Check the status report (timestamp should be 10 seconds later)
 	CleanupStack::PushL(smsMessageRecv);
 	TBool isSR = (smsMessageRecv->Type()==CSmsPDU::ESmsStatusReport);
@@ -5661,34 +4932,32 @@
 		if (timeRecv < timeSend)
 			{
 			//  fail condition
-			INFO_PRINTF1(_L("Timestamp of received status report earlier than sent SMS!"));
+			ERR_PRINTF1(_L("Timestamp of received status report earlier than sent SMS!"));
+			SetTestStepResult(EFail);
 			}
 		else if (timeRecv == timeSend)
 			{
 			//  fail condition
-			INFO_PRINTF1(_L("Timestamp of received status report same as sent SMS!"));
+			ERR_PRINTF1(_L("Timestamp of received status report same as sent SMS!"));
+			SetTestStepResult(EFail);
 			}
 		else
 			{
 			//  pass condition
 			INFO_PRINTF1(_L("Timestamp of received status report later than sent SMS!"));
 			}
-
-		TEST(timeRecv > timeSend);
 		}
 	else
-		INFO_PRINTF1(_L("Received SMS is NOT a Status report!"));
-
-	TEST(isSR==1);
-
-	CleanupStack::PopAndDestroy(smsMessageRecv);
-	CleanupStack::PopAndDestroy(); // socket
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	    {
+		ERR_PRINTF1(_L("Received SMS is NOT a Status report!"));
+		SetTestStepResult(EFail);
+	    }
+
+    CleanupStack::PopAndDestroy(2, &socket); // smsMessageRecv, socket
 	return TestStepResult() ;
 	}
 
-
+//TODO: move to WAPPROT test suite
 TVerdict CTestTx8BitWapWithStatus::doTestStepL()
 	//  Fix Defect 42714
 	//      This test case verifies that 8 Bit Wap messages can
@@ -5709,21 +4978,11 @@
 	//      access to the log id. This will be fixed in defect 42716.
 	//
     {
-    INFO_PRINTF1(_L("Test sending a 8 Bit Wap Message"));
-    INFO_PRINTF1(_L("and receiving a status message"));
-
-    RSocketServ socketServer;
-    RSocket socket;
-    TRequestStatus status;
-
-    PrepareRegTestLC(socketServer, 63);
-	
-
-    socketServer.StartProtocol(KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol,
-                               status);
+    INFO_PRINTF1(_L("Test sending a 8 Bit Wap Message and receiving a status message"));
 
     // (1) Create a Socket for sending wap messages
-    TInt ret=socket.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol);
+    RSocket socket;
+    TInt ret=socket.Open(iSocketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol);
     INFO_PRINTF2(_L("Socket return code is %d"),ret);
     TESTL(ret == KErrNone);
     CleanupClosePushL(socket);
@@ -5734,7 +4993,7 @@
 
     // (2) Create a socket for receiving status reports
     RSocket statusSocket;
-    iSmsStackTestUtils->OpenSmsSocketLC(socketServer,statusSocket,ESmsAddrStatusReport);
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,statusSocket,ESmsAddrStatusReport);
     // socket pushed onto stack inside method call.
 
     // (3) Create a Wap address and bind it to the socket
@@ -5750,7 +5009,9 @@
 
     // (4) Send a test message to address specified in setupgsmsms.txt
     // and the port specified above
-     _LIT8(KWapTestMsg,"BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n");
+    TRequestStatus status;
+    _LIT8(KWapTestMsg,"BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n");
+    
     socket.SendTo(KWapTestMsg,wapAddr,0,status);
     User::WaitForRequest(status);
     TESTL(status.Int()==KErrNone);
@@ -5758,20 +5019,15 @@
 
     // (5) Message has been sent successfully, now check that
     // status report is received for that address.
-    INFO_PRINTF1(_L("waiting for incoming SMS...") );
     WaitForRecvL(statusSocket);
     INFO_PRINTF1(_L("received status report...") );
 
     User::After(200000);
-
     CleanupStack::PopAndDestroy(&statusSocket);
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult();
     }
 
-
 TVerdict CTestSimStoreCorruptMessage::doTestStepL()
 /**
  *  Added to verify fix for DEF039913
@@ -5784,33 +5040,22 @@
  */
 	{
 	INFO_PRINTF1(_L("Test to see whether RMobileSimStore ignores corrupted SMSs"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 64);
-	
-
-	// Open the socket
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	TRequestStatus status;
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// Enumerate messages
+	TRequestStatus status;
 	RPointerArray<CSmsMessage> messages;
 	CleanupResetAndDestroyPushL(messages);
+
 	ReadSmsStoreL(socket, messages, status);
-
-	TEST(status.Int() == KErrNone);
-
-	TEST(messages.Count()==2);
+	TESTCHECK(status.Int(), KErrNone, "Enumerate messages");
+	TESTCHECK(messages.Count(), 2, "CHecking message count equals to 2");
 		
 	CleanupStack::PopAndDestroy(&messages);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-    
-	return TestStepResult() ;
+  	return TestStepResult() ;
 	}
-
  
  TVerdict CTestCorruptPduWithNegativeResponse::doTestStepL()
  /**
@@ -5822,50 +5067,37 @@
   */
  {
  	INFO_PRINTF1(_L("TestCorruptPduWithNegativeResponse"));
-
- 	RSocketServ socketServer;
- 	PrepareRegTestLC(socketServer, 65);
-	
-
  	RSocket socket;
- 	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+ 	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
  	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
  	//Set destination and SC numbers
  	iTelephoneNumber=KPekka;
  	iServiceCenterNumber=KRadiolinjaSC;
-
  	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
- 	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
- 	CleanupStack::PushL(smsMessage);
+
+ 	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
  	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
  	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
  	//Send SMS
  	SendSmsL(smsMessage,socket);
-
  	CleanupStack::PopAndDestroy(smsMessage);
 
  	//Receive SMS
- 	INFO_PRINTF1(_L("waiting for incoming SMS...") );
  	WaitForRecvL(socket);
  	smsMessage = RecvSmsL(socket);
-
- 	INFO_PRINTF1(_L("incoming SMS") );
-
  	CleanupStack::PushL(smsMessage);
+
  	TestSmsContentsL(smsMessage,KTestMsg1);
 
  	CleanupStack::PopAndDestroy(smsMessage);
  	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-  	return TestStepResult();
+ 	return TestStepResult();
  }
 
-
 TVerdict CTestBootTimer::doTestStepL()
  /**
   *  Test for DEF054033:
@@ -5888,39 +5120,30 @@
   */
 	{
     INFO_PRINTF1(_L("Test receive multi-part WAP message"));
-
-    RSocketServ socketServer;
-    PrepareRegTestLC(socketServer, 45);
-	
-
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
     TBool msgRcvd = TimedWaitForRecvL(socket, 40000000);
 
     if (msgRcvd)
-    {
+        {
         INFO_PRINTF1(_L("WAP message delivered to messaging application"));
         INFO_PRINTF1(_L("on default watcher"));
-    }
+        }
     else
-    {
+        {
         INFO_PRINTF1(_L("Boot Time did not timeout - Test Failed"));
         User::Leave(KErrGeneral);
-    }
+        }
 
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult() ;
 	}
 
-
 TVerdict CTestCSmsMessageTimeStamp::doTestStepL()
 /**
  *  Creating a CSmsMessage object, checking it's timestamp is set to UTC time
  */
-
 {
 	//Get the current UTC offset
 	TTime currUTCTime;
@@ -5950,8 +5173,7 @@
 
 	//Create a message
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//	Test time stamp, Time()
 	//	Time must be = UTC, we allow 1 second for Message to be created.
@@ -6062,11 +5284,9 @@
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	User::SetUTCTimeAndOffset(currUTCTime,currUTCOffset);
-
 	return TestStepResult();
 }
 
-
 TVerdict CTestCSmsMessageWithDeliverPDU::doTestStepL()
 {
 /**
@@ -6077,15 +5297,9 @@
 	TTimeIntervalSeconds allowableDelay(KMaxAllowanceSeconds);
 	TTimeIntervalSeconds rxPeriod(KMaxRxPeriod);
 
-
 	INFO_PRINTF1(_L("Test Simple Tx and Rx SMS"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 66);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -6095,20 +5309,14 @@
 
 	//Create the message
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
-	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
-
 	//Wait for first SMS
 	WaitForRecvL(socket);
 
@@ -6148,15 +5356,12 @@
 
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
-
 	//	Wait for second message to arrive.  Must be round 60 seconds
 	WaitForRecvL(socket);
 
 	//Receive second message
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
-
 	INFO_PRINTF1(_L("incoming second SMS") );
 
 	//Checks make on message
@@ -6199,9 +5404,7 @@
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+   	return TestStepResult();
 }
 
 
@@ -6211,13 +5414,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test Tx an SMS and then receive a status report"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 67);
-	
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -6232,18 +5430,14 @@
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
 
-	//Send SMS
 	SendSmsL(smsMessage,socket);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	//Receive status report
 	TSmsServiceCenterAddress telephoneNumber;
 	telephoneNumber.Copy( KPekka );
 
-	//Wait for status report
+	// Receive status report
 	WaitForRecvL(socket);
-
-	//Get message from socket
 	smsMessage = RecvSmsL(socket);
 
 	//Get the status report
@@ -6292,9 +5486,7 @@
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult() ;
+ 	return TestStepResult() ;
 	}
 
 TVerdict CTestCSmsMessageWithSubmitPDU::doTestStepL()
@@ -6303,14 +5495,9 @@
  *  UTC value, offset and validity period.
  */
 	{
-	_LIT(KTestMsg,"test message, 8bits, length 30");
 	INFO_PRINTF1(_L("Test Tx an SMS and let SIMTSY validate the validityPeriod in the submit pdu"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 68);
-	
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//--------------------------------------------------------
 	//	Set the universal time
@@ -6333,9 +5520,9 @@
 	//--------------------------------------------------------
 	
 	//Create a message
+	_LIT(KTestMsg,"test message, 8bits, length 30");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//	Test validity period of submit pdu
 	TEST(smsMessage->Type()==CSmsPDU::ESmsSubmit);
@@ -6353,17 +5540,12 @@
 	
 	//Send the message
 	SendSmsL(smsMessage,socket);
-	TEST(ETrue);
 
 	CleanupStack::PopAndDestroy(smsMessage);
-	//--------------------------------------------------------
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
-
 TVerdict CTestHandlePID40h::doTestStepL()
 /**
  *  Test for DEF055800
@@ -6372,12 +5554,8 @@
  */
  	{
     INFO_PRINTF1(_L("Check that PDUs with PID = 0x40 are acknowledged but not forwarded to the inbox."));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 69);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
@@ -6386,8 +5564,7 @@
 	iServiceCenterNumber=KRadiolinjaSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
@@ -6398,13 +5575,10 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive 2 PDUs
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KTestMsg1);
 
 	//Save the received message to the SMS storage
@@ -6417,20 +5591,16 @@
 	ReadSmsStoreL(socket, messages);
 	// The standard PDU should be in the SIM store, along with two other messages
 	// The PDU with PID 0x40 should be NOT be present
-	TInt count = messages.Count();
-	TEST(count==3);
-	INFO_PRINTF2(_L("Expecting 3 messages in SIM Store, found %d."),count);
+	TESTCHECK(messages.Count(), 3, "Expecting 3 messages in SIM Store" );
 	messages.ResetAndDestroy();
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
 	}
 
 TVerdict CTestDiskSpaceMidRangeClass0Class2::doTestStepPreambleL()
     {
-    CSmsPrtTestStep::doTestStepPreambleL();
+    CSmsBaseTestStep::doTestStepPreambleL();
 
 #ifdef _DEBUG    
     TInt err = RProperty::Define(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, RProperty::EInt);
@@ -6457,7 +5627,6 @@
 #ifndef _DEBUG
 	INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
 #else
-	
 	//
 	// Disk space should be available at the start...
 	//
@@ -6481,21 +5650,22 @@
 	//
 	// Load the SMS Stack...
 	//
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 131);
-
 	RSocket  socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrRecvAny);
 	
 	//
 	// Attempt to receive an SMS - Class 0 message should arrive...
 	//
 	INFO_PRINTF1(_L("Receiving SMS message - Class 0 message should arrive..."));
+	
+    CSmsMessage* message1 = CreateSMSL();
+    CleanupStack::PushL(message1);
+    SendSmsL(message1, socket);
+    CleanupStack::PopAndDestroy(message1);    
 
 	TBool  messageReceived;
-
 	messageReceived = TimedWaitForRecvL(socket, 10*1000000);
-	if (messageReceived)
+	if( messageReceived )
 		{
 		CSmsMessage*  sms = RecvSmsL(socket);
 
@@ -6507,39 +5677,52 @@
 			!sms->SmsPDU().Class(msgClass)  ||
 			msgClass != TSmsDataCodingScheme::ESmsClass0)
 			{
-			INFO_PRINTF1(_L("Message was not Class 0!"));
-			TEST(EFalse);
+			ERR_PRINTF1(_L("Message was not Class 0!"));
+			SetTestStepResult(EFail);
 			}
 
 		delete sms;
 		}
 	else
 		{
-		INFO_PRINTF1(_L("Message not received!"));
-		TEST(EFalse);
+		ERR_PRINTF1(_L("Message not received!"));
+		SetTestStepResult(EFail);
 		}
-		
-	//
+
+	// 1 - rx now triggered from tx; more deterministic
+	// 2 - if class 0 received, disk space available.
+	// 
+	// But I agree with comment below - this seems like a defect in disk monitor
+	// as it depends on order of received messages and not actuall OOD situation!
+	// Disk monitor needs to be updated to give diskfull status when below high
+	// but above low.
+	// 
+	// Old comment below;
 	// Disk space should not be available, even though the Class 0 came through okay.
 	// Potentially I think this maybe a defect in the Disk Space Monitor class.
 	//
 	ret = RProperty::Get(KUidPSSMSStackCategory, KUidPSSMSStackDiskSpaceMonitorKey,
 						 diskSpaceStatus);
 	TEST(ret == KErrNone);
-	TEST(diskSpaceStatus == ESmsDiskSpaceFull);
+	TEST(diskSpaceStatus == ESmsDiskSpaceAvailable);
 
 	//
 	// Attempt to receive an SMS - Class 2 message should not arrive...
 	//
 	INFO_PRINTF1(_L("Receiving SMS message - Class 2 message should not arrive..."));
-
-	messageReceived = TimedWaitForRecvL(socket, 10*1000000);
+	
+    CSmsMessage* message2 = CreateSMSL();
+    CleanupStack::PushL(message2);
+    SendSmsL(message2, socket);
+    CleanupStack::PopAndDestroy(message2);    
+
+    messageReceived = TimedWaitForRecvL(socket, 10*1000000);
 	if (messageReceived)
 		{
 		CSmsMessage*  sms = RecvSmsL(socket);
 
-		INFO_PRINTF1(_L("Message received!"));
-		TEST(EFalse);
+		ERR_PRINTF1(_L("Message received!"));
+		SetTestStepResult(EFail);
 
 		delete sms;
 		}
@@ -6559,6 +5742,8 @@
 	//
 	// Raise the disk space to above the high limit...
 	//
+	INFO_PRINTF1(_L("Raise the disk space to above the high limit"));
+	
     freeDrop = 2;
     ReleaseDiskSpaceL();
     SetFreeDiskSpaceFromDropLevelL(freeDrop);	
@@ -6567,8 +5752,13 @@
 	// Attempt to receive an SMS - Class 2 message should arrive...
 	//
 	INFO_PRINTF1(_L("Receiving SMS message - Class 2 message should arrive..."));
-
-	messageReceived = TimedWaitForRecvL(socket, 10*1000000);
+	
+    CSmsMessage* message3 = CreateSMSL();
+    CleanupStack::PushL(message3);
+    SendSmsL(message3, socket);
+    CleanupStack::PopAndDestroy(message3);    
+
+    messageReceived = TimedWaitForRecvL(socket, 10*1000000);
 	if (messageReceived)
 		{
 		CSmsMessage*  sms = RecvSmsL(socket);
@@ -6581,16 +5771,16 @@
 			!sms->SmsPDU().Class(msgClass)  ||
 			msgClass != TSmsDataCodingScheme::ESmsClass2)
 			{
-			INFO_PRINTF1(_L("Message was not Class 2!"));
-			TEST(EFalse);
+			ERR_PRINTF1(_L("Message was not Class 2!"));
+			SetTestStepResult(EFail);
 			}
 
 		delete sms;
 		}
 	else
 		{
-		INFO_PRINTF1(_L("Message not received!"));
-		TEST(EFalse);
+		ERR_PRINTF1(_L("Message not received!"));
+		SetTestStepResult(EFail);
 		}
 
 	//
@@ -6605,21 +5795,19 @@
 	// Close the SMS Stack...
 	//
 	ReleaseDiskSpaceL();
-		
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
 #endif
 
 	return TestStepResult() ;
-	} // CTestDiskSpaceMidRangeClass0Class2::doTestStepL
+	}
 
 
 /**
  *  Post-amble funtion to ensure the environment is reverted to normal.
  */
 TVerdict CTestDiskSpaceMidRangeClass0Class2::doTestStepPostambleL()
-	{
-#ifdef _DEBUG	
+    {
+#ifdef _DEBUG   
     TInt err = RProperty::Delete(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey);
     if (err != KErrNone && err != KErrNotFound)
         {
@@ -6627,20 +5815,20 @@
         }   
 #endif
     
-	//
-	// Restore the environment to normal and then call the previous post-amble
-	// function.
-	//
-	RemoveLowHighLimitsFromSmsuRscL();
-	
-	CSmsPrtTestStep::doTestStepPostambleL();
-
-	return TestStepResult() ;
-	} // CTestDiskSpaceMidRangeClass0Class2::doTestStepPostambleL
+    //
+    // Restore the environment to normal and then call the previous post-amble
+    // function.
+    //
+    RemoveLowHighLimitsFromSmsuRscL();
+    
+    CSmsBaseTestStep::doTestStepPostambleL();
+
+    return TestStepResult() ;
+    }
 
 TVerdict CTestDiskSpaceLowRangeClass0Class2::doTestStepPreambleL()
     {
-    CSmsPrtTestStep::doTestStepPreambleL();
+    CSmsBaseTestStep::doTestStepPreambleL();
 
 #ifdef _DEBUG    
     TInt err = RProperty::Define(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, RProperty::EInt);
@@ -6668,7 +5856,6 @@
 #ifndef _DEBUG
 	INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
 #else
-	
 	//
 	// Disk space should be available at the start...
 	//
@@ -6689,14 +5876,8 @@
     
     SetHighLowLimitsAndDiskSpaceLevelL(highDrop, lowDrop, freeDrop);
 	
-	//
-	// Load the SMS Stack...
-	//
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 132);
-
 	RSocket  socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrRecvAny);
 	
 	//
 	// Attempt to receive an SMS - Class 0 message should not arrive...
@@ -6709,9 +5890,8 @@
 		{
 		CSmsMessage*  sms = RecvSmsL(socket);
 
-		INFO_PRINTF1(_L("Message received!"));
-		TEST(EFalse);
-
+		ERR_PRINTF1(_L("Message received!"));
+		SetTestStepResult(EFail);
 		delete sms;
 		}
 	else
@@ -6737,9 +5917,8 @@
 		{
 		CSmsMessage*  sms = RecvSmsL(socket);
 
-		INFO_PRINTF1(_L("Message received!"));
-		TEST(EFalse);
-
+		ERR_PRINTF1(_L("Message received!"));
+		SetTestStepResult(EFail);
 		delete sms;
 		}
 	else
@@ -6780,16 +5959,16 @@
 			!sms->SmsPDU().Class(msgClass)  ||
 			msgClass != TSmsDataCodingScheme::ESmsClass0)
 			{
-			INFO_PRINTF1(_L("Message was not Class 0!"));
-			TEST(EFalse);
+			ERR_PRINTF1(_L("Message was not Class 0!"));
+			SetTestStepResult(EFail);
 			}
 
 		delete sms;
 		}
 	else
 		{
-		INFO_PRINTF1(_L("Message not received!"));
-		TEST(EFalse);
+		ERR_PRINTF1(_L("Message not received!"));
+		SetTestStepResult(EFail);
 		}
 
 	//
@@ -6818,16 +5997,16 @@
 			!sms->SmsPDU().Class(msgClass)  ||
 			msgClass != TSmsDataCodingScheme::ESmsClass2)
 			{
-			INFO_PRINTF1(_L("Message was not Class 2!"));
-			TEST(EFalse);
+			ERR_PRINTF1(_L("Message was not Class 2!"));
+			SetTestStepResult(EFail);
 			}
 
 		delete sms;
 		}
 	else
 		{
-		INFO_PRINTF1(_L("Message not received!"));
-		TEST(EFalse);
+		ERR_PRINTF1(_L("Message not received!"));
+		SetTestStepResult(EFail);
 		}
 
 	//
@@ -6842,74 +6021,52 @@
 	// Close the SMS Stack...
 	//
 	ReleaseDiskSpaceL();
-	
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
+    
 #endif
 
 	return TestStepResult() ;
 	} // CTestDiskSpaceLowRangeClass0Class2::doTestStepL
 
-
 /**
  *  Post-amble funtion to ensure the environment is reverted to normal.
  */
 TVerdict CTestDiskSpaceLowRangeClass0Class2::doTestStepPostambleL()
 	{
-#ifdef _DEBUG	
+#ifdef _DEBUG   
     TInt err = RProperty::Delete(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey);
     if (err != KErrNone && err != KErrNotFound)
         {
         ERR_PRINTF2(_L("RProperty::Delete() failure [err=%d]"), err);
         }       
 #endif
-    
 	//
 	// Restore the environment to normal and then call the previous post-amble
 	// function.
 	//
 	RemoveLowHighLimitsFromSmsuRscL();
 	
-	CSmsPrtTestStep::doTestStepPostambleL();
+	CSmsBaseTestStep::doTestStepPostambleL();
 
 	return TestStepResult() ;
 	} // CTestDiskSpaceLowRangeClass0Class2::doTestStepPostambleL
 
-
 /**
  *  Simple test of receiving a few corrupt PDUs and then one good one.
  */
 TVerdict CTestCorruptPDUs::doTestStepL()
 	{
-	//
-	// Load the SMS Stack...
-	//
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 133);
-
 	RSocket  socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, ESmsAddrRecvAny);
 	
-	//
 	// Attempt to receive the valid SMS...
-	//
 	WaitForRecvL(socket);
-
 	CSmsMessage*  sms = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("Message received!"));
-
 	delete sms;
 
-	//
-	// Close the SMS Stack...
-	//
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
-	} // CTestCorruptPDUs::doTestStepL()
-
+	}
 
 /**
  *  Tests the reception of a series of messages which cause the assembly to become full,
@@ -6917,15 +6074,12 @@
  */
 TVerdict CTestCongestedReceive::doTestStepL()
 	{
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 141);
-
 	RSocket socket;
 	TSmsAddr smsaddr;
 	smsaddr.SetSmsAddrFamily(ESmsAddrRecvAny);
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer, socket, smsaddr);
-
-	for (TInt  count = 1;  count <= 30;  count++)
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer, socket, smsaddr);
+
+	for (TInt  count = 1;  count <= 30; ++count)
 		{
 		INFO_PRINTF2(_L("Waiting for incoming SMS %d..."), count);
 
@@ -6937,11 +6091,8 @@
 		}
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}  // CTestCongestedReceive::doTestStepL()
-
+ 	return TestStepResult();
+	}
 
 enum TVerdict CTestEncodingPDUonBoundary::doTestStepL()
 /**
@@ -6953,30 +6104,10 @@
  */
 	{
 	INFO_PRINTF1(_L("Test Encoding PDU on Boundary"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 143);
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-    // Create comms database object
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
-
-    // EReceiveUnstoredClientAck
-	CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
-	CleanupStack::PushL(smsReceiveModeField);
-	smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsReceiveModeField = RMobileSmsMessaging::EReceiveUnstoredClientAck;
-	smsReceiveModeField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsReceiveModeField);
-	CleanupStack::PopAndDestroy(db);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
+	
+	ChangeReceiveModeL(RMobileSmsMessaging::EReceiveUnstoredClientAck);
 
 	//	Create a 149 character message (from 4 30 character messages + 1 29 character message).
 	//  Set the encoding to 7 bit encoding. There should be sufficient space in the PDU to
@@ -6990,10 +6121,8 @@
 	
 	TSmsDataCodingScheme::TSmsAlphabet alphabet7Bit=TSmsDataCodingScheme::ESmsAlphabet7Bit;
 		
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet7Bit);
-	CleanupStack::PushL(smsMessage);
-
-	
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet7Bit);
+
 	// Create the format object
 	CEmsFormatIE* format = CEmsFormatIE::NewL();
 	format->SetStartPosition(147);
@@ -7020,17 +6149,13 @@
 
 	//Send SMS
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-	
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+
 	TestSmsContentsL(smsMessage,KTestMsg1);
 
 	num = smsMessage->NumMessagePDUsL();	
@@ -7039,7 +6164,6 @@
 	//Save the received message to the SMS storage	
 	smsMessage->SetStorage(CSmsMessage::ESmsSIMStorage);
 	WriteSmsToSimL(*smsMessage, socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	// Enumerate messages from Store
@@ -7048,30 +6172,19 @@
 	messages.ResetAndDestroy();
 
 	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;	
 	}
 
-
 /**
  *  Tests that a PDU can be received if it has an invalid or reserved IE number.
  */
 TVerdict CTestReceiveInvalidOrReservedIE::doTestStepL()
 	{
-	//
-	// Open a socket to receive an SMS with SIMTSY...
-	//
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 144);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
-	//
 	// Receive the SMS with the reserved IE value.
-	//
 	WaitForRecvL(socket);
 	CSmsMessage*  smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
@@ -7080,16 +6193,9 @@
 	TestSmsContentsL(smsMessage, KTestMsg);
 
 	CleanupStack::PopAndDestroy(smsMessage);
-
-	//
-	// Close the socket.
-	//
 	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
-	} // CTestReceiveInvalidOrReservedIE::doTestStepL
-
+	}
 
 /**
  *  Tests that standard GSM characters can be sent and received using 7bit
@@ -7097,11 +6203,8 @@
  */
 TVerdict CTestEncoding7bitStandardGSM::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 150);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7132,16 +6235,10 @@
 		/* Encoding to use */	ESmsEncodingNone,
 		/* Encoding expected */	ESmsEncodingNone);
 	iCharSets.Reset();
-	
-    //
-	// Clean up and finish...
-	//
+
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
-	}  // CTestEncoding7bitStandardGSM::doTestStepL
-
+	}
 
 /**
  *  Tests that standard 8bit characters can be sent and received without
@@ -7149,11 +6246,8 @@
  */
 TVerdict CTestEncoding8bitCodePage1252::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 151);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7170,15 +6264,9 @@
 		/* Encoding expected */	ESmsEncodingNone);
 	iCharSets.Reset();
 	
-	//
-	// Clean up and finish...
-	//
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
-	}  // CTestEncoding8bitCodePage1252::doTestStepL
-
+	}
 
 /**
  *  Tests that standard unicode characters can be sent and received without
@@ -7186,11 +6274,8 @@
  */
 TVerdict CTestEncodingUnicode::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 152);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7207,15 +6292,9 @@
 		/* Encoding expected */	ESmsEncodingNone);
 	iCharSets.Reset();
 
-	//
-	// Clean up and finish...
-	//
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
-	}  // CTestEncodingUnicode::doTestStepL
-
+	}
 
 /**
  *  Tests that unconvertible GSM characters can be sent using 7bit by being
@@ -7223,11 +6302,8 @@
  */
 TVerdict CTestEncoding7bitUnconvertibleGSM::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 153);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7246,15 +6322,9 @@
 		/* Encoding expected */	ESmsEncodingNone);
 	iCharSets.Reset();
 
-	//
-	// Clean up and finish...
-	//
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
-	}  // CTestEncoding7bitUnconvertibleGSM::doTestStepL
-
+	}
 
 /**
  *  Tests that non-standard GSM characters can be sent and received using 7bit
@@ -7262,11 +6332,8 @@
  */
 TVerdict CTestEncoding7bitNonStandardGSM::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 154);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7298,15 +6365,9 @@
 		/* Encoding expected */	ESmsEncodingNone);
 	iCharSets.Reset();
 
-	//
-	// Clean up and finish...
-	//
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
-	}  // CTestEncoding7bitNonStandardGSM::doTestStepL
-
+	}
 
 /**
  *  Tests that Turkish characters can be sent and received using 7bit without
@@ -7314,11 +6375,8 @@
  */
 TVerdict CTestEncoding7bitTurkishNationalLanguage::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 155);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7410,15 +6468,9 @@
 		/* Encoding expected */	ESmsEncodingTurkishSingleShift);
 	iCharSets.Reset();
 
-	//
-	// Clean up and finish...
-	//
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
-	}  // CTestEncoding7bitTurkishNationalLanguage::doTestStepL
-
+	}
 
 /**
  *  Generates various messages with some Turkish and unconvertible characters,
@@ -7426,11 +6478,8 @@
  */
 TVerdict CTestEncoding7bitTurkishAndUnconvertible::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 156);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7449,12 +6498,7 @@
 		/* Encoding expected */	ESmsEncodingTurkishSingleShift);
 	iCharSets.Reset();
 	
-	//
-	// Clean up and finish...
-	//
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
 	}  // CTestEncoding7bitTurkishAndUnconvertible::doTestStepL
 
@@ -7467,11 +6511,8 @@
  */
 TVerdict CTestReceivingMessageWithDifferentEncodings::doTestStepL()
 	{
-	RSocketServ  socketServer;
-	PrepareRegTestLC(socketServer, 157);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
 	CleanupClosePushL(socket);
 
 	//
@@ -7515,12 +6556,11 @@
 	CSmsMessage*  smsMessage;
 	TInt  pdus;
 	
-	smsMessage = CreateSmsMessageL(msg7BitPtr, TSmsDataCodingScheme::ESmsAlphabet7Bit);
-	CleanupStack::PushL(smsMessage);
+	smsMessage = CreateSmsMessageLC(msg7BitPtr, TSmsDataCodingScheme::ESmsAlphabet7Bit);
 	pdus = smsMessage->NumMessagePDUsL();
-	TESTCHECK(pdus, 3);
+	TESTCHECK(pdus, 3, "Expected 3 PDUs");
 	TRAPD(sendErr, SendSmsL(smsMessage, socket));
-	TESTCHECK(sendErr, KErrNone);
+	TESTCHECK(sendErr, KErrNone, "Sending SMS");
 	CleanupStack::PopAndDestroy(smsMessage);
 	
 	smsMessage = RecvSmsL(socket);
@@ -7528,12 +6568,12 @@
 	TestSmsContentsL(smsMessage, msg7BitPtr);
 	CleanupStack::PopAndDestroy(smsMessage);
 	
-	smsMessage = CreateSmsMessageL(msg8BitPtr, TSmsDataCodingScheme::ESmsAlphabet8Bit);
-	CleanupStack::PushL(smsMessage);
+	smsMessage = CreateSmsMessageLC(msg8BitPtr, TSmsDataCodingScheme::ESmsAlphabet8Bit);
 	pdus = smsMessage->NumMessagePDUsL();
-	TESTCHECK(pdus, 3);
+    TESTCHECK(pdus, 3, "Expected 3 PDUs");
+    
 	TRAP(sendErr, SendSmsL(smsMessage, socket));
-	TESTCHECK(sendErr, KErrNone);
+    TESTCHECK(sendErr, KErrNone, "Sending SMS");
 	CleanupStack::PopAndDestroy(smsMessage);
 	
 	smsMessage = RecvSmsL(socket);
@@ -7541,12 +6581,13 @@
 	TestSmsContentsL(smsMessage, msg8BitPtr);
 	CleanupStack::PopAndDestroy(smsMessage);
 	
-	smsMessage = CreateSmsMessageL(msg16BitPtr, TSmsDataCodingScheme::ESmsAlphabetUCS2);
-	CleanupStack::PushL(smsMessage);
+	smsMessage = CreateSmsMessageLC(msg16BitPtr, TSmsDataCodingScheme::ESmsAlphabetUCS2);
 	pdus = smsMessage->NumMessagePDUsL();
-	TESTCHECK(pdus, 3);
+    TESTCHECK(pdus, 3, "Expected 3 PDUs");
+    
 	TRAP(sendErr, SendSmsL(smsMessage, socket));
-	TESTCHECK(sendErr, KErrNone);
+    TESTCHECK(sendErr, KErrNone, "Sending SMS");
+    
 	CleanupStack::PopAndDestroy(smsMessage);
 	
 	smsMessage = RecvSmsL(socket);
@@ -7596,16 +6637,11 @@
 	TestSmsContentsL(smsMessage, incomingPtr);
 	CleanupStack::PopAndDestroy(smsMessage);
 	
-	//
-	// Clean up and finish...
-	//
 	CleanupStack::PopAndDestroy(incomingBuf);
 	CleanupStack::PopAndDestroy(msg16BitBuf);
 	CleanupStack::PopAndDestroy(msg8BitBuf);
 	CleanupStack::PopAndDestroy(msg7BitBuf);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
 	}  // CTestReceivingMessageWithDifferentEncodings::doTestStepL
 
@@ -7617,16 +6653,10 @@
 TVerdict CTestReceivingMessageAfterSocketClosure::doTestStepL()
 	{
 	INFO_PRINTF1(_L("Test re-requesting to receive a message after socket closure."));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 159);
-
-	// Open the socket for SIM operations.
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// Wait for SMS message receipt.
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	
 	// Close socket before reading the message.
@@ -7634,7 +6664,7 @@
 	
 	// Bind the socket again
 	INFO_PRINTF1(_L("binding socket again; checking for receipt") );
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	// Briefly wait for receipt on it - this should now happen again.
 	TBool bRcv = TimedWaitForRecvL(socket, 5 * 1000000);
@@ -7642,7 +6672,6 @@
 	
 	// Read the 1st SMS.
 	CSmsMessage* smsMessage1 = RecvSmsL(socket);
-
 	CleanupStack::PushL(smsMessage1);
 
 	TPtrC fromAddr1 = smsMessage1->ToFromAddress();
@@ -7653,7 +6682,6 @@
 	TEST_CHECKL(bRcv, ETrue, _L("Receive after reading 1st message should also succeed."));
 	
 	CSmsMessage* smsMessage2 = RecvSmsL(socket);
-
     CleanupStack::PushL(smsMessage2);
 
     TPtrC fromAddr2 = smsMessage2->ToFromAddress();
@@ -7662,10 +6690,8 @@
 	CleanupStack::PopAndDestroy(smsMessage2);
 	CleanupStack::PopAndDestroy(smsMessage1);
 	CleanupStack::PopAndDestroy(&socket);
-	CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult() ;
-	}  // CTestReceivingMessageAfterSocketClosure::doTestStepL
+	}
 
 TVerdict CTestSimpleTxAndRxWithLoggingDisabled::doTestStepL()
 /**
@@ -7674,12 +6700,8 @@
  */
 	{
  	INFO_PRINTF1(_L("Test Simple Tx and Rx SMS"));
- 
- 	RSocketServ socketServer;
- 	PrepareRegTestLC(socketServer, 158);
- 
- 	RSocket socket;
- 	iSmsStackTestUtils->OpenSmsSocketL(socketServer,socket,ESmsAddrRecvAny);
+  	RSocket socket;
+ 	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer,socket,ESmsAddrRecvAny);
  	CleanupClosePushL(socket);
  
  	iSmsStackTestUtils->DisableLogging();
@@ -7691,34 +6713,25 @@
  	iServiceCenterNumber=KRadiolinjaSC;
  
  	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
- 	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
- 	CleanupStack::PushL(smsMessage);
+ 	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
  
  	INFO_PRINTF2(_L("Destination number:..... %S"),&iTelephoneNumber);
  	INFO_PRINTF2(_L("ServiceCenter number:... %S"),&iServiceCenterNumber);
  
  	//Send SMS
  	SendSmsL(smsMessage,socket);
- 
  	CleanupStack::PopAndDestroy(smsMessage);
  
  	//Receive SMS
- 	INFO_PRINTF1(_L("waiting for incoming SMS...") );
  	WaitForRecvL(socket);
  	smsMessage = RecvSmsL(socket);
- 
- 	INFO_PRINTF1(_L("incoming SMS") );
- 
  	CleanupStack::PushL(smsMessage);
+
  	TestSmsContentsL(smsMessage,KTestMsg1);
  	CleanupStack::PopAndDestroy(smsMessage);
  
  	iSmsStackTestUtils->EnableLogging();	
- 	
  	CleanupStack::PopAndDestroy(&socket);
- 	
- 	CleanupStack::PopAndDestroy(&socketServer);
- 
  	return TestStepResult() ;
  	}
 
@@ -7727,11 +6740,8 @@
  */
 TVerdict CTestEncoding7bitNationalLanguages::doTestStepL()
     {
-    RSocketServ  socketServer;
-    PrepareRegTestLC(socketServer, 160);
-
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
     CleanupClosePushL(socket);
 
     //
@@ -7808,26 +6818,18 @@
         /* Encoding to use */   ESmsEncodingTurkishLockingShift,
         /* Encoding expected */ ESmsEncodingTurkishLockingShift);
     iCharSets.Reset();  
-    
-    //
-    // Clean up and finish...
-    //
+
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult();
-    }  // CTestEncoding7bitNationalLanguages::doTestStepL
+    }
 
 /**
  *  Tests that Portuguese character converters creates a multi PDU SMS message correctly.
  */
 TVerdict CTestEncodingMultiPDUwith7bitNationalLanguages::doTestStepL()
     {
-    RSocketServ  socketServer;
-    PrepareRegTestLC(socketServer, 161);
-
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
     CleanupClosePushL(socket);
 
     //
@@ -7855,26 +6857,17 @@
     iCharSets.Reset(); 
     iAdditionalCharSets.Reset();
 
-    //
-    // Clean up and finish...
-    //
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult();
-    }  // CTestEncodingMultiPDUwith7bitNationalLanguages::doTestStepL
+    }
 
 /**
  * Test Turkish, Portuguese and Spanish Character Downgrading
  */
 TVerdict CTestEncodingDowngradedWith7bitNationalLanguages::doTestStepL()
     {
-    
-    RSocketServ  socketServer;
-    PrepareRegTestLC(socketServer, 162); 
-
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
     CleanupClosePushL(socket);
 
     //
@@ -7919,26 +6912,17 @@
         /* Encoding expected */ ESmsEncodingNone);
     iCharSets.Reset();
 
-    //
-    // Clean up and finish...
-    //
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult();
-    }  // CTestEncodingDowngradedWith7bitNationalLanguages::doTestStepL()
+    }
 
 /**
  * Test Portuguese GSM text (Portuguese locking and shift table)...
  */
 TVerdict CTestOptimumEncodingWithLockingAndShift7bitNationalLanguages::doTestStepL()
     {
-
-    RSocketServ  socketServer;
-    PrepareRegTestLC(socketServer, 163); 
-
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
     CleanupClosePushL(socket);
 
     // Test to ensure ESmsEncodingPortugueseSingleShift is selected
@@ -7959,26 +6943,17 @@
          /* Encoding expected */ ESmsEncodingPortugueseSingleShift);
     iCharSets.Reset(); 
     
-    //
-    // Clean up and finish...
-    //
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult();
-    }  // CTestOptimumEncodingWithLockingAndShift7bitNationalLanguages::doTestStepL()
+    }
 
 /**
  * Test normal GSM text but with Turkish locking and shift table...
  */
 TVerdict CTestOptimumEncodingWithLockingAndDowngrade7bitNationalLanguages::doTestStepL()
     {
-    
-    RSocketServ  socketServer;
-    PrepareRegTestLC(socketServer, 164); 
-
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
     CleanupClosePushL(socket);
     
     // Add characters in the standard table, but request ESmsEncodingTurkishLockingAndSingleShift 
@@ -7994,26 +6969,17 @@
         /* Encoding expected */ ESmsEncodingNone);
     iCharSets.Reset();
     
-    //
-    // Clean up and finish...
-    //
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult();
-    }  // CTestOptimumEncodingWithLockingAndDowngrade7bitNationalLanguages::doTestStepL()
+    }
 
 /**
  * Test Turkish GSM text with other downgrades (Turkish locking and shift table)...
  */
 TVerdict CTestOptimumEncodingWithLockingAndUnconvertible7bitNationalLanguages::doTestStepL()
     {
-    
-    RSocketServ  socketServer;
-    PrepareRegTestLC(socketServer, 165); 
-
     RSocket socket;
-    iSmsStackTestUtils->OpenSmsSocketL(socketServer, socket, ESmsAddrRecvAny);
+    iSmsStackTestUtils->OpenSmsSocketL(iSocketServer, socket, ESmsAddrRecvAny);
     CleanupClosePushL(socket);
 
     // Add Turkish shift characters
@@ -8030,12 +6996,6 @@
         /* Encoding expected */ ESmsEncodingTurkishSingleShift);
     iCharSets.Reset();
 
-    //
-    // Clean up and finish...
-    //
     CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
     return TestStepResult();
-    }  // CTestOptimumEncodingWithLockingAndUnconvertible7bitNationalLanguages::doTestStepL
-
+    }
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.h	Fri Apr 16 16:12:37 2010 +0300
@@ -13,330 +13,334 @@
 // Description:
 //
 
-
-#ifndef __TE_SMSPRT_H_
-#define __TE_SMSPRT_H_
-
+#ifndef TE_SMSPRT_H
+#define TE_SMSPRT_H
 
 #include "TE_smsprtbase.h"
 #include "logcheck.h"
 
+class CSmsEventLogger;
 
-class CTestSimpleTxAndRx : public CSmsPrtTestStep
+class CTestSimpleTxAndRx : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
-
-
-class CTestBinaryTxAndRx : public CSmsPrtTestStep
+	
+	
+class CTestBinaryTxAndRx : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
-	};
+	};	
 
 
-class CTestStatusReport : public CSmsPrtTestStep
+class CTestStatusReport : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestTxWithError : public CSmsPrtTestStep
+class CTestTxWithError : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestTxFailed : public CSmsPrtTestStep
+class CTestTxFailed : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMatchingToObserver : public CSmsPrtTestStep
+class CTestMatchingToObserver : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestCommandMessages : public CSmsPrtTestStep
+class CTestCommandMessages : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSimpleRx : public CSmsPrtTestStep
+class CTestSimpleRx : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTest7bitMessTest : public CSmsPrtTestStep
+class CTest7bitMessTest : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestClassMessages : public CSmsPrtTestStep
+class CTestClassMessages : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestRxConcatenated : public CSmsPrtTestStep
+class CTestRxConcatenated : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestRxDuplicate : public CSmsPrtTestStep
+class CTestRxDuplicate : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestRxRingToneA : public CSmsPrtTestStep
+class CTestRxRingToneA : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestTxRxConcatenated : public CSmsPrtTestStep
+class CTestTxRxConcatenated : public CSmsBaseTestStep
+	{
+public:
+	virtual TVerdict doTestStepL();
+	};
+
+
+class CTestParamStorage : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestParamStorage : public CSmsPrtTestStep
+class CTestSmsStore : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSmsStore : public CSmsPrtTestStep
-	{
-public:
-	virtual TVerdict doTestStepL();
-	};
-
-
-class CTestSmsStoreList : public CSmsPrtTestStep
+class CTestSmsStoreList : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestDeleteSms : public CSmsPrtTestStep
+class CTestDeleteSms : public CSmsBaseTestStep
+	{
+public:
+	virtual TVerdict doTestStepL();
+	};
+
+class CTestSmsAddr : public CSmsBaseTestStep
+    {
+public:
+    virtual TVerdict doTestStepL();
+    };
+
+class CTestSocketBinding : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSocketBinding : public CSmsPrtTestStep
+class CTestSmsEventLogger : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSmsEventLogger : public CSmsPrtTestStep
-	{
-public:
-	virtual TVerdict doTestStepL();
-	};
-
-
-class CTestBearerChange : public CSmsPrtTestStep
+class CTestBearerChange : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestRestoreBearer : public CSmsPrtTestStep
+class CTestRestoreBearer : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestRecvModeChange : public CSmsPrtTestStep
+class CTestRecvModeChange : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestTsyCaps : public CSmsPrtTestStep
+class CTestTsyCaps : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestOOMSendSms : public CSmsPrtTestStep
+class CTestOOMSendSms : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestOOMWriteSms : public CSmsPrtTestStep
+class CTestOOMWriteSms : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestOOMReadSms : public CSmsPrtTestStep
+class CTestOOMReadSms : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestOOMReadSmsList : public CSmsPrtTestStep
+class CTestOOMReadSmsList : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestOOMDeleteSms : public CSmsPrtTestStep
+class CTestOOMDeleteSms : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestOOMSmsParams : public CSmsPrtTestStep
+class CTestOOMSmsParams : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMeStoreDupAndMiss : public CSmsPrtTestStep
+class CTestMeStoreDupAndMiss : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSimStoreDupAndMiss : public CSmsPrtTestStep
+class CTestSimStoreDupAndMiss : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestRxCphs : public CSmsPrtTestStep
+class CTestRxCphs : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
-class CTestInvalidPDUs : public CSmsPrtTestStep
+class CTestInvalidPDUs : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestStress : public CSmsPrtTestStep
+class CTestStress : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestCombinedStore : public CSmsPrtTestStep
+class CTestCombinedStore : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestParamsInter : public CSmsPrtTestStep
+class CTestParamsInter : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestTxRxAlphanumeric : public CSmsPrtTestStep
+class CTestTxRxAlphanumeric : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestRxSuspend : public CSmsPrtTestStep
+class CTestRxSuspend : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestEnumerateCorrupted : public CSmsPrtTestStep
+class CTestEnumerateCorrupted : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestCancelling : public CSmsPrtTestStep
+class CTestCancelling : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSendAndRecvMsgsWithDifferentTON : public CSmsPrtTestStep
+class CTestSendAndRecvMsgsWithDifferentTON : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSendAndReceiveIndicatorMsgs : public CSmsPrtTestStep
+class CTestSendAndReceiveIndicatorMsgs : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSendRecvMaxLengthMsg : public CSmsPrtTestStep
+class CTestSendRecvMaxLengthMsg : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSendAndRecvMsgsWithDifferentPID : public CSmsPrtTestStep
+class CTestSendAndRecvMsgsWithDifferentPID : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CSmsParamsErrorCases : public CSmsPrtTestStep
+class CTestSmsParamsErrorCases : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
@@ -350,255 +354,243 @@
 	};
 
 
-class CTestResendFailedConcatinatedMessage : public CSmsPrtTestStep
-	{
-public:
-	virtual TVerdict doTestStepL();
-	};
-
-
-class CTestMultipartWapMessage : public CSmsPrtTestStep
+class CTestResendFailedConcatinatedMessage : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMOSESMessage : public CSmsPrtTestStep
+class CTestMultipartWapMessage : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestClockBack : public CSmsPrtTestStep
+class CTestMOSESMessage : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestEnumerateNoMessages : public CSmsPrtTestStep
+class CTestClockBack : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestIE : public CSmsPrtTestStep
+class CTestEnumerateNoMessages : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestEmailIE : public CSmsPrtTestStep
+class CTestIE : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMaxReadTimeForSmsStoreList : public CSmsPrtTestStep
+class CTestEmailIE : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSameLogIdMultiplePDU	: public CSmsPrtTestStep
+class CTestMaxReadTimeForSmsStoreList : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSameLogIdSinglePDU : public CSmsPrtTestStep
+class CTestSameLogIdMultiplePDU	: public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestConcatenatedMessageLogging : public CSmsPrtTestStep
+class CTestSameLogIdSinglePDU : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
+class CTestConcatenatedMessageLogging : public CSmsBaseTestStep
+    {
+public:
+    virtual TVerdict doTestStepL();
+    };
+
+
 class CSmsLogChecker;
 
 class CTestLog : public CActive
-	{
-	public:
-		static CTestLog* NewLC(CSmsStackTestUtils& aUtils, RFs& aFs, CSmsPrtTestStep* aTest, TInt aPriority);
-		~CTestLog();
+    {
+public:
+    static CTestLog* NewLC(CSmsStackTestUtils& aUtils, RFs& aFs, CSmsBaseTestStep* aTest, TInt aPriority);
+    ~CTestLog();
 
-		void StartL();
-
-	private:
+    void StartL();
 
-		void ConstructL(RFs& aFs);
-		CTestLog(CSmsStackTestUtils& aUtils, CSmsPrtTestStep* aTest, TInt aPriority);
-		void RunL();
-		void DoCancel() {};
-		TInt RunError(TInt aError) {Complete(aError); return KErrNone;}
-		void Complete(TInt aError) {iStatus = aError; CActiveScheduler::Stop();}
-		void StartOriginalL();
-		void StartCompareL(TInt aExpectError);
+private:
+    void ConstructL(RFs& aFs);
+    CTestLog(CSmsStackTestUtils& aUtils, CSmsBaseTestStep* aTest, TInt aPriority);
+    void RunL();
+    void DoCancel() {};
+    TInt RunError(TInt aError) {Complete(aError); return KErrNone;}
+    void Complete(TInt aError) {iStatus = aError; CActiveScheduler::Stop();}
+    void StartOriginalL();
+    void StartCompareL(TInt aExpectError);
+
+private:
+    enum TState
+        {
+        EOriginal
+        } iState;
 
-	private:
+    CSmsStackTestUtils& iUtils;
+    CSmsBaseTestStep* iTest;
 
-		enum TState
-			{
-			EOriginal
-			} iState;
+    CSmsLogChecker* iLogChecker;
+    CSmsEventLogger* iEventLogger;
+    CSmsMessage* iMessage;
+    RSocket iSocket;
 
-		CSmsStackTestUtils& iUtils;
-		CSmsPrtTestStep* iTest;
+    RArray<TLogId> iAddedIds;
+    TInt iNumberToAdd;
+    TLogSmsPduData iData;
+    };
 
-		CSmsLogChecker* iLogChecker;
-		CSmsEventLogger* iEventLogger;
-		CSmsMessage* iMessage;
-		RSocketServ iSocketServer;
-		RSocket iSocket;
 
-		RArray<TLogId> iAddedIds;
-		TInt iNumberToAdd;
-		TLogSmsPduData iData;
+class CTestEnumerationOfStatusReport : public CSmsBaseTestStep
+    {
+public:
+    TVerdict doTestStepL();
+    };
+
+
+class CTestWriteStatusReportToSIM : public CSmsBaseTestStep
+    {
+public:
+	TVerdict doTestStepL();
 	};
 
 
-class CTestEnumerationOfStatusReport : public CSmsPrtTestStep
+class CTestTxSmsWithDelayedCompletion : public CSmsBaseTestStep
 	{
 public:
 	TVerdict doTestStepL();
 	};
 
 
-class CTestWriteStatusReportToSIM : public CSmsPrtTestStep
-	{
-public:
-	TVerdict doTestStepL();
-	};
-
-
-class CTestTxSmsWithDelayedCompletion : public CSmsPrtTestStep
+class CTestSmsStoreReadCancel : public CSmsBaseTestStep
 	{
 public:
 	TVerdict doTestStepL();
 	};
 
 
-class CTestSmsStoreReadCancel : public CSmsPrtTestStep
-	{
-public:
-	TVerdict doTestStepL();
-	};
-
-
-class CTestBindWhenPoweredDownWithPublishSubscribe : public CSmsPrtTestStep
-	{
-public :
-	TVerdict doTestStepL();
-	};
-
-
-class CTestObserverNotifiedWhenPoweredDownWithPublishSubscribe : public CSmsPrtTestStep
+class CTestBindWhenPoweredDownWithPublishSubscribe : public CSmsBaseTestStep
 	{
 public :
 	TVerdict doTestStepL();
 	};
 
 
-class CTestSmsCNumberChangeWithPublishSubscribe : public CSmsPrtTestStep
+class CTestObserverNotifiedWhenPoweredDownWithPublishSubscribe : public CSmsBaseTestStep
 	{
 public :
 	TVerdict doTestStepL();
 	};
 
 
-class CTestStatusReportTime : public CSmsPrtTestStep
+class CTestSmsCNumberChangeWithPublishSubscribe : public CSmsBaseTestStep
+	{
+public :
+	TVerdict doTestStepL();
+	};
+
+
+class CTestStatusReportTime : public CSmsBaseTestStep
 	{
 public:
 	TVerdict doTestStepL();
 	};
 
 
-class CTestTx8BitWapWithStatus : public CSmsPrtTestStep
+class CTestTx8BitWapWithStatus : public CSmsBaseTestStep
 	{
 public:
 	TVerdict doTestStepL();
 	};
 
 
-class CTestSimStoreCorruptMessage : public CSmsPrtTestStep
+class CTestSimStoreCorruptMessage : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestCorruptPduWithNegativeResponse : public CSmsPrtTestStep
-	{
-public:
-    TVerdict doTestStepL();
-	};
-
-
-class CTestBootTimer : public CSmsPrtTestStep
+class CTestCorruptPduWithNegativeResponse : public CSmsBaseTestStep
 	{
 public:
     TVerdict doTestStepL();
 	};
 
 
-class CTestCSmsMessageTimeStamp : public CSmsPrtTestStep
+class CTestBootTimer : public CSmsBaseTestStep
 	{
 public:
     TVerdict doTestStepL();
 	};
 
 
-class CTestCSmsMessageWithDeliverPDU : public CSmsPrtTestStep
+class CTestCSmsMessageTimeStamp : public CSmsBaseTestStep
 	{
 public:
     TVerdict doTestStepL();
 	};
 
 
-class CTestCSmsMessageWithStatusReportPDU : public CSmsPrtTestStep
+class CTestCSmsMessageWithDeliverPDU : public CSmsBaseTestStep
 	{
 public:
     TVerdict doTestStepL();
 	};
 
 
-class CTestCSmsMessageWithSubmitPDU : public CSmsPrtTestStep
+class CTestCSmsMessageWithStatusReportPDU : public CSmsBaseTestStep
 	{
 public:
     TVerdict doTestStepL();
 	};
 
 
-class CTestHandlePID40h : public CSmsPrtTestStep
+class CTestCSmsMessageWithSubmitPDU : public CSmsBaseTestStep
+	{
+public:
+    TVerdict doTestStepL();
+	};
+
+
+class CTestHandlePID40h : public CSmsBaseTestStep
 	{
 public:
 	TVerdict doTestStepL();
 	};
 
 
-class CTestDiskSpaceMidRangeClass0Class2 : public CSmsPrtTestStep
-	{
-public:	
-	TVerdict doTestStepPreambleL();
-	TVerdict doTestStepL();
-	TVerdict doTestStepPostambleL();
-	};
-
-
-class CTestDiskSpaceLowRangeClass0Class2 : public CSmsPrtTestStep
+class CTestDiskSpaceMidRangeClass0Class2 : public CSmsBaseTestStep
 	{
 public:
     TVerdict doTestStepPreambleL();
@@ -607,28 +599,37 @@
 	};
 
 
-class CTestCorruptPDUs : public CSmsPrtTestStep
+class CTestDiskSpaceLowRangeClass0Class2 : public CSmsBaseTestStep
+	{
+public:
+    TVerdict doTestStepPreambleL();
+	TVerdict doTestStepL();
+	TVerdict doTestStepPostambleL();
+	};
+
+
+class CTestCorruptPDUs : public CSmsBaseTestStep
 	{
 public:
 	TVerdict doTestStepL();
 	};
 
 
-class CTestCongestedReceive : public CSmsPrtTestStep
+class CTestCongestedReceive : public CSmsBaseTestStep
 	{
 public:
 	TVerdict doTestStepL();
 	};
 
 
-class CTestEncodingPDUonBoundary : public CSmsPrtTestStep
+class CTestEncodingPDUonBoundary : public CSmsBaseTestStep
 	{
 public:
 	virtual enum TVerdict doTestStepL();
 	};
 
 
-class CTestReceiveInvalidOrReservedIE : public CSmsPrtTestStep
+class CTestReceiveInvalidOrReservedIE : public CSmsBaseTestStep
 	{
 public:
 	virtual enum TVerdict doTestStepL();
@@ -676,25 +677,27 @@
 	virtual enum TVerdict doTestStepL();
 	};
 
+
 class CTestEncoding7bitTurkishAndUnconvertible : public CSmsPrtEncodingTestStep
 	{
 public:
 	virtual enum TVerdict doTestStepL();
 	};
 
-class CTestReceivingMessageWithDifferentEncodings : public CSmsPrtTestStep
+
+class CTestReceivingMessageWithDifferentEncodings : public CSmsBaseTestStep
 	{
 public:
 	virtual enum TVerdict doTestStepL();
 	};
 
-class CTestReceivingMessageAfterSocketClosure : public CSmsPrtTestStep
+class CTestReceivingMessageAfterSocketClosure : public CSmsBaseTestStep
 	{
 public:
 	virtual enum TVerdict doTestStepL();
 	};
 
-class CTestSimpleTxAndRxWithLoggingDisabled : public CSmsPrtTestStep
+class CTestSimpleTxAndRxWithLoggingDisabled : public CSmsBaseTestStep
  	{
 public:
  	virtual TVerdict doTestStepL();
@@ -736,4 +739,4 @@
     virtual enum TVerdict doTestStepL();
     };
 
-#endif
+#endif // TE_SMSPRT_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -24,7 +24,6 @@
 SOURCE        TE_smsprt.cpp
 SOURCE        TE_smsprtserver.cpp
 SOURCE        TE_smsprtbase.cpp
-SOURCE        te_smsprttestcase.cpp
 SOURCE        logcheck.cpp
 SOURCE        te_smsprt_R6.cpp
 SOURCE        Te_StatusReportScheme.cpp
@@ -35,7 +34,6 @@
 SOURCE        TE_DeleteSARStores.cpp
 SOURCE        TE_ReceiveSMS.cpp
 SOURCE        TE_SendSMS.cpp
-SOURCE        Te_SmsTestSteps.cpp
 SOURCE        TE_FreeDiskSpace.cpp
 SOURCE        TE_SetDiskSpace.cpp
 SOURCE        TE_SetDiskSpaceMonitorLimits.cpp
@@ -43,7 +41,6 @@
 SOURCE        TE_SendReceiveSMSWhileServerInOOM.cpp
 SOURCE        Te_Class0StoreEnabled.cpp
 SOURCE        TE_EnumerateInOODCondition.cpp
-SOURCE        TE_DoESockMemoryLeakTest.cpp
 SOURCE        TE_smsprt_alphabet.cpp
 
 SOURCEPATH       ../../Test
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt.script	Fri Apr 16 16:12:37 2010 +0300
@@ -15,11 +15,10 @@
 
 RUN_SCRIPT z:\TestData\Scripts\TE_smsprt_setup.script
 
-
-
 LOAD_SUITE TE_smsprt -SharedData
 
 //!@file
+
 START_TESTCASE SMS-SMSStack-NA-3001
 //!@SYMTestCaseID SMS-SMSStack-NA-3001
 //!@SYMREQ REQ0000
@@ -28,7 +27,7 @@
 //!@SYMTestActions Test simple transmit and receive
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSimpleTxAndRx
+RUN_TEST_STEP 500 TE_smsprt TestSimpleTxAndRx z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber0
 END_TESTCASE SMS-SMSStack-NA-3001
 
 START_TESTCASE SMS-SMSS-SMSPROT-0158
@@ -39,7 +38,7 @@
 //!@SYMTestActions Sets the Log Server to "No Log", then sends and receives a SMS, both operations should be completed successfully.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 600 TE_smsprt TestSimpleTxAndRxWithLoggingDisabled
+RUN_TEST_STEP 600 TE_smsprt TestSimpleTxAndRxWithLoggingDisabled z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber158
 END_TESTCASE SMS-SMSS-SMSPROT-0158
 
 START_TESTCASE SMS-SMSStack-NA-3002
@@ -50,7 +49,7 @@
 //!@SYMTestActions  Test status report
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestStatusReport
+RUN_TEST_STEP 500 TE_smsprt TestStatusReport z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber1
 END_TESTCASE SMS-SMSStack-NA-3002
 
 
@@ -62,7 +61,7 @@
 //!@SYMTestActions Test Transmit with Error
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestTxWithError
+RUN_TEST_STEP 500 TE_smsprt TestTxWithError z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber2
 END_TESTCASE SMS-SMSStack-NA-3003
 
 
@@ -74,7 +73,7 @@
 //!@SYMTestActions  Test Transmit with failure
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestTxFailed
+RUN_TEST_STEP 500 TE_smsprt TestTxFailed z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber3
 END_TESTCASE SMS-SMSStack-NA-3004
 
 
@@ -86,7 +85,7 @@
 //!@SYMTestActions  Test Matching To Observer
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestMatchingToObserver
+RUN_TEST_STEP 500 TE_smsprt TestMatchingToObserver z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber4
 END_TESTCASE SMS-SMSStack-NA-3005
 
 
@@ -98,7 +97,7 @@
 //!@SYMTestActions Test Command Messages
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCommandMessages
+RUN_TEST_STEP 500 TE_smsprt TestCommandMessages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber5
 END_TESTCASE SMS-SMSStack-NA-3006
 
 
@@ -110,7 +109,7 @@
 //!@SYMTestActions Test Simple Receive
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSimpleRx
+RUN_TEST_STEP 500 TE_smsprt TestSimpleRx z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber6
 END_TESTCASE SMS-SMSStack-NA-3007
 
 
@@ -122,7 +121,7 @@
 //!@SYMTestActions  Test 7bit Mess Test
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt Test7bitMessTest
+RUN_TEST_STEP 500 TE_smsprt Test7bitMessTest z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber7
 END_TESTCASE SMS-SMSStack-NA-3008
 
 
@@ -134,7 +133,7 @@
 //!@SYMTestActions Test Class Messages
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestClassMessages
+RUN_TEST_STEP 500 TE_smsprt TestClassMessages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber8
 END_TESTCASE SMS-SMSStack-NA-3009
 
 
@@ -146,7 +145,7 @@
 //!@SYMTestActions  Test receive concatenated
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestRxConcatenated
+RUN_TEST_STEP 500 TE_smsprt TestRxConcatenated z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber9
 END_TESTCASE SMS-SMSStack-NA-3010
 
 
@@ -158,7 +157,7 @@
 //!@SYMTestActions  Test receive duplicate
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestRxDuplicate
+RUN_TEST_STEP 500 TE_smsprt TestRxDuplicate z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber10
 END_TESTCASE SMS-SMSStack-NA-3011
 
 
@@ -170,7 +169,7 @@
 //!@SYMTestActions  Test receive ring tone A
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestRxRingToneA
+RUN_TEST_STEP 500 TE_smsprt TestRxRingToneA z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber11
 END_TESTCASE SMS-SMSStack-NA-3012
 
 
@@ -182,7 +181,7 @@
 //!@SYMTestActions  Test Transmit/receive concatenated messages
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestTxRxConcatenated
+RUN_TEST_STEP 500 TE_smsprt TestTxRxConcatenated z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber12
 END_TESTCASE SMS-SMSStack-NA-3013
 
 
@@ -194,7 +193,7 @@
 //!@SYMTestActions  Test storage of parameters
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestParamStorage
+RUN_TEST_STEP 500 TE_smsprt TestParamStorage z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber13
 END_TESTCASE SMS-SMSStack-NA-3014
 
 
@@ -206,7 +205,7 @@
 //!@SYMTestActions  Test Sms Store
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSmsStore
+RUN_TEST_STEP 500 TE_smsprt TestSmsStore z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber14
 END_TESTCASE SMS-SMSStack-NA-3015
 
 
@@ -218,7 +217,7 @@
 //!@SYMTestActions  Test Sms Store List
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSmsStoreList
+RUN_TEST_STEP 500 TE_smsprt TestSmsStoreList z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber15
 END_TESTCASE SMS-SMSStack-NA-3016
 
 
@@ -230,7 +229,7 @@
 //!@SYMTestActions Test Delete Sms
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestDeleteSms
+RUN_TEST_STEP 500 TE_smsprt TestDeleteSms z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber15
 END_TESTCASE SMS-SMSStack-NA-3017
 
 
@@ -242,9 +241,19 @@
 //!@SYMTestActions  Test Socket Binding
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSocketBinding
+RUN_TEST_STEP 500 TE_smsprt TestSocketBinding z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber16
 END_TESTCASE SMS-SMSStack-NA-3018
 
+START_TESTCASE SMS-SMSStack-NA-3098
+//!@SYMTestCaseID SMS-SMSStack-NA-3098
+//!@SYMREQ REQ0000
+//!@SYMTestCaseDesc Test SMS address class
+//!@SYMTestPriority High
+//!@SYMTestActions  Test SMS address class
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 500 TE_smsprt TestSmsAddr
+END_TESTCASE SMS-SMSStack-NA-3098
 
 START_TESTCASE SMS-SMSStack-NA-3019
 //!@SYMTestCaseID SMS-SMSStack-NA-3019
@@ -254,7 +263,7 @@
 //!@SYMTestActions  Test Sms Event Logger
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSmsEventLogger
+RUN_TEST_STEP 500 TE_smsprt TestSmsEventLogger z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber17
 END_TESTCASE SMS-SMSStack-NA-3019
 
 
@@ -266,7 +275,7 @@
 //!@SYMTestActions  Test Bearer Change
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestBearerChange
+RUN_TEST_STEP 500 TE_smsprt TestBearerChange z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber18
 END_TESTCASE SMS-SMSStack-NA-3020
 
 
@@ -278,7 +287,7 @@
 //!@SYMTestActions  Test Restore Bearer
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestRestoreBearer
+RUN_TEST_STEP 500 TE_smsprt TestRestoreBearer 
 END_TESTCASE SMS-SMSStack-NA-3094
 
 
@@ -290,7 +299,7 @@
 //!@SYMTestActions  Test Recieve Mode Change
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestRecvModeChange
+RUN_TEST_STEP 500 TE_smsprt TestRecvModeChange z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber19
 END_TESTCASE SMS-SMSStack-NA-3021
 
 
@@ -302,7 +311,7 @@
 //!@SYMTestActions  Test Tsy Capabilities
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestTsyCaps
+RUN_TEST_STEP 500 TE_smsprt TestTsyCaps z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber20
 END_TESTCASE SMS-SMSStack-NA-3022
 
 
@@ -314,7 +323,7 @@
 //!@SYMTestActions  Test send sms with out of memory conditions
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestOOMSendSms
+RUN_TEST_STEP 500 TE_smsprt TestOOMSendSms z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber21
 END_TESTCASE SMS-SMSStack-NA-3023
 
 
@@ -326,7 +335,7 @@
 //!@SYMTestActions  Test write sms with out of memory conditions
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestOOMWriteSms
+RUN_TEST_STEP 500 TE_smsprt TestOOMWriteSms z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber22
 END_TESTCASE SMS-SMSStack-NA-3024
 
 
@@ -338,7 +347,7 @@
 //!@SYMTestActions  Test Read Sms with out of memory conditions
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestOOMReadSms
+RUN_TEST_STEP 500 TE_smsprt TestOOMReadSms z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber23
 END_TESTCASE SMS-SMSStack-NA-3025
 
 
@@ -350,7 +359,7 @@
 //!@SYMTestActions  Test read sms list with out of memory conditions
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 1000 TE_smsprt TestOOMReadSmsList
+RUN_TEST_STEP 1000 TE_smsprt TestOOMReadSmsList z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber24
 END_TESTCASE SMS-SMSStack-NA-3026
 
 
@@ -362,7 +371,7 @@
 //!@SYMTestActions  Test delete sms with out of memory conditions
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestOOMDeleteSms
+RUN_TEST_STEP 500 TE_smsprt TestOOMDeleteSms z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber25
 END_TESTCASE SMS-SMSStack-NA-3027
 
 
@@ -374,7 +383,7 @@
 //!@SYMTestActions  Test sms params with out of memory conditions
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestOOMSmsParams
+RUN_TEST_STEP 500 TE_smsprt TestOOMSmsParams z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber26
 END_TESTCASE SMS-SMSStack-NA-3028
 
 
@@ -386,7 +395,7 @@
 //!@SYMTestActions  Test Me store with duplicate and missing pdus'
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestMeStoreDupAndMiss
+RUN_TEST_STEP 500 TE_smsprt TestMeStoreDupAndMiss z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber27
 END_TESTCASE SMS-SMSStack-NA-3029
 
 
@@ -398,7 +407,7 @@
 //!@SYMTestActions  Test Sim Store with duplicate and Missing pdus'
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSimStoreDupAndMiss
+RUN_TEST_STEP 500 TE_smsprt TestSimStoreDupAndMiss z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber28
 END_TESTCASE SMS-SMSStack-NA-3030
 
 
@@ -410,7 +419,7 @@
 //!@SYMTestActions   Test the reception of a CPHS Message Waiting Indication
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestRxCphs
+RUN_TEST_STEP 500 TE_smsprt TestRxCphs z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber30
 END_TESTCASE SMS-SMSStack-NA-3031
 
 
@@ -422,7 +431,7 @@
 //!@SYMTestActions  Test receiving invalid pdus
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestInvalidPDUs
+RUN_TEST_STEP 500 TE_smsprt TestInvalidPDUs z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber31
 END_TESTCASE SMS-SMSStack-NA-3032
 
 
@@ -434,7 +443,7 @@
 //!@SYMTestActions  Test Transmit and Receive large number of different messages
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 700 TE_smsprt TestStress
+RUN_TEST_STEP 700 TE_smsprt TestStress z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber32
 
 END_TESTCASE SMS-SMSStack-NA-3033
 
@@ -446,7 +455,7 @@
 //!@SYMTestActions  Test Combined Store
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCombinedStore
+RUN_TEST_STEP 500 TE_smsprt TestCombinedStore z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber33
 END_TESTCASE SMS-SMSStack-NA-3034
 
 
@@ -458,7 +467,7 @@
 //!@SYMTestActions  Test retrieving and storing the sms parameters
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestParamsInter
+RUN_TEST_STEP 500 TE_smsprt TestParamsInter z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber34
 END_TESTCASE SMS-SMSStack-NA-3035
 
 
@@ -470,7 +479,7 @@
 //!@SYMTestActions  est a Transmit And receive of messages with alphanumeric dest/orig addresses
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestTxRxAlphanumeric
+RUN_TEST_STEP 500 TE_smsprt TestTxRxAlphanumeric z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber35
 END_TESTCASE SMS-SMSStack-NA-3036
 
 
@@ -482,7 +491,7 @@
 //!@SYMTestActions  Test Receive Suspension
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestRxSuspend
+RUN_TEST_STEP 500 TE_smsprt TestRxSuspend 
 END_TESTCASE SMS-SMSStack-NA-3037
 
 
@@ -494,7 +503,7 @@
 //!@SYMTestActions Test Enumeration of Corrupted messages
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestEnumerateCorrupted
+RUN_TEST_STEP 500 TE_smsprt TestEnumerateCorrupted z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber37
 END_TESTCASE SMS-SMSStack-NA-3038
 
 
@@ -506,7 +515,7 @@
 //!@SYMTestActions  Test Cancellacion of an sms operation
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCancelling
+RUN_TEST_STEP 500 TE_smsprt TestCancelling z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber38
 END_TESTCASE SMS-SMSStack-NA-3039
 
 
@@ -518,7 +527,7 @@
 //!@SYMTestActions  Test send And recieve messages with different TON
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSendAndRecvMsgsWithDifferentTON
+RUN_TEST_STEP 500 TE_smsprt TestSendAndRecvMsgsWithDifferentTON 
 END_TESTCASE SMS-SMSStack-NA-3040
 
 
@@ -578,7 +587,7 @@
 //!@SYMTestActions Test Resend Failed Concatinated Message
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestResendFailedConcatinatedMessage
+RUN_TEST_STEP 500 TE_smsprt TestResendFailedConcatinatedMessage z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber44
 END_TESTCASE SMS-SMSStack-NA-3097
 
 
@@ -590,7 +599,7 @@
 //!@SYMTestActions Test Multipart Wap Message
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestMultipartWapMessage
+RUN_TEST_STEP 500 TE_smsprt TestMultipartWapMessage z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber45
 END_TESTCASE SMS-SMSStack-NA-3045
 
 
@@ -602,7 +611,7 @@
 //!@SYMTestActions  Test MOSES Message
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestMOSESMessage
+RUN_TEST_STEP 500 TE_smsprt TestMOSESMessage z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber46
 END_TESTCASE SMS-SMSStack-NA-3046
 
 
@@ -614,7 +623,7 @@
 //!@SYMTestActions  Test Clock Back
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestClockBack
+RUN_TEST_STEP 500 TE_smsprt TestClockBack z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber47
 END_TESTCASE SMS-SMSStack-NA-3047
 
 
@@ -626,7 +635,7 @@
 //!@SYMTestActions  Test enumeration of no messages
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestEnumerateNoMessages
+RUN_TEST_STEP 500 TE_smsprt TestEnumerateNoMessages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber48
 END_TESTCASE SMS-SMSStack-NA-3048
 
 
@@ -638,7 +647,7 @@
 //!@SYMTestActions  Test Concatenated Message Logging
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestConcatenatedMessageLogging
+RUN_TEST_STEP 500 TE_smsprt TestConcatenatedMessageLogging z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber50
 END_TESTCASE SMS-SMSStack-NA-3049
 
 
@@ -650,7 +659,7 @@
 //!@SYMTestActions  Test Enumeration Of Status Report
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestEnumerationOfStatusReport
+RUN_TEST_STEP 500 TE_smsprt TestEnumerationOfStatusReport z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber51
 END_TESTCASE SMS-SMSStack-NA-3050
 
 
@@ -662,7 +671,7 @@
 //!@SYMTestActions  Test IE
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestIE
+RUN_TEST_STEP 500 TE_smsprt TestIE z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber52
 END_TESTCASE SMS-SMSStack-NA-3051
 
 
@@ -674,7 +683,7 @@
 //!@SYMTestActions Test Email IE
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestEmailIE
+RUN_TEST_STEP 500 TE_smsprt TestEmailIE z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber53
 END_TESTCASE SMS-SMSStack-NA-3052
 
 
@@ -686,7 +695,7 @@
 //!@SYMTestActions Test Maximim Read Time For Sms Store List
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestMaxReadTimeForSmsStoreList
+RUN_TEST_STEP 500 TE_smsprt TestMaxReadTimeForSmsStoreList z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber54
 END_TESTCASE SMS-SMSStack-NA-3053
 
 
@@ -698,7 +707,7 @@
 //!@SYMTestActions  Test same log id multiple pdu
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSameLogIdMultiplePDU
+RUN_TEST_STEP 500 TE_smsprt TestSameLogIdMultiplePDU z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber57
 END_TESTCASE SMS-SMSStack-NA-3054
 
 
@@ -710,7 +719,7 @@
 //!@SYMTestActions  Test Same Log Id Single PDU
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSameLogIdSinglePDU
+RUN_TEST_STEP 500 TE_smsprt TestSameLogIdSinglePDU z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber58
 END_TESTCASE SMS-SMSStack-NA-3055
 
 
@@ -722,7 +731,7 @@
 //!@SYMTestActions Test Writing of a status report to the sim
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestWriteStatusReportToSIM
+RUN_TEST_STEP 500 TE_smsprt TestWriteStatusReportToSIM z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber49
 END_TESTCASE SMS-SMSStack-NA-3056
 
 
@@ -740,7 +749,7 @@
 RUN_UTILS copyfile z:\sms\smswap.sms-sendTryTimeout.esk c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
 
-RUN_TEST_STEP 500 TE_smsprt TestTxSmsWithDelayedCompletion
+RUN_TEST_STEP 500 TE_smsprt TestTxSmsWithDelayedCompletion z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber60
 
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile c:\private\101F7989\esock\smswap.sms.bak c:\private\101F7989\esock\smswap.sms.esk
@@ -780,7 +789,7 @@
 //!@SYMTestActions  Test observer notified when powered down with publish and subscribe
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestObserverNotifiedWhenPoweredDownWithPublishSubscribe
+RUN_TEST_STEP 500 TE_smsprt TestObserverNotifiedWhenPoweredDownWithPublishSubscribe z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber59
 
 END_TESTCASE SMS-SMSStack-NA-3060
 
@@ -792,7 +801,7 @@
 //!@SYMTestActions  Test sms CNumber change with publish and subscribe
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSmsCNumberChangeWithPublishSubscribe
+RUN_TEST_STEP 500 TE_smsprt TestSmsCNumberChangeWithPublishSubscribe z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber55
 END_TESTCASE SMS-SMSStack-NA-3061
 
 
@@ -804,7 +813,7 @@
 //!@SYMTestActions  Test Status Report Time
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestStatusReportTime
+RUN_TEST_STEP 500 TE_smsprt TestStatusReportTime z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber62
 END_TESTCASE SMS-SMSStack-NA-3062
 
 
@@ -816,7 +825,7 @@
 //!@SYMTestActions  Test Transmit 8Bit wap message with status
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestTx8BitWapWithStatus
+RUN_TEST_STEP 500 TE_smsprt TestTx8BitWapWithStatus z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber63
 END_TESTCASE SMS-SMSStack-NA-3063
 
 
@@ -828,7 +837,7 @@
 //!@SYMTestActions  Test sim store with corrupt message
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestSimStoreCorruptMessage
+RUN_TEST_STEP 500 TE_smsprt TestSimStoreCorruptMessage z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber64
 END_TESTCASE SMS-SMSStack-NA-3064
 
 
@@ -846,7 +855,7 @@
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile z:\sms\testsmswap.sms.esk c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 500 TE_smsprt TestCorruptPduWithNegativeResponse
+RUN_TEST_STEP 500 TE_smsprt TestCorruptPduWithNegativeResponse z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber65
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile c:\private\101F7989\esock\smswap.sms.bak c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.bak
@@ -866,7 +875,7 @@
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile z:\sms\smswap.sms-bootTimerTimeout.esk c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 500 TE_smsprt TestBootTimer
+RUN_TEST_STEP 500 TE_smsprt TestBootTimer z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber45
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile c:\private\101F7989\esock\smswap.sms.bak c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.bak
@@ -892,7 +901,7 @@
 //!@SYMTestActions Simulate receiving deliver PDU's.  Create message and interogate PDU and check time stamp and validity period.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCSmsMessageWithDeliverPDU
+RUN_TEST_STEP 500 TE_smsprt TestCSmsMessageWithDeliverPDU z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber66
 END_TESTCASE SMS-SMSStack-NA-3068
 
 START_TESTCASE SMS-SMSStack-NA-3069
@@ -903,7 +912,7 @@
 //!@SYMTestActions  Test status report
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCSmsMessageWithStatusReportPDU
+RUN_TEST_STEP 500 TE_smsprt TestCSmsMessageWithStatusReportPDU z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber67
 END_TESTCASE SMS-SMSStack-NA-3069
 
 START_TESTCASE SMS-SMSStack-NA-3070
@@ -914,7 +923,7 @@
 //!@SYMTestActions  Create a submit message.  Send it using SimTSY.  SimTSY will validate the PDU to what is expected.  Status=0
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCSmsMessageWithSubmitPDU
+RUN_TEST_STEP 500 TE_smsprt TestCSmsMessageWithSubmitPDU z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber68
 END_TESTCASE SMS-SMSStack-NA-3070
 
 START_TESTCASE SMS-SMSStack-NA-3071
@@ -925,7 +934,7 @@
 //!@SYMTestActions  Check that PDUs with PID 0x40 are acknowledged but not forwarded to the client
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestHandlePID40h
+RUN_TEST_STEP 500 TE_smsprt TestHandlePID40h z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber69
 END_TESTCASE SMS-SMSStack-NA-3071
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3072
@@ -937,7 +946,7 @@
 //!@SYMTestExpectedResults
 //!@SYMTestCaseDependencies Sim.tsy, smsstacktestutilities.dll
 //!@SYMTestType IT
-RUN_TEST_STEP 180 TE_smsprt TestSinglePDUHyperLinks
+RUN_TEST_STEP 180 TE_smsprt TestSinglePDUHyperLinks z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber70
 END_TESTCASE SMS-SMSS-SMSPROT-I-3072
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3073
@@ -948,7 +957,7 @@
 //!@SYMTestActions Transmit and receive of multiple PDU message with and without hyperlinks
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType IT
-RUN_TEST_STEP 60 TE_smsprt TestMultiplePDUHyperLinks
+RUN_TEST_STEP 60 TE_smsprt TestMultiplePDUHyperLinks z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber71
 END_TESTCASE SMS-SMSS-SMSPROT-I-3073
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3074
@@ -992,7 +1001,7 @@
 //!@SYMTestActions Transmit and receive single PDU message with and without special messages
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType IT
-RUN_TEST_STEP 120 TE_smsprt TestSinglePDUSpecialMessageWaiting
+RUN_TEST_STEP 120 TE_smsprt TestSinglePDUSpecialMessageWaiting z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber73
 END_TESTCASE SMS-SMSS-SMSPROT-I-3077
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3078
@@ -1058,7 +1067,7 @@
 //!@SYMTestActions Transmit and receive single PDU message with and without enhanced voice mail delete confirmations
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType IT
-RUN_TEST_STEP 120 TE_smsprt TestSinglePDUEnhancedVoiceMailDeleteConfirmation
+RUN_TEST_STEP 120 TE_smsprt TestSinglePDUEnhancedVoiceMailDeleteConfirmation z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber75
 END_TESTCASE SMS-SMSS-SMSPROT-I-3083
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3084
@@ -1080,7 +1089,7 @@
 //!@SYMTestActions Transmit and receive multiple PDU message with and without enhanced voice mail delete confirmations
 //!@SYMTestExpectedResults SMS stack will handle received SMS as a 7 Bit coded message, KErrNone
 //!@SYMTestType IT
-RUN_TEST_STEP 180 TE_smsprt Test7BitDefaultAlphabet
+RUN_TEST_STEP 180 TE_smsprt Test7BitDefaultAlphabet z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber76
 END_TESTCASE SMS-SMSS-SMSPROT-I-3085
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3086
@@ -1092,7 +1101,7 @@
 //!@SYMTestExpectedResults Stack will accept zero length IE, add it to the list.  KErrNone
 //!@SYMTestType IT
 //!@SYMTestCaseDependencies SIM.TSY
-RUN_TEST_STEP 180 TE_smsprt TestZeroLengthIE
+RUN_TEST_STEP 180 TE_smsprt TestZeroLengthIE z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber77
 END_TESTCASE SMS-SMSS-SMSPROT-I-3086
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3087
@@ -1104,7 +1113,7 @@
 //!@SYMTestExpectedResults Messages are deleted from the phone store and SIM store.  Exception for class 2 messages, messages remains in the SIM store.
 //!@SYMTestType CIT
 //!@SYMTestCaseDependencies SIM.TSY
-RUN_TEST_STEP 180 TE_smsprt TestAutomaticDeletionInDCS
+RUN_TEST_STEP 180 TE_smsprt TestAutomaticDeletionInDCS z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber78
 END_TESTCASE SMS-SMSS-SMSPROT-I-3087
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3088
@@ -1126,7 +1135,7 @@
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile z:\sms\smswap.sms-AutoDeletionClass2.esk c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 500 TE_smsprt TestAutomaticDeletionInDCSAndInEsk
+RUN_TEST_STEP 500 TE_smsprt TestAutomaticDeletionInDCSAndInEsk z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber79
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile c:\private\101F7989\esock\smswap.sms.bak c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.bak
@@ -1142,7 +1151,7 @@
 //!@SYMTestExpectedResults Stack will send messages marked as type 0.  Messages are deleted from the phone store and SIM store.  Exception for class 2 messages, messages remains in the SIM store.
 //!@SYMTestType CIT
 //!@SYMTestCaseDependencies SIM.TSY
-RUN_TEST_STEP 300 TE_smsprt TestAutomaticDeletionTypeZeroSMS
+RUN_TEST_STEP 300 TE_smsprt TestAutomaticDeletionTypeZeroSMS z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber80
 
 END_TESTCASE SMS-SMSS-SMSPROT-I-3089
 
@@ -1163,7 +1172,7 @@
 RUN_UTILS copyfile z:\sms\smswap.sms-AutomaticDeletionOfType0.esk c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS MakeReadWrite c:\private\101F7989\esock\smswap.sms.esk
 //Run the test step
-RUN_TEST_STEP 180 TE_smsprt TestAutomaticDeletionTypeZeroAndSetInESK
+RUN_TEST_STEP 180 TE_smsprt TestAutomaticDeletionTypeZeroAndSetInESK z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber81
 //restore orig esk file
 RUN_UTILS DeleteFile c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS copyfile c:\private\101F7989\esock\smswap.sms.bak c:\private\101F7989\esock\smswap.sms.esk
@@ -1180,7 +1189,7 @@
 //!@SYMTestExpectedResults The message is sent successfully.
 //!@SYMTestType CIT
 //!@SYMTestCaseDependencies SIM.TSY
-RUN_TEST_STEP 120 TE_smsprt EnhancedVoiceMessageBoundaryTest
+RUN_TEST_STEP 120 TE_smsprt EnhancedVoiceMessageBoundaryTest z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber83
 END_TESTCASE SMS-SMSS-SMSPROT-I-3091
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3092
@@ -1192,7 +1201,7 @@
 //!@SYMTestExpectedResults The message is sent successfully.
 //!@SYMTestType CIT
 //!@SYMTestCaseDependencies SIM.TSY
-RUN_TEST_STEP 120 TE_smsprt EnhancedVoiceMessageBoundaryTest1
+RUN_TEST_STEP 120 TE_smsprt EnhancedVoiceMessageBoundaryTest1 z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber84
 END_TESTCASE SMS-SMSS-SMSPROT-I-3092
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3093
@@ -1204,7 +1213,7 @@
 //!@SYMTestExpectedResults Assume that sending a R6 SMS requires 'M' heap allocations. The stack should return an Out of Memory error when heap allocation request fails because 'n' has a value in the range 1..m. When 'n' has value m+1, the message should be sent successfully and the test should exit.
 //!@SYMTestType CIT
 //!@SYMTestCaseDependencies SIM.TSY
-RUN_TEST_STEP 120 TE_smsprt TestOOMSendR6Sms
+RUN_TEST_STEP 120 TE_smsprt TestOOMSendR6Sms z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber82
 END_TESTCASE SMS-SMSS-SMSPROT-I-3093
 
 START_TESTCASE SMS-SMSS-SMSPROT-I-3094
@@ -1990,48 +1999,6 @@
 END_TESTCASE SMS-GSMU-0074
 
 
-START_TESTCASE SMS-SMSS-SMSPROT-0121
-//!@SYMTestCaseID SMS-SMSS-SMSPROT-0121	
-//!@SYMEC EC015
-//!@SYMTestPriority Critical
-//!@SYMTestCaseDesc Receive class0 and class2 messages when DiskSpace in mid range
-//!@SYMTestActions Set the disk space to below the high limit, receive class 0, attempt to receive class 2, raise disk space and receive class 2.
-//!@SYMTestExpectedResults Class0 message received, class2 rejected until disk space is increased.
-RUN_TEST_STEP 60 TE_smsprt LoadSMSProtocol 		z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskSpaceInMidRange
-RUN_TEST_STEP 60 TE_smsprt SetDiskMonitorLimits	z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskMonitorLimits
-RUN_TEST_STEP 120 TE_smsprt SetDiskSpace	 	z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskSpaceInMidRange
-RUN_TEST_STEP 60 TE_smsprt ReceiveSMS			z:\testdata\configs\TE_DiskSpaceMonitor.ini MessageExpected
-RUN_TEST_STEP 60 TE_smsprt ReceiveSMS			z:\testdata\configs\TE_DiskSpaceMonitor.ini MessageNotExpected
-RUN_TEST_STEP 120 TE_smsprt FreeDiskSpace
-RUN_TEST_STEP 120 TE_smsprt SetDiskSpace	 	z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskSpaceAboveMidRange
-RUN_TEST_STEP 60 TE_smsprt ReceiveSMS			z:\testdata\configs\TE_DiskSpaceMonitor.ini MessageExpected
-RUN_TEST_STEP 120 TE_smsprt FreeDiskSpace
-RUN_TEST_STEP 60 TE_smsprt CloseSMSProtocol
-RUN_UTILS DeleteFile c:\private\101F7989\sms\smsu.rsc
-END_TESTCASE SMS-SMSS-SMSPROT-0121
-
-
-START_TESTCASE SMS-SMSS-SMSPROT-0122
-//!@SYMTestCaseID SMS-SMSS-SMSPROT-0122
-//!@SYMEC EC015
-//!@SYMTestPriority Critical
-//!@SYMTestCaseDesc Receive class0 and class2 messages when DiskSpace below the mid range. 
-//!@SYMTestActions Set the disk space to below the low limit, attempt to receive class 0 and class 2, raise disk space and receive class 0 and class 2.
-//!@SYMTestExpectedResults Class0 and class2 messages rejected when disk space below the low limit, received when disk space increases.
-RUN_TEST_STEP 60 TE_smsprt LoadSMSProtocol 		z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskSpaceBelowMidRange
-RUN_TEST_STEP 60 TE_smsprt SetDiskMonitorLimits		z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskMonitorLimits
-RUN_TEST_STEP 120 TE_smsprt SetDiskSpace	 	z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskSpaceBelowMidRange
-RUN_TEST_STEP 60 TE_smsprt ReceiveSMS			z:\testdata\configs\TE_DiskSpaceMonitor.ini MessageNotExpected
-RUN_TEST_STEP 60 TE_smsprt ReceiveSMS			z:\testdata\configs\TE_DiskSpaceMonitor.ini MessageNotExpected
-RUN_TEST_STEP 120 TE_smsprt FreeDiskSpace
-RUN_TEST_STEP 120 TE_smsprt SetDiskSpace 		z:\testdata\configs\TE_DiskSpaceMonitor.ini DiskSpaceAboveMidRange
-RUN_TEST_STEP 60 TE_smsprt ReceiveSMS			z:\testdata\configs\TE_DiskSpaceMonitor.ini MessageExpected
-RUN_TEST_STEP 60 TE_smsprt ReceiveSMS			z:\testdata\configs\TE_DiskSpaceMonitor.ini MessageExpected
-RUN_TEST_STEP 120 TE_smsprt FreeDiskSpace
-RUN_TEST_STEP 60 TE_smsprt CloseSMSProtocol
-RUN_UTILS DeleteFile c:\private\101F7989\sms\smsu.rsc
-END_TESTCASE SMS-SMSS-SMSPROT-0122
-
 START_TESTCASE SMS-SMSS-SMSPROT-0123
 //!@SYMTestCaseID SMS-SMSS-SMSPROT-0123
 //!@SYMDEF INC091449
@@ -2039,9 +2006,10 @@
 //!@SYMTestCaseDesc Receive class0 and class2 messages when DiskSpace in mid range
 //!@SYMTestActions Set the disk space to below the high limit, receive class 0, attempt to receive class 2, raise disk space and receive class 2.
 //!@SYMTestExpectedResults Class0 message received, class2 rejected until disk space is increased.
-RUN_TEST_STEP 600 TE_smsprt TestDiskSpaceMidRangeClass0Class2
+RUN_TEST_STEP 600 TE_smsprt TestDiskSpaceMidRangeClass0Class2 z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber131
 END_TESTCASE SMS-SMSS-SMSPROT-0123
 
+
 START_TESTCASE SMS-SMSS-SMSPROT-0124
 //!@SYMTestCaseID SMS-SMSS-SMSPROT-0124
 //!@SYMDEF INC091449
@@ -2049,9 +2017,10 @@
 //!@SYMTestCaseDesc Receive class0 and class2 messages when DiskSpace below the mid range. 
 //!@SYMTestActions Set the disk space to below the low limit, attempt to receive class 0 and class 2, raise disk space and receive class 0 and class 2.
 //!@SYMTestExpectedResults Class0 and class2 messages rejected when disk space below the low limit, received when disk space increases.
-RUN_TEST_STEP 600 TE_smsprt TestDiskSpaceLowRangeClass0Class2
+RUN_TEST_STEP 600 TE_smsprt TestDiskSpaceLowRangeClass0Class2 z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber132
 END_TESTCASE SMS-SMSS-SMSPROT-0124
 
+
 START_TESTCASE SMS-SMSS-SMSPROT-0125
 //!@SYMTestCaseID SMS-SMSS-SMSPROT-0125
 //!@SYMDEF INC100061
@@ -2060,7 +2029,7 @@
 //!@SYMTestActions Receives SMSs that are invalid and then 1 that is valid.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCorruptPDUs
+RUN_TEST_STEP 500 TE_smsprt TestCorruptPDUs z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber133
 END_TESTCASE SMS-SMSS-SMSPROT-0125
 
 START_TESTCASE SMS-SMSS-SMSPROT-0126
@@ -2071,7 +2040,7 @@
 //!@SYMTestActions Ensures that the resume code can restart reception when the store has been full.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestCongestedReceive
+RUN_TEST_STEP 500 TE_smsprt TestCongestedReceive z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber141
 END_TESTCASE SMS-SMSS-SMSPROT-0126
 
 START_TESTCASE SMS-SMSS-SMSPROT-0127
@@ -2082,7 +2051,7 @@
 //!@SYMTestActions Test binary transmit and receive
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestBinaryTxAndRx
+RUN_TEST_STEP 500 TE_smsprt TestBinaryTxAndRx z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber142
 END_TESTCASE SMS-SMSS-SMSPROT-0127
 
 
@@ -2094,7 +2063,7 @@
 //!@SYMTestActions GSMU encodes a PDU until it is full, then attempts to add an format IE, the format IE and its associated text should be encoded in a new PDU.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestEncodingPDUonBoundary
+RUN_TEST_STEP 500 TE_smsprt TestEncodingPDUonBoundary z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber143
 END_TESTCASE SMS-SMSS-SMSPROT-0128
 
 
@@ -2106,7 +2075,7 @@
 //!@SYMTestActions Receives the PDU which has a reserved IE number.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 500 TE_smsprt TestReceiveInvalidOrReservedIE
+RUN_TEST_STEP 500 TE_smsprt TestReceiveInvalidOrReservedIE z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber144
 END_TESTCASE SMS-SMSS-SMSPROT-0129
 
 
@@ -2118,7 +2087,7 @@
 //!@SYMTestActions Generates various messages based on standard GSM characters, sends/receives them and compares the contents.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 1200 TE_smsprt TestEncoding7bitStandardGSM
+RUN_TEST_STEP 1200 TE_smsprt TestEncoding7bitStandardGSM z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber150
 END_TESTCASE SMS-SMSS-SMSPROT-0150
 
 
@@ -2130,7 +2099,7 @@
 //!@SYMTestActions Generates various messages based on Code Page 1252 characters, sends/receives them and compares the contents.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 1200 TE_smsprt TestEncoding8bitCodePage1252
+RUN_TEST_STEP 1200 TE_smsprt TestEncoding8bitCodePage1252 z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber151
 END_TESTCASE SMS-SMSS-SMSPROT-0151
 
 
@@ -2142,7 +2111,7 @@
 //!@SYMTestActions Generates various messages based various characters, sends/receives them and compares the contents.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 1800 TE_smsprt TestEncodingUnicode
+RUN_TEST_STEP 1800 TE_smsprt TestEncodingUnicode z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber152
 END_TESTCASE SMS-SMSS-SMSPROT-0152
 
 
@@ -2154,9 +2123,10 @@
 //!@SYMTestActions Generates various messages based on unconvertible GSM characters, sends/receives them and compares the contents.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 1200 TE_smsprt TestEncoding7bitUnconvertibleGSM
+RUN_TEST_STEP 1200 TE_smsprt TestEncoding7bitUnconvertibleGSM z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber153
 END_TESTCASE SMS-SMSS-SMSPROT-0153
 
+
 START_TESTCASE SMS-SMSS-SMSPROT-0154
 //!@SYMTestCaseID SMS-SMSS-SMSPROT-0154
 //!@SYMREQ PREQ2265
@@ -2165,9 +2135,21 @@
 //!@SYMTestActions Generates various messages based on standard GSM characters, sends/receives them and compares the contents.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 1200 TE_smsprt TestEncoding7bitNonStandardGSM
+RUN_TEST_STEP 1200 TE_smsprt TestEncoding7bitNonStandardGSM z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber154
 END_TESTCASE SMS-SMSS-SMSPROT-0154
 
+
+START_TESTCASE SMS-SMSS-SMSPROT-0155
+//!@SYMTestCaseID SMS-SMSS-SMSPROT-0155
+//!@SYMREQ PREQ2265
+//!@SYMTestCaseDesc Tests that Turkish characters can be sent and received using 7bit without loss of characters.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Generates various messages based on Turkish characters, sends/receives them and compares the contents.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 4500 TE_smsprt TestEncoding7bitTurkishNationalLanguage z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber155
+END_TESTCASE SMS-SMSS-SMSPROT-0155
+
 START_TESTCASE SMS-SMSS-SMSPROT-0156
 //!@SYMTestCaseID SMS-SMSS-SMSPROT-0156
 //!@SYMDEF DEF129817
@@ -2176,9 +2158,10 @@
 //!@SYMTestActions Generates various messages with some Turkish and unconvertible characters, sends/receives them and compares the contents.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 1200 TE_smsprt TestEncoding7bitTurkishAndUnconvertible
+RUN_TEST_STEP 600 TE_smsprt TestEncoding7bitTurkishAndUnconvertible z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber156
 END_TESTCASE SMS-SMSS-SMSPROT-0156
 
+
 START_TESTCASE SMS-SMSS-SMSPROT-0157
 //!@SYMTestCaseID SMS-SMSS-SMSPROT-0157
 //!@SYMDEF DEF128736
@@ -2187,7 +2170,7 @@
 //!@SYMTestActions Generates 3 messages with each DCS and then receives 3 mixed DCS messages.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-RUN_TEST_STEP 600 TE_smsprt TestReceivingMessageWithDifferentEncodings
+RUN_TEST_STEP 600 TE_smsprt TestReceivingMessageWithDifferentEncodings z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber157
 END_TESTCASE SMS-SMSS-SMSPROT-0157
 
 START_TESTCASE SMS-SMSS-SMSPROT-0159
@@ -2198,7 +2181,7 @@
 //!@SYMTestActions Generates a message which is requested by client before and after closure of socket.
 //!@SYMTestExpectedResults The message should be able to be requested and read after closure of socket.
 //!@SYMTestType CT
-RUN_TEST_STEP 600 TE_smsprt TestReceivingMessageAfterSocketClosure
+RUN_TEST_STEP 600 TE_smsprt TestReceivingMessageAfterSocketClosure z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber159
 END_TESTCASE SMS-SMSS-SMSPROT-0159
 
 START_TESTCASE SMS-SMSS-SMSPROT-0160
@@ -2211,7 +2194,7 @@
 //! @SYMTestExpectedResults     Pass
 //! @SYMTestDesignTechnique     Error Guessing
 //! @SYMCR                      CR2040
-RUN_TEST_STEP 100 TE_smsprt TestEncoding7bitNationalLanguages
+RUN_TEST_STEP 100 TE_smsprt TestEncoding7bitNationalLanguages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber160
 END_TESTCASE SMS-SMSS-SMSPROT-0160
 
 START_TESTCASE SMS-SMSS-SMSPROT-0161
@@ -2224,7 +2207,7 @@
 //! @SYMTestExpectedResults     Pass
 //! @SYMTestDesignTechnique     Boundary Value Analysis
 //! @SYMCR                      CR2040
-RUN_TEST_STEP 100 TE_smsprt TestEncodingMultiPDUwith7bitNationalLanguages
+RUN_TEST_STEP 100 TE_smsprt TestEncodingMultiPDUwith7bitNationalLanguages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber161
 END_TESTCASE SMS-SMSS-SMSPROT-0161
 
 START_TESTCASE SMS-SMSS-SMSPROT-0162
@@ -2237,7 +2220,7 @@
 //! @SYMTestExpectedResults     Pass
 //! @SYMTestDesignTechnique     Error Guessing
 //! @SYMCR                      CR2040
-RUN_TEST_STEP 100 TE_smsprt TestEncodingDowngradedWith7bitNationalLanguages
+RUN_TEST_STEP 100 TE_smsprt TestEncodingDowngradedWith7bitNationalLanguages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber162
 END_TESTCASE SMS-SMSS-SMSPROT-0162
 
 START_TESTCASE SMS-SMSS-SMSPROT-0163
@@ -2250,7 +2233,7 @@
 //! @SYMTestExpectedResults     Pass
 //! @SYMTestDesignTechnique     Error Guessing
 //! @SYMCR                      CR2040
-RUN_TEST_STEP 100 TE_smsprt TestOptimumEncodingWithLockingAndShift7bitNationalLanguages
+RUN_TEST_STEP 100 TE_smsprt TestOptimumEncodingWithLockingAndShift7bitNationalLanguages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber163
 END_TESTCASE SMS-SMSS-SMSPROT-0163
 
 START_TESTCASE SMS-SMSS-SMSPROT-0164
@@ -2263,7 +2246,7 @@
 //! @SYMTestExpectedResults     Pass
 //! @SYMTestDesignTechnique     Error Guessing
 //! @SYMCR                      CR2040
-RUN_TEST_STEP 100 TE_smsprt TestOptimumEncodingWithLockingAndDowngrade7bitNationalLanguages
+RUN_TEST_STEP 100 TE_smsprt TestOptimumEncodingWithLockingAndDowngrade7bitNationalLanguages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber164
 END_TESTCASE SMS-SMSS-SMSPROT-0164
 
 START_TESTCASE SMS-SMSS-SMSPROT-0165
@@ -2276,7 +2259,7 @@
 //! @SYMTestExpectedResults     Pass
 //! @SYMTestDesignTechnique     Error Guessing
 //! @SYMCR                      CR2040
-RUN_TEST_STEP 100 TE_smsprt TestOptimumEncodingWithLockingAndUnconvertible7bitNationalLanguages
+RUN_TEST_STEP 100 TE_smsprt TestOptimumEncodingWithLockingAndUnconvertible7bitNationalLanguages z:\testdata\configs\smsstacksimtsytestnumbers.ini TestNumber165
 END_TESTCASE SMS-SMSS-SMSPROT-0165
 
-
+RUN_SCRIPT  z:\testdata\scripts\smsstackcleanprivatedata.script
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt_setup.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprt_setup.script	Fri Apr 16 16:12:37 2010 +0300
@@ -17,6 +17,8 @@
 
 RUN_UTILS  DeleteFile c:\config.txt
 
+RUN_SCRIPT  z:\testdata\scripts\smsstackcleanprivatedata.script
+
 RUN_UTILS  MkDir c:\sms\
 RUN_UTILS  CopyFile z:\sms\setupgsmsms.txt                  c:\sms\setupgsmsms.txt
 RUN_UTILS  CopyFile z:\sms\tsmsprt_config.txt               c:\sms\tsmsprt_config.txt
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtbase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtbase.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -14,138 +14,12 @@
 //
 
 /**
- @file
+    @file
+    @test
 */
-#include <cfshared.h>
-#include <c32root.h>
-#include <sacls.h>
-#include <e32math.h>
 
 #include "TE_smsprtbase.h"
 
-
-/**
-	Preamble for all CSmsPrtTestStep
-*/
-TVerdict CSmsPrtTestStep::doTestStepPreambleL()
-	{
-	//base class preamble - marks the heap
-	CSMSTestSteps::doTestStepPreambleL();
-	
-	iScheduler = new(ELeave) CActiveScheduler;
-	CActiveScheduler::Install(iScheduler);
-	
-
-    TRAPD(ret, ParseSettingsFromFileL());
-	if (ret != KErrNone)
-		{
-		INFO_PRINTF2(_L("ParseSettingsFromFileL [err=%d]"), ret);
-		}
-	
-	iSmsStackTestUtils = CSmsStackTestUtils::NewL(this,  iFs);
-	
-	return TestStepResult() ;
-	}
-
-/**
-	Cleanup SmsStackTestUtils, close the filer server session and delete the scheduler
-*/
-TVerdict CSmsPrtTestStep::doTestStepPostambleL()
-	{
-	delete iSmsStackTestUtils;
-	iSmsStackTestUtils = NULL;
-	
-	delete iScheduler;
-	iScheduler = NULL;
-
-	//base class postamble - unmarks the heap
-	CSMSTestSteps::doTestStepPostambleL();
-	
-	//DoESockMemoryLeakTestL();
-
- 	return CSMSTestSteps::doTestStepPostambleL() ;
-	} // CSmsPrtTestStep::doTestStepPostambleL
-
-
-void CSmsPrtTestStep::DoESockMemoryLeakTestL()
-	{
-	//
-	// Find the current number of leaked cells in ESock...
-	//
-	TInt  ret, startLeakCounter;
-	
-	ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, startLeakCounter);
-	if (ret == KErrNotFound)
-		{
-		// No variable to monitor, ESock is probably not in debug mode.
-		return;
-		}
-	else
-		{
-		TESTL(ret == KErrNone);
-		}
-
-	//
-	// Connect to Rootserver...
-	//
-	RRootServ  rootserver;
-
-	User::LeaveIfError(rootserver.Connect());
-	CleanupClosePushL(rootserver);
-
-	//
-	// Shutdown all the ESock CPMs gracefully...
-	//
-	TRSIter  iter;
-	TCFModuleName  modName;
-	TRSModuleInfo  modInfo;
-	TRequestStatus  statusArray[16];
-	TInt  statusCount = 0;
-
-	while (rootserver.EnumerateModules(iter, modName) == KErrNone)
-		{
-		if (rootserver.GetModuleInfo(modName, modInfo) == KErrNone  &&
-		    modInfo.iParams.iDll.MatchF(_L("*ESOCKSVR.DLL")) >= 0)
-			{
-			rootserver.UnloadCpm(statusArray[statusCount++], modInfo.iParams.iName,
-			                     EGraceful);
-			}
-		}
-
-	while (statusCount > 0)
-		{
-		statusCount--;
-		User::WaitForRequest(statusArray[statusCount]);
-		TEST(statusArray[statusCount] == KErrNone);
-		}
-
-	//
-	// Close Rootserver session...
-	//
-	CleanupStack::PopAndDestroy(1, &rootserver);
-	
-	//
-	// Get the latest number of leaked cells in ESock...
-	//
-	TInt  finalLeakCounter;
-
-	ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, finalLeakCounter);
-	TESTL(ret == KErrNone);
-
-	if (finalLeakCounter > startLeakCounter)
-		{
-		INFO_PRINTF1(_L("<font size=2 color=FF0000><B>A memory leak has been detected inside ESock - Check SMS Stack!</B></font>"));
-		TEST(finalLeakCounter == startLeakCounter);
-		}
-
-	//
-	// Restart C32...
-	//
-	_LIT(KDummyCMI, "");
-	WarmBootC32(KDummyCMI);
-	} // CSmsPrtTestStep::DoESockMemoryLeakTestL
-
-
 /**
  *	Pre-test step function for Encoding tests.
  * 
@@ -153,13 +27,12 @@
  */
 TVerdict CSmsPrtEncodingTestStep::doTestStepPreambleL()
 	{
-	CSmsPrtTestStep::doTestStepPreambleL();
+    CSmsBaseTestStep::doTestStepPreambleL();
 	
 	iTestAlphabet = CSmsPrtTestAlphabet::NewL();
 	
-	return TestStepResult() ;
-	} // CSmsPrtEncodingTestStep::doTestStepPreambleL
-
+	return TestStepResult();
+	}
 
 /**
  *	Post-test step function for Encoding tests.
@@ -174,8 +47,8 @@
     iCharSets.Reset();
     iAdditionalCharSets.Reset();
 	
- 	return CSmsPrtTestStep::doTestStepPostambleL();
- 	} // CSmsPrtEncodingTestStep::doTestStepPostambleL
+ 	return CSmsBaseTestStep::doTestStepPostambleL();
+ 	}
 
 /**
  *  Computes the expected number of PDUs and expected number of free characters
@@ -474,7 +347,7 @@
     TInt  charSetSize = 0;
     TInt countTestCharSetNames = aTestCharSetNames.Count();
     
-    for (TInt charSet = 0;  charSet < countTestCharSetNames;  ++charSet)
+    for (TInt charSet = 0; charSet < countTestCharSetNames ; ++charSet)
         {
         TInt  charactersInCharSet = iTestAlphabet->GetCharacterSetSizeL(aTestCharSetNames[charSet]);
         charSetSize += charactersInCharSet;
@@ -498,11 +371,13 @@
                                               TSmsDataCodingScheme::TSmsAlphabet aAlphabet,
                                               TSmsEncoding aEncodingToUse,
                                               TSmsEncoding aEncodingExpected)
-    {          
+    {
+    
 	//
 	// Display the test name and details...
 	//
     TInt countTestCharSetNames = aTestCharSetNames.Count();
+    
     for (TInt charSet = 0;  charSet < countTestCharSetNames;  ++charSet)
         {
         TInt  charactersInCharSet = iTestAlphabet->GetCharacterSetSizeL(aTestCharSetNames[charSet]);
@@ -512,6 +387,7 @@
 
     INFO_PRINTF2(_L("Testing encode functions starting with %d characters."), aTestCharacters);
     TInt countAdditionalTestCharSetNames = aAdditionalTestCharSetNames.Count();
+    
     for (TInt charSet = 0;  charSet < countAdditionalTestCharSetNames;  ++charSet)
         {
         TInt  charactersInCharSet = iTestAlphabet->GetCharacterSetSizeL(aAdditionalTestCharSetNames[charSet]);
@@ -591,11 +467,7 @@
 
 		lastOctetCountTested = octetsCount;
 		
-		//
-		// Create a CSmsMessage...
-		//
-		CSmsMessage*  smsMessage = CreateSmsMessageL(originalPtr, aAlphabet);
-		CleanupStack::PushL(smsMessage);
+		CSmsMessage*  smsMessage = CreateSmsMessageLC(originalPtr, aAlphabet);
 
 		//
 		// Perform various character tests on the smsMessage
@@ -663,7 +535,7 @@
 					     originalPtr.Length());
 
 			TRAPD(sendErr, SendSmsL(smsMessage, aSocket));
-			TESTCHECK(sendErr, KErrNone);
+		    TESTCHECK(sendErr, KErrNone, "Sending SMS");
 			}
 		
 		CleanupStack::PopAndDestroy(smsMessage);
@@ -678,18 +550,17 @@
 		CSmsMessage*  smsMessage = RecvSmsL(aSocket);
 		CleanupStack::PushL(smsMessage);
 		TestSmsContentsL(smsMessage, expectedPtr);
-		TESTCHECK(smsMessage->Alternative7bitEncoding(), aEncodingExpected);
+		TESTCHECK(smsMessage->Alternative7bitEncoding(), aEncodingExpected, "Getting the Alternative7bitEncoding");
 		CleanupStack::PopAndDestroy(smsMessage);
 		}
 	else
 		{
-		INFO_PRINTF1(_L("<font color=FF0000>Failed: No SMS message received.</font>"));
+		ERR_PRINTF1(_L("<font color=FF0000>Failed: No SMS message received.</font>"));
         SetTestStepResult(EFail);
 		}
 
-	CleanupStack::PopAndDestroy(expectedBuf);
-	CleanupStack::PopAndDestroy(originalBuf);
-	} // CSmsPrtEncodingTestStep::DoEncodingTestL
+	CleanupStack::PopAndDestroy(2, originalBuf); // originalBuf, expectedBuf
+	}
 
 TInt CSmsPrtEncodingTestStep::PerformCharacterTestsL(
         CSmsMessage* aSmsMessage, 
@@ -701,10 +572,7 @@
         TBool aExtendedCharAdded
         )
     {
-    //
-    // Switch on Alternative 7Bit Encoding if required...
-    //
-    TESTCHECK(aSmsMessage->SetAlternative7bitEncoding(aEncodingToUse), KErrNone);
+    TESTCHECK(aSmsMessage->SetAlternative7bitEncoding(aEncodingToUse), KErrNone, "Switch on Alternative 7Bit Encoding if required");
 
     //
     // Find the expected number of supported characters that would have
@@ -727,9 +595,10 @@
     if (aAlphabet != TSmsDataCodingScheme::ESmsAlphabetUCS2)
         {
         TESTCHECKCONDITION(aSmsMessage->IsSupportedL(aOriginalPtr, numberOfUnconvertibleCharacters,
-                                                    indexOfFirstUnconvertibleCharacter) == msgSupported);
-        TESTCHECK(numberOfUnconvertibleCharacters, expectedUnconvertibleChars);
-        TESTCHECK(indexOfFirstUnconvertibleCharacter, expectedFirstUnconvertibleChar);
+                                                    indexOfFirstUnconvertibleCharacter) == msgSupported,
+                                                    "Checking if a buffer can be encoded without loss of information");
+        TESTCHECK(numberOfUnconvertibleCharacters, expectedUnconvertibleChars, "Checking number of unconvertable charachters");
+        TESTCHECK(indexOfFirstUnconvertibleCharacter, expectedFirstUnconvertibleChar, "Checking index of the first unconvertable charachter");
         }
 
     //
@@ -757,11 +626,12 @@
         TESTCHECKCONDITION(aSmsMessage->IsSupportedL(aOriginalPtr, numberOfUnconvertibleCharacters,
                                                     numberOfDowngradedCharacters,
                                                     numberRequiringAlternativeEncoding,
-                                                    indexOfFirstUnconvertibleCharacter) == msgSupported);        
-        TESTCHECK(numberOfUnconvertibleCharacters, expectedUnconvertibleChars);
-        TESTCHECK(numberOfDowngradedCharacters, expectedDowngradedChars);
-        TESTCHECK(numberRequiringAlternativeEncoding, expectedAlternativeEncodingChars);
-        TESTCHECK(indexOfFirstUnconvertibleCharacter, expectedFirstUnconvertibleChar);
+                                                    indexOfFirstUnconvertibleCharacter) == msgSupported,
+                                                    "Checking if a buffer can be encoded without loss of information");
+        TESTCHECK(numberOfUnconvertibleCharacters, expectedUnconvertibleChars, "Checking number of unconvertable charachters");
+        TESTCHECK(numberOfDowngradedCharacters, expectedDowngradedChars, "Checking number of Downgraded charachters");
+        TESTCHECK(numberRequiringAlternativeEncoding, expectedAlternativeEncodingChars, "Checking number requiring alternative encoding charachters");
+        TESTCHECK(indexOfFirstUnconvertibleCharacter, expectedFirstUnconvertibleChar, "Checking index of the first unconvertable charachter");
         }
 
     //
@@ -799,17 +669,16 @@
                                            expectedPDUs, expectedFreeUDUnitsInLastPDU);
         }
 
-    TESTCHECK(pdus, expectedPDUs);
-    TESTCHECK(numberOfUnconvertibleCharacters, expectedUnconvertibleChars);
-    TESTCHECK(numberOfDowngradedCharacters, expectedDowngradedChars);
-    TESTCHECK(freeUDUnitsInLastPDU, expectedFreeUDUnitsInLastPDU);
+    TESTCHECK(pdus, expectedPDUs, "Checking number of expected PDUs");
+    TESTCHECK(numberOfUnconvertibleCharacters, expectedUnconvertibleChars,  "Checking number of unconvertable charachters");
+    TESTCHECK(numberOfDowngradedCharacters, expectedDowngradedChars, "Checking number of Downgraded charachters");
+    TESTCHECK(freeUDUnitsInLastPDU, expectedFreeUDUnitsInLastPDU, "Checking freeUDUnitsInLastPDU");
 
     //
     // Check the old PDU count function...
     //
     pdus = aSmsMessage->NumMessagePDUsL();
-    TESTCHECK(pdus, expectedPDUs);
+    TESTCHECK(pdus, expectedPDUs, "Checking number of expected PDUs");
     
     return octetsCount;
     }
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtbase.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtbase.h	Fri Apr 16 16:12:37 2010 +0300
@@ -21,9 +21,6 @@
 #define _TE_SMSPRTBASE_H_
 
 #include <commsdattypesv1_1.h>
-#include "Te_smsprttestcase.h"
-#include "TE_smsprt_alphabet.h"
-#include "smsstacktestutilities.h"
 #include <e32base.h>
 #include <es_sock.h>
 #include <f32file.h>
@@ -34,230 +31,25 @@
 #include <gsmubuf.h>
 #include <gsmuset.h>
 #include <smsustrm.h>
-#include "smspdudb.h"
-#include "smspproc.h"
-#include "attributes.h"
 #include <es_wsms.h>
 #include <testconfigfileparser.h>
 #include <test/testexecuteserverbase.h>
 
-#define DSTDNC_NEWCALL_FULLNAME				_L("DummyNc::PotsNc::")
-
-_LIT(KGmsSmsConfigFileName,"setupgsmsms.txt");
-_LIT(KTSmsPrtConfigFileName, "tsmsprt_config.txt");
-_LIT(KTSmsPrtConfigExtraFileName, "tsmsprt_config_extra.txt");
-_LIT(KTSmsPrtConfigTxRxMaxMsgFileName, "tsmsprt_config_tx_rx_maxmsg.txt");
-
-_LIT8(KServiceCentreAddress,   "ServiceCentreAddress");
-_LIT8(KSmspEntryValidParams,  "SmspEntryValidParams");
-_LIT8(KSmspEntryScTypeOfNumber,  "SmspEntryScTypeOfNumber");
-_LIT8(KSmspEntryScNumberPlan,  "SmspEntryScNumberPlan");
-
-_LIT(KVodafoneSC,"+447785016005"); //Vodafone SC
-_LIT(KRegTestNumber,"+447747065548"); //Number used with regtest
-_LIT(KTestNumber,"+447747065825"); //Number used with regtest
-
-_LIT(KSoneraSC,"+358405202000"); //Sonera SC
-_LIT(KRadiolinjaSC,"+358508771010"); //Radiolinja SC
-
-_LIT(KPekka,"+358408415528");  //Pekka's telephone number
-_LIT(KOther,"+358408415582"); // Other test number
-_LIT(KLocalNumber, "08408415528"); //Local test number to verify local/international switching
-_LIT(KInternationalTestNumber, "+819021710979"); // International number to be used with a status
-                                                 // report containing local version of this number
-
-_LIT8(KTestSendAndRecvMsgsWithDifferentTON,	"SendAndRecvMsgsWithDifferentTON");
-_LIT8(KTestSendAndReceiveIndicatorMsgs,	"SendAndReceiveIndicatorMsgs");
-_LIT(KConfigFileDir,"sms");
-_LIT8(KAlphabet,	"Alphabet");
-_LIT8(KTypeOfNumber,	"TypeOfNumber");
-_LIT8(KIndicationType,	"IndicationType");
-_LIT8(KDCSBits7To4,	"DCSBits7To4");
-_LIT8(KIndicationState,	"IndicationState");
-
-_LIT(KText, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123");
-
-
-const TUint KSocketMessageSlots = 16;   // Override the default value of 8
+#include "smsstacktestcase.h"
+#include "TE_smsprt_alphabet.h"
+#include "smsstacktestutilities.h"
+#include "smsstackbaseteststeps.h"
+#include "smsstacktestconsts.h"
+#include "smspdudb.h"
+#include "smspproc.h"
+#include "attributes.h"
 
 using namespace CommsDat; 
 
-
-//
-// Test macros
-//
-#define TESTCHECKL(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    INFO_PRINTF3(_L("<font color=FF0000>Failed: Got %d while expecting %d.</font>"),a,b); \
-        SetTestStepResult(EFail); \
-        User::Leave(EFail); \
-        } \
-    }
-
-#define TESTCHECKCONDITIONL(a) \
-    { \
-    if (!(a)) \
-	    { \
-	    INFO_PRINTF1(_L("<font color=FF0000>Failed: Condition was false.</font>")); \
-        SetTestStepResult(EFail); \
-        User::Leave(EFail); \
-        } \
-    }
-    
-#define TESTCHECKSTRL(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    TBuf<255> temp = a ; \
-	    INFO_PRINTF3(_L("<font color=FF0000>Failed: Got \"%S\" while expecting \"%S\".</font>"), &temp,&(b)); \
-        SetTestStepResult(EFail); \
-        User::Leave(EFail); \
-        } \
-    }
-    
-#define TESTCHECK(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    INFO_PRINTF3(_L("<font color=FF0000>Failed: Got %d while expecting %d.</font>"),a,b); \
-        SetTestStepResult(EFail); \
-        } \
-    }
-
-#define TESTCHECKCONDITION(a) \
-    { \
-    if (!(a)) \
-	    { \
-	    INFO_PRINTF1(_L("<font color=FF0000>Failed: Condition was false.</font>")); \
-        SetTestStepResult(EFail); \
-        } \
-    }
-    
-#define TESTCHECKSTR(a, b) \
-    { \
-    if((a)!=(b)) \
-	    { \
-	    TBuf<255> temp = a ; \
-	    INFO_PRINTF3(_L("<font color=FF0000>Failed: Got \"%S\" while expecting \"%S\".</font>"), &temp,&(b)); \
-        SetTestStepResult(EFail); \
-        } \
-    }
-
-
-/**
-  Base class housing SMS test Steps 
-*/
-class CSMSTestSteps : public CTestStep
-{
-public:
-
-//	static CSMSTestSteps* NewL();
-	~CSMSTestSteps();
-
-
-	enum TCodingScheme{ESevenBit=7, EEightBit};
-
-	/* Functions grabbed from SMS Stack Test Utils */
-	//Socket utils
-	void OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddr& aSmsAddr);
-	void OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddrFamily aFamily);
-	void WaitForInitializeL();
-	void SetSimTSYTestNumberL(TInt aTestNumber);	
-	void ParseSettingsFromFileL();
-	void PrepareRegTestLC(RSocketServ& aSocketServer, TInt aTestNumber);
-	CSmsMessage* CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType = CSmsPDU::ESmsSubmit);
-	CSmsMessage* RecvSmsL(RSocket& aSocket, TInt aIoctl = KIoctlReadMessageSucceeded);
-	CSmsMessage* CreateSmsWithStatusReportReqL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet);
-	CSmsMessage* RecvSmsFailedL(RSocket& aSocket);
-	CSmsMessage* CreateSmsMessageLC(CSmsPDU::TSmsPDUType aType, CSmsBuffer* aBuffer, const TDesC& aAddress);
-	//This method is used to create SMS message from test data
-	CSmsMessage* CreateSMSL();
-	void SetFreeDiskSpaceL(TInt64 aNewFreeValue);
-	void ReleaseDiskSpaceL();
-	TUint64 SetHighLowLimitsAndDiskSpaceLevelL(TUint aHighDrop, TUint aLowDrop, TUint aFreeDrop, TUint64 aMax=0x7fffffff);
-	void SetFreeDiskSpaceFromDropLevelL(TUint aFreeDrop);
-	void SetLowHighLimitsInSmsuRscL(TInt64 aLowLimit, TInt64 aHighLimit);
-	void RemoveLowHighLimitsFromSmsuRscL();
-	void SendSmsL(const CSmsMessage* aSms, RSocket& aSocket);
-	void SendSmsCancelL(CSmsMessage* aSms, RSocket& aSocket1, RSocket& aSocket2);
-	TInt SendSmsErrorL(CSmsMessage* aSms, RSocket& aSocket);
-	void SendCommandSmsL(CSmsMessage* aSms, RSocket& aSocket);
-	void SendAndRecvTestMessageL(const TTestCase& aTestCase, RSocket& aSocket);
-	void SendTestMessageL(const TTestCase& aTestCase, RSocket& aSocket);
-	void SendSmsDontCheckReturnValueL(CSmsMessage* aSms, RSocket& aSocket);
-	void SendAndRecvSms7BitL(const TDesC& aDes, RSocket& aSocket);
-	void DoSendAndRecvSmsL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, RSocket& aSocket);
-	void PrintMessageL(const CSmsMessage* aSms);
-	void PrintSmsMessage(const CSmsMessage& aMessage);
-	TSmsStatus::TSmsStatusValue RecvStatusReportL(TSmsServiceCenterAddress& aRecipientNumber, RSocket& aSocket);
-	void WaitForRecvL(RSocket& aSocket);
-	void TestSmsContentsL(CSmsMessage* aSms, const TDesC& aDes, TBool aIgnorePrintOutput = EFalse);	
-	void TestMessageContentsL(CSmsMessage* aSms, const TTestCase& aTestCase);
-	void WriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket);
-	void WriteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket);
-	void ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages);
-	void ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages, TRequestStatus &aStatus);
-	TInt DeleteSmsL(const CSmsMessage& aSms, RSocket& aSocket);
-	void DeleteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket);
-	void SetIndicatorL(const TTestCase& aTestCase, CSmsMessage* aSms);
-	void FillDes(TDes& aDes,TInt aLength);
-	TInt MakeReadSmsStoreRequestL(RSocket& aSocket);
-	TBool TimedWaitForRecvL(RSocket& aSocket, TUint aDelay);
-	TInt CancelWriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket, TInt aDelay);
-	TBool DoSingleTestCaseL( const TDesC8& aSection, TInt aCount );
-	void ReadPduL( TBuf8<64> aSectionName, RPointerArray<CSmsPduDbMessage>& aArray );
-	void TestSendAndRecvMsgsWithDifferentTONL( const RPointerArray<CSmsPduDbMessage>& aArray,
-												   const CArrayFixFlat<TInt>* aAlphabetArray,
-												   const CArrayFixFlat<TInt>* aTypeOfNumberArray );
-	void TestSendAndReceiveIndicatorMsgsL( const RPointerArray<CSmsPduDbMessage>& aArray,
-											   const CArrayFixFlat<TInt>* aIndicationStateArray,
-											   const CArrayFixFlat<TInt>* aDcsBits7To4Array,
-											   const CArrayFixFlat<TInt>* aIndicationTypeArray );
-	RFs iFs;
-	RSocketServ *iSocketServer;
-	
-	TSmsServiceCenterAddress iTelephoneNumber; //Test SIM
-	TSmsServiceCenterAddress iServiceCenterNumber; //Radiolinja
-
-	void WriteToSIML(RSocket& aSocket, const CSmsMessage& aMsg);
-
-	CSmsStackTestUtils* iSmsStackTestUtils;
-
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();	
-	
-protected:
-	CSmsMessage *iSms;
-};
-
-
-/**
-	Legacy base class.  This was the original base class.  It has a dependency with SmsStackTestUtils.
-	Its preamble and postamble steps create and destroy the socket server session and socket 
-	subsession - This is limiting as it only allows one test step to execute within a session.
-	
-	The CSmsTestSteps was abstracted from this class. This has effectively removed this constraint.  
-	The CSmsTestSteps share the socket session and subsession, which establishes re-usable test steps.  
-*/
-class CSmsPrtTestStep : public CSMSTestSteps
-{
-
-public:
- 	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();
-	void DoESockMemoryLeakTestL();
-
-public:
-	CActiveScheduler* iScheduler;
-};
-
-
 /**
  *  Test Step base case for all encoding tests. 
  */
-class CSmsPrtEncodingTestStep : public CSmsPrtTestStep
+class CSmsPrtEncodingTestStep : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepPreambleL();
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtserver.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtserver.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -21,7 +21,7 @@
 
 #include "TE_smsprtserver.h"
 #include "TE_smsprt.h"
-#include "Te_smsprttestcase.h"
+#include "smsstacktestcase.h"
 #include "te_smsprt_R6.h"
 #include "Te_StatusReportSchemeSteps.h"
 #include "Te_SmsTestSteps.h"
@@ -39,22 +39,14 @@
 	{
 	CSmsPrtTestServer * server = new (ELeave) CSmsPrtTestServer();
 	CleanupStack::PushL(server);
+	// CSmsStackTestServer intermediate base class call
+	server->InitializeTsyAndPhonesL();
 	// CServer base class call
 	server->StartL(KServerName);
 	CleanupStack::Pop(server);
 	return server;
 	}
 
-/**
-	Server destructor ensures SocketServer and Socket session and subsession are closed
-*/
-CSmsPrtTestServer::~CSmsPrtTestServer()
-	{ 
-	iSocketServer.Close();
-
- 	}
-  
-  
 LOCAL_C void MainL()
 /**
  *  Much simpler, uses the new Rendezvous() call to sync with the client
@@ -186,6 +178,10 @@
 		{
 		testStep = new CTestDeleteSms ;	
 		}
+    else if (aStepName == _L("TestSmsAddr"))
+        {
+        testStep = new CTestSmsAddr; 
+        }
 	else if (aStepName == _L("TestSocketBinding"))
 		{
 		testStep = new CTestSocketBinding ;	
@@ -296,7 +292,7 @@
 		}
 	else if (aStepName == _L("SmsParamsErrorCases"))
 		{
-		testStep = new CSmsParamsErrorCases ;	
+		testStep = new CTestSmsParamsErrorCases ;	
 		}
 	else if (aStepName == _L("TestResendFailedConcatinatedMessage"))
 		{
@@ -493,23 +489,23 @@
 	    }
 	else if (aStepName== _L("EnhancedVoiceMessageBoundaryTest"))
 	    {
-	    testStep = new CEnhancedVoiceMessageBoundaryTest();
+	    testStep = new CTestEnhancedVoiceMessageBoundary();
 	    }
 	else if (aStepName== _L("EnhancedVoiceMessageBoundaryTest1"))
 	    {
-	    testStep = new CEnhancedVoiceMessageBoundaryTest1();
+	    testStep = new CTestEnhancedVoiceMessageBoundary1();
 	    }
 	else if (aStepName== _L("CSubmitReportDefaultsTo7BitDecoding"))
 	    {
-	    testStep = new CSubmitReportDefaultsTo7BitDecoding();
+	    testStep = new CTestSubmitReportDefaultsTo7BitDecoding();
 	    }
 	else if (aStepName== _L("CDeliverReportDefaultsTo7BitDecoding"))
 	    {
-	    testStep = new CDeliverReportDefaultsTo7BitDecoding();
+	    testStep = new CTestDeliverReportDefaultsTo7BitDecoding();
 	    }
 	else if (aStepName== _L("CStatusReportDefaultsTo7BitDecoding"))
 	    {
-	    testStep = new CStatusReportDefaultsTo7BitDecoding();
+	    testStep = new CTestStatusReportDefaultsTo7BitDecoding();
 	    }
 	else if (aStepName== _L("TestSendingTPSRRSchemeInAllPDUs"))
 	    {
@@ -639,10 +635,6 @@
 	    {
 	    testStep = new CEnumerateInOODCondition(iSocketServer);
 	    }	      
-	else if (aStepName== _L("ESockMemoryLeakTest"))
-	    {
-	    testStep = new CESockMemoryLeakTest();
-	    }	    
 	else if (aStepName== _L("TestEncodingPDUonBoundary"))
 		{
 		testStep = new CTestEncodingPDUonBoundary();
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtserver.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/TE_smsprtserver.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,22 +15,21 @@
 // 
 //
 
-#if (!defined __TE_SMSPRTSERVER_H__)
-#define __TE_SMSPRTSERVER_H__
-#include "TE_smsprtbase.h"
-#include <test/testexecuteserverbase.h>
+#ifndef TE_SMSPRTSERVER_H
+#define TE_SMSPRTSERVER_H
 
+#include <es_sock.h> 
 
-class CSmsPrtTestServer : public CTestServer
+#include "smsstackbasetestserver.h"
+
+class CSmsPrtTestServer : public CSmsStackTestServer
 	{
 public:
 	static CSmsPrtTestServer* NewL();
 	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
-	~CSmsPrtTestServer();
 
+private:
 	RSocketServ iSocketServer;
-	RSocket iSocket;
-	
 	};
 
-#endif
+#endif // TE_SMSPRTSERVER_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_Class0StoreEnabled.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_Class0StoreEnabled.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -24,22 +24,23 @@
 	Each test step initialises it's own name
 */
 	{
-	iSocketServer = &aSocketServer;
+    iSharedSocketServer = &aSocketServer;
+	iPartOfMultiStepTestCase = ETrue;
 	}
 
 
 /**
   Checks wheather the CLASS0 store has in fact been enabled.
-		*/
+ */
 TVerdict CClass0StoreEnabled::doTestStepL()
 	{	
 	TBool isClass0StoreEnabled = EFalse;
 	GetBoolFromConfig(ConfigSection(), _L("isClass0StoreEnabled"), isClass0StoreEnabled);
 		
 	//Open a socket 
-	INFO_PRINTF1(_L("Opening socket..."));
 	RSocket socket;
-	OpenSmsSocketL(*iSocketServer, socket, ESmsAddrRecvAny);
+	OpenSmsSocketL(*iSharedSocketServer, socket, ESmsAddrRecvAny);
+	CleanupClosePushL(socket);
 
 	TRequestStatus status;
 	socket.Ioctl(KIoctlSupportOODClass0SmsMessages, status, NULL, KSolSmsProv);
@@ -48,15 +49,6 @@
 	TEST((isClass0StoreEnabled  &&  status == KErrNone)  ||
 		 (!isClass0StoreEnabled  &&  status == KErrNotSupported));
 	
-	socket.Close();
-	
+	CleanupStack::PopAndDestroy(&socket);
 	return TestStepResult();
 	}
-//-----------------------------------------------------------------------------
-
-
-
-
-
-
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_ForwardSystemTime.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_ForwardSystemTime.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -19,6 +19,11 @@
 
 #include "Te_SmsTestSteps.h"
 
+CForwardSystemTime::CForwardSystemTime()
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
+
 /**
   Forwards the system time in minutes.
 */
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SMSStackOutOfDiskSpace.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SMSStackOutOfDiskSpace.script	Fri Apr 16 16:12:37 2010 +0300
@@ -36,7 +36,7 @@
 //! @SYMAuthor                   donalclerkin
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60   TE_smsprt   LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber8
+RUN_TEST_STEP 60   TE_smsprt   LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber8
 RUN_TEST_STEP 60    TE_smsprt   SetDiskMonitorLimits    z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskMonitorLimits
 RUN_TEST_STEP 120   TE_smsprt   SetDiskSpace         z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
 RUN_TEST_STEP 120  TE_smsprt  SendSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
@@ -46,7 +46,6 @@
 RUN_TEST_STEP 120   TE_smsprt   FreeDiskSpace
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
 RUN_UTILS       DeleteFile  c:\private\101F7989\sms\smsu.rsc
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 END_TESTCASE                    TEL-SMS-SMSPRT-0125
 
 
@@ -63,13 +62,12 @@
 //! @SYMCreationDate             29/11/2006
 //! @SYMAuthor                   danieldu
 //! @SYMTestStatus               2. Development
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber1
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber1
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpected
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0126
 
@@ -91,14 +89,13 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber2
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber2
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpected
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  	TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0128
 
@@ -125,20 +122,26 @@
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk      c:\private\101F7989\esock\smswap.sms.bak
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS  copyfile   z:\testdata\configs\smswap_MaxFivePDUsInOOD.esk    c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber27
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber27
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
+
+//Wait for 4 PDUs to be received - trigger each from a send - no message expected
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
-//Wait for 4 PDUs to be received -
-DELAY 60000
-//Trigger receipt of another PDU to fill the last slot
+RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
+RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
-//Check that the oldest  PDU is delivered
+RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+
+// Trigger receipt of another PDU to fill the last slot - check that the oldest  PDU is delivered
+RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpectedPartOf8Bit
+
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
@@ -162,30 +165,39 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
+
 //Copy esk file with MAX PDUs = 5
 RUN_UTILS  DeleteFile   c:\private\101F7989\esock\smswap.sms.bak
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk      c:\private\101F7989\esock\smswap.sms.bak
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS  copyfile   z:\testdata\configs\smswap_MaxFivePDUsInOOD.esk    c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber28
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber28
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
-//Fill the preallocation file
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
+
+//Wait for 4 PDUs to be received - trigger each from a send - no message expected
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
-//Wait for 4 PDUs to be received
-DELAY 60000
-RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
-//Recieve the first of the three
+RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
+RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
+RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+
+RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
+RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
+RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpectedPartOf8Bit
+
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpectedThreePDUs
+
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60  TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
@@ -214,7 +226,7 @@
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk      c:\private\101F7989\esock\smswap.sms.bak
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS  copyfile   z:\testdata\configs\smswap_MaxFivePDUsInOOD.esk    c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber29
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber29
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 //Fill the preallocation file
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
@@ -233,7 +245,6 @@
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpectedThreePDUs
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
@@ -256,7 +267,7 @@
 //! @SYMAuthor                   danieldu
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber4
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber4
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
@@ -267,7 +278,6 @@
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpectedFirstPDU
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0132
 
@@ -289,14 +299,13 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber12
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber12
 RUN_TEST_STEP 60    TE_smsprt   SetDiskMonitorLimits   z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskMonitorLimits
 RUN_TEST_STEP 120   TE_smsprt   SetDiskSpace         z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
 RUN_TEST_STEP 120  TE_smsprt  SendSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 120   TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageNotExpected
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber14
-RUN_TEST_STEP 120   TE_smsprt   SetDiskSpace         z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber14
 RUN_TEST_STEP 30 TE_smsprt ForwardSystemTime  z:\testdata\configs\SMSOutOfDiskSpace.ini  TwelveHours
 RUN_TEST_STEP 120   TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageExpectedTwoPDUs
 RUN_TEST_STEP 120  TE_smsprt  SendSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
@@ -305,7 +314,6 @@
 RUN_TEST_STEP 120   TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageExpectedThirdPDU
 RUN_TEST_STEP 120   TE_smsprt   FreeDiskSpace
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0133
 
@@ -328,19 +336,17 @@
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
 RUN_TEST_STEP 60  TE_smsprt   DeleteSARStores
-RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber9
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber9
 RUN_TEST_STEP 60    TE_smsprt   SetDiskMonitorLimits   z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskMonitorLimits
 RUN_TEST_STEP 120   TE_smsprt   SetDiskSpace         z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
 RUN_TEST_STEP 120  TE_smsprt  SendSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60    TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageNotExpected
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber13
-RUN_TEST_STEP 120   TE_smsprt   SetDiskSpace         z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber13
 RUN_TEST_STEP 120  TE_smsprt  SendSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60    TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageExpectedThreePDUs
 RUN_TEST_STEP 120   TE_smsprt   FreeDiskSpace
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS     DeleteFile  c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0134
 
@@ -363,7 +369,7 @@
 RUN_TEST_STEP 60  TE_smsprt   DeleteSARStores
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber10
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber10
 RUN_TEST_STEP 60    TE_smsprt   SetDiskMonitorLimits   z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskMonitorLimits
 RUN_TEST_STEP 120  TE_smsprt  SendSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
 RUN_TEST_STEP 60    TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageNotExpected
@@ -375,7 +381,6 @@
 RUN_TEST_STEP 60    TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageExpectedThreePDUs
 RUN_TEST_STEP 120   TE_smsprt   FreeDiskSpace
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0135
 
@@ -396,8 +401,8 @@
 //! @SYMTestStatus               3. Under Execution
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber5
 RUN_TEST_STEP 60  TE_smsprt  DeleteSARStores
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber5
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini   SinglePDU8BitMessage
 //Wait for all PDUs to be received
@@ -413,7 +418,6 @@
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini  MessageExpectedSecondMessage
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 END_TESTCASE                   TEL-SMS-SMSPRT-0136
 
 
@@ -437,13 +441,12 @@
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smsclass0preallocated.dat
 RUN_UTILS  copyfile  z:\testdata\configs\smsclass0reast.dat    c:\private\101F7989\esock\smsclass0reast.dat
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smsclass0reast.dat
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber1
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber1
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpected
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS DeleteFile c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0137
 
@@ -471,13 +474,12 @@
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS  copyfile   z:\testdata\configs\smswap_DontDiscardType0s.esk   c:\private\101F7989\esock\smswap.sms.esk
 //Run Steps
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber25
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber25
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageExpected
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 //Tear Down
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
@@ -508,13 +510,12 @@
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS  copyfile   z:\testdata\configs\smswap_discardType0s.esk    c:\private\101F7989\esock\smswap.sms.esk
 //Run Steps
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber25
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber25
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 //Tear Down
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
@@ -522,41 +523,40 @@
 END_TESTCASE                   TEL-SMS-SMSPRT-0139
 
 
-START_TESTCASE                 TEL-SMS-SMSPRT-0140
-//! @SYMTestCaseID               TEL-SMS-SMSPRT-0140
-//! @SYMTestCaseDesc             Receive a type 0 class 2 single PDU message when there is NO availale disk space. SMS Stack is configured Not to discard type 0 messages. I.e. Class Takes precedence.
-//! @SYMFssID                    3.1.10.3
-//! @SYMREQ                      7232
-//! @SYMPREQ                     1736
-//! @SYMComponent                SMSStack
-//! @SYMTestPriority             Critical
-//! @SYMTestActions              Fill the disk. Receive a single PDU Class 0 type 0 message.
-//! @SYMTestExpectedResults      No message is delivered to the client, message is negatively Ack'd.
-//! @SYMTestType                 CIT
-//! @SYMTestCaseDependencies     SIM TSY
-//! @SYMCreationDate             1/12/2006
-//! @SYMAuthor                   danieldu
-//! @SYMTestStatus               2. Development
-//Setup
-RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
-RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_UTILS  DeleteFile   c:\private\101F7989\esock\smswap.sms.bak
-RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk      c:\private\101F7989\esock\smswap.sms.bak
-RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
-RUN_UTILS  copyfile   z:\testdata\configs\smswap_DontDiscardType0s.esk   c:\private\101F7989\esock\smswap.sms.esk
-//Run Steps
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber26
-RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
-RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
-RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
-RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
-RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
-//Tear Down
-RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
-RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
-RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
-END_TESTCASE                   TEL-SMS-SMSPRT-0140
+//START_TESTCASE                 TEL-SMS-SMSPRT-0140
+////! @SYMTestCaseID               TEL-SMS-SMSPRT-0140
+////! @SYMTestCaseDesc             Receive a type 0 class 2 single PDU message when there is NO availale disk space. SMS Stack is configured Not to discard type 0 messages. I.e. Class Takes precedence.
+////! @SYMFssID                    3.1.10.3
+////! @SYMREQ                      7232
+////! @SYMPREQ                     1736
+////! @SYMComponent                SMSStack
+////! @SYMTestPriority             Critical
+////! @SYMTestActions              Fill the disk. Receive a single PDU Class 0 type 0 message.
+////! @SYMTestExpectedResults      No message is delivered to the client, message is negatively Ack'd.
+////! @SYMTestType                 CIT
+////! @SYMTestCaseDependencies     SIM TSY
+////! @SYMCreationDate             1/12/2006
+////! @SYMAuthor                   danieldu
+////! @SYMTestStatus               2. Development
+////Setup
+//RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
+//RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
+//RUN_UTILS  DeleteFile   c:\private\101F7989\esock\smswap.sms.bak
+//RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk      c:\private\101F7989\esock\smswap.sms.bak
+//RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
+//RUN_UTILS  copyfile   z:\testdata\configs\smswap_DontDiscardType0s.esk   c:\private\101F7989\esock\smswap.sms.esk
+////Run Steps
+//RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber26
+//RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
+//RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
+//RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
+//RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
+//RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
+////Tear Down
+//RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
+//RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
+//RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
+//END_TESTCASE                   TEL-SMS-SMSPRT-0140
 
 
 START_TESTCASE                 TEL-SMS-SMSPRT-0141
@@ -576,13 +576,12 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol      z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber7
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol      z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber7
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits   z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace       z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS         z:\testdata\configs\SMSOutOfDiskSpace.ini  MessageNotExpected
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0141
 
@@ -602,13 +601,12 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  			DeleteFile	c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  			DeleteFile  c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60  	TE_smsprt  	LoadSMSProtocol   			z:\testdata\configs\SIMTSYTestNumbers.ini  	TestNumber17
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol             z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber17
 RUN_TEST_STEP 60	TE_smsprt  	SetDiskMonitorLimits 		z:\testdata\configs\SMSOutOfDiskSpace.ini 	DiskMonitorLimits
 RUN_TEST_STEP 120 	TE_smsprt  	SetDiskSpace    			z:\testdata\configs\SMSOutOfDiskSpace.ini  	DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  	TE_smsprt  	EnumerateInOODCondition
 RUN_TEST_STEP 120  	TE_smsprt  	FreeDiskSpace
 RUN_TEST_STEP 60  	TE_smsprt  	CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  			DeleteFile  c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0146
 
@@ -630,13 +628,12 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber30
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber30
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits     z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace        z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  SendReceiveSMSWhileServerInOOM   z:\testdata\configs\SMSOutOfDiskSpace.ini SendSinglePDU8BitMessageReceiveInOOM
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0151
 
@@ -660,7 +657,7 @@
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile    z:\testdata\configs\smswap_MaxFivePDUsInOOD.esk   c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol         z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber15
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol         z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber15
 RUN_TEST_STEP 60    TE_smsprt   SetDiskMonitorLimits    z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskMonitorLimits
 RUN_TEST_STEP 120   TE_smsprt   SendSMS             z:\testdata\configs\SMSOutOfDiskSpace.ini   SinglePDU8BitMessage
 RUN_TEST_STEP 120   TE_smsprt   ReceiveSMS             z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageNotExpected
@@ -675,7 +672,6 @@
 RUN_TEST_STEP 120   TE_smsprt   ReceiveSMS             z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageExpectedTwoPDUs
 RUN_TEST_STEP 120   TE_smsprt   FreeDiskSpace
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
@@ -704,13 +700,12 @@
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk   c:\private\101F7989\esock\smswap.sms.bak
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile    z:\testdata\configs\smswap_discardType0s.esk   c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber6
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber6
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits    z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace         z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS          z:\testdata\configs\SMSOutOfDiskSpace.ini MessageNotExpected
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS   DeleteFile   c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
@@ -739,7 +734,7 @@
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk      c:\private\101F7989\esock\smswap.sms.bak
 RUN_UTILS   MakeReadWrite  c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS  copyfile   z:\testdata\configs\smswap_MaxFivePDUsInOOD.esk    c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol     z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber32
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol     z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber32
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits  z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskMonitorLimits
 RUN_TEST_STEP 60  TE_smsprt  Class0StoreEnabled    z:\testdata\configs\SMSOutOfDiskSpace.ini   EnableClass0Store
 //Fill the preallocation file
@@ -749,7 +744,6 @@
 RUN_TEST_STEP 120   TE_smsprt  ReceiveSMS     z:\testdata\configs\SMSOutOfDiskSpace.ini  MessageExpectedFirstMessage
 RUN_TEST_STEP 120   TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60   TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS   DeleteFile   c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite   c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile    c:\private\101F7989\esock\smswap.sms.bak     c:\private\101F7989\esock\smswap.sms.esk
@@ -777,7 +771,7 @@
 RUN_UTILS   copyfile  c:\private\101F7989\esock\smswap.sms.esk      c:\private\101F7989\esock\smswap.sms.bak
 RUN_UTILS  MakeReadWrite   		c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS  copyfile   			z:\testdata\configs\smswap_Class0DisabledMaxFivePDUsInOOD.esk  	c:\private\101F7989\esock\smswap.sms.esk
-RUN_TEST_STEP 60   	TE_smsprt  	LoadSMSProtocol    	z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber16
+RUN_TEST_STEP 60   	TE_smsprt  	LoadSMSProtocol    	z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber16
 RUN_TEST_STEP 60   	TE_smsprt  	Class0StoreEnabled 	z:\testdata\configs\SMSOutOfDiskSpace.ini   DisableClass0Store
 //Fill the preallocation file
 RUN_TEST_STEP 120   TE_smsprt   SetDiskSpace      z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
@@ -787,7 +781,6 @@
 RUN_TEST_STEP 60  TE_smsprt   ReceiveSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  MessageNotExpected
 RUN_TEST_STEP 120   TE_smsprt   FreeDiskSpace
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS   DeleteFile      c:\private\101F7989\sms\smsu.rsc
 RUN_UTILS   MakeReadWrite    c:\private\101F7989\esock\smswap.sms.esk
 RUN_UTILS   copyfile       c:\private\101F7989\esock\smswap.sms.bak  c:\private\101F7989\esock\smswap.sms.esk
@@ -810,7 +803,7 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  	DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  	DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol   		z:\testdata\configs\SIMTSYTestNumbers.ini  	TestNumber3
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol        z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber3
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits 	z:\testdata\configs\SMSOutOfDiskSpace.ini 	DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SendSMS     			z:\testdata\configs\SMSOutOfDiskSpace.ini   SinglePDU8BitMessage
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace    		z:\testdata\configs\SMSOutOfDiskSpace.ini  	DiskSpaceBelowLowLimit
@@ -818,7 +811,6 @@
 RUN_TEST_STEP 60  TE_smsprt  ReceiveSMS    			z:\testdata\configs\SMSOutOfDiskSpace.ini 	MessageExpected
 RUN_TEST_STEP 120  TE_smsprt FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS   DeleteFile     c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE           TEL-SMS-SMSPRT-0127
 
@@ -840,13 +832,12 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini  TestNumber31
+RUN_TEST_STEP 60  TE_smsprt  LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini  TestNumber31
 RUN_TEST_STEP 60  TE_smsprt  SetDiskMonitorLimits     z:\testdata\configs\SMSOutOfDiskSpace.ini DiskMonitorLimits
 RUN_TEST_STEP 120 TE_smsprt  SetDiskSpace        z:\testdata\configs\SMSOutOfDiskSpace.ini  DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60  TE_smsprt  SendReceiveSMSWhileServerInOOM   z:\testdata\configs\SMSOutOfDiskSpace.ini SendSinglePDU8BitMessageReceiveMultipleInOOM
 RUN_TEST_STEP 120  TE_smsprt  FreeDiskSpace
 RUN_TEST_STEP 60  TE_smsprt  CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0152
 
@@ -868,7 +859,7 @@
 //! @SYMTestStatus               2. Development
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0preallocated.dat
 RUN_UTILS  DeleteFile   c:\private\101F7989\sms\smsclass0reast.dat
-RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\SIMTSYTestNumbers.ini   TestNumber11
+RUN_TEST_STEP 60    TE_smsprt   LoadSMSProtocol       z:\testdata\configs\smsstacksimtsytestnumbers.ini   TestNumber11
 RUN_TEST_STEP 60    TE_smsprt   SetDiskMonitorLimits   z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskMonitorLimits
 RUN_TEST_STEP 120   TE_smsprt   SetDiskSpace         z:\testdata\configs\SMSOutOfDiskSpace.ini   DiskSpaceBelowLowLimit
 RUN_TEST_STEP 120   TE_smsprt   SendSMS        z:\testdata\configs\SMSOutOfDiskSpace.ini  SinglePDU8BitMessage
@@ -877,7 +868,6 @@
 RUN_TEST_STEP 60    TE_smsprt   ReceiveSMS           z:\testdata\configs\SMSOutOfDiskSpace.ini   MessageNotExpected
 RUN_TEST_STEP 120   TE_smsprt   FreeDiskSpace
 RUN_TEST_STEP 60    TE_smsprt   CloseSMSProtocol
-RUN_TEST_STEP 60	TE_smsprt   ESockMemoryLeakTest
 RUN_UTILS  DeleteFile  c:\private\101F7989\sms\smsu.rsc
 END_TESTCASE                   TEL-SMS-SMSPRT-0153
 
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SmsTestSteps.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1766 +0,0 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// This file contains utility functions used by the SMS test steps.  The actual SMS test steps are 
-// declared in Te_SMSTestSteps.h and are defined in their own file with appropriate name.
-// These utilities proved quite extensive functionality.  If a SMS test step you need is not 
-// available, before creating a new one, check through these functions;  You might find something
-// you can simply plug into your new test step.
-// 
-//
-
-/**
- @file
-*/
-
-#include "Te_SmsTestSteps.h"
-#include "TE_smsprtbase.h"
-#include <sacls.h>
-#include <smspver.h>
-
-
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define PDD_NAME2 _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-// Here are the section names
-_LIT8(KSetupTelNumbers,           "Defaults");
-
-// Here are the item names
-_LIT8(KServiceCenter,               "ServiceCenter");
-_LIT8(KTelefoneNumber,              "TelephoneNumber");
-
-// Location of directory for reserving disk space
-_LIT(KTempDiskSpaceDirName, "C:\\sms\\temp\\");
-
-// Location and name of the RSC file.
-_LIT(KSMSUResourceDir, "C:\\private\\101f7989\\sms\\");
-_LIT(KSMSUResourceFile, "C:\\private\\101f7989\\sms\\smsu.rsc");
-
-
-
-CSMSTestSteps::~CSMSTestSteps()
-{
-	iFs.Close();			
-}
-
-
-/**
-	Creates the file server session and marks the heap
-*/
-TVerdict CSMSTestSteps::doTestStepPreambleL()
-	{
-	RDebug::Print(_L("%S"), &TestStepName());
-	
-	User::LeaveIfError(iFs.Connect());	
-	
-	__UHEAP_MARK;
-			
-	return TestStepResult();
-	}
-
-/**
-	Closes file server session and unmarks the heap	
-*/
-TVerdict CSMSTestSteps::doTestStepPostambleL()
-	{
-		
-	__UHEAP_MARKEND;
-	
-	iFs.Close();	
-
-	return TestStepResult();
-	}
-	
-void CSMSTestSteps::ParseSettingsFromFileL()
-	{
-	CTestConfig* configFile = CTestConfig::NewLC(iFs,KGmsSmsConfigFileDir,KGmsSmsConfigFileName);
-	const CTestConfigSection* cfgFile = configFile->Section(KSetupTelNumbers);
-	if (cfgFile == NULL)
-		{
-		User::Leave(KErrNotFound);
-		}
-
-	const CTestConfigItem* item = cfgFile->Item(KServiceCenter,0);
-	if (item == NULL)
-		{
-		User::Leave(KErrNotFound);
-		}
-
-	iServiceCenterNumber.Copy(item->Value());
-
-	item = cfgFile->Item(KTelefoneNumber,0);
-	if (item == NULL)
-		{
-		User::Leave(KErrNotFound);
-		}
-
-	iTelephoneNumber.Copy(item->Value());
-
-	// beginning of the destruction
-	CleanupStack::PopAndDestroy(configFile);//configFile
-	}
-
-void CSMSTestSteps::SetSimTSYTestNumberL(TInt aTestNumber)
-/**
-	Set the SIM TSY Test number 
-	@param aTestNumber is the test number in SIM TSY config file
-*/
-	{	
-	INFO_PRINTF2(_L("Setting SIMTSY test number to %d"), aTestNumber);
-
-	//
-	// Set the property...
-	//
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,aTestNumber));
-
-	//
-	// Check the property is set...
-	//
-	TInt  testNumberCheck;
-
-	User::LeaveIfError(RProperty::Get(KUidPSSimTsyCategory,KPSSimTsyTestNumber,testNumberCheck));
-	if (aTestNumber != testNumberCheck)
-		{
-	    INFO_PRINTF3(_L("Test number property set to %d, but value returned is %d"),aTestNumber,testNumberCheck);
-		User::Leave(KErrNotFound);
-		}
-	}
-//-----------------------------------------------------------------------------
-void CSMSTestSteps::WaitForInitializeL()
-/**
- *  Initialize the phone for the tsy. IF this is not called, message sends will complete with KErrNotReady
- */
-	{
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-	CleanupStack::PushL(db);
-
-	TName tsy;
-	TUint32 modemId = 0;
-
-	CMDBField<TUint32>* globalSettingsField = new(ELeave) CMDBField<TUint32>(KCDTIdModemPhoneServicesSMS);
-	CleanupStack::PushL(globalSettingsField);
-	globalSettingsField->SetRecordId(1);
-	globalSettingsField->LoadL(*db);
-	modemId = *globalSettingsField;
-	CleanupStack::PopAndDestroy(globalSettingsField);
-
-	CMDBField<TDesC>* tsyField = new(ELeave) CMDBField<TDesC>(KCDTIdTsyName);
-	CleanupStack::PushL(tsyField);
-	tsyField->SetRecordId(modemId);
-	tsyField->SetMaxLengthL(KMaxTextLength);
-	tsyField->LoadL(*db);
-	tsy = *tsyField;
-	CleanupStack::PopAndDestroy(tsyField);
-
-	CleanupStack::PopAndDestroy(db);
-
-	INFO_PRINTF2(_L("Using TSY \"%S\"Loading RTelServer..."), &tsy);
-
-	RTelServer server;
-	User::LeaveIfError(server.Connect());
-	CleanupClosePushL(server);
-	User::LeaveIfError(server.LoadPhoneModule(tsy));
-
-	// Find the phone corresponding to this TSY and open a number of handles on it
-	TInt numPhones;
-	User::LeaveIfError(server.EnumeratePhones(numPhones));
-	RPhone phone;
-	TBool found=EFalse;
-
-	while (numPhones--)
-		{
-		TName phoneTsy;
-		User::LeaveIfError(server.GetTsyName(numPhones,phoneTsy));
-		if (phoneTsy.CompareF(tsy)==KErrNone)
-			{
-			INFO_PRINTF1(_L("Found RPhone..."));
-			found = ETrue;
-			RTelServer::TPhoneInfo info;
-			User::LeaveIfError(server.GetPhoneInfo(numPhones,info));
-			User::LeaveIfError(phone.Open(server,info.iName));
-			CleanupClosePushL(phone);
-			INFO_PRINTF1(_L("Initializing..."));
-			const TInt err = phone.Initialise();
-			TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
-			User::After(InitPause);							//call to the TSY and finish its StartUp.
-			INFO_PRINTF2(_L("Completed Initialize [err=%d]"), err);
-			User::LeaveIfError(err);
-			CleanupStack::PopAndDestroy(&phone);
-			break;
-			}
-		}
-
-	TEST(found);
-	CleanupStack::PopAndDestroy(&server);
-	}
-
-
-
-void CSMSTestSteps::PrepareRegTestLC(RSocketServ& aSocketServer, TInt aTestNumber)
-/**
- *  Run a specified test.
- *  The test number is passed via property KUidPSSimTsyCategory. This will notify the SIM tsy
- *  SIM tsy uses test number to parse correct script from config.txt
- *  @param aTestNumber The test number corresponding the test case
- */
-	{
-	//
-	// Set the SIM.TSY test number...
-	//
-	RProperty testNumberProperty;
-	User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
-	CleanupClosePushL(testNumberProperty);
-
-	TRequestStatus status;
-	testNumberProperty.Subscribe(status);
-	INFO_PRINTF2(_L("Setting Sim.Tsy test number to %d"), aTestNumber);
-	User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,aTestNumber));
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
-
-	TInt testNumberCheck;
-	User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
-	if (aTestNumber != testNumberCheck)
-		{
-	    INFO_PRINTF3(_L("Test number property set to [%d], but value returned is [%d]"),aTestNumber,testNumberCheck);
-		User::Leave(KErrNotFound);
-		}
-
-	CleanupStack::PopAndDestroy(&testNumberProperty);
-
-	//
-	// Connect to the Socket Server...
-	//
-	TInt  ret = aSocketServer.Connect(KSocketMessageSlots);
-    TESTL(ret == KErrNone);
-	CleanupClosePushL(aSocketServer);
-
-	//
-	// Delete segmentation and reassembly store files before the test...
-	//
-	_LIT(KReassemblyStoreName,"C:\\Private\\101F7989\\sms\\smsreast.dat");
-	_LIT(KSegmentationStoreName,"C:\\Private\\101F7989\\sms\\smssegst.dat");
-	_LIT(KWapReassemblyStoreName,"C:\\Private\\101F7989\\sms\\wapreast.dat");
-
-	iFs.Delete(KWapReassemblyStoreName);
-	iFs.Delete(KReassemblyStoreName);
-	iFs.Delete(KSegmentationStoreName);
-
-	}
-	
-CSmsMessage* CSMSTestSteps::CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType)
-/**
- *  Create a uninitialised SMS message
- *  @param aDes contains text that will be inserted to the pdu
- *  @param aAlphabet describes the alphabet of the pdu
- *  @return CSmsMessage* :Pointer to the created CSmsMessage object.
- */
-	{
-	CSmsBuffer* buffer=CSmsBuffer::NewL();
-	CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, aType, buffer);
-	CleanupStack::PushL(smsMessage);
-
-	TSmsUserDataSettings smsSettings;
-	smsSettings.SetAlphabet(aAlphabet);
-	smsSettings.SetTextCompressed(EFalse);
-	smsMessage->SetUserDataSettingsL(smsSettings);
-
-	smsMessage->SetToFromAddressL(iTelephoneNumber);
-	smsMessage->SmsPDU().SetServiceCenterAddressL(iServiceCenterNumber);
-	buffer->InsertL(0,aDes);
-	CleanupStack::Pop(smsMessage);
-	return smsMessage;
-	}
-
-CSmsMessage* CSMSTestSteps::CreateSmsWithStatusReportReqL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet)
-/**
- *  Create a uninitialised SMS message with Status Report request
- *  @param aDes contains text that will be inserted to the pdu
- *  @param aAlphabet describes the alphabet of the pdu
- *  @return CSmsMessage* :Pointer to the created CSmsMessage object.
- */
-	{
-	CSmsMessage* smsMessage=CreateSmsMessageL(aDes, aAlphabet);
-
-	CleanupStack::PushL(smsMessage);
-
-	//Set Status report request
-	CSmsSubmit& submitPdu=(CSmsSubmit&)smsMessage->SmsPDU();
-	submitPdu.SetStatusReportRequest(ETrue);
-
-	CleanupStack::Pop(smsMessage);
-	return smsMessage;
-	}
-
-CSmsMessage* CSMSTestSteps::RecvSmsL(RSocket& aSocket, TInt aIoctl)
-/**
- *  Receive an Sms
- *  @param aSocket is used to stream the sms message from the socket server
- *  @return CSmsMessage* :Sms message from Sms stack
- *  @leave Leaves if streaming the message from the socket server doesn't succeed
- */
-	{
-	CSmsBuffer* buffer=CSmsBuffer::NewL();
-	CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsSubmit,buffer);
-	CleanupStack::PushL(smsMessage);
-
-	RSmsSocketReadStream readstream(aSocket);
-	TRAPD(ret,readstream >> *smsMessage);
-	
-	INFO_PRINTF2(_L("Return from streaming message over socket %d"),ret );
-	
-	TPckgBuf<TUint> sbuf;
-	TRequestStatus status;
-
-	if(ret==KErrNone)
-		{
-		aSocket.Ioctl(aIoctl, status, &sbuf, KSolSmsProv);
-		User::WaitForRequest(status);
-		CleanupStack::Pop(smsMessage);	
-		}
-	//An error has occured, No message has been received, so return a NULL
-	else
-		{
-		aSocket.Ioctl(KIoctlReadMessageFailed, status, &sbuf, KSolSmsProv);
-		User::WaitForRequest(status);
-		TEST(status.Int() == KErrNone);
-		User::Leave(ret);
-		}	
-	return smsMessage;	
-	}
-	
-	
-	
-
-CSmsMessage* CSMSTestSteps::RecvSmsFailedL(RSocket& aSocket)
-/**
- *  Receive an Sms, first nack the receive several times before succeeding
- *  @param aSocket is used to stream the sms message from the socket server
- *  @return CSmsMessage* :Sms message from Sms stack
- *  @leave Leaves if streaming the message from the socket server doesn't succeed
- *  @leave Leaves if nack of receiving is completed with error code
- *  @leave Leaves if ack of receiving is completed with error code
- */
-	{
-	CSmsBuffer* buffer=CSmsBuffer::NewL();
-	CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsSubmit,buffer);
-	CleanupStack::PushL(smsMessage);
-	RSmsSocketReadStream readstream(aSocket);
-
-	TPckgBuf<TUint> sbuf;
-	TRequestStatus status;
-
-	for(TInt i=0; i<10; i++)
-		{
-		TRAPD(ret,readstream >> *smsMessage);
-		TEST(ret == KErrNone);
-		aSocket.Ioctl(KIoctlReadMessageFailed, status, &sbuf, KSolSmsProv);
-		User::WaitForRequest(status);
-		TEST(status.Int() == KErrNone);
-		}
-
-	TRAPD(ret,readstream >> *smsMessage);
-	TEST(ret == KErrNone);
-	aSocket.Ioctl(KIoctlReadMessageSucceeded, status, NULL, KSolSmsProv);
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
-
-	CleanupStack::Pop(smsMessage);
-	return smsMessage;
-	}
-
-void CSMSTestSteps::SendSmsL(const CSmsMessage* aSms, RSocket& aSocket)
-/**
- *  Stream aSms out to the socket server
- *  @param aSms contains the sms tpdu that will be streamed to the sms stack
- *  @param aSocket is used to stream the aSms to the sms stack
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if sending is completed with error code
- */
-	{
-	TBool tryAgain = ETrue;
-	TInt sendTry (0);
-	TRequestStatus status = KErrNone;
-
-	while (tryAgain && sendTry < 3)
-		{
-		RSmsSocketWriteStream writestream(aSocket);
-		TRAPD(ret,writestream << *aSms);
-
-		TRAP(ret,writestream.CommitL());
-
-		TPckgBuf<TUint> sbuf;
-		aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
-		User::WaitForRequest(status);
-		INFO_PRINTF2(_L("SendSmsL - sendSmsMessage returned %d"), status.Int());
-		if (status.Int() != KErrNone)
-			{
-			tryAgain = ETrue;
-			INFO_PRINTF1(_L("Try again... "));
-			sendTry++;
-			}
-		else tryAgain = EFalse;
-		}
-
-	TEST(status.Int() == KErrNone);
-	PrintMessageL(aSms);
-	if (status.Int() != KErrNone)
-		{
-		User::Leave(status.Int());
-		}
-	}
-
-void CSMSTestSteps::SendSmsCancelL(CSmsMessage* aSms, RSocket& aSocket1, RSocket& aSocket2)
-/**
- *  Stream Sms out to the socket server by two RSmsSocketWriteStream object.
- *  The first request is canceled and then the second request is completed with error code.
- *  @param aSms contains the sms tpdu that will be streamed to the sms stack
- *  @param aSocket1 The socket used with message that will be canceled
- *  @param aSocket2 The socket used with message that will be completed with error code
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if sending is completed with KErrNone
- */
-	{
-	RSmsSocketWriteStream writestream(aSocket1);
-	TRAPD(ret,writestream << *aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream.CommitL());
-	TEST(ret == KErrNone);
-
-	TPckgBuf<TUint> sbuf;
-	TRequestStatus status1,status2;
-
-	//stream to socket2
-	RSmsSocketWriteStream writestream2(aSocket2);
-	TRAP(ret,writestream2 << *aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream2.CommitL());
-	TEST(ret == KErrNone);
-
-	aSocket1.Ioctl(KIoctlSendSmsMessage,status1,&sbuf, KSolSmsProv);
-	aSocket2.Ioctl(KIoctlSendSmsMessage,status2,&sbuf, KSolSmsProv);
-
-	User::After(2000000);
-
-	// Test cancel first
-	aSocket1.CancelIoctl();
-	User::WaitForRequest(status1);
-	TEST(status1.Int()==KErrCancel);
-
-	User::After(50000);
-
-
-	User::WaitForRequest(status2);
-
-	INFO_PRINTF2(_L("SendSmsL - sendSmsMessage returned %d"),status2.Int());
-	PrintMessageL(aSms);
-
-	//Ensure the request is completed with error code ;)
-	TEST(status2.Int() != KErrNone);
-	INFO_PRINTF2(_L("Sending failed! %d"), status2.Int());
-	}
-
-TInt CSMSTestSteps::SendSmsErrorL(CSmsMessage* aSms, RSocket& aSocket)
-/**
- *  Stream aSms out to the socket server. Sending is completed with error code.
- *  @param aSms contains the sms tpdu that will be streamed to the sms stack
- *  @param aSocket is used to stream the aSms to the sms stack
- *  @return error code
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if sending is completed with KErrNone
- */
-	{
-	RSmsSocketWriteStream writestream(aSocket);
-	TRAPD(ret,writestream << *aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream.CommitL());
-	TEST(ret == KErrNone);
-
-	TPckgBuf<TUint> sbuf;
-	TRequestStatus status;
-
-  	User::After(50000);
-	// test cancel first
-	aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
-	aSocket.CancelIoctl();
-	User::WaitForRequest(status);
-	TEST(status.Int()==KErrCancel);
-
-	//Now send again, completed with error
-	TRAP(ret,writestream << *aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream.CommitL());
-	TEST(ret == KErrNone);
-
-	aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("SendSmsL - sendSmsMessage returned %d"), status.Int());
-	PrintMessageL(aSms);
-	INFO_PRINTF2(_L("Sending failed! %d"), status.Int());
-	TEST(status.Int() != KErrNone);
-	return status.Int();
-	}
-
-void CSMSTestSteps::SendCommandSmsL(CSmsMessage* aSms, RSocket& aSocket)
-/**
- *  Stream command message out to the socket server and wait for the return status
- *  @param aSms contains the sms tpdu that will be streamed to the sms stack
- *  @param aSocket is used to stream the aSms to the sms stack
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if sending is completed with error code
- */
-	{
-	RSmsSocketWriteStream writestream(aSocket);
-	TRAPD(ret,writestream << *aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream.CommitL());
-	TEST(ret == KErrNone);
-
-	TRequestStatus status;
-	TPckgBuf<TUint> sbuf;
-	aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf,KSolSmsProv);
-
-	User::WaitForRequest(status);
-
-	INFO_PRINTF2(_L("SendCommandSmsL, sendSms returned %d"), status.Int());
-	User::After(1000000);
-	TEST(status.Int() == KErrNone);
-
-	}
-
-void CSMSTestSteps::SendAndRecvTestMessageL(const TTestCase& aTestCase, RSocket& aSocket)
-/**
- *  Send a test message. This method is used to send and receive different DCS type messages
- *  @param aTestCase has information about the used test message, e.g. message data and DCS
- *  @leave Leaves if any of the leaving functions used at this function leaves
- */
-	{
-	SendTestMessageL(aTestCase, aSocket);
-
-	WaitForRecvL(aSocket);
-	CSmsMessage* smsMessage = RecvSmsL(aSocket);
-	CleanupStack::PushL(smsMessage);
-	TestMessageContentsL(smsMessage,aTestCase);
-	CleanupStack::PopAndDestroy(smsMessage);
-	}
-
-void CSMSTestSteps::SendTestMessageL(const TTestCase& aTestCase, RSocket& aSocket)
-/**
- *  Send a test message
- *  Assumes recv is already done.
- *  @param aTestCase has information about the used test message, e.g. message data and DCS
- *  @leave Leaves if any of the leaving functions used at this function leaves
- */
-	{
-	CSmsMessage* smsMessage = CreateSmsMessageL(aTestCase.iMsg, TSmsDataCodingScheme::ESmsAlphabet7Bit);
-	CleanupStack::PushL(smsMessage);
-
-	CSmsPDU& pdu = smsMessage->SmsPDU();
-	CSmsUserData& userData = pdu.UserData();
-
-	if (aTestCase.iMatchType == ESmsAddrMatchIEI)
-		userData.AddInformationElementL(aTestCase.iIdentifierMatch,_L8("98"));
-
-	if (aTestCase.iTestSmsClass)
-		{
-		pdu.SetBits7To4(TSmsDataCodingScheme::ESmsDCSTextUncompressedWithClassInfo);
-		pdu.SetClass(ETrue,aTestCase.iSmsClass);
-		}
-
-	if (aTestCase.iTestValidityPeriod && pdu.Type()==CSmsPDU::ESmsSubmit)
-		{
-		CSmsSubmit* submitPdu = static_cast<CSmsSubmit*>(&pdu);
-		submitPdu->SetValidityPeriod(aTestCase.iValidityPeriod);
-		}
-
-	if (aTestCase.iTestIndicators && pdu.Type()==CSmsPDU::ESmsSubmit)
-		{
-		SetIndicatorL(aTestCase, smsMessage);
-		}
-
-	SendSmsL(smsMessage, aSocket);
-	CleanupStack::PopAndDestroy(smsMessage);
-	}
-
-void CSMSTestSteps::SendSmsDontCheckReturnValueL(CSmsMessage* aSms, RSocket& aSocket)
-/**
- *  Stream aSms out to the socket server and don't check return value.
- *  @param aSms contains the sms tpdu that will be streamed to the sms stack
- *  @param aSocket is used to stream the aSms to the sms stack
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if sending is completed with KErrNone
- */
-	{
-	RSmsSocketWriteStream writestream(aSocket);
-	writestream << *aSms;
-	writestream.CommitL();
-
-	TPckgBuf<TUint> sbuf;
-	TRequestStatus status;
-	aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("Send SMS message returned %d"), status.Int());
-	if(status.Int() != KErrNone)
-		{
-		User::Leave(status.Int());
-		}
-	}
-
-void CSMSTestSteps::SendAndRecvSms7BitL(const TDesC& aDes, RSocket& aSocket)
-/**
- *  Send and receive one 7bit sms
- *  @param aDes contains the text to be send
- *  @leave Leaves if DoSendAndRecvSmsL leaves
- */
-	{
-	DoSendAndRecvSmsL(aDes,TSmsDataCodingScheme::ESmsAlphabet7Bit, aSocket);
-	}
-
-void CSMSTestSteps::DoSendAndRecvSmsL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, RSocket& aSocket)
-/**
- *  Send and recv one sms,
- *  then check that the sent message corresponds with the received message
- *  @param aDes contains the text that will be inserted to the pdu at CreateSmsMessageL
- *  @param aAlphabet describes the alphabet of the pdu that will be created at CreateSmsMessageL
- *  @leave Leaves if any of the leaving functions used at this function leaves
- */
-	{
-	CSmsMessage* smsMessage=CreateSmsMessageL(aDes, aAlphabet);
-	CleanupStack::PushL(smsMessage);
-	SendSmsL(smsMessage, aSocket);
-	CleanupStack::PopAndDestroy(smsMessage); //destroyed because created again in RecvSmsL
-
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
-	WaitForRecvL( aSocket);
-	smsMessage = RecvSmsL( aSocket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
-	CleanupStack::PushL(smsMessage);
-	TestSmsContentsL(smsMessage,aDes);
-
-	User::After(1000000);
-
-	CleanupStack::PopAndDestroy(smsMessage);
-	}
-
-void CSMSTestSteps::PrintMessageL(const CSmsMessage* aSms)
-/**
- *  Print the content of SMS to the console
- */
-	{
-	CSmsBuffer& smsbuffer = (CSmsBuffer&)aSms->Buffer();
-	const TInt len = smsbuffer.Length();
-	HBufC* hbuf = HBufC::NewL(len);
-	TPtr ptr = hbuf->Des();
-	smsbuffer.Extract(ptr,0,len);
-
-	INFO_PRINTF1(_L("SMS contains..."));
-
-	for (TInt j = 0; j < len; j++)
-		{
-		if (ptr[j] < 0x20  ||  ptr[j] > 0xFF)
-			{
-			ptr[j] = 0x007F;
-			}
-		}
-   	INFO_PRINTF2(_L("%S"), &ptr);
-
-	delete hbuf;
-	}
-
-void CSMSTestSteps::PrintSmsMessage(const CSmsMessage& aMessage)
-	{
-	TBuf<255> buf;
-	aMessage.Buffer().Extract(buf, 0, Min(aMessage.Buffer().Length(), 255));
-	INFO_PRINTF2(_L("%S"), &buf);
-	}
-
-TSmsStatus::TSmsStatusValue CSMSTestSteps::RecvStatusReportL(TSmsServiceCenterAddress& aRecipientNumber, RSocket& aSocket)
-/**
- * Receive a Status report
- * @param aRecipientNumber The supposed recipient number
- * @param aSocket is used to stream the sms message from the socket server
- */
-	{
-	//Receive SMS
-	INFO_PRINTF1(_L("waiting for incoming status report...") );
-	WaitForRecvL(aSocket);
-	CSmsMessage* smsMessage = RecvSmsL(aSocket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
-	//Check the status report
-	CleanupStack::PushL(smsMessage);
-	TBool isSR = (smsMessage->Type()==CSmsPDU::ESmsStatusReport);
-
-	if (isSR)
-		{
-		INFO_PRINTF1(_L("Received status report"));
-		TSmsServiceCenterAddress telephoneNumber=smsMessage->ToFromAddress();
-		TEST(telephoneNumber==aRecipientNumber);
-		INFO_PRINTF2(_L("Message delivered to %S"), &telephoneNumber);
-		}
-	else
-		{
-		INFO_PRINTF1(_L("Received SMS is NOT a Status report!"));
-		}
-
-	TEST(isSR==1);
-	
-	//Get the status report
-	CSmsStatusReport& statusReport = static_cast<CSmsStatusReport&>(smsMessage->SmsPDU()); 
-	TSmsStatus::TSmsStatusValue status = statusReport.Status();
-	
-	CleanupStack::PopAndDestroy(smsMessage);
-	
-	return status;
-	}
-
-void CSMSTestSteps::WaitForRecvL(RSocket& aSocket)
-/**
- *  Wait for an Sms to be received
- *  @param aSocket The status is return to this socket
- *  @leave Leaves if receiving is completed with error code
- */
-	{
-	TPckgBuf<TUint> sbuf;
-	sbuf()=KSockSelectRead;
-	TRequestStatus status;
-	aSocket.Ioctl(KIOctlSelect,status,&sbuf,KSOLSocket);
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
-	}
-
-void CSMSTestSteps::TestSmsContentsL(CSmsMessage* aSms, const TDesC& aDes, TBool aIgnorePrintOutput)
-/**
- *  Check that aSms contains text that matches to aDes
- *  @param aSms SMS message that has been come from SMS stack
- *  @param aDes SMS message's text that is defined at client side
- *  @leave Leaves if aSms doesn't match to aDes
- */
-	{
-	CSmsBufferBase& smsBuffer=aSms->Buffer();
-	TInt bufLen=smsBuffer.Length();
-	
-	INFO_PRINTF2(_L("Length of buffer is : %d"),bufLen);
-		
-	HBufC* textBuf=HBufC::NewL(bufLen);
-	CleanupStack::PushL(textBuf);
-	TPtr textPtr(textBuf->Des());
-	smsBuffer.Extract(textPtr,0,bufLen);
-
-	INFO_PRINTF1(_L("Comparing messages..."));
-	TInt  compareResult = textPtr.Compare(aDes);
-
-	if (!aIgnorePrintOutput)
-		{
-		TInt  bufLen2 = aDes.Length();
-		HBufC*  textBuf2 = HBufC::NewL(aDes.Length());
-		CleanupStack::PushL(textBuf2);
-		TPtr textPtr2(textBuf2->Des());
-		TInt  index;
-		
-		for (index = 0;  index < bufLen;  index++)
-			{
-			if (textPtr[index] < 0x20  ||  textPtr[index] > 0xff)
-				{
-				textPtr[index] = 0x007f;
-				}
-			}
-		INFO_PRINTF2(_L("%S"), &textPtr);
-
-		INFO_PRINTF1(_L("with expected"));
-
-		textPtr2.Copy(aDes);
-		for (index = 0;  index < bufLen2;  index++)
-			{
-			if (textPtr2[index] < 0x20  ||  textPtr2[index] > 0xff)
-				{
-				textPtr2[index] = 0x007f;
-				}
-			}
-		INFO_PRINTF2(_L("%S"), &textPtr2);
-
-		CleanupStack::PopAndDestroy(textBuf2);
-		}
-		
-	TEST(compareResult == 0);
-	if (compareResult != 0)
-		{
-		INFO_PRINTF1(_L("No Match!"));	
-		}
-	else
-		{
-		INFO_PRINTF1(_L("Incoming matches outgoing!"));	
-		}
-	
-	CleanupStack::PopAndDestroy(textBuf);
-	}
-
-void CSMSTestSteps::TestMessageContentsL(CSmsMessage* aSms, const TTestCase& aTestCase)
-/**
- *  Check the sms matches the expected test result
- *  @param aSms has the message to be tested with aTestCase.iMsg
- *  @param aTestCase has information about the used test message, e.g. message data and DCS
- *  @leave Leaves if TSmsClass isn't defined at the pdu
- *  @leave Leaves if class of pdu doesn't match to supposed class (aTestCase.iSmsClass)
- */
-	{
-	TestSmsContentsL(aSms,aTestCase.iMsg);
-	CSmsPDU& pdu = aSms->SmsPDU();
-
-	if (aTestCase.iTestSmsClass)
-		{
-		TSmsDataCodingScheme::TSmsClass smsClass;
-		TBool isDefined = pdu.Class(smsClass);
-		TEST(isDefined);
-		TEST(smsClass == aTestCase.iSmsClass);
-		}
-	if (aTestCase.iTestIndicators)
-		{
-		TEST(pdu.Bits7To4() == aTestCase.iBits7To4);
-		TEST(pdu.IndicationType() == aTestCase.iIndicationType);
-		TEST(pdu.IndicationState() == aTestCase.iIndicationState);
-		}
-
-	}
-
-void CSMSTestSteps::WriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket)
-/**
- *  This method stores SMS messages to the SMS storage.
- *  @param aSms SMS message that will be stored
- *  @param aSocket Used to stream SMS message to the sms stack
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if store request is completed with error code
- */
-	{
-	INFO_PRINTF1(_L("Write message"));
-
-	TRequestStatus status;
-
-	RSmsSocketWriteStream writestream(aSocket);
-	TRAPD(ret,writestream << aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream.CommitL());
-	TEST(ret == KErrNone);
-
-	aSocket.Ioctl(KIoctlWriteSmsMessage,status,NULL,KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("WriteSmsToSimL - returned %d"), status.Int());
-	}
-
-void CSMSTestSteps::WriteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket)
-/**
- *  This method stores SMS messages to the SMS storage.
- *  @param aSms SMS message that will be stored
- *  @param aSocket Used to stream SMS message to the sms stack
- */
-	{
-	TRequestStatus status;
-	RSmsSocketWriteStream writestream(aSocket);
-	writestream << aSms;
-	writestream.CommitL();
-	aSocket.Ioctl(KIoctlWriteSmsMessage,status,NULL, KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("Write SMS message returned %d"), status.Int());
-	if(status.Int() != KErrNone)
-		{
-		User::Leave(status.Int());
-		}
-	}
-
-void CSMSTestSteps::ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages)
-/**
- *  This method retrieves SMS messages from SMS storage and print them out.
- *  @param aSocket Used to stream SMS messages from the socket server
- *  @param aMessages Sms messages will be streamed to this array
- *  @leave Leaves if first request is NOT completed with KErrCancel
- *  @leave Leaves if second request is completed with error code
- *  @leave Leaves if streaming the message from the socket server doesn't succeed
- *  @leave Leaves if nack of reading is completed with error code
- *  @leave Leaves if ack of reading is completed with error code
- */
-	{
-	TRequestStatus status;
-	ReadSmsStoreL(aSocket, aMessages, status);
-	}
-
-void CSMSTestSteps::ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages, TRequestStatus& aStatus)
-/**
- *  This method retrieves SMS messages from SMS storage and print them out.
- *  @param aSocket Used to stream SMS messages from the socket server
- *  @param aMessages Sms messages will be streamed to this array
- *  @param aStatus Status of request to enumerate messages from store
- *  @leave Leaves if first request is NOT completed with KErrCancel
- *  @leave Leaves if second request is completed with error code
- *  @leave Leaves if streaming the message from the socket server doesn't succeed
- *  @leave Leaves if nack of reading is completed with error code
- *  @leave Leaves if ack of reading is completed with error code
- */
-	{
-	INFO_PRINTF1(_L("Enumerating messages"));
-
-	TPckgBuf<TUint> sbuf;
-	sbuf()=0;
-
-	// test cancel first - due to Lubbock problems canceled out
-	aSocket.Ioctl(KIoctlEnumerateSmsMessages,aStatus,&sbuf, KSolSmsProv);
-	aSocket.CancelIoctl();
-	User::WaitForRequest(aStatus);
-	TEST(aStatus.Int()==KErrCancel);
-
-	User::After(2000000);
-	//Now enumerate messages from store
-	aSocket.Ioctl(KIoctlEnumerateSmsMessages,aStatus,&sbuf, KSolSmsProv);
-	User::WaitForRequest(aStatus);
-	TEST(aStatus.Int() == KErrNone);
-	User::After(2000000);
-	
-	//sbuf() includes the count of messages on Store
-	TInt count = sbuf();
-	INFO_PRINTF2(_L("%d enumerated messages"), count);
-
-	RSmsSocketReadStream readstream(aSocket);
-
-	//Read each message from the stream
-	for(TInt i=0; i< count; i++)
-		{
-		CSmsBuffer* buffer=CSmsBuffer::NewL();
-		CSmsMessage* smsmessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsDeliver,buffer);
-		CleanupStack::PushL(smsmessage);
-
-		TRAPD(ret,readstream >> *smsmessage);
-		TEST(ret == KErrNone);
-		aSocket.Ioctl(KIoctlReadMessageFailed, aStatus, NULL, KSolSmsProv);
-		User::WaitForRequest(aStatus);
-		TEST(aStatus.Int() == KErrNone);
-
-		TRAP(ret,readstream >> *smsmessage);
-		TEST(ret == KErrNone);
-		aSocket.Ioctl(KIoctlReadMessageSucceeded, aStatus, NULL, KSolSmsProv);
-		User::WaitForRequest(aStatus);
-		TEST(aStatus.Int() == KErrNone);
-
-		Logger().Write(smsmessage->ToFromAddress());
-		INFO_PRINTF1(_L("     "));
-		Logger().Write(smsmessage->ServiceCenterAddress());
-		INFO_PRINTF1(_L(""));
-
-		if(smsmessage->Storage() == CSmsMessage::ESmsSIMStorage)
-			{
-			INFO_PRINTF1(_L("Store: SIM"));
-			}
-		else if (smsmessage->Storage() == CSmsMessage::ESmsPhoneStorage)
-			{
-			INFO_PRINTF1(_L("Store: Phone"));
-			}
-		else if (smsmessage->Storage() == CSmsMessage::ESmsCombinedStorage)
-			{
-			INFO_PRINTF1(_L("Store: Combined"));
-			}
-		else
-			{
-			INFO_PRINTF1(_L("Store: Unknown"));
-			}
-
-		switch (smsmessage->Status())
-			{
-			case RMobileSmsStore::EStoredMessageUnread:
-				INFO_PRINTF1(_L("Status: Unread"));
-				break;
-
-			case RMobileSmsStore::EStoredMessageRead:
-				INFO_PRINTF1(_L("Status: Read"));
-				break;
-
-			case RMobileSmsStore::EStoredMessageUnsent:
-				INFO_PRINTF1(_L("Status: Unsent"));
-				break;
-
-			case RMobileSmsStore::EStoredMessageSent:
-				INFO_PRINTF1(_L("Status: Sent"));
-				break;
-
-			case RMobileSmsStore::EStoredMessageDelivered:
-				INFO_PRINTF1(_L("Status: Delivered"));
-				break;
-
-			case RMobileSmsStore::EStoredMessageUnknownStatus:
-			default:
-				INFO_PRINTF1(_L("Status: Unknown"));
-				break;
-			}
-
-        PrintMessageL(smsmessage);
-		User::LeaveIfError(aMessages.Append(smsmessage));
-		CleanupStack::Pop(smsmessage);
-		}
-
-	}
-
-
-TInt CSMSTestSteps::DeleteSmsL(const CSmsMessage& aSms, RSocket& aSocket)
-/**
- *  This method deletes SMS message from the SMS storage.
- *  @param aSms SMS message that will be deleted
- *  @param aSocket Used to stream SMS message to the sms stack
- *  @leave Leaves if delete request is completed with error code (except KErrNotFound)
- *  @return TInt :error code
- */
-	{
-	INFO_PRINTF1(_L("Delete message"));
-
-	TRequestStatus status;
-
-	RSmsSocketWriteStream writestream(aSocket);
-	TRAPD(ret,writestream << aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream.CommitL());
-	TEST(ret == KErrNone);
-
-	aSocket.Ioctl(KIoctlDeleteSmsMessage, status, NULL, KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("DeleteSmsL - returned %d"), status.Int());
-
-	if (status.Int()!=KErrArgument)
-		{
-		TEST(status.Int() == KErrNone);
-		}
-
-	return status.Int();
-	}
-
-void CSMSTestSteps::DeleteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket)
-/**
- *  This method deletes SMS message from the SMS storage.
- *  @param aSms SMS message that will be deleted
- *  @param aSocket Used to stream SMS message to the sms stack
- */
-	{
-	TRequestStatus status;
-	RSmsSocketWriteStream writestream(aSocket);
-	writestream << aSms;
-	writestream.CommitL();
-	aSocket.Ioctl(KIoctlDeleteSmsMessage, status, NULL, KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("Delete SMS returned %d"), status.Int());
-	if(status.Int() != KErrNone)
-		{
-		User::Leave(status.Int());
-		}
-	}
-
-void CSMSTestSteps::SetIndicatorL(const TTestCase& aTestCase, CSmsMessage* aSms)
-/**
- *  
- */
-	{
-	TSmsDataCodingScheme::TSmsAlphabet alphabet;
-	if (aTestCase.iBits7To4 == TSmsDataCodingScheme::ESmsDCSMessageWaitingIndicationUCS2)
-		alphabet = TSmsDataCodingScheme::ESmsAlphabetUCS2;
-	else
-		alphabet = TSmsDataCodingScheme::ESmsAlphabet7Bit;
-
-	TSmsUserDataSettings smsSettings;
-	smsSettings.SetAlphabet(alphabet);
-	smsSettings.SetTextCompressed(EFalse);
-	aSms->SetUserDataSettingsL(smsSettings);
-
-	CSmsPDU& pdu = aSms->SmsPDU();
-	pdu.SetBits7To4(aTestCase.iBits7To4);
-	pdu.SetIndicationType(aTestCase.iIndicationType);
-	pdu.SetIndicationState(aTestCase.iIndicationState);
-
-	}
-
-void CSMSTestSteps::FillDes(TDes& aDes,TInt aLength)
-/**
- *  Fill aDes with randomly generated 7bit data
- *  @param aDes will be filled with random data
- *  @param aLength has the length to be set to aDes
- */
-	{
-	TText baseChar='A';
-
-	aDes.SetLength(aLength);
-	for (TInt i=0; i<aLength; i++)
-		{
-		aDes[i]=TText(baseChar + i%26);
-		}
-	}
-
-TInt CSMSTestSteps::MakeReadSmsStoreRequestL(RSocket& aSocket)
-/**
- *  This method retrieves SMS messages from SMS storage.
- *  Main purpose is to test out of memory conditions.
- *  @param aSocket Used to stream SMS messages from the sms stack
- *  @param aMessages reference to CSmsMessage pointer array.
- */
-	{
-	TRequestStatus status;
-	TPckgBuf<TUint> sbuf;
-	sbuf()=0;
-
-	//Now enumerate messages from SIM
-	aSocket.Ioctl(KIoctlEnumerateSmsMessages,status,&sbuf, KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("Read SMS returned %d"), status.Int());
-	if(status.Int() != KErrNone)
-		{
-		User::Leave(status.Int());
-		}
-
-	//sbuf() includes the count of messages on SIM
-	return sbuf();
-	}
-
-TBool CSMSTestSteps::TimedWaitForRecvL(RSocket& aSocket, TUint aDelay)
-/**
- *  Wait for up to the delay for an Sms to be received
- *  @param aSocket The status is return to this socket
- *  @param aDelay Maximum time to wait for receipt
- *  @return ETrue if data received
- *  @leave Leaves if receiving is completed with error code
- */
-	{
-	TRequestStatus timerStatus;
-	RTimer timer;
-	timer.CreateLocal();
-	timer.After(timerStatus, TTimeIntervalMicroSeconds32(aDelay));
-
-	TPckgBuf<TUint> sbuf;
-	sbuf()=KSockSelectRead;
-	TRequestStatus ioctlStatus;
-	aSocket.Ioctl(KIOctlSelect, ioctlStatus, &sbuf, KSOLSocket);
-	User::WaitForRequest(timerStatus, ioctlStatus);
-	TBool retval = EFalse;
-	if(ioctlStatus == KRequestPending)
-		{
-		// if timer elapsed but ESock request is still pending
-		aSocket.CancelIoctl();
-		User::WaitForRequest(ioctlStatus);
-		}
-	else
-		{
-		// ESock request is done. Cancel timer
-		timer.Cancel();
-		User::WaitForRequest(timerStatus);
-		// check ESock error status
-		if(ioctlStatus.Int() == KErrNone)
-			{
-			retval=ETrue;             
-			}
-		}
-	timer.Close();
-	return retval;
-	}
-
-TInt CSMSTestSteps::CancelWriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket, TInt aDelay)
-/**
- *  This method stores SMS messages to the SMS storage.
- *  @param aSms SMS message that will be stored
- *  @param aSocket Used to stream SMS message to the sms stack
- *  @leave Leaves if streaming the message to the socket server doesn't succeed
- *  @leave Leaves if store request is completed with error code
- */
-	{
-	INFO_PRINTF1(_L("Write message"));
-
-	TRequestStatus status;
-
-	RSmsSocketWriteStream writestream(aSocket);
-	TRAPD(ret,writestream << aSms);
-	TEST(ret == KErrNone);
-	TRAP(ret,writestream.CommitL());
-	TEST(ret == KErrNone);
-
-	aSocket.Ioctl(KIoctlWriteSmsMessage,status,NULL, KSolSmsProv);
-	INFO_PRINTF1(_L("Cancel"));
-	User::After(aDelay);
-	aSocket.CancelIoctl();
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("WriteSmsToSimL - returned %d"), status.Int());
-
-	return status.Int();
-	}
-
-TBool CSMSTestSteps::DoSingleTestCaseL( const TDesC8& aSection, TInt aCount )
-	{
-	CTestConfig* configFile = CTestConfig::NewLC(iFs, KGmsSmsConfigFileDir, KConfigFilename);
-
-	TBuf8<64> sectionName(aSection);
-	sectionName.AppendNum(aCount);
-	const CTestConfigSection* section = NULL;
-	TBool found( ETrue );
-
-	if ( ( section = configFile->Section( sectionName ) ) != NULL )
-		{
-		if ( aSection == KTestSendAndRecvMsgsWithDifferentTON )
-			{
-			TInt num( 1 );
-			CArrayFixFlat<TInt>* alphabetArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
-			CleanupStack::PushL(alphabetArray);
-			CArrayFixFlat<TInt>* typeOfNumberArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
-			CleanupStack::PushL(typeOfNumberArray);
-
-			TBuf8<32> itemName( KAlphabet );
-			itemName.AppendNum( num );
-
-			TInt param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-			while ( param != KErrNotFound )
-				{
-				alphabetArray->AppendL(param);
-				itemName = KAlphabet;
-				itemName.AppendNum( ++num );
-				param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-				}
-			num = 1;
-			itemName = KTypeOfNumber;
-			itemName.AppendNum( num );
-
-			param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-			while ( param != KErrNotFound )
-				{
-				typeOfNumberArray->AppendL(param);
-				itemName = KTypeOfNumber;
-				itemName.AppendNum( ++num );
-				param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-				}
-
-			RPointerArray<CSmsPduDbMessage> array;
-			CleanupResetAndDestroyPushL(array);
-			ReadPduL( sectionName, array );
-			TestSendAndRecvMsgsWithDifferentTONL( array, alphabetArray, typeOfNumberArray );
-			CleanupStack::PopAndDestroy(&array);
-			CleanupStack::PopAndDestroy(typeOfNumberArray);
-			CleanupStack::PopAndDestroy(alphabetArray);
-			}
-		else if ( aSection == KTestSendAndReceiveIndicatorMsgs )
-			{
-			TInt num( 1 );
-			CArrayFixFlat<TInt>* indicationTypeArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
-			CleanupStack::PushL(indicationTypeArray);
-			CArrayFixFlat<TInt>* dcsBits7To4Array = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
-			CleanupStack::PushL(dcsBits7To4Array);
-			CArrayFixFlat<TInt>* indicationStateArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
-			CleanupStack::PushL(indicationStateArray);
-
-			TBuf8<32> itemName( KIndicationType );
-			itemName.AppendNum( num );
-
-			TInt param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-			while ( param != KErrNotFound )
-				{
-				indicationTypeArray->AppendL(param);
-				itemName = KIndicationType;
-				itemName.AppendNum( ++num );
-				param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-				}
-			num = 1;
-			itemName = KDCSBits7To4;
-			itemName.AppendNum( num );
-
-			param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-			while ( param != KErrNotFound )
-				{
-				dcsBits7To4Array->AppendL(param);
-				itemName = KDCSBits7To4;
-				itemName.AppendNum( ++num );
-				param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-				}
-			num = 1;
-			itemName = KIndicationState;
-			itemName.AppendNum( num );
-
-			param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-			while ( param != KErrNotFound )
-				{
-				indicationStateArray->AppendL(param);
-				itemName = KIndicationState;
-				itemName.AppendNum( ++num );
-				param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
-				}
-
-			RPointerArray<CSmsPduDbMessage> array;
-			CleanupResetAndDestroyPushL(array);
-			ReadPduL( sectionName, array );
-			TestSendAndReceiveIndicatorMsgsL( array, indicationStateArray, dcsBits7To4Array, indicationTypeArray );
-			CleanupStack::PopAndDestroy(&array);
-			CleanupStack::PopAndDestroy(indicationStateArray);
-			CleanupStack::PopAndDestroy(dcsBits7To4Array);
-			CleanupStack::PopAndDestroy(indicationTypeArray);
-			}
-		else
-			found = EFalse;
-		}
-	else
-		found = EFalse;
-
-    CleanupStack::PopAndDestroy(configFile);//configFile
-	return found;
-	}
-
-void CSMSTestSteps::TestSendAndRecvMsgsWithDifferentTONL( const RPointerArray<CSmsPduDbMessage>& aArray,
-												   const CArrayFixFlat<TInt>* aAlphabetArray,
-												   const CArrayFixFlat<TInt>* aTypeOfNumberArray )
-    {
-    INFO_PRINTF1(_L("Send and receive messages with different type of number"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 39);
-
-	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	TSmsDataCodingScheme::TSmsAlphabet alphabet = ( TSmsDataCodingScheme::TSmsAlphabet )aAlphabetArray->At(0);
-
-	TInt bufLen=aArray[0]->iSmsMessage->Buffer().Length();
-	HBufC* textBuf=HBufC::NewL(bufLen);
-	CleanupStack::PushL(textBuf);
-	TPtr testText(textBuf->Des());
-	aArray[0]->iSmsMessage->Buffer().Extract(testText,0,bufLen);
-
-	CSmsMessage* sendMessage=CreateSmsMessageL(testText,alphabet);
-	CleanupStack::PushL(sendMessage);
-    CSmsSubmit& submitPdu=(CSmsSubmit&)sendMessage->SmsPDU();
-	TGsmSmsTelNumber gsmSmsTelNumber;
-	gsmSmsTelNumber.iTelNumber.Append(iTelephoneNumber);
-	if(gsmSmsTelNumber.iTelNumber.Length() > 0 && gsmSmsTelNumber.iTelNumber[0] == '+')
-	{
-		// Remove "+" sign from telephony number
-		gsmSmsTelNumber.iTelNumber.Delete(0,1);
-		gsmSmsTelNumber.iTelNumber.Trim();
-	}
-
-	for ( TInt i = 0; i < aTypeOfNumberArray->Count(); i++ )
-		{
-
-		gsmSmsTelNumber.iTypeOfAddress.SetTON( ( TGsmSmsTypeOfNumber )aTypeOfNumberArray->At(i) );
-		sendMessage->SetParsedToFromAddressL(gsmSmsTelNumber);
-
-		if ( ( TGsmSmsTypeOfNumber )aTypeOfNumberArray->At(i) == EGsmSmsTONSubscriberNumber )
-			{
-			submitPdu.SetPIDType(TSmsProtocolIdentifier::ESmsPIDShortMessageType);
-			submitPdu.SetShortMessageType(TSmsProtocolIdentifier::ESmsReturnCallMesage);
-			}
-		INFO_PRINTF2(_L("Send SMS message. Type of number is %d"), aTypeOfNumberArray->At(i) );
-		SendSmsL(sendMessage,socket);
-
-		INFO_PRINTF1(_L("Waiting for incoming SMS...") );
-		WaitForRecvL(socket);
-		CSmsMessage* recvMessage = RecvSmsL(socket);
-		delete recvMessage;
-
-		}
-
-	CleanupStack::PopAndDestroy(sendMessage);
-	CleanupStack::PopAndDestroy(textBuf);
-    CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-
-	}
-
-void CSMSTestSteps::TestSendAndReceiveIndicatorMsgsL( const RPointerArray<CSmsPduDbMessage>& aArray,
-											   const CArrayFixFlat<TInt>* aIndicationStateArray,
-											   const CArrayFixFlat<TInt>* aDcsBits7To4Array,
-											   const CArrayFixFlat<TInt>* aIndicationTypeArray )
-/**
- *  @test Send and receive different indicator messages
- *  TODO ESmsDCSMessageWaitingIndicationDiscardMessage test doesn't work with Nokia 6210 because phone
- *  doesn't route incoming message to the MM TSY.
- */
-    {
-
-    INFO_PRINTF1(_L("Send and receive different indicator messages"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 40);
-
-	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
-
-	for ( TInt i = 0; i < aArray.Count(); i++ )
-		{
-
-		TSmsDataCodingScheme::TSmsIndicationState indicationState =
-			( TSmsDataCodingScheme::TSmsIndicationState )aIndicationStateArray->At(i);
-		TSmsDataCodingScheme::TSmsDCSBits7To4 dcsBits7To4Array =
-			( TSmsDataCodingScheme::TSmsDCSBits7To4 )aDcsBits7To4Array->At(i);
-		TSmsDataCodingScheme::TSmsIndicationType indicationType =
-			( TSmsDataCodingScheme::TSmsIndicationType )aIndicationTypeArray->At(i);
-
-		TInt bufLen=aArray[i]->iSmsMessage->Buffer().Length();
-		HBufC* textBuf=HBufC::NewL(bufLen);
-		CleanupStack::PushL(textBuf);
-		TPtr testText(textBuf->Des());
-		aArray[i]->iSmsMessage->Buffer().Extract(testText,0,bufLen);
-
-		TTestCase msg(testText, indicationType, dcsBits7To4Array, indicationState );
-
-		SendAndRecvTestMessageL(msg,socket);
-
-		CleanupStack::PopAndDestroy(textBuf);
-		}
-
-    CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-    }
-
-void CSMSTestSteps::ReadPduL( TBuf8<64> aSectionName, RPointerArray<CSmsPduDbMessage>& aArray )
-	{
-	CSmsPduDatabase* db = CSmsPduDatabase::NewL(iFs, aSectionName, KConfigFilename, KConfigFileDir);
-	CleanupStack::PushL(db);
-
-	db->GetMessageL(aArray, CSmsPDU::ESmsSubmit);
-
-	CleanupStack::PopAndDestroy(db);
-	}
-
-
-CSmsMessage* CSMSTestSteps::CreateSmsMessageLC(CSmsPDU::TSmsPDUType aType, CSmsBuffer* aBuffer, const TDesC& aAddress)
-	{
-	CSmsMessage* msg = CSmsMessage::NewL(iFs, aType, aBuffer);
-	CleanupStack::PushL(msg);
-
-	if (aAddress.Length() != 0)
-		{
-		msg->SetToFromAddressL(aAddress);
-		}
-
-	return msg;
-	}
-
-
-void CSMSTestSteps::WriteToSIML(RSocket& aSocket, const CSmsMessage& aMsg)
-	{
-	TRequestStatus status;
-
-	RSmsSocketWriteStream writestream(aSocket);
-	writestream << aMsg;
-	writestream.CommitL();
-
-	aSocket.Ioctl(KIoctlWriteSmsMessage,status,NULL, KSolSmsProv);
-	User::WaitForRequest(status);
-	INFO_PRINTF2(_L("Write Sms - returned %d"), status.Int());
-	if (status.Int() != KErrNone)
-		{
-		INFO_PRINTF1(_L("Test has not written message to SIM successfully"));
-		}
-	TEST(status.Int() == KErrNone);
-	}
-
-
-/*
-These functions were grabbed from SMSStackTestUtils.dll
-*/
-void CSMSTestSteps::OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddrFamily aFamily)
-/**
- *  Initialise an RSocket for SMS, aSocket is NOT pushed to CleanupStack.
- *  @param aSocketServer reference to the socket server object
- *  @param aSocket The socket that will be opened
- *  @param aFamily The sms address family
- */
-	{
-	TSmsAddr smsaddr;
-	smsaddr.SetSmsAddrFamily(aFamily);
-	OpenSmsSocketL(aSocketServer, aSocket, smsaddr);
-	}
-
-void CSMSTestSteps::OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddr& aSmsAddr)
-/*
- *  Initialise an RSocket for SMS, aSocket is NOT pushed to CleanupStack.
- *  @param aSocketServer reference to the socket server object
- *  @param aSocket The socket that will be opened
- *  @param aSmsAddr The sms address to bind to
- */
-	{
-	TInt ret=aSocket.Open(aSocketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
-	TEST(ret==KErrNone);
-	CleanupClosePushL(aSocket);
-	ret=aSocket.Bind(aSmsAddr);
-	TEST(ret==KErrNone);
-	CleanupStack::Pop(&aSocket);
-	}
-
-/*
-	Utility for creating a SMS message from test data (ini) file
-*/
-CSmsMessage* CSMSTestSteps::CreateSMSL()
-{
-	INFO_PRINTF1(_L("Creating SMS...") );
-	
-	TInt codingScheme;
-	GetIntFromConfig(ConfigSection(), _L("messageCoding"), codingScheme);
-	
-	TCodingScheme dataCodingScheme = (TCodingScheme)codingScheme;	
-	
-	TSmsDataCodingScheme::TSmsAlphabet alphabet;
-	if (dataCodingScheme == ESevenBit)
-		{	
-		//8 bit coding scheme
-		alphabet = TSmsDataCodingScheme::ESmsAlphabet7Bit;
-		}
-
-	else 
-		{
-		alphabet = TSmsDataCodingScheme::ESmsAlphabet8Bit;
-		}		
-	
-	TPtrC messageText;
-	GetStringFromConfig(ConfigSection(), _L("message"), messageText);
-	CSmsMessage *iSms = CreateSmsMessageL(messageText,alphabet);
-	
-	INFO_PRINTF1(_L("SMS created") );
-	PrintMessageL(iSms);
-	
-	return iSms;
-
-}
-
-/**
- * Sets high and low limits in .RSC file and then reserves disk space to match requested levels.
- * 
- * Checks the current free space and then sets the high and low marks
- * to be aHighDrop MB and aLowDrop MB below the current free space 
- * level.
- * 
- * Then diskspace is reserved to aFreeDrop MB below the current free
- * space level.
- * 
- * If the current free space level is greater then aMax then the 
- * current free space level is set to aMax
- * 
- * If the current free space level is less than aLowDrop MB then this
- * method leaves with KErrArgument.
- * 
- * @param   aHighDrop   The number of MB below the current free space level for the high level mark (in the .RSC file)
- * @param   aLowDrop    The number of MB below the current free space level for the low level mark (in the .RSC file)  
- * @param   aFreeDrop   The number of MB below the current free space level to set the free space to ;
- *                      if aFreeDrop == 0, then SetFreeDiskSpaceL() is not called
- * @param   aMax        The maximum level for the high limit allowed
- * 
- * @return  The max current free space level used.
- * 
- * @leave   KErrArgument if the current free diskspace level is less than aLowDrop MB
- * @leave   KErrArgument if aMax is not greater than aLowDrop MB
- * @leave   KErrArgument if aHighDrop >= aLowDrop  
- */
-TUint64 CSMSTestSteps::SetHighLowLimitsAndDiskSpaceLevelL(TUint aHighDrop, TUint aLowDrop, TUint aFreeDrop, TUint64 aMax/*=0x7fffffff*/)
-    {
-    INFO_PRINTF5(_L("Setting High-Low limits and Diskspace levels [aHighDrop=%u, aLowDrop=%u, aFreeDrop=%u, aMax=%ld]"), 
-            aHighDrop, aLowDrop, aFreeDrop, aMax);
-    
-    __ASSERT_ALWAYS( (aMax > (aLowDrop*1024*1024)), User::Leave(KErrArgument));
-    __ASSERT_ALWAYS( (aLowDrop > aHighDrop), User::Leave(KErrArgument));
-    
-    ReleaseDiskSpaceL();
-   
-    TVolumeInfo  volumeInfo;
-    User::LeaveIfError(iFs.Volume(volumeInfo, EDriveC));
-    INFO_PRINTF2(_L("  Drive C currently has %ld bytes free."), volumeInfo.iFree);
-    
-    TUint64 current = volumeInfo.iFree;
-    if( current < (aLowDrop*1024*1024) )
-        {
-        INFO_PRINTF1(_L("  Drive C already has too little free space!"));
-        User::Leave(KErrArgument);
-        }
-    if( current > aMax )
-        {
-        current = aMax;
-        }
-    TUint64 high = current - (aHighDrop*1024*1024);
-    TUint64 low  = current - (aLowDrop*1024*1024);    
-        
-    SetLowHighLimitsInSmsuRscL(low, high);
-
-    if( aFreeDrop > 0 )
-        {       
-        TUint64 free = current - (aFreeDrop*1024*1024);    
-        SetFreeDiskSpaceL(free);       
-        }
-    
-    return current;
-    }
-
-void CSMSTestSteps::SetFreeDiskSpaceFromDropLevelL(TUint aFreeDrop)
-    {
-    if( aFreeDrop == 0)
-        {
-        return;
-        }
-    
-    TVolumeInfo  volumeInfo;
-    User::LeaveIfError(iFs.Volume(volumeInfo, EDriveC));
-    TUint64 current = volumeInfo.iFree;
-    if( current > 0x7fffffff )
-        {
-        current = 0x7fffffff;
-        }         
-    TUint64 free = current - (aFreeDrop*1024*1024);
-    SetFreeDiskSpaceL(free);   
-    }
-
-/**
- *  Reserves disk space so that a specified amount of free disk space is
- *  available.
- *
- *  @param aNewFreeValue  Amount of free space required.
- */
-void CSMSTestSteps::SetFreeDiskSpaceL(TInt64 aNewFreeValue)
-    {
-    
-#ifndef _DEBUG
-    ERR_PRINTF1(_L("Unexpected call: CSMSTestSteps::SetFreeDiskSpaceL() is expected to be called only in DEBUG mode."));
-    User::Leave(KErrNotSupported);
-#else
- 
-    INFO_PRINTF2(_L("Setting Drive C free disk space to %ld bytes."), aNewFreeValue);    
-    
-    __ASSERT_DEBUG( (aNewFreeValue <= 0x7fffffff), User::Leave(KErrArgument));
-
-    TInt err = RProperty::Set(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, (TInt)aNewFreeValue);
-    if (err != KErrNone)
-        {
-        ERR_PRINTF2(_L("RProperty::Set() failure [err=%d]"), err);
-        User::Leave(err);
-        }
-#endif           
-    } // CSMSTestSteps::SetFreeDiskSpaceL
-
-/**
- *  Release all reserved disk space.
- */
-void CSMSTestSteps::ReleaseDiskSpaceL()
-	{
-	
-#ifndef _DEBUG
-    ERR_PRINTF1(_L("Unexpected call: CSMSTestSteps::ReleaseDiskSpaceL() is expected to be called only in DEBUG mode."));
-    User::Leave(KErrNotSupported);
-#else
-
-    INFO_PRINTF1(_L("CSMSTestSteps::ReleaseDiskSpaceL()"));
-    
-    TVolumeInfo  volumeInfo;
-    User::LeaveIfError(iFs.Volume(volumeInfo, EDriveC));
-    TUint64 current = volumeInfo.iFree;
-    if( current > 0x7fffffff )
-        {
-        current = 0x7fffffff;
-        }         
-    
-    SetFreeDiskSpaceL(current);
-#endif    
-	} // CSMSTestSteps::ReleaseDiskSpaceL
-
-
- /**
-  *  Set high and low limits in .RSC file. When the SMS Stack starts the limits
-  *  will be loaded as if set by the licensee.
-  *
-  *  @param aLowLimit   Low limit value.
-  *  @param aHighLimit  High limit value.
-  *
-  *  @note Only works in debug mode for security reasons.
-  */ 
-void CSMSTestSteps::SetLowHighLimitsInSmsuRscL(TInt64 aLowLimit, TInt64 aHighLimit)
-	{
-	INFO_PRINTF3(_L("Setting high and low .RSC limits to %ld and %ld."),
-				 aHighLimit, aLowLimit);
-
-	__ASSERT_ALWAYS(aLowLimit  < 0x7fffffff, User::Leave(KErrArgument));
-	__ASSERT_ALWAYS(aHighLimit < 0x7fffffff, User::Leave(KErrArgument));
-	__ASSERT_ALWAYS(aLowLimit  < aHighLimit, User::Leave(KErrArgument));
-
-	//
-	// Data for the SMSU resource file. The low limit is written at position
-	// 20 and the high limit at position 24.
-	//
-	const TInt  smsuRscSize = 34;
-	TChar  smsuRscData[smsuRscSize] =
-				{0x6b, 0x4a, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00,
-   	 			 0x00, 0x00, 0x00, 0x00, 0x19, 0xfd, 0x48, 0xe8,
-				 0x01, 0x04, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12,
-				 0x87, 0x65, 0x43, 0x21, 0x14, 0x00, 0x18, 0x00, 
-   		 		 0x1c, 0x00};
-    						  
-	smsuRscData[20] = (aLowLimit  >>  0) & 0xff;
-	smsuRscData[21] = (aLowLimit  >>  8) & 0xff;
-	smsuRscData[22] = (aLowLimit  >> 16) & 0xff;
-	smsuRscData[23] = (aLowLimit  >> 24) & 0xff;
-	smsuRscData[24] = (aHighLimit >>  0) & 0xff;
-	smsuRscData[25] = (aHighLimit >>  8) & 0xff;
-	smsuRscData[26] = (aHighLimit >> 16) & 0xff;
-	smsuRscData[27] = (aHighLimit >> 24) & 0xff;
-
-	TBuf8<smsuRscSize>  smsuRscBuffer;
-
-	for (TInt index = 0;  index < smsuRscSize;  index++)
-		{
-		smsuRscBuffer.Append(smsuRscData[index]);
-		}
-
-	//
-	// Ensure the target directory exists...
-	//
-	TInt  ret;
-	
-	ret = iFs.MkDir(KSMSUResourceDir);
-	if (ret != KErrNone  &&  ret != KErrAlreadyExists)
-		{
-		User::Leave(ret);
-		}
-
-	//
-	// Write the RSC file to the private C:\ directory...
-	//
-	RFile  file;
-
-	User::LeaveIfError(file.Replace(iFs, KSMSUResourceFile, EFileWrite));
-	CleanupClosePushL(file);
-	User::LeaveIfError(file.Write(smsuRscSize, smsuRscBuffer));
-	CleanupStack::PopAndDestroy(&file);
-	} // CSMSTestSteps::SetLowHighLimitsInSmsuRscL
-
-
-/**
- *  Removes the low and high limits and returns the SMSU.RSC to defauls.
- */
-void CSMSTestSteps::RemoveLowHighLimitsFromSmsuRscL()
-	{
-	INFO_PRINTF1(_L("Removing .RSC limits."));
-
-	//
-	// Remove the RSC file...
-	//
-	TInt  ret;
-	
-	ret = iFs.Delete(KSMSUResourceFile);
-	if (ret != KErrNone  &&  ret != KErrNotFound)
-		{
-		User::Leave(ret);
-		}
-	} // CSMSTestSteps::RemoveLowHighLimitsFromSmsuRscL
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SmsTestSteps.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_SmsTestSteps.h	Fri Apr 16 16:12:37 2010 +0300
@@ -17,143 +17,154 @@
  @file
 */
  
-#ifndef __TE_SMS_TEST_STEPS_H__
-#define __TE_SMS_TEST_STEPS_H__
- 
-#include "TE_smsprtbase.h"
+#ifndef TE_SMSTESTSTEPS_H
+#define TE_SMSTESTSTEPS_H
+
+#include <Gsmumsg.h>
+#include <gsmubuf.h>
+
+#include "smsstackbaseteststeps.h"
 
 /**
   Test Step to Load SMS Protocol
 */
-class CLoadSMSProtocol : public CSMSTestSteps
+class CLoadSMSProtocol : public CSmsBaseTestStep
 {
 public:
 	CLoadSMSProtocol(RSocketServ &aSocketServer);
 	
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
-
+	virtual TVerdict doTestStepL();
+    
+public: 
+    RSocketServ* iSharedSocketServer;   
 };
 
 /**
   Test Step to receive a SMS message
 */
-class CReceiveSMS : public CSMSTestSteps
+class CReceiveSMS : public CSmsBaseTestStep
 	{
 public:
 	CReceiveSMS(RSocketServ &aSocketServer);
 
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
+    
+public: 
+    RSocketServ* iSharedSocketServer;   
 	};
 
 /**
   Test Step to send a SMS message
 */
-class CSendSMS : public CSMSTestSteps
+class CSendSMS : public CSmsBaseTestStep
 {
 public:
 	CSendSMS(RSocketServ &aSocketServer);
 
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
+    
+public: 
+    RSocketServ* iSharedSocketServer;   
 };
 
 /**
   Close the socket and the socket server session
 */
-class CCloseSMSProtocol : public CSMSTestSteps
+class CCloseSMSProtocol : public CSmsBaseTestStep
 {
 public:
 	CCloseSMSProtocol(RSocketServ &aSocketServer);
 
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
+    
+public: 
+    RSocketServ* iSharedSocketServer;   
 };
 
 
 /**
   Delete segmentation and reasembly stores
 */
-class CDeleteSARStores : public CSMSTestSteps
+class CDeleteSARStores : public CSmsBaseTestStep
 {
 public:
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+    CDeleteSARStores();
+	virtual TVerdict doTestStepL();
 };
 
 /**
   Forwards system time by x number of minutes
 */
-class CForwardSystemTime : public CSMSTestSteps
+class CForwardSystemTime : public CSmsBaseTestStep
 {
 public:
+    CForwardSystemTime();
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
 };
 
 /**
   Tests receive of SMS message while SMSStack Out of Memory (OOM)
 */
-class CSendReceiveSMSWhileServerInOOM : public CSMSTestSteps
+class CSendReceiveSMSWhileServerInOOM : public CSmsBaseTestStep
 {
 public:
 	CSendReceiveSMSWhileServerInOOM(RSocketServ &aSocketServer);
 
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
+    
+public: 
+    RSocketServ* iSharedSocketServer;   
 };
 
 /**
   Compares the text contents of a SMS message with some text
 */
-class CCompareSMS : public CSMSTestSteps
+class CCompareSMS : public CSmsBaseTestStep
 {
 public:
 	CCompareSMS(CSmsMessage &aSmsMessage);
 	
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
 };
 
 
 /**
   Checks if the Class0 Stores have been enabled
 */
-class CClass0StoreEnabled : public CSMSTestSteps
+class CClass0StoreEnabled : public CSmsBaseTestStep
 {
 public:
 	CClass0StoreEnabled(RSocketServ &aSocketServer);
 
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
+	
+public:	
+    RSocketServ* iSharedSocketServer;   
 };
 
 /**
   Test for Enumeration in an OOD Condition 
 */
-class CEnumerateInOODCondition : public CSMSTestSteps
+class CEnumerateInOODCondition : public CSmsBaseTestStep
 {
 public:
 	CEnumerateInOODCondition(RSocketServ &aSocketServer);
 
 	//From CTestStep
-	virtual enum TVerdict doTestStepL();
-};
-
-/**
-  Test Esock for any memory leaks
-*/
-class CESockMemoryLeakTest : public CSMSTestSteps
-{
-public:
-	//From CTestStep
-	virtual enum TVerdict doTestStepL();
+	virtual TVerdict doTestStepL();
+    
+public: 
+    RSocketServ* iSharedSocketServer;   
 };
 
 
-
-#endif
-
-
-
+#endif // TE_SMSTESTSTEPS_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportScheme.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportScheme.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -18,89 +18,52 @@
 */
 
 #include "Te_StatusReportScheme.h"
+
 #include <gsmuelem.h>
 
-CTestStatusReportScheme::CTestStatusReportScheme()
-{
-
-}
+CSmsStatusReportSchemeTestStep::CSmsStatusReportSchemeTestStep()
+    {
 
-CTestStatusReportScheme::~CTestStatusReportScheme()
-{
-
-}
+    }
 
-TVerdict CTestStatusReportScheme::doTestStepPreambleL()
-{
-	//Call base class preamble
-	CSmsPrtTestStep::doTestStepPreambleL();
+CSmsStatusReportSchemeTestStep::~CSmsStatusReportSchemeTestStep()
+    {
 
-	// delete segmentation and reassembly store files before the test
-	_LIT(KReassemblyStoreName,"C:\\Private\\101F7989\\sms\\smsreast.dat");
-	_LIT(KSegmentationStoreName,"C:\\Private\\101F7989\\sms\\smssegst.dat");
-	_LIT(KWapReassemblyStoreName,"C:\\Private\\101F7989\\sms\\wapreast.dat");
+    }
 
-	iFs.Delete(KWapReassemblyStoreName);
-	iFs.Delete(KReassemblyStoreName);
-	iFs.Delete(KSegmentationStoreName);
+TVerdict CSmsStatusReportSchemeTestStep::doTestStepPreambleL()
+    {
+    //Call base class preamble
+    CSmsBaseTestStep::doTestStepPreambleL();
 
-	SetTestNumberL();
-	OpenSocketServerL();
-	SetCodingScheme();
-	GetNumberOfPDUs();
-	
-	return TestStepResult() ;
-}
+    iSmsStackTestUtils->OpenSmsSocketL(iSocketServer,iSocket,ESmsAddrRecvAny);
 
-TVerdict CTestStatusReportScheme::doTestStepPostambleL()
-{
-	iSocket.Close();
-	iSocketServer.Close();
-	
-	//Call base class postamble
-	CSmsPrtTestStep::doTestStepPostambleL();
-	
-	return TestStepResult() ;
-}
+    SetCodingScheme();
+    GetNumberOfPDUs();
 
-void CTestStatusReportScheme::SetTestNumberL()
-{
-	TInt testNumber;
-	GetIntFromConfig(ConfigSection(), _L("testNumber"), testNumber);
+    return TestStepResult() ;
+    }
 
-	RProperty testNumberProperty;
-	User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
-	CleanupClosePushL(testNumberProperty);
+TVerdict CSmsStatusReportSchemeTestStep::doTestStepPostambleL()
+    {
+    iSocket.Close();
 
-	TRequestStatus status;
-	testNumberProperty.Subscribe(status);
-	INFO_PRINTF1(_L("Setting Sim.Tsy test number P&S property"));
-	User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,testNumber));
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
-	TInt testNumberCheck;
-	User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
-	if (testNumber != testNumberCheck)
-		{
-	    INFO_PRINTF3(_L("Test number property set to [%d], but value returned is [%d]"),testNumber,testNumberCheck);
-		User::Leave(KErrNotFound);
-		}
+    CSmsBaseTestStep::doTestStepPostambleL();
 
-	CleanupStack::PopAndDestroy(&testNumberProperty);
-}
+    return TestStepResult() ;
+    }
 
-void CTestStatusReportScheme::OpenSocketServerL()
+void CSmsStatusReportSchemeTestStep::OpenSocketServerL()
 	{
 	INFO_PRINTF1(_L("Connecting to SocketServer ..."));
 	TInt ret=iSocketServer.Connect(KSocketMessageSlots);
 	TEST(ret == KErrNone);
 
-	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,iSocket,ESmsAddrRecvAny);
-	CleanupStack::Pop(); // Pop off iSocket which is a member variable!
+	iSmsStackTestUtils->OpenSmsSocketL(iSocketServer,iSocket,ESmsAddrRecvAny);
 	}
 
 
-void CTestStatusReportScheme::CreateSmsL(TCodingScheme aCodingScheme ,TPtrC aConfigSectionEntry)
+void CSmsStatusReportSchemeTestStep::CreateSmsL(TCodingScheme aCodingScheme ,TPtrC aConfigSectionEntry)
 	{
 	TSmsDataCodingScheme::TSmsAlphabet alphabet;
 
@@ -119,154 +82,149 @@
 	GetStringFromConfig(ConfigSection(), aConfigSectionEntry, messageText);
 
 	iSmsMessage=CreateSmsMessageL(messageText,alphabet);
-	} // CTestStatusReportScheme::CreateSmsL
-
+	} 
 
-void CTestStatusReportScheme::TriggerReceiveL()
-{
-	CreateSmsL(EEightBit,_L("trigger"));
-	SendSmsMessageL();
-}
+void CSmsStatusReportSchemeTestStep::TriggerReceiveL()
+    {
+    CreateSmsL(EEightBit,_L("trigger"));
+    SendSmsMessageL();
+    }
+
+void CSmsStatusReportSchemeTestStep::SendSmsMessageL()
+    {
+    SendSmsL(iSmsMessage,iSocket);
+    }
 
-void CTestStatusReportScheme::SendSmsMessageL()
-{
-	SendSmsL(iSmsMessage,iSocket);
-}
+void CSmsStatusReportSchemeTestStep::SetCodingScheme()
+    {
+    TInt codingScheme;
+    GetIntFromConfig(ConfigSection(), _L("messageCoding"), codingScheme);
+    iDataCodingScheme = (TCodingScheme)codingScheme;	
 
-void CTestStatusReportScheme::SetCodingScheme()
-{
-	TInt codingScheme;
-	GetIntFromConfig(ConfigSection(), _L("messageCoding"), codingScheme);
-	iDataCodingScheme = (TCodingScheme)codingScheme;	
+    }
 
-}
-
-void CTestStatusReportScheme::GetNumberOfPDUs()
-{
-	GetIntFromConfig(ConfigSection(), _L("numberOfPDUs"), iNumberOfPDUs);
-}
+void CSmsStatusReportSchemeTestStep::GetNumberOfPDUs()
+    {
+    GetIntFromConfig(ConfigSection(), _L("numberOfPDUs"), iNumberOfPDUs);
+    }
 
 /**
 Sets the TP-SRR bit in every PDU
-*/
-void CTestStatusReportScheme::SetAllTPSRRsL()
-{	
-	CSmsTPSRROperations& TPSRROperations = static_cast<CSmsTPSRROperations&>(iSmsMessage->GetOperationsForNonIEL(ESmsTPSRRParameter));
-	TPSRROperations.SetSchemeL();
+ */
+void CSmsStatusReportSchemeTestStep::SetAllTPSRRsL()
+    {	
+    CSmsTPSRROperations& TPSRROperations = static_cast<CSmsTPSRROperations&>(iSmsMessage->GetOperationsForNonIEL(ESmsTPSRRParameter));
+    TPSRROperations.SetSchemeL();
 
-	//Set TPSRR for all PDUs
-	for(TInt i=0; i< iNumberOfPDUs; i++)
-	{
-		TPSRROperations.SetSegmentStatusReportL(i,ETrue);
-	}
-	
-}
+    //Set TPSRR for all PDUs
+    for(TInt i=0; i< iNumberOfPDUs; ++i)
+        {
+        TPSRROperations.SetSegmentStatusReportL(i,ETrue);
+        }
+    }
 
 /**
 Set TPSRR bit for the last segment of message
 */
-void CTestStatusReportScheme::SetLastTPSRRL()
-{
-	CSmsTPSRROperations& TPSRROperations = static_cast<CSmsTPSRROperations&>(iSmsMessage->GetOperationsForNonIEL(ESmsTPSRRParameter));
-	TPSRROperations.SetSchemeL();
-	TPSRROperations.SetLastSegmentStatusReportL(ETrue);	
-}
+void CSmsStatusReportSchemeTestStep::SetLastTPSRRL()
+    {
+    CSmsTPSRROperations& TPSRROperations = static_cast<CSmsTPSRROperations&>(iSmsMessage->GetOperationsForNonIEL(ESmsTPSRRParameter));
+    TPSRROperations.SetSchemeL();
+    TPSRROperations.SetLastSegmentStatusReportL(ETrue);	
+    }
 
 /**
 Set TPSRR bit for some segments
 */
-void CTestStatusReportScheme::SetSomeTPSRRL(TInt aFirstIndex, TInt aSecondIndex, TInt aThirdIndex)
-{
-	CSmsTPSRROperations& TPSRROperations = static_cast<CSmsTPSRROperations&>(iSmsMessage->GetOperationsForNonIEL(ESmsTPSRRParameter));
-	TPSRROperations.SetSchemeL();
-	
-	if(aFirstIndex)
-	{
-		TPSRROperations.SetSegmentStatusReportL(0,ETrue);		
-	}
-	else
-	{
-		TPSRROperations.SetSegmentStatusReportL(0,EFalse);	
-	}
-		
-	if(aSecondIndex)
-	{
-		TPSRROperations.SetSegmentStatusReportL(1,ETrue);	
-	}
-	else
-	{
-		TPSRROperations.SetSegmentStatusReportL(1,EFalse);	
-	}
-	if(aThirdIndex)
-	{
-		TPSRROperations.SetSegmentStatusReportL(2,ETrue);	
-	}
-	else
-	{
-		TPSRROperations.SetSegmentStatusReportL(2,EFalse);	
-	}
-	
-}
+void CSmsStatusReportSchemeTestStep::SetSomeTPSRRL(TInt aFirstIndex, TInt aSecondIndex, TInt aThirdIndex)
+    {
+    CSmsTPSRROperations& TPSRROperations = static_cast<CSmsTPSRROperations&>(iSmsMessage->GetOperationsForNonIEL(ESmsTPSRRParameter));
+    TPSRROperations.SetSchemeL();
+
+    if(aFirstIndex)
+        {
+        TPSRROperations.SetSegmentStatusReportL(0,ETrue);		
+        }
+    else
+        {
+        TPSRROperations.SetSegmentStatusReportL(0,EFalse);	
+        }
+
+    if(aSecondIndex)
+        {
+        TPSRROperations.SetSegmentStatusReportL(1,ETrue);	
+        }
+    else
+        {
+        TPSRROperations.SetSegmentStatusReportL(1,EFalse);	
+        }
+    if(aThirdIndex)
+        {
+        TPSRROperations.SetSegmentStatusReportL(2,ETrue);	
+        }
+    else
+        {
+        TPSRROperations.SetSegmentStatusReportL(2,EFalse);	
+        }
+
+    }
 
 /**
 Set the last segment SMSC value to 0x01
 */
-void CTestStatusReportScheme::SetLastSMSCL()
-{
-	CSmsSMSCCtrlParameterOperations& SMSCOperations = static_cast<CSmsSMSCCtrlParameterOperations&>(iSmsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsIEISMSCControlParameters));
-	SMSCOperations.SetSchemeL();
-	SMSCOperations.SetStatusReportL(iNumberOfPDUs-1, 0x01);	
-}
+void CSmsStatusReportSchemeTestStep::SetLastSMSCL()
+    {
+    CSmsSMSCCtrlParameterOperations& SMSCOperations = static_cast<CSmsSMSCCtrlParameterOperations&>(iSmsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsIEISMSCControlParameters));
+    SMSCOperations.SetSchemeL();
+    SMSCOperations.SetStatusReportL(iNumberOfPDUs-1, 0x01);	
+    }
 
 /**
 Set all segments SMSC value to 0x01
 */
-void CTestStatusReportScheme::SetAllSMSCL()
-{
-	CSmsSMSCCtrlParameterOperations& SMSCOperations = static_cast<CSmsSMSCCtrlParameterOperations&>(iSmsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsIEISMSCControlParameters));
-	SMSCOperations.SetSchemeL();
-	
-	for(TInt i = 0; i < iNumberOfPDUs; i++)
-	{
-		SMSCOperations.SetStatusReportL(i, 0x01);		
-	}
-	
-}
+void CSmsStatusReportSchemeTestStep::SetAllSMSCL()
+    {
+    CSmsSMSCCtrlParameterOperations& SMSCOperations = static_cast<CSmsSMSCCtrlParameterOperations&>(iSmsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsIEISMSCControlParameters));
+    SMSCOperations.SetSchemeL();
 
+    for(TInt i = 0; i < iNumberOfPDUs; ++i)
+        {
+        SMSCOperations.SetStatusReportL(i, 0x01);		
+        }
+    }
 
 /**
 Set SMSC bit for some segments
 */
-void CTestStatusReportScheme::SetSomeSMSCL(TInt aFirstIndex, TInt aSecondIndex, TInt aThirdIndex)
-{
-	CSmsSMSCCtrlParameterOperations& SMSCOperations = static_cast<CSmsSMSCCtrlParameterOperations&>(iSmsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsIEISMSCControlParameters));
-	SMSCOperations.SetSchemeL();
-	
-	if(aFirstIndex)
-	{
-		SMSCOperations.SetStatusReportL(0,0x01);		
-	}
-	else
-	{
-		SMSCOperations.SetStatusReportL(0,0x00);	
-	}
-		
-	if(aSecondIndex)
-	{
-		SMSCOperations.SetStatusReportL(1,0x01);	
-	}
-	else
-	{
-		SMSCOperations.SetStatusReportL(1,0x00);	
-	}
-	if(aThirdIndex)
-	{
-		SMSCOperations.SetStatusReportL(2,0x01);	
-	}
-	else
-	{
-		SMSCOperations.SetStatusReportL(2,0x00);	
-	}
-	
-}
+void CSmsStatusReportSchemeTestStep::SetSomeSMSCL(TInt aFirstIndex, TInt aSecondIndex, TInt aThirdIndex)
+    {
+    CSmsSMSCCtrlParameterOperations& SMSCOperations = static_cast<CSmsSMSCCtrlParameterOperations&>(iSmsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsIEISMSCControlParameters));
+    SMSCOperations.SetSchemeL();
+
+    if(aFirstIndex)
+        {
+        SMSCOperations.SetStatusReportL(0,0x01);		
+        }
+    else
+        {
+        SMSCOperations.SetStatusReportL(0,0x00);	
+        }
 
+    if(aSecondIndex)
+        {
+        SMSCOperations.SetStatusReportL(1,0x01);	
+        }
+    else
+        {
+        SMSCOperations.SetStatusReportL(1,0x00);	
+        }
+    
+    if(aThirdIndex)
+        {
+        SMSCOperations.SetStatusReportL(2,0x01);	
+        }
+    else
+        {
+        SMSCOperations.SetStatusReportL(2,0x00);	
+        }
+    }
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportScheme.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportScheme.h	Fri Apr 16 16:12:37 2010 +0300
@@ -14,63 +14,54 @@
 //
 
 
-#ifndef __TE_STATUS_REPORT_SCHEME_H__
-#define __TE_STATUS_REPORT_SCHEME_H__
+#ifndef TE_STATUSREPORTSCHEME_H
+#define TE_STATUSREPORTSCHEME_H
 
+#include "smsstackbaseteststeps.h"
+#include "smsstacktestutilities.h"
+#include "smsstacktestconsts.h"
 
 #include "gsmuieoperations.h"
 #include "gsmunonieoperations.h"
-#include "TE_smsprt.h"
 
 /**
   Base class housing common functionality used by all test steps exercising 
   status report functionality
 */
-class CTestStatusReportScheme : public CSmsPrtTestStep
-{
+class CSmsStatusReportSchemeTestStep : public CSmsBaseTestStep
+    {
 public:
-	enum TCodingScheme{ESevenBit=7, EEightBit};
+    virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPostambleL();
 
-	CTestStatusReportScheme();
-	~CTestStatusReportScheme();
-	
-	//Utilites
-	void CreateSmsL(TCodingScheme, TPtrC);
-	void SendSmsMessageL();
-	void TriggerReceiveL();
-	void GetNumberOfPDUs();
+    CSmsStatusReportSchemeTestStep();
+    ~CSmsStatusReportSchemeTestStep();
 
-	//TPSRR
-	void SetAllTPSRRsL();
-	void SetLastTPSRRL();
-	void SetSomeTPSRRL(TInt, TInt, TInt);
-	
-	//SMS
-	void SetAllSMSCL();
-	void SetLastSMSCL();
-	void SetSomeSMSCL(TInt, TInt, TInt);
-		
-	//TEF framework	
-	//virtual TVerdict doTestStepL();
- 	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();
+    //Utilites - legacy methods, will be replaced by ones from the base class
+    void CreateSmsL(TCodingScheme, TPtrC);
+    void SendSmsMessageL();
+    void TriggerReceiveL();
+    void GetNumberOfPDUs();
+
+    //TPSRR
+    void SetAllTPSRRsL();
+    void SetLastTPSRRL();
+    void SetSomeTPSRRL(TInt, TInt, TInt);
+
+    //SMS
+    void SetAllSMSCL();
+    void SetLastSMSCL();
+    void SetSomeSMSCL(TInt, TInt, TInt);
 
 protected:
-	TCodingScheme iDataCodingScheme;
-	CSmsMessage* iSmsMessage;
-	TInt iNumberOfPDUs;
-	
-private:
-	void SetTestNumberL();
-	void OpenSocketServerL();
-	void SetCodingScheme();
+    RSocket iSocket;
+    TCodingScheme iDataCodingScheme;
+    CSmsMessage* iSmsMessage;
+    TInt iNumberOfPDUs;
 
-protected:
-	RSocketServ iSocketServer;
-	RSocket iSocket;
-};
+private:
+    void OpenSocketServerL();
+    void SetCodingScheme();
+    };
 
-#endif
-
-
-
+#endif // TE_STATUSREPORTSCHEME_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeSteps.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeSteps.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -390,9 +390,3 @@
 }
 
 //-----------------------------------------------------------------------------
-
-
-
-
-
-
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeTransfer.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeTransfer.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -18,15 +18,14 @@
 */
 
 #include "Te_StatusReportSchemeTransfer.h"
+
 /**
 Create a SMS and get the SMSC and TPSRR operations
 */
 TVerdict CTestSchemeSending::doTestStepPreambleL()
 	{	
 	//Call the base class preamble
-	CTestStatusReportScheme::doTestStepPreambleL();
-		
-	__UHEAP_MARK;
+	CSmsStatusReportSchemeTestStep::doTestStepPreambleL();
 
 	//Create SMS message from ini file specified as "message"
 	CreateSmsL(iDataCodingScheme ,_L("message"));
@@ -41,89 +40,80 @@
 	{	
 	delete iSmsMessage;
 	iSmsMessage = NULL;
-	
-	__UHEAP_MARKEND;
 
-	CTestStatusReportScheme::doTestStepPostambleL();
+	CSmsStatusReportSchemeTestStep::doTestStepPostambleL();
 		
 	return TestStepResult();
 	}
 
-
 /**
 Get the TP-SRR operations on the SMS 
 */
 TVerdict CTestSendingTPSRRScheme::doTestStepPreambleL()
-{	
-	//Call the base class preamble
-	CTestSchemeSending::doTestStepPreambleL();
-		
-	INFO_PRINTF1(_L("Test sending a message with TP-SRR scheme"));
-	
-	return TestStepResult();
-}
+    {	
+    //Call the base class preamble
+    CTestSchemeSending::doTestStepPreambleL();
 
+    INFO_PRINTF1(_L("Test sending a message with TP-SRR scheme"));
 
+    return TestStepResult();
+    }
 
 /**
 SIM TSY verifies the message sent
 */
 TVerdict CTestSendingTPSRRScheme::doTestStepL()
-{
-	SendSmsMessageL();
-	
-	return TestStepResult();
-}
+    {
+    SendSmsMessageL();
 
+    return TestStepResult();
+    }
 
 /**
 Send the message
 */
 TVerdict CTestSendingTPSRRScheme::doTestStepPostambleL()
-{	
-	//Call the base class preamble
-	CTestSchemeSending::doTestStepPostambleL();
-		
-	return TestStepResult();
-}
+    {	
+    //Call the base class preamble
+    CTestSchemeSending::doTestStepPostambleL();
 
+    return TestStepResult();
+    }
 
 /**
 Get the SMSC operations on the SMS 
 */
 TVerdict CTestSendingSMSCScheme::doTestStepPreambleL()
-{	
-	//Call the base class preamble
-	CTestSchemeSending::doTestStepPreambleL();
-		
-	INFO_PRINTF1(_L("Test sending a message with SMSC scheme"));
-	
-	return TestStepResult();
-}
+    {	
+    //Call the base class preamble
+    CTestSchemeSending::doTestStepPreambleL();
 
+    INFO_PRINTF1(_L("Test sending a message with SMSC scheme"));
 
+    return TestStepResult();
+    }
 
 /**
 SIM TSY verifies the message sent
 */
 TVerdict CTestSendingSMSCScheme::doTestStepL()
-{
-	SendSmsMessageL();
-	
-	return TestStepResult();
-}
+    {
+    SendSmsMessageL();
+
+    return TestStepResult();
+    }
 
 
 /**
 Send the message
 */
 TVerdict CTestSendingSMSCScheme::doTestStepPostambleL()
-{	
-	//Call the base class preamble
-	CTestSchemeSending::doTestStepPostambleL();
-		
-	return TestStepResult();
-}
+    {	
+    //Call the base class preamble
+    CTestSchemeSending::doTestStepPostambleL();
+
+    return TestStepResult();
+    }
 
 /**
 Preamble for all receiving test cases
@@ -131,12 +121,11 @@
 TVerdict CTestSchemeReceiving::doTestStepPreambleL()
 	{
 	//Call base class preamble
-	CTestStatusReportScheme::doTestStepPreambleL();
+	CSmsStatusReportSchemeTestStep::doTestStepPreambleL();
 		
 	return TestStepResult();
 	}
 
-
 /**
 All receiving of status reports
 */
@@ -145,93 +134,80 @@
 	//Call base class preamble
 	CTestSchemeReceiving::doTestStepPreambleL();
 
-	//Create a message
-	__UHEAP_MARK;
-
 	//Create SMS message from ini file specified as "message"
 	CreateSmsL(iDataCodingScheme ,_L("message"));
 			
 	return TestStepResult();
 	}
 
-
 /**
   Receive a status report and return its status
 */
 void CTestReceivingStatusReports::ReceiveStatusReportL(TSmsStatus::TSmsStatusValue& aStatus )
-{
-	//Get the expectd status
-	TInt intStatus;
-	GetIntFromConfig(ConfigSection(), _L("status"), intStatus);
-	iExpectedStatus = (TSmsStatus::TSmsStatusValue)intStatus;
+    {
+    //Get the expectd status
+    TInt intStatus;
+    GetIntFromConfig(ConfigSection(), _L("status"), intStatus);
+    iExpectedStatus = (TSmsStatus::TSmsStatusValue)intStatus;
 
-	//Get the service center
-	TSmsServiceCenterAddress telephoneNumber;
-	telephoneNumber.Copy( KTestNumber );
+    //Get the service center
+    TSmsServiceCenterAddress telephoneNumber;
+    telephoneNumber.Copy( KTestNumber );
 
-	//Receive status report and return the status	
-	aStatus = RecvStatusReportL(telephoneNumber, iSocket);
-}
+    //Receive status report and return the status	
+    aStatus = RecvStatusReportL(telephoneNumber, iSocket);
+    }
 
 /**
 All receiving status reports tests do the same steps
 */
 TVerdict CTestReceivingStatusReports::doTestStepL()
-{
-	SendSmsMessageL();
-	TSmsStatus::TSmsStatusValue status;
-	ReceiveStatusReportL(status);
-	TESTL(status == iExpectedStatus);
-	
-	return TestStepResult();
-}
+    {
+    SendSmsMessageL();
+    TSmsStatus::TSmsStatusValue status;
+    ReceiveStatusReportL(status);
+    TESTL(status == iExpectedStatus);
+
+    return TestStepResult();
+    }
 
 /**
 Delete the SMS 
 */
 TVerdict CTestReceivingStatusReports::doTestStepPostambleL()
-{	
-		delete iSmsMessage;
-		iSmsMessage = NULL;
-
-		__UHEAP_MARKEND;
+    {	
+    delete iSmsMessage;
+    iSmsMessage = NULL;
 
-		CTestSchemeReceiving::doTestStepPostambleL();
-		
-		return TestStepResult();
-}
+    CTestSchemeReceiving::doTestStepPostambleL();
 
+    return TestStepResult();
+    }
 
 /**
 All receiving of status reports
 */
 TVerdict CTestReceivingMessages::doTestStepPreambleL()
-{
-		//Call base class preamble
-		CTestSchemeReceiving::doTestStepPreambleL();
-
-		//Create a message
-		__UHEAP_MARK;
+    {
+    //Call base class preamble
+    CTestSchemeReceiving::doTestStepPreambleL();
 
-		//Receive an SMS Message
-		WaitForRecvL(iSocket);
-		iSmsMessage = RecvSmsL(iSocket);
-			
-		return TestStepResult();
-}
+    //Receive an SMS Message
+    WaitForRecvL(iSocket);
+    iSmsMessage = RecvSmsL(iSocket);
 
+    return TestStepResult();
+    }
 
 /**
 Delete the SMS 
 */
 TVerdict CTestReceivingMessages::doTestStepPostambleL()
-{	
-		delete iSmsMessage;
-		iSmsMessage = NULL;
+    {	
+    delete iSmsMessage;
+    iSmsMessage = NULL;
 
-		__UHEAP_MARKEND;
+    CTestSchemeReceiving::doTestStepPostambleL();
 
-		CTestSchemeReceiving::doTestStepPostambleL();
-		
-		return TestStepResult();
-}
+    return TestStepResult();
+    }
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeTransfer.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_StatusReportSchemeTransfer.h	Fri Apr 16 16:12:37 2010 +0300
@@ -14,87 +14,81 @@
 //
 
 
-#ifndef __TE_STATUS_REPORT_SCHEME_SENDING_H__
-#define __TE_STATUS_REPORT_SCHEME_SENDING_H__
+#ifndef TE_STATUSREPORTSCHEMETRANSFER_H
+#define TE_STATUSREPORTSCHEMETRANSFER_H
 
 #include "Te_StatusReportScheme.h"
 
 /**
 Base class for all sending test cases
-*/
-class CTestSchemeSending : public CTestStatusReportScheme
-{
+ */
+class CTestSchemeSending : public CSmsStatusReportSchemeTestStep
+    {
 public:
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();
-};
+    virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPostambleL();
+    };
 
 /**
 Base class for all sending of messages with TP-SRR
-*/
+ */
 class CTestSendingTPSRRScheme : public CTestSchemeSending
-{
+    {
 public:
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();
-	virtual TVerdict doTestStepL();
-}; 
+    virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPostambleL();
+    virtual TVerdict doTestStepL();
+    }; 
 
 /**
 Base class for all sending of messages with SMSC
-*/
+ */
 class CTestSendingSMSCScheme : public CTestSchemeSending
-{
+    {
 public:
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();
-	virtual TVerdict doTestStepL();
-}; 
-
+    virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPostambleL();
+    virtual TVerdict doTestStepL();
+    }; 
 
 /**
 Base class for all receiving test cases
-*/
-class CTestSchemeReceiving : public CTestStatusReportScheme
-{
+ */
+class CTestSchemeReceiving : public CSmsStatusReportSchemeTestStep
+    {
 public:
-	virtual TVerdict doTestStepPreambleL();
-
-};
-
+    virtual TVerdict doTestStepPreambleL();
+    };
 
 /**
 Base class for receiving status reports
-*/
+ */
 class CTestReceivingStatusReports : public CTestSchemeReceiving
-{
+    {
 public:
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();	
-	void ReceiveStatusReportL(TSmsStatus::TSmsStatusValue&);		
-	virtual TVerdict doTestStepL();
-	
+    virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPostambleL();	
+    void ReceiveStatusReportL(TSmsStatus::TSmsStatusValue&);		
+    virtual TVerdict doTestStepL();
+
 private:
-	void GetExpectedStatus();
-	
+    void GetExpectedStatus();
+
 protected:
-	TSmsStatus::TSmsStatusValue iExpectedStatus;	
-
-};
+    TSmsStatus::TSmsStatusValue iExpectedStatus;	
+    };
 
 /**
 Base class for receiving Delivered messages
-*/
+ */
 class CTestReceivingMessages : public CTestSchemeReceiving
-{
+    {
 public:
-	virtual TVerdict doTestStepPreambleL();
-	virtual TVerdict doTestStepPostambleL();	
-	
+    virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPostambleL();	
+
 protected:
-	TSmsStatusReportScheme iExpectedScheme;
-	
-};
+    TSmsStatusReportScheme iExpectedScheme;
+    };
 
-
-#endif
+#endif // TE_STATUSREPORTSCHEMETRANSFER_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_smsprt_data.ini	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_smsprt_data.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -2,7 +2,7 @@
 //-- Test data for reply addresses
 //---------------------------------------
 [ReplyAddress]
-
+testNumber=72
 replyAddressInternational   =+447583927594
 
 //---------------------------------------
@@ -20,6 +20,7 @@
 //-- Test data for enhanced voice mail
 //---------------------------------------
 [EnhancedVoiceMail]
+testNumber=74
 accessAddress              =447582354212
 callingLineIdentity        =44999DCBA8
 boundaryAccessAddress      =441234AB
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/Te_smsprttestcase.h	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/**
-* Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* Header for the mainframe of the smsprot test programs
-* 
-*
-*/
-
-
-
-/**
- @file
-*/
-
-#ifndef __TE_SMSPRTTESTCASE_H__
-#define __TE_SMSPRTTESTCASE_H__
-
-#include <e32base.h>
-#include <es_sock.h>
-#include <f32file.h>
-#include "e32test.h"
-#include "c32comm.h"
-#include <simtsy.h>
-#include "Gsmumsg.h"
-#include "gsmubuf.h"
-#include "gsmuset.h"
-#include "smsustrm.h"
-#include "smsuaddr.h"
-
-
-class TTestCase //: public CSmsPrtTestStep
-	{
-public:
-	TTestCase();
-	TTestCase(const TDesC& aMsg, const TDesC& aMatch);
-	TTestCase(const TDesC& aMsg, CSmsInformationElement::TSmsInformationElementIdentifier aId);
-	TTestCase(const TDesC& aMsg, TSmsFirstOctet::TSmsStatusReportRequest aSRR);
-	TTestCase(const TDesC& aMsg, TSmsDataCodingScheme::TSmsIndicationType aIndicationType,
-	TSmsDataCodingScheme::TSmsDCSBits7To4 aBits7To4, TSmsDataCodingScheme::TSmsIndicationState iIndicationState);
-	TTestCase(const TDesC& aMsg);
-	const TTestCase& operator=(const TTestCase& aTest);
-	void SetSmsClass(TSmsDataCodingScheme::TSmsClass aClass);
-	void SetValidityPeriod(const TTimeIntervalMinutes& aTimeInterval);
-	void SetRecvForever();
-private:
-	void CommonInit();
-public:
-	TSmsAddrFamily iMatchType;
-	TPtrC iMsg;
-	TPtrC iMatch;
-	CSmsInformationElement::TSmsInformationElementIdentifier iIdentifierMatch;
-
-	TBool iTestSmsClass;
-	TSmsDataCodingScheme::TSmsClass iSmsClass;
-	TBool iTestValidityPeriod;
-	TTimeIntervalMinutes iValidityPeriod;
-	TBool iTestForever;
-	TBool iTestIndicators;
-	TSmsDataCodingScheme::TSmsIndicationType iIndicationType;	// for ESmsAddrMessageIndication
-	TSmsDataCodingScheme::TSmsDCSBits7To4 iBits7To4;			// for ESmsAddrMessageIndication
-	TSmsDataCodingScheme::TSmsIndicationState iIndicationState; // for ESmsAddrMessageIndication
-	};
-
-#endif
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/logcheck.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/logcheck.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -19,7 +19,7 @@
 
 #include "logcheck.h"
 
-CSmsLogChecker* CSmsLogChecker::NewL(RFs& aFs, CSmsPrtTestStep* aTest, TInt aPriority)
+CSmsLogChecker* CSmsLogChecker::NewL(RFs& aFs, CSmsBaseTestStep* aTest, TInt aPriority)
 	{
 	CSmsLogChecker* self = new (ELeave) CSmsLogChecker(aFs, aTest, aPriority);
 	CleanupStack::PushL(self);
@@ -42,7 +42,7 @@
 	iFilter->SetDirection(iDirection);
 	}
 
-CSmsLogChecker::CSmsLogChecker(RFs& aFs, CSmsPrtTestStep* aTest, TInt aPriority)
+CSmsLogChecker::CSmsLogChecker(RFs& aFs, CSmsBaseTestStep* aTest, TInt aPriority)
 	:CActive(aPriority), iFs(aFs), iTest(aTest)
 	{
 	CActiveScheduler::Add(this);
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/logcheck.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/logcheck.h	Fri Apr 16 16:12:37 2010 +0300
@@ -18,21 +18,20 @@
  @internalComponent 
 */
 
-#ifndef LOGCHECK_H__
-#define LOGCHECK_H__
-
+#ifndef LOGCHECK_H
+#define LOGCHECK_H
 
 #include <logwrap.h>
 #include <logview.h>
 #include <logcli.h>
 #include <e32test.h>
-#include "TE_smsprt.h"
 
+#include "smsstackbaseteststeps.h"
 
 class CSmsLogChecker : public CActive
 	{
 	public:
-		static CSmsLogChecker* NewL(RFs& aFs, CSmsPrtTestStep* aTest, TInt aPriority);
+		static CSmsLogChecker* NewL(RFs& aFs, CSmsBaseTestStep* aTest, TInt aPriority);
 		~CSmsLogChecker();
 
 		void CountOriginalIdsL(TRequestStatus& aStatus);
@@ -54,7 +53,7 @@
 			ENext
 			} iState;
 
-		CSmsLogChecker(RFs& aFs, CSmsPrtTestStep* aTest, TInt aPriority);
+		CSmsLogChecker(RFs& aFs, CSmsBaseTestStep* aTest, TInt aPriority);
 		void ConstructL();
 		void RunL();
 		TInt RunError(TInt aError);
@@ -67,7 +66,7 @@
 	private:
 
 		RFs& iFs;
-		CSmsPrtTestStep* iTest;
+		CSmsBaseTestStep* iTest;
 
 		const RArray<TLogId>* iMessageLogIds;
 		RArray<TLogId> iOriginalIds;
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprt_R6.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprt_R6.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -18,9 +18,14 @@
 */
 
 #include "te_smsprt_R6.h"
-#include "e32def.h"
-#include "gsmunonieoperations.h"
-
+
+#include <gsmunonieoperations.h>
+#include <gsmubuf.h>
+#include <gsmuset.h>
+#include <gsmuieoperations.h>
+
+#include "smsstacktestconsts.h"
+#include "smsstacktestutilities.h"
 
 TVerdict CTestSinglePDUHyperLinks::doTestStepL()
 /**
@@ -28,14 +33,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test HyperLinks in SMS message"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 70);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//This is a 95 character msg.
 	_LIT(KTestMsg,"HyperLink message, Symbian. http://www.symbian.com Some content Intranet http://web.intra/homes");
@@ -46,8 +45,7 @@
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S "),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S "),&iServiceCenterNumber);
@@ -176,6 +174,7 @@
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+	
 	TestSmsContentsL(smsMessage,KTestMsg);
 
 	//Get the operations
@@ -196,6 +195,7 @@
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+	
 	TestSmsContentsL(smsMessage,KTestMsg);
 	//Get the operations
 	CSmsHyperLinkOperations& multipleHyperLinkOperations = static_cast<CSmsHyperLinkOperations&>(smsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsHyperLinkFormat));
@@ -229,30 +229,17 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult() ;
 }
 
-
-//Multiple PDU's
-
 TVerdict CTestMultiplePDUHyperLinks::doTestStepL()
 /**
  *  Test a simple Transmit and Receive of a TPDU
  */
 	{
 	INFO_PRINTF1(_L("Test multiple PDUs with hyperLinks in SMS message"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 71);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KLongText,"YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCC");
 
@@ -261,9 +248,7 @@
 	iServiceCenterNumber=KRadiolinjaSC;
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KLongText,alphabet);
-
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KLongText,alphabet);
 
 	//Check number of hyperlinks
 	//Get the operations
@@ -443,10 +428,6 @@
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult() ;
 }
 
@@ -456,15 +437,9 @@
  *  Test reply address can be different to the senders address
  */
 	{
-	__UHEAP_MARK;
-
 	INFO_PRINTF1(_L("Test reply address in SMS message"));
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 72);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//This is character msg
 	_LIT(KTestMsg,"Reply address message.  Message will be sent to other address than sender");
@@ -475,8 +450,7 @@
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* specialMessageAndReplyAddresMessage=CreateSmsMessageL(KEmptyMsg,alphabet);
-	CleanupStack::PushL(specialMessageAndReplyAddresMessage);
+	CSmsMessage* specialMessageAndReplyAddresMessage=CreateSmsMessageLC(KEmptyMsg,alphabet);
 
 	//Get the operations
 	CSmsReplyAddressOperations& replyAddressOperations =
@@ -514,21 +488,19 @@
 	//Each special message is 4 octects.
 	//Maximum variations on the type of messages for 5 bits is 32
 	for(TInt indicationType=EGsmSmsVoiceMessageWaiting; indicationType<=EGsmSmsExtendedMessageTypeWaiting;
-				indicationType++)
+				++indicationType)
 	{
 		TBool toStore=EFalse;
 		TSmsMessageProfileType messageProfileType=EGsmSmsProfileId1;
 		TUint8 messageCount=5;
 
 		for(TUint extendedType=EGsmSmsNoExtendedMessageTypeIndication;
-					extendedType<=EGsmSmsExtendedIndicationType7; extendedType++)
+					extendedType<=EGsmSmsExtendedIndicationType7; ++extendedType)
 		{
 			TRAP(err,specialMessageOperations.AddSpecialMessageIndicationL(toStore,TSmsMessageIndicationType(indicationType),
 									TExtendedSmsIndicationType(extendedType),messageProfileType,messageCount));
 			TEST(err==KErrNone);
-
 		}
-
 	}
 
 	//Add six zero length information elements
@@ -536,19 +508,17 @@
 	CSmsPDU &pdu=specialMessageAndReplyAddresMessage->SmsPDU();
 	//Get the UserData
 	CSmsUserData &userData=pdu.UserData();
-	_LIT8(KEmptyString,"");
+	
 	//Add the information element
 	//TSmsId
 	for(TUint informationElement=CSmsInformationElement::ESmsIEISIMToolkitSecurityHeaders1;
-				informationElement<=CSmsInformationElement::ESmsIEISIMToolkitSecurityHeaders5;
-				informationElement++)
-	{
-		//CSmsInformationElement::TSmsInformationElementIdentifier informationElement;
+		informationElement<=CSmsInformationElement::ESmsIEISIMToolkitSecurityHeaders5;
+		++informationElement)
+	    {
 		TRAP(err,userData.AddInformationElementL(
-			CSmsInformationElement::TSmsInformationElementIdentifier(informationElement),KEmptyString()));
+			CSmsInformationElement::TSmsInformationElementIdentifier(informationElement),KNullDesC8()));
 		TEST(err==KErrNone);
-	}
-
+	    }
 
 	//Add address
 	TPtrC replyAddress;
@@ -678,8 +648,7 @@
 	CleanupStack::PopAndDestroy(specialMessageAndReplyAddresMessage);
 
 	//Create a new message
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Get the operations
 	CSmsReplyAddressOperations& operations =
@@ -821,8 +790,6 @@
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 	TestSmsContentsL(smsMessage,KTestMsg);
 
@@ -850,10 +817,8 @@
 	INFO_PRINTF1(_L("waiting for incoming SMS with reply address...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+	
 	TestSmsContentsL(smsMessage,KTestMsg);
 
 	//Get the operations
@@ -879,10 +844,8 @@
 	INFO_PRINTF1(_L("waiting for incoming SMS with parsed reply address...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
+	
 	TestSmsContentsL(smsMessage,KTestMsg);
 
 	//Get the operations
@@ -907,9 +870,6 @@
 	INFO_PRINTF1(_L("waiting for incoming SMS with three reply addresses...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
 	CleanupStack::PushL(smsMessage);
 	//TestSmsContentsL(smsMessage,KTestMsg);
 
@@ -952,12 +912,7 @@
 	//-------- END receive with corrupt reply address
 	//-------- END receive
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
-
 }
 
 
@@ -966,6 +921,7 @@
  *  Test a simple Transmit and Receive of a TPDU
  */
 	{
+    // TODO: redundant test case???
 	INFO_PRINTF1(_L("Test multiple PDUs with reply address in SMS message"));
 
 	return TestStepResult();
@@ -978,16 +934,12 @@
  */
 	{
 	INFO_PRINTF1(_L("Test special message waiting operations"));
-
-	__UHEAP_MARK;
-
 	//This is character msg - 96 characters
 	_LIT(KTestMsg,"This message is a special message waiting message. You have a special message waiting for you :)");
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Get the operations for a version 0 message i.e. before operations for IE were added
 	smsMessage->SetVersion(CSmsMessage::ESmsMessageV0);
@@ -1299,27 +1251,17 @@
 
 	CleanupStack::PopAndDestroy(smsMessage);
 	//-------- END API Test for special message operations
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
-
 TVerdict CTestSinglePDUSpecialMessageWaiting::doTestStepL()
 /**
  *  Test a simple Transmit and Receive of a TPDU
  */
 	{
 	INFO_PRINTF1(_L("Test special message waiting in single PDU SMS message"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 73);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//This is a 95 character msg.
 	_LIT(KTestMsg,"This message is a special message waiting message. You have a special message waiting for you :)");
@@ -1330,8 +1272,7 @@
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S "),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S "),&iServiceCenterNumber);
@@ -1412,10 +1353,8 @@
 	//-------- END Sending Single PDU
 
 	//-------- START receiving
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
-
 	CleanupStack::PushL(smsMessage);
 
 	//Get the operations
@@ -1597,14 +1536,9 @@
 
 	//-------- END receive
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
-
 TVerdict CTestMultiplePDUSpecialMessageWaiting::doTestStepL()
 /**
  *  Test a simple Transmit and Receive of a TPDU
@@ -1615,23 +1549,18 @@
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEnhancedVoiceMailOperations::doTestStepL()
 /**
  *  Test the operations available for special message waiting
  */
 	{
 	INFO_PRINTF1(_L("Test enhanced voice mail message operations"));
-
-	__UHEAP_MARK;
-
 	//This is character msg - 96 characters
 	_LIT(KTestMsg,"This is a enhanced voice mail information message!");
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Get the operations
 	CSmsEnhancedVoiceMailOperations& operations =
@@ -1683,9 +1612,9 @@
 	//Test the boundary values for calling line identity
 	TUint count=0;
 	//Do this test for both parsed address and international numbers
-	for (TUint addressType=EInternational;addressType<=EParsed;addressType++)
+	for (TUint addressType=EInternational; addressType<=EParsed; ++addressType)
 	{
-		for(TUint boundaryCheck=EInside; boundaryCheck<=EOutside;boundaryCheck++)
+		for(TUint boundaryCheck=EInside; boundaryCheck<=EOutside; ++boundaryCheck)
 		{
 			//Just before the boundary
 			TPtrC boundaryCallingLineIdentity;
@@ -1757,12 +1686,9 @@
 
 				delete notNeededEnhancedVoiceMailNotification;
 			}
-
-
 		}
 	}
 
-
 	voiceMailNotification->SetParsedCallingLineIdentityL(accessAddressTGsm);
 
 	//Get the notifications in the enhanced message
@@ -1772,9 +1698,9 @@
 	count=newNotificationsList.Count();
 	//Remove all pointers to notifications
 	if(count)
-	{
-		newNotificationsList.Reset();
-	}
+	    {
+        newNotificationsList.Reset();
+	    }
 
 	result=newNotificationsList.Append(voiceMailNotification);
 	TEST(result==KErrNone);
@@ -1846,19 +1772,15 @@
 	CleanupStack::PopAndDestroy(retrievedNotification);
 	CleanupStack::PopAndDestroy(enhancedVoiceMailNotification);
 	CleanupStack::PopAndDestroy(smsMessage);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
-
 //Helper function:  Adds the address to a notification
 void CTestEnhancedVoiceMailOperations::AddAddressToNotifcationL(
 			CEnhancedVoiceMailNotification* aEnhancedVoiceMailNotification,
 			CVoiceMailNotification* aVoiceMailNotification,
 			TPtrC aCallingLineIdentity,TUint aAddressType)
-{
+    {
 	//Get the notifications in the enhanced message
 	RPointerArray<CVoiceMailNotification>& notificationsList=
 					aEnhancedVoiceMailNotification->GetVoiceMailNotifications();
@@ -1866,44 +1788,37 @@
 	TUint count=notificationsList.Count();
 
 	if(count==1)
-	{
+	   {
 		notificationsList.Remove(0);
-	}
+	   }
 
 	//Add the address
 	if(aAddressType==EParsed)
-	{
+	   {
 		//Create Calling Line Identity
 		TGsmSmsTelNumber callingLineIdentityTGsm;
 		callingLineIdentityTGsm.iTelNumber=aCallingLineIdentity;
 		callingLineIdentityTGsm.iTypeOfAddress=EGsmSmsTONAlphaNumeric;
 		aVoiceMailNotification->SetParsedCallingLineIdentityL(callingLineIdentityTGsm);
-	}
+    	}
 	else
-	{
-		aVoiceMailNotification->SetCallingLineIdentityL(aCallingLineIdentity);
-	}
+	    {
+        aVoiceMailNotification->SetCallingLineIdentityL(aCallingLineIdentity);
+	    }
 
 	//Add the notification to the voice mail
 	TInt result=notificationsList.Append(aVoiceMailNotification);
 	TEST(result==KErrNone);
 }
 
-
 TVerdict CTestSinglePDUEnhancedVoiceMailInformation::doTestStepL()
 /**
  *  Test the sending and receiving of enhanced voice mail
  */
 	{
 	INFO_PRINTF1(_L("Test enhanced voice mail information with a single PDU message"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 74);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//This is an enhanced voice mail character msg.
 	_LIT(KTestMsg,"");
@@ -1914,8 +1829,7 @@
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S "),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S "),&iServiceCenterNumber);
@@ -1985,11 +1899,10 @@
 	//Single pdu, max size = 137.  That is 140-2(UDHL) -1(IEId) = 137
 	//User data = 8C
 	//Make a new message
-	for (TUint i = 0; i < enhancedVoiceMailNotification->NumberOfVoiceMails(); i++)
+	for (TUint i = 0; i < enhancedVoiceMailNotification->NumberOfVoiceMails(); ++i)
 	    {
 	    delete notificationsList[i];
 	    }
-
 	notificationsList.Reset();
 
 	CSmsMessage* boundaryValueVoiceMessage=CreateSmsMessageL(KTestMsg,alphabet);
@@ -2002,12 +1915,12 @@
 
 	//Add five more notifications
 	const TUint KNumNotifications=4;
-	for(count=0;count<KNumNotifications; count++)
-	{
+	for(count=0; count<KNumNotifications; ++count)
+	   {
 		CVoiceMailNotification* voiceMailNotification=CreateVoiceMailNotificationL(callingLineIdentityTGsm);
 		result=notificationsList.Append(voiceMailNotification);
 		TEST(result==KErrNone);
-	}
+	   }
 
 	//Add the number to make the size on the boundary
 	TPtrC boundaryCallingLineIdentity;
@@ -2106,16 +2019,11 @@
 	CleanupStack::PopAndDestroy(smsMessage);
 
 	//---------- END receiving
-
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
-	return TestStepResult();
+ 	return TestStepResult();
 	}
 
-CEnhancedVoiceMailNotification* CTestEnhancedVoiceMail::CreateEnhancedVoiceMailNotificationL(TGsmSmsTelNumber aAccessAddress)
+CEnhancedVoiceMailNotification* CSmsEnhancedVoiceMailTestStep::CreateEnhancedVoiceMailNotificationL(TGsmSmsTelNumber aAccessAddress)
 {
 	CEnhancedVoiceMailNotification* enhancedVoiceMailNotification=CEnhancedVoiceMailNotification::NewL();
 
@@ -2131,8 +2039,7 @@
 	return enhancedVoiceMailNotification;
 }
 
-
-CVoiceMailNotification*  CTestEnhancedVoiceMail::CreateVoiceMailNotificationL(TGsmSmsTelNumber aCallingLineIdentity)
+CVoiceMailNotification*  CSmsEnhancedVoiceMailTestStep::CreateVoiceMailNotificationL(TGsmSmsTelNumber aCallingLineIdentity)
 {
 	CVoiceMailNotification* voiceMailNotification=CVoiceMailNotification::NewL();
 
@@ -2155,28 +2062,24 @@
  *  Test the sending and receiving of enhanced voice mail
  */
 	{
+    // TODO: redundant test case???
 	INFO_PRINTF1(_L("Test enhanced voice mail information with multiple PDU message"));
 
 	return TestStepResult();
 	}
 
-
 TVerdict CTestEnhancedVoiceMailDeleteOperations::doTestStepL()
 /**
  *  Test the enhanced voice mail delete confirmation
  */
 	{
 	INFO_PRINTF1(_L("Test enhanced voice mail delete confirmation operations"));
-
-	__UHEAP_MARK;
-
 	//This is character msg - 96 characters
 	_LIT(KTestMsg,"This is a enhanced voice mail information message!");
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Get the operations
 	CSmsEnhancedVoiceMailOperations& operations =
@@ -2287,27 +2190,17 @@
 	CleanupStack::PopAndDestroy(retrievedDeletion);
 	CleanupStack::PopAndDestroy(enhancedVoiceMailDeleteConfirmation);
 	CleanupStack::PopAndDestroy(smsMessage);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
-
 TVerdict CTestSinglePDUEnhancedVoiceMailDeleteConfirmation::doTestStepL()
 /**
  *  Test the enhanced voice mail delete confirmation
  */
 	{
 	INFO_PRINTF1(_L("Test enhanced voice mail single PDU message delete confirmation"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 75);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//This is an enhanced voice mail character msg.
 	_LIT(KTestMsg,"");
@@ -2318,8 +2211,7 @@
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S "),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S "),&iServiceCenterNumber);
@@ -2453,14 +2345,9 @@
 	TEST(count==1);
 
 	CleanupStack::PopAndDestroy(retrievedNotification);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 	//---------- END receiving
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
@@ -2470,12 +2357,12 @@
  *  Test the enhanced voice mail delete confirmation
  */
 	{
+    // TODO: redundant test case???
 	INFO_PRINTF1(_L("Test enhanced voice mail multiple PDU message delete confirmation"));
 
 	return TestStepResult();
 	}
 
-
 TVerdict CTest7BitDefaultAlphabet::doTestStepL()
 /**
  *  Test the enhanced voice mail delete confirmation
@@ -2483,14 +2370,9 @@
 	{
 	INFO_PRINTF1(_L("Test 7 bit default alphabet"));
 
-	__UHEAP_MARK;
-
 	//Send a message with no alphabet set
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 76);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//This is a msg.
 	_LIT(KTestMsg,"This message has no coding scheme set.  Assume 7 bit default.");
@@ -2544,16 +2426,10 @@
 	TEST(alphabet==TSmsDataCodingScheme::ESmsAlphabet7Bit);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
-
 TVerdict CTestZeroLengthIE::doTestStepL()
 /**
  *  Test the enhanced voice mail delete confirmation
@@ -2561,14 +2437,9 @@
 	{
 	INFO_PRINTF1(_L("Test zero length IE, USIM toolkit IE"));
 
-	__UHEAP_MARK;
-
 	//Send a message with no alphabet set
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 77);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg,"This message has a zero length information element.  USIM toolkit security header.");
 
@@ -2579,8 +2450,7 @@
 	//Create message
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	INFO_PRINTF2(_L("Destination number:..... %S "),&iTelephoneNumber);
 	INFO_PRINTF2(_L("ServiceCenter number:... %S "),&iServiceCenterNumber);
@@ -2632,7 +2502,7 @@
 
 	//-----------
 	//Receive message with multiple USIM security headers - 7F and 70, with zero length
-	INFO_PRINTF1(_L("waiting for incoming SMS with multiple USIM security headers, 7F and 70, with zero length...") );
+	INFO_PRINTF1(_L("Receive SMS with multiple USIM security headers, 7F and 70, with zero length...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 
@@ -2651,7 +2521,7 @@
 	//-----------
 	//Receive message with multiple USIM security headers - 7F and 7F, with zero length
 	//This is a duplicate information element
-	INFO_PRINTF1(_L("waiting for incoming SMS with multiple USIM security headers, 7F and 7F, with zero length...") );
+	INFO_PRINTF1(_L("Receive SMS with multiple USIM security headers, 7F and 7F, with zero length...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 
@@ -2670,8 +2540,7 @@
 
 	//-----Send multiple PDU message with one zero length IE =  0x70
 	 _LIT(KLongMessage,"We might as well use our SMS stack in these phones.  It is by far the most robust, and it performs well under stress.  We have built a stack that is worth being inside a phone, processing messages for the wireless communnity :)");
-	CSmsMessage *longSmsMessage=CreateSmsMessageL(KLongMessage,alphabet);
-	CleanupStack::PushL(longSmsMessage);
+	CSmsMessage *longSmsMessage=CreateSmsMessageLC(KLongMessage,alphabet);
 
 	//Get the PDU
 	CSmsPDU &multiplePdu=longSmsMessage->SmsPDU();
@@ -2797,14 +2666,9 @@
 
 	CleanupStack::PopAndDestroy(longSmsMessage);
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
-
 /*
 	Class 2 Messages are stored on the SIM.  Automatic deletion in the DCS does not delete these messages
 	from the SIM.  This is the default behaviour.  This behaviour can be changed and it is done in
@@ -2816,14 +2680,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test automatic deletion of messages marked as such in the code data segment(cds)"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 78);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg,"");
 
@@ -2833,8 +2691,7 @@
 
 	//8 bit coding scheme
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Set message to class 2
 	TSmsDataCodingScheme::TSmsClass pduClass=TSmsDataCodingScheme::ESmsClass2;
@@ -2867,15 +2724,14 @@
 	pdu.SetBits7To4(TSmsDataCodingScheme::TSmsDCSBits7To4(autoDeleteHexValue));
 	//Send this message
 	SendSmsL(smsMessage,socket);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 	//----------End Sending
 
-	//Receive a message of class 2 - message will be stored on the SIM
-	INFO_PRINTF1(_L("waiting for incoming SMS...") );
+	INFO_PRINTF1(_L("Receive a message of class 2 - message will be stored on the SIM..."));
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+	
 	//Get PDU
 	CSmsPDU& classTwoPdu = smsMessage->SmsPDU();
 	//Class
@@ -2890,11 +2746,9 @@
 	TEST(count==1);
 	TGsmSmsSlotEntry smsSlot=smsMessage->iSlotArray[0];
 	TEST(smsSlot.iStore.Compare(_L("S14"))==0);
-
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	//Receive a message of class 2 with automatic delete - message will be stored on the SIM
-	INFO_PRINTF1(_L("waiting for incoming SMS class 2 with automatic delete...") );
+	INFO_PRINTF1(_L("Receive a message of class 2 with automatic delete - message will be stored on the SIM..."));
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
@@ -2913,46 +2767,49 @@
 	TEST(smsSlot.iStore.Compare(_L("S14"))==0);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	//Receive a message of class 1 with automatic delete
-	INFO_PRINTF1(_L("waiting for incoming SMS class 1 with automatic delete...") );
+	INFO_PRINTF1(_L("Receive a message of class 1 with automatic delete...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+
 	//Get PDU
 	CSmsPDU& pduClass1 = smsMessage->SmsPDU();
 	//Class
 	pduClass1.Class(pduClass);
 	TEST(pduClass==TSmsDataCodingScheme::ESmsClass1);
+	
 	//Test the storage
 	storage=smsMessage->Storage();
 	TEST(storage==CSmsMessage::ESmsNoStorage);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	//Receive a message of class 3 with automatic delete
-	INFO_PRINTF1(_L("waiting for incoming SMS class 3 with automatic delete...") );
+	INFO_PRINTF1(_L("Receive a message of class 3 with automatic delete...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+	
 	//Get PDU
 	CSmsPDU& pduClass3 = smsMessage->SmsPDU();
 	//Class
 	pduClass3.Class(pduClass);
 	TEST(pduClass==TSmsDataCodingScheme::ESmsClass3);
+	
 	//Test the storage
 	storage=smsMessage->Storage();
 	TEST(storage==CSmsMessage::ESmsNoStorage);
 	CleanupStack::PopAndDestroy(smsMessage);
 
-	//Receive a message of class 0 with automatic delete
-	INFO_PRINTF1(_L("waiting for incoming SMS class 0 with automatic delete...") );
+	INFO_PRINTF1(_L("Receive a message of class 0 with automatic delete...") );
 	WaitForRecvL(socket);
 	smsMessage = RecvSmsL(socket);
 	CleanupStack::PushL(smsMessage);
+	
 	//Get PDU
 	CSmsPDU& pduClass0 = smsMessage->SmsPDU();
 	//Class
 	pduClass0.Class(pduClass);
 	TEST(pduClass==TSmsDataCodingScheme::ESmsClass0);
+	
 	//Test the storage
 	storage=smsMessage->Storage();
 	TEST(storage==CSmsMessage::ESmsNoStorage);
@@ -2982,14 +2839,9 @@
 	TEST(count==2);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
 	return TestStepResult();
 	}
 
-
 /*
 	Class 2 Messages are stored on the SIM.  Automatic deletion in the DCS does not delete these messages
 	from the SIM.  This is the default behaviour.  This behaviour can be changed and it is done in
@@ -3001,14 +2853,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test automatic deletion of messages marked in dcs, and set for delete in the ESK file"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 79);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg,"Esk file has been set to delete class 2 messages marked for automatic deletion");
 
@@ -3018,8 +2864,7 @@
 
 	//8 bit coding scheme - create message
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Set message to class 2
 	TSmsDataCodingScheme::TSmsClass pduClass=TSmsDataCodingScheme::ESmsClass2;
@@ -3128,11 +2973,7 @@
 	TEST(count==0);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
-	return TestStepResult();
+ 	return TestStepResult();
 	}
 
 
@@ -3142,14 +2983,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test automatic deletion of messages of type zero"));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 80);
-	
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg,"Type 0 Sms message");
 
@@ -3159,8 +2994,7 @@
 
 	//8 bit coding scheme - create message
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Set message to type 0
 	CSmsPDU& pdu = smsMessage->SmsPDU();
@@ -3276,29 +3110,17 @@
 	TEST(count==2);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
-	return TestStepResult();
+  	return TestStepResult();
 	}
 
-
-
 TVerdict CTestAutomaticDeletionTypeZeroAndSetInESK::doTestStepL()
 /**
  *  Test the enhanced voice mail delete confirmation
  */
 	{
 	INFO_PRINTF1(_L("Test automatic deletion of messages of type zero, and set for deletion for Class 0 in ESK file."));
-
-	__UHEAP_MARK;
-
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 81);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	_LIT(KTestMsg,"Type 0 Sms message");
 
@@ -3308,8 +3130,7 @@
 
 	//8 bit coding scheme - create message
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg,alphabet);
 
 	//Set message to type 0
 	CSmsPDU& pdu = smsMessage->SmsPDU();
@@ -3394,14 +3215,9 @@
 	TEST(count==2);
 
 	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	__UHEAP_MARKEND;
-
-	return TestStepResult();
+  	return TestStepResult();
 	}
 
-
 TVerdict CTestOOMSendR6Sms::doTestStepL()
 /**
  *  Intent:
@@ -3422,11 +3238,8 @@
  */
 	{
 	INFO_PRINTF1(_L("Test out of memory handling"));
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 82);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	//Set destination and SC numbers
 	iTelephoneNumber=KPekka;
@@ -3435,8 +3248,7 @@
 	_LIT(KTestMsg1,"test message, 8bits, length 30");
 
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	//Get the operations
 	CSmsHyperLinkOperations& hyperLinkOperations = static_cast<CSmsHyperLinkOperations&>(smsMessage->GetOperationsForIEL(CSmsInformationElement::ESmsHyperLinkFormat));
@@ -3554,17 +3366,19 @@
 	TInt successfullSends=0;  //maximum expected number of succeeded sends is 2 in TSY config file
 	while (successfullSends<8)
 		{
-		socketServer.__DbgFailNext(count);		
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgFailNext(count);		
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,SendSmsDontCheckReturnValueL(smsMessage,socket));
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		if(ret==KErrNone)
-			successfullSends++;
-		count++;
+		    {
+			++successfullSends;
+		    }
+		++count;
 		}
 
 	TEST(ret == KErrNone);
-	socketServer.__DbgFailNext(-1); // Reset heap
+	iSocketServer.__DbgFailNext(-1); // Reset heap
 
 	INFO_PRINTF1(_L("TPSRR Scheme"));
 	
@@ -3578,39 +3392,33 @@
 	successfullSends=0;  //maximum expected number of succeeded sends is 2 in TSY config file
 	while (successfullSends<12)
 		{
-		socketServer.__DbgFailNext(count);
+		iSocketServer.__DbgFailNext(count);
 		
-		socketServer.__DbgMarkHeap();
+		iSocketServer.__DbgMarkHeap();
 		TRAP(ret,SendSmsDontCheckReturnValueL(smsMessage,socket));
-		socketServer.__DbgMarkEnd(0);
+		iSocketServer.__DbgMarkEnd(0);
 		if(ret==KErrNone)
-			successfullSends++;
-		count++;
+		    {
+            ++successfullSends;		
+		    }
+		++count;
 		}
 
 	TEST(ret == KErrNone);
-	socketServer.__DbgFailNext(-1); // Reset heap
-
-	CleanupStack::PopAndDestroy(2);	//smsMessage, socket
-
-	//Ensure socket server session is closed to remove cache
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	iSocketServer.__DbgFailNext(-1); // Reset heap
+
+	CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
 	return TestStepResult() ;
 	}
 
-
-TVerdict CEnhancedVoiceMessageBoundaryTest::doTestStepL()
+TVerdict CTestEnhancedVoiceMessageBoundary::doTestStepL()
 {
 	/**
 	 *  Create a Enhanced Voice Mail Information Element that occupies 139 bytes.
 	 *  139 bytes is the maximum that fit into a single segment message.
 	 */
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 83);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	CEnhancedVoiceMailNotification* enhancedVoiceMailNotification = CEnhancedVoiceMailNotification::NewL();
 
@@ -3626,7 +3434,7 @@
 	enhancedVoiceMailNotification->SetNumberOfVoiceMessages(0xFF);
 
 	RPointerArray<CVoiceMailNotification>& voiceMailNotificationArray = enhancedVoiceMailNotification->GetVoiceMailNotifications();
-	for (TUint i = 0; i < 8; i++)
+	for (TUint i = 0; i < 8; ++i)
 		{
 		// Set up notification 1
 		CVoiceMailNotification* voiceMailNotification = CVoiceMailNotification::NewL();
@@ -3647,8 +3455,7 @@
 
 	_LIT(KTestMsg1,"");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	TSmsUserDataSettings userDataSettings;
 	userDataSettings.SetAlphabet(TSmsDataCodingScheme::ESmsAlphabet8Bit);
@@ -3661,25 +3468,18 @@
 	//Send the message
 	SendSmsL(smsMessage,socket);
 
-	CleanupStack::PopAndDestroy(smsMessage);
-	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+    CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
+  	return TestStepResult();
 }
 
-
-TVerdict CEnhancedVoiceMessageBoundaryTest1::doTestStepL()
+TVerdict CTestEnhancedVoiceMessageBoundary1::doTestStepL()
 {
 	/*Creates the maximum size enhanced voice message ie that will fit
 	* into a concatenated message, size 134 bytes, allowing 5 bytes for
 	* a concatenation ie in the PDU.
 	*/
-	RSocketServ socketServer;
-	PrepareRegTestLC(socketServer, 84);
-
 	RSocket socket;
-	iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+	iSmsStackTestUtils->OpenSmsSocketLC(iSocketServer,socket,ESmsAddrRecvAny);
 
 	CEnhancedVoiceMailNotification* enhancedVoiceMailNotification = CEnhancedVoiceMailNotification::NewL();
 
@@ -3695,7 +3495,7 @@
 	enhancedVoiceMailNotification->SetNumberOfVoiceMessages(0xFF);
 
 	RPointerArray<CVoiceMailNotification>& voiceMailNotificationArray = enhancedVoiceMailNotification->GetVoiceMailNotifications();
-	for (TUint i = 0; i < 8; i++)
+	for (TUint i = 0; i < 8; ++i)
 	{
 		// Set up notification 1
 		CVoiceMailNotification* voiceMailNotification = CVoiceMailNotification::NewL();
@@ -3725,8 +3525,7 @@
 
 	_LIT(KTestMsg1,"Dundee United");
 	TSmsDataCodingScheme::TSmsAlphabet alphabet=TSmsDataCodingScheme::ESmsAlphabet8Bit;
-	CSmsMessage* smsMessage=CreateSmsMessageL(KTestMsg1,alphabet);
-	CleanupStack::PushL(smsMessage);
+	CSmsMessage* smsMessage=CreateSmsMessageLC(KTestMsg1,alphabet);
 
 	TSmsUserDataSettings userDataSettings;
 	userDataSettings.SetAlphabet(TSmsDataCodingScheme::ESmsAlphabet8Bit);
@@ -3739,15 +3538,11 @@
 	//Send the message
 	SendSmsL(smsMessage,socket);
 
-	CleanupStack::PopAndDestroy(smsMessage);
-	CleanupStack::PopAndDestroy(&socket);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
+    CleanupStack::PopAndDestroy(2, &socket); // socket, smsMessage
+ 	return TestStepResult();
 }
 
-
-TVerdict CSubmitReportDefaultsTo7BitDecoding::doTestStepL()
+TVerdict CTestSubmitReportDefaultsTo7BitDecoding::doTestStepL()
 {
 	TBuf8<30> buff;
 	buff.SetLength(30);
@@ -3791,14 +3586,11 @@
 	_LIT(KTestMsg,"David Narey");
 	TestSmsContentsL(decodedMessage,KTestMsg);
 
-
 	CleanupStack::PopAndDestroy(decodedMessage);
-
     return TestStepResult();
 }
 
-
-TVerdict CDeliverReportDefaultsTo7BitDecoding::doTestStepL()
+TVerdict CTestDeliverReportDefaultsTo7BitDecoding::doTestStepL()
 {
 	TBuf8<30> buff;
 	buff.SetLength(30);
@@ -3835,14 +3627,11 @@
 	_LIT(KTestMsg,"David Narey");
 	TestSmsContentsL(decodedMessage,KTestMsg);
 
-
 	CleanupStack::PopAndDestroy(decodedMessage);
-
     return TestStepResult();
 }
 
-
-TVerdict CStatusReportDefaultsTo7BitDecoding::doTestStepL()
+TVerdict CTestStatusReportDefaultsTo7BitDecoding::doTestStepL()
 {
 	TBuf8<40> buff;
 	buff.SetLength(40);
@@ -3898,8 +3687,6 @@
 	_LIT(KTestMsg,"David Narey");
 	TestSmsContentsL(decodedMessage,KTestMsg);
 
-
 	CleanupStack::PopAndDestroy(decodedMessage);
-
     return TestStepResult();
 }
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprt_R6.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprt_R6.h	Fri Apr 16 16:12:37 2010 +0300
@@ -13,65 +13,64 @@
 // Description:
 //
 
-#ifndef __TE_SMSPRT_R6_H_
-#define __TE_SMSPRT_R6_H_
+#ifndef TE_SMSPRT_R6_H
+#define TE_SMSPRT_R6_H
+
 
 
-#include "TE_smsprt.h"
-#include "Gsmuelem.h"
-#include "gsmuieoperations.h"
+#include "smsstackbaseteststeps.h"
 
 
-class CTestSinglePDUHyperLinks : public CSmsPrtTestStep
+class CTestSinglePDUHyperLinks : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMultiplePDUHyperLinks : public CSmsPrtTestStep
+class CTestMultiplePDUHyperLinks : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSinglePDUReplyAddress : public CSmsPrtTestStep
+class CTestSinglePDUReplyAddress : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMultiplePDUReplyAddress : public CSmsPrtTestStep
+class CTestMultiplePDUReplyAddress : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSpecialMessageOperations : public CSmsPrtTestStep
+class CTestSpecialMessageOperations : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSinglePDUSpecialMessageWaiting : public CSmsPrtTestStep
+class CTestSinglePDUSpecialMessageWaiting : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMultiplePDUSpecialMessageWaiting : public CSmsPrtTestStep
+class CTestMultiplePDUSpecialMessageWaiting : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestEnhancedVoiceMail : public CSmsPrtTestStep
+class CSmsEnhancedVoiceMailTestStep : public CSmsBaseTestStep
 {
 protected:
 	CEnhancedVoiceMailNotification* CreateEnhancedVoiceMailNotificationL(TGsmSmsTelNumber aAccessAddress);
@@ -79,7 +78,7 @@
 };
 
 
-class CTestEnhancedVoiceMailOperations : public CTestEnhancedVoiceMail
+class CTestEnhancedVoiceMailOperations : public CSmsEnhancedVoiceMailTestStep
 	{
 public:
 	enum TBoundaries {EInside=0,EOn,EOutside};
@@ -94,122 +93,122 @@
 	};
 
 
-class CTestSinglePDUEnhancedVoiceMailInformation : public CTestEnhancedVoiceMail
+class CTestSinglePDUEnhancedVoiceMailInformation : public CSmsEnhancedVoiceMailTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMultiplePDUEnhancedVoiceMailInformation : public CTestEnhancedVoiceMail
+class CTestMultiplePDUEnhancedVoiceMailInformation : public CSmsEnhancedVoiceMailTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestEnhancedVoiceMailDeleteOperations : public CSmsPrtTestStep
+class CTestEnhancedVoiceMailDeleteOperations : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestSinglePDUEnhancedVoiceMailDeleteConfirmation : public CSmsPrtTestStep
+class CTestSinglePDUEnhancedVoiceMailDeleteConfirmation : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestMultiplePDUEnhancedVoiceMailDeleteConfirmation : public CSmsPrtTestStep
+class CTestMultiplePDUEnhancedVoiceMailDeleteConfirmation : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTest7BitDefaultAlphabet : public CSmsPrtTestStep
+class CTest7BitDefaultAlphabet : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestZeroLengthIE : public CSmsPrtTestStep
+class CTestZeroLengthIE : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestAutomaticDeletionInDCS : public CSmsPrtTestStep
+class CTestAutomaticDeletionInDCS : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestAutomaticDeletionInDCSAndInESK : public CSmsPrtTestStep
+class CTestAutomaticDeletionInDCSAndInESK : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestAutomaticDeletionTypeZeroSMS : public CSmsPrtTestStep
+class CTestAutomaticDeletionTypeZeroSMS : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestAutomaticDeletionTypeZeroAndSetInESK : public CSmsPrtTestStep
+class CTestAutomaticDeletionTypeZeroAndSetInESK : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CTestOOMSendR6Sms : public CSmsPrtTestStep
+class CTestOOMSendR6Sms : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CEnhancedVoiceMessageBoundaryTest : public CSmsPrtTestStep
+class CTestEnhancedVoiceMessageBoundary : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CEnhancedVoiceMessageBoundaryTest1 : public CSmsPrtTestStep
+class CTestEnhancedVoiceMessageBoundary1 : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
 
-class CSubmitReportDefaultsTo7BitDecoding : public CSmsPrtTestStep
+class CTestSubmitReportDefaultsTo7BitDecoding : public CSmsBaseTestStep
     {
 public:
     virtual TVerdict doTestStepL();
     };
 
 
-class CDeliverReportDefaultsTo7BitDecoding : public CSmsPrtTestStep
+class CTestDeliverReportDefaultsTo7BitDecoding : public CSmsBaseTestStep
     {
 public:
     virtual TVerdict doTestStepL();
     };
 
 
-class CStatusReportDefaultsTo7BitDecoding : public CSmsPrtTestStep
+class CTestStatusReportDefaultsTo7BitDecoding : public CSmsBaseTestStep
     {
 public:
     virtual TVerdict doTestStepL();
     };
 
-#endif
+#endif // TE_SMSPRT_R6_H
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/te_smsprttestcase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "Te_smsprttestcase.h"
-#include "TE_smsprtbase.h"
-
-TTestCase::TTestCase()
-//
-// Constructor
-//
-	{
-
-	CommonInit();
-	}
-
-TTestCase::TTestCase(const TDesC& aMsg, const TDesC& aMatch)
-//
-// Constructor
-//
-: iMatchType(ESmsAddrMatchText), iMsg(aMsg), iMatch(aMatch)
-	{
-
-	CommonInit();
-	}
-
-void TTestCase::CommonInit()
-//
-// Reset member variables
-//
-	{
-
-	iTestSmsClass = EFalse;
-	iTestValidityPeriod = EFalse;
-	iTestForever=EFalse;
-	iTestIndicators=EFalse;
-	}
-
-TTestCase::TTestCase(const TDesC& aMsg, CSmsInformationElement::TSmsInformationElementIdentifier aIdentifier)
-//
-// Constructor
-//
-: iMatchType(ESmsAddrMatchIEI), iMsg(aMsg), iIdentifierMatch(aIdentifier)
-	{
-
-	CommonInit();
-	}
-
-TTestCase::TTestCase(const TDesC& aMsg, TSmsFirstOctet::TSmsStatusReportRequest /*aSRR*/)
-//
-// Match on status report - ignore actual value of aSRR
-//
-: iMatchType(ESmsAddrStatusReport), iMsg(aMsg)
-	{
-
-	CommonInit();
-	}
-
-TTestCase::TTestCase(const TDesC& aMsg, TSmsDataCodingScheme::TSmsIndicationType aIndicationType,
-					 TSmsDataCodingScheme::TSmsDCSBits7To4 aBits7To4,
-					 TSmsDataCodingScheme::TSmsIndicationState aIndicationState)
-//
-// Match on a type of message indication
-//
-: iMatchType(ESmsAddrMessageIndication), iMsg(aMsg), iIndicationType(aIndicationType),
-	iBits7To4(aBits7To4), iIndicationState(aIndicationState)
-	{
-
-	__ASSERT_ALWAYS(iBits7To4==TSmsDataCodingScheme::ESmsDCSMessageWaitingIndicationDiscardMessage
-		|| iBits7To4==TSmsDataCodingScheme::ESmsDCSMessageWaitingIndication7Bit
-		|| iBits7To4==TSmsDataCodingScheme::ESmsDCSMessageWaitingIndicationUCS2,
-		User::Panic(_L("TestCase"), KErrNotSupported));
-
-	CommonInit();
-	iTestIndicators=ETrue;
-
-	}
-
-TTestCase::TTestCase(const TDesC& aMsg)
-//
-// Constructor
-//
-: iMatchType(ESmsAddrRecvAny), iMsg(aMsg)
-	{
-
-	CommonInit();
-	}
-
-const TTestCase& TTestCase::operator=(const TTestCase& aTest)
-//
-// Assignment operator
-//
-	{
-
-	iMatchType = aTest.iMatchType;
-	iMsg.Set(aTest.iMsg);
-	iMatch.Set(aTest.iMatch);
-	iIdentifierMatch = aTest.iIdentifierMatch;
-	iTestForever = aTest.iTestForever;
-	return *this;
-	}
-
-void TTestCase::SetSmsClass(TSmsDataCodingScheme::TSmsClass aClass)
-//
-// Set Sms Class
-//
-	{
-
-	iTestSmsClass = ETrue;
-	iSmsClass = aClass;
-	}
-
-void TTestCase::SetValidityPeriod(const TTimeIntervalMinutes& aTimeInterval)
-//
-// Set the validity period
-//
-	{
-
-	iTestValidityPeriod = ETrue;
-	iValidityPeriod = aTimeInterval;
-	}
-
-void TTestCase::SetRecvForever()
-//
-// Recv all messages forever
-//
-	{
-
-	iTestForever = ETrue;
-	iMatchType = ESmsAddrRecvAny;
-	}
--- a/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/tsmsprt_config.txt	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/TE_Smsprt/tsmsprt_config.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -1498,27 +1498,27 @@
 SmsResumePause= 1
 
 #First case first PDU fails,
-SmsTx= 55000C915348801455820004A78C0500030003014141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141, +358405202000, 1, 010010807141731480, -4520
+SmsTx= 55000C915348801455820004A78C0500030003014141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141, +358405202000, 1, 01080010112211221180, -4520
 SmsTx= 55000C915348801455820004A78C0500030003014141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141, +358405202000, 2, 010010807141731480, 0
 SmsTx= 55000C915348801455820004A78C0500030003024242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242, +358405202000, 3, 010010807141731480, 0
 SmsTx= 55000C915348801455820004A70D05000300030343434343434343, +358405202000, 4, 010010807141731480, 0
 
 #Second case second PDU fails,
 SmsTx= 55000C915348801455820004A78C0500030103014141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141, +358405202000, 5, 010010807141731480, 0
-SmsTx= 55000C915348801455820004A78C0500030103024242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242, +358405202000, 6, 010010807141731480, -4520
+SmsTx= 55000C915348801455820004A78C0500030103024242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242, +358405202000, 6, 01080010112211221180, -4520
 SmsTx= 55000C915348801455820004A78C0500030103024242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242, +358405202000, 7, 010010807141731480, 0
 SmsTx= 55000C915348801455820004A70D05000301030343434343434343, +358405202000, 8, 010010807141731480, 0
 
 #Third case third PDU fails,
 SmsTx= 55000C915348801455820004A78C0500030203014141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141, +358405202000, 9, 010010807141731480, 0
 SmsTx= 55000C915348801455820004A78C0500030203024242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242, +358405202000, 10, 010010807141731480, 0
-SmsTx= 55000C915348801455820004A70D05000302030343434343434343, +358405202000, 11, 010010807141731480, -4520
+SmsTx= 55000C915348801455820004A70D05000302030343434343434343, +358405202000, 11, 01080010112211221180, -4520
 SmsTx= 55000C915348801455820004A70D05000302030343434343434343, +358405202000, 12, 010010807141731480, 0
 
 #Fourth case third PDU fails,
 SmsTx= 55000C915348801455820004A78C0500030303014141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141, +358405202000, 13, 010010807141731480, 0
 SmsTx= 55000C915348801455820004A78C0500030303024242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242, +358405202000, 14, 010010807141731480, 0
-SmsTx= 55000C915348801455820004A70D05000303030343434343434343, +358405202000, 15, 010010807141731480, -4520
+SmsTx= 55000C915348801455820004A70D05000303030343434343434343, +358405202000, 15, 01080010112211221180, -4520
 
 SmsTx= 55000C915348801455820004A78C0500030403014141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141, +358405202000, 16, 010010807141731480, 0
 SmsTx= 55000C915348801455820004A78C0500030403024242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242, +358405202000, 17, 010010807141731480, 0
@@ -3000,11 +3000,20 @@
 SmsRx=640C915348801455820000103060019134002C0806018000030403034028140A8542A15028140A8542A15028140A8542A15028140A8542A15008, +358405202000, 18, 010010807141731480, 0
 
 [test131]
+SmsTx= 00, +358405202000, 0, 010010807141731480, 0
+SmsTx= 00, +358405202000, 1, 010010807141731480, 0
+SmsTx= 00, +358405202000, 2, 010010807141731480, 0
+
 # class 0, 8 bit
+SmsStartRxDelay= 4207, 1, 1
 SmsRx= 240C915348801455824014108071417314801254797065203020536D73206D657373616765, 358405202000
+
 # class 2, 8 bit (will be N'Ack'd)
+SmsStartRxDelay= 4207, 2, 1
 SmsRx= 240C915348801455824016108071417314801254797065203020536D73206D657373616765, 358405202000
+
 # class 2, 8 bit
+SmsStartRxDelay= 4207, 3, 1
 SmsRx= 240C915348801455824016108071417314801254797065203020536D73206D657373616765, 358405202000
 
 [test132]
@@ -3023,6 +3032,28 @@
 SmsRx= 240C915348801455824016108071417314801254797065203020536D73206D657373616765, 358405202000
 
 
+[test134]
+# class 0, 8 bit
+SmsRx= 240C915348801455824014108071417314801254797065203020536D73206D657373616765, 358405202000
+
+# class 2, 8 bit (will be N'Ack'd)
+SmsRx= 240C915348801455824016108071417314801254797065203020536D73206D657373616765, 358405202000
+
+# class 2, 8 bit
+SmsRx= 240C915348801455824016108071417314801254797065203020536D73206D657373616765, 358405202000
+
+
+[test135]
+# class 0, 8 bit (will be N'Ack'd)
+SmsRx= 240C915348801455824014108071417314801254797065203020536D73206D657373616765, 358405202000
+
+# class 0, 8 bit
+SmsRx= 240C915348801455824014108071417314801254797065203020536D73206D657373616765, 358405202000
+
+# class 2, 8 bit
+SmsRx= 240C915348801455824016108071417314801254797065203020536D73206D657373616765, 358405202000
+
+
 #TestCongestedReceive
 [test141]
 # Rx 30 PDUs at 1 second intervals...
@@ -3303,6 +3334,7 @@
 SmsRx=400C91447774608552000080704151006440A00500030103024EA0B1681C16B5E46FD9EC5477B1626F11514525BFE8C170301C0C0FC7C3F1703C1C13C94472B15C2C17CBC572B17C3C1FCFC7F3F18C4423D1C974329D4C27D3C9B452BD5CAF996C269BC966B2996CA7DBE976BADD4EF7F3FD7C73F9CFB7542E954BE5D3F9743E9D4FE7543A954EA557EBD57AB55EAD7BFDD5FAF59ECD67B57AAD5EABDF9D4E, 358405202000, 02B0
 SmsRx=440C91447774608552000080704151000540A00500030103034EA0B1681C16B5E46FD9EC5477B1626F11514525BFE8C170301C0C0FC7C3F1703C1C13C94472B15C2C17CBC572B17C3C1FCFC7F3F18C4423D1C974329D4C27D3C9B452BD5CAF996C269BC966B2996CA7DBE976BADD4EF7F3FD7C73F9CFB7542E954BE5D3F9743E9D4FE7543A954EA557EBD57AB55EAD7BFDD5FAF59ECD67B57AAD5EABDF9D4E, 358405202000, 02B0
 
+
 #TestEncoding7bitTurkishNationalLanguage
 [test155]
 SmsControlCaps= 68
@@ -3553,6 +3585,3 @@
 
 # Test Turkish GSM text (Turkish shift table)...
 SmsRx=440C914477746085520000808060813431409B03240101D81C839B6470330D6EC6C1CDB9B8491737F3E2E698DC24939B6972334E6ECECF4DFAB9993F37C7E72659DD4CAB9B717573CE6ED2E1CD3CBC398637C9F2665ADE8CD39B737A934E6FE6EFCDF1BD49BE37D3FA665CDF9CF39B747E330F6E8EC54D12B9992637E3E7E69CDDA42B9B7972730C6E92C2CDB4B8196B3767E4269DDCCC979B6313, 358405202000, 02B0          
-
-
-
--- a/smsprotocols/smsstack/smsprot/Test/configfiles/tsmsemsprt_config.txt	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/configfiles/tsmsemsprt_config.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -1,4 +1,5 @@
 #This config file describes SIM tsy requests for SMS Stack unit testing (T_SmsPrt)
+[test0]
 
 #TestFormatIEA
 [test1]
--- a/smsprotocols/smsstack/smsprot/Test/configfiles/tsmsprtstress_config.txt	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsprot/Test/configfiles/tsmsprtstress_config.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -1,160 +1,12 @@
 #This config file describes SIM tsy requests for SMS Stack Stress testing (T_SmsPrtStress)
-
-
-
 [test0]
-SmsRxPeriod= 5
-SmsRx= 240C915348801455820004108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
-SmsRx= 240C915348801455820004108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
-SmsRx= 240C915348801455820004108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
-SmsRx= 240C915348801455820004108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
-SmsRx= 240C915348801455820004108071417314801E74657374206D6573736167652C2038626974732C206C656E677468203330, 358405202000
 
-SmsStore= S14, 10
-SmsStoreEntry= S14, 1, 1, 240C9153488014558200001011919111228013D3641334A53EA54550B3389D068F45500C, +358405202000
-SmsStoreEntry= S14, 2, 2, 240C9153488014558200001011919191228013D3641334A53EA54550B3389D068F45900C, +358405202000
-
-
-
+#TestRxAndRead
 [test1]
-msControlCaps= 452
-#SmsControlCaps= caps in DECIMAL
-SmsPhoneStoreCaps= 0xFC000000
-#SmsPhoneStoreCaps= TMobilePhoneCaps in the smsStore in hexadecimal
-
-SmsAckNackPause= 1
-SmsResumePause= 1
 
-SmsTx= 75000C914477746055840000A7A0050003000301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003000302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003000303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003010301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003010302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003010303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003020301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003020302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003020303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003030301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003030302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003030303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003040301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003040302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003040303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003050301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003050302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003050303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003060301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003060302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003060303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003070301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003070302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003070303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003080301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003080302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003080303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003090301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003090302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003090303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030A0301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030A0302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7750500030A0303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030B0301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030B0302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7750500030B0303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030C0301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030C0302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7750500030C0303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030D0301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030D0302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7750500030D0303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030E0301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030E0302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7750500030E0303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030F0301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A00500030F0302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7750500030F0303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003100301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003100302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003100303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003110301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003110302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003110303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003120301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003120302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003120303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003130301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003130302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003130303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003140301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003140302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003140303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003150301662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E774D0B43905B5CBF379F85C7681662028B10AA297E7, +358405202000, 0, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A7A0050003150302E8A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7F3F0B9EC02CD40506215442FCFE9A069730A6A97E7, +358405202000, 1, 010010807141731480, 0
-SmsTx= 75000C914477746055840000A775050003150303E6E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D9059A81A0C42A885E9ED341D3E614D42ECFE7E173D905A2A2CBA0A29BEC02, +358405202000, 2, 010010807141731480, 0
-SmsTxPause= 3
+#TestMultipleSimultaneousRequests
+[test2]
 
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRx= 440C914477746055840008101112919081808C050003020201003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073, 358405202000
-SmsRx= 440C9144777460558400081011129190328080050003020202006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E0020003300200050004400550020007400650073007400200053004D00530020006D006500730073006100670065002E002000540068006500200045006E0064002E, 358405202000
-SmsRxPeriod= 4
+#TestSmsPrtBackup and TestSmsPrtBackupWhenPhoneIsOff
+[test3]
 
-SmsStore= S14, 20
-
-SmsParamMaxNumSlots= 1
-SmspBatchReqPause= 4
-SmsParamEntry= 1, SMSP_SET1, 00, 00, 24, 35850123456789, 358405202000
-
-SmsStoreIndividualReqPause= 2
-SmsStoreBatchReqPause= 1
-
-[test2]
-msControlCaps= 452
-#SmsControlCaps= caps in DECIMAL
-SmsPhoneStoreCaps= 0xFC000000
-#SmsPhoneStoreCaps= TMobilePhoneCaps in the smsStore in hexadecimal
-
-SmsAckNackPause= 1
-SmsResumePause= 1
-
-SmsTx= 00, +358405202000, 0, 010010807141731480, 0
--- a/smsprotocols/smsstack/smsu/inc/smsuaddr.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsu/inc/smsuaddr.H	Fri Apr 16 16:12:37 2010 +0300
@@ -207,11 +207,9 @@
 	};
 
 
-//ahe TODO
-//typedef TBuf<KGsmMaxTelNumberSize> TSmsServiceCenterAddress;
-
+const TInt KMaxServiceCenterAddressLength = 14;
 /** Buffer to hold Service Center address. */
-typedef TBuf<14> TSmsServiceCenterAddress;
+typedef TBuf<KMaxServiceCenterAddressLength> TSmsServiceCenterAddress;
 /** Package buffer for TSmsServiceCenterAddress objects. */
 typedef TPckgBuf<TSmsServiceCenterAddress> TSmsServiceCenterAddressBuf;
 
--- a/smsprotocols/smsstack/smsu/src/smsustrm.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/smsu/src/smsustrm.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -59,7 +59,7 @@
 	TPtr8 ptr(iBuffer,sizeof(iBuffer));
 //	iSocket.RecvOneOrMore(ptr,0,s,l);
 	iSocket.Recv(ptr,0,s,l);
-	User::WaitForRequest(s); // TODO check this
+	User::WaitForRequest(s); 
 	User::LeaveIfError(s.Int());
 	TInt len=ptr.Length();
 	SetBuf(ERead,iBuffer,iBuffer+len);
@@ -110,7 +110,7 @@
 //
 	TRequestStatus s;
 	iSocket.Write(TPtrC8(iBuffer,length),s);
-	User::WaitForRequest(s);  // TODO check this
+	User::WaitForRequest(s);  
 	User::LeaveIfError(s.Int());
 	} // RSmsSocketBuf::SocketWriteL
 
--- a/smsprotocols/smsstack/test/TE_R6SMS/TE_testR6SMS.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/TE_R6SMS/TE_testR6SMS.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,19 +16,16 @@
 // 
 //
 
-#include "TE_R6SMSbase.h"
 #include "TE_testR6SMS.h"
 
+#include "TE_R6SMSbase.h"
 #include "Gsmumsg.h"
 #include "gsmumsgadditionalattributes.h"
 #include "Gsmuelem.h"
 #include "gsmuset.h"
-
 #include "EMSInformationElement.h"
 #include "EMSFormatIE.h"
 
-
-
 TVerdict CTestCSmsMessageAdditionalAttributes1::doTestStepL()
     {
     /**
--- a/smsprotocols/smsstack/test/TE_R6SMS/TE_testR6SMS.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/TE_R6SMS/TE_testR6SMS.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,10 +15,10 @@
 // 
 //
 
+#ifndef TE_TESTR6SMS_H
+#define TE_TESTR6SMS_H
 
-#ifndef _TE_TESTR6SMS_H_
-#define _TE_TESTR6SMS_H_
-
+#include <test/testexecuteserverbase.h>
 
 class CTestCSmsMessageAdditionalAttributes1 : public CTestStep
 	{
@@ -26,47 +26,40 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CTestCSmsMessageAdditionalAttributes2 : public CTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CTestCSmsMessageAdditionalAttributes3 : public CTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CTestR6CSmsMessage : public CTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CTestAddingIEsViaNewAndExistingInterfaces : public CTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CTestIECategoryDefinitions : public CTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CTestR6DCS : public CTestStep
 	{
 public:
 	virtual TVerdict doTestStepL();
 	};
 
-
 #endif
--- a/smsprotocols/smsstack/test/bld.inf	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/bld.inf	Fri Apr 16 16:12:37 2010 +0300
@@ -49,6 +49,11 @@
 //Class0 Store Regresssion Test Suite
 ./Te_Class0StoreRegressionSuite.script	z:/testdata/scripts/te_class0storeregressionsuite.script
 
+./smsstackcleanprivatedata.script           z:/testdata/scripts/smsstackcleanprivatedata.script
+./smsstackbackupeskfile.script                z:/testdata/scripts/smsstackbackupeskfile.script
+./smsstackrestoreeskfile.script                z:/testdata/scripts/smsstackrestoreeskfile.script
+
+./smsstacksimtsytestnumbers.ini             z:/testdata/configs/smsstacksimtsytestnumbers.ini
 
 PRJ_MMPFILES
 
--- a/smsprotocols/smsstack/test/bwins/SMSSTACKTESTUTILITIESU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/bwins/SMSSTACKTESTUTILITIESU.DEF	Fri Apr 16 16:12:37 2010 +0300
@@ -1,207 +1,280 @@
 EXPORTS
-	??0CTestGetSmsList@@IAE@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 1 NONAME ; CTestGetSmsList::CTestGetSmsList(int, class RSocketServ &, class CSmsStackTestUtils &)
-	??0CTestReceiveEnumerateMessages@@IAE@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 2 NONAME ; CTestReceiveEnumerateMessages::CTestReceiveEnumerateMessages(int, class RSocketServ &, class CSmsStackTestUtils &)
-	??0CTestReceiveMessages@@IAE@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 3 NONAME ; CTestReceiveMessages::CTestReceiveMessages(int, class RSocketServ &, class CSmsStackTestUtils &)
-	??1CEmsAnimationIE@@UAE@XZ @ 4 NONAME ; CEmsAnimationIE::~CEmsAnimationIE(void)
-	??1CEmsPictureIE@@UAE@XZ @ 5 NONAME ; CEmsPictureIE::~CEmsPictureIE(void)
-	??1CEmsSoundIE@@UAE@XZ @ 6 NONAME ; CEmsSoundIE::~CEmsSoundIE(void)
-	??1CEnhancedVoiceMailDeleteConfirmations@@UAE@XZ @ 7 NONAME ; CEnhancedVoiceMailDeleteConfirmations::~CEnhancedVoiceMailDeleteConfirmations(void)
-	??1CEnhancedVoiceMailNotification@@UAE@XZ @ 8 NONAME ; CEnhancedVoiceMailNotification::~CEnhancedVoiceMailNotification(void)
-	??1CSmsAlphabetConverter@@UAE@XZ @ 9 NONAME ; CSmsAlphabetConverter::~CSmsAlphabetConverter(void)
-	??1CSmsPduDatabase@@UAE@XZ @ 10 NONAME ; CSmsPduDatabase::~CSmsPduDatabase(void)
-	??1CSmsPduDbBase@@UAE@XZ @ 11 NONAME ; CSmsPduDbBase::~CSmsPduDbBase(void)
-	??1CSmsPduDbConcat@@UAE@XZ @ 12 NONAME ; CSmsPduDbConcat::~CSmsPduDbConcat(void)
-	??1CSmsStackTestUtils@@UAE@XZ @ 13 NONAME ; CSmsStackTestUtils::~CSmsStackTestUtils(void)
-	??1CTestReceiveEnumerateMessages@@UAE@XZ @ 14 NONAME ; CTestReceiveEnumerateMessages::~CTestReceiveEnumerateMessages(void)
-	??1CVoiceMailDeletion@@UAE@XZ @ 15 NONAME ; CVoiceMailDeletion::~CVoiceMailDeletion(void)
-	??1CVoiceMailNotification@@UAE@XZ @ 16 NONAME ; CVoiceMailNotification::~CVoiceMailNotification(void)
-	?AccessAddress@CEnhancedVoiceMailBoxInformation@@QBE?AVTPtrC16@@XZ @ 17 NONAME ; class TPtrC16 CEnhancedVoiceMailBoxInformation::AccessAddress(void) const
-	?AddInformationElementL@CSmsUserData@@QAEXW4TSmsInformationElementIdentifier@CSmsInformationElement@@ABVTDesC8@@@Z @ 18 NONAME ; void CSmsUserData::AddInformationElementL(enum CSmsInformationElement::TSmsInformationElementIdentifier, class TDesC8 const &)
-	?AddLogEventL@CSmsStackTestUtils@@QAEJAAVCSmsMessage@@AAVTLogSmsPduData@@@Z @ 19 NONAME ; long CSmsStackTestUtils::AddLogEventL(class CSmsMessage &, class TLogSmsPduData &)
-	?AddSmsRxL@CSmsStackTestUtils@@QBEXAAVCTestConfig@@HAAVCSmsMessage@@ABVTDesC16@@@Z @ 20 NONAME ; void CSmsStackTestUtils::AddSmsRxL(class CTestConfig &, int, class CSmsMessage &, class TDesC16 const &) const
-	?AddSmsTxL@CSmsStackTestUtils@@QBEXAAVCTestConfig@@HAAVCSmsMessage@@ABVTDesC16@@HPAV3@H@Z @ 21 NONAME ; void CSmsStackTestUtils::AddSmsTxL(class CTestConfig &, int, class CSmsMessage &, class TDesC16 const &, int, class CSmsMessage *, int) const
-	?Alignment@CEmsFormatIE@@QBE?AW4TAlignment@1@XZ @ 22 NONAME ; enum CEmsFormatIE::TAlignment CEmsFormatIE::Alignment(void) const
-	?AlmostMaximumCapacity@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 23 NONAME ; int CEnhancedVoiceMailBoxInformation::AlmostMaximumCapacity(void) const
-	?Animation@CEmsPreDefAnimationIE@@QBE?AW4TAnimType@1@XZ @ 24 NONAME ; enum CEmsPreDefAnimationIE::TAnimType CEmsPreDefAnimationIE::Animation(void) const
-	?AppendUserDataL@CSmsStackTestUtils@@QAEXAAVTGsmSms@@ABVCSmsUserData@@H@Z @ 25 NONAME ; void CSmsStackTestUtils::AppendUserDataL(class TGsmSms &, class CSmsUserData const &, int)
-	?Body@CSmsUserData@@QBE?AVTPtrC8@@XZ @ 26 NONAME ; class TPtrC8 CSmsUserData::Body(void) const
-	?Bold@CEmsFormatIE@@QBEHXZ @ 27 NONAME ; int CEmsFormatIE::Bold(void) const
-	?CallingLineIdentity@CVoiceMailNotification@@QBE?AVTPtrC16@@XZ @ 28 NONAME ; class TPtrC16 CVoiceMailNotification::CallingLineIdentity(void) const
-	?ChangeBearerL@CSmsStackTestUtils@@QAEXW4TMobileSmsBearer@RMobileSmsMessaging@@@Z @ 29 NONAME ; void CSmsStackTestUtils::ChangeBearerL(enum RMobileSmsMessaging::TMobileSmsBearer)
-	?CompareDCSL@CSmsStackTestUtils@@QAEXABVCSmsPDU@@VTSmsDataCodingScheme@@@Z @ 30 NONAME ; void CSmsStackTestUtils::CompareDCSL(class CSmsPDU const &, class TSmsDataCodingScheme)
-	?CompareEmsIE@EmsTestUtils@@YAHABVCEmsInformationElement@@0@Z @ 31 NONAME ; int EmsTestUtils::CompareEmsIE(class CEmsInformationElement const &, class CEmsInformationElement const &)
-	?CompareEmsMsgL@EmsTestUtils@@YAHABVCSmsMessage@@0@Z @ 32 NONAME ; int EmsTestUtils::CompareEmsMsgL(class CSmsMessage const &, class CSmsMessage const &)
-	?ComparePIDL@CSmsStackTestUtils@@QAEXABVCSmsPDU@@VTSmsProtocolIdentifier@@@Z @ 33 NONAME ; void CSmsStackTestUtils::ComparePIDL(class CSmsPDU const &, class TSmsProtocolIdentifier)
-	?CompareUDL@CSmsStackTestUtils@@QAEXABVCSmsPDU@@ABVCSmsUserData@@@Z @ 34 NONAME ; void CSmsStackTestUtils::CompareUDL(class CSmsPDU const &, class CSmsUserData const &)
-	?ConvertFromNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC8@@ABVTDesC16@@@Z @ 35 NONAME ; class TPtrC8 CSmsAlphabetConverter::ConvertFromNativeL(class TDesC16 const &)
-	?ConvertToETelMM@TGsmSmsTypeOfAddress@@QBEXAAW4TMobileTON@NMobilePhone@@AAW4TMobileNPI@3@@Z @ 36 NONAME ; void TGsmSmsTypeOfAddress::ConvertToETelMM(enum NMobilePhone::TMobileTON &, enum NMobilePhone::TMobileNPI &) const
-	?ConvertToHexLC@CSmsStackTestUtils@@QBEPAVHBufC8@@ABVTDesC8@@@Z @ 37 NONAME ; class HBufC8 * CSmsStackTestUtils::ConvertToHexLC(class TDesC8 const &) const
-	?ConvertToNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC16@@ABVTDesC8@@@Z @ 38 NONAME ; class TPtrC16 CSmsAlphabetConverter::ConvertToNativeL(class TDesC8 const &)
-	?CopyConfigFileL@CSmsStackTestUtils@@QAEXABVTDesC16@@PAVCSmsPduDatabase@@@Z @ 39 NONAME ; void CSmsStackTestUtils::CopyConfigFileL(class TDesC16 const &, class CSmsPduDatabase *)
-	?CopyL@CEmsAnimationIE@@QAEXABV1@@Z @ 40 NONAME ; void CEmsAnimationIE::CopyL(class CEmsAnimationIE const &)
-	?CopyL@CEmsFormatIE@@QAEXABV1@@Z @ 41 NONAME ; void CEmsFormatIE::CopyL(class CEmsFormatIE const &)
-	?CopyL@CEmsObjectDistribution@@QAEXABV1@@Z @ 42 NONAME ; void CEmsObjectDistribution::CopyL(class CEmsObjectDistribution const &)
-	?CopyL@CEmsPictureIE@@QAEXABV1@@Z @ 43 NONAME ; void CEmsPictureIE::CopyL(class CEmsPictureIE const &)
-	?CopyL@CEmsPreDefAnimationIE@@QAEXABV1@@Z @ 44 NONAME ; void CEmsPreDefAnimationIE::CopyL(class CEmsPreDefAnimationIE const &)
-	?CopyL@CEmsPreDefSoundIE@@QAEXABV1@@Z @ 45 NONAME ; void CEmsPreDefSoundIE::CopyL(class CEmsPreDefSoundIE const &)
-	?CopyL@CEmsSoundIE@@QAEXABV1@@Z @ 46 NONAME ; void CEmsSoundIE::CopyL(class CEmsSoundIE const &)
-	?CopyL@CEmsUserPrompt@@QAEXABV1@@Z @ 47 NONAME ; void CEmsUserPrompt::CopyL(class CEmsUserPrompt const &)
-	?CreateAnimationL@EmsTestUtils@@YAPAVCEmsAnimationIE@@H@Z @ 48 NONAME ; class CEmsAnimationIE * EmsTestUtils::CreateAnimationL(int)
-	?CreatePictureL@EmsTestUtils@@YAPAVCEmsPictureIE@@H@Z @ 49 NONAME ; class CEmsPictureIE * EmsTestUtils::CreatePictureL(int)
-	?CreateSmsMessageLC@CSmsStackTestUtils@@QAEPAVCSmsMessage@@W4TSmsPDUType@CSmsPDU@@ABVTDesC16@@1@Z @ 50 NONAME ; class CSmsMessage * CSmsStackTestUtils::CreateSmsMessageLC(enum CSmsPDU::TSmsPDUType, class TDesC16 const &, class TDesC16 const &)
-	?CreateTSmsServiceCenterTimeStampL@CSmsStackTestUtils@@QAEXXZ @ 51 NONAME ; void CSmsStackTestUtils::CreateTSmsServiceCenterTimeStampL(void)
-	?CreateTSmsValidityPeriodL@CSmsStackTestUtils@@QAEXXZ @ 52 NONAME ; void CSmsStackTestUtils::CreateTSmsValidityPeriodL(void)
-	?Data@CSmsInformationElement@@QAE?AVTPtr8@@XZ @ 53 NONAME ; class TPtr8 CSmsInformationElement::Data(void)
-	?Data@CSmsInformationElement@@QBEABVTDesC8@@XZ @ 54 NONAME ; class TDesC8 const & CSmsInformationElement::Data(void) const
-	?DecodeL@CSmsPduDbConcat@@QAEXAAVRFs@@@Z @ 55 NONAME ; void CSmsPduDbConcat::DecodeL(class RFs &)
-	?DecodeTSmsServiceCenterTimeStampL@CSmsStackTestUtils@@QAEXXZ @ 56 NONAME ; void CSmsStackTestUtils::DecodeTSmsServiceCenterTimeStampL(void)
-	?DecodeTSmsValidityPeriodL@CSmsStackTestUtils@@QAEXXZ @ 57 NONAME ; void CSmsStackTestUtils::DecodeTSmsValidityPeriodL(void)
-	?DeliverWithoutUserDataL@CSmsStackTestUtils@@QAEXAAVTGsmSms@@VTSmsFirstOctet@@ABVTGsmSmsTelNumber@@VTSmsProtocolIdentifier@@VTSmsDataCodingScheme@@ABVTTime@@H@Z @ 58 NONAME ; void CSmsStackTestUtils::DeliverWithoutUserDataL(class TGsmSms &, class TSmsFirstOctet, class TGsmSmsTelNumber const &, class TSmsProtocolIdentifier, class TSmsDataCodingScheme, class TTime const &, int)
-	?DuplicateL@CEmsAnimationIE@@UBEPAVCEmsInformationElement@@XZ @ 59 NONAME ; class CEmsInformationElement * CEmsAnimationIE::DuplicateL(void) const
-	?DuplicateL@CEmsFormatIE@@UBEPAVCEmsInformationElement@@XZ @ 60 NONAME ; class CEmsInformationElement * CEmsFormatIE::DuplicateL(void) const
-	?DuplicateL@CEmsObjectDistribution@@UBEPAVCEmsInformationElement@@XZ @ 61 NONAME ; class CEmsInformationElement * CEmsObjectDistribution::DuplicateL(void) const
-	?DuplicateL@CEmsPictureIE@@UBEPAVCEmsInformationElement@@XZ @ 62 NONAME ; class CEmsInformationElement * CEmsPictureIE::DuplicateL(void) const
-	?DuplicateL@CEmsPreDefAnimationIE@@UBEPAVCEmsInformationElement@@XZ @ 63 NONAME ; class CEmsInformationElement * CEmsPreDefAnimationIE::DuplicateL(void) const
-	?DuplicateL@CEmsPreDefSoundIE@@UBEPAVCEmsInformationElement@@XZ @ 64 NONAME ; class CEmsInformationElement * CEmsPreDefSoundIE::DuplicateL(void) const
-	?DuplicateL@CEmsSoundIE@@UBEPAVCEmsInformationElement@@XZ @ 65 NONAME ; class CEmsInformationElement * CEmsSoundIE::DuplicateL(void) const
-	?DuplicateL@CEmsUserPrompt@@UBEPAVCEmsInformationElement@@XZ @ 66 NONAME ; class CEmsInformationElement * CEmsUserPrompt::DuplicateL(void) const
-	?EncodeInformationElementL@CEmsInformationElement@@QAEXXZ @ 67 NONAME ; void CEmsInformationElement::EncodeInformationElementL(void)
-	?EncodeTSmsServiceCenterTimeStampL@CSmsStackTestUtils@@QAEXXZ @ 68 NONAME ; void CSmsStackTestUtils::EncodeTSmsServiceCenterTimeStampL(void)
-	?EncodeTSmsValidityPeriodL@CSmsStackTestUtils@@QAEXXZ @ 69 NONAME ; void CSmsStackTestUtils::EncodeTSmsValidityPeriodL(void)
-	?ExtensionIndicator@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 70 NONAME ; int CEnhancedVoiceMailBoxInformation::ExtensionIndicator(void) const
-	?FindElementL@EmsTestUtils@@YAPBVCEmsInformationElement@@ABVCSmsMessage@@W4TSmsInformationElementIdentifier@CSmsInformationElement@@@Z @ 71 NONAME ; class CEmsInformationElement const * EmsTestUtils::FindElementL(class CSmsMessage const &, enum CSmsInformationElement::TSmsInformationElementIdentifier)
-	?FirstDeliverOctet@CSmsStackTestUtils@@QAE?AVTSmsFirstOctet@@HHHH@Z @ 72 NONAME ; class TSmsFirstOctet CSmsStackTestUtils::FirstDeliverOctet(int, int, int, int)
-	?FontSize@CEmsFormatIE@@QBE?AW4TFontSize@1@XZ @ 73 NONAME ; enum CEmsFormatIE::TFontSize CEmsFormatIE::FontSize(void) const
-	?FormatLength@CEmsFormatIE@@QBEIXZ @ 74 NONAME ; unsigned int CEmsFormatIE::FormatLength(void) const
-	?Forwarding@CEmsObjectDistribution@@QBE?AW4TAttrs@1@XZ @ 75 NONAME ; enum CEmsObjectDistribution::TAttrs CEmsObjectDistribution::Forwarding(void) const
-	?GetBearerL@CSmsStackTestUtils@@QAEXAAW4TMobileSmsBearer@RMobileSmsMessaging@@@Z @ 76 NONAME ; void CSmsStackTestUtils::GetBearerL(enum RMobileSmsMessaging::TMobileSmsBearer &)
-	?GetBitmapL@CEmsAnimationIE@@QBEPAVCFbsBitmap@@XZ @ 77 NONAME ; class CFbsBitmap * CEmsAnimationIE::GetBitmapL(void) const
-	?GetBitmapL@CEmsPictureIE@@QBEPAVCFbsBitmap@@XZ @ 78 NONAME ; class CFbsBitmap * CEmsPictureIE::GetBitmapL(void) const
-	?GetConcatL@CSmsPduDatabase@@QBEXAAV?$RPointerArray@VCSmsPduDbConcat@@@@W4TSmsPDUType@CSmsPDU@@@Z @ 79 NONAME ; void CSmsPduDatabase::GetConcatL(class RPointerArray<class CSmsPduDbConcat> &, enum CSmsPDU::TSmsPDUType) const
-	?GetConcatLC@CSmsPduDatabase@@QBEPAVCSmsPduDbConcat@@W4TSmsPDUType@CSmsPDU@@H@Z @ 80 NONAME ; class CSmsPduDbConcat * CSmsPduDatabase::GetConcatLC(enum CSmsPDU::TSmsPDUType, int) const
-	?GetConcatSegmentLC@CSmsPduDatabase@@QBEPAVCSmsPduDbConcatSegment@@W4TSmsPDUType@CSmsPDU@@HH@Z @ 81 NONAME ; class CSmsPduDbConcatSegment * CSmsPduDatabase::GetConcatSegmentLC(enum CSmsPDU::TSmsPDUType, int, int) const
-	?GetHexPdu@CSmsPduDbPdu@@QBEXAAVTDes8@@@Z @ 82 NONAME ; void CSmsPduDbPdu::GetHexPdu(class TDes8 &) const
-	?GetLogEventL@CSmsStackTestUtils@@QAEXAAVCLogEvent@@H@Z @ 83 NONAME ; void CSmsStackTestUtils::GetLogEventL(class CLogEvent &, int)
-	?GetMessageL@CSmsPduDatabase@@QBEXAAV?$RPointerArray@VCSmsPduDbMessage@@@@W4TSmsPDUType@CSmsPDU@@@Z @ 84 NONAME ; void CSmsPduDatabase::GetMessageL(class RPointerArray<class CSmsPduDbMessage> &, enum CSmsPDU::TSmsPDUType) const
-	?GetMessageLC@CSmsPduDatabase@@QBEPAVCSmsPduDbMessage@@W4TSmsPDUType@CSmsPDU@@H@Z @ 85 NONAME ; class CSmsPduDbMessage * CSmsPduDatabase::GetMessageLC(enum CSmsPDU::TSmsPDUType, int) const
-	?GetPduL@CSmsPduDatabase@@QBEXAAV?$RPointerArray@VCSmsPduDbPdu@@@@W4TSmsPDUType@CSmsPDU@@@Z @ 86 NONAME ; void CSmsPduDatabase::GetPduL(class RPointerArray<class CSmsPduDbPdu> &, enum CSmsPDU::TSmsPDUType) const
-	?GetPduLC@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@W4TSmsPDUType@CSmsPDU@@H@Z @ 87 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::GetPduLC(enum CSmsPDU::TSmsPDUType, int) const
-	?GetSectionL@CSmsStackTestUtils@@QBEAAVCTestConfigSection@@AAVCTestConfig@@H@Z @ 88 NONAME ; class CTestConfigSection & CSmsStackTestUtils::GetSectionL(class CTestConfig &, int) const
-	?GetSmsList@CTestGetSmsList@@QAEXAAVTRequestStatus@@@Z @ 89 NONAME ; void CTestGetSmsList::GetSmsList(class TRequestStatus &)
-	?GetVoiceMailDeletions@CEnhancedVoiceMailDeleteConfirmations@@QAEAAV?$RPointerArray@VCVoiceMailDeletion@@@@XZ @ 90 NONAME ; class RPointerArray<class CVoiceMailDeletion> & CEnhancedVoiceMailDeleteConfirmations::GetVoiceMailDeletions(void)
-	?GetVoiceMailNotifications@CEnhancedVoiceMailNotification@@QAEAAV?$RPointerArray@VCVoiceMailNotification@@@@XZ @ 91 NONAME ; class RPointerArray<class CVoiceMailNotification> & CEnhancedVoiceMailNotification::GetVoiceMailNotifications(void)
-	?Identifier@CSmsInformationElement@@QBE?AW4TSmsInformationElementIdentifier@1@XZ @ 92 NONAME ; enum CSmsInformationElement::TSmsInformationElementIdentifier CSmsInformationElement::Identifier(void) const
-	?InformationElement@CSmsUserData@@QBEAAVCSmsInformationElement@@H@Z @ 93 NONAME ; class CSmsInformationElement & CSmsUserData::InformationElement(int) const
-	?InformationElementIndex@CSmsUserData@@QBEHW4TSmsInformationElementIdentifier@CSmsInformationElement@@AAH@Z @ 94 NONAME ; int CSmsUserData::InformationElementIndex(enum CSmsInformationElement::TSmsInformationElementIdentifier, int &) const
-	?IsInstanceOf@TGsmSmsTelNumber@@QAEHW4TTypeOfIndicator@1@@Z @ 95 NONAME ; int TGsmSmsTelNumber::IsInstanceOf(enum TGsmSmsTelNumber::TTypeOfIndicator)
-	?IsSupportedL@CSmsUserData@@QAEHVTChar@@@Z @ 96 NONAME ; int CSmsUserData::IsSupportedL(class TChar)
-	?Italic@CEmsFormatIE@@QBEHXZ @ 97 NONAME ; int CEmsFormatIE::Italic(void) const
+	?SendSmsCancelL@CSmsBaseTestStep@@QAEXPAVCSmsMessage@@AAVRSocket@@1@Z @ 1 NONAME ; void CSmsBaseTestStep::SendSmsCancelL(class CSmsMessage *, class RSocket &, class RSocket &)
+	?DuplicateL@CEmsObjectDistribution@@UBEPAVCEmsInformationElement@@XZ @ 2 NONAME ; class CEmsInformationElement * CEmsObjectDistribution::DuplicateL(void) const
+	?GetStringFromConfigL@CSmsBaseTestStep@@QAE?AVTPtrC16@@ABVTDesC16@@@Z @ 3 NONAME ; class TPtrC16 CSmsBaseTestStep::GetStringFromConfigL(class TDesC16 const &)
+	?NewL@CEmsObjectDistribution@@SAPAV1@IW4TAttrs@1@@Z @ 4 NONAME ; class CEmsObjectDistribution * CEmsObjectDistribution::NewL(unsigned int, enum CEmsObjectDistribution::TAttrs)
+	?AccessAddress@CEnhancedVoiceMailBoxInformation@@QBE?AVTPtrC16@@XZ @ 5 NONAME ; class TPtrC16 CEnhancedVoiceMailBoxInformation::AccessAddress(void) const
+	?CreateSmsMessageLC@CSmsBaseTestStep@@QAEPAVCSmsMessage@@ABVTDesC16@@W4TSmsAlphabet@TSmsDataCodingScheme@@W4TSmsPDUType@CSmsPDU@@@Z @ 6 NONAME ; class CSmsMessage * CSmsBaseTestStep::CreateSmsMessageLC(class TDesC16 const &, enum TSmsDataCodingScheme::TSmsAlphabet, enum CSmsPDU::TSmsPDUType)
+	?CreateSmsMessageLC@CSmsBaseTestStep@@QAEPAVCSmsMessage@@W4TSmsPDUType@CSmsPDU@@PAVCSmsBuffer@@ABVTDesC16@@@Z @ 7 NONAME ; class CSmsMessage * CSmsBaseTestStep::CreateSmsMessageLC(enum CSmsPDU::TSmsPDUType, class CSmsBuffer *, class TDesC16 const &)
+	?SetObjectCount@CEmsUserPrompt@@QAEXI@Z @ 8 NONAME ; void CEmsUserPrompt::SetObjectCount(unsigned int)
+	?SendSmsErrorL@CSmsBaseTestStep@@QAEHPAVCSmsMessage@@AAVRSocket@@@Z @ 9 NONAME ; int CSmsBaseTestStep::SendSmsErrorL(class CSmsMessage *, class RSocket &)
+	?DeleteSmsLeaveIfErrorL@CSmsBaseTestStep@@QAEXABVCSmsMessage@@AAVRSocket@@@Z @ 10 NONAME ; void CSmsBaseTestStep::DeleteSmsLeaveIfErrorL(class CSmsMessage const &, class RSocket &)
+	?AddLogEventL@CSmsStackTestUtils@@QAEJAAVCSmsMessage@@AAVTLogSmsPduData@@@Z @ 11 NONAME ; long CSmsStackTestUtils::AddLogEventL(class CSmsMessage &, class TLogSmsPduData &)
+	?FormatLength@CEmsFormatIE@@QBEIXZ @ 12 NONAME ; unsigned int CEmsFormatIE::FormatLength(void) const
+	?FindElementL@EmsTestUtils@@YAPBVCEmsInformationElement@@ABVCSmsMessage@@W4TSmsInformationElementIdentifier@CSmsInformationElement@@@Z @ 13 NONAME ; class CEmsInformationElement const * EmsTestUtils::FindElementL(class CSmsMessage const &, enum CSmsInformationElement::TSmsInformationElementIdentifier)
+	?Melody@CEmsSoundIE@@QBEPBVHBufC8@@XZ @ 14 NONAME ; class HBufC8 const * CEmsSoundIE::Melody(void) const
+	?Bold@CEmsFormatIE@@QBEHXZ @ 15 NONAME ; int CEmsFormatIE::Bold(void) const
+	?Receive@CTestReceiveMessages@@QAEXAAVTRequestStatus@@H@Z @ 16 NONAME ; void CTestReceiveMessages::Receive(class TRequestStatus &, int)
+	?doTestStepPreambleL@CSmsBaseTestStep@@UAE?AW4TVerdict@@XZ @ 17 NONAME ; enum TVerdict CSmsBaseTestStep::doTestStepPreambleL(void)
+	?ObjectCount@CEmsUserPrompt@@QBEIXZ @ 18 NONAME ; unsigned int CEmsUserPrompt::ObjectCount(void) const
+	?SendTestMessageL@CSmsBaseTestStep@@QAEXABVTTestCase@@AAVRSocket@@@Z @ 19 NONAME ; void CSmsBaseTestStep::SendTestMessageL(class TTestCase const &, class RSocket &)
+	?WaitForRecvL@CSmsBaseTestStep@@QAEXAAVRSocket@@@Z @ 20 NONAME ; void CSmsBaseTestStep::WaitForRecvL(class RSocket &)
+	?ConvertToHexLC@CSmsStackTestUtils@@QBEPAVHBufC8@@ABVTDesC8@@@Z @ 21 NONAME ; class HBufC8 * CSmsStackTestUtils::ConvertToHexLC(class TDesC8 const &) const
+	?CopyL@CEmsPreDefSoundIE@@QAEXABV1@@Z @ 22 NONAME ; void CEmsPreDefSoundIE::CopyL(class CEmsPreDefSoundIE const &)
+	?NewL@CEmsPreDefAnimationIE@@SAPAV1@W4TAnimType@1@@Z @ 23 NONAME ; class CEmsPreDefAnimationIE * CEmsPreDefAnimationIE::NewL(enum CEmsPreDefAnimationIE::TAnimType)
+	?Strikethrough@CEmsFormatIE@@QBEHXZ @ 24 NONAME ; int CEmsFormatIE::Strikethrough(void) const
+	?UpdatePhonePowerStatusL@CSmsBaseTestStep@@QAEXAAVRProperty@@W4TSAPhoneStatus@@@Z @ 25 NONAME ; void CSmsBaseTestStep::UpdatePhonePowerStatusL(class RProperty &, enum TSAPhoneStatus)
+	?SetStartPosition@CEmsInformationElement@@QAEXI@Z @ 26 NONAME ; void CEmsInformationElement::SetStartPosition(unsigned int)
+	?SendSmsDontCheckReturnValueL@CSmsBaseTestStep@@QAEXPAVCSmsMessage@@AAVRSocket@@@Z @ 27 NONAME ; void CSmsBaseTestStep::SendSmsDontCheckReturnValueL(class CSmsMessage *, class RSocket &)
+	?PrintSmspList@CSmsStackTestUtils@@QAEXAAVCMobilePhoneSmspList@@@Z @ 28 NONAME ; void CSmsStackTestUtils::PrintSmspList(class CMobilePhoneSmspList &)
+	??1CEmsAnimationIE@@UAE@XZ @ 29 NONAME ; CEmsAnimationIE::~CEmsAnimationIE(void)
+	?CompareUDL@CSmsStackTestUtils@@QAEXABVCSmsPDU@@ABVCSmsUserData@@@Z @ 30 NONAME ; void CSmsStackTestUtils::CompareUDL(class CSmsPDU const &, class CSmsUserData const &)
+	?RecvSmsFailedL@CSmsBaseTestStep@@QAEPAVCSmsMessage@@AAVRSocket@@@Z @ 31 NONAME ; class CSmsMessage * CSmsBaseTestStep::RecvSmsFailedL(class RSocket &)
+	?TestSendAndReceiveIndicatorMsgsL@CSmsBaseTestStep@@QAEXABV?$RPointerArray@VCSmsPduDbMessage@@@@PBV?$CArrayFixFlat@H@@11@Z @ 32 NONAME ; void CSmsBaseTestStep::TestSendAndReceiveIndicatorMsgsL(class RPointerArray<class CSmsPduDbMessage> const &, class CArrayFixFlat<int> const *, class CArrayFixFlat<int> const *, class CArrayFixFlat<int> const *)
+	?SetAlignment@CEmsFormatIE@@QAEXW4TAlignment@1@@Z @ 33 NONAME ; void CEmsFormatIE::SetAlignment(enum CEmsFormatIE::TAlignment)
+	?CreateSmsMessageL@CSmsBaseTestStep@@QAEPAVCSmsMessage@@ABVTDesC16@@W4TSmsAlphabet@TSmsDataCodingScheme@@W4TSmsPDUType@CSmsPDU@@@Z @ 34 NONAME ; class CSmsMessage * CSmsBaseTestStep::CreateSmsMessageL(class TDesC16 const &, enum TSmsDataCodingScheme::TSmsAlphabet, enum CSmsPDU::TSmsPDUType)
+	?SetTestNumberL@CSmsBaseTestStep@@QAEXHH@Z @ 35 NONAME ; void CSmsBaseTestStep::SetTestNumberL(int, int)
+	?Body@CSmsUserData@@QBE?AVTPtrC8@@XZ @ 36 NONAME ; class TPtrC8 CSmsUserData::Body(void) const
+	?Type@CEnhancedVoiceMailBoxInformation@@QBE?AW4TVoiceMailInfoType@@XZ @ 37 NONAME ; enum TVoiceMailInfoType CEnhancedVoiceMailBoxInformation::Type(void) const
+	?MaximumCapacity@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 38 NONAME ; int CEnhancedVoiceMailBoxInformation::MaximumCapacity(void) const
+	??0CSmsStackTestServer@@IAE@XZ @ 39 NONAME ; CSmsStackTestServer::CSmsStackTestServer(void)
+	?CompareEmsMsgL@EmsTestUtils@@YAHABVCSmsMessage@@0@Z @ 40 NONAME ; int EmsTestUtils::CompareEmsMsgL(class CSmsMessage const &, class CSmsMessage const &)
+	?RecvStatusReportL@CSmsBaseTestStep@@QAE?AW4TSmsStatusValue@TSmsStatus@@AAV?$TBuf@$0O@@@AAVRSocket@@@Z @ 41 NONAME ; enum TSmsStatus::TSmsStatusValue CSmsBaseTestStep::RecvStatusReportL(class TBuf<14> &, class RSocket &)
+	?AddSmsRxL@CSmsStackTestUtils@@QBEXAAVCTestConfig@@HAAVCSmsMessage@@ABVTDesC16@@@Z @ 42 NONAME ; void CSmsStackTestUtils::AddSmsRxL(class CTestConfig &, int, class CSmsMessage &, class TDesC16 const &) const
+	?ConvertToNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC16@@ABVTDesC8@@@Z @ 43 NONAME ; class TPtrC16 CSmsAlphabetConverter::ConvertToNativeL(class TDesC8 const &)
+	?NewL@CEnhancedVoiceMailDeleteConfirmations@@SAPAV1@XZ @ 44 NONAME ; class CEnhancedVoiceMailDeleteConfirmations * CEnhancedVoiceMailDeleteConfirmations::NewL(void)
+	?StartPosition@CEmsInformationElement@@QBEIXZ @ 45 NONAME ; unsigned int CEmsInformationElement::StartPosition(void) const
+	?ParsedAccessAddress@CEnhancedVoiceMailBoxInformation@@QBEXAAVTGsmSmsTelNumber@@@Z @ 46 NONAME ; void CEnhancedVoiceMailBoxInformation::ParsedAccessAddress(class TGsmSmsTelNumber &) const
+	?ObjectCount@CEmsObjectDistribution@@QBEIXZ @ 47 NONAME ; unsigned int CEmsObjectDistribution::ObjectCount(void) const
+	?SetStorage@CEnhancedVoiceMailBoxInformation@@QAEXH@Z @ 48 NONAME ; void CEnhancedVoiceMailBoxInformation::SetStorage(int)
+	?SetItalic@CEmsFormatIE@@QAEXH@Z @ 49 NONAME ; void CEmsFormatIE::SetItalic(int)
+	?SendCommandSmsL@CSmsBaseTestStep@@QAEXPAVCSmsMessage@@AAVRSocket@@@Z @ 50 NONAME ; void CSmsBaseTestStep::SendCommandSmsL(class CSmsMessage *, class RSocket &)
+	?NewL@CSmsPduDatabase@@SAPAV1@AAVRFs@@ABVCTestConfigSection@@@Z @ 51 NONAME ; class CSmsPduDatabase * CSmsPduDatabase::NewL(class RFs &, class CTestConfigSection const &)
+	?ReadSmsStoreL@CSmsBaseTestStep@@QAEXAAVRSocket@@AAV?$RPointerArray@VCSmsMessage@@@@AAVTRequestStatus@@@Z @ 52 NONAME ; void CSmsBaseTestStep::ReadSmsStoreL(class RSocket &, class RPointerArray<class CSmsMessage> &, class TRequestStatus &)
+	?GetSmsList@CTestGetSmsList@@QAEXAAVTRequestStatus@@@Z @ 53 NONAME ; void CTestGetSmsList::GetSmsList(class TRequestStatus &)
+	?CreatePictureL@EmsTestUtils@@YAPAVCEmsPictureIE@@H@Z @ 54 NONAME ; class CEmsPictureIE * EmsTestUtils::CreatePictureL(int)
+	?OpenSmsSocketL@CSmsBaseTestStep@@QAEXAAVRSocketServ@@AAVRSocket@@AAVTSmsAddr@@@Z @ 55 NONAME ; void CSmsBaseTestStep::OpenSmsSocketL(class RSocketServ &, class RSocket &, class TSmsAddr &)
+	?NewL@CEnhancedVoiceMailNotification@@SAPAV1@XZ @ 56 NONAME ; class CEnhancedVoiceMailNotification * CEnhancedVoiceMailNotification::NewL(void)
+	?SetFreeDiskSpaceL@CSmsBaseTestStep@@QAEX_J@Z @ 57 NONAME ; void CSmsBaseTestStep::SetFreeDiskSpaceL(long long)
+	?NewL@CSmsPduDbPdu@@SAPAV1@AAVRFs@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 58 NONAME ; class CSmsPduDbPdu * CSmsPduDbPdu::NewL(class RFs &, class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType)
+	?ConnectSocketServerL@CSmsBaseTestStep@@QAEXAAVRSocketServ@@@Z @ 59 NONAME ; void CSmsBaseTestStep::ConnectSocketServerL(class RSocketServ &)
+	??1CSmsStackTestServer@@UAE@XZ @ 60 NONAME ; CSmsStackTestServer::~CSmsStackTestServer(void)
+	?AppendUserDataL@CSmsStackTestUtils@@QAEXAAVTGsmSms@@ABVCSmsUserData@@H@Z @ 61 NONAME ; void CSmsStackTestUtils::AppendUserDataL(class TGsmSms &, class CSmsUserData const &, int)
+	?SetCallingLineIdentityL@CVoiceMailNotification@@QAEXAAVTDesC16@@@Z @ 62 NONAME ; void CVoiceMailNotification::SetCallingLineIdentityL(class TDesC16 &)
+	?Italic@CEmsFormatIE@@QBEHXZ @ 63 NONAME ; int CEmsFormatIE::Italic(void) const
+	?SetObjectCount@CEmsObjectDistribution@@QAEXI@Z @ 64 NONAME ; void CEmsObjectDistribution::SetObjectCount(unsigned int)
+	?RemoveLowHighLimitsFromSmsuRscL@CSmsBaseTestStep@@QAEXXZ @ 65 NONAME ; void CSmsBaseTestStep::RemoveLowHighLimitsFromSmsuRscL(void)
+	?TestPhoneNumbers@CSmsStackTestUtils@@QAEHABVTMobileAddress@RMobilePhone@@0@Z @ 66 NONAME ; int CSmsStackTestUtils::TestPhoneNumbers(class RMobilePhone::TMobileAddress const &, class RMobilePhone::TMobileAddress const &)
+	?SetUnderline@CEmsFormatIE@@QAEXH@Z @ 67 NONAME ; void CEmsFormatIE::SetUnderline(int)
+	?CopyL@CEmsSoundIE@@QAEXABV1@@Z @ 68 NONAME ; void CEmsSoundIE::CopyL(class CEmsSoundIE const &)
+	?NewLC@CSmsAlphabetConverter@@SAPAV1@AAVCCnvCharacterSetConverter@@AAVRFs@@W4TSmsAlphabet@TSmsDataCodingScheme@@H@Z @ 69 NONAME ; class CSmsAlphabetConverter * CSmsAlphabetConverter::NewLC(class CCnvCharacterSetConverter &, class RFs &, enum TSmsDataCodingScheme::TSmsAlphabet, int)
+	?NewL@CSmsStackTestUtils@@SAPAV1@PAVCTestStep@@AAVRFs@@@Z @ 70 NONAME ; class CSmsStackTestUtils * CSmsStackTestUtils::NewL(class CTestStep *, class RFs &)
+	?NewL@CEmsPreDefSoundIE@@SAPAV1@W4TPredefinedSound@1@@Z @ 71 NONAME ; class CEmsPreDefSoundIE * CEmsPreDefSoundIE::NewL(enum CEmsPreDefSoundIE::TPredefinedSound)
+	?AddInformationElementL@CSmsUserData@@QAEXW4TSmsInformationElementIdentifier@CSmsInformationElement@@ABVTDesC8@@@Z @ 72 NONAME ; void CSmsUserData::AddInformationElementL(enum CSmsInformationElement::TSmsInformationElementIdentifier, class TDesC8 const &)
+	?NewL@CVoiceMailNotification@@SAPAV1@XZ @ 73 NONAME ; class CVoiceMailNotification * CVoiceMailNotification::NewL(void)
+	?NewL@CEmsSoundIE@@SAPAV1@ABVTDesC8@@@Z @ 74 NONAME ; class CEmsSoundIE * CEmsSoundIE::NewL(class TDesC8 const &)
+	?PriorityIndication@CVoiceMailNotification@@QBEHXZ @ 75 NONAME ; int CVoiceMailNotification::PriorityIndication(void) const
+	?Animation@CEmsPreDefAnimationIE@@QBE?AW4TAnimType@1@XZ @ 76 NONAME ; enum CEmsPreDefAnimationIE::TAnimType CEmsPreDefAnimationIE::Animation(void) const
+	?InformationElementIndex@CSmsUserData@@QBEHW4TSmsInformationElementIdentifier@CSmsInformationElement@@AAH@Z @ 77 NONAME ; int CSmsUserData::InformationElementIndex(enum CSmsInformationElement::TSmsInformationElementIdentifier, int &) const
+	?IsSupportedL@CSmsUserData@@QBEHABVTDesC16@@W4TSmsEncoding@@AAH222@Z @ 78 NONAME ; int CSmsUserData::IsSupportedL(class TDesC16 const &, enum TSmsEncoding, int &, int &, int &, int &) const
+	?DoSendAndRecvSmsL@CSmsBaseTestStep@@QAEXABVTDesC16@@W4TSmsAlphabet@TSmsDataCodingScheme@@AAVRSocket@@@Z @ 79 NONAME ; void CSmsBaseTestStep::DoSendAndRecvSmsL(class TDesC16 const &, enum TSmsDataCodingScheme::TSmsAlphabet, class RSocket &)
+	?doTestStepPostambleL@CSmsBaseTestStep@@UAE?AW4TVerdict@@XZ @ 80 NONAME ; enum TVerdict CSmsBaseTestStep::doTestStepPostambleL(void)
+	??0TTestCase@@QAE@ABVTDesC16@@W4TSmsStatusReportRequest@TSmsFirstOctet@@@Z @ 81 NONAME ; TTestCase::TTestCase(class TDesC16 const &, enum TSmsFirstOctet::TSmsStatusReportRequest)
+	?RewriteFileL@CSmsPduDatabase@@QBEXABVTDesC16@@00@Z @ 82 NONAME ; void CSmsPduDatabase::RewriteFileL(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &) const
+	?NewL@CEmsPictureIE@@SAPAV1@ABVCFbsBitmap@@@Z @ 83 NONAME ; class CEmsPictureIE * CEmsPictureIE::NewL(class CFbsBitmap const &)
+	?SetLowHighLimitsInSmsuRscL@CSmsBaseTestStep@@QAEX_J0@Z @ 84 NONAME ; void CSmsBaseTestStep::SetLowHighLimitsInSmsuRscL(long long, long long)
+	?ReleaseDiskSpaceL@CSmsBaseTestStep@@QAEXXZ @ 85 NONAME ; void CSmsBaseTestStep::ReleaseDiskSpaceL(void)
+	?CopyConfigFileL@CSmsStackTestUtils@@QAEXABVTDesC16@@PAVCSmsPduDatabase@@@Z @ 86 NONAME ; void CSmsStackTestUtils::CopyConfigFileL(class TDesC16 const &, class CSmsPduDatabase *)
+	?NewL@CSmsPduDatabase@@SAPAV1@AAVRFs@@ABVTDesC8@@ABVTDesC16@@2@Z @ 87 NONAME ; class CSmsPduDatabase * CSmsPduDatabase::NewL(class RFs &, class TDesC8 const &, class TDesC16 const &, class TDesC16 const &)
+	?ParseSettingsFromFileL@CSmsBaseTestStep@@QAEXXZ @ 88 NONAME ; void CSmsBaseTestStep::ParseSettingsFromFileL(void)
+	?NewL@CEmsFormatIE@@SAPAV1@XZ @ 89 NONAME ; class CEmsFormatIE * CEmsFormatIE::NewL(void)
+	?SetProfile@CEnhancedVoiceMailBoxInformation@@QAEXW4TSmsMessageProfileType@@@Z @ 90 NONAME ; void CEnhancedVoiceMailBoxInformation::SetProfile(enum TSmsMessageProfileType)
+	?MaxBodyLengthInChars@CSmsUserData@@QBEHXZ @ 91 NONAME ; int CSmsUserData::MaxBodyLengthInChars(void) const
+	?DecodeTSmsServiceCenterTimeStampL@CSmsStackTestUtils@@QAEXXZ @ 92 NONAME ; void CSmsStackTestUtils::DecodeTSmsServiceCenterTimeStampL(void)
+	?GetConcatL@CSmsPduDatabase@@QBEXAAV?$RPointerArray@VCSmsPduDbConcat@@@@W4TSmsPDUType@CSmsPDU@@@Z @ 93 NONAME ; void CSmsPduDatabase::GetConcatL(class RPointerArray<class CSmsPduDbConcat> &, enum CSmsPDU::TSmsPDUType) const
+	?SetHighLowLimitsAndDiskSpaceLevelL@CSmsBaseTestStep@@QAE_KIII_K@Z @ 94 NONAME ; unsigned long long CSmsBaseTestStep::SetHighLowLimitsAndDiskSpaceLevelL(unsigned int, unsigned int, unsigned int, unsigned long long)
+	?SetBodyL@CSmsUserData@@QAEXABVTDesC8@@@Z @ 95 NONAME ; void CSmsUserData::SetBodyL(class TDesC8 const &)
+	??0CSmsBaseTestStep@@IAE@XZ @ 96 NONAME ; CSmsBaseTestStep::CSmsBaseTestStep(void)
+	?ParsedCallingLineIdentity@CVoiceMailNotification@@QBEXAAVTGsmSmsTelNumber@@@Z @ 97 NONAME ; void CVoiceMailNotification::ParsedCallingLineIdentity(class TGsmSmsTelNumber &) const
 	?Length@CEmsInformationElement@@QBEHXZ @ 98 NONAME ; int CEmsInformationElement::Length(void) const
-	?MakeParametersReadRequestL@CSmsStackTestUtils@@QAEXAAVRSocket@@@Z @ 99 NONAME ; void CSmsStackTestUtils::MakeParametersReadRequestL(class RSocket &)
-	?MaxBodyLengthInChars@CSmsUserData@@QBEHXZ @ 100 NONAME ; int CSmsUserData::MaxBodyLengthInChars(void) const
-	?MaximumCapacity@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 101 NONAME ; int CEnhancedVoiceMailBoxInformation::MaximumCapacity(void) const
-	?Melody@CEmsSoundIE@@QBEPBVHBufC8@@XZ @ 102 NONAME ; class HBufC8 const * CEmsSoundIE::Melody(void) const
-	?MessageExtensionIndication@CVoiceMailDeletion@@QBEHXZ @ 103 NONAME ; int CVoiceMailDeletion::MessageExtensionIndication(void) const
-	?MessageExtensionIndication@CVoiceMailNotification@@QBEHXZ @ 104 NONAME ; int CVoiceMailNotification::MessageExtensionIndication(void) const
-	?MessageId@CVoiceMailDeletion@@QBEGXZ @ 105 NONAME ; unsigned short CVoiceMailDeletion::MessageId(void) const
-	?MessageId@CVoiceMailNotification@@QBEGXZ @ 106 NONAME ; unsigned short CVoiceMailNotification::MessageId(void) const
-	?MessageLength@CVoiceMailNotification@@QBEEXZ @ 107 NONAME ; unsigned char CVoiceMailNotification::MessageLength(void) const
-	?NewL@CEmsAnimationIE@@SAPAV1@ABVCFbsBitmap@@@Z @ 108 NONAME ; class CEmsAnimationIE * CEmsAnimationIE::NewL(class CFbsBitmap const &)
-	?NewL@CEmsFormatIE@@SAPAV1@XZ @ 109 NONAME ; class CEmsFormatIE * CEmsFormatIE::NewL(void)
-	?NewL@CEmsObjectDistribution@@SAPAV1@IW4TAttrs@1@@Z @ 110 NONAME ; class CEmsObjectDistribution * CEmsObjectDistribution::NewL(unsigned int, enum CEmsObjectDistribution::TAttrs)
-	?NewL@CEmsPictureIE@@SAPAV1@ABVCFbsBitmap@@@Z @ 111 NONAME ; class CEmsPictureIE * CEmsPictureIE::NewL(class CFbsBitmap const &)
-	?NewL@CEmsPreDefAnimationIE@@SAPAV1@W4TAnimType@1@@Z @ 112 NONAME ; class CEmsPreDefAnimationIE * CEmsPreDefAnimationIE::NewL(enum CEmsPreDefAnimationIE::TAnimType)
-	?NewL@CEmsPreDefSoundIE@@SAPAV1@W4TPredefinedSound@1@@Z @ 113 NONAME ; class CEmsPreDefSoundIE * CEmsPreDefSoundIE::NewL(enum CEmsPreDefSoundIE::TPredefinedSound)
-	?NewL@CEmsSoundIE@@SAPAV1@ABVTDesC8@@@Z @ 114 NONAME ; class CEmsSoundIE * CEmsSoundIE::NewL(class TDesC8 const &)
-	?NewL@CEmsUserPrompt@@SAPAV1@I@Z @ 115 NONAME ; class CEmsUserPrompt * CEmsUserPrompt::NewL(unsigned int)
-	?NewL@CEnhancedVoiceMailDeleteConfirmations@@SAPAV1@XZ @ 116 NONAME ; class CEnhancedVoiceMailDeleteConfirmations * CEnhancedVoiceMailDeleteConfirmations::NewL(void)
-	?NewL@CEnhancedVoiceMailNotification@@SAPAV1@XZ @ 117 NONAME ; class CEnhancedVoiceMailNotification * CEnhancedVoiceMailNotification::NewL(void)
-	?NewL@CSmsPduDatabase@@SAPAV1@AAVRFs@@@Z @ 118 NONAME ; class CSmsPduDatabase * CSmsPduDatabase::NewL(class RFs &)
-	?NewL@CSmsPduDatabase@@SAPAV1@AAVRFs@@ABVCTestConfigSection@@@Z @ 119 NONAME ; class CSmsPduDatabase * CSmsPduDatabase::NewL(class RFs &, class CTestConfigSection const &)
-	?NewL@CSmsPduDatabase@@SAPAV1@AAVRFs@@ABVTDesC8@@ABVTDesC16@@2@Z @ 120 NONAME ; class CSmsPduDatabase * CSmsPduDatabase::NewL(class RFs &, class TDesC8 const &, class TDesC16 const &, class TDesC16 const &)
-	?NewL@CSmsPduDbConcatSegment@@SAPAV1@AAVRFs@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 121 NONAME ; class CSmsPduDbConcatSegment * CSmsPduDbConcatSegment::NewL(class RFs &, class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType)
-	?NewL@CSmsPduDbMessage@@SAPAV1@AAVRFs@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 122 NONAME ; class CSmsPduDbMessage * CSmsPduDbMessage::NewL(class RFs &, class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType)
-	?NewL@CSmsPduDbPdu@@SAPAV1@AAVRFs@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 123 NONAME ; class CSmsPduDbPdu * CSmsPduDbPdu::NewL(class RFs &, class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType)
-	?NewL@CSmsStackTestUtils@@SAPAV1@PAVCTestStep@@AAVRFs@@@Z @ 124 NONAME ; class CSmsStackTestUtils * CSmsStackTestUtils::NewL(class CTestStep *, class RFs &)
-	?NewL@CTestGetSmsList@@SAPAV1@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 125 NONAME ; class CTestGetSmsList * CTestGetSmsList::NewL(int, class RSocketServ &, class CSmsStackTestUtils &)
-	?NewL@CTestReceiveEnumerateMessages@@SAPAV1@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 126 NONAME ; class CTestReceiveEnumerateMessages * CTestReceiveEnumerateMessages::NewL(int, class RSocketServ &, class CSmsStackTestUtils &)
-	?NewL@CTestReceiveMessages@@SAPAV1@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 127 NONAME ; class CTestReceiveMessages * CTestReceiveMessages::NewL(int, class RSocketServ &, class CSmsStackTestUtils &)
-	?NewL@CVoiceMailDeletion@@SAPAV1@XZ @ 128 NONAME ; class CVoiceMailDeletion * CVoiceMailDeletion::NewL(void)
-	?NewL@CVoiceMailNotification@@SAPAV1@XZ @ 129 NONAME ; class CVoiceMailNotification * CVoiceMailNotification::NewL(void)
-	?NewLC@CSmsAlphabetConverter@@SAPAV1@AAVCCnvCharacterSetConverter@@AAVRFs@@W4TSmsAlphabet@TSmsDataCodingScheme@@H@Z @ 130 NONAME ; class CSmsAlphabetConverter * CSmsAlphabetConverter::NewLC(class CCnvCharacterSetConverter &, class RFs &, enum TSmsDataCodingScheme::TSmsAlphabet, int)
-	?NumberOfDeletes@CEnhancedVoiceMailDeleteConfirmations@@QAEEXZ @ 131 NONAME ; unsigned char CEnhancedVoiceMailDeleteConfirmations::NumberOfDeletes(void)
-	?NumberOfVoiceMails@CEnhancedVoiceMailNotification@@QAEEXZ @ 132 NONAME ; unsigned char CEnhancedVoiceMailNotification::NumberOfVoiceMails(void)
-	?NumberOfVoiceMessages@CEnhancedVoiceMailBoxInformation@@QBEEXZ @ 133 NONAME ; unsigned char CEnhancedVoiceMailBoxInformation::NumberOfVoiceMessages(void) const
-	?ObjectCount@CEmsObjectDistribution@@QBEIXZ @ 134 NONAME ; unsigned int CEmsObjectDistribution::ObjectCount(void) const
-	?ObjectCount@CEmsUserPrompt@@QBEIXZ @ 135 NONAME ; unsigned int CEmsUserPrompt::ObjectCount(void) const
-	?OpenSmsSocketL@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@AAVTSmsAddr@@@Z @ 136 NONAME ; void CSmsStackTestUtils::OpenSmsSocketL(class RSocketServ &, class RSocket &, class TSmsAddr &)
-	?OpenSmsSocketL@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@W4TSmsAddrFamily@@@Z @ 137 NONAME ; void CSmsStackTestUtils::OpenSmsSocketL(class RSocketServ &, class RSocket &, enum TSmsAddrFamily)
-	?OpenSmsSocketLC@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@AAVTSmsAddr@@@Z @ 138 NONAME ; void CSmsStackTestUtils::OpenSmsSocketLC(class RSocketServ &, class RSocket &, class TSmsAddr &)
-	?OpenSmsSocketLC@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@W4TSmsAddrFamily@@@Z @ 139 NONAME ; void CSmsStackTestUtils::OpenSmsSocketLC(class RSocketServ &, class RSocket &, enum TSmsAddrFamily)
-	?ParsedAccessAddress@CEnhancedVoiceMailBoxInformation@@QBEXAAVTGsmSmsTelNumber@@@Z @ 140 NONAME ; void CEnhancedVoiceMailBoxInformation::ParsedAccessAddress(class TGsmSmsTelNumber &) const
-	?ParsedCallingLineIdentity@CVoiceMailNotification@@QBEXAAVTGsmSmsTelNumber@@@Z @ 141 NONAME ; void CVoiceMailNotification::ParsedCallingLineIdentity(class TGsmSmsTelNumber &) const
-	?PduFactory@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 142 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactory(class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType) const
-	?PduFactory@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVTDesC8@@W4TSmsPDUType@CSmsPDU@@@Z @ 143 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactory(class TDesC8 const &, enum CSmsPDU::TSmsPDUType) const
-	?PduFactoryL@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 144 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactoryL(class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType) const
-	?PduFactoryL@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVTDesC8@@W4TSmsPDUType@CSmsPDU@@@Z @ 145 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactoryL(class TDesC8 const &, enum CSmsPDU::TSmsPDUType) const
-	?PredefinedSound@CEmsPreDefSoundIE@@QBE?AW4TPredefinedSound@1@XZ @ 146 NONAME ; enum CEmsPreDefSoundIE::TPredefinedSound CEmsPreDefSoundIE::PredefinedSound(void) const
-	?PrintAndTestDecodeL@CSmsStackTestUtils@@QAEXABVTGsmSms@@VTSmsDataCodingScheme@@VTSmsProtocolIdentifier@@ABVCSmsUserData@@HH@Z @ 147 NONAME ; void CSmsStackTestUtils::PrintAndTestDecodeL(class TGsmSms const &, class TSmsDataCodingScheme, class TSmsProtocolIdentifier, class CSmsUserData const &, int, int)
-	?PrintSmspEntry@CSmsStackTestUtils@@QAEXAAVTMobileSmspEntryV1@RMobileSmsMessaging@@@Z @ 148 NONAME ; void CSmsStackTestUtils::PrintSmspEntry(class RMobileSmsMessaging::TMobileSmspEntryV1 &)
-	?PrintSmspList@CSmsStackTestUtils@@QAEXAAVCMobilePhoneSmspList@@@Z @ 149 NONAME ; void CSmsStackTestUtils::PrintSmspList(class CMobilePhoneSmspList &)
-	?PriorityIndication@CVoiceMailNotification@@QBEHXZ @ 150 NONAME ; int CVoiceMailNotification::PriorityIndication(void) const
-	?Profile@CEnhancedVoiceMailBoxInformation@@QBE?AW4TSmsMessageProfileType@@XZ @ 151 NONAME ; enum TSmsMessageProfileType CEnhancedVoiceMailBoxInformation::Profile(void) const
-	?Receive@CTestReceiveMessages@@QAEXAAVTRequestStatus@@H@Z @ 152 NONAME ; void CTestReceiveMessages::Receive(class TRequestStatus &, int)
-	?Receive@CTestReceiveMessages@@QAEXXZ @ 153 NONAME ; void CTestReceiveMessages::Receive(void)
-	?RemoveInformationElement@CSmsUserData@@QAEXH@Z @ 154 NONAME ; void CSmsUserData::RemoveInformationElement(int)
-	?RetentionDays@CVoiceMailNotification@@QBEEXZ @ 155 NONAME ; unsigned char CVoiceMailNotification::RetentionDays(void) const
-	?RetrieveParamsL@CSmsStackTestUtils@@QAEHAAVCMobilePhoneSmspList@@AAVRSocket@@H@Z @ 156 NONAME ; int CSmsStackTestUtils::RetrieveParamsL(class CMobilePhoneSmspList &, class RSocket &, int)
-	?RewriteFileL@CSmsPduDatabase@@QBEXABVTDesC16@@00@Z @ 157 NONAME ; void CSmsPduDatabase::RewriteFileL(class TDesC16 const &, class TDesC16 const &, class TDesC16 const &) const
-	?SendSmsAndChangeBearerL@CSmsStackTestUtils@@QAEXPAVCSmsMessage@@AAVRSocket@@W4TMobileSmsBearer@RMobileSmsMessaging@@@Z @ 158 NONAME ; void CSmsStackTestUtils::SendSmsAndChangeBearerL(class CSmsMessage *, class RSocket &, enum RMobileSmsMessaging::TMobileSmsBearer)
-	?SetAccessAddressL@CEnhancedVoiceMailBoxInformation@@QAEXABVTDesC16@@@Z @ 159 NONAME ; void CEnhancedVoiceMailBoxInformation::SetAccessAddressL(class TDesC16 const &)
-	?SetAlignment@CEmsFormatIE@@QAEXW4TAlignment@1@@Z @ 160 NONAME ; void CEmsFormatIE::SetAlignment(enum CEmsFormatIE::TAlignment)
-	?SetAlmostMaximumCapacity@CEnhancedVoiceMailBoxInformation@@QAEXH@Z @ 161 NONAME ; void CEnhancedVoiceMailBoxInformation::SetAlmostMaximumCapacity(int)
-	?SetAnimationL@CEmsPreDefAnimationIE@@QAEXW4TAnimType@1@@Z @ 162 NONAME ; void CEmsPreDefAnimationIE::SetAnimationL(enum CEmsPreDefAnimationIE::TAnimType)
-	?SetBodyL@CSmsUserData@@QAEXABVTDesC8@@@Z @ 163 NONAME ; void CSmsUserData::SetBodyL(class TDesC8 const &)
-	?SetBold@CEmsFormatIE@@QAEXH@Z @ 164 NONAME ; void CEmsFormatIE::SetBold(int)
-	?SetCallingLineIdentityL@CVoiceMailNotification@@QAEXAAVTDesC16@@@Z @ 165 NONAME ; void CVoiceMailNotification::SetCallingLineIdentityL(class TDesC16 &)
-	?SetFontSize@CEmsFormatIE@@QAEXW4TFontSize@1@@Z @ 166 NONAME ; void CEmsFormatIE::SetFontSize(enum CEmsFormatIE::TFontSize)
-	?SetFormatLength@CEmsFormatIE@@QAEXI@Z @ 167 NONAME ; void CEmsFormatIE::SetFormatLength(unsigned int)
-	?SetForwarding@CEmsObjectDistribution@@QAEXW4TAttrs@1@@Z @ 168 NONAME ; void CEmsObjectDistribution::SetForwarding(enum CEmsObjectDistribution::TAttrs)
-	?SetFromETelMM@TGsmSmsTypeOfAddress@@QAEXW4TMobileTON@NMobilePhone@@W4TMobileNPI@3@@Z @ 169 NONAME ; void TGsmSmsTypeOfAddress::SetFromETelMM(enum NMobilePhone::TMobileTON, enum NMobilePhone::TMobileNPI)
-	?SetItalic@CEmsFormatIE@@QAEXH@Z @ 170 NONAME ; void CEmsFormatIE::SetItalic(int)
-	?SetMaximumCapacity@CEnhancedVoiceMailBoxInformation@@QAEXH@Z @ 171 NONAME ; void CEnhancedVoiceMailBoxInformation::SetMaximumCapacity(int)
-	?SetMessageId@CVoiceMailDeletion@@QAEXG@Z @ 172 NONAME ; void CVoiceMailDeletion::SetMessageId(unsigned short)
-	?SetMessageId@CVoiceMailNotification@@QAEXG@Z @ 173 NONAME ; void CVoiceMailNotification::SetMessageId(unsigned short)
-	?SetMessageLength@CVoiceMailNotification@@QAEXE@Z @ 174 NONAME ; void CVoiceMailNotification::SetMessageLength(unsigned char)
-	?SetNumberOfVoiceMessages@CEnhancedVoiceMailBoxInformation@@QAEXE@Z @ 175 NONAME ; void CEnhancedVoiceMailBoxInformation::SetNumberOfVoiceMessages(unsigned char)
-	?SetObjectCount@CEmsObjectDistribution@@QAEXI@Z @ 176 NONAME ; void CEmsObjectDistribution::SetObjectCount(unsigned int)
-	?SetObjectCount@CEmsUserPrompt@@QAEXI@Z @ 177 NONAME ; void CEmsUserPrompt::SetObjectCount(unsigned int)
-	?SetParsedAccessAddressL@CEnhancedVoiceMailBoxInformation@@QAEXABVTGsmSmsTelNumber@@@Z @ 178 NONAME ; void CEnhancedVoiceMailBoxInformation::SetParsedAccessAddressL(class TGsmSmsTelNumber const &)
-	?SetParsedCallingLineIdentityL@CVoiceMailNotification@@QAEXAAVTGsmSmsTelNumber@@@Z @ 179 NONAME ; void CVoiceMailNotification::SetParsedCallingLineIdentityL(class TGsmSmsTelNumber &)
-	?SetPriorityIndication@CVoiceMailNotification@@QAEXH@Z @ 180 NONAME ; void CVoiceMailNotification::SetPriorityIndication(int)
-	?SetProfile@CEnhancedVoiceMailBoxInformation@@QAEXW4TSmsMessageProfileType@@@Z @ 181 NONAME ; void CEnhancedVoiceMailBoxInformation::SetProfile(enum TSmsMessageProfileType)
-	?SetRetentionDays@CVoiceMailNotification@@QAEXE@Z @ 182 NONAME ; void CVoiceMailNotification::SetRetentionDays(unsigned char)
-	?SetStartPosition@CEmsInformationElement@@QAEXI@Z @ 183 NONAME ; void CEmsInformationElement::SetStartPosition(unsigned int)
-	?SetStorage@CEnhancedVoiceMailBoxInformation@@QAEXH@Z @ 184 NONAME ; void CEnhancedVoiceMailBoxInformation::SetStorage(int)
-	?SetStrikethrough@CEmsFormatIE@@QAEXH@Z @ 185 NONAME ; void CEmsFormatIE::SetStrikethrough(int)
-	?SetUnderline@CEmsFormatIE@@QAEXH@Z @ 186 NONAME ; void CEmsFormatIE::SetUnderline(int)
-	?SizeInPixels@CEmsPictureIE@@QBE?AVTSize@@XZ @ 187 NONAME ; class TSize CEmsPictureIE::SizeInPixels(void) const
-	?Start@CTestReceiveEnumerateMessages@@QAEXHHH@Z @ 188 NONAME ; void CTestReceiveEnumerateMessages::Start(int, int, int)
-	?StartPosition@CEmsInformationElement@@QBEIXZ @ 189 NONAME ; unsigned int CEmsInformationElement::StartPosition(void) const
-	?Store@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 190 NONAME ; int CEnhancedVoiceMailBoxInformation::Store(void) const
-	?StoreParamsL@CSmsStackTestUtils@@QAEHAAVCMobilePhoneSmspList@@AAVRSocket@@H@Z @ 191 NONAME ; int CSmsStackTestUtils::StoreParamsL(class CMobilePhoneSmspList &, class RSocket &, int)
-	?StoreParamsLeaveIfErrorL@CSmsStackTestUtils@@QAEXAAVCMobilePhoneSmspList@@AAVRSocket@@@Z @ 192 NONAME ; void CSmsStackTestUtils::StoreParamsLeaveIfErrorL(class CMobilePhoneSmspList &, class RSocket &)
-	?Strikethrough@CEmsFormatIE@@QBEHXZ @ 193 NONAME ; int CEmsFormatIE::Strikethrough(void) const
-	?TestParameters@CSmsStackTestUtils@@QAEHAAVCMobilePhoneSmspList@@0@Z @ 194 NONAME ; int CSmsStackTestUtils::TestParameters(class CMobilePhoneSmspList &, class CMobilePhoneSmspList &)
-	?TestPhoneNumbers@CSmsStackTestUtils@@QAEHABVTMobileAddress@RMobilePhone@@0@Z @ 195 NONAME ; int CSmsStackTestUtils::TestPhoneNumbers(class RMobilePhone::TMobileAddress const &, class RMobilePhone::TMobileAddress const &)
-	?Type@CEnhancedVoiceMailBoxInformation@@QBE?AW4TVoiceMailInfoType@@XZ @ 196 NONAME ; enum TVoiceMailInfoType CEnhancedVoiceMailBoxInformation::Type(void) const
-	?Underline@CEmsFormatIE@@QBEHXZ @ 197 NONAME ; int CEmsFormatIE::Underline(void) const
-	?WaitForInitializeL@CSmsStackTestUtils@@QAEXXZ @ 198 NONAME ; void CSmsStackTestUtils::WaitForInitializeL(void)
-	?ConvertFromNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC8@@ABVTDesC16@@W4TSmsEncoding@@AAH2@Z @ 199 NONAME ; class TPtrC8 CSmsAlphabetConverter::ConvertFromNativeL(class TDesC16 const &, enum TSmsEncoding, int &, int &)
-	?ConvertToNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC16@@ABVTDesC8@@W4TSmsEncoding@@@Z @ 200 NONAME ; class TPtrC16 CSmsAlphabetConverter::ConvertToNativeL(class TDesC8 const &, enum TSmsEncoding)
-	?IsSupportedL@CSmsUserData@@QBEHABVTDesC16@@W4TSmsEncoding@@AAH222@Z @ 201 NONAME ; int CSmsUserData::IsSupportedL(class TDesC16 const &, enum TSmsEncoding, int &, int &, int &, int &) const
-	?IsSupportedL@CSmsUserData@@QBEHABVTDesC16@@AAH1@Z @ 202 NONAME ; int CSmsUserData::IsSupportedL(class TDesC16 const &, int &, int &) const
-	?InformationElementLastIndex@CSmsUserData@@QBEHW4TSmsInformationElementIdentifier@CSmsInformationElement@@AAH@Z @ 203 NONAME ; int CSmsUserData::InformationElementLastIndex(enum CSmsInformationElement::TSmsInformationElementIdentifier, int &) const
-	?EnableLogging@CSmsStackTestUtils@@QAEXXZ @ 204 NONAME ; void CSmsStackTestUtils::EnableLogging(void)
-	?DisableLogging@CSmsStackTestUtils@@QAEXXZ @ 205 NONAME ; void CSmsStackTestUtils::DisableLogging(void)
+	?OpenSmsSocketL@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@W4TSmsAddrFamily@@@Z @ 99 NONAME ; void CSmsStackTestUtils::OpenSmsSocketL(class RSocketServ &, class RSocket &, enum TSmsAddrFamily)
+	?Profile@CEnhancedVoiceMailBoxInformation@@QBE?AW4TSmsMessageProfileType@@XZ @ 100 NONAME ; enum TSmsMessageProfileType CEnhancedVoiceMailBoxInformation::Profile(void) const
+	?SetBold@CEmsFormatIE@@QAEXH@Z @ 101 NONAME ; void CEmsFormatIE::SetBold(int)
+	?GetBitmapL@CEmsPictureIE@@QBEPAVCFbsBitmap@@XZ @ 102 NONAME ; class CFbsBitmap * CEmsPictureIE::GetBitmapL(void) const
+	?MessageExtensionIndication@CVoiceMailNotification@@QBEHXZ @ 103 NONAME ; int CVoiceMailNotification::MessageExtensionIndication(void) const
+	?SetSimTSYTestNumberL@CSmsBaseTestStep@@QAEXH@Z @ 104 NONAME ; void CSmsBaseTestStep::SetSimTSYTestNumberL(int)
+	?OpenSmsSocketL@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@AAVTSmsAddr@@@Z @ 105 NONAME ; void CSmsStackTestUtils::OpenSmsSocketL(class RSocketServ &, class RSocket &, class TSmsAddr &)
+	?GetPduL@CSmsPduDatabase@@QBEXAAV?$RPointerArray@VCSmsPduDbPdu@@@@W4TSmsPDUType@CSmsPDU@@@Z @ 106 NONAME ; void CSmsPduDatabase::GetPduL(class RPointerArray<class CSmsPduDbPdu> &, enum CSmsPDU::TSmsPDUType) const
+	?RemoveInformationElement@CSmsUserData@@QAEXH@Z @ 107 NONAME ; void CSmsUserData::RemoveInformationElement(int)
+	?Identifier@CSmsInformationElement@@QBE?AW4TSmsInformationElementIdentifier@1@XZ @ 108 NONAME ; enum CSmsInformationElement::TSmsInformationElementIdentifier CSmsInformationElement::Identifier(void) const
+	?SetMessageId@CVoiceMailDeletion@@QAEXG@Z @ 109 NONAME ; void CVoiceMailDeletion::SetMessageId(unsigned short)
+	?NewL@CEmsUserPrompt@@SAPAV1@I@Z @ 110 NONAME ; class CEmsUserPrompt * CEmsUserPrompt::NewL(unsigned int)
+	?MessageId@CVoiceMailDeletion@@QBEGXZ @ 111 NONAME ; unsigned short CVoiceMailDeletion::MessageId(void) const
+	?WriteSmsToSimL@CSmsBaseTestStep@@QAEXAAVCSmsMessage@@AAVRSocket@@@Z @ 112 NONAME ; void CSmsBaseTestStep::WriteSmsToSimL(class CSmsMessage &, class RSocket &)
+	?SetAnimationL@CEmsPreDefAnimationIE@@QAEXW4TAnimType@1@@Z @ 113 NONAME ; void CEmsPreDefAnimationIE::SetAnimationL(enum CEmsPreDefAnimationIE::TAnimType)
+	?SetValidityPeriod@TTestCase@@QAEXABVTTimeIntervalMinutes@@@Z @ 114 NONAME ; void TTestCase::SetValidityPeriod(class TTimeIntervalMinutes const &)
+	?CompareEmsIE@EmsTestUtils@@YAHABVCEmsInformationElement@@0@Z @ 115 NONAME ; int EmsTestUtils::CompareEmsIE(class CEmsInformationElement const &, class CEmsInformationElement const &)
+	?CreateSmsMessageLC@CSmsStackTestUtils@@QAEPAVCSmsMessage@@W4TSmsPDUType@CSmsPDU@@ABVTDesC16@@1@Z @ 116 NONAME ; class CSmsMessage * CSmsStackTestUtils::CreateSmsMessageLC(enum CSmsPDU::TSmsPDUType, class TDesC16 const &, class TDesC16 const &)
+	?GetPduLC@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@W4TSmsPDUType@CSmsPDU@@H@Z @ 117 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::GetPduLC(enum CSmsPDU::TSmsPDUType, int) const
+	?PrintMessageL@CSmsBaseTestStep@@QAEXPBVCSmsMessage@@@Z @ 118 NONAME ; void CSmsBaseTestStep::PrintMessageL(class CSmsMessage const *)
+	?CopyL@CEmsFormatIE@@QAEXABV1@@Z @ 119 NONAME ; void CEmsFormatIE::CopyL(class CEmsFormatIE const &)
+	?WriteSmsLeaveIfErrorL@CSmsBaseTestStep@@QAEXABVCSmsMessage@@AAVRSocket@@@Z @ 120 NONAME ; void CSmsBaseTestStep::WriteSmsLeaveIfErrorL(class CSmsMessage const &, class RSocket &)
+	?SizeInPixels@CEmsPictureIE@@QBE?AVTSize@@XZ @ 121 NONAME ; class TSize CEmsPictureIE::SizeInPixels(void) const
+	?DeleteSmsL@CSmsBaseTestStep@@QAEHABVCSmsMessage@@AAVRSocket@@H@Z @ 122 NONAME ; int CSmsBaseTestStep::DeleteSmsL(class CSmsMessage const &, class RSocket &, int)
+	?TestParameters@CSmsStackTestUtils@@QAEHAAVCMobilePhoneSmspList@@0@Z @ 123 NONAME ; int CSmsStackTestUtils::TestParameters(class CMobilePhoneSmspList &, class CMobilePhoneSmspList &)
+	??1CSmsStackTestUtils@@UAE@XZ @ 124 NONAME ; CSmsStackTestUtils::~CSmsStackTestUtils(void)
+	?GetLogEventL@CSmsStackTestUtils@@QAEXAAVCLogEvent@@H@Z @ 125 NONAME ; void CSmsStackTestUtils::GetLogEventL(class CLogEvent &, int)
+	?PrintMessageDetailedL@CSmsBaseTestStep@@QAEXPBVCSmsMessage@@@Z @ 126 NONAME ; void CSmsBaseTestStep::PrintMessageDetailedL(class CSmsMessage const *)
+	?DisableLogging@CSmsStackTestUtils@@QAEXXZ @ 127 NONAME ; void CSmsStackTestUtils::DisableLogging(void)
+	?CreateAnimationL@EmsTestUtils@@YAPAVCEmsAnimationIE@@H@Z @ 128 NONAME ; class CEmsAnimationIE * EmsTestUtils::CreateAnimationL(int)
+	?ChangeReceiveModeL@CSmsBaseTestStep@@QAEXW4TMobileSmsReceiveMode@RMobileSmsMessaging@@@Z @ 129 NONAME ; void CSmsBaseTestStep::ChangeReceiveModeL(enum RMobileSmsMessaging::TMobileSmsReceiveMode)
+	?DeliverWithoutUserDataL@CSmsStackTestUtils@@QAEXAAVTGsmSms@@VTSmsFirstOctet@@ABVTGsmSmsTelNumber@@VTSmsProtocolIdentifier@@VTSmsDataCodingScheme@@ABVTTime@@H@Z @ 130 NONAME ; void CSmsStackTestUtils::DeliverWithoutUserDataL(class TGsmSms &, class TSmsFirstOctet, class TGsmSmsTelNumber const &, class TSmsProtocolIdentifier, class TSmsDataCodingScheme, class TTime const &, int)
+	?OpenSmsSocketLC@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@W4TSmsAddrFamily@@@Z @ 131 NONAME ; void CSmsStackTestUtils::OpenSmsSocketLC(class RSocketServ &, class RSocket &, enum TSmsAddrFamily)
+	?OpenSmsSocketLC@CSmsStackTestUtils@@QAEXAAVRSocketServ@@AAVRSocket@@AAVTSmsAddr@@@Z @ 132 NONAME ; void CSmsStackTestUtils::OpenSmsSocketLC(class RSocketServ &, class RSocket &, class TSmsAddr &)
+	?InformationElementLastIndex@CSmsUserData@@QBEHW4TSmsInformationElementIdentifier@CSmsInformationElement@@AAH@Z @ 133 NONAME ; int CSmsUserData::InformationElementLastIndex(enum CSmsInformationElement::TSmsInformationElementIdentifier, int &) const
+	??1CEnhancedVoiceMailNotification@@UAE@XZ @ 134 NONAME ; CEnhancedVoiceMailNotification::~CEnhancedVoiceMailNotification(void)
+	?GetVoiceMailNotifications@CEnhancedVoiceMailNotification@@QAEAAV?$RPointerArray@VCVoiceMailNotification@@@@XZ @ 135 NONAME ; class RPointerArray<class CVoiceMailNotification> & CEnhancedVoiceMailNotification::GetVoiceMailNotifications(void)
+	?SetMessageLength@CVoiceMailNotification@@QAEXE@Z @ 136 NONAME ; void CVoiceMailNotification::SetMessageLength(unsigned char)
+	?CompareDCSL@CSmsStackTestUtils@@QAEXABVCSmsPDU@@VTSmsDataCodingScheme@@@Z @ 137 NONAME ; void CSmsStackTestUtils::CompareDCSL(class CSmsPDU const &, class TSmsDataCodingScheme)
+	?Receive@CTestReceiveMessages@@QAEXXZ @ 138 NONAME ; void CTestReceiveMessages::Receive(void)
+	?CreateSmsWithStatusReportReqL@CSmsBaseTestStep@@QAEPAVCSmsMessage@@ABVTDesC16@@W4TSmsAlphabet@TSmsDataCodingScheme@@@Z @ 139 NONAME ; class CSmsMessage * CSmsBaseTestStep::CreateSmsWithStatusReportReqL(class TDesC16 const &, enum TSmsDataCodingScheme::TSmsAlphabet)
+	??0CTestReceiveMessages@@IAE@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 140 NONAME ; CTestReceiveMessages::CTestReceiveMessages(int, class RSocketServ &, class CSmsStackTestUtils &)
+	?NewL@CTestReceiveEnumerateMessages@@SAPAV1@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 141 NONAME ; class CTestReceiveEnumerateMessages * CTestReceiveEnumerateMessages::NewL(int, class RSocketServ &, class CSmsStackTestUtils &)
+	?GetIntegerFromConfigL@CSmsBaseTestStep@@QAEHABVTDesC16@@@Z @ 142 NONAME ; int CSmsBaseTestStep::GetIntegerFromConfigL(class TDesC16 const &)
+	??1CEmsSoundIE@@UAE@XZ @ 143 NONAME ; CEmsSoundIE::~CEmsSoundIE(void)
+	?DoSingleTestCaseL@CSmsBaseTestStep@@QAEHABVTDesC8@@H@Z @ 144 NONAME ; int CSmsBaseTestStep::DoSingleTestCaseL(class TDesC8 const &, int)
+	??0TTestCase@@QAE@ABVTDesC16@@0@Z @ 145 NONAME ; TTestCase::TTestCase(class TDesC16 const &, class TDesC16 const &)
+	?Data@CSmsInformationElement@@QBEABVTDesC8@@XZ @ 146 NONAME ; class TDesC8 const & CSmsInformationElement::Data(void) const
+	?SetMessageId@CVoiceMailNotification@@QAEXG@Z @ 147 NONAME ; void CVoiceMailNotification::SetMessageId(unsigned short)
+	?MessageExtensionIndication@CVoiceMailDeletion@@QBEHXZ @ 148 NONAME ; int CVoiceMailDeletion::MessageExtensionIndication(void) const
+	??1CSmsBaseTestStep@@UAE@XZ @ 149 NONAME ; CSmsBaseTestStep::~CSmsBaseTestStep(void)
+	?ConvertFromNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC8@@ABVTDesC16@@W4TSmsEncoding@@AAH2@Z @ 150 NONAME ; class TPtrC8 CSmsAlphabetConverter::ConvertFromNativeL(class TDesC16 const &, enum TSmsEncoding, int &, int &)
+	?Store@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 151 NONAME ; int CEnhancedVoiceMailBoxInformation::Store(void) const
+	?PduFactory@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVTDesC8@@W4TSmsPDUType@CSmsPDU@@@Z @ 152 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactory(class TDesC8 const &, enum CSmsPDU::TSmsPDUType) const
+	?Alignment@CEmsFormatIE@@QBE?AW4TAlignment@1@XZ @ 153 NONAME ; enum CEmsFormatIE::TAlignment CEmsFormatIE::Alignment(void) const
+	?GetConcatSegmentLC@CSmsPduDatabase@@QBEPAVCSmsPduDbConcatSegment@@W4TSmsPDUType@CSmsPDU@@HH@Z @ 154 NONAME ; class CSmsPduDbConcatSegment * CSmsPduDatabase::GetConcatSegmentLC(enum CSmsPDU::TSmsPDUType, int, int) const
+	?DecodeL@CSmsPduDbConcat@@QAEXAAVRFs@@@Z @ 155 NONAME ; void CSmsPduDbConcat::DecodeL(class RFs &)
+	?DuplicateL@CEmsPreDefAnimationIE@@UBEPAVCEmsInformationElement@@XZ @ 156 NONAME ; class CEmsInformationElement * CEmsPreDefAnimationIE::DuplicateL(void) const
+	?EncodeTSmsServiceCenterTimeStampL@CSmsStackTestUtils@@QAEXXZ @ 157 NONAME ; void CSmsStackTestUtils::EncodeTSmsServiceCenterTimeStampL(void)
+	?RetrieveParamsL@CSmsStackTestUtils@@QAEHAAVCMobilePhoneSmspList@@AAVRSocket@@H@Z @ 158 NONAME ; int CSmsStackTestUtils::RetrieveParamsL(class CMobilePhoneSmspList &, class RSocket &, int)
+	?PduFactoryL@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 159 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactoryL(class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType) const
+	?NumberOfDeletes@CEnhancedVoiceMailDeleteConfirmations@@QAEEXZ @ 160 NONAME ; unsigned char CEnhancedVoiceMailDeleteConfirmations::NumberOfDeletes(void)
+	?SetIndicatorL@CSmsBaseTestStep@@QAEXABVTTestCase@@PAVCSmsMessage@@@Z @ 161 NONAME ; void CSmsBaseTestStep::SetIndicatorL(class TTestCase const &, class CSmsMessage *)
+	?Start@CTestReceiveEnumerateMessages@@QAEXHHH@Z @ 162 NONAME ; void CTestReceiveEnumerateMessages::Start(int, int, int)
+	?MessageId@CVoiceMailNotification@@QBEGXZ @ 163 NONAME ; unsigned short CVoiceMailNotification::MessageId(void) const
+	?StoreParamsL@CSmsStackTestUtils@@QAEHAAVCMobilePhoneSmspList@@AAVRSocket@@H@Z @ 164 NONAME ; int CSmsStackTestUtils::StoreParamsL(class CMobilePhoneSmspList &, class RSocket &, int)
+	??1CSmsAlphabetConverter@@UAE@XZ @ 165 NONAME ; CSmsAlphabetConverter::~CSmsAlphabetConverter(void)
+	?CopyL@CEmsObjectDistribution@@QAEXABV1@@Z @ 166 NONAME ; void CEmsObjectDistribution::CopyL(class CEmsObjectDistribution const &)
+	?GetVoiceMailDeletions@CEnhancedVoiceMailDeleteConfirmations@@QAEAAV?$RPointerArray@VCVoiceMailDeletion@@@@XZ @ 167 NONAME ; class RPointerArray<class CVoiceMailDeletion> & CEnhancedVoiceMailDeleteConfirmations::GetVoiceMailDeletions(void)
+	??0CTestReceiveEnumerateMessages@@IAE@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 168 NONAME ; CTestReceiveEnumerateMessages::CTestReceiveEnumerateMessages(int, class RSocketServ &, class CSmsStackTestUtils &)
+	??1CTestReceiveEnumerateMessages@@UAE@XZ @ 169 NONAME ; CTestReceiveEnumerateMessages::~CTestReceiveEnumerateMessages(void)
+	?NewL@CSmsPduDatabase@@SAPAV1@AAVRFs@@@Z @ 170 NONAME ; class CSmsPduDatabase * CSmsPduDatabase::NewL(class RFs &)
+	?CreateSMSL@CSmsBaseTestStep@@QAEPAVCSmsMessage@@XZ @ 171 NONAME ; class CSmsMessage * CSmsBaseTestStep::CreateSMSL(void)
+	?IsSupportedL@CSmsUserData@@QAEHVTChar@@@Z @ 172 NONAME ; int CSmsUserData::IsSupportedL(class TChar)
+	?SetSmsClass@TTestCase@@QAEXW4TSmsClass@TSmsDataCodingScheme@@@Z @ 173 NONAME ; void TTestCase::SetSmsClass(enum TSmsDataCodingScheme::TSmsClass)
+	?SendSmsL@CSmsBaseTestStep@@QAEXPBVCSmsMessage@@AAVRSocket@@HH@Z @ 174 NONAME ; void CSmsBaseTestStep::SendSmsL(class CSmsMessage const *, class RSocket &, int, int)
+	??1CVoiceMailNotification@@UAE@XZ @ 175 NONAME ; CVoiceMailNotification::~CVoiceMailNotification(void)
+	?DuplicateL@CEmsPreDefSoundIE@@UBEPAVCEmsInformationElement@@XZ @ 176 NONAME ; class CEmsInformationElement * CEmsPreDefSoundIE::DuplicateL(void) const
+	?CreateTSmsValidityPeriodL@CSmsStackTestUtils@@QAEXXZ @ 177 NONAME ; void CSmsStackTestUtils::CreateTSmsValidityPeriodL(void)
+	?TestSmsContentsL@CSmsBaseTestStep@@QAEXPAVCSmsMessage@@ABVTDesC16@@H@Z @ 178 NONAME ; void CSmsBaseTestStep::TestSmsContentsL(class CSmsMessage *, class TDesC16 const &, int)
+	?SetParsedAccessAddressL@CEnhancedVoiceMailBoxInformation@@QAEXABVTGsmSmsTelNumber@@@Z @ 179 NONAME ; void CEnhancedVoiceMailBoxInformation::SetParsedAccessAddressL(class TGsmSmsTelNumber const &)
+	??1CSmsPduDbBase@@UAE@XZ @ 180 NONAME ; CSmsPduDbBase::~CSmsPduDbBase(void)
+	?SetFreeDiskSpaceFromDropLevelL@CSmsBaseTestStep@@QAEXI_K@Z @ 181 NONAME ; void CSmsBaseTestStep::SetFreeDiskSpaceFromDropLevelL(unsigned int, unsigned long long)
+	?GetHexPdu@CSmsPduDbPdu@@QBEXAAVTDes8@@@Z @ 182 NONAME ; void CSmsPduDbPdu::GetHexPdu(class TDes8 &) const
+	?Forwarding@CEmsObjectDistribution@@QBE?AW4TAttrs@1@XZ @ 183 NONAME ; enum CEmsObjectDistribution::TAttrs CEmsObjectDistribution::Forwarding(void) const
+	?SetParsedCallingLineIdentityL@CVoiceMailNotification@@QAEXAAVTGsmSmsTelNumber@@@Z @ 184 NONAME ; void CVoiceMailNotification::SetParsedCallingLineIdentityL(class TGsmSmsTelNumber &)
+	?PrintSmspEntry@CSmsStackTestUtils@@QAEXAAVTMobileSmspEntryV1@RMobileSmsMessaging@@@Z @ 185 NONAME ; void CSmsStackTestUtils::PrintSmspEntry(class RMobileSmsMessaging::TMobileSmspEntryV1 &)
+	?Data@CSmsInformationElement@@QAE?AVTPtr8@@XZ @ 186 NONAME ; class TPtr8 CSmsInformationElement::Data(void)
+	?StoreParamsLeaveIfErrorL@CSmsStackTestUtils@@QAEXAAVCMobilePhoneSmspList@@AAVRSocket@@@Z @ 187 NONAME ; void CSmsStackTestUtils::StoreParamsLeaveIfErrorL(class CMobilePhoneSmspList &, class RSocket &)
+	?FirstDeliverOctet@CSmsStackTestUtils@@QAE?AVTSmsFirstOctet@@HHHH@Z @ 188 NONAME ; class TSmsFirstOctet CSmsStackTestUtils::FirstDeliverOctet(int, int, int, int)
+	?CopyL@CEmsPreDefAnimationIE@@QAEXABV1@@Z @ 189 NONAME ; void CEmsPreDefAnimationIE::CopyL(class CEmsPreDefAnimationIE const &)
+	?CopyL@CEmsAnimationIE@@QAEXABV1@@Z @ 190 NONAME ; void CEmsAnimationIE::CopyL(class CEmsAnimationIE const &)
+	?DuplicateL@CEmsFormatIE@@UBEPAVCEmsInformationElement@@XZ @ 191 NONAME ; class CEmsInformationElement * CEmsFormatIE::DuplicateL(void) const
+	?MessageLength@CVoiceMailNotification@@QBEEXZ @ 192 NONAME ; unsigned char CVoiceMailNotification::MessageLength(void) const
+	??1CSmsPduDbConcat@@UAE@XZ @ 193 NONAME ; CSmsPduDbConcat::~CSmsPduDbConcat(void)
+	?EnableLogging@CSmsStackTestUtils@@QAEXXZ @ 194 NONAME ; void CSmsStackTestUtils::EnableLogging(void)
+	?CommonInit@TTestCase@@AAEXXZ @ 195 NONAME ; void TTestCase::CommonInit(void)
+	?PduFactoryL@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVTDesC8@@W4TSmsPDUType@CSmsPDU@@@Z @ 196 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactoryL(class TDesC8 const &, enum CSmsPDU::TSmsPDUType) const
+	?AlmostMaximumCapacity@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 197 NONAME ; int CEnhancedVoiceMailBoxInformation::AlmostMaximumCapacity(void) const
+	?ReadSmsStoreL@CSmsBaseTestStep@@QAEXAAVRSocket@@AAV?$RPointerArray@VCSmsMessage@@@@@Z @ 198 NONAME ; void CSmsBaseTestStep::ReadSmsStoreL(class RSocket &, class RPointerArray<class CSmsMessage> &)
+	??0TTestCase@@QAE@ABVTDesC16@@W4TSmsInformationElementIdentifier@CSmsInformationElement@@@Z @ 199 NONAME ; TTestCase::TTestCase(class TDesC16 const &, enum CSmsInformationElement::TSmsInformationElementIdentifier)
+	?ComparePIDL@CSmsStackTestUtils@@QAEXABVCSmsPDU@@VTSmsProtocolIdentifier@@@Z @ 200 NONAME ; void CSmsStackTestUtils::ComparePIDL(class CSmsPDU const &, class TSmsProtocolIdentifier)
+	??4TTestCase@@QAEABV0@ABV0@@Z @ 201 NONAME ; class TTestCase const & TTestCase::operator=(class TTestCase const &)
+	?NewL@CSmsPduDbMessage@@SAPAV1@AAVRFs@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 202 NONAME ; class CSmsPduDbMessage * CSmsPduDbMessage::NewL(class RFs &, class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType)
+	?InformationElement@CSmsUserData@@QBEAAVCSmsInformationElement@@H@Z @ 203 NONAME ; class CSmsInformationElement & CSmsUserData::InformationElement(int) const
+	?DuplicateL@CEmsSoundIE@@UBEPAVCEmsInformationElement@@XZ @ 204 NONAME ; class CEmsInformationElement * CEmsSoundIE::DuplicateL(void) const
+	?NewL@CVoiceMailDeletion@@SAPAV1@XZ @ 205 NONAME ; class CVoiceMailDeletion * CVoiceMailDeletion::NewL(void)
+	?TestMessageContentsL@CSmsBaseTestStep@@QAEXPAVCSmsMessage@@ABVTTestCase@@@Z @ 206 NONAME ; void CSmsBaseTestStep::TestMessageContentsL(class CSmsMessage *, class TTestCase const &)
+	??1CEmsPictureIE@@UAE@XZ @ 207 NONAME ; CEmsPictureIE::~CEmsPictureIE(void)
+	?PrintAndTestDecodeL@CSmsStackTestUtils@@QAEXABVTGsmSms@@VTSmsDataCodingScheme@@VTSmsProtocolIdentifier@@ABVCSmsUserData@@HH@Z @ 208 NONAME ; void CSmsStackTestUtils::PrintAndTestDecodeL(class TGsmSms const &, class TSmsDataCodingScheme, class TSmsProtocolIdentifier, class CSmsUserData const &, int, int)
+	?SetRetentionDays@CVoiceMailNotification@@QAEXE@Z @ 209 NONAME ; void CVoiceMailNotification::SetRetentionDays(unsigned char)
+	?Underline@CEmsFormatIE@@QBEHXZ @ 210 NONAME ; int CEmsFormatIE::Underline(void) const
+	?TimedWaitForRecvL@CSmsBaseTestStep@@QAEHAAVRSocket@@I@Z @ 211 NONAME ; int CSmsBaseTestStep::TimedWaitForRecvL(class RSocket &, unsigned int)
+	?PredefinedSound@CEmsPreDefSoundIE@@QBE?AW4TPredefinedSound@1@XZ @ 212 NONAME ; enum CEmsPreDefSoundIE::TPredefinedSound CEmsPreDefSoundIE::PredefinedSound(void) const
+	?EncodeInformationElementL@CEmsInformationElement@@QAEXXZ @ 213 NONAME ; void CEmsInformationElement::EncodeInformationElementL(void)
+	?TestSendAndRecvMsgsWithDifferentTONL@CSmsBaseTestStep@@QAEXABV?$RPointerArray@VCSmsPduDbMessage@@@@PBV?$CArrayFixFlat@H@@1@Z @ 214 NONAME ; void CSmsBaseTestStep::TestSendAndRecvMsgsWithDifferentTONL(class RPointerArray<class CSmsPduDbMessage> const &, class CArrayFixFlat<int> const *, class CArrayFixFlat<int> const *)
+	?RecvSmsL@CSmsBaseTestStep@@QAEPAVCSmsMessage@@AAVRSocket@@H@Z @ 215 NONAME ; class CSmsMessage * CSmsBaseTestStep::RecvSmsL(class RSocket &, int)
+	?SetFormatLength@CEmsFormatIE@@QAEXI@Z @ 216 NONAME ; void CEmsFormatIE::SetFormatLength(unsigned int)
+	?GetSectionL@CSmsStackTestUtils@@QBEAAVCTestConfigSection@@AAVCTestConfig@@H@Z @ 217 NONAME ; class CTestConfigSection & CSmsStackTestUtils::GetSectionL(class CTestConfig &, int) const
+	?NumberOfVoiceMails@CEnhancedVoiceMailNotification@@QAEEXZ @ 218 NONAME ; unsigned char CEnhancedVoiceMailNotification::NumberOfVoiceMails(void)
+	?ReadPduL@CSmsBaseTestStep@@QAEXV?$TBuf8@$0EA@@@AAV?$RPointerArray@VCSmsPduDbMessage@@@@@Z @ 219 NONAME ; void CSmsBaseTestStep::ReadPduL(class TBuf8<64>, class RPointerArray<class CSmsPduDbMessage> &)
+	?SetNumberOfVoiceMessages@CEnhancedVoiceMailBoxInformation@@QAEXE@Z @ 220 NONAME ; void CEnhancedVoiceMailBoxInformation::SetNumberOfVoiceMessages(unsigned char)
+	?NewL@CEmsAnimationIE@@SAPAV1@ABVCFbsBitmap@@@Z @ 221 NONAME ; class CEmsAnimationIE * CEmsAnimationIE::NewL(class CFbsBitmap const &)
+	?RetentionDays@CVoiceMailNotification@@QBEEXZ @ 222 NONAME ; unsigned char CVoiceMailNotification::RetentionDays(void) const
+	??1CSmsPduDatabase@@UAE@XZ @ 223 NONAME ; CSmsPduDatabase::~CSmsPduDatabase(void)
+	?SetRecvForever@TTestCase@@QAEXXZ @ 224 NONAME ; void TTestCase::SetRecvForever(void)
+	?ExtensionIndicator@CEnhancedVoiceMailBoxInformation@@QBEHXZ @ 225 NONAME ; int CEnhancedVoiceMailBoxInformation::ExtensionIndicator(void) const
+	?ConvertToETelMM@TGsmSmsTypeOfAddress@@QBEXAAW4TMobileTON@NMobilePhone@@AAW4TMobileNPI@3@@Z @ 226 NONAME ; void TGsmSmsTypeOfAddress::ConvertToETelMM(enum NMobilePhone::TMobileTON &, enum NMobilePhone::TMobileNPI &) const
+	?ConvertFromNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC8@@ABVTDesC16@@@Z @ 227 NONAME ; class TPtrC8 CSmsAlphabetConverter::ConvertFromNativeL(class TDesC16 const &)
+	??0CTestGetSmsList@@IAE@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 228 NONAME ; CTestGetSmsList::CTestGetSmsList(int, class RSocketServ &, class CSmsStackTestUtils &)
+	?CopyL@CEmsUserPrompt@@QAEXABV1@@Z @ 229 NONAME ; void CEmsUserPrompt::CopyL(class CEmsUserPrompt const &)
+	?InitializeTsyAndPhonesL@CSmsStackTestServer@@IAEXXZ @ 230 NONAME ; void CSmsStackTestServer::InitializeTsyAndPhonesL(void)
+	?SetFromETelMM@TGsmSmsTypeOfAddress@@QAEXW4TMobileTON@NMobilePhone@@W4TMobileNPI@3@@Z @ 231 NONAME ; void TGsmSmsTypeOfAddress::SetFromETelMM(enum NMobilePhone::TMobileTON, enum NMobilePhone::TMobileNPI)
+	??1CEnhancedVoiceMailDeleteConfirmations@@UAE@XZ @ 232 NONAME ; CEnhancedVoiceMailDeleteConfirmations::~CEnhancedVoiceMailDeleteConfirmations(void)
+	?ConvertToNativeL@CSmsAlphabetConverter@@QAE?AVTPtrC16@@ABVTDesC8@@W4TSmsEncoding@@@Z @ 233 NONAME ; class TPtrC16 CSmsAlphabetConverter::ConvertToNativeL(class TDesC8 const &, enum TSmsEncoding)
+	?SetAccessAddressL@CEnhancedVoiceMailBoxInformation@@QAEXABVTDesC16@@@Z @ 234 NONAME ; void CEnhancedVoiceMailBoxInformation::SetAccessAddressL(class TDesC16 const &)
+	?IsSupportedL@CSmsUserData@@QBEHABVTDesC16@@AAH1@Z @ 235 NONAME ; int CSmsUserData::IsSupportedL(class TDesC16 const &, int &, int &) const
+	?SendAndRecvTestMessageL@CSmsBaseTestStep@@QAEXABVTTestCase@@AAVRSocket@@@Z @ 236 NONAME ; void CSmsBaseTestStep::SendAndRecvTestMessageL(class TTestCase const &, class RSocket &)
+	?NumberOfVoiceMessages@CEnhancedVoiceMailBoxInformation@@QBEEXZ @ 237 NONAME ; unsigned char CEnhancedVoiceMailBoxInformation::NumberOfVoiceMessages(void) const
+	?DuplicateL@CEmsUserPrompt@@UBEPAVCEmsInformationElement@@XZ @ 238 NONAME ; class CEmsInformationElement * CEmsUserPrompt::DuplicateL(void) const
+	?NewL@CTestReceiveMessages@@SAPAV1@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 239 NONAME ; class CTestReceiveMessages * CTestReceiveMessages::NewL(int, class RSocketServ &, class CSmsStackTestUtils &)
+	?SetFontSize@CEmsFormatIE@@QAEXW4TFontSize@1@@Z @ 240 NONAME ; void CEmsFormatIE::SetFontSize(enum CEmsFormatIE::TFontSize)
+	?IsInstanceOf@TGsmSmsTelNumber@@QAEHW4TTypeOfIndicator@1@@Z @ 241 NONAME ; int TGsmSmsTelNumber::IsInstanceOf(enum TGsmSmsTelNumber::TTypeOfIndicator)
+	?CreateTSmsServiceCenterTimeStampL@CSmsStackTestUtils@@QAEXXZ @ 242 NONAME ; void CSmsStackTestUtils::CreateTSmsServiceCenterTimeStampL(void)
+	?DuplicateL@CEmsPictureIE@@UBEPAVCEmsInformationElement@@XZ @ 243 NONAME ; class CEmsInformationElement * CEmsPictureIE::DuplicateL(void) const
+	?PduFactory@CSmsPduDatabase@@QBEPAVCSmsPduDbPdu@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 244 NONAME ; class CSmsPduDbPdu * CSmsPduDatabase::PduFactory(class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType) const
+	??0TTestCase@@QAE@ABVTDesC16@@@Z @ 245 NONAME ; TTestCase::TTestCase(class TDesC16 const &)
+	?FillDes@CSmsBaseTestStep@@QAEXAAVTDes16@@H@Z @ 246 NONAME ; void CSmsBaseTestStep::FillDes(class TDes16 &, int)
+	?SendSmsAndChangeBearerL@CSmsStackTestUtils@@QAEXPAVCSmsMessage@@AAVRSocket@@W4TMobileSmsBearer@RMobileSmsMessaging@@@Z @ 247 NONAME ; void CSmsStackTestUtils::SendSmsAndChangeBearerL(class CSmsMessage *, class RSocket &, enum RMobileSmsMessaging::TMobileSmsBearer)
+	?SetTestNumberFromConfigurationFileL@CSmsBaseTestStep@@QAEXXZ @ 248 NONAME ; void CSmsBaseTestStep::SetTestNumberFromConfigurationFileL(void)
+	?ChangeBearerL@CSmsStackTestUtils@@QAEXW4TMobileSmsBearer@RMobileSmsMessaging@@@Z @ 249 NONAME ; void CSmsStackTestUtils::ChangeBearerL(enum RMobileSmsMessaging::TMobileSmsBearer)
+	?CopyL@CEmsPictureIE@@QAEXABV1@@Z @ 250 NONAME ; void CEmsPictureIE::CopyL(class CEmsPictureIE const &)
+	?DecodeTSmsValidityPeriodL@CSmsStackTestUtils@@QAEXXZ @ 251 NONAME ; void CSmsStackTestUtils::DecodeTSmsValidityPeriodL(void)
+	?SendAndRecvSms7BitL@CSmsBaseTestStep@@QAEXABVTDesC16@@AAVRSocket@@@Z @ 252 NONAME ; void CSmsBaseTestStep::SendAndRecvSms7BitL(class TDesC16 const &, class RSocket &)
+	??0TTestCase@@QAE@XZ @ 253 NONAME ; TTestCase::TTestCase(void)
+	?CancelWriteSmsToSimL@CSmsBaseTestStep@@QAEHAAVCSmsMessage@@AAVRSocket@@H@Z @ 254 NONAME ; int CSmsBaseTestStep::CancelWriteSmsToSimL(class CSmsMessage &, class RSocket &, int)
+	?SetAlmostMaximumCapacity@CEnhancedVoiceMailBoxInformation@@QAEXH@Z @ 255 NONAME ; void CEnhancedVoiceMailBoxInformation::SetAlmostMaximumCapacity(int)
+	?GetBitmapL@CEmsAnimationIE@@QBEPAVCFbsBitmap@@XZ @ 256 NONAME ; class CFbsBitmap * CEmsAnimationIE::GetBitmapL(void) const
+	?SetPriorityIndication@CVoiceMailNotification@@QAEXH@Z @ 257 NONAME ; void CVoiceMailNotification::SetPriorityIndication(int)
+	?FontSize@CEmsFormatIE@@QBE?AW4TFontSize@1@XZ @ 258 NONAME ; enum CEmsFormatIE::TFontSize CEmsFormatIE::FontSize(void) const
+	?GetBearerL@CSmsStackTestUtils@@QAEXAAW4TMobileSmsBearer@RMobileSmsMessaging@@@Z @ 259 NONAME ; void CSmsStackTestUtils::GetBearerL(enum RMobileSmsMessaging::TMobileSmsBearer &)
+	??0TTestCase@@QAE@ABVTDesC16@@W4TSmsIndicationType@TSmsDataCodingScheme@@W4TSmsDCSBits7To4@3@W4TSmsIndicationState@3@@Z @ 260 NONAME ; TTestCase::TTestCase(class TDesC16 const &, enum TSmsDataCodingScheme::TSmsIndicationType, enum TSmsDataCodingScheme::TSmsDCSBits7To4, enum TSmsDataCodingScheme::TSmsIndicationState)
+	?GetMessageL@CSmsPduDatabase@@QBEXAAV?$RPointerArray@VCSmsPduDbMessage@@@@W4TSmsPDUType@CSmsPDU@@@Z @ 261 NONAME ; void CSmsPduDatabase::GetMessageL(class RPointerArray<class CSmsPduDbMessage> &, enum CSmsPDU::TSmsPDUType) const
+	?MakeReadSmsStoreRequestL@CSmsBaseTestStep@@QAEHAAVRSocket@@@Z @ 262 NONAME ; int CSmsBaseTestStep::MakeReadSmsStoreRequestL(class RSocket &)
+	??1CVoiceMailDeletion@@UAE@XZ @ 263 NONAME ; CVoiceMailDeletion::~CVoiceMailDeletion(void)
+	?EncodeTSmsValidityPeriodL@CSmsStackTestUtils@@QAEXXZ @ 264 NONAME ; void CSmsStackTestUtils::EncodeTSmsValidityPeriodL(void)
+	?MakeParametersReadRequestL@CSmsStackTestUtils@@QAEXAAVRSocket@@@Z @ 265 NONAME ; void CSmsStackTestUtils::MakeParametersReadRequestL(class RSocket &)
+	?NewL@CTestGetSmsList@@SAPAV1@HAAVRSocketServ@@AAVCSmsStackTestUtils@@@Z @ 266 NONAME ; class CTestGetSmsList * CTestGetSmsList::NewL(int, class RSocketServ &, class CSmsStackTestUtils &)
+	?GetConcatLC@CSmsPduDatabase@@QBEPAVCSmsPduDbConcat@@W4TSmsPDUType@CSmsPDU@@H@Z @ 267 NONAME ; class CSmsPduDbConcat * CSmsPduDatabase::GetConcatLC(enum CSmsPDU::TSmsPDUType, int) const
+	?SetMaximumCapacity@CEnhancedVoiceMailBoxInformation@@QAEXH@Z @ 268 NONAME ; void CEnhancedVoiceMailBoxInformation::SetMaximumCapacity(int)
+	?SetStrikethrough@CEmsFormatIE@@QAEXH@Z @ 269 NONAME ; void CEmsFormatIE::SetStrikethrough(int)
+	?DuplicateL@CEmsAnimationIE@@UBEPAVCEmsInformationElement@@XZ @ 270 NONAME ; class CEmsInformationElement * CEmsAnimationIE::DuplicateL(void) const
+	?ConnectSocketServerLC@CSmsBaseTestStep@@QAEXAAVRSocketServ@@@Z @ 271 NONAME ; void CSmsBaseTestStep::ConnectSocketServerLC(class RSocketServ &)
+	?DoESockMemoryLeakTestL@CSmsBaseTestStep@@QAEXXZ @ 272 NONAME ; void CSmsBaseTestStep::DoESockMemoryLeakTestL(void)
+	?GetMessageLC@CSmsPduDatabase@@QBEPAVCSmsPduDbMessage@@W4TSmsPDUType@CSmsPDU@@H@Z @ 273 NONAME ; class CSmsPduDbMessage * CSmsPduDatabase::GetMessageLC(enum CSmsPDU::TSmsPDUType, int) const
+	?OpenSmsSocketL@CSmsBaseTestStep@@QAEXAAVRSocketServ@@AAVRSocket@@W4TSmsAddrFamily@@@Z @ 274 NONAME ; void CSmsBaseTestStep::OpenSmsSocketL(class RSocketServ &, class RSocket &, enum TSmsAddrFamily)
+	?SetForwarding@CEmsObjectDistribution@@QAEXW4TAttrs@1@@Z @ 275 NONAME ; void CEmsObjectDistribution::SetForwarding(enum CEmsObjectDistribution::TAttrs)
+	?CallingLineIdentity@CVoiceMailNotification@@QBE?AVTPtrC16@@XZ @ 276 NONAME ; class TPtrC16 CVoiceMailNotification::CallingLineIdentity(void) const
+	?NewL@CSmsPduDbConcatSegment@@SAPAV1@AAVRFs@@ABVCTestConfigItem@@W4TSmsPDUType@CSmsPDU@@@Z @ 277 NONAME ; class CSmsPduDbConcatSegment * CSmsPduDbConcatSegment::NewL(class RFs &, class CTestConfigItem const &, enum CSmsPDU::TSmsPDUType)
+	?AddSmsTxL@CSmsStackTestUtils@@QBEXAAVCTestConfig@@HAAVCSmsMessage@@ABVTDesC16@@HPAV3@H@Z @ 278 NONAME ; void CSmsStackTestUtils::AddSmsTxL(class CTestConfig &, int, class CSmsMessage &, class TDesC16 const &, int, class CSmsMessage *, int) const
 
Binary file smsprotocols/smsstack/test/configfiles/PDU Book.xls has changed
--- a/smsprotocols/smsstack/test/eabi/smsstacktestutilitiesU.def	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/eabi/smsstacktestutilitiesU.def	Fri Apr 16 16:12:37 2010 +0300
@@ -51,240 +51,329 @@
 	_ZN15CSmsPduDbConcatD2Ev @ 50 NONAME
 	_ZN15CTestGetSmsList10GetSmsListER14TRequestStatus @ 51 NONAME
 	_ZN15CTestGetSmsList4NewLEiR11RSocketServR18CSmsStackTestUtils @ 52 NONAME
-	_ZN16CSmsPduDbMessage4NewLER3RFsRK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 53 NONAME
-	_ZN16TGsmSmsTelNumber12IsInstanceOfENS_16TTypeOfIndicatorE @ 54 NONAME
-	_ZN17CEmsPreDefSoundIE4NewLENS_16TPredefinedSoundE @ 55 NONAME
-	_ZN17CEmsPreDefSoundIE5CopyLERKS_ @ 56 NONAME
-	_ZN18CSmsStackTestUtils10CompareUDLERK7CSmsPDURK12CSmsUserData @ 57 NONAME
-	_ZN18CSmsStackTestUtils10GetBearerLERN19RMobileSmsMessaging16TMobileSmsBearerE @ 58 NONAME
-	_ZN18CSmsStackTestUtils11CompareDCSLERK7CSmsPDU20TSmsDataCodingScheme @ 59 NONAME
-	_ZN18CSmsStackTestUtils11ComparePIDLERK7CSmsPDU22TSmsProtocolIdentifier @ 60 NONAME
-	_ZN18CSmsStackTestUtils12AddLogEventLER11CSmsMessageR14TLogSmsPduData @ 61 NONAME
-	_ZN18CSmsStackTestUtils12GetLogEventLER9CLogEventi @ 62 NONAME
-	_ZN18CSmsStackTestUtils12StoreParamsLER20CMobilePhoneSmspListR7RSocketi @ 63 NONAME
-	_ZN18CSmsStackTestUtils13ChangeBearerLEN19RMobileSmsMessaging16TMobileSmsBearerE @ 64 NONAME
-	_ZN18CSmsStackTestUtils13PrintSmspListER20CMobilePhoneSmspList @ 65 NONAME
-	_ZN18CSmsStackTestUtils14OpenSmsSocketLER11RSocketServR7RSocket14TSmsAddrFamily @ 66 NONAME
-	_ZN18CSmsStackTestUtils14OpenSmsSocketLER11RSocketServR7RSocketR8TSmsAddr @ 67 NONAME
-	_ZN18CSmsStackTestUtils14PrintSmspEntryERN19RMobileSmsMessaging18TMobileSmspEntryV1E @ 68 NONAME
-	_ZN18CSmsStackTestUtils14TestParametersER20CMobilePhoneSmspListS1_ @ 69 NONAME
-	_ZN18CSmsStackTestUtils15AppendUserDataLER7TGsmSmsRK12CSmsUserDatai @ 70 NONAME
-	_ZN18CSmsStackTestUtils15CopyConfigFileLERK7TDesC16P15CSmsPduDatabase @ 71 NONAME
-	_ZN18CSmsStackTestUtils15OpenSmsSocketLCER11RSocketServR7RSocket14TSmsAddrFamily @ 72 NONAME
-	_ZN18CSmsStackTestUtils15OpenSmsSocketLCER11RSocketServR7RSocketR8TSmsAddr @ 73 NONAME
-	_ZN18CSmsStackTestUtils15RetrieveParamsLER20CMobilePhoneSmspListR7RSocketi @ 74 NONAME
-	_ZN18CSmsStackTestUtils16TestPhoneNumbersERKN12RMobilePhone14TMobileAddressES3_ @ 75 NONAME
-	_ZN18CSmsStackTestUtils17FirstDeliverOctetEiiii @ 76 NONAME
-	_ZN18CSmsStackTestUtils18CreateSmsMessageLCEN7CSmsPDU11TSmsPDUTypeERK7TDesC16S4_ @ 77 NONAME
-	_ZN18CSmsStackTestUtils18WaitForInitializeLEv @ 78 NONAME
-	_ZN18CSmsStackTestUtils19PrintAndTestDecodeLERK7TGsmSms20TSmsDataCodingScheme22TSmsProtocolIdentifierRK12CSmsUserDataii @ 79 NONAME
-	_ZN18CSmsStackTestUtils23DeliverWithoutUserDataLER7TGsmSms14TSmsFirstOctetRK16TGsmSmsTelNumber22TSmsProtocolIdentifier20TSmsDataCodingSchemeRK5TTimei @ 80 NONAME
-	_ZN18CSmsStackTestUtils23SendSmsAndChangeBearerLEP11CSmsMessageR7RSocketN19RMobileSmsMessaging16TMobileSmsBearerE @ 81 NONAME
-	_ZN18CSmsStackTestUtils24StoreParamsLeaveIfErrorLER20CMobilePhoneSmspListR7RSocket @ 82 NONAME
-	_ZN18CSmsStackTestUtils25CreateTSmsValidityPeriodLEv @ 83 NONAME
-	_ZN18CSmsStackTestUtils25DecodeTSmsValidityPeriodLEv @ 84 NONAME
-	_ZN18CSmsStackTestUtils25EncodeTSmsValidityPeriodLEv @ 85 NONAME
-	_ZN18CSmsStackTestUtils26MakeParametersReadRequestLER7RSocket @ 86 NONAME
-	_ZN18CSmsStackTestUtils33CreateTSmsServiceCenterTimeStampLEv @ 87 NONAME
-	_ZN18CSmsStackTestUtils33DecodeTSmsServiceCenterTimeStampLEv @ 88 NONAME
-	_ZN18CSmsStackTestUtils33EncodeTSmsServiceCenterTimeStampLEv @ 89 NONAME
-	_ZN18CSmsStackTestUtils4NewLEP9CTestStepR3RFs @ 90 NONAME
-	_ZN18CSmsStackTestUtilsD0Ev @ 91 NONAME
-	_ZN18CSmsStackTestUtilsD1Ev @ 92 NONAME
-	_ZN18CSmsStackTestUtilsD2Ev @ 93 NONAME
-	_ZN18CVoiceMailDeletion12SetMessageIdEt @ 94 NONAME
-	_ZN18CVoiceMailDeletion4NewLEv @ 95 NONAME
-	_ZN18CVoiceMailDeletionD0Ev @ 96 NONAME
-	_ZN18CVoiceMailDeletionD1Ev @ 97 NONAME
-	_ZN18CVoiceMailDeletionD2Ev @ 98 NONAME
-	_ZN20CTestReceiveMessages4NewLEiR11RSocketServR18CSmsStackTestUtils @ 99 NONAME
-	_ZN20CTestReceiveMessages7ReceiveER14TRequestStatusi @ 100 NONAME
-	_ZN20CTestReceiveMessages7ReceiveEv @ 101 NONAME
-	_ZN20TGsmSmsTypeOfAddress13SetFromETelMMEN12NMobilePhone10TMobileTONENS0_10TMobileNPIE @ 102 NONAME
-	_ZN21CEmsPreDefAnimationIE13SetAnimationLENS_9TAnimTypeE @ 103 NONAME
-	_ZN21CEmsPreDefAnimationIE4NewLENS_9TAnimTypeE @ 104 NONAME
-	_ZN21CEmsPreDefAnimationIE5CopyLERKS_ @ 105 NONAME
-	_ZN21CSmsAlphabetConverter16ConvertToNativeLERK6TDesC8 @ 106 NONAME
-	_ZN21CSmsAlphabetConverter18ConvertFromNativeLERK7TDesC16 @ 107 NONAME
-	_ZN21CSmsAlphabetConverter5NewLCER25CCnvCharacterSetConverterR3RFsN20TSmsDataCodingScheme12TSmsAlphabetEi @ 108 NONAME
-	_ZN21CSmsAlphabetConverterD0Ev @ 109 NONAME
-	_ZN21CSmsAlphabetConverterD1Ev @ 110 NONAME
-	_ZN21CSmsAlphabetConverterD2Ev @ 111 NONAME
-	_ZN22CEmsInformationElement16SetStartPositionEj @ 112 NONAME
-	_ZN22CEmsInformationElement25EncodeInformationElementLEv @ 113 NONAME
-	_ZN22CEmsObjectDistribution13SetForwardingENS_6TAttrsE @ 114 NONAME
-	_ZN22CEmsObjectDistribution14SetObjectCountEj @ 115 NONAME
-	_ZN22CEmsObjectDistribution4NewLEjNS_6TAttrsE @ 116 NONAME
-	_ZN22CEmsObjectDistribution5CopyLERKS_ @ 117 NONAME
-	_ZN22CSmsInformationElement4DataEv @ 118 NONAME
-	_ZN22CSmsPduDbConcatSegment4NewLER3RFsRK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 119 NONAME
-	_ZN22CVoiceMailNotification12SetMessageIdEt @ 120 NONAME
-	_ZN22CVoiceMailNotification16SetMessageLengthEh @ 121 NONAME
-	_ZN22CVoiceMailNotification16SetRetentionDaysEh @ 122 NONAME
-	_ZN22CVoiceMailNotification21SetPriorityIndicationEi @ 123 NONAME
-	_ZN22CVoiceMailNotification23SetCallingLineIdentityLER7TDesC16 @ 124 NONAME
-	_ZN22CVoiceMailNotification29SetParsedCallingLineIdentityLER16TGsmSmsTelNumber @ 125 NONAME
-	_ZN22CVoiceMailNotification4NewLEv @ 126 NONAME
-	_ZN22CVoiceMailNotificationD0Ev @ 127 NONAME
-	_ZN22CVoiceMailNotificationD1Ev @ 128 NONAME
-	_ZN22CVoiceMailNotificationD2Ev @ 129 NONAME
-	_ZN29CTestReceiveEnumerateMessages4NewLEiR11RSocketServR18CSmsStackTestUtils @ 130 NONAME
-	_ZN29CTestReceiveEnumerateMessages5StartEiii @ 131 NONAME
-	_ZN29CTestReceiveEnumerateMessagesD0Ev @ 132 NONAME
-	_ZN29CTestReceiveEnumerateMessagesD1Ev @ 133 NONAME
-	_ZN29CTestReceiveEnumerateMessagesD2Ev @ 134 NONAME
-	_ZN30CEnhancedVoiceMailNotification18NumberOfVoiceMailsEv @ 135 NONAME
-	_ZN30CEnhancedVoiceMailNotification25GetVoiceMailNotificationsEv @ 136 NONAME
-	_ZN30CEnhancedVoiceMailNotification4NewLEv @ 137 NONAME
-	_ZN30CEnhancedVoiceMailNotificationD0Ev @ 138 NONAME
-	_ZN30CEnhancedVoiceMailNotificationD1Ev @ 139 NONAME
-	_ZN30CEnhancedVoiceMailNotificationD2Ev @ 140 NONAME
-	_ZN32CEnhancedVoiceMailBoxInformation10SetProfileE22TSmsMessageProfileType @ 141 NONAME
-	_ZN32CEnhancedVoiceMailBoxInformation10SetStorageEi @ 142 NONAME
-	_ZN32CEnhancedVoiceMailBoxInformation17SetAccessAddressLERK7TDesC16 @ 143 NONAME
-	_ZN32CEnhancedVoiceMailBoxInformation18SetMaximumCapacityEi @ 144 NONAME
-	_ZN32CEnhancedVoiceMailBoxInformation23SetParsedAccessAddressLERK16TGsmSmsTelNumber @ 145 NONAME
-	_ZN32CEnhancedVoiceMailBoxInformation24SetAlmostMaximumCapacityEi @ 146 NONAME
-	_ZN32CEnhancedVoiceMailBoxInformation24SetNumberOfVoiceMessagesEh @ 147 NONAME
-	_ZN37CEnhancedVoiceMailDeleteConfirmations15NumberOfDeletesEv @ 148 NONAME
-	_ZN37CEnhancedVoiceMailDeleteConfirmations21GetVoiceMailDeletionsEv @ 149 NONAME
-	_ZN37CEnhancedVoiceMailDeleteConfirmations4NewLEv @ 150 NONAME
-	_ZN37CEnhancedVoiceMailDeleteConfirmationsD0Ev @ 151 NONAME
-	_ZN37CEnhancedVoiceMailDeleteConfirmationsD1Ev @ 152 NONAME
-	_ZN37CEnhancedVoiceMailDeleteConfirmationsD2Ev @ 153 NONAME
-	_ZNK11CEmsSoundIE10DuplicateLEv @ 154 NONAME
-	_ZNK11CEmsSoundIE6MelodyEv @ 155 NONAME
-	_ZNK12CEmsFormatIE10DuplicateLEv @ 156 NONAME
-	_ZNK12CEmsFormatIE12FormatLengthEv @ 157 NONAME
-	_ZNK12CEmsFormatIE13StrikethroughEv @ 158 NONAME
-	_ZNK12CEmsFormatIE4BoldEv @ 159 NONAME
-	_ZNK12CEmsFormatIE6ItalicEv @ 160 NONAME
-	_ZNK12CEmsFormatIE8FontSizeEv @ 161 NONAME
-	_ZNK12CEmsFormatIE9AlignmentEv @ 162 NONAME
-	_ZNK12CEmsFormatIE9UnderlineEv @ 163 NONAME
-	_ZNK12CSmsPduDbPdu9GetHexPduER5TDes8 @ 164 NONAME
-	_ZNK12CSmsUserData18InformationElementEi @ 165 NONAME
-	_ZNK12CSmsUserData20MaxBodyLengthInCharsEv @ 166 NONAME
-	_ZNK12CSmsUserData23InformationElementIndexEN22CSmsInformationElement32TSmsInformationElementIdentifierERi @ 167 NONAME
-	_ZNK12CSmsUserData4BodyEv @ 168 NONAME
-	_ZNK13CEmsPictureIE10DuplicateLEv @ 169 NONAME
-	_ZNK13CEmsPictureIE10GetBitmapLEv @ 170 NONAME
-	_ZNK13CEmsPictureIE12SizeInPixelsEv @ 171 NONAME
-	_ZNK14CEmsUserPrompt10DuplicateLEv @ 172 NONAME
-	_ZNK14CEmsUserPrompt11ObjectCountEv @ 173 NONAME
-	_ZNK15CEmsAnimationIE10DuplicateLEv @ 174 NONAME
-	_ZNK15CEmsAnimationIE10GetBitmapLEv @ 175 NONAME
-	_ZNK15CSmsPduDatabase10GetConcatLER13RPointerArrayI15CSmsPduDbConcatEN7CSmsPDU11TSmsPDUTypeE @ 176 NONAME
-	_ZNK15CSmsPduDatabase10PduFactoryERK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 177 NONAME
-	_ZNK15CSmsPduDatabase10PduFactoryERK6TDesC8N7CSmsPDU11TSmsPDUTypeE @ 178 NONAME
-	_ZNK15CSmsPduDatabase11GetConcatLCEN7CSmsPDU11TSmsPDUTypeEi @ 179 NONAME
-	_ZNK15CSmsPduDatabase11GetMessageLER13RPointerArrayI16CSmsPduDbMessageEN7CSmsPDU11TSmsPDUTypeE @ 180 NONAME
-	_ZNK15CSmsPduDatabase11PduFactoryLERK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 181 NONAME
-	_ZNK15CSmsPduDatabase11PduFactoryLERK6TDesC8N7CSmsPDU11TSmsPDUTypeE @ 182 NONAME
-	_ZNK15CSmsPduDatabase12GetMessageLCEN7CSmsPDU11TSmsPDUTypeEi @ 183 NONAME
-	_ZNK15CSmsPduDatabase12RewriteFileLERK7TDesC16S2_S2_ @ 184 NONAME
-	_ZNK15CSmsPduDatabase18GetConcatSegmentLCEN7CSmsPDU11TSmsPDUTypeEii @ 185 NONAME
-	_ZNK15CSmsPduDatabase7GetPduLER13RPointerArrayI12CSmsPduDbPduEN7CSmsPDU11TSmsPDUTypeE @ 186 NONAME
-	_ZNK15CSmsPduDatabase8GetPduLCEN7CSmsPDU11TSmsPDUTypeEi @ 187 NONAME
-	_ZNK17CEmsPreDefSoundIE10DuplicateLEv @ 188 NONAME
-	_ZNK17CEmsPreDefSoundIE15PredefinedSoundEv @ 189 NONAME
-	_ZNK18CSmsStackTestUtils11GetSectionLER11CTestConfigi @ 190 NONAME
-	_ZNK18CSmsStackTestUtils14ConvertToHexLCERK6TDesC8 @ 191 NONAME
-	_ZNK18CSmsStackTestUtils9AddSmsRxLER11CTestConfigiR11CSmsMessageRK7TDesC16 @ 192 NONAME
-	_ZNK18CSmsStackTestUtils9AddSmsTxLER11CTestConfigiR11CSmsMessageRK7TDesC16iPS2_i @ 193 NONAME
-	_ZNK18CVoiceMailDeletion26MessageExtensionIndicationEv @ 194 NONAME
-	_ZNK18CVoiceMailDeletion9MessageIdEv @ 195 NONAME
-	_ZNK20TGsmSmsTypeOfAddress15ConvertToETelMMERN12NMobilePhone10TMobileTONERNS0_10TMobileNPIE @ 196 NONAME
-	_ZNK21CEmsPreDefAnimationIE10DuplicateLEv @ 197 NONAME
-	_ZNK21CEmsPreDefAnimationIE9AnimationEv @ 198 NONAME
-	_ZNK22CEmsInformationElement13StartPositionEv @ 199 NONAME
-	_ZNK22CEmsInformationElement6LengthEv @ 200 NONAME
-	_ZNK22CEmsObjectDistribution10DuplicateLEv @ 201 NONAME
-	_ZNK22CEmsObjectDistribution10ForwardingEv @ 202 NONAME
-	_ZNK22CEmsObjectDistribution11ObjectCountEv @ 203 NONAME
-	_ZNK22CSmsInformationElement10IdentifierEv @ 204 NONAME
-	_ZNK22CSmsInformationElement4DataEv @ 205 NONAME
-	_ZNK22CVoiceMailNotification13MessageLengthEv @ 206 NONAME
-	_ZNK22CVoiceMailNotification13RetentionDaysEv @ 207 NONAME
-	_ZNK22CVoiceMailNotification18PriorityIndicationEv @ 208 NONAME
-	_ZNK22CVoiceMailNotification19CallingLineIdentityEv @ 209 NONAME
-	_ZNK22CVoiceMailNotification25ParsedCallingLineIdentityER16TGsmSmsTelNumber @ 210 NONAME
-	_ZNK22CVoiceMailNotification26MessageExtensionIndicationEv @ 211 NONAME
-	_ZNK22CVoiceMailNotification9MessageIdEv @ 212 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation13AccessAddressEv @ 213 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation15MaximumCapacityEv @ 214 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation18ExtensionIndicatorEv @ 215 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation19ParsedAccessAddressER16TGsmSmsTelNumber @ 216 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation21AlmostMaximumCapacityEv @ 217 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation21NumberOfVoiceMessagesEv @ 218 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation4TypeEv @ 219 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation5StoreEv @ 220 NONAME
-	_ZNK32CEnhancedVoiceMailBoxInformation7ProfileEv @ 221 NONAME
-	_ZTI11CEmsSoundIE @ 222 NONAME
-	_ZTI11CSmsAddress @ 223 NONAME
-	_ZTI12CEmsFormatIE @ 224 NONAME
-	_ZTI12CSmsPduDbPdu @ 225 NONAME
-	_ZTI12CSmsUserData @ 226 NONAME
-	_ZTI13CEmsPictureIE @ 227 NONAME
-	_ZTI13CSmsPduDbBase @ 228 NONAME
-	_ZTI14CEmsUserPrompt @ 229 NONAME
-	_ZTI15CEmsAnimationIE @ 230 NONAME
-	_ZTI15CSmsCommandData @ 231 NONAME
-	_ZTI15CSmsPduDatabase @ 232 NONAME
-	_ZTI15CSmsPduDbConcat @ 233 NONAME
-	_ZTI15CTestGetSmsList @ 234 NONAME
-	_ZTI16CSmsPduDbMessage @ 235 NONAME
-	_ZTI17CEmsPreDefSoundIE @ 236 NONAME
-	_ZTI17CTSmsRegTstActive @ 237 NONAME
-	_ZTI18CSmsStackTestUtils @ 238 NONAME
-	_ZTI18CVoiceMailDeletion @ 239 NONAME
-	_ZTI20CTestReceiveMessages @ 240 NONAME
-	_ZTI21CEmsPreDefAnimationIE @ 241 NONAME
-	_ZTI21CSmsAlphabetConverter @ 242 NONAME
-	_ZTI22CEmsInformationElement @ 243 NONAME
-	_ZTI22CEmsObjectDistribution @ 244 NONAME
-	_ZTI22CSmsInformationElement @ 245 NONAME
-	_ZTI22CSmsPduDbConcatSegment @ 246 NONAME
-	_ZTI22CVoiceMailNotification @ 247 NONAME
-	_ZTI29CTestReceiveEnumerateMessages @ 248 NONAME
-	_ZTI30CEnhancedVoiceMailNotification @ 249 NONAME
-	_ZTI32CEnhancedVoiceMailBoxInformation @ 250 NONAME
-	_ZTI37CEnhancedVoiceMailDeleteConfirmations @ 251 NONAME
-	_ZTV11CEmsSoundIE @ 252 NONAME
-	_ZTV11CSmsAddress @ 253 NONAME
-	_ZTV12CEmsFormatIE @ 254 NONAME
-	_ZTV12CSmsPduDbPdu @ 255 NONAME
-	_ZTV12CSmsUserData @ 256 NONAME
-	_ZTV13CEmsPictureIE @ 257 NONAME
-	_ZTV13CSmsPduDbBase @ 258 NONAME
-	_ZTV14CEmsUserPrompt @ 259 NONAME
-	_ZTV15CEmsAnimationIE @ 260 NONAME
-	_ZTV15CSmsCommandData @ 261 NONAME
-	_ZTV15CSmsPduDatabase @ 262 NONAME
-	_ZTV15CSmsPduDbConcat @ 263 NONAME
-	_ZTV15CTestGetSmsList @ 264 NONAME
-	_ZTV16CSmsPduDbMessage @ 265 NONAME
-	_ZTV17CEmsPreDefSoundIE @ 266 NONAME
-	_ZTV17CTSmsRegTstActive @ 267 NONAME
-	_ZTV18CSmsStackTestUtils @ 268 NONAME
-	_ZTV18CVoiceMailDeletion @ 269 NONAME
-	_ZTV20CTestReceiveMessages @ 270 NONAME
-	_ZTV21CEmsPreDefAnimationIE @ 271 NONAME
-	_ZTV21CSmsAlphabetConverter @ 272 NONAME
-	_ZTV22CEmsInformationElement @ 273 NONAME
-	_ZTV22CEmsObjectDistribution @ 274 NONAME
-	_ZTV22CSmsInformationElement @ 275 NONAME
-	_ZTV22CSmsPduDbConcatSegment @ 276 NONAME
-	_ZTV22CVoiceMailNotification @ 277 NONAME
-	_ZTV29CTestReceiveEnumerateMessages @ 278 NONAME
-	_ZTV30CEnhancedVoiceMailNotification @ 279 NONAME
-	_ZTV32CEnhancedVoiceMailBoxInformation @ 280 NONAME
-	_ZTV37CEnhancedVoiceMailDeleteConfirmations @ 281 NONAME
-	_ZN21CSmsAlphabetConverter16ConvertToNativeLERK6TDesC812TSmsEncoding @ 282 NONAME
-	_ZN21CSmsAlphabetConverter18ConvertFromNativeLERK7TDesC1612TSmsEncodingRiS4_ @ 283 NONAME
-	_ZNK12CSmsUserData12IsSupportedLERK7TDesC1612TSmsEncodingRiS4_S4_S4_ @ 284 NONAME
-	_ZNK12CSmsUserData12IsSupportedLERK7TDesC16RiS3_ @ 285 NONAME
-	_ZNK12CSmsUserData27InformationElementLastIndexEN22CSmsInformationElement32TSmsInformationElementIdentifierERi @ 286 NONAME
-	_ZN18CSmsStackTestUtils13EnableLoggingEv @ 287 NONAME
-	_ZN18CSmsStackTestUtils14DisableLoggingEv @ 288 NONAME
+	_ZN15CTestGetSmsListC1EiR11RSocketServR18CSmsStackTestUtils @ 53 NONAME
+	_ZN15CTestGetSmsListC2EiR11RSocketServR18CSmsStackTestUtils @ 54 NONAME
+	_ZN16CSmsBaseTestStep10CreateSMSLEv @ 55 NONAME
+	_ZN16CSmsBaseTestStep10DeleteSmsLERK11CSmsMessageR7RSocketi @ 56 NONAME
+	_ZN16CSmsBaseTestStep12WaitForRecvLER7RSocket @ 57 NONAME
+	_ZN16CSmsBaseTestStep13PrintMessageLEPK11CSmsMessage @ 58 NONAME
+	_ZN16CSmsBaseTestStep13ReadSmsStoreLER7RSocketR13RPointerArrayI11CSmsMessageE @ 59 NONAME
+	_ZN16CSmsBaseTestStep13ReadSmsStoreLER7RSocketR13RPointerArrayI11CSmsMessageER14TRequestStatus @ 60 NONAME
+	_ZN16CSmsBaseTestStep13SendSmsErrorLEP11CSmsMessageR7RSocket @ 61 NONAME
+	_ZN16CSmsBaseTestStep13SetIndicatorLERK9TTestCaseP11CSmsMessage @ 62 NONAME
+	_ZN16CSmsBaseTestStep14OpenSmsSocketLER11RSocketServR7RSocket14TSmsAddrFamily @ 63 NONAME
+	_ZN16CSmsBaseTestStep14OpenSmsSocketLER11RSocketServR7RSocketR8TSmsAddr @ 64 NONAME
+	_ZN16CSmsBaseTestStep14RecvSmsFailedLER7RSocket @ 65 NONAME
+	_ZN16CSmsBaseTestStep14SendSmsCancelLEP11CSmsMessageR7RSocketS3_ @ 66 NONAME
+	_ZN16CSmsBaseTestStep14SetTestNumberLEii @ 67 NONAME
+	_ZN16CSmsBaseTestStep14WriteSmsToSimLER11CSmsMessageR7RSocket @ 68 NONAME
+	_ZN16CSmsBaseTestStep15SendCommandSmsLEP11CSmsMessageR7RSocket @ 69 NONAME
+	_ZN16CSmsBaseTestStep16SendTestMessageLERK9TTestCaseR7RSocket @ 70 NONAME
+	_ZN16CSmsBaseTestStep16TestSmsContentsLEP11CSmsMessageRK7TDesC16i @ 71 NONAME
+	_ZN16CSmsBaseTestStep17CreateSmsMessageLERK7TDesC16N20TSmsDataCodingScheme12TSmsAlphabetEN7CSmsPDU11TSmsPDUTypeE @ 72 NONAME
+	_ZN16CSmsBaseTestStep17DoSendAndRecvSmsLERK7TDesC16N20TSmsDataCodingScheme12TSmsAlphabetER7RSocket @ 73 NONAME
+	_ZN16CSmsBaseTestStep17DoSingleTestCaseLERK6TDesC8i @ 74 NONAME
+	_ZN16CSmsBaseTestStep17RecvStatusReportLER4TBufILi14EER7RSocket @ 75 NONAME
+	_ZN16CSmsBaseTestStep17ReleaseDiskSpaceLEv @ 76 NONAME
+	_ZN16CSmsBaseTestStep17SetFreeDiskSpaceLEx @ 77 NONAME
+	_ZN16CSmsBaseTestStep17TimedWaitForRecvLER7RSocketj @ 78 NONAME
+	_ZN16CSmsBaseTestStep18ChangeReceiveModeLEN19RMobileSmsMessaging21TMobileSmsReceiveModeE @ 79 NONAME
+	_ZN16CSmsBaseTestStep18CreateSmsMessageLCEN7CSmsPDU11TSmsPDUTypeEP10CSmsBufferRK7TDesC16 @ 80 NONAME
+	_ZN16CSmsBaseTestStep18CreateSmsMessageLCERK7TDesC16N20TSmsDataCodingScheme12TSmsAlphabetEN7CSmsPDU11TSmsPDUTypeE @ 81 NONAME
+	_ZN16CSmsBaseTestStep19SendAndRecvSms7BitLERK7TDesC16R7RSocket @ 82 NONAME
+	_ZN16CSmsBaseTestStep19doTestStepPreambleLEv @ 83 NONAME
+	_ZN16CSmsBaseTestStep20CancelWriteSmsToSimLER11CSmsMessageR7RSocketi @ 84 NONAME
+	_ZN16CSmsBaseTestStep20ConnectSocketServerLER11RSocketServ @ 85 NONAME
+	_ZN16CSmsBaseTestStep20GetStringFromConfigLERK7TDesC16 @ 86 NONAME
+	_ZN16CSmsBaseTestStep20SetSimTSYTestNumberLEi @ 87 NONAME
+	_ZN16CSmsBaseTestStep20TestMessageContentsLEP11CSmsMessageRK9TTestCase @ 88 NONAME
+	_ZN16CSmsBaseTestStep20doTestStepPostambleLEv @ 89 NONAME
+	_ZN16CSmsBaseTestStep21ConnectSocketServerLCER11RSocketServ @ 90 NONAME
+	_ZN16CSmsBaseTestStep21GetIntegerFromConfigLERK7TDesC16 @ 91 NONAME
+	_ZN16CSmsBaseTestStep21PrintMessageDetailedLEPK11CSmsMessage @ 92 NONAME
+	_ZN16CSmsBaseTestStep21WriteSmsLeaveIfErrorLERK11CSmsMessageR7RSocket @ 93 NONAME
+	_ZN16CSmsBaseTestStep22DeleteSmsLeaveIfErrorLERK11CSmsMessageR7RSocket @ 94 NONAME
+	_ZN16CSmsBaseTestStep22DoESockMemoryLeakTestLEv @ 95 NONAME
+	_ZN16CSmsBaseTestStep22ParseSettingsFromFileLEv @ 96 NONAME
+	_ZN16CSmsBaseTestStep23SendAndRecvTestMessageLERK9TTestCaseR7RSocket @ 97 NONAME
+	_ZN16CSmsBaseTestStep23UpdatePhonePowerStatusLER9RProperty14TSAPhoneStatus @ 98 NONAME
+	_ZN16CSmsBaseTestStep24MakeReadSmsStoreRequestLER7RSocket @ 99 NONAME
+	_ZN16CSmsBaseTestStep26SetLowHighLimitsInSmsuRscLExx @ 100 NONAME
+	_ZN16CSmsBaseTestStep28SendSmsDontCheckReturnValueLEP11CSmsMessageR7RSocket @ 101 NONAME
+	_ZN16CSmsBaseTestStep29CreateSmsWithStatusReportReqLERK7TDesC16N20TSmsDataCodingScheme12TSmsAlphabetE @ 102 NONAME
+	_ZN16CSmsBaseTestStep30SetFreeDiskSpaceFromDropLevelLEjy @ 103 NONAME
+	_ZN16CSmsBaseTestStep31RemoveLowHighLimitsFromSmsuRscLEv @ 104 NONAME
+	_ZN16CSmsBaseTestStep32TestSendAndReceiveIndicatorMsgsLERK13RPointerArrayI16CSmsPduDbMessageEPK13CArrayFixFlatIiES8_S8_ @ 105 NONAME
+	_ZN16CSmsBaseTestStep34SetHighLowLimitsAndDiskSpaceLevelLEjjjy @ 106 NONAME
+	_ZN16CSmsBaseTestStep35SetTestNumberFromConfigurationFileLEv @ 107 NONAME
+	_ZN16CSmsBaseTestStep36TestSendAndRecvMsgsWithDifferentTONLERK13RPointerArrayI16CSmsPduDbMessageEPK13CArrayFixFlatIiES8_ @ 108 NONAME
+	_ZN16CSmsBaseTestStep7FillDesER6TDes16i @ 109 NONAME
+	_ZN16CSmsBaseTestStep8ReadPduLE5TBuf8ILi64EER13RPointerArrayI16CSmsPduDbMessageE @ 110 NONAME
+	_ZN16CSmsBaseTestStep8RecvSmsLER7RSocketi @ 111 NONAME
+	_ZN16CSmsBaseTestStep8SendSmsLEPK11CSmsMessageR7RSocketii @ 112 NONAME
+	_ZN16CSmsBaseTestStepC2Ev @ 113 NONAME
+	_ZN16CSmsBaseTestStepD0Ev @ 114 NONAME
+	_ZN16CSmsBaseTestStepD1Ev @ 115 NONAME
+	_ZN16CSmsBaseTestStepD2Ev @ 116 NONAME
+	_ZN16CSmsPduDbMessage4NewLER3RFsRK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 117 NONAME
+	_ZN16TGsmSmsTelNumber12IsInstanceOfENS_16TTypeOfIndicatorE @ 118 NONAME
+	_ZN17CEmsPreDefSoundIE4NewLENS_16TPredefinedSoundE @ 119 NONAME
+	_ZN17CEmsPreDefSoundIE5CopyLERKS_ @ 120 NONAME
+	_ZN18CSmsStackTestUtils10CompareUDLERK7CSmsPDURK12CSmsUserData @ 121 NONAME
+	_ZN18CSmsStackTestUtils10GetBearerLERN19RMobileSmsMessaging16TMobileSmsBearerE @ 122 NONAME
+	_ZN18CSmsStackTestUtils11CompareDCSLERK7CSmsPDU20TSmsDataCodingScheme @ 123 NONAME
+	_ZN18CSmsStackTestUtils11ComparePIDLERK7CSmsPDU22TSmsProtocolIdentifier @ 124 NONAME
+	_ZN18CSmsStackTestUtils12AddLogEventLER11CSmsMessageR14TLogSmsPduData @ 125 NONAME
+	_ZN18CSmsStackTestUtils12GetLogEventLER9CLogEventi @ 126 NONAME
+	_ZN18CSmsStackTestUtils12StoreParamsLER20CMobilePhoneSmspListR7RSocketi @ 127 NONAME
+	_ZN18CSmsStackTestUtils13ChangeBearerLEN19RMobileSmsMessaging16TMobileSmsBearerE @ 128 NONAME
+	_ZN18CSmsStackTestUtils13EnableLoggingEv @ 129 NONAME
+	_ZN18CSmsStackTestUtils13PrintSmspListER20CMobilePhoneSmspList @ 130 NONAME
+	_ZN18CSmsStackTestUtils14DisableLoggingEv @ 131 NONAME
+	_ZN18CSmsStackTestUtils14OpenSmsSocketLER11RSocketServR7RSocket14TSmsAddrFamily @ 132 NONAME
+	_ZN18CSmsStackTestUtils14OpenSmsSocketLER11RSocketServR7RSocketR8TSmsAddr @ 133 NONAME
+	_ZN18CSmsStackTestUtils14PrintSmspEntryERN19RMobileSmsMessaging18TMobileSmspEntryV1E @ 134 NONAME
+	_ZN18CSmsStackTestUtils14TestParametersER20CMobilePhoneSmspListS1_ @ 135 NONAME
+	_ZN18CSmsStackTestUtils15AppendUserDataLER7TGsmSmsRK12CSmsUserDatai @ 136 NONAME
+	_ZN18CSmsStackTestUtils15CopyConfigFileLERK7TDesC16P15CSmsPduDatabase @ 137 NONAME
+	_ZN18CSmsStackTestUtils15OpenSmsSocketLCER11RSocketServR7RSocket14TSmsAddrFamily @ 138 NONAME
+	_ZN18CSmsStackTestUtils15OpenSmsSocketLCER11RSocketServR7RSocketR8TSmsAddr @ 139 NONAME
+	_ZN18CSmsStackTestUtils15RetrieveParamsLER20CMobilePhoneSmspListR7RSocketi @ 140 NONAME
+	_ZN18CSmsStackTestUtils16TestPhoneNumbersERKN12RMobilePhone14TMobileAddressES3_ @ 141 NONAME
+	_ZN18CSmsStackTestUtils17FirstDeliverOctetEiiii @ 142 NONAME
+	_ZN18CSmsStackTestUtils18CreateSmsMessageLCEN7CSmsPDU11TSmsPDUTypeERK7TDesC16S4_ @ 143 NONAME
+	_ZN18CSmsStackTestUtils19PrintAndTestDecodeLERK7TGsmSms20TSmsDataCodingScheme22TSmsProtocolIdentifierRK12CSmsUserDataii @ 144 NONAME
+	_ZN18CSmsStackTestUtils23DeliverWithoutUserDataLER7TGsmSms14TSmsFirstOctetRK16TGsmSmsTelNumber22TSmsProtocolIdentifier20TSmsDataCodingSchemeRK5TTimei @ 145 NONAME
+	_ZN18CSmsStackTestUtils23SendSmsAndChangeBearerLEP11CSmsMessageR7RSocketN19RMobileSmsMessaging16TMobileSmsBearerE @ 146 NONAME
+	_ZN18CSmsStackTestUtils24StoreParamsLeaveIfErrorLER20CMobilePhoneSmspListR7RSocket @ 147 NONAME
+	_ZN18CSmsStackTestUtils25CreateTSmsValidityPeriodLEv @ 148 NONAME
+	_ZN18CSmsStackTestUtils25DecodeTSmsValidityPeriodLEv @ 149 NONAME
+	_ZN18CSmsStackTestUtils25EncodeTSmsValidityPeriodLEv @ 150 NONAME
+	_ZN18CSmsStackTestUtils26MakeParametersReadRequestLER7RSocket @ 151 NONAME
+	_ZN18CSmsStackTestUtils33CreateTSmsServiceCenterTimeStampLEv @ 152 NONAME
+	_ZN18CSmsStackTestUtils33DecodeTSmsServiceCenterTimeStampLEv @ 153 NONAME
+	_ZN18CSmsStackTestUtils33EncodeTSmsServiceCenterTimeStampLEv @ 154 NONAME
+	_ZN18CSmsStackTestUtils4NewLEP9CTestStepR3RFs @ 155 NONAME
+	_ZN18CSmsStackTestUtilsD0Ev @ 156 NONAME
+	_ZN18CSmsStackTestUtilsD1Ev @ 157 NONAME
+	_ZN18CSmsStackTestUtilsD2Ev @ 158 NONAME
+	_ZN18CVoiceMailDeletion12SetMessageIdEt @ 159 NONAME
+	_ZN18CVoiceMailDeletion4NewLEv @ 160 NONAME
+	_ZN18CVoiceMailDeletionD0Ev @ 161 NONAME
+	_ZN18CVoiceMailDeletionD1Ev @ 162 NONAME
+	_ZN18CVoiceMailDeletionD2Ev @ 163 NONAME
+	_ZN19CSmsStackTestServer23InitializeTsyAndPhonesLEv @ 164 NONAME
+	_ZN19CSmsStackTestServerC2Ev @ 165 NONAME
+	_ZN19CSmsStackTestServerD0Ev @ 166 NONAME
+	_ZN19CSmsStackTestServerD1Ev @ 167 NONAME
+	_ZN19CSmsStackTestServerD2Ev @ 168 NONAME
+	_ZN20CTestReceiveMessages4NewLEiR11RSocketServR18CSmsStackTestUtils @ 169 NONAME
+	_ZN20CTestReceiveMessages7ReceiveER14TRequestStatusi @ 170 NONAME
+	_ZN20CTestReceiveMessages7ReceiveEv @ 171 NONAME
+	_ZN20TGsmSmsTypeOfAddress13SetFromETelMMEN12NMobilePhone10TMobileTONENS0_10TMobileNPIE @ 172 NONAME
+	_ZN21CEmsPreDefAnimationIE13SetAnimationLENS_9TAnimTypeE @ 173 NONAME
+	_ZN21CEmsPreDefAnimationIE4NewLENS_9TAnimTypeE @ 174 NONAME
+	_ZN21CEmsPreDefAnimationIE5CopyLERKS_ @ 175 NONAME
+	_ZN21CSmsAlphabetConverter16ConvertToNativeLERK6TDesC8 @ 176 NONAME
+	_ZN21CSmsAlphabetConverter16ConvertToNativeLERK6TDesC812TSmsEncoding @ 177 NONAME
+	_ZN21CSmsAlphabetConverter18ConvertFromNativeLERK7TDesC16 @ 178 NONAME
+	_ZN21CSmsAlphabetConverter18ConvertFromNativeLERK7TDesC1612TSmsEncodingRiS4_ @ 179 NONAME
+	_ZN21CSmsAlphabetConverter5NewLCER25CCnvCharacterSetConverterR3RFsN20TSmsDataCodingScheme12TSmsAlphabetEi @ 180 NONAME
+	_ZN21CSmsAlphabetConverterD0Ev @ 181 NONAME
+	_ZN21CSmsAlphabetConverterD1Ev @ 182 NONAME
+	_ZN21CSmsAlphabetConverterD2Ev @ 183 NONAME
+	_ZN22CEmsInformationElement16SetStartPositionEj @ 184 NONAME
+	_ZN22CEmsInformationElement25EncodeInformationElementLEv @ 185 NONAME
+	_ZN22CEmsObjectDistribution13SetForwardingENS_6TAttrsE @ 186 NONAME
+	_ZN22CEmsObjectDistribution14SetObjectCountEj @ 187 NONAME
+	_ZN22CEmsObjectDistribution4NewLEjNS_6TAttrsE @ 188 NONAME
+	_ZN22CEmsObjectDistribution5CopyLERKS_ @ 189 NONAME
+	_ZN22CSmsInformationElement4DataEv @ 190 NONAME
+	_ZN22CSmsPduDbConcatSegment4NewLER3RFsRK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 191 NONAME
+	_ZN22CVoiceMailNotification12SetMessageIdEt @ 192 NONAME
+	_ZN22CVoiceMailNotification16SetMessageLengthEh @ 193 NONAME
+	_ZN22CVoiceMailNotification16SetRetentionDaysEh @ 194 NONAME
+	_ZN22CVoiceMailNotification21SetPriorityIndicationEi @ 195 NONAME
+	_ZN22CVoiceMailNotification23SetCallingLineIdentityLER7TDesC16 @ 196 NONAME
+	_ZN22CVoiceMailNotification29SetParsedCallingLineIdentityLER16TGsmSmsTelNumber @ 197 NONAME
+	_ZN22CVoiceMailNotification4NewLEv @ 198 NONAME
+	_ZN22CVoiceMailNotificationD0Ev @ 199 NONAME
+	_ZN22CVoiceMailNotificationD1Ev @ 200 NONAME
+	_ZN22CVoiceMailNotificationD2Ev @ 201 NONAME
+	_ZN29CTestReceiveEnumerateMessages4NewLEiR11RSocketServR18CSmsStackTestUtils @ 202 NONAME
+	_ZN29CTestReceiveEnumerateMessages5StartEiii @ 203 NONAME
+	_ZN29CTestReceiveEnumerateMessagesD0Ev @ 204 NONAME
+	_ZN29CTestReceiveEnumerateMessagesD1Ev @ 205 NONAME
+	_ZN29CTestReceiveEnumerateMessagesD2Ev @ 206 NONAME
+	_ZN30CEnhancedVoiceMailNotification18NumberOfVoiceMailsEv @ 207 NONAME
+	_ZN30CEnhancedVoiceMailNotification25GetVoiceMailNotificationsEv @ 208 NONAME
+	_ZN30CEnhancedVoiceMailNotification4NewLEv @ 209 NONAME
+	_ZN30CEnhancedVoiceMailNotificationD0Ev @ 210 NONAME
+	_ZN30CEnhancedVoiceMailNotificationD1Ev @ 211 NONAME
+	_ZN30CEnhancedVoiceMailNotificationD2Ev @ 212 NONAME
+	_ZN32CEnhancedVoiceMailBoxInformation10SetProfileE22TSmsMessageProfileType @ 213 NONAME
+	_ZN32CEnhancedVoiceMailBoxInformation10SetStorageEi @ 214 NONAME
+	_ZN32CEnhancedVoiceMailBoxInformation17SetAccessAddressLERK7TDesC16 @ 215 NONAME
+	_ZN32CEnhancedVoiceMailBoxInformation18SetMaximumCapacityEi @ 216 NONAME
+	_ZN32CEnhancedVoiceMailBoxInformation23SetParsedAccessAddressLERK16TGsmSmsTelNumber @ 217 NONAME
+	_ZN32CEnhancedVoiceMailBoxInformation24SetAlmostMaximumCapacityEi @ 218 NONAME
+	_ZN32CEnhancedVoiceMailBoxInformation24SetNumberOfVoiceMessagesEh @ 219 NONAME
+	_ZN37CEnhancedVoiceMailDeleteConfirmations15NumberOfDeletesEv @ 220 NONAME
+	_ZN37CEnhancedVoiceMailDeleteConfirmations21GetVoiceMailDeletionsEv @ 221 NONAME
+	_ZN37CEnhancedVoiceMailDeleteConfirmations4NewLEv @ 222 NONAME
+	_ZN37CEnhancedVoiceMailDeleteConfirmationsD0Ev @ 223 NONAME
+	_ZN37CEnhancedVoiceMailDeleteConfirmationsD1Ev @ 224 NONAME
+	_ZN37CEnhancedVoiceMailDeleteConfirmationsD2Ev @ 225 NONAME
+	_ZN9TTestCase10CommonInitEv @ 226 NONAME
+	_ZN9TTestCase11SetSmsClassEN20TSmsDataCodingScheme9TSmsClassE @ 227 NONAME
+	_ZN9TTestCase14SetRecvForeverEv @ 228 NONAME
+	_ZN9TTestCase17SetValidityPeriodERK20TTimeIntervalMinutes @ 229 NONAME
+	_ZN9TTestCaseC1ERK7TDesC16 @ 230 NONAME
+	_ZN9TTestCaseC1ERK7TDesC16N14TSmsFirstOctet23TSmsStatusReportRequestE @ 231 NONAME
+	_ZN9TTestCaseC1ERK7TDesC16N20TSmsDataCodingScheme18TSmsIndicationTypeENS3_15TSmsDCSBits7To4ENS3_19TSmsIndicationStateE @ 232 NONAME
+	_ZN9TTestCaseC1ERK7TDesC16N22CSmsInformationElement32TSmsInformationElementIdentifierE @ 233 NONAME
+	_ZN9TTestCaseC1ERK7TDesC16S2_ @ 234 NONAME
+	_ZN9TTestCaseC1Ev @ 235 NONAME
+	_ZN9TTestCaseC2ERK7TDesC16 @ 236 NONAME
+	_ZN9TTestCaseC2ERK7TDesC16N14TSmsFirstOctet23TSmsStatusReportRequestE @ 237 NONAME
+	_ZN9TTestCaseC2ERK7TDesC16N20TSmsDataCodingScheme18TSmsIndicationTypeENS3_15TSmsDCSBits7To4ENS3_19TSmsIndicationStateE @ 238 NONAME
+	_ZN9TTestCaseC2ERK7TDesC16N22CSmsInformationElement32TSmsInformationElementIdentifierE @ 239 NONAME
+	_ZN9TTestCaseC2ERK7TDesC16S2_ @ 240 NONAME
+	_ZN9TTestCaseC2Ev @ 241 NONAME
+	_ZN9TTestCaseaSERKS_ @ 242 NONAME
+	_ZNK11CEmsSoundIE10DuplicateLEv @ 243 NONAME
+	_ZNK11CEmsSoundIE6MelodyEv @ 244 NONAME
+	_ZNK12CEmsFormatIE10DuplicateLEv @ 245 NONAME
+	_ZNK12CEmsFormatIE12FormatLengthEv @ 246 NONAME
+	_ZNK12CEmsFormatIE13StrikethroughEv @ 247 NONAME
+	_ZNK12CEmsFormatIE4BoldEv @ 248 NONAME
+	_ZNK12CEmsFormatIE6ItalicEv @ 249 NONAME
+	_ZNK12CEmsFormatIE8FontSizeEv @ 250 NONAME
+	_ZNK12CEmsFormatIE9AlignmentEv @ 251 NONAME
+	_ZNK12CEmsFormatIE9UnderlineEv @ 252 NONAME
+	_ZNK12CSmsPduDbPdu9GetHexPduER5TDes8 @ 253 NONAME
+	_ZNK12CSmsUserData12IsSupportedLERK7TDesC1612TSmsEncodingRiS4_S4_S4_ @ 254 NONAME
+	_ZNK12CSmsUserData12IsSupportedLERK7TDesC16RiS3_ @ 255 NONAME
+	_ZNK12CSmsUserData18InformationElementEi @ 256 NONAME
+	_ZNK12CSmsUserData20MaxBodyLengthInCharsEv @ 257 NONAME
+	_ZNK12CSmsUserData23InformationElementIndexEN22CSmsInformationElement32TSmsInformationElementIdentifierERi @ 258 NONAME
+	_ZNK12CSmsUserData27InformationElementLastIndexEN22CSmsInformationElement32TSmsInformationElementIdentifierERi @ 259 NONAME
+	_ZNK12CSmsUserData4BodyEv @ 260 NONAME
+	_ZNK13CEmsPictureIE10DuplicateLEv @ 261 NONAME
+	_ZNK13CEmsPictureIE10GetBitmapLEv @ 262 NONAME
+	_ZNK13CEmsPictureIE12SizeInPixelsEv @ 263 NONAME
+	_ZNK14CEmsUserPrompt10DuplicateLEv @ 264 NONAME
+	_ZNK14CEmsUserPrompt11ObjectCountEv @ 265 NONAME
+	_ZNK15CEmsAnimationIE10DuplicateLEv @ 266 NONAME
+	_ZNK15CEmsAnimationIE10GetBitmapLEv @ 267 NONAME
+	_ZNK15CSmsPduDatabase10GetConcatLER13RPointerArrayI15CSmsPduDbConcatEN7CSmsPDU11TSmsPDUTypeE @ 268 NONAME
+	_ZNK15CSmsPduDatabase10PduFactoryERK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 269 NONAME
+	_ZNK15CSmsPduDatabase10PduFactoryERK6TDesC8N7CSmsPDU11TSmsPDUTypeE @ 270 NONAME
+	_ZNK15CSmsPduDatabase11GetConcatLCEN7CSmsPDU11TSmsPDUTypeEi @ 271 NONAME
+	_ZNK15CSmsPduDatabase11GetMessageLER13RPointerArrayI16CSmsPduDbMessageEN7CSmsPDU11TSmsPDUTypeE @ 272 NONAME
+	_ZNK15CSmsPduDatabase11PduFactoryLERK15CTestConfigItemN7CSmsPDU11TSmsPDUTypeE @ 273 NONAME
+	_ZNK15CSmsPduDatabase11PduFactoryLERK6TDesC8N7CSmsPDU11TSmsPDUTypeE @ 274 NONAME
+	_ZNK15CSmsPduDatabase12GetMessageLCEN7CSmsPDU11TSmsPDUTypeEi @ 275 NONAME
+	_ZNK15CSmsPduDatabase12RewriteFileLERK7TDesC16S2_S2_ @ 276 NONAME
+	_ZNK15CSmsPduDatabase18GetConcatSegmentLCEN7CSmsPDU11TSmsPDUTypeEii @ 277 NONAME
+	_ZNK15CSmsPduDatabase7GetPduLER13RPointerArrayI12CSmsPduDbPduEN7CSmsPDU11TSmsPDUTypeE @ 278 NONAME
+	_ZNK15CSmsPduDatabase8GetPduLCEN7CSmsPDU11TSmsPDUTypeEi @ 279 NONAME
+	_ZNK17CEmsPreDefSoundIE10DuplicateLEv @ 280 NONAME
+	_ZNK17CEmsPreDefSoundIE15PredefinedSoundEv @ 281 NONAME
+	_ZNK18CSmsStackTestUtils11GetSectionLER11CTestConfigi @ 282 NONAME
+	_ZNK18CSmsStackTestUtils14ConvertToHexLCERK6TDesC8 @ 283 NONAME
+	_ZNK18CSmsStackTestUtils9AddSmsRxLER11CTestConfigiR11CSmsMessageRK7TDesC16 @ 284 NONAME
+	_ZNK18CSmsStackTestUtils9AddSmsTxLER11CTestConfigiR11CSmsMessageRK7TDesC16iPS2_i @ 285 NONAME
+	_ZNK18CVoiceMailDeletion26MessageExtensionIndicationEv @ 286 NONAME
+	_ZNK18CVoiceMailDeletion9MessageIdEv @ 287 NONAME
+	_ZNK20TGsmSmsTypeOfAddress15ConvertToETelMMERN12NMobilePhone10TMobileTONERNS0_10TMobileNPIE @ 288 NONAME
+	_ZNK21CEmsPreDefAnimationIE10DuplicateLEv @ 289 NONAME
+	_ZNK21CEmsPreDefAnimationIE9AnimationEv @ 290 NONAME
+	_ZNK22CEmsInformationElement13StartPositionEv @ 291 NONAME
+	_ZNK22CEmsInformationElement6LengthEv @ 292 NONAME
+	_ZNK22CEmsObjectDistribution10DuplicateLEv @ 293 NONAME
+	_ZNK22CEmsObjectDistribution10ForwardingEv @ 294 NONAME
+	_ZNK22CEmsObjectDistribution11ObjectCountEv @ 295 NONAME
+	_ZNK22CSmsInformationElement10IdentifierEv @ 296 NONAME
+	_ZNK22CSmsInformationElement4DataEv @ 297 NONAME
+	_ZNK22CVoiceMailNotification13MessageLengthEv @ 298 NONAME
+	_ZNK22CVoiceMailNotification13RetentionDaysEv @ 299 NONAME
+	_ZNK22CVoiceMailNotification18PriorityIndicationEv @ 300 NONAME
+	_ZNK22CVoiceMailNotification19CallingLineIdentityEv @ 301 NONAME
+	_ZNK22CVoiceMailNotification25ParsedCallingLineIdentityER16TGsmSmsTelNumber @ 302 NONAME
+	_ZNK22CVoiceMailNotification26MessageExtensionIndicationEv @ 303 NONAME
+	_ZNK22CVoiceMailNotification9MessageIdEv @ 304 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation13AccessAddressEv @ 305 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation15MaximumCapacityEv @ 306 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation18ExtensionIndicatorEv @ 307 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation19ParsedAccessAddressER16TGsmSmsTelNumber @ 308 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation21AlmostMaximumCapacityEv @ 309 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation21NumberOfVoiceMessagesEv @ 310 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation4TypeEv @ 311 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation5StoreEv @ 312 NONAME
+	_ZNK32CEnhancedVoiceMailBoxInformation7ProfileEv @ 313 NONAME
+	_ZTI11CEmsSoundIE @ 314 NONAME
+	_ZTI11CSmsAddress @ 315 NONAME
+	_ZTI12CEmsFormatIE @ 316 NONAME
+	_ZTI12CSmsPduDbPdu @ 317 NONAME
+	_ZTI12CSmsUserData @ 318 NONAME
+	_ZTI13CEmsPictureIE @ 319 NONAME
+	_ZTI13CSmsPduDbBase @ 320 NONAME
+	_ZTI14CEmsUserPrompt @ 321 NONAME
+	_ZTI15CEmsAnimationIE @ 322 NONAME
+	_ZTI15CSmsCommandData @ 323 NONAME
+	_ZTI15CSmsPduDatabase @ 324 NONAME
+	_ZTI15CSmsPduDbConcat @ 325 NONAME
+	_ZTI15CTestGetSmsList @ 326 NONAME
+	_ZTI16CSmsBaseTestStep @ 327 NONAME
+	_ZTI16CSmsPduDbMessage @ 328 NONAME
+	_ZTI17CEmsPreDefSoundIE @ 329 NONAME
+	_ZTI17CTSmsRegTstActive @ 330 NONAME
+	_ZTI18CSmsStackTestUtils @ 331 NONAME
+	_ZTI18CVoiceMailDeletion @ 332 NONAME
+	_ZTI19CSmsStackTestServer @ 333 NONAME
+	_ZTI20CTestReceiveMessages @ 334 NONAME
+	_ZTI21CEmsPreDefAnimationIE @ 335 NONAME
+	_ZTI21CSmsAlphabetConverter @ 336 NONAME
+	_ZTI22CEmsInformationElement @ 337 NONAME
+	_ZTI22CEmsObjectDistribution @ 338 NONAME
+	_ZTI22CSmsInformationElement @ 339 NONAME
+	_ZTI22CSmsPduDbConcatSegment @ 340 NONAME
+	_ZTI22CVoiceMailNotification @ 341 NONAME
+	_ZTI29CTestReceiveEnumerateMessages @ 342 NONAME
+	_ZTI30CEnhancedVoiceMailNotification @ 343 NONAME
+	_ZTI32CEnhancedVoiceMailBoxInformation @ 344 NONAME
+	_ZTI37CEnhancedVoiceMailDeleteConfirmations @ 345 NONAME
+	_ZTV11CEmsSoundIE @ 346 NONAME
+	_ZTV11CSmsAddress @ 347 NONAME
+	_ZTV12CEmsFormatIE @ 348 NONAME
+	_ZTV12CSmsPduDbPdu @ 349 NONAME
+	_ZTV12CSmsUserData @ 350 NONAME
+	_ZTV13CEmsPictureIE @ 351 NONAME
+	_ZTV13CSmsPduDbBase @ 352 NONAME
+	_ZTV14CEmsUserPrompt @ 353 NONAME
+	_ZTV15CEmsAnimationIE @ 354 NONAME
+	_ZTV15CSmsCommandData @ 355 NONAME
+	_ZTV15CSmsPduDatabase @ 356 NONAME
+	_ZTV15CSmsPduDbConcat @ 357 NONAME
+	_ZTV15CTestGetSmsList @ 358 NONAME
+	_ZTV16CSmsBaseTestStep @ 359 NONAME
+	_ZTV16CSmsPduDbMessage @ 360 NONAME
+	_ZTV17CEmsPreDefSoundIE @ 361 NONAME
+	_ZTV17CTSmsRegTstActive @ 362 NONAME
+	_ZTV18CSmsStackTestUtils @ 363 NONAME
+	_ZTV18CVoiceMailDeletion @ 364 NONAME
+	_ZTV19CSmsStackTestServer @ 365 NONAME
+	_ZTV20CTestReceiveMessages @ 366 NONAME
+	_ZTV21CEmsPreDefAnimationIE @ 367 NONAME
+	_ZTV21CSmsAlphabetConverter @ 368 NONAME
+	_ZTV22CEmsInformationElement @ 369 NONAME
+	_ZTV22CEmsObjectDistribution @ 370 NONAME
+	_ZTV22CSmsInformationElement @ 371 NONAME
+	_ZTV22CSmsPduDbConcatSegment @ 372 NONAME
+	_ZTV22CVoiceMailNotification @ 373 NONAME
+	_ZTV29CTestReceiveEnumerateMessages @ 374 NONAME
+	_ZTV30CEnhancedVoiceMailNotification @ 375 NONAME
+	_ZTV32CEnhancedVoiceMailBoxInformation @ 376 NONAME
+	_ZTV37CEnhancedVoiceMailDeleteConfirmations @ 377 NONAME
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstackbackupeskfile.script	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,24 @@
+// Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+//! @file                       
+//! @SYMTestSuiteName           CBS-SMS
+//! @SYMScriptTestEnvironment   
+
+RUN_UTILS  MakeReadWrite	c:\private\101F7989\esock\smswap.sms.bak
+RUN_UTILS  DeleteFile		c:\private\101F7989\esock\smswap.sms.bak
+RUN_UTILS  CopyFile			c:\private\101F7989\esock\smswap.sms.esk		c:\private\101F7989\esock\smswap.sms.bak
+RUN_UTILS  MakeReadWrite	c:\private\101F7989\esock\smswap.sms.bak
+RUN_UTILS  MakeReadWrite	c:\private\101F7989\esock\smswap.sms.esk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstackbasetestserver.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,172 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+// @file
+// @test
+
+#include "smsstackbasetestserver.h"
+#include <test/TestExecuteStepBase.h>
+#include <e32def.h>
+#include <commsdattypesv1_1.h>
+#include <commsdat_partner.h>
+
+using namespace CommsDat;
+
+EXPORT_C CSmsStackTestServer::CSmsStackTestServer()
+    {
+    }
+
+EXPORT_C CSmsStackTestServer::~CSmsStackTestServer()
+    {
+    iPhone1.Close();
+    iPhone2.Close();
+    iTelServer.Close();
+    }
+
+EXPORT_C void CSmsStackTestServer::InitializeTsyAndPhonesL()
+/**
+ * This functions first gets the list of TSYs from Commsdat and then load each TSY in order.
+ * Having loaded the TSY, the function opens a phone session to this TSY. 
+ * Maximum two TSYs are loaded. If there is only one TSY, aPhone2 parameter is not changed.
+ */
+    {
+    TInt err = iTelServer.Connect();
+        
+    if ( KErrNone != err )
+        {
+        ERR_PRINTF2(_L("Couldn't connect to ETel server. Error:%d"), err);
+        User::Leave( err );
+        }
+        
+    RArray<TName> tsyNameList;
+    CleanupClosePushL(tsyNameList);
+        
+    GetTsyNamesFromCommsdatL(tsyNameList);
+        
+    TInt tsyCount = tsyNameList.Count();
+        
+    if( tsyCount < 1 )
+        {
+        ERR_PRINTF1(_L("Couldn't find any TSY record in Commsdat Baseband table."));
+        User::Leave( KErrNotFound );
+        }
+    else if ( tsyCount > 2)
+        {
+        ERR_PRINTF2(_L("Found %d baseband record. First two TSY will be loaded."), tsyCount);
+        }
+           
+    LoadTsyL(iTelServer, iPhone1, tsyNameList[0]);
+    if(--tsyCount)
+        {
+        LoadTsyL(iTelServer, iPhone2, tsyNameList[1]);
+        }
+        
+    CleanupStack::PopAndDestroy(&tsyNameList);
+    }
+
+void CSmsStackTestServer::GetTsyNamesFromCommsdatL(RArray<TName>& aTsyNameList)
+    {
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
+    CleanupStack::PushL(db);
+
+    TName tsy;
+    TUint32 modemId = 0;
+
+    CMDBField<TUint32>* globalSettingsField = new(ELeave) CMDBField<TUint32>(KCDTIdModemPhoneServicesSMS);
+    CleanupStack::PushL(globalSettingsField);
+    globalSettingsField->SetRecordId(1);
+    globalSettingsField->LoadL(*db);
+    modemId = *globalSettingsField;
+    CleanupStack::PopAndDestroy(globalSettingsField);
+
+    CMDBField<TDesC>* tsyField = new(ELeave) CMDBField<TDesC>(KCDTIdTsyName);
+    CleanupStack::PushL(tsyField);
+    tsyField->SetRecordId(modemId);
+    tsyField->SetMaxLengthL(KMaxTextLength);
+    tsyField->LoadL(*db);
+    tsy = *tsyField;
+    aTsyNameList.AppendL(tsy);
+
+    CleanupStack::PopAndDestroy(2, db); // db, tsyField
+    }
+
+void CSmsStackTestServer::LoadTsyL(RTelServer& aServer, RPhone& aPhone, const TDesC& aTsyName)
+    {
+    INFO_PRINTF2(_L("Using TSY \"%S\"Loading RTelServer..."), &aTsyName);
+
+    TInt ret = aServer.LoadPhoneModule(aTsyName);
+    if (ret!=KErrNone)
+        {
+        ERR_PRINTF2(_L("Loading Phone Module returned %d"), ret);
+        User::Leave(ret);
+        }
+    
+    // Find the phone corresponding to this TSY and open a number of handles on it
+    TInt numPhones;
+    ret = aServer.EnumeratePhones(numPhones);
+    if (ret!=KErrNone)
+        {
+        ERR_PRINTF2(_L("Enumerate Phones  returned %d"), ret);
+        User::Leave(ret);
+        }
+    
+    TBool found=EFalse;
+
+    while (numPhones--)
+        {
+        TName phoneTsy;
+        ret = aServer.GetTsyName(numPhones,phoneTsy);
+        if (ret!=KErrNone)
+            {
+            ERR_PRINTF2(_L("GetTsyName returned %d"), ret);
+            User::Leave(ret);
+            }
+        
+        if (phoneTsy.CompareF(aTsyName)==KErrNone)
+            {
+            INFO_PRINTF1(_L("Found RPhone..."));
+            found = ETrue;
+            RTelServer::TPhoneInfo info;
+            ret = aServer.GetPhoneInfo(numPhones,info);
+            if (ret!=KErrNone)
+                {
+                ERR_PRINTF2(_L("GetPhoneInfo returned %d"), ret);
+                User::Leave(ret);
+                }
+            ret = aPhone.Open(aServer,info.iName);
+            if (ret!=KErrNone)
+                {
+                ERR_PRINTF2(_L("Opening phone returned %d"), ret);
+                User::Leave(ret);
+                }
+ 
+            INFO_PRINTF1(_L("Initializing..."));
+            ret = aPhone.Initialise();
+            TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
+            User::After(InitPause);                         //call to the TSY and finish its StartUp.
+            if (ret!=KErrNone)
+                {
+                ERR_PRINTF2(_L("Completed Initialize returned %d"), ret);
+                User::Leave(ret);
+                }
+            break;
+            }
+        }
+    
+    if(!found)
+        {
+        ERR_PRINTF2(_L("Couldn't find the phone for TSY %S"), &aTsyName);
+        }
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstackbasetestserver.h	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,55 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+// @file
+// @test
+
+#ifndef SMSSTACKBASETESTSERVER_H
+#define SMSSTACKBASETESTSERVER_H
+
+#include <test\testexecuteserverbase.h>
+#include <etelmm.h>
+
+class CSmsStackTestServer : public CTestServer
+/**
+    Describes the base test server for the SMS stack test harness.
+ */
+    {
+public:
+    IMPORT_C virtual ~CSmsStackTestServer();
+    
+protected:
+    IMPORT_C CSmsStackTestServer();
+    IMPORT_C void InitializeTsyAndPhonesL();
+
+private:
+    void GetTsyNamesFromCommsdatL(RArray<TName>& aTsyNameList);
+    void LoadTsyL(RTelServer& aServer, RPhone& aPhone, const TDesC& aTsyName);
+    
+private:
+    /**
+     * SMS stack first interrogates ETel server to get information about available SIMs,
+     * and then opens phone sessions by using the retrieved available SIM info.
+     * ETel returns the SIM info based on the loaded TSYs. If there is no connection to a phone,
+     * ETel unloads the corresponding TSY. To keep TSYs required by SMS tests loaded, the test code
+     * opens connection to the required phones and keep them alive throughout all test steps.
+     * In a real device, this is done as a part of the system start.
+     */
+    RTelServer iTelServer;
+    RMobilePhone iPhone1;
+    RMobilePhone iPhone2;
+    };
+ 
+#endif // SMSSTACKBASETESTSERVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstackbaseteststeps.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,1972 @@
+// Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include "smsstackbaseteststeps.h"
+
+#include <testconfigfileparser.h>
+#include <simtsy.h>
+#include <commsdattypesv1_1.h>
+#include <gsmubuf.h>
+#include <Gsmumsg.h>
+#include <gsmuset.h>
+#include <es_sock.h>
+#include <smsustrm.h>
+#include <c32root.h>
+#include <sacls.h>
+#include <e32math.h>
+#include <smspver.h>
+
+#include "smsstacktestutilities.h"
+#include "smsstacktestconsts.h"
+#include "smsstacktestcase.h"
+#include "smspdudb.h"
+
+using namespace CommsDat;
+
+EXPORT_C CSmsBaseTestStep::CSmsBaseTestStep()
+    {
+    // empty
+    }
+
+EXPORT_C CSmsBaseTestStep::~CSmsBaseTestStep()
+    {
+    // empty       
+    }
+
+/**
+    Creates the file server session and marks the heap
+*/
+EXPORT_C TVerdict CSmsBaseTestStep::doTestStepPreambleL()
+    {
+    RDebug::Print(_L("%S"), &TestStepName());
+    
+    User::LeaveIfError(iFs.Connect());  
+    
+    __UHEAP_MARK;
+    
+    SetTestNumberFromConfigurationFileL();
+    
+    iSmsStackTestUtils = CSmsStackTestUtils::NewL(this,  iFs);
+    
+    iScheduler = new(ELeave) CActiveScheduler;
+    CActiveScheduler::Install(iScheduler);
+    
+    TRAPD(ret, ParseSettingsFromFileL());
+    TESTCHECK(ret, KErrNone, "ParseSettingsFromFileL");
+    
+
+    if (!iPartOfMultiStepTestCase)
+        {
+        ConnectSocketServerL(iSocketServer);
+        }
+    
+    return TestStepResult();
+    }
+
+/**
+    Closes file server session and unmarks the heap 
+*/
+EXPORT_C TVerdict CSmsBaseTestStep::doTestStepPostambleL()
+    {
+    if (!iPartOfMultiStepTestCase)
+        {
+        iSocketServer.Close();
+        }
+    
+    delete iScheduler;
+    iScheduler = NULL;
+    
+    delete iSmsStackTestUtils;
+    iSmsStackTestUtils = NULL;
+    
+    __UHEAP_MARKEND;
+    
+    iFs.Close();
+    
+    if ( !iPartOfMultiStepTestCase && !iNotLastTestStep)
+        {
+        DoESockMemoryLeakTestL();
+        }
+    
+    return TestStepResult();
+    }
+    
+// TODO Method not needed - should be removed and replaced where appropriate
+EXPORT_C void CSmsBaseTestStep::ParseSettingsFromFileL()
+    {
+    CTestConfig* configFile = CTestConfig::NewLC(iFs,KGmsSmsConfigFileDir,KGmsSmsConfigFileName);
+    
+    const CTestConfigSection* cfgFile = configFile->Section(KSetupTelNumbers);
+    TESTCHECKCONDITIONL(cfgFile!=NULL, "Open SMS configuration file");
+
+    const CTestConfigItem* item = cfgFile->Item(KServiceCenter,0);
+    TESTCHECKCONDITIONL(item!=NULL, "Read ServiceCentre value from the configuration file");
+
+    iServiceCenterNumber.Copy(item->Value());
+
+    item = cfgFile->Item(KTelefoneNumber,0);
+    TESTCHECKCONDITIONL(item!=NULL, "Read TelephoneNumber value from the configuration file");
+    
+    iTelephoneNumber.Copy(item->Value());
+
+    CleanupStack::PopAndDestroy(configFile);
+    }
+
+/**
+ * Read the test number from  the configuration file.
+ * The test number is passed via property KUidPSSimTsyCategory. 
+ * The SIM tsy uses test number to parse correct script from config.txt
+ * @return ETrue, if the test number has been assigned successfully, otherwise EFalse.
+ */
+EXPORT_C void CSmsBaseTestStep::SetTestNumberFromConfigurationFileL()
+    {
+    TInt testNumber (0);
+    if(GetIntFromConfig( ConfigSection(), KTestCaseNumber, testNumber))
+        {
+        SetSimTSYTestNumberL(testNumber);
+        }
+    }
+
+EXPORT_C void CSmsBaseTestStep::SetSimTSYTestNumberL(TInt aTestNumber)
+/**
+    Set the SIM TSY Test number 
+    @param aTestNumber is the test number in SIM TSY config file
+*/
+    {   
+    SetTestNumberL(KPSSimTsyTestNumber, aTestNumber);
+    }
+
+/**
+ *  The test number is set with property aTestNumberProperty. This will notify the SIM tsy.
+ *  SIM tsy uses test number to parse correct script from the configuration file.
+ *  @param aTestNumberProperty The test number property UID
+ *  @param aTestNumber The test number corresponding the test case
+ */
+EXPORT_C void CSmsBaseTestStep::SetTestNumberL(TInt aTestNumberProperty, TInt aTestNumber)
+    {
+    //
+    // Set the SIM.TSY test number...
+    //
+    RProperty testNumberProperty;
+    User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, aTestNumberProperty));
+    CleanupClosePushL(testNumberProperty);
+
+    TRequestStatus status;
+    testNumberProperty.Subscribe(status);
+    INFO_PRINTF3(_L("Setting SimTsy test number property (0x%X) to %d"), aTestNumberProperty, aTestNumber);
+    User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory, aTestNumberProperty, aTestNumber));
+    User::WaitForRequest(status);
+    TESTCHECK(status.Int(), KErrNone, "Setting SimTsy test number property ");
+
+    TInt testNumberCheck;
+    User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
+    TESTCHECK(aTestNumber, testNumberCheck, "Checking correct test number");
+
+    CleanupStack::PopAndDestroy(&testNumberProperty);
+    }
+    
+EXPORT_C void CSmsBaseTestStep::ConnectSocketServerL(RSocketServ& aSocketServer)
+    {
+    INFO_PRINTF1(_L("Connecting to the Socket Server..."));
+    
+    TInt  ret = aSocketServer.Connect(KSocketMessageSlots);
+    if (ret != KErrNone)
+        {
+        ERR_PRINTF2(_L("Connecting to socket server failed [ret=%d]"), ret);
+        }
+    
+    INFO_PRINTF1(_L("Clearing private data..."));
+
+    _LIT(KWapReassemblyStoreName, "C:\\Private\\101F7989\\sms\\wapreast.dat");
+    ret = iFs.Delete(KWapReassemblyStoreName);
+    if( ret != KErrNone && ret != KErrNotFound && ret != KErrPathNotFound )
+        {
+        ERR_PRINTF2(_L("Deleted WAP reassembly Store failed [ret=%d]"), ret);
+        }
+
+    _LIT(KReassemblyStoreName, "C:\\Private\\101F7989\\sms\\smsreast.dat");
+    ret = iFs.Delete(KReassemblyStoreName);
+    if( ret != KErrNone && ret != KErrNotFound && ret != KErrPathNotFound )
+        {
+        ERR_PRINTF2(_L("Deleted reassembly Store failed [ret=%d]"), ret);
+        }
+
+    _LIT(KSegmentationStoreName, "C:\\Private\\101F7989\\sms\\smssegst.dat");
+    ret = iFs.Delete(KSegmentationStoreName);
+    if( ret != KErrNone && ret != KErrNotFound && ret != KErrPathNotFound )
+        {
+        ERR_PRINTF2(_L("Deleted segmentation Store failed [ret=%d]"), ret);
+        }
+
+    _LIT(KSmsClass0PreallocatedStoreName, "C:\\Private\\101F7989\\sms\\smsclass0preallocated.dat");
+    ret = iFs.Delete(KSmsClass0PreallocatedStoreName);
+    if( ret != KErrNone && ret != KErrNotFound && ret != KErrPathNotFound )
+        {
+        ERR_PRINTF2(_L("Deleted SmsClass0Preallocated Store failed [ret=%d]"), ret);
+        }
+
+    _LIT(KSmsClass0ReassemblyStoreName, "C:\\Private\\101F7989\\sms\\smsclass0reast.dat");
+    ret = iFs.Delete(KSmsClass0ReassemblyStoreName);
+    if( ret != KErrNone && ret != KErrNotFound && ret != KErrPathNotFound )
+        {
+        ERR_PRINTF2(_L("Deleted SmsClass0Reassembly Store failed [ret=%d]"), ret);
+        }
+
+    _LIT(KSmsUtilityResourceFileName, "C:\\Private\\101F7989\\sms\\smsu.rsc");
+    ret = iFs.Delete(KSmsUtilityResourceFileName);
+    if( ret != KErrNone && ret != KErrNotFound && ret != KErrPathNotFound )
+        {
+        ERR_PRINTF2(_L("Deleted SMS stack resource file failed [ret=%d]"), ret);
+        }
+    }
+
+EXPORT_C void CSmsBaseTestStep::ConnectSocketServerLC(RSocketServ& aSocketServer)
+    {
+    ConnectSocketServerL(aSocketServer);
+    CleanupClosePushL(aSocketServer);
+    }
+    
+EXPORT_C CSmsMessage* CSmsBaseTestStep::CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType)
+/**
+ *  Create a uninitialised SMS message
+ *  @param aDes contains text that will be inserted to the pdu
+ *  @param aAlphabet describes the alphabet of the pdu
+ *  @return CSmsMessage* :Pointer to the created CSmsMessage object.
+ */
+    {
+    CSmsMessage* smsMessage = CreateSmsMessageLC(aDes, aAlphabet, aType);
+    CleanupStack::Pop(smsMessage);
+    return smsMessage;
+    }
+
+EXPORT_C CSmsMessage* CSmsBaseTestStep::CreateSmsMessageLC(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType)
+/**
+ *  Create a uninitialised SMS message
+ *  @param aDes contains text that will be inserted to the pdu
+ *  @param aAlphabet describes the alphabet of the pdu
+ *  @return CSmsMessage* :Pointer to the created CSmsMessage object.
+ */
+    {
+    CSmsBuffer* buffer=CSmsBuffer::NewL();
+    CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, aType, buffer);
+    CleanupStack::PushL(smsMessage);
+
+    TSmsUserDataSettings smsSettings;
+    smsSettings.SetAlphabet(aAlphabet);
+    smsSettings.SetTextCompressed(EFalse);
+    smsMessage->SetUserDataSettingsL(smsSettings);
+
+    smsMessage->SetToFromAddressL(iTelephoneNumber);
+    smsMessage->SmsPDU().SetServiceCenterAddressL(iServiceCenterNumber);
+    buffer->InsertL(0,aDes);
+    return smsMessage;
+    }
+
+EXPORT_C CSmsMessage* CSmsBaseTestStep::CreateSmsWithStatusReportReqL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet)
+/**
+ *  Create a uninitialised SMS message with Status Report request
+ *  @param aDes contains text that will be inserted to the pdu
+ *  @param aAlphabet describes the alphabet of the pdu
+ *  @return CSmsMessage* :Pointer to the created CSmsMessage object.
+ */
+    {
+    CSmsMessage* smsMessage=CreateSmsMessageLC(aDes, aAlphabet);
+
+    //Set Status report request
+    CSmsSubmit& submitPdu=(CSmsSubmit&)smsMessage->SmsPDU();
+    submitPdu.SetStatusReportRequest(ETrue);
+
+    CleanupStack::Pop(smsMessage);
+    return smsMessage;
+    }
+
+EXPORT_C CSmsMessage* CSmsBaseTestStep::RecvSmsL(RSocket& aSocket, TInt aIoctl)
+/**
+ *  Receive an Sms
+ *  @param aSocket is used to stream the sms message from the socket server
+ *  @return CSmsMessage* :Sms message from Sms stack
+ *  @leave Leaves if streaming the message from the socket server doesn't succeed
+ */
+    {
+    CSmsBuffer* buffer=CSmsBuffer::NewL();
+    CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsSubmit,buffer);
+    CleanupStack::PushL(smsMessage);
+
+    RSmsSocketReadStream readstream(aSocket);
+    TRAPD(ret, readstream >> *smsMessage);
+ 
+    TPckgBuf<TUint> sbuf;
+    TRequestStatus status;
+
+    if(ret==KErrNone)
+        {
+        aSocket.Ioctl(aIoctl, status, &sbuf, KSolSmsProv);
+        User::WaitForRequest(status);
+        CleanupStack::Pop(smsMessage);
+        TESTCHECK(status.Int(), KErrNone, "Notifying the SMS stack that message was received successfully");
+        INFO_PRINTF1(_L("Message received successfully"));
+        }
+    //An error has occured, no message has been received
+    else
+        {
+        aSocket.Ioctl(KIoctlReadMessageFailed, status, &sbuf, KSolSmsProv);
+        User::WaitForRequest(status);
+        TESTCHECK(status.Int(), KErrNone, "Notifying the SMS stack that message was not received");
+        ERR_PRINTF2(_L("Receiving message failed %d"), ret);
+        User::Leave(ret);
+        }
+    return smsMessage;  
+    }
+
+EXPORT_C CSmsMessage* CSmsBaseTestStep::RecvSmsFailedL(RSocket& aSocket)
+/**
+ *  Receive an Sms, first nack the receive several times before succeeding
+ *  @param aSocket is used to stream the sms message from the socket server
+ *  @return CSmsMessage* :Sms message from Sms stack
+ *  @leave Leaves if streaming the message from the socket server doesn't succeed
+ *  @leave Leaves if nack of receiving is completed with error code
+ *  @leave Leaves if ack of receiving is completed with error code
+ */
+    {
+    CSmsBuffer* buffer=CSmsBuffer::NewL();
+    CSmsMessage* smsMessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsSubmit,buffer);
+    CleanupStack::PushL(smsMessage);
+    RSmsSocketReadStream readstream(aSocket);
+
+    TPckgBuf<TUint> sbuf;
+    TRequestStatus status;
+
+    for(TInt i=0; i<10; i++)
+        {
+        TRAPD(ret,readstream >> *smsMessage);
+        TEST(ret == KErrNone);
+        aSocket.Ioctl(KIoctlReadMessageFailed, status, &sbuf, KSolSmsProv);
+        User::WaitForRequest(status);
+        TEST(status.Int() == KErrNone);
+        }
+
+    TRAPD(ret,readstream >> *smsMessage);
+    TEST(ret == KErrNone);
+    aSocket.Ioctl(KIoctlReadMessageSucceeded, status, NULL, KSolSmsProv);
+    User::WaitForRequest(status);
+    TEST(status.Int() == KErrNone);
+
+    CleanupStack::Pop(smsMessage);
+    return smsMessage;
+    }
+
+EXPORT_C void CSmsBaseTestStep::SendSmsL(const CSmsMessage* aSms, RSocket& aSocket, TInt aExpectedError/*=KErrNone*/, TInt aMaxRetries/*=3*/)
+/**
+ *  Stream aSms out to the socket server
+ *  @param aSms contains the sms tpdu that will be streamed to the sms stack
+ *  @param aSocket is used to stream the aSms to the sms stack
+ *  @param aExpectedError The error expected from the send request
+ *  @param aMaxRetries The max number of retries is send request does not match expected error
+ *  @leave Leaves if streaming the message to the socket server doesn't succeed
+ *  @leave Leaves if sending is completed with error code
+ */
+    {
+    INFO_PRINTF1(_L("Sending SMS... "));
+    PrintMessageL(aSms);
+    
+    TBool tryAgain = ETrue;
+    TInt sendTry (0);
+    TRequestStatus status = KErrNone;
+
+    while( tryAgain && sendTry < aMaxRetries )
+        {
+        RSmsSocketWriteStream writestream(aSocket);
+        TRAPD(ret,writestream << *aSms);
+        TRAP(ret, writestream.CommitL());
+
+        TPckgBuf<TUint> sbuf;
+        aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
+        User::WaitForRequest(status);
+        INFO_PRINTF3(_L("SendSmsL [status=%d, aExpectedError=%d]"), status.Int(), aExpectedError);
+        if ( status.Int() != aExpectedError )
+            {
+            tryAgain = ETrue;
+            INFO_PRINTF1(_L("Try again... "));
+            ++sendTry;
+            }
+        else tryAgain = EFalse;
+        }
+    
+    TESTCHECKL(status.Int(), aExpectedError, "Sending Message with an expected error");
+    }
+
+EXPORT_C void CSmsBaseTestStep::SendSmsCancelL(CSmsMessage* aSms, RSocket& aSocket1, RSocket& aSocket2)
+/**
+ *  Stream Sms out to the socket server by two RSmsSocketWriteStream object.
+ *  The first request is canceled and then the second request is completed with error code.
+ *  @param aSms contains the sms tpdu that will be streamed to the sms stack
+ *  @param aSocket1 The socket used with message that will be canceled
+ *  @param aSocket2 The socket used with message that will be completed with error code
+ *  @leave Leaves if streaming the message to the socket server doesn't succeed
+ *  @leave Leaves if sending is completed with KErrNone
+ */
+    {
+    RSmsSocketWriteStream writestream(aSocket1);
+    TRAPD(ret,writestream << *aSms);
+    TEST(ret == KErrNone);
+    TRAP(ret,writestream.CommitL());
+    TEST(ret == KErrNone);
+
+    TPckgBuf<TUint> sbuf;
+    TRequestStatus status1,status2;
+
+    //stream to socket2
+    RSmsSocketWriteStream writestream2(aSocket2);
+    TRAP(ret,writestream2 << *aSms);
+    TEST(ret == KErrNone);
+    TRAP(ret,writestream2.CommitL());
+    TEST(ret == KErrNone);
+
+    aSocket1.Ioctl(KIoctlSendSmsMessage,status1,&sbuf, KSolSmsProv);
+    aSocket2.Ioctl(KIoctlSendSmsMessage,status2,&sbuf, KSolSmsProv);
+
+    User::After(2000000);
+
+    // Test cancel first
+    aSocket1.CancelIoctl();
+    User::WaitForRequest(status1);
+    TEST(status1.Int()==KErrCancel);
+
+    User::After(50000);
+
+
+    User::WaitForRequest(status2);
+
+    INFO_PRINTF2(_L("SendSmsL - sendSmsMessage returned %d"),status2.Int());
+    PrintMessageL(aSms);
+
+    //Ensure the request is completed with error code ;)
+    TEST(status2.Int() != KErrNone);
+    INFO_PRINTF2(_L("Sending failed! %d"), status2.Int());
+    }
+
+EXPORT_C TInt CSmsBaseTestStep::SendSmsErrorL(CSmsMessage* aSms, RSocket& aSocket)
+/**
+ *  Stream aSms out to the socket server. Sending is completed with error code.
+ *  @param aSms contains the sms tpdu that will be streamed to the sms stack
+ *  @param aSocket is used to stream the aSms to the sms stack
+ *  @return error code
+ *  @leave Leaves if streaming the message to the socket server doesn't succeed
+ *  @leave Leaves if sending is completed with KErrNone
+ */
+    {
+    RSmsSocketWriteStream writestream(aSocket);
+    TRAPD(ret,writestream << *aSms);
+    TEST(ret == KErrNone);
+    TRAP(ret,writestream.CommitL());
+    TEST(ret == KErrNone);
+
+    TPckgBuf<TUint> sbuf;
+    TRequestStatus status;
+
+    User::After(50000);
+    // test cancel first
+    aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
+    aSocket.CancelIoctl();
+    User::WaitForRequest(status);
+    TEST(status.Int()==KErrCancel);
+
+    //Now send again, completed with error
+    TRAP(ret,writestream << *aSms);
+    TEST(ret == KErrNone);
+    TRAP(ret,writestream.CommitL());
+    TEST(ret == KErrNone);
+
+    aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
+    User::WaitForRequest(status);
+    INFO_PRINTF2(_L("SendSmsL - sendSmsMessage returned %d"), status.Int());
+    PrintMessageL(aSms);
+    INFO_PRINTF2(_L("Sending failed! %d"), status.Int());
+    TEST(status.Int() != KErrNone);
+    return status.Int();
+    }
+
+EXPORT_C void CSmsBaseTestStep::SendCommandSmsL(CSmsMessage* aSms, RSocket& aSocket)
+/**
+ *  Stream command message out to the socket server and wait for the return status
+ *  @param aSms contains the sms tpdu that will be streamed to the sms stack
+ *  @param aSocket is used to stream the aSms to the sms stack
+ *  @leave Leaves if streaming the message to the socket server doesn't succeed
+ *  @leave Leaves if sending is completed with error code
+ */
+    {
+    RSmsSocketWriteStream writestream(aSocket);
+    TRAPD(ret,writestream << *aSms);
+    TEST(ret == KErrNone);
+    TRAP(ret,writestream.CommitL());
+    TEST(ret == KErrNone);
+
+    TRequestStatus status;
+    TPckgBuf<TUint> sbuf;
+    aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf,KSolSmsProv);
+
+    User::WaitForRequest(status);
+
+    INFO_PRINTF2(_L("SendCommandSmsL, sendSms returned %d"), status.Int());
+    User::After(1000000);
+    TEST(status.Int() == KErrNone);
+
+    }
+
+EXPORT_C void CSmsBaseTestStep::SendAndRecvTestMessageL(const TTestCase& aTestCase, RSocket& aSocket)
+/**
+ *  Send a test message. This method is used to send and receive different DCS type messages
+ *  @param aTestCase has information about the used test message, e.g. message data and DCS
+ *  @leave Leaves if any of the leaving functions used at this function leaves
+ */
+    {
+    SendTestMessageL(aTestCase, aSocket);
+
+    WaitForRecvL(aSocket);
+    CSmsMessage* smsMessage = RecvSmsL(aSocket);
+    CleanupStack::PushL(smsMessage);
+    
+    TestMessageContentsL(smsMessage,aTestCase);
+    CleanupStack::PopAndDestroy(smsMessage);
+    }
+
+EXPORT_C void CSmsBaseTestStep::SendTestMessageL(const TTestCase& aTestCase, RSocket& aSocket)
+/**
+ *  Send a test message
+ *  Assumes recv is already done.
+ *  @param aTestCase has information about the used test message, e.g. message data and DCS
+ *  @leave Leaves if any of the leaving functions used at this function leaves
+ */
+    {
+    CSmsMessage* smsMessage = CreateSmsMessageLC(aTestCase.iMsg, TSmsDataCodingScheme::ESmsAlphabet7Bit);
+
+    CSmsPDU& pdu = smsMessage->SmsPDU();
+    CSmsUserData& userData = pdu.UserData();
+
+    if (aTestCase.iMatchType == ESmsAddrMatchIEI)
+        userData.AddInformationElementL(aTestCase.iIdentifierMatch,_L8("98"));
+
+    if (aTestCase.iTestSmsClass)
+        {
+        pdu.SetBits7To4(TSmsDataCodingScheme::ESmsDCSTextUncompressedWithClassInfo);
+        pdu.SetClass(ETrue,aTestCase.iSmsClass);
+        }
+
+    if (aTestCase.iTestValidityPeriod && pdu.Type()==CSmsPDU::ESmsSubmit)
+        {
+        CSmsSubmit* submitPdu = REINTERPRET_CAST(CSmsSubmit*,&pdu);
+        submitPdu->SetValidityPeriod(aTestCase.iValidityPeriod);
+        }
+
+    if (aTestCase.iTestIndicators && pdu.Type()==CSmsPDU::ESmsSubmit)
+        {
+        SetIndicatorL(aTestCase, smsMessage);
+        }
+
+    SendSmsL(smsMessage, aSocket);
+    CleanupStack::PopAndDestroy(smsMessage);
+    }
+
+EXPORT_C void CSmsBaseTestStep::SendSmsDontCheckReturnValueL(CSmsMessage* aSms, RSocket& aSocket)
+/**
+ *  Stream aSms out to the socket server and don't check return value.
+ *  @param aSms contains the sms tpdu that will be streamed to the sms stack
+ *  @param aSocket is used to stream the aSms to the sms stack
+ *  @leave Leaves if streaming the message to the socket server doesn't succeed
+ *  @leave Leaves if sending is completed with KErrNone
+ */
+    {
+    RSmsSocketWriteStream writestream(aSocket);
+    writestream << *aSms;
+    writestream.CommitL();
+
+    TPckgBuf<TUint> sbuf;
+    TRequestStatus status;
+    aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
+    User::WaitForRequest(status);
+    INFO_PRINTF2(_L("Send SMS message returned %d"), status.Int());
+    if(status.Int() != KErrNone)
+        {
+        User::Leave(status.Int());
+        }
+    }
+
+EXPORT_C void CSmsBaseTestStep::SendAndRecvSms7BitL(const TDesC& aDes, RSocket& aSocket)
+/**
+ *  Send and receive one 7bit sms
+ *  @param aDes contains the text to be send
+ *  @leave Leaves if DoSendAndRecvSmsL leaves
+ */
+    {
+    DoSendAndRecvSmsL(aDes,TSmsDataCodingScheme::ESmsAlphabet7Bit, aSocket);
+    }
+
+EXPORT_C void CSmsBaseTestStep::DoSendAndRecvSmsL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, RSocket& aSocket)
+/**
+ *  Send and recv one sms,
+ *  then check that the sent message corresponds with the received message
+ *  @param aDes contains the text that will be inserted to the pdu at CreateSmsMessageL
+ *  @param aAlphabet describes the alphabet of the pdu that will be created at CreateSmsMessageL
+ *  @leave Leaves if any of the leaving functions used at this function leaves
+ */
+    {
+    CSmsMessage* smsMessage=CreateSmsMessageLC(aDes, aAlphabet);
+    SendSmsL(smsMessage, aSocket);
+    CleanupStack::PopAndDestroy(smsMessage); //destroyed because created again in RecvSmsL
+
+    WaitForRecvL( aSocket);
+    smsMessage = RecvSmsL( aSocket);
+    CleanupStack::PushL(smsMessage);
+
+    TestSmsContentsL(smsMessage,aDes);
+
+    // TODO: is this a way to go?
+    User::After(1000000);
+
+    CleanupStack::PopAndDestroy(smsMessage);
+    }
+
+EXPORT_C void CSmsBaseTestStep::PrintMessageDetailedL(const CSmsMessage* aSms)
+    {
+    TPtrC from = aSms->ToFromAddress();
+    INFO_PRINTF2(_L("ToFromAddress: %S"), &from);
+    TPtrC sc = aSms->ServiceCenterAddress();
+    INFO_PRINTF2(_L("ServiceCenterAddress: %S"), &sc);
+
+    if(aSms->Storage() == CSmsMessage::ESmsSIMStorage)
+        {
+        INFO_PRINTF1(_L("Store: SIM"));
+        }
+    else if (aSms->Storage() == CSmsMessage::ESmsPhoneStorage)
+        {
+        INFO_PRINTF1(_L("Store: Phone"));
+        }
+    else if (aSms->Storage() == CSmsMessage::ESmsCombinedStorage)
+        {
+        INFO_PRINTF1(_L("Store: Combined"));
+        }
+    else
+        {
+        INFO_PRINTF1(_L("Store: Unknown"));
+        }
+
+    switch (aSms->Status())
+        {
+        case RMobileSmsStore::EStoredMessageUnread:
+            INFO_PRINTF1(_L("Status: Unread"));
+            break;
+
+        case RMobileSmsStore::EStoredMessageRead:
+            INFO_PRINTF1(_L("Status: Read"));
+            break;
+
+        case RMobileSmsStore::EStoredMessageUnsent:
+            INFO_PRINTF1(_L("Status: Unsent"));
+            break;
+
+        case RMobileSmsStore::EStoredMessageSent:
+            INFO_PRINTF1(_L("Status: Sent"));
+            break;
+
+        case RMobileSmsStore::EStoredMessageDelivered:
+            INFO_PRINTF1(_L("Status: Delivered"));
+            break;
+
+        case RMobileSmsStore::EStoredMessageUnknownStatus:
+        default:
+            INFO_PRINTF1(_L("Status: Unknown"));
+            break;
+        }
+    PrintMessageL(aSms);
+    }
+
+EXPORT_C void CSmsBaseTestStep::PrintMessageL(const CSmsMessage* aSms)
+/**
+ *  Print the content of SMS to the console
+ */
+    {
+    if (aSms == NULL)
+        {
+        return;
+        }
+    
+    CSmsBuffer& smsbuffer = (CSmsBuffer&)aSms->Buffer();
+    const TInt len = smsbuffer.Length();
+    HBufC* hbuf = HBufC::NewL(len);
+    
+    TPtr ptr = hbuf->Des();
+    smsbuffer.Extract(ptr, 0, len);
+
+    for (TInt j = 0; j < len; ++j)
+        {
+        if (ptr[j] < 0x20  ||  ptr[j] > 0xFF)
+            {
+            // Non-displayable character, print "." instead
+            ptr[j] = 0x007F;
+            }
+        }
+    INFO_PRINTF2(_L("SMS contains: %S"), &ptr);
+
+    delete hbuf;
+    }
+
+EXPORT_C TSmsStatus::TSmsStatusValue CSmsBaseTestStep::RecvStatusReportL(TSmsServiceCenterAddress& aRecipientNumber, RSocket& aSocket)
+/**
+ * Receive a Status report
+ * @param aRecipientNumber The supposed recipient number
+ * @param aSocket is used to stream the sms message from the socket server
+ */
+    {
+    //Receive SMS
+    INFO_PRINTF1(_L("waiting for incoming status report...") );
+    WaitForRecvL(aSocket);
+    CSmsMessage* smsMessage = RecvSmsL(aSocket);
+
+    //Check the status report
+    CleanupStack::PushL(smsMessage);
+    TBool isSR = (smsMessage->Type()==CSmsPDU::ESmsStatusReport);
+
+    if (isSR)
+        {
+        INFO_PRINTF1(_L("Received status report"));
+        TSmsServiceCenterAddress telephoneNumber=smsMessage->ToFromAddress();
+        TEST(telephoneNumber==aRecipientNumber);
+        INFO_PRINTF2(_L("Message delivered to %S"), &telephoneNumber);
+        }
+    else
+        {
+        INFO_PRINTF1(_L("Received SMS is NOT a Status report!"));
+        }
+
+    TEST(isSR);
+    
+    //Get the status report
+    CSmsStatusReport& statusReport = STATIC_CAST(CSmsStatusReport&, smsMessage->SmsPDU()); 
+    TSmsStatus::TSmsStatusValue status = statusReport.Status();
+    
+    CleanupStack::PopAndDestroy(smsMessage);
+    return status;
+    }
+
+EXPORT_C void CSmsBaseTestStep::WaitForRecvL(RSocket& aSocket)
+/**
+ *  Wait for an Sms to be received
+ *  @param aSocket The status is return to this socket
+ *  @leave Leaves if receiving is completed with error code
+ */
+    {
+    INFO_PRINTF1(_L("Waiting for incoming SMS...") );
+    TPckgBuf<TUint> sbuf;
+    sbuf()=KSockSelectRead;
+    TRequestStatus status;
+    aSocket.Ioctl(KIOctlSelect,status,&sbuf,KSOLSocket);
+    User::WaitForRequest(status);
+    TESTCHECK(status.Int(), KErrNone, "Waiting for incoming SMS");
+    }
+
+EXPORT_C void CSmsBaseTestStep::TestSmsContentsL(CSmsMessage* aSms, const TDesC& aDes, TBool aIgnorePrintOutput)
+/**
+ *  Check that aSms contains text that matches to aDes
+ *  @param aSms SMS message that has been come from SMS stack
+ *  @param aDes SMS message's text that is defined at client side
+ *  @leave Leaves if aSms doesn't match to aDes
+ */
+    {
+    CSmsBufferBase& smsBuffer=aSms->Buffer();
+    TInt bufLen=smsBuffer.Length();
+    
+    INFO_PRINTF2(_L("Length of buffer is : %d"),bufLen);
+        
+    HBufC* textBuf=HBufC::NewL(bufLen);
+    CleanupStack::PushL(textBuf);
+    TPtr textPtr(textBuf->Des());
+    smsBuffer.Extract(textPtr,0,bufLen);
+
+    INFO_PRINTF1(_L("Comparing messages..."));
+    TInt  compareResult = textPtr.Compare(aDes);
+
+    if (!aIgnorePrintOutput)
+        {
+        TInt  bufLen2 = aDes.Length();
+        HBufC*  textBuf2 = HBufC::NewL(aDes.Length());
+        CleanupStack::PushL(textBuf2);
+        TPtr textPtr2(textBuf2->Des());
+        TInt  index;
+        
+        for (index = 0;  index < bufLen;  index++)
+            {
+            if (textPtr[index] < 0x20  ||  textPtr[index] > 0xff)
+                {
+                textPtr[index] = 0x007f;
+                }
+            }
+        INFO_PRINTF2(_L("%S"), &textPtr);
+
+        INFO_PRINTF1(_L("with expected"));
+
+        textPtr2.Copy(aDes);
+        for (index = 0;  index < bufLen2;  index++)
+            {
+            if (textPtr2[index] < 0x20  ||  textPtr2[index] > 0xff)
+                {
+                textPtr2[index] = 0x007f;
+                }
+            }
+        INFO_PRINTF2(_L("%S"), &textPtr2);
+
+        CleanupStack::PopAndDestroy(textBuf2);
+        }
+        
+    if (compareResult != 0)
+        {
+        SetTestStepResult(EFail);
+        ERR_PRINTF1(_L("Message content does not match the provided string")); 
+        }
+    else
+        {
+        INFO_PRINTF1(_L("Message content matches the provided string"));  
+        }
+    
+    CleanupStack::PopAndDestroy(textBuf);
+    }
+
+EXPORT_C void CSmsBaseTestStep::TestMessageContentsL(CSmsMessage* aSms, const TTestCase& aTestCase)
+/**
+ *  Check the sms matches the expected test result
+ *  @param aSms has the message to be tested with aTestCase.iMsg
+ *  @param aTestCase has information about the used test message, e.g. message data and DCS
+ *  @leave Leaves if TSmsClass isn't defined at the pdu
+ *  @leave Leaves if class of pdu doesn't match to supposed class (aTestCase.iSmsClass)
+ */
+    {
+    TestSmsContentsL(aSms,aTestCase.iMsg);
+    CSmsPDU& pdu = aSms->SmsPDU();
+
+    if (aTestCase.iTestSmsClass)
+        {
+        TSmsDataCodingScheme::TSmsClass smsClass;
+        TBool isDefined = pdu.Class(smsClass);
+        TEST(isDefined);
+        TEST(smsClass == aTestCase.iSmsClass);
+        }
+    if (aTestCase.iTestIndicators)
+        {
+        TEST(pdu.Bits7To4() == aTestCase.iBits7To4);
+        TEST(pdu.IndicationType() == aTestCase.iIndicationType);
+        TEST(pdu.IndicationState() == aTestCase.iIndicationState);
+        }
+
+    }
+
+EXPORT_C void CSmsBaseTestStep::WriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket)
+/**
+ *  This method stores SMS messages to the SMS storage.
+ *  @param aSms SMS message that will be stored
+ *  @param aSocket Used to stream SMS message to the sms stack
+ *  @leave Leaves if streaming the message to the socket server doesn't succeed
+ *  @leave Leaves if store request is completed with error code
+ */
+    {
+    INFO_PRINTF1(_L("Write message to SIM"));
+    TRequestStatus status;
+    RSmsSocketWriteStream writestream(aSocket);
+
+    TRAPD(ret,writestream << aSms);
+    TESTCHECK(ret, KErrNone, "Write SMS to stream");
+    TRAP(ret,writestream.CommitL());
+    TESTCHECK(ret, KErrNone, "Commit the stream writing");
+
+    aSocket.Ioctl(KIoctlWriteSmsMessage,status,NULL,KSolSmsProv);
+    User::WaitForRequest(status);
+    TESTCHECK(status.Int(), KErrNone, "Write message to SIM");
+    }
+
+EXPORT_C void CSmsBaseTestStep::WriteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket)
+/**
+ *  This method stores SMS messages to the SMS storage.
+ *  @param aSms SMS message that will be stored
+ *  @param aSocket Used to stream SMS message to the sms stack
+ */
+    {
+    TRequestStatus status;
+    RSmsSocketWriteStream writestream(aSocket);
+    
+    writestream << aSms;
+    writestream.CommitL();
+    
+    aSocket.Ioctl(KIoctlWriteSmsMessage,status,NULL, KSolSmsProv);
+    User::WaitForRequest(status);
+    INFO_PRINTF2(_L("Write SMS message returned %d"), status.Int());
+    if(status.Int() != KErrNone)
+        {
+        User::Leave(status.Int());
+        }
+    }
+
+EXPORT_C void CSmsBaseTestStep::ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages)
+/**
+ *  This method retrieves SMS messages from SMS storage and print them out.
+ *  @param aSocket Used to stream SMS messages from the socket server
+ *  @param aMessages Sms messages will be streamed to this array
+ *  @leave Leaves if first request is NOT completed with KErrCancel
+ *  @leave Leaves if second request is completed with error code
+ *  @leave Leaves if streaming the message from the socket server doesn't succeed
+ *  @leave Leaves if nack of reading is completed with error code
+ *  @leave Leaves if ack of reading is completed with error code
+ */
+    {
+    TRequestStatus status;
+    ReadSmsStoreL(aSocket, aMessages, status);
+    }
+
+EXPORT_C void CSmsBaseTestStep::ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages, TRequestStatus& aStatus)
+/**
+ *  This method retrieves SMS messages from SMS storage and print them out.
+ *  @param aSocket Used to stream SMS messages from the socket server
+ *  @param aMessages Sms messages will be streamed to this array
+ *  @param aStatus Status of request to enumerate messages from store
+ *  @leave Leaves if first request is NOT completed with KErrCancel
+ *  @leave Leaves if second request is completed with error code
+ *  @leave Leaves if streaming the message from the socket server doesn't succeed
+ *  @leave Leaves if nack of reading is completed with error code
+ *  @leave Leaves if ack of reading is completed with error code
+ */
+    {
+    INFO_PRINTF1(_L("Enumerating messages"));
+    TPckgBuf<TUint> sbuf;
+    sbuf()=0;
+    
+    // Enumerate messages from store - NOTE - sometimes SIM.TSY returns
+    // KErrInUse (strange timing things!). In this case wait and repeat.
+    const TInt KMaxAttempts = 3;
+    TInt attempts = 0;
+    do
+        {
+        User::After(2000000);   // Wait a couple of seconds...
+
+        aSocket.Ioctl(KIoctlEnumerateSmsMessages, aStatus, &sbuf, KSolSmsProv);
+        User::WaitForRequest(aStatus);
+        
+        INFO_PRINTF3(_L("Enumerating completed [status=%d, attempts=%d]"), aStatus.Int(), ++attempts);        
+        } while( aStatus.Int() == KErrInUse && attempts < KMaxAttempts );
+    
+    if( aStatus.Int() == KErrNone )
+        {
+        // sbuf() includes the count of messages on Store
+        TInt count = sbuf();
+        INFO_PRINTF2(_L("%d enumerated messages"), count);
+        
+        RSmsSocketReadStream readstream(aSocket);
+        
+        //Read each message from the stream
+        for(TInt i=0; i< count; ++i)
+            {
+            CSmsBuffer* buffer=CSmsBuffer::NewL();
+            CSmsMessage* smsmessage=CSmsMessage::NewL(iFs, CSmsPDU::ESmsDeliver,buffer);
+            CleanupStack::PushL(smsmessage);
+        
+            TRAPD(ret,readstream >> *smsmessage);
+            TEST(ret == KErrNone);
+            aSocket.Ioctl(KIoctlReadMessageSucceeded, aStatus, NULL, KSolSmsProv);
+            User::WaitForRequest(aStatus);
+            TEST(aStatus.Int() == KErrNone);
+            
+            PrintMessageDetailedL(smsmessage);
+            
+            User::LeaveIfError(aMessages.Append(smsmessage));
+            CleanupStack::Pop(smsmessage);
+            }
+        }
+    else
+        {
+        ERR_PRINTF2(_L("Enumerating failed [status=%d]"), aStatus.Int());
+        SetTestStepResult(EFail);
+        }
+    }
+
+EXPORT_C TInt CSmsBaseTestStep::DeleteSmsL(const CSmsMessage& aSms, RSocket& aSocket, TInt aExpectedError /*KErrNone*/)
+/**
+ *  This method deletes SMS message from the SMS storage.
+ *  @param aSms SMS message that will be deleted
+ *  @param aSocket Used to stream SMS message to the sms stack
+ *  @return TInt :error code
+ */
+    {
+    INFO_PRINTF2(_L("Delete message from store [aExpectedError=%d]"), aExpectedError);
+
+    TRequestStatus status;
+
+    RSmsSocketWriteStream writestream(aSocket);
+    TRAPD(ret,writestream << aSms);
+    TEST(ret == KErrNone);
+    TRAP(ret,writestream.CommitL());
+    TEST(ret == KErrNone);
+
+    aSocket.Ioctl(KIoctlDeleteSmsMessage, status, NULL, KSolSmsProv);
+    User::WaitForRequest(status);
+    TInt error = status.Int();
+    
+    INFO_PRINTF2(_L("Delete SMS message - returned %d"), error);    
+
+    if( error != aExpectedError )
+        {
+        ERR_PRINTF3(_L("Delete SMS message failed [aExpectedError=%d, error=%d]"), aExpectedError, error);
+        SetTestStepResult(EFail);
+        }
+    return error;
+    }
+
+EXPORT_C void CSmsBaseTestStep::DeleteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket)
+/**
+ *  This method deletes SMS message from the SMS storage.
+ *  @param aSms SMS message that will be deleted
+ *  @param aSocket Used to stream SMS message to the sms stack
+ */
+    {
+    TRequestStatus status;
+    RSmsSocketWriteStream writestream(aSocket);
+    writestream << aSms;
+    writestream.CommitL();
+    aSocket.Ioctl(KIoctlDeleteSmsMessage, status, NULL, KSolSmsProv);
+    User::WaitForRequest(status);
+    INFO_PRINTF2(_L("Delete SMS returned %d"), status.Int());
+    if(status.Int() != KErrNone)
+        {
+        User::Leave(status.Int());
+        }
+    }
+
+EXPORT_C void CSmsBaseTestStep::SetIndicatorL(const TTestCase& aTestCase, CSmsMessage* aSms)
+/**
+ *  
+ */
+    {
+    TSmsDataCodingScheme::TSmsAlphabet alphabet;
+    if (aTestCase.iBits7To4 == TSmsDataCodingScheme::ESmsDCSMessageWaitingIndicationUCS2)
+        alphabet = TSmsDataCodingScheme::ESmsAlphabetUCS2;
+    else
+        alphabet = TSmsDataCodingScheme::ESmsAlphabet7Bit;
+
+    TSmsUserDataSettings smsSettings;
+    smsSettings.SetAlphabet(alphabet);
+    smsSettings.SetTextCompressed(EFalse);
+    aSms->SetUserDataSettingsL(smsSettings);
+
+    CSmsPDU& pdu = aSms->SmsPDU();
+    pdu.SetBits7To4(aTestCase.iBits7To4);
+    pdu.SetIndicationType(aTestCase.iIndicationType);
+    pdu.SetIndicationState(aTestCase.iIndicationState);
+
+    }
+
+EXPORT_C void CSmsBaseTestStep::FillDes(TDes& aDes,TInt aLength)
+/**
+ *  Fill aDes with randomly generated 7bit data
+ *  @param aDes will be filled with random data
+ *  @param aLength has the length to be set to aDes
+ */
+    {
+    TText baseChar='A';
+
+    aDes.SetLength(aLength);
+    for (TInt i=0; i<aLength; i++)
+        {
+        aDes[i]=TText(baseChar + i%26);
+        }
+    }
+
+EXPORT_C TInt CSmsBaseTestStep::MakeReadSmsStoreRequestL(RSocket& aSocket)
+/**
+ *  This method retrieves SMS messages from SMS storage.
+ *  Main purpose is to test out of memory conditions.
+ *  @param aSocket Used to stream SMS messages from the sms stack
+ *  @param aMessages reference to CSmsMessage pointer array.
+ */
+    {
+    TRequestStatus status;
+    TPckgBuf<TUint> sbuf;
+    sbuf()=0;
+
+    //Now enumerate messages from SIM
+    aSocket.Ioctl(KIoctlEnumerateSmsMessages,status,&sbuf, KSolSmsProv);
+    User::WaitForRequest(status);
+    INFO_PRINTF2(_L("Read SMS returned %d"), status.Int());
+    if(status.Int() != KErrNone)
+        {
+        User::Leave(status.Int());
+        }
+
+    //sbuf() includes the count of messages on SIM
+    return sbuf();
+    }
+
+EXPORT_C TBool CSmsBaseTestStep::TimedWaitForRecvL(RSocket& aSocket, TUint aDelay)
+/**
+ *  Wait for up to the delay for an Sms to be received
+ *  @param aSocket The status is return to this socket
+ *  @param aDelay Maximum time to wait for receipt
+ *  @return ETrue if data received
+ *  @leave Leaves if receiving is completed with error code
+ */
+    {
+    TRequestStatus timerStatus;
+    RTimer timer;
+    timer.CreateLocal();
+    timer.After(timerStatus, TTimeIntervalMicroSeconds32(aDelay));
+
+    TPckgBuf<TUint> sbuf;
+    sbuf()=KSockSelectRead;
+    TRequestStatus ioctlStatus;
+    aSocket.Ioctl(KIOctlSelect, ioctlStatus, &sbuf, KSOLSocket);
+    User::WaitForRequest(timerStatus, ioctlStatus);
+    TBool retval;
+    
+    if(ioctlStatus.Int() != KErrNone)
+        {
+        aSocket.CancelIoctl();
+        User::WaitForRequest(ioctlStatus);
+        retval = EFalse;
+        }
+    else
+        {
+        timer.Cancel();
+        User::WaitForRequest(timerStatus);
+        retval = ETrue;
+        }
+    timer.Close();
+    return retval;
+    }
+
+EXPORT_C TInt CSmsBaseTestStep::CancelWriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket, TInt aDelay)
+/**
+ *  This method stores SMS messages to the SMS storage.
+ *  @param aSms SMS message that will be stored
+ *  @param aSocket Used to stream SMS message to the sms stack
+ *  @leave Leaves if streaming the message to the socket server doesn't succeed
+ *  @leave Leaves if store request is completed with error code
+ */
+    {
+    INFO_PRINTF1(_L("Write message"));
+
+    TRequestStatus status;
+
+    RSmsSocketWriteStream writestream(aSocket);
+    TRAPD(ret,writestream << aSms);
+    TEST(ret == KErrNone);
+    TRAP(ret,writestream.CommitL());
+    TEST(ret == KErrNone);
+
+    aSocket.Ioctl(KIoctlWriteSmsMessage,status,NULL, KSolSmsProv);
+    INFO_PRINTF1(_L("Cancel"));
+    User::After(aDelay);
+    aSocket.CancelIoctl();
+    User::WaitForRequest(status);
+    INFO_PRINTF2(_L("WriteSmsToSimL - returned %d"), status.Int());
+
+    return status.Int();
+    }
+
+EXPORT_C TBool CSmsBaseTestStep::DoSingleTestCaseL( const TDesC8& aSection, TInt aCount )
+    {
+    CTestConfig* configFile = CTestConfig::NewLC(iFs, KGmsSmsConfigFileDir, KConfigFilename);
+
+    TBuf8<64> sectionName(aSection);
+    sectionName.AppendNum(aCount);
+    const CTestConfigSection* section = NULL;
+    TBool found( ETrue );
+
+    if ( ( section = configFile->Section( sectionName ) ) != NULL )
+        {
+        if ( aSection == KTestSendAndRecvMsgsWithDifferentTON )
+            {
+            TInt num( 1 );
+            CArrayFixFlat<TInt>* alphabetArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
+            CleanupStack::PushL(alphabetArray);
+            CArrayFixFlat<TInt>* typeOfNumberArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
+            CleanupStack::PushL(typeOfNumberArray);
+
+            TBuf8<32> itemName( KAlphabet );
+            itemName.AppendNum( num );
+
+            TInt param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+            while ( param != KErrNotFound )
+                {
+                alphabetArray->AppendL(param);
+                itemName = KAlphabet;
+                itemName.AppendNum( ++num );
+                param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+                }
+            num = 1;
+            itemName = KTypeOfNumber;
+            itemName.AppendNum( num );
+
+            param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+            while ( param != KErrNotFound )
+                {
+                typeOfNumberArray->AppendL(param);
+                itemName = KTypeOfNumber;
+                itemName.AppendNum( ++num );
+                param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+                }
+
+            RPointerArray<CSmsPduDbMessage> array;
+            CleanupResetAndDestroyPushL(array);
+            ReadPduL( sectionName, array );
+            TestSendAndRecvMsgsWithDifferentTONL( array, alphabetArray, typeOfNumberArray );
+            CleanupStack::PopAndDestroy(&array);
+            CleanupStack::PopAndDestroy(typeOfNumberArray);
+            CleanupStack::PopAndDestroy(alphabetArray);
+            }
+        else if ( aSection == KTestSendAndReceiveIndicatorMsgs )
+            {
+            TInt num( 1 );
+            CArrayFixFlat<TInt>* indicationTypeArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
+            CleanupStack::PushL(indicationTypeArray);
+            CArrayFixFlat<TInt>* dcsBits7To4Array = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
+            CleanupStack::PushL(dcsBits7To4Array);
+            CArrayFixFlat<TInt>* indicationStateArray = new ( ELeave ) CArrayFixFlat<TInt>( 1 );
+            CleanupStack::PushL(indicationStateArray);
+
+            TBuf8<32> itemName( KIndicationType );
+            itemName.AppendNum( num );
+
+            TInt param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+            while ( param != KErrNotFound )
+                {
+                indicationTypeArray->AppendL(param);
+                itemName = KIndicationType;
+                itemName.AppendNum( ++num );
+                param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+                }
+            num = 1;
+            itemName = KDCSBits7To4;
+            itemName.AppendNum( num );
+
+            param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+            while ( param != KErrNotFound )
+                {
+                dcsBits7To4Array->AppendL(param);
+                itemName = KDCSBits7To4;
+                itemName.AppendNum( ++num );
+                param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+                }
+            num = 1;
+            itemName = KIndicationState;
+            itemName.AppendNum( num );
+
+            param  = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+            while ( param != KErrNotFound )
+                {
+                indicationStateArray->AppendL(param);
+                itemName = KIndicationState;
+                itemName.AppendNum( ++num );
+                param = section->ItemValue( (TPtrC8)itemName, KErrNotFound );
+                }
+
+            RPointerArray<CSmsPduDbMessage> array;
+            CleanupResetAndDestroyPushL(array);
+            ReadPduL( sectionName, array );
+            TestSendAndReceiveIndicatorMsgsL( array, indicationStateArray, dcsBits7To4Array, indicationTypeArray );
+            CleanupStack::PopAndDestroy(&array);
+            CleanupStack::PopAndDestroy(indicationStateArray);
+            CleanupStack::PopAndDestroy(dcsBits7To4Array);
+            CleanupStack::PopAndDestroy(indicationTypeArray);
+            }
+        else
+            found = EFalse;
+        }
+    else
+        found = EFalse;
+
+    CleanupStack::PopAndDestroy(configFile);//configFile
+    return found;
+    }
+
+EXPORT_C void CSmsBaseTestStep::TestSendAndRecvMsgsWithDifferentTONL( const RPointerArray<CSmsPduDbMessage>& aArray,
+                                                   const CArrayFixFlat<TInt>* aAlphabetArray,
+                                                   const CArrayFixFlat<TInt>* aTypeOfNumberArray )
+    {
+    INFO_PRINTF1(_L("Send and receive messages with different type of number"));
+    
+    const TInt testNumber = 39;
+    SetSimTSYTestNumberL(testNumber);
+    
+    RSocketServ socketServer;
+    ConnectSocketServerLC(socketServer);
+
+    RSocket socket;
+    iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+
+    TSmsDataCodingScheme::TSmsAlphabet alphabet = ( TSmsDataCodingScheme::TSmsAlphabet )aAlphabetArray->At(0);
+
+    TInt bufLen=aArray[0]->iSmsMessage->Buffer().Length();
+    HBufC* textBuf=HBufC::NewL(bufLen);
+    CleanupStack::PushL(textBuf);
+    TPtr testText(textBuf->Des());
+    aArray[0]->iSmsMessage->Buffer().Extract(testText,0,bufLen);
+
+    CSmsMessage* sendMessage=CreateSmsMessageLC(testText,alphabet);
+    CSmsSubmit& submitPdu=(CSmsSubmit&)sendMessage->SmsPDU();
+    TGsmSmsTelNumber gsmSmsTelNumber;
+    gsmSmsTelNumber.iTelNumber.Append(iTelephoneNumber);
+    if(gsmSmsTelNumber.iTelNumber.Length() > 0 && gsmSmsTelNumber.iTelNumber[0] == '+')
+    {
+        // Remove "+" sign from telephony number
+        gsmSmsTelNumber.iTelNumber.Delete(0,1);
+        gsmSmsTelNumber.iTelNumber.Trim();
+    }
+
+    for ( TInt i = 0; i < aTypeOfNumberArray->Count(); i++ )
+        {
+        gsmSmsTelNumber.iTypeOfAddress.SetTON( ( TGsmSmsTypeOfNumber )aTypeOfNumberArray->At(i) );
+        sendMessage->SetParsedToFromAddressL(gsmSmsTelNumber);
+
+        if ( ( TGsmSmsTypeOfNumber )aTypeOfNumberArray->At(i) == EGsmSmsTONSubscriberNumber )
+            {
+            submitPdu.SetPIDType(TSmsProtocolIdentifier::ESmsPIDShortMessageType);
+            submitPdu.SetShortMessageType(TSmsProtocolIdentifier::ESmsReturnCallMesage);
+            }
+        INFO_PRINTF2(_L("Send SMS message. Type of number is %d"), aTypeOfNumberArray->At(i) );
+        SendSmsL(sendMessage,socket);
+
+        INFO_PRINTF1(_L("Waiting for incoming SMS...") );
+        WaitForRecvL(socket);
+        CSmsMessage* recvMessage = RecvSmsL(socket);
+        delete recvMessage;
+        }
+
+    CleanupStack::PopAndDestroy(4, &socketServer); // socketServer, socket, textBuf, sendMessage
+    }
+
+EXPORT_C void CSmsBaseTestStep::TestSendAndReceiveIndicatorMsgsL( const RPointerArray<CSmsPduDbMessage>& aArray,
+                                               const CArrayFixFlat<TInt>* aIndicationStateArray,
+                                               const CArrayFixFlat<TInt>* aDcsBits7To4Array,
+                                               const CArrayFixFlat<TInt>* aIndicationTypeArray )
+/**
+ *  @test Send and receive different indicator messages
+ *  TODO ESmsDCSMessageWaitingIndicationDiscardMessage test doesn't work with Nokia 6210 because phone
+ *  doesn't route incoming message to the MM TSY.
+ */
+    {
+
+    INFO_PRINTF1(_L("Send and receive different indicator messages"));
+    
+    const TInt testNumber = 40;
+    SetSimTSYTestNumberL(testNumber);
+    
+    RSocketServ socketServer;
+    ConnectSocketServerLC(socketServer);
+
+    RSocket socket;
+    iSmsStackTestUtils->OpenSmsSocketLC(socketServer,socket,ESmsAddrRecvAny);
+
+    for ( TInt i = 0; i < aArray.Count(); i++ )
+        {
+
+        TSmsDataCodingScheme::TSmsIndicationState indicationState =
+            ( TSmsDataCodingScheme::TSmsIndicationState )aIndicationStateArray->At(i);
+        TSmsDataCodingScheme::TSmsDCSBits7To4 dcsBits7To4Array =
+            ( TSmsDataCodingScheme::TSmsDCSBits7To4 )aDcsBits7To4Array->At(i);
+        TSmsDataCodingScheme::TSmsIndicationType indicationType =
+            ( TSmsDataCodingScheme::TSmsIndicationType )aIndicationTypeArray->At(i);
+
+        TInt bufLen=aArray[i]->iSmsMessage->Buffer().Length();
+        HBufC* textBuf=HBufC::NewL(bufLen);
+        CleanupStack::PushL(textBuf);
+        TPtr testText(textBuf->Des());
+        aArray[i]->iSmsMessage->Buffer().Extract(testText,0,bufLen);
+
+        TTestCase msg(testText, indicationType, dcsBits7To4Array, indicationState );
+
+        SendAndRecvTestMessageL(msg,socket);
+
+        CleanupStack::PopAndDestroy(textBuf);
+        }
+
+    CleanupStack::PopAndDestroy(2, &socketServer); // socketServer, socket
+    }
+
+EXPORT_C void CSmsBaseTestStep::ReadPduL( TBuf8<64> aSectionName, RPointerArray<CSmsPduDbMessage>& aArray )
+    {
+    CSmsPduDatabase* db = CSmsPduDatabase::NewL(iFs, aSectionName, KConfigFilename, KConfigFileDir);
+    CleanupStack::PushL(db);
+
+    db->GetMessageL(aArray, CSmsPDU::ESmsSubmit);
+
+    CleanupStack::PopAndDestroy(db);
+    }
+
+EXPORT_C CSmsMessage* CSmsBaseTestStep::CreateSmsMessageLC(CSmsPDU::TSmsPDUType aType, CSmsBuffer* aBuffer, const TDesC& aAddress)
+    {
+    CSmsMessage* msg = CSmsMessage::NewL(iFs, aType, aBuffer);
+    CleanupStack::PushL(msg);
+
+    if (aAddress.Length() != 0)
+        {
+        msg->SetToFromAddressL(aAddress);
+        }
+
+    return msg;
+    }
+
+/*
+These functions were grabbed from SMSStackTestUtils.dll
+*/
+EXPORT_C void CSmsBaseTestStep::OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddrFamily aFamily)
+/**
+ *  Initialise an RSocket for SMS, aSocket is NOT pushed to CleanupStack.
+ *  @param aSocketServer reference to the socket server object
+ *  @param aSocket The socket that will be opened
+ *  @param aFamily The sms address family
+ *  @param aDualSimAware Flag indicating that client is dual-SIM aware
+ */
+    {
+    TSmsAddr smsaddr;
+    smsaddr.SetSmsAddrFamily(aFamily);
+    OpenSmsSocketL(aSocketServer, aSocket, smsaddr);
+    }
+
+EXPORT_C void CSmsBaseTestStep::OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddr& aSmsAddr)
+/*
+ *  Initialise an RSocket for SMS, aSocket is NOT pushed to CleanupStack.
+ *  @param aSocketServer reference to the socket server object
+ *  @param aSocket The socket that will be opened
+ *  @param aSmsAddr The sms address to bind to
+ */
+    {
+    INFO_PRINTF2(_L("Opening and binding socket [addrFamily=%d]"), aSmsAddr.SmsAddrFamily());
+    
+    TInt ret=aSocket.Open(aSocketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol);
+    TESTCHECK(ret, KErrNone, "Opening socket");
+
+    ret=aSocket.Bind(aSmsAddr);
+    TESTCHECK(ret, KErrNone, "Binding to the socket");
+    
+    TProtocolDesc desc;
+    aSocket.Info(desc);
+    INFO_PRINTF2(_L("Protocol name: %S"), &desc.iName);
+	
+    TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
+    User::After(InitPause);                         //call to the TSY and finish its StartUp.
+
+    }
+
+/*
+    Utility for creating a SMS message from test data (ini) file
+*/
+EXPORT_C CSmsMessage* CSmsBaseTestStep::CreateSMSL()
+    {
+    INFO_PRINTF1(_L("Creating SMS...") );
+    
+    TInt codingScheme;
+    GetIntFromConfig(ConfigSection(), _L("messageCoding"), codingScheme);
+    
+    TCodingScheme dataCodingScheme = (TCodingScheme)codingScheme;   
+    
+    TSmsDataCodingScheme::TSmsAlphabet alphabet;
+    if (dataCodingScheme == ESevenBit)
+        {   
+        //8 bit coding scheme
+        alphabet = TSmsDataCodingScheme::ESmsAlphabet7Bit;
+        }
+
+    else 
+        {
+        alphabet = TSmsDataCodingScheme::ESmsAlphabet8Bit;
+        }       
+    
+    TPtrC messageText;
+    GetStringFromConfig(ConfigSection(), _L("message"), messageText);
+    CSmsMessage *sms = CreateSmsMessageL(messageText, alphabet);
+    
+    INFO_PRINTF1(_L("SMS created") );
+    PrintMessageL(sms);
+    
+    return sms;
+    }
+
+/**
+ * Sets high and low limits in .RSC file and then reserves disk space to match requested levels.
+ * 
+ * Checks the current free space and then sets the high and low marks
+ * to be aHighDrop MB and aLowDrop MB below the current free space 
+ * level.
+ * 
+ * Then diskspace is reserved to aFreeDrop MB below the current free
+ * space level.
+ * 
+ * If the current free space level is greater then aMax then the 
+ * current free space level is set to aMax
+ * 
+ * If the current free space level is less than aLowDrop MB then this
+ * method leaves with KErrArgument.
+ * 
+ * @param   aHighDrop   The number of MB below the current free space level for the high level mark (in the .RSC file)
+ * @param   aLowDrop    The number of MB below the current free space level for the low level mark (in the .RSC file)  
+ * @param   aFreeDrop   The number of MB below the current free space level for the low level mark
+ * @param   aMax        The maximum level for the high limit allowed
+ * 
+ * @return  The max current free space level used.
+ * 
+ * @leave   KErrArgument if the current free diskspace level is less than aLowDrop MB
+ * @leave   KErrArgument if aMax is not greater than aLowDrop MB
+ * @leave   KErrArgument if aHighDrop >= aLowDrop  
+ */
+EXPORT_C TUint64 CSmsBaseTestStep::SetHighLowLimitsAndDiskSpaceLevelL(TUint aHighDrop, TUint aLowDrop, TUint aFreeDrop, TUint64 aMax/*=0x7fffffff*/)
+    {
+    INFO_PRINTF5(_L("Setting High-Low limits and Free Diskspace levels [aHighDrop=%u, aLowDrop=%u, aFreeDrop=%u, aMax=%ld]"), aHighDrop, aLowDrop, aFreeDrop, aMax);
+    
+    __ASSERT_ALWAYS( (aMax > (aLowDrop*1024*1024)), User::Leave(KErrArgument));
+    __ASSERT_ALWAYS( (aLowDrop > aHighDrop), User::Leave(KErrArgument));
+    
+    ReleaseDiskSpaceL();
+   
+    TVolumeInfo  volumeInfo;
+    User::LeaveIfError(iFs.Volume(volumeInfo, EDriveC));
+    INFO_PRINTF2(_L("  Drive C currently has %ld bytes free."), volumeInfo.iFree);
+    
+    TUint64 current = volumeInfo.iFree;
+    if( current < (aLowDrop*1024*1024) )
+        {
+        INFO_PRINTF1(_L("  Drive C already has too little free space!"));
+        User::Leave(KErrArgument);
+        }
+    if( current > aMax )
+        {
+        current = aMax;
+        }
+    TUint64 high = current - (aHighDrop*1024*1024);
+    TUint64 low  = current - (aLowDrop*1024*1024);
+        
+    SetLowHighLimitsInSmsuRscL(low, high);
+    if( aFreeDrop != 0 )
+        {
+        TUint64 free = current - (aFreeDrop*1024*1024);
+        SetFreeDiskSpaceL(free);
+        }
+    
+    return current;
+    }
+
+/**
+ * Reserves disk space to match requested free space - a number MB below the current free space level.
+ * 
+ * Checks the current free space and diskspace is reserved to aFreeDrop
+ * MB below the current free space level.
+ * 
+ * If the current free space level is greater then aMax then the 
+ * current free space level is set to aMax
+ * 
+ * If the current free space level is less than aLowDrop MB then this
+ * method leaves with KErrArgument.
+ * 
+ * @param   aFreeDrop   The number of MB below the current free space level for the low level mark
+ * @param   aMax        The maximum level for the high limit allowed
+ * 
+ * @return  The max current free space level used.
+ * 
+ * @leave   KErrArgument if the current free diskspace level is less than aLowDrop MB
+ * @leave   KErrArgument if aMax is not greater than aLowDrop MB
+ * @leave   KErrArgument if aHighDrop >= aLowDrop  
+ */
+EXPORT_C void CSmsBaseTestStep::SetFreeDiskSpaceFromDropLevelL(TUint aFreeDrop, TUint64 aMax/*=0x7fffffff*/)
+    {
+    INFO_PRINTF3(_L("Setting Free Diskspace level [aFreeDrop=%u, aMax=%ld]"), aFreeDrop, aMax);
+    
+    if( aFreeDrop == 0)
+        {
+        return;
+        }
+    
+    TVolumeInfo  volumeInfo;
+    User::LeaveIfError(iFs.Volume(volumeInfo, EDriveC));
+    TUint64 current = volumeInfo.iFree;
+    if( current > aMax )
+        {
+        current = aMax;
+        }    
+    TUint64 free = current - (aFreeDrop*1024*1024);
+    SetFreeDiskSpaceL(free);    
+    }
+
+/**
+ *  Reserves disk space so that a specified amount of free disk space is
+ *  available.
+ *
+ *  @param aNewFreeValue  Amount of free space required.
+ */
+EXPORT_C void CSmsBaseTestStep::SetFreeDiskSpaceL(TInt64 aNewFreeValue)
+    {
+    
+#ifndef _DEBUG
+    (void)aNewFreeValue; // added to aviod compiler warning, as only used in test mode
+    
+    ERR_PRINTF1(_L("Unexpected call: CSMSTestSteps::SetFreeDiskSpaceL() is expected to be called only in DEBUG mode."));
+    User::Leave(KErrNotSupported);
+#else
+    INFO_PRINTF2(_L("Setting Drive C free disk space to %ld bytes."), aNewFreeValue);    
+    
+    __ASSERT_DEBUG( (aNewFreeValue <= 0x7fffffff), User::Leave(KErrArgument));
+
+    TInt err = RProperty::Set(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, (TInt)aNewFreeValue);
+    if (err != KErrNone)
+        {
+        ERR_PRINTF2(_L("RProperty::Set() failure [err=%d]"), err);
+        User::Leave(err);
+        }
+#endif           
+    } // CSMSTestSteps::SetFreeDiskSpaceL
+
+
+/**
+ *  Release all reserved disk space.
+ */
+EXPORT_C void CSmsBaseTestStep::ReleaseDiskSpaceL()
+    {    
+#ifndef _DEBUG
+    ERR_PRINTF1(_L("Unexpected call: CSMSTestSteps::ReleaseDiskSpaceL() is expected to be called only in DEBUG mode."));
+    User::Leave(KErrNotSupported);
+#else
+    INFO_PRINTF1(_L("CSMSTestSteps::ReleaseDiskSpaceL()"));
+    
+    TVolumeInfo  volumeInfo;
+    User::LeaveIfError(iFs.Volume(volumeInfo, EDriveC));
+    TUint64 current = volumeInfo.iFree;
+    if( current > 0x7fffffff )
+        {
+        current = 0x7fffffff;
+        }
+    SetFreeDiskSpaceL(current);
+#endif    
+    }
+
+ /**
+  *  Set high and low limits in .RSC file. When the SMS Stack starts the limits
+  *  will be loaded as if set by the licensee.
+  *
+  *  @param aLowLimit   Low limit value.
+  *  @param aHighLimit  High limit value.
+  *
+  *  @note Only works in debug mode for security reasons.
+  */ 
+EXPORT_C void CSmsBaseTestStep::SetLowHighLimitsInSmsuRscL(TInt64 aLowLimit, TInt64 aHighLimit)
+    {
+    INFO_PRINTF3(_L("Setting high and low .RSC limits to %ld and %ld."),
+                 aHighLimit, aLowLimit);
+
+    __ASSERT_ALWAYS(aLowLimit  < 0x7fffffff, User::Leave(KErrArgument));
+    __ASSERT_ALWAYS(aHighLimit < 0x7fffffff, User::Leave(KErrArgument));
+    __ASSERT_ALWAYS(aLowLimit  < aHighLimit, User::Leave(KErrArgument));
+
+    //
+    // Data for the SMSU resource file. The low limit is written at position
+    // 20 and the high limit at position 24.
+    //
+    const TInt  smsuRscSize = 34;
+    TChar  smsuRscData[smsuRscSize] =
+                {0x6b, 0x4a, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00,
+                 0x00, 0x00, 0x00, 0x00, 0x19, 0xfd, 0x48, 0xe8,
+                 0x01, 0x04, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12,
+                 0x87, 0x65, 0x43, 0x21, 0x14, 0x00, 0x18, 0x00, 
+                 0x1c, 0x00};
+                              
+    smsuRscData[20] = (aLowLimit  >>  0) & 0xff;
+    smsuRscData[21] = (aLowLimit  >>  8) & 0xff;
+    smsuRscData[22] = (aLowLimit  >> 16) & 0xff;
+    smsuRscData[23] = (aLowLimit  >> 24) & 0xff;
+    smsuRscData[24] = (aHighLimit >>  0) & 0xff;
+    smsuRscData[25] = (aHighLimit >>  8) & 0xff;
+    smsuRscData[26] = (aHighLimit >> 16) & 0xff;
+    smsuRscData[27] = (aHighLimit >> 24) & 0xff;
+
+    TBuf8<smsuRscSize>  smsuRscBuffer;
+
+    for (TInt index = 0;  index < smsuRscSize;  index++)
+        {
+        smsuRscBuffer.Append(smsuRscData[index]);
+        }
+
+    //
+    // Ensure the target directory exists...
+    //
+    TInt  ret;
+    
+    ret = iFs.MkDir(KSMSUResourceDir);
+    if (ret != KErrNone  &&  ret != KErrAlreadyExists)
+        {
+        User::Leave(ret);
+        }
+
+    //
+    // Write the RSC file to the private C:\ directory...
+    //
+    RFile  file;
+
+    User::LeaveIfError(file.Replace(iFs, KSMSUResourceFile, EFileWrite));
+    CleanupClosePushL(file);
+    User::LeaveIfError(file.Write(smsuRscSize, smsuRscBuffer));
+    CleanupStack::PopAndDestroy(&file);
+    } // CSmsBaseTestStep::SetLowHighLimitsInSmsuRscL
+
+
+/**
+ *  Removes the low and high limits and returns the SMSU.RSC to defauls.
+ */
+EXPORT_C void CSmsBaseTestStep::RemoveLowHighLimitsFromSmsuRscL()
+    {
+    INFO_PRINTF1(_L("Removing .RSC limits."));
+
+    //
+    // Remove the RSC file...
+    //
+    TInt  ret;
+    
+    ret = iFs.Delete(KSMSUResourceFile);
+    if (ret != KErrNone  &&  ret != KErrNotFound)
+        {
+        User::Leave(ret);
+        }
+    } // CSmsBaseTestStep::RemoveLowHighLimitsFromSmsuRscL
+
+EXPORT_C void CSmsBaseTestStep::ChangeReceiveModeL(RMobileSmsMessaging::TMobileSmsReceiveMode aNewRcvMode)
+    {
+
+    // Create comms database object
+    
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
+#else
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
+#endif
+    CleanupStack::PushL(db);
+
+    INFO_PRINTF1(_L("Testing recvMode change to EReceiveUnstoredClientAck"));
+
+    // EReceiveUnstoredClientAck
+    CMDBField<TUint32>* smsReceiveModeField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSReceiveMode);
+    CleanupStack::PushL(smsReceiveModeField);
+    smsReceiveModeField->SetRecordId(1); //it's GlobalSettingsRecord
+    *smsReceiveModeField = aNewRcvMode;
+    smsReceiveModeField->ModifyL(*db);
+    CleanupStack::PopAndDestroy(smsReceiveModeField);
+    CleanupStack::PopAndDestroy(db);
+    }
+
+EXPORT_C TInt CSmsBaseTestStep::GetIntegerFromConfigL(const TDesC& aKey)
+    {
+    TInt value (0);
+    if(!GetIntFromConfig( ConfigSection(), aKey, value))
+        {
+        ERR_PRINTF2( _L("%S is missing in the configuration file!"),  &aKey);
+        User::Leave(KErrNotFound);     
+        }
+    return value;
+    }
+
+EXPORT_C TPtrC CSmsBaseTestStep::GetStringFromConfigL(const TDesC& aKey)
+    {
+    TPtrC value;
+    if(!GetStringFromConfig(ConfigSection(), aKey, value))
+        {
+        ERR_PRINTF2(_L("%S is missing in the configuration file!"), &aKey);
+        User::Leave(KErrNotFound);
+        }
+    return value;
+    }
+
+EXPORT_C void CSmsBaseTestStep::UpdatePhonePowerStatusL(RProperty& aPhonePowerProperty, TSAPhoneStatus aNewStatus)
+    {
+    INFO_PRINTF2(_L("Updating phone power status [aNewStatus=%d]"), aNewStatus);
+    
+    TInt currentStatus;
+    User::LeaveIfError(aPhonePowerProperty.Get(currentStatus));
+    
+    while( currentStatus != aNewStatus  )
+        {
+        TRequestStatus status;
+        aPhonePowerProperty.Subscribe(status);
+        User::LeaveIfError(aPhonePowerProperty.Set(KUidSystemCategory, KUidPhonePwr.iUid, aNewStatus));
+        User::After(5 * 1000000);   // sleep 5 secs;
+        User::WaitForRequest(status);
+        TEST(status.Int() == KErrNone);
+        User::LeaveIfError(aPhonePowerProperty.Get(currentStatus));
+        }
+    }
+
+// Build a list of instances of CPMs running ESOCKSVR.DLL
+void CSmsBaseTestStep::BuildESockCPMListL(RRootServ& aRootServer, RUnloadInfoArray& aInfo, TDes8& aDispList)
+    {
+    TRSIter iter;
+    TCFModuleName modName;
+    TRSModuleInfo modInfo;
+    aInfo.ResetAndDestroy();
+    aDispList.SetLength(0);
+    
+    while (aRootServer.EnumerateModules(iter, modName) == KErrNone)
+        {
+        if (aRootServer.GetModuleInfo(modName, modInfo) == KErrNone  &&
+                modInfo.iParams.iDll.MatchF(_L("*ESOCKSVR.DLL")) >= 0)
+            {
+            TESockSvrUnloadInfo* unloadInfo = new(ELeave) TESockSvrUnloadInfo;
+            unloadInfo->iName.Copy(modInfo.iParams.iName);
+            unloadInfo->iState=modInfo.iParams.iState;
+            unloadInfo->iStatus=KErrNone;
+            
+            aDispList.Append(unloadInfo->iName);
+            aDispList.Append(_L8(" "));
+            
+            TInt err = aInfo.Append(unloadInfo);
+            TESTCHECKL(err, KErrNone, "Appending unloading info");
+            }
+        }
+    }
+
+EXPORT_C void CSmsBaseTestStep::DoESockMemoryLeakTestL()
+    {
+    INFO_PRINTF1(_L("Checking for ESock memory leaks..."));
+    TInt  ret, startLeakCounter;
+
+    // Find the current number of leaked cells in ESock
+    ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, startLeakCounter);
+    if (ret == KErrNotFound)
+        {
+        // No variable to monitor, ESock is probably not in debug mode.
+        INFO_PRINTF1(_L("<font size=2 color=00FFCC><B>ESock is probably not in debug mode.</B></font>"));       
+        return;
+        }
+    
+    TESTCHECKL(ret, KErrNone, "Get the Comms Module Leak Counter")
+
+    // With the Staged Start-up Architecture it is likely that ESOCK modules continue to load after the ECoreComponentsStarted
+    // state which releases StartC32() and RSocketServ::Connect(). So here we wait until the RootServer is fully configured before
+    // starting the shutdown, which avoids various races (modules may not be bound yet, or even loaded at all by the Configurator
+    // and hence invisible to this unloading code)
+    RProperty configurationProperty;
+    CleanupClosePushL(configurationProperty);
+    
+    configurationProperty.Attach(KUidSystemCategory, KUidC32StartPropertyKey.iUid); // needs the KEY
+    TInt propertyValue = EInitialising; // set to safe state
+    TInt propertyResult = configurationProperty.Get(propertyValue);
+    TRequestStatus propertyStatus;
+    while(propertyValue < EConfigurationComplete)
+        {
+        configurationProperty.Subscribe(propertyStatus);
+        
+        if(configurationProperty.Get(propertyValue) == KErrNone && propertyValue == EConfigurationComplete)
+            {
+            configurationProperty.Cancel();
+            }
+        User::WaitForRequest(propertyStatus);
+        }
+    
+    RRootServ  rootserver;
+    User::LeaveIfError(rootserver.Connect());
+    CleanupClosePushL(rootserver);
+
+    // Find all instances of CPMs running ESOCKSVR.DLL
+    RUnloadInfoArray unloadArray(16);
+    CleanupClosePushL(unloadArray);
+    TBuf8<256> modList;
+    
+    BuildESockCPMListL(rootserver, unloadArray, modList);
+
+    // Start by asking all of the ESOCK threads to unload when there are no sessions
+    TInt index = unloadArray.Count();
+    while( index-- > 0 )
+        {
+        TESockSvrUnloadInfo* info = unloadArray[index];
+        rootserver.UnloadCpm(info->iStatus, info->iName, EGraceful);
+        }
+
+    // Start polling to see when they all complete unloading
+    const TInt KPollPeriod = 2000 * 1000;
+    TUint maxPolls = 15;
+    
+    RUnloadInfoArray pollUnloadArray(16);
+    BuildESockCPMListL(rootserver, pollUnloadArray, modList);
+    
+    while( maxPolls-- > 0 && pollUnloadArray.Count() > 0 )
+        {
+        User::After(KPollPeriod);
+        BuildESockCPMListL(rootserver, pollUnloadArray, modList);
+        }
+    pollUnloadArray.ResetAndDestroy();
+    
+    // Cancel any remaining unloads and eat the events
+    index = unloadArray.Count();
+    while( index-- >0 )
+        {
+        TESockSvrUnloadInfo* info = unloadArray[index];
+        rootserver.CancelUnloadCpm(info->iName);
+        User::WaitForRequest(info->iStatus);
+        }
+
+    // See what's left
+    BuildESockCPMListL(rootserver, unloadArray, modList);
+
+    TInt err = KErrNone; // Will use this to catch first error below
+    TInt count = unloadArray.Count();
+    
+    if(count > 0)
+        {
+        // No more waiting; we order immediate unloads
+        for(TInt i = 0; i < count; ++i)
+            {
+            TESockSvrUnloadInfo* info = unloadArray[i];
+            rootserver.UnloadCpm(info->iStatus, info->iName, EImmediate);
+            }
+            
+        // Wait for them all to return
+        for(TInt i = 0; i < count; ++i)
+            {
+            TESockSvrUnloadInfo* info = unloadArray[i];
+            User::WaitForRequest(info->iStatus);
+            }
+        
+        // Display the status of any remaining modules
+        for(TInt i = count - 1; i >= 0; --i)
+            {
+            TESockSvrUnloadInfo* info = unloadArray[i];
+            TBuf16<32> tmp;
+            tmp.Copy(info->iName);
+            if(info->iStatus.Int() != KErrNone && info->iStatus.Int() != KErrRSModuleNotLoaded)
+                {
+                err = info->iStatus.Int();
+                INFO_PRINTF4(_L("%S cannot be gracefully or immediatly unloaded due to error %d and is stuck in state %d"), &tmp, info->iStatus.Int(), info->iState);
+                }
+            else
+                {
+                INFO_PRINTF4(_L("%S could not be gracefully unloaded and had to be immediatly unloaded while it was stuck in state %d, status %d"), &tmp, info->iState, info->iStatus.Int());
+                }
+            }
+        }
+    CleanupStack::PopAndDestroy(3, &configurationProperty); // configurationProperty, rootserver, unloadArray
+    
+    // Leave with last seen error, if any
+    TESTCHECKL(err, KErrNone, "Unloading CPM modules");
+    
+    // Get the latest number of leaked cells in ESock
+    TInt  finalLeakCounter;
+
+    ret = RProperty::Get(KUidCommsProcess, KUidCommsModuleLeakCounter, finalLeakCounter);
+    TESTCHECKL(ret, KErrNone, "Getting Comms Module leak counter");
+
+    TESTCHECKCONDITION(finalLeakCounter <= startLeakCounter, "A memory leak has been detected inside ESock");
+    
+    // TODO: reviewers - why is it here?
+    // Restart C32...
+    _LIT(KDummyCMI, "");
+    WarmBootC32(KDummyCMI);
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstackbaseteststeps.h	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,211 @@
+// Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef SMSSTACKBASETESTSTEPS_H
+#define SMSSTACKBASETESTSTEPS_H
+
+#include <e32base.h>
+#include <test\testexecutestepbase.h>
+#include <smsuaddr.h>
+#include <gsmupdu.h>
+#include <sacls.h>
+#include <rscommon.h>
+#include <c32root.h>
+#include <etelmm.h>
+
+class RSocketServ;
+class RSocket;
+class CSmsMessage;
+class CSmsBuffer;
+class CSmsPduDbMessage;
+class CSmsStackTestUtils;
+class TTestCase;
+
+/**
+  Base class housing SMS test Steps 
+*/
+class CSmsBaseTestStep : public CTestStep
+    {
+public:
+    IMPORT_C virtual TVerdict doTestStepPreambleL();
+    IMPORT_C virtual TVerdict doTestStepPostambleL();    
+    
+    IMPORT_C virtual ~CSmsBaseTestStep();
+
+    enum TCodingScheme{ESevenBit=7, EEightBit};
+
+    /* Functions grabbed from SMS Stack Test Utils */
+    // Socket utils
+    IMPORT_C void OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddr& aSmsAddr);
+    IMPORT_C void OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddrFamily aFamily);
+
+    IMPORT_C void ParseSettingsFromFileL();
+    
+    IMPORT_C void SetSimTSYTestNumberL(TInt aTestNumber);    
+    IMPORT_C void SetTestNumberL(TInt aTestNumberProperty, TInt aTestNumber);
+    IMPORT_C void SetTestNumberFromConfigurationFileL();
+
+    IMPORT_C TInt GetIntegerFromConfigL(const TDesC& aKey);
+    IMPORT_C TPtrC GetStringFromConfigL(const TDesC& aKey);
+    
+    IMPORT_C void ConnectSocketServerL(RSocketServ& aSocketServer);
+    IMPORT_C void ConnectSocketServerLC(RSocketServ& aSocketServer);
+    
+    IMPORT_C void WaitForRecvL(RSocket& aSocket);
+    IMPORT_C TBool TimedWaitForRecvL(RSocket& aSocket, TUint aDelay);
+    
+    IMPORT_C CSmsMessage* RecvSmsL(RSocket& aSocket, TInt aIoctl = KIoctlReadMessageSucceeded);
+    IMPORT_C CSmsMessage* RecvSmsFailedL(RSocket& aSocket);
+
+    IMPORT_C TSmsStatus::TSmsStatusValue RecvStatusReportL(TSmsServiceCenterAddress& aRecipientNumber, RSocket& aSocket);
+    
+    IMPORT_C CSmsMessage* CreateSmsMessageLC(CSmsPDU::TSmsPDUType aType, CSmsBuffer* aBuffer, const TDesC& aAddress);
+    IMPORT_C CSmsMessage* CreateSmsMessageL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType = CSmsPDU::ESmsSubmit);
+    IMPORT_C CSmsMessage* CreateSmsMessageLC(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, CSmsPDU::TSmsPDUType aType = CSmsPDU::ESmsSubmit);
+    //This method is used to create SMS message from test data
+    IMPORT_C CSmsMessage* CreateSMSL();
+    IMPORT_C CSmsMessage* CreateSmsWithStatusReportReqL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet);
+    
+    IMPORT_C TUint64 SetHighLowLimitsAndDiskSpaceLevelL(TUint aHighDrop, TUint aLowDrop, TUint aFreeDrop, TUint64 aMax=0x7fffffff);
+    IMPORT_C void SetFreeDiskSpaceFromDropLevelL(TUint aFreeDrop, TUint64 aMax=0x7fffffff);
+    IMPORT_C void SetFreeDiskSpaceL(TInt64 aNewFreeValue);
+    IMPORT_C void ReleaseDiskSpaceL();
+    IMPORT_C void SetLowHighLimitsInSmsuRscL(TInt64 aLowLimit, TInt64 aHighLimit);
+    IMPORT_C void RemoveLowHighLimitsFromSmsuRscL();
+    
+    IMPORT_C void SendSmsL(const CSmsMessage* aSms, RSocket& aSocket, TInt aExpectedError=KErrNone, TInt aMaxRetries=3);
+    IMPORT_C void SendSmsCancelL(CSmsMessage* aSms, RSocket& aSocket1, RSocket& aSocket2);
+    IMPORT_C TInt SendSmsErrorL(CSmsMessage* aSms, RSocket& aSocket);
+    IMPORT_C void SendCommandSmsL(CSmsMessage* aSms, RSocket& aSocket);
+    IMPORT_C void SendTestMessageL(const TTestCase& aTestCase, RSocket& aSocket);
+    IMPORT_C void SendSmsDontCheckReturnValueL(CSmsMessage* aSms, RSocket& aSocket);
+    
+    IMPORT_C void SendAndRecvTestMessageL(const TTestCase& aTestCase, RSocket& aSocket);
+    IMPORT_C void SendAndRecvSms7BitL(const TDesC& aDes, RSocket& aSocket);
+    IMPORT_C void DoSendAndRecvSmsL(const TDesC& aDes, TSmsDataCodingScheme::TSmsAlphabet aAlphabet, RSocket& aSocket);
+
+    IMPORT_C void PrintMessageDetailedL(const CSmsMessage* aSms);
+    IMPORT_C void PrintMessageL(const CSmsMessage* aSms);
+    
+    IMPORT_C void TestSmsContentsL(CSmsMessage* aSms, const TDesC& aDes, TBool aIgnorePrintOutput = EFalse);
+    IMPORT_C void TestMessageContentsL(CSmsMessage* aSms, const TTestCase& aTestCase);
+    
+    IMPORT_C void WriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket);
+    IMPORT_C void WriteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket);
+    IMPORT_C TInt CancelWriteSmsToSimL(CSmsMessage& aSms, RSocket& aSocket, TInt aDelay);
+      
+    IMPORT_C void ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages);
+    IMPORT_C void ReadSmsStoreL(RSocket& aSocket, RPointerArray<CSmsMessage>& aMessages, TRequestStatus &aStatus);
+    IMPORT_C TInt MakeReadSmsStoreRequestL(RSocket& aSocket);
+    
+    IMPORT_C TInt DeleteSmsL(const CSmsMessage& aSms, RSocket& aSocket, TInt aExpectedError=KErrNone);
+    IMPORT_C void DeleteSmsLeaveIfErrorL(const CSmsMessage& aSms, RSocket& aSocket);
+    
+    IMPORT_C void SetIndicatorL(const TTestCase& aTestCase, CSmsMessage* aSms);
+    IMPORT_C void FillDes(TDes& aDes,TInt aLength);
+    
+    IMPORT_C TBool DoSingleTestCaseL( const TDesC8& aSection, TInt aCount );
+    IMPORT_C void ReadPduL( TBuf8<64> aSectionName, RPointerArray<CSmsPduDbMessage>& aArray );
+    IMPORT_C void TestSendAndRecvMsgsWithDifferentTONL( const RPointerArray<CSmsPduDbMessage>& aArray,
+                                                   const CArrayFixFlat<TInt>* aAlphabetArray,
+                                                   const CArrayFixFlat<TInt>* aTypeOfNumberArray );
+    IMPORT_C void TestSendAndReceiveIndicatorMsgsL( const RPointerArray<CSmsPduDbMessage>& aArray,
+                                               const CArrayFixFlat<TInt>* aIndicationStateArray,
+                                               const CArrayFixFlat<TInt>* aDcsBits7To4Array,
+                                               const CArrayFixFlat<TInt>* aIndicationTypeArray );
+    
+    IMPORT_C void ChangeReceiveModeL(RMobileSmsMessaging::TMobileSmsReceiveMode aNewRcvMode);
+    
+    IMPORT_C void UpdatePhonePowerStatusL(RProperty& aPhonePowerProperty, TSAPhoneStatus aNewStatus);
+    
+    IMPORT_C void DoESockMemoryLeakTestL();
+    
+public:
+    CActiveScheduler* iScheduler;
+    CSmsStackTestUtils* iSmsStackTestUtils;
+    TSmsServiceCenterAddress iTelephoneNumber; // Test SIM
+    TSmsServiceCenterAddress iServiceCenterNumber; // Radiolinja
+    RSocketServ iSocketServer;
+    
+protected:
+    IMPORT_C CSmsBaseTestStep();
+    
+protected:
+    RFs iFs;
+    TBool iPartOfMultiStepTestCase;
+    TBool iNotLastTestStep;
+
+private:
+    class TESockSvrUnloadInfo
+        {
+        public:
+            TCFModuleName iName;
+            RootServer::TRSModuleState iState;
+            TRequestStatus iStatus;
+        };
+    
+    typedef RPointerArray<TESockSvrUnloadInfo> RUnloadInfoArray;
+
+private:    
+    void BuildESockCPMListL(RRootServ& aRootServer, RUnloadInfoArray& aInfo, TDes8& aDispList);
+    
+};
+
+/*
+ * Logging Macros
+ */
+#define TESTCHECKL(a, b, s) \
+    { \
+    if((a)!=(b)) \
+        { \
+        _LIT(KTemp, s); \
+        ERR_PRINTF4(_L("<font color=FF0000>%S  failed: Got %d while expecting %d, leaving </font>"), &KTemp, a, b); \
+        SetTestStepResult(EFail); \
+        User::Leave(EFail); \
+        } \
+    }
+
+#define TESTCHECKCONDITIONL(a, s) \
+    { \
+    if (!(a)) \
+        { \
+        _LIT(KTemp, s); \
+        ERR_PRINTF2(_L("<font color=FF0000>%S  failed: Condition was false, leaving</font>"), &KTemp); \
+        SetTestStepResult(EFail); \
+        User::Leave(EFail); \
+        } \
+    }
+    
+#define TESTCHECK(a, b, s) \
+    { \
+    if((a)!=(b)) \
+        { \
+        _LIT(KTemp3, s); \
+        ERR_PRINTF4(_L("<font color=FF0000>%S  failed: Got %d while expecting %d</font>"), &KTemp3, a, b); \
+        SetTestStepResult(EFail); \
+        } \
+    }
+
+#define TESTCHECKCONDITION(a, s) \
+    { \
+    if (!(a)) \
+        { \
+        _LIT(KTemp4, s); \
+        ERR_PRINTF2(_L("<font color=FF0000>%S  failed: Condition was false</font>"), &KTemp4); \
+        SetTestStepResult(EFail); \
+        } \
+    }
+
+#endif // SMSSTACKBASETESTSTEPS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstackcleanprivatedata.script	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,24 @@
+// Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+//! @file                       
+//! @SYMTestSuiteName           CBS-SMS
+//! @SYMScriptTestEnvironment   
+
+RUN_UTILS  DeleteFile       c:\private\101F7989\sms\smssegst.dat
+RUN_UTILS  DeleteFile       c:\private\101F7989\sms\smsreast.dat
+RUN_UTILS  DeleteFile       c:\private\101F7989\sms\smsclass0preallocated.dat
+RUN_UTILS  DeleteFile       c:\private\101F7989\sms\smsclass0reast.dat
+RUN_UTILS  DeleteFile       c:\private\101F7989\sms\smsu.rsc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstackrestoreeskfile.script	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,25 @@
+// Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+//! @file                       
+//! @SYMTestSuiteName           CBS-SMS
+//! @SYMScriptTestEnvironment   
+
+RUN_UTILS   MakeReadWrite	c:\private\101F7989\esock\smswap.sms.esk
+
+RUN_UTILS   CopyFile		c:\private\101F7989\esock\smswap.sms.bak		c:\private\101F7989\esock\smswap.sms.esk
+
+RUN_UTILS   MakeReadWrite	c:\private\101F7989\esock\smswap.sms.bak
+RUN_UTILS   MakeReadWrite	c:\private\101F7989\esock\smswap.sms.esk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstacksimtsytestnumbers.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,315 @@
+//This is a test resource file.  It is used to house SIM TSY test numbers.  They are put here so they can be reused
+[TestNumber0]
+testNumber=0
+
+[TestNumber1]
+testNumber=1
+
+[TestNumber2]
+testNumber=2
+
+[TestNumber3]
+testNumber=3
+
+[TestNumber4]
+testNumber=4
+
+[TestNumber5]
+testNumber=5
+
+[TestNumber6]
+testNumber=6
+
+[TestNumber7]
+testNumber=7
+
+[TestNumber8]
+testNumber=8
+
+[TestNumber9]
+testNumber=9
+
+[TestNumber10]
+testNumber=10
+
+[TestNumber11]
+testNumber=11
+
+[TestNumber12]
+testNumber=12
+
+[TestNumber13]
+testNumber=13
+
+[TestNumber14]
+testNumber=14
+
+[TestNumber15]
+testNumber=15
+
+[TestNumber16]
+testNumber=16
+
+[TestNumber17]
+testNumber=17
+
+[TestNumber18]
+testNumber=18
+
+[TestNumber19]
+testNumber=19
+
+[TestNumber20]
+testNumber=20
+
+[TestNumber21]
+testNumber=21
+
+[TestNumber22]
+testNumber=22
+
+[TestNumber23]
+testNumber=23
+
+[TestNumber24]
+testNumber=24
+
+[TestNumber25]
+testNumber=25
+
+[TestNumber26]
+testNumber=26
+
+[TestNumber27]
+testNumber=27
+
+[TestNumber28]
+testNumber=28
+
+[TestNumber29]
+testNumber=29
+
+[TestNumber30]
+testNumber=30
+
+[TestNumber31]
+testNumber=31
+
+[TestNumber32]
+testNumber=32
+
+[TestNumber33]
+testNumber=33
+
+[TestNumber34]
+testNumber=34
+
+[TestNumber35]
+testNumber=35
+
+[TestNumber37]
+testNumber=37
+
+[TestNumber38]
+testNumber=38
+
+[TestNumber39]
+testNumber=39
+
+[TestNumber40]
+testNumber=40
+
+[TestNumber41]
+testNumber=41
+
+[TestNumber42]
+testNumber=42
+
+[TestNumber43]
+testNumber=43
+
+[TestNumber44]
+testNumber=44
+
+[TestNumber45]
+testNumber=45
+
+[TestNumber46]
+testNumber=46
+
+[TestNumber47]
+testNumber=47
+
+[TestNumber48]
+testNumber=48
+
+[TestNumber49]
+testNumber=49
+
+[TestNumber50]
+testNumber=50
+
+[TestNumber51]
+testNumber=51
+
+[TestNumber52]
+testNumber=52
+
+[TestNumber53]
+testNumber=53
+
+[TestNumber54]
+testNumber=54
+
+[TestNumber55]
+testNumber=55
+
+[TestNumber57]
+testNumber=57
+
+[TestNumber58]
+testNumber=58
+
+[TestNumber59]
+testNumber=59
+
+[TestNumber60]
+testNumber=60
+
+[TestNumber62]
+testNumber=62
+
+[TestNumber63]
+testNumber=63
+
+[TestNumber64]
+testNumber=64
+
+[TestNumber65]
+testNumber=65
+
+[TestNumber66]
+testNumber=66
+
+[TestNumber67]
+testNumber=67
+
+[TestNumber68]
+testNumber=68
+
+[TestNumber69]
+testNumber=69
+
+[TestNumber70]
+testNumber=70
+
+[TestNumber71]
+testNumber=71
+
+[TestNumber73]
+testNumber=73
+
+[TestNumber75]
+testNumber=75
+
+[TestNumber76]
+testNumber=76
+
+[TestNumber77]
+testNumber=77
+
+[TestNumber78]
+testNumber=78
+
+[TestNumber79]
+testNumber=79
+
+[TestNumber80]
+testNumber=80
+
+[TestNumber81]
+testNumber=81
+
+[TestNumber82]
+testNumber=82
+
+[TestNumber83]
+testNumber=83
+
+[TestNumber84]
+testNumber=84
+
+[TestNumber131]
+testNumber=131
+
+[TestNumber132]
+testNumber=132
+
+[TestNumber133]
+testNumber=133
+
+[TestNumber134]
+testNumber=134
+
+[TestNumber135]
+testNumber=135
+
+[TestNumber141]
+testNumber=141
+
+[TestNumber142]
+testNumber=142
+
+[TestNumber143]
+testNumber=143
+
+[TestNumber144]
+testNumber=144
+
+[TestNumber150]
+testNumber=150
+
+[TestNumber151]
+testNumber=151
+
+[TestNumber152]
+testNumber=152
+
+[TestNumber153]
+testNumber=153
+
+[TestNumber154]
+testNumber=154
+
+[TestNumber155]
+testNumber=155
+
+[TestNumber156]
+testNumber=156
+
+[TestNumber157]
+testNumber=157
+
+[TestNumber158]
+testNumber=158
+
+[TestNumber159]
+testNumber=159
+
+[TestNumber160]
+testNumber=160
+
+[TestNumber161]
+testNumber=161
+
+[TestNumber162]
+testNumber=162
+
+[TestNumber163]
+testNumber=163
+
+[TestNumber164]
+testNumber=164
+
+[TestNumber165]
+testNumber=165
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstacktestcase.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,140 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include "smsstacktestcase.h"
+
+EXPORT_C TTestCase::TTestCase()
+//
+// Constructor
+//
+	{
+	CommonInit();
+	}
+
+EXPORT_C TTestCase::TTestCase(const TDesC& aMsg, const TDesC& aMatch)
+//
+// Constructor
+//
+: iMatchType(ESmsAddrMatchText), iMsg(aMsg), iMatch(aMatch)
+	{
+
+	CommonInit();
+	}
+
+EXPORT_C void TTestCase::CommonInit()
+//
+// Reset member variables
+//
+	{
+
+	iTestSmsClass = EFalse;
+	iTestValidityPeriod = EFalse;
+	iTestForever=EFalse;
+	iTestIndicators=EFalse;
+	}
+
+EXPORT_C TTestCase::TTestCase(const TDesC& aMsg, CSmsInformationElement::TSmsInformationElementIdentifier aIdentifier)
+//
+// Constructor
+//
+: iMatchType(ESmsAddrMatchIEI), iMsg(aMsg), iIdentifierMatch(aIdentifier)
+	{
+
+	CommonInit();
+	}
+
+EXPORT_C TTestCase::TTestCase(const TDesC& aMsg, TSmsFirstOctet::TSmsStatusReportRequest /*aSRR*/)
+//
+// Match on status report - ignore actual value of aSRR
+//
+: iMatchType(ESmsAddrStatusReport), iMsg(aMsg)
+	{
+
+	CommonInit();
+	}
+
+EXPORT_C TTestCase::TTestCase(const TDesC& aMsg, TSmsDataCodingScheme::TSmsIndicationType aIndicationType,
+					 TSmsDataCodingScheme::TSmsDCSBits7To4 aBits7To4,
+					 TSmsDataCodingScheme::TSmsIndicationState aIndicationState)
+//
+// Match on a type of message indication
+//
+: iMatchType(ESmsAddrMessageIndication), iMsg(aMsg), iIndicationType(aIndicationType),
+	iBits7To4(aBits7To4), iIndicationState(aIndicationState)
+	{
+
+	__ASSERT_ALWAYS(iBits7To4==TSmsDataCodingScheme::ESmsDCSMessageWaitingIndicationDiscardMessage
+		|| iBits7To4==TSmsDataCodingScheme::ESmsDCSMessageWaitingIndication7Bit
+		|| iBits7To4==TSmsDataCodingScheme::ESmsDCSMessageWaitingIndicationUCS2,
+		User::Panic(_L("TestCase"), KErrNotSupported));
+
+	CommonInit();
+	iTestIndicators=ETrue;
+
+	}
+
+EXPORT_C TTestCase::TTestCase(const TDesC& aMsg)
+//
+// Constructor
+//
+: iMatchType(ESmsAddrRecvAny), iMsg(aMsg)
+	{
+
+	CommonInit();
+	}
+
+EXPORT_C const TTestCase& TTestCase::operator=(const TTestCase& aTest)
+//
+// Assignment operator
+//
+	{
+
+	iMatchType = aTest.iMatchType;
+	iMsg.Set(aTest.iMsg);
+	iMatch.Set(aTest.iMatch);
+	iIdentifierMatch = aTest.iIdentifierMatch;
+	iTestForever = aTest.iTestForever;
+	return *this;
+	}
+
+EXPORT_C void TTestCase::SetSmsClass(TSmsDataCodingScheme::TSmsClass aClass)
+//
+// Set Sms Class
+//
+	{
+
+	iTestSmsClass = ETrue;
+	iSmsClass = aClass;
+	}
+
+EXPORT_C void TTestCase::SetValidityPeriod(const TTimeIntervalMinutes& aTimeInterval)
+//
+// Set the validity period
+//
+	{
+
+	iTestValidityPeriod = ETrue;
+	iValidityPeriod = aTimeInterval;
+	}
+
+EXPORT_C void TTestCase::SetRecvForever()
+//
+// Recv all messages forever
+//
+	{
+
+	iTestForever = ETrue;
+	iMatchType = ESmsAddrRecvAny;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstacktestcase.h	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,61 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+*/
+
+#ifndef SMSSTACKTESTCASE_H
+#define SMSSTACKTESTCASE_H
+
+#include <gsmuelem.h>
+#include <smsuaddr.H>
+
+class TTestCase //: public CSmsPrtTestStep
+	{
+public:
+	IMPORT_C TTestCase();
+	IMPORT_C TTestCase(const TDesC& aMsg, const TDesC& aMatch);
+	IMPORT_C TTestCase(const TDesC& aMsg, CSmsInformationElement::TSmsInformationElementIdentifier aId);
+	IMPORT_C TTestCase(const TDesC& aMsg, TSmsFirstOctet::TSmsStatusReportRequest aSRR);
+	IMPORT_C TTestCase(const TDesC& aMsg, TSmsDataCodingScheme::TSmsIndicationType aIndicationType,
+	        TSmsDataCodingScheme::TSmsDCSBits7To4 aBits7To4, TSmsDataCodingScheme::TSmsIndicationState iIndicationState);
+	IMPORT_C TTestCase(const TDesC& aMsg);
+	IMPORT_C const TTestCase& operator=(const TTestCase& aTest);
+	IMPORT_C void SetSmsClass(TSmsDataCodingScheme::TSmsClass aClass);
+	IMPORT_C void SetValidityPeriod(const TTimeIntervalMinutes& aTimeInterval);
+	IMPORT_C void SetRecvForever();
+	
+private:
+	void CommonInit();
+	
+public:
+	TSmsAddrFamily iMatchType;
+	TPtrC iMsg;
+	TPtrC iMatch;
+	CSmsInformationElement::TSmsInformationElementIdentifier iIdentifierMatch;
+
+	TBool iTestSmsClass;
+	TSmsDataCodingScheme::TSmsClass iSmsClass;
+	TBool iTestValidityPeriod;
+	TTimeIntervalMinutes iValidityPeriod;
+	TBool iTestForever;
+	TBool iTestIndicators;
+	TSmsDataCodingScheme::TSmsIndicationType iIndicationType;	// for ESmsAddrMessageIndication
+	TSmsDataCodingScheme::TSmsDCSBits7To4 iBits7To4;			// for ESmsAddrMessageIndication
+	TSmsDataCodingScheme::TSmsIndicationState iIndicationState; // for ESmsAddrMessageIndication
+	};
+
+#endif // SMSSTACKTESTCASE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/smsprotocols/smsstack/test/smsstacktestconsts.h	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,68 @@
+// Copyright (c) 2009-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef SMSSTACKTESTCONSTS_H
+#define SMSSTACKTESTCONSTS_H
+
+// Location and name of the RSC file.
+_LIT(KSMSUResourceDir, "C:\\private\\101f7989\\sms\\");
+_LIT(KSMSUResourceFile, "C:\\private\\101f7989\\sms\\smsu.rsc");
+
+// Here are the section names
+_LIT8(KSetupTelNumbers,           "Defaults");
+_LIT8(KTelefoneNumber,            "TelephoneNumber");
+
+// Here are the item names
+_LIT8(KServiceCenter,               "ServiceCenter");
+
+_LIT(KGmsSmsConfigFileName,"setupgsmsms.txt");
+_LIT(KTSmsPrtConfigFileName, "tsmsprt_config.txt");
+_LIT(KTSmsPrtConfigExtraFileName, "tsmsprt_config_extra.txt");
+_LIT(KTSmsPrtConfigTxRxMaxMsgFileName, "tsmsprt_config_tx_rx_maxmsg.txt");
+
+_LIT8(KServiceCentreAddress,   "ServiceCentreAddress");
+_LIT8(KSmspEntryValidParams,  "SmspEntryValidParams");
+_LIT8(KSmspEntryScTypeOfNumber,  "SmspEntryScTypeOfNumber");
+_LIT8(KSmspEntryScNumberPlan,  "SmspEntryScNumberPlan");
+
+_LIT(KVodafoneSC,"+447785016005"); //Vodafone SC
+_LIT(KRegTestNumber,"+447747065548"); //Number used with regtest
+_LIT(KTestNumber,"+447747065825"); //Number used with regtest
+
+_LIT(KSoneraSC,"+358405202000"); //Sonera SC
+_LIT(KRadiolinjaSC,"+358508771010"); //Radiolinja SC
+
+_LIT(KPekka,"+358408415528");  //Pekka's telephone number
+_LIT(KOther,"+358408415582"); // Other test number
+_LIT(KLocalNumber, "08408415528"); //Local test number to verify local/international switching
+_LIT(KInternationalTestNumber, "+819021710979"); // International number to be used with a status
+                                                 // report containing local version of this number
+
+_LIT8(KTestSendAndRecvMsgsWithDifferentTON, "SendAndRecvMsgsWithDifferentTON");
+_LIT8(KTestSendAndReceiveIndicatorMsgs, "SendAndReceiveIndicatorMsgs");
+_LIT(KConfigFileDir,"sms");
+_LIT8(KAlphabet,    "Alphabet");
+_LIT8(KTypeOfNumber,    "TypeOfNumber");
+_LIT8(KIndicationType,  "IndicationType");
+_LIT8(KDCSBits7To4, "DCSBits7To4");
+_LIT8(KIndicationState, "IndicationState");
+
+_LIT(KText, "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123");
+
+_LIT(KTestCaseNumber, "testNumber"); ///< test number run by SIMTSY
+
+const TUint KSocketMessageSlots = 16;   // Override the default value of 8
+
+#endif // SMSSTACKTESTCONSTS_H
--- a/smsprotocols/smsstack/test/smsstacktestutilities.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/smsstacktestutilities.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -19,26 +19,26 @@
  @file
 */
 
-#include <commsdattypesv1_1.h>
-#include <logcli.h>
+#include "smsstacktestutilities.h"
 
-#include "smsstacktestutilities.h"
+#include <commsdattypesv1_1.h>
+#include <commsdattypesv1_1_internal.h>
+#include <logcli.h>
 #include <e32math.h>
+#include <e32test.h>
+#include <f32file.h>
+#include <logwraplimits.h>
+
 #include "smsustrm.h"
 #include "Gsmumsg.h"
 #include "smsuaddr.H"
 #include "gsmubuf.h"
-
 #include "smspdudb.h"
-#include <e32test.h>
-#include <f32file.h>
 #include "SmsuTimer.h"
 #include "smsstacklog.h"
-#include <logwraplimits.h>
 
 using namespace CommsDat;
 
-
 // Check a boolean is true
 #define LOCAL_CHECKPOINT(a) iTestStep->testBooleanTrue((a), (TText8*)__FILE__, __LINE__)
 
@@ -55,7 +55,6 @@
 #define PRINTF6(p1, p2, p3, p4, p5, p6)		iTestStep->Logger().LogExtra(((TText8*)__FILE__), __LINE__, ESevrInfo, (p1), (p2), (p3), (p4), (p5), (p6))
 #define PRINTF7(p1, p2, p3, p4, p5, p6, p7)	iTestStep->Logger().LogExtra(((TText8*)__FILE__), __LINE__, ESevrInfo, (p1), (p2), (p3), (p4), (p5), (p6), (p7))
 
-
 class CTSmsRegTstActive : public CActive
 	{
 public:
@@ -119,78 +118,6 @@
 	{
 	}
 
-EXPORT_C void CSmsStackTestUtils::WaitForInitializeL()
-/**
- *  Initialize the phone for the tsy. This will prevent message sends from completing with KErrNotReady
- */
-	{
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
-#else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-#endif
-
-	CleanupStack::PushL(db);
-
-	TName tsy;
-	TUint32 modemId = 0;
-
-	CMDBField<TUint32>* globalSettingsField = new(ELeave) CMDBField<TUint32>(KCDTIdModemPhoneServicesSMS);
-	CleanupStack::PushL(globalSettingsField);
-	globalSettingsField->SetRecordId(1);
-	globalSettingsField->LoadL(*db);
-	modemId = *globalSettingsField;
-	CleanupStack::PopAndDestroy(globalSettingsField);
-
-	CMDBField<TDesC>* tsyField = new(ELeave) CMDBField<TDesC>(KCDTIdTsyName);
-	CleanupStack::PushL(tsyField);
-	tsyField->SetRecordId(modemId);
-	tsyField->SetMaxLengthL(KMaxTextLength);
-	tsyField->LoadL(*db);
-	tsy = *tsyField;
-	CleanupStack::PopAndDestroy(tsyField);
-
-	CleanupStack::PopAndDestroy(db);
-
-	PRINTF2(_L("Loading TSY \"%S\"..."), &tsy);
-
-	RTelServer server;
-	User::LeaveIfError(server.Connect());
-	CleanupClosePushL(server);
-	User::LeaveIfError(server.LoadPhoneModule(tsy));
-
-	// Find the phone corresponding to this TSY and open a number of handles on it
-	TInt numPhones;
-	User::LeaveIfError(server.EnumeratePhones(numPhones));
-	RPhone phone;
-	TBool found=EFalse;
-
-	while (numPhones--)
-		{
-		TName phoneTsy;
-		User::LeaveIfError(server.GetTsyName(numPhones,phoneTsy));
-		if (phoneTsy.CompareF(tsy)==KErrNone)
-			{
-			PRINTF1(_L("Found RPhone..."));
-			found = ETrue;
-			RTelServer::TPhoneInfo info;
-			User::LeaveIfError(server.GetPhoneInfo(numPhones,info));
-			User::LeaveIfError(phone.Open(server,info.iName));
-			CleanupClosePushL(phone);
-			PRINTF1(_L("Initializing..."));
-			const TInt err = phone.Initialise();
-			TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
-			User::After(InitPause);							//call to the TSY and finish its StartUp.
-			PRINTF2(_L("Completed Initialize [err=%d]"), err);
-			User::LeaveIfError(err);
-			CleanupStack::PopAndDestroy(&phone);
-			break;
-			}
-		}
-
-	LOCAL_CHECKPOINT(found);
-	CleanupStack::PopAndDestroy(&server);
-	}
 
 EXPORT_C void CSmsStackTestUtils::OpenSmsSocketLC(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddrFamily aFamily)
 /**
@@ -231,7 +158,6 @@
 	CleanupClosePushL(aSocket);
 	}
 
-
 EXPORT_C void CSmsStackTestUtils::OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddr& aSmsAddr)
 /**
  *  Initialise an RSocket for SMS, aSocket is NOT pushed to CleanupStack.
@@ -247,7 +173,14 @@
 	ret=aSocket.Bind(aSmsAddr);
 	PRINTF2(_L("Socket Bind Return Value : %d"),ret);
 	LOCAL_CHECKPOINT(ret == KErrNone);
-	WaitForInitializeL();
+	
+	TProtocolDesc desc;
+	aSocket.Info(desc);
+	PRINTF2(_L("Protocol name: %S"), &desc.iName);
+	
+    TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
+    User::After(InitPause);                         //call to the TSY and finish its StartUp.
+
 	CleanupStack::Pop(&aSocket);
 	}
 
@@ -267,27 +200,27 @@
 	LOCAL_CHECKPOINT(ret == KErrNone);
 	TRAP(ret,writestream.CommitL());
 	LOCAL_CHECKPOINT(ret == KErrNone);
-
+	
     // Create comms database object
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
-	CleanupStack::PushL(db);
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
+    CleanupStack::PushL(db);
 
  	//Send message and change bearer
 	TPckgBuf<TUint> sbuf;
 	TRequestStatus status;
-	aSocket.Ioctl(KIoctlSendSmsMessage,status,&sbuf, KSolSmsProv);
+	aSocket.Ioctl(KIoctlSendSmsMessage, status, &sbuf, KSolSmsProv);
 
 	//Wait couple of seconds to ensure first pdus of message have been sent
 	User::After(2500000);
 
-	// Change bearer
-	CMDBField<TUint32>* smsBearerField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSBearer);
-	CleanupStack::PushL(smsBearerField);
-	smsBearerField->SetRecordId(1); //it's GlobalSettingsRecord
-	*smsBearerField = aBearer;
-	smsBearerField->ModifyL(*db);
-	CleanupStack::PopAndDestroy(smsBearerField);
-	CleanupStack::PopAndDestroy(db);
+    // Change bearer
+    CMDBField<TUint32>* smsBearerField = new(ELeave) CMDBField<TUint32>(KCDTIdSMSBearer);
+    CleanupStack::PushL(smsBearerField);
+    smsBearerField->SetRecordId(1); //it's GlobalSettingsRecord
+    *smsBearerField = aBearer;
+    smsBearerField->ModifyL(*db);
+    CleanupStack::PopAndDestroy(smsBearerField);
+    CleanupStack::PopAndDestroy(db);
 
 	User::WaitForRequest(status);
 	PRINTF2(_L("SendSmsL - sendSmsMessage returned %d"), status.Int());
@@ -310,28 +243,28 @@
 @return none
 */
 	{
-	// Start a CommDB session
+    // Start a CommDB session
 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
 #else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
 #endif
-	CleanupStack::PushL(db);
-	
-	// Change bearer in global settings
-	CMDBRecordSet<CCDGlobalSettingsRecord> globalSettingsRecord(KCDTIdGlobalSettingsRecord);
-	TRAPD(err, globalSettingsRecord.LoadL(*db));
-	if (err != KErrNone)
-		{
-		PRINTF2(_L("Could not load global settings. Error = %d\n"), err);
-		User::Leave(err);
-		}
-	((CCDGlobalSettingsRecord*)globalSettingsRecord.iRecords[0])->iSMSBearer = aBearer;
-	globalSettingsRecord.ModifyL(*db);
-	
-	PRINTF2(_L("Setting bearer in global settings to %d\n"), aBearer); 
-	
-	CleanupStack::PopAndDestroy(db);
+    CleanupStack::PushL(db);
+    
+    // Change bearer in global settings
+    CMDBRecordSet<CCDGlobalSettingsRecord> globalSettingsRecord(KCDTIdGlobalSettingsRecord);
+    TRAPD(err, globalSettingsRecord.LoadL(*db));
+    if (err != KErrNone)
+        {
+        PRINTF2(_L("Could not load global settings. Error = %d\n"), err);
+        User::Leave(err);
+        }
+    ((CCDGlobalSettingsRecord*)globalSettingsRecord.iRecords[0])->iSMSBearer = aBearer;
+    globalSettingsRecord.ModifyL(*db);
+    
+    PRINTF2(_L("Setting bearer in global settings to %d\n"), aBearer); 
+    
+    CleanupStack::PopAndDestroy(db);
 	}
 
 EXPORT_C void CSmsStackTestUtils::GetBearerL(RMobileSmsMessaging::TMobileSmsBearer& aBearer)
@@ -341,29 +274,29 @@
 @param aBearer The bearer setting retrieved from global settings.
 @return none
 */
-	{
-	// Start a CommDB session
+    {
+    // Start a CommDB session
 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_2);
 #else
-	CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
+    CMDBSession* db = CMDBSession::NewL(KCDVersion1_1);
 #endif
-	CleanupStack::PushL(db);
-	
-	// Load global settings
-	CMDBRecordSet<CCDGlobalSettingsRecord> globalSettingsRecord(KCDTIdGlobalSettingsRecord);
-	TRAPD(err, globalSettingsRecord.LoadL(*db));
-	if (err != KErrNone)
-		{
-		PRINTF2(_L("Could not load global settings. Error = %d\n"), err);
-		User::Leave(err);
-		}
-	TInt tempBearer = ((CCDGlobalSettingsRecord*)globalSettingsRecord.iRecords[0])->iSMSBearer;
-	aBearer = static_cast<RMobileSmsMessaging::TMobileSmsBearer>(tempBearer);
-	PRINTF2(_L("Got bearer from CommDB. Bearer = %d\n"), aBearer);
-	
-	CleanupStack::PopAndDestroy(db);
-	}
+    CleanupStack::PushL(db);
+    
+    // Load global settings
+    CMDBRecordSet<CCDGlobalSettingsRecord> globalSettingsRecord(KCDTIdGlobalSettingsRecord);
+    TRAPD(err, globalSettingsRecord.LoadL(*db));
+    if (err != KErrNone)
+        {
+        PRINTF2(_L("Could not load global settings. Error = %d\n"), err);
+        User::Leave(err);
+        }
+    TInt tempBearer = ((CCDGlobalSettingsRecord*)globalSettingsRecord.iRecords[0])->iSMSBearer;
+    aBearer = static_cast<RMobileSmsMessaging::TMobileSmsBearer>(tempBearer);
+    PRINTF2(_L("Got bearer from CommDB. Bearer = %d\n"), aBearer);
+    
+    CleanupStack::PopAndDestroy(db);
+    }
 
 EXPORT_C void CSmsStackTestUtils::DisableLogging()
  	{
@@ -389,38 +322,35 @@
  	CActiveScheduler::Start();
  	LOCAL_CHECKPOINT(testActive->iStatus.Int() == KErrNone);
  	
- 	CleanupStack::PopAndDestroy(logWrapper);	
- 	CleanupStack::PopAndDestroy(testActive);
+ 	CleanupStack::PopAndDestroy(2, testActive); // testActive, logWrapper
 	}
  
  EXPORT_C void CSmsStackTestUtils::EnableLogging()
- 	{
- 	CTSmsRegTstActive* testActive = new(ELeave)CTSmsRegTstActive();
- 	CleanupStack::PushL(testActive);
- 	testActive->StartL();	
- 
- 	CLogWrapper* logWrapper=CLogWrapper::NewL(iFs);
- 	CleanupStack::PushL(logWrapper);
- 	CLogClient& logClient = static_cast<CLogClient&> (logWrapper->Log());
- 	TLogConfig config;
- 	logClient.GetConfig(config, testActive->iStatus);
- 	CActiveScheduler::Start();
- 	LOCAL_CHECKPOINT(testActive->iStatus.Int() == KErrNone);
- 
- 	// Enable logging
- 	config.iMaxEventAge = 10000;
- 	config.iMaxLogSize  = 10000; 
- 	config.iMaxRecentLogSize = 127; 
- 	
- 	testActive->StartL();	
- 	logClient.ChangeConfig(config, testActive->iStatus);
- 	CActiveScheduler::Start();
- 	LOCAL_CHECKPOINT(testActive->iStatus.Int() == KErrNone);
- 	
- 	CleanupStack::PopAndDestroy(logWrapper);	
- 	CleanupStack::PopAndDestroy(testActive);
- }		
-	
+    {
+    CTSmsRegTstActive* testActive = new(ELeave)CTSmsRegTstActive();
+    CleanupStack::PushL(testActive);
+    testActive->StartL();	
+    
+    CLogWrapper* logWrapper=CLogWrapper::NewL(iFs);
+    CleanupStack::PushL(logWrapper);
+    CLogClient& logClient = static_cast<CLogClient&> (logWrapper->Log());
+    TLogConfig config;
+    logClient.GetConfig(config, testActive->iStatus);
+    CActiveScheduler::Start();
+    LOCAL_CHECKPOINT(testActive->iStatus.Int() == KErrNone);
+    
+    // Enable logging - default values
+    config.iMaxEventAge = 2592000;
+    config.iMaxLogSize  = 1000; 
+    config.iMaxRecentLogSize = 20; 
+    
+    testActive->StartL();	
+    logClient.ChangeConfig(config, testActive->iStatus);
+    CActiveScheduler::Start();
+    LOCAL_CHECKPOINT(testActive->iStatus.Int() == KErrNone);
+    
+    CleanupStack::PopAndDestroy(2, testActive); // testActive, logWrapper
+    }		
 	
 EXPORT_C void CSmsStackTestUtils::GetLogEventL(CLogEvent& aLogEvent, TInt aLogServerId)
 /**
@@ -440,7 +370,8 @@
 	logWrapper->Log().GetEvent(aLogEvent,testActive->iStatus);
 	CActiveScheduler::Start();
 	LOCAL_CHECKPOINT(testActive->iStatus.Int() == KErrNone);
-	CleanupStack::PopAndDestroy(2);	// testActive, logWrapper
+	
+    CleanupStack::PopAndDestroy(2, testActive); // testActive, logWrapper
 	}
 
 EXPORT_C TLogId CSmsStackTestUtils::AddLogEventL(CSmsMessage& aSmsMessage,TLogSmsPduData& aSmsPDUData)
@@ -478,15 +409,17 @@
 		logevent->SetStatus(_L("status"));
 		TPckg<TLogSmsPduData> packeddata(aSmsPDUData);
 		logevent->SetDataL(packeddata);
-
+		
+		PRINTF2(_L("iStatus is %d"), testActive->iStatus.Int());
 		logWrapper->Log().AddEvent(*logevent,testActive->iStatus);
 		CActiveScheduler::Start();
+		PRINTF2(_L("iStatus is %d"), testActive->iStatus.Int());
 		LOCAL_CHECKPOINT(testActive->iStatus.Int() == KErrNone);
 		id=logevent->Id();
 		CleanupStack::PopAndDestroy(logevent);
 	}
 
-	CleanupStack::PopAndDestroy(2);	// testActive, logWrapper
+    CleanupStack::PopAndDestroy(2, testActive); // testActive, logWrapper
 	return id;
 	}
 
@@ -620,15 +553,12 @@
 		CTestConfigItem* item = CTestConfigItem::NewLC(section, KSmspTestUtilsSmsTx, *smsTx);
 
 		User::LeaveIfError(section.Items().Append(item));
-
+			
 		CleanupStack::Pop(item);
-		CleanupStack::PopAndDestroy(smsTx);
-		CleanupStack::PopAndDestroy(sc);
-		CleanupStack::PopAndDestroy(pduBuf);
+        CleanupStack::PopAndDestroy(3, pduBuf); // smsTx, sc, pduBuf
 		}
 
-	CleanupStack::PopAndDestroy(submitReport);
-	CleanupStack::PopAndDestroy(pdus);
+	CleanupStack::PopAndDestroy(2, pdus); // pdus, submitReport
 	}
 
 EXPORT_C HBufC8* CSmsStackTestUtils::ConvertToHexLC(const TDesC8& aDes) const
@@ -642,7 +572,6 @@
 		{
 		value.AppendFormat(_L8("%02X"), aDes[i]);
 		}
-
 	return hBuf;
 	}
 
@@ -702,7 +631,6 @@
 	CleanupStack::PopAndDestroy(addr);
 	}
 
-
 /**
  *  This is a unit test for class TSmsServiceCenterTimeStamp.  It is added to this utility
  *  class because it has access to TSmsServiceCenterTimeStamp.  TSmsServiceCenterTimeStamp is not exported
@@ -1907,11 +1835,8 @@
         }
     }
 
-
-
-
 //
-//             CTestGetSmsList
+// CTestGetSmsList
 //
 
 EXPORT_C CTestGetSmsList* CTestGetSmsList::NewL(TInt aPriority, RSocketServ& aSocketServer, CSmsStackTestUtils& aTestUtils)
@@ -1923,12 +1848,7 @@
 	return smsListGetter;
 	}
 
-CTestGetSmsList::CTestGetSmsList(TInt aPriority, RSocketServ& aSocketServer, CSmsStackTestUtils& aTestUtils)
-/**
- *  Constructor
- *  
- *   *
- */
+EXPORT_C CTestGetSmsList::CTestGetSmsList(TInt aPriority, RSocketServ& aSocketServer, CSmsStackTestUtils& aTestUtils)
 : CSmsuActiveBase(aPriority), //parent construction
 iSocketServer(aSocketServer),
 iTestUtils(aTestUtils)
--- a/smsprotocols/smsstack/test/smsstacktestutilities.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/smsstacktestutilities.h	Fri Apr 16 16:12:37 2010 +0300
@@ -19,24 +19,21 @@
 *
 */
 
-
-
 /**
  @file
 */
 
-#ifndef __TSMSPTESTUTILS_H__
-#define __TSMSPTESTUTILS_H__
+#ifndef SMSSTACKTESTUTILITIES_H
+#define SMSSTACKTESTUTILITIES_H
 
 #include <e32test.h>
 #include <es_sock.h>
 #include <mmlist.h>
 #include <gsmupdu.h>
 #include <smsuact.h>
-#include <smsuaddr.h>
-#include "logwrap.h"
-#include "logeng.h"
+#include <smsuaddr.H>
 #include <test/testexecuteserverbase.h>
+#include <logwrapconst.h>
 #include <logsmspdudata.h>
 #include <commsdat_partner.h>
 
@@ -56,7 +53,6 @@
 class CSmsStackTestUtils : public CBase
 	{
 	public:
-
 		//Factory
 		IMPORT_C static CSmsStackTestUtils* NewL(CTestStep* aTestStep, RFs& aFs);
 		IMPORT_C ~CSmsStackTestUtils();
@@ -93,7 +89,6 @@
 		IMPORT_C void OpenSmsSocketLC(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddrFamily aFamily);
 		IMPORT_C void OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddr& aSmsAddr);
 		IMPORT_C void OpenSmsSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TSmsAddrFamily aFamily);
-		IMPORT_C void WaitForInitializeL();
 
 		///SMS Parameter utils
 		IMPORT_C TInt StoreParamsL(CMobilePhoneSmspList& aSmspList, RSocket& aSocket, TBool aCancelAfterRequest);
@@ -120,12 +115,10 @@
 		IMPORT_C void GetBearerL(RMobileSmsMessaging::TMobileSmsBearer& aBearer);
 		
 	private:
-
 		CSmsStackTestUtils(CTestStep* aTestStep, RFs& aFs);
 		void ConstructL();
-
+	     
 	public:
-
 		CTestStep* iTestStep;
 		RFs& iFs;
 		CCnvCharacterSetConverter* iCharConv;
@@ -224,7 +217,4 @@
 	CSmsStackTestUtils& iTestUtils;
 	};
 
-
-#endif  //__TSMSPTESTUTILS_H__
-
-
+#endif  // SMSSTACKTESTUTILITIES_H
--- a/smsprotocols/smsstack/test/smsstacktestutilities.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/smsstacktestutilities.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -20,8 +20,8 @@
 */
 
 TARGET           smsstacktestutilities.dll
-CAPABILITY       ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData ProtServ AllFiles PowerMgmt
-//UID           	 0x1000008D 0x101FBB4F
+CAPABILITY       All -TCB
+UID           	 0x1000008D 0x101FBB4F
 EPOCSTACKSIZE    0x10000
 TARGETTYPE       dll
 
@@ -29,6 +29,8 @@
 SOURCE		smsstacktestutilities.cpp EmsTestUtils.cpp
 SOURCE		smspdudb.cpp
 SOURCE		smspdudbitems.cpp
+SOURCE 		smsstackbaseteststeps.cpp smsstacktestcase.cpp
+SOURCE          smsstackbasetestserver.cpp
 SOURCEPATH	../gsmu/src
 SOURCE		gsmupriv.cpp
 SOURCE		Gsmumain.cpp
@@ -46,6 +48,7 @@
 USERINCLUDE      ../smsu/inc
 USERINCLUDE      ../test
 USERINCLUDE      ../common/inc
+USERINCLUDE   	 ../smsprot/inc
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
@@ -54,9 +57,9 @@
 LIBRARY      euser.lib estor.lib
 LIBRARY          logwrap.lib testconfigfileparser.lib etel.lib efsrv.lib charconv.lib etelmm.lib fbscli.lib bitgdi.lib
 LIBRARY		 testexecuteutils.lib
-LIBRARY		 testexecutelogclient.lib logcli.lib
+LIBRARY		 testexecutelogclient.lib
 
-LIBRARY		 commsdat.lib
+LIBRARY		 commsdat.lib logcli.lib c32root.lib
 
 DEBUGLIBRARY		 comsdbgutil.lib
 
--- a/smsprotocols/smsstack/test/te_smsstack.iby	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/test/te_smsstack.iby	Fri Apr 16 16:12:37 2010 +0300
@@ -29,13 +29,13 @@
 //
 // SMS Stack Test Utility DLLs...
 //
-file=ABI_DIR\BUILD_DIR\smsstacktestutilities.dll                                         SYSTEM_BINDIR\smsstacktestutilities.dll
+file=ABI_DIR\DEBUG_DIR\smsstacktestutilities.dll                                         SYSTEM_BINDIR\smsstacktestutilities.dll
 
 //
 // Gsmu Test Code...
 //
-file=ABI_DIR\BUILD_DIR\te_gsmu.exe                                                       SYSTEM_BINDIR\te_gsmu.exe
-file=ABI_DIR\BUILD_DIR\te_gsmustor.exe                                                   SYSTEM_BINDIR\te_gsmustor.exe
+file=ABI_DIR\DEBUG_DIR\te_gsmu.exe                                                       SYSTEM_BINDIR\te_gsmu.exe
+file=ABI_DIR\DEBUG_DIR\te_gsmustor.exe                                                   SYSTEM_BINDIR\te_gsmustor.exe
 
 data=EPOCROOT##epoc32\data\z\testdata\scripts\te_gsmu.script                             testdata\scripts\te_gsmu.script
 data=EPOCROOT##epoc32\data\z\testdata\scripts\te_gsmustor.script                         testdata\scripts\te_gsmustor.script
@@ -43,7 +43,7 @@
 //
 // Smsprot Test Code...
 //
-file=ABI_DIR\BUILD_DIR\te_smsinter.exe                                                   SYSTEM_BINDIR\te_smsinter.exe stack=0x5000
+file=ABI_DIR\DEBUG_DIR\te_smsinter.exe                                                   SYSTEM_BINDIR\te_smsinter.exe stack=0x5000
 file=ABI_DIR\DEBUG_DIR\te_smsemsprt.exe                                                  SYSTEM_BINDIR\te_smsemsprt.exe
 file=ABI_DIR\DEBUG_DIR\te_smsstor.exe                                                    SYSTEM_BINDIR\te_smsstor.exe
 file=ABI_DIR\DEBUG_DIR\te_smsprtstress.exe                                               SYSTEM_BINDIR\te_smsprtstress.exe
@@ -70,11 +70,16 @@
 data=EPOCROOT##epoc32\data\z\sms\smswap.sms-bootTimerTimeout.esk                         SMS\smswap.sms-bootTimerTimeout.esk
 
 
+data=EPOCROOT##epoc32\data\z\testdata\scripts\smsstackcleanprivatedata.script            TestData\scripts\smsstackcleanprivatedata.script
+data=EPOCROOT##epoc32\data\z\testdata\scripts\smsstackbackupeskfile.script               TestData\scripts\smsstackbackupeskfile.script
+data=EPOCROOT##epoc32\data\z\testdata\scripts\smsstackrestoreeskfile.script              TestData\scripts\smsstackrestoreeskfile.script
+
+data=EPOCROOT##epoc32\data\z\testdata\configs\smsstacksimtsytestnumbers.ini              TestData\configs\smsstacksimtsytestnumbers.ini
 
 data=EPOCROOT##epoc32\data\z\testdata\configs\t_smspdudb.txt                             testdata\configs\t_smspdudb.txt
 
 // te_smspdudb
-file=ABI_DIR\BUILD_DIR\te_smspdudb.exe                                                   SYSTEM_BINDIR\te_smspdudb.exe
+file=ABI_DIR\DEBUG_DIR\te_smspdudb.exe                                                   SYSTEM_BINDIR\te_smspdudb.exe
 
 //te_smspdudb script and configs
 data=EPOCROOT##epoc32\data\z\testdata\scripts\te_smspdudb.script                         testdata\scripts\te_smspdudb.script
@@ -84,7 +89,7 @@
 data=EPOCROOT##epoc32\data\z\testdata\configs\smspdudb.txt                               testdata\configs\smspdudb.txt
 
 // te_R6SMS
-file=ABI_DIR\BUILD_DIR\te_R6SMS.exe                                                      SYSTEM_BINDIR\te_R6SMS.exe
+file=ABI_DIR\DEBUG_DIR\te_R6SMS.exe                                                      SYSTEM_BINDIR\te_R6SMS.exe
 data=EPOCROOT##epoc32\data\z\testdata\scripts\te_R6SMS.script                            testdata\scripts\te_R6SMS.script
 data=EPOCROOT##epoc32\data\z\testdata\scripts\te_R6SMS_setup.script                      testdata\scripts\te_R6SMS_setup.script
 
@@ -114,13 +119,12 @@
 data=EPOCROOT##epoc32\data\z\sms\tsmsprt_config.txt                                      Sms\tsmsprt_config.txt
 data=EPOCROOT##epoc32\data\z\sms\tsmsprt_config_extra.txt                                Sms\tsmsprt_config_extra.txt
 data=EPOCROOT##epoc32\data\z\sms\tsmsprt_config_tx_rx_maxmsg.txt                         Sms\tsmsprt_config_tx_rx_maxmsg.txt
-data=EPOCROOT##epoc32\data\c\sms\tsmsprtStress_config.txt                                Sms\tsmsprtStress_config.txt
-data=EPOCROOT##epoc32\data\c\sms\tsmsemsprt_config.txt                                   Sms\tsmsemsprt_config.txt
+data=EPOCROOT##epoc32\data\z\sms\tsmsprtstress_config.txt                                Sms\tsmsprtstress_config.txt
+data=EPOCROOT##epoc32\data\z\sms\tsmsemsprt_config.txt                                   Sms\tsmsemsprt_config.txt
 data=EPOCROOT##epoc32\data\c\sms\smspdudb.txt                                            Sms\smspdudb.txt
 data=EPOCROOT##epoc32\data\c\sms\t_smspdudb.txt                                          Sms\t_smspdudb.txt
 data=EPOCROOT##epoc32\data\z\testdata\configs\te_statusReportScheme.ini                  testdata\configs\te_statusReportScheme.ini
 data=EPOCROOT##epoc32\data\z\testdata\configs\TE_DiskSpaceMonitor.ini                  	 testdata\configs\TE_DiskSpaceMonitor.ini
-data=EPOCROOT##epoc32\data\z\testdata\configs\SIMTSYTestNumbers.ini                   	 testdata\configs\SIMTSYTestNumbers.ini
 
 //SMSOutOfDiskSpace
 #ifndef _DEBUG
@@ -135,6 +139,7 @@
 data=EPOCROOT##epoc32\data\z\testdata\configs\smsclass0preallocated.dat             	testdata\configs\smsclass0preallocated.dat
 data=EPOCROOT##epoc32\data\z\testdata\configs\smsclass0reast.dat		        testdata\configs\smsclass0reast.dat
 data=EPOCROOT##epoc32\data\z\testdata\configs\smswap_class0.sms.esk                	testdata\configs\smswap_class0.sms.esk
+
 data=EPOCROOT##epoc32\data\z\testdata\configs\smswap_discardType0s.esk                	testdata\configs\smswap_discardType0s.esk
 data=EPOCROOT##epoc32\data\z\testdata\configs\smswap_DontDiscardType0s.esk            	testdata\configs\smswap_DontDiscardType0s.esk
 data=EPOCROOT##epoc32\data\z\testdata\configs\smswap_MaxFivePDUsInOOD.esk            	testdata\configs\smswap_MaxFivePDUsInOOD.esk
@@ -162,7 +167,7 @@
 data=EPOCROOT##Epoc32\data\z\sms\smswap.sms-AutoDeletionClass2.esk                       sms\smswap.sms-AutoDeletionClass2.esk
 data=EPOCROOT##Epoc32\data\z\sms\smswap.sms-AutomaticDeletionOfType0.esk                 sms\smswap.sms-AutomaticDeletionOfType0.esk
 
-file=ABI_DIR\BUILD_DIR\te_gsmu_ems.exe                                                   System\bin\te_gsmu_ems.exe
+file=ABI_DIR\DEBUG_DIR\te_gsmu_ems.exe                                                   System\bin\te_gsmu_ems.exe
 
 data=EPOCROOT##Epoc32\data\z\TestData\scripts\te_gsmu_ems.script                         TestData\Scripts\te_gsmu_ems.Script
 
@@ -186,7 +191,7 @@
 data=EPOCROOT##epoc32\data\z\testdata\configs\TE_waphdr.txt                              testdata\configs\TE_waphdr.txt
 
 // This binary file is marked as "data=" because in the ROM it is must be a RAM executable image to be used with SETCAP.exe.
-data=ABI_DIR\BUILD_DIR\TE_WapProt.exe                                                    SYSTEM_BINDIR\TE_WapProt.exe
+data=ABI_DIR\DEBUG_DIR\TE_WapProt.exe                                                    SYSTEM_BINDIR\TE_WapProt.exe
 
 data=EPOCROOT##Epoc32\data\z\testdata\configs\WapProtSuite\WapProtSuite.ini              testdata\configs\WapProtSuite\WapProtSuite.ini
 data=EPOCROOT##Epoc32\data\z\testdata\configs\WapProtSuite\WapStatusReports.ini          testdata\configs\WapProtSuite\WapStatusReports.ini
@@ -207,7 +212,7 @@
 //
 // TE_WAPSMS files...
 //
-file=ABI_DIR\BUILD_DIR\TE_WAPSMS.exe                                                     SYSTEM_BINDIR\TE_WAPSMS.exe
+file=ABI_DIR\DEBUG_DIR\TE_WAPSMS.exe                                                     SYSTEM_BINDIR\TE_WAPSMS.exe
 data=EPOCROOT##epoc32\data\z\testdata\configs\te_setupgsmsms.txt                         testdata\configs\te_setupgsmsms.txt
 data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_WAPSMS.script                           testdata\scripts\TE_WAPSMS.script
 data=EPOCROOT##epoc32\data\z\testdata\scripts\TE_WAPSMS_setup.script                     testdata\scripts\TE_WAPSMS_setup.script
--- a/smsprotocols/smsstack/wapprot/Inc/WAPDGRM.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/Inc/WAPDGRM.H	Fri Apr 16 16:12:37 2010 +0300
@@ -132,8 +132,7 @@
     inline TTimeIntervalSeconds UTCOffset() const;
     TBool SetUTCOffset(const TTimeIntervalSeconds& aUTCOffset);
 
-        // May return > 1, if the socket text headers are used
-        // TODO: to be removed ?
+    // May return > 1, if the socket text headers are used
     inline TInt NumConcatenatedMessages() const;
 
     inline TInt ConcatenatedMessageReference(TBool* aIs16BIt = NULL) const;
--- a/smsprotocols/smsstack/wapprot/Inc/wapthdr.inl	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/Inc/wapthdr.inl	Fri Apr 16 16:12:37 2010 +0300
@@ -66,7 +66,7 @@
     __ASSERT_DEBUG(iIsWapTextMessage, Panic(KPanicTextHeaderNotTextHeader));
     if (aIs16Bit)
         *aIs16Bit = iIs16Bit;
-    if (iSourcePort == (-1)) // TODO what does -1 mean?
+    if (iSourcePort == (-1))
         return iDestinationPort;
     return iSourcePort;
     }
@@ -141,7 +141,6 @@
 /**
  *  from WAP spec: other header specified by text mode of WAP spec
  *  
- *  TODO no idea what is it used for ?
  *  Descriptor lenght is set 0, if not present
  *  '//' is included
  */
--- a/smsprotocols/smsstack/wapprot/Src/wapdgrm.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/Src/wapdgrm.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -432,8 +432,6 @@
         else
             // This means that IEs with 7-bits are used
             // Happily we support it
-            // But what TODO if we are here due to an error, because
-            // 7-bit with IEs should never happen ?
             iIsComplete = ETrue;
 
         }
--- a/smsprotocols/smsstack/wapprot/Src/wappstor.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/Src/wappstor.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -90,9 +90,6 @@
             CWapDatagram* tempDatagram = CWapDatagram::NewL(KNullDesC8);
             CleanupStack::PushL(tempDatagram);
 
-            // defect fix for EDNJJUN-4WYJGP
-            // Unable to send sms cause sms*.dat is corrupted
-            // TODO - has to be back ported to higher versions
             TRAPD(ret, InternalizeEntryL(StreamdId,*tempDatagram,*segmentArray));
             if(ret == KErrCorrupt)
                 {
@@ -212,7 +209,6 @@
 
     // defect fix for EDNJJUN-4WYJGP
     // Unable to send sms cause sms*.dat is corrupted
-    // TODO - has to be back ported to higher versions
     TRAPD(ret, InternalizeEntryL(Entries()[aIndex].DataStreamId(), aDatagram,*segmentArray));
     if(ret == KErrCorrupt)
         {
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_testwapdgrm.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_testwapdgrm.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -53,15 +53,6 @@
 #include "TE_wapdgrmbase.h"
 #include "TE_testwapdgrm.h"
 
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
-
 TVerdict CTestWapProtDatagram::doTestStepL()
 /*
  * implementation of Wap Protocol Datagram test case
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_wapdgrm.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_wapdgrm.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -17,7 +17,7 @@
 #include <cflog.mmh>
 
 TARGET      te_wapdgrm.exe
-CAPABILITY ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData
+CAPABILITY ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData PowerMgmt
 TARGETTYPE  exe
 UID             0x1000007A 0x101FBC46
 VENDORID 0x70000001
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_wapdgrmbase.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPDGRM/TE_wapdgrmbase.h	Fri Apr 16 16:12:37 2010 +0300
@@ -37,8 +37,6 @@
 #include <testconfigfileparser.h>
 #include <test/testexecuteserverbase.h>
 
-#define DSTDNC_NEWCALL_FULLNAME				_L("DummyNc::PotsNc::")
-
 _LIT8(KWapDgrm1,    "");
 _LIT8(KWapDgrm2,    "Auto on kuin ikääntynyt jalosukuinen englantilainen herrasmies konsanaan. Kun istuu sen juuri oikealla tavalla hieman kuluneella nahkaistuimella ja katselee pähkinänpuun juuresta tehtyä kojelautaa, tuntee olevansa itseänsä paremmassa seurassa. Ajassa, jolloin hienostuneisuudella oli vielä merkitystä. Korin värinä on hillitysti hohteleva Opaslecent Dark Green ja hieman punertavan ruskea nahkasisustus on soinnutettu sävy sävyyn pähkinänjuuresta tehdyn kojelaudan kanssa aina etuistuimen selkänojasta aukeavaa pöytää myöten. 2,4 litraisessa moottorissa on hevosvoimia 120");
 _LIT8(KWapDgrm3,    "1234567890");
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_testwapthdr.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_testwapthdr.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -15,22 +15,13 @@
 // 
 //
 
+#include "TE_testwapthdr.h"
 
 #include "TE_wapthdrbase.h"
-#include "TE_testwapthdr.h"
 #include "smsstackutils.h"
 
-#if defined (__WINS__)
-#define PDD_NAME _L("ECDRV")
-#define LDD_NAME _L("ECOMM")
-#else
-#define PDD_NAME _L("EUART1")
-#define LDD_NAME _L("ECOMM")
-#endif
-
 const TInt KSmsLogBufferSize = 1280;
 
-
 TVerdict CTestParseWapTextMessage::doTestStepL()
 /*
  * implementation of Parse Wap Text Message test case
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_testwapthdr.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_testwapthdr.h	Fri Apr 16 16:12:37 2010 +0300
@@ -18,6 +18,7 @@
 #ifndef _TE_TESTWAPTHDR_H_
 #define _TE_TESTWAPTHDR_H_
 
+#include "TE_wapthdrbase.h"
 
 class CTestParseWapTextMessage : public CWapThdrTestStep
 	{
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdr.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdr.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -14,7 +14,7 @@
 //
 
 TARGET      te_wapthdr.exe
-CAPABILITY ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData
+CAPABILITY ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData PowerMgmt
 TARGETTYPE  exe
 UID             0x1000007A 0x101FBDED
 VENDORID 0x70000001
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdr.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdr.script	Fri Apr 16 16:12:37 2010 +0300
@@ -42,7 +42,6 @@
 //!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code
 //!@SYMTestType CT
 RUN_TEST_STEP 100 TE_wapthdr TestEncodeWapTextMessage
-
 END_TESTCASE SMS-SMSStack-NA-6001
 
 START_TESTCASE SMS-SMSStack-NA-6002
@@ -50,7 +49,7 @@
 //!@SYMREQ REQ0000
 //!@SYMTestCaseDesc Sends a buffer too long for the logger to handle
 //!@SYMTestPriority critical
-//!@SYMTestActions.Send a buffer too long for the logger to handle, therefore causing an overflow.
+//!@SYMTestActions Send a buffer too long for the logger to handle, therefore causing an overflow.
 // Function will panic if overflow handler is not implemented correctly.
 //!@SYMTestExpectedResults Pass - If anthing fails the step will leave with error code
 //!@SYMTestType CT
--- a/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdrbase.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/TE_WAPTHDR/TE_wapthdrbase.h	Fri Apr 16 16:12:37 2010 +0300
@@ -24,13 +24,9 @@
 #include "smsstacklog.h"
 #include "wapthdr.h"
 
-
 #include <testconfigfileparser.h>
 #include <test/testexecuteserverbase.h>
 
-#define DSTDNC_NEWCALL_FULLNAME				_L("DummyNc::PotsNc::")
-
-
 _LIT(KConfigFileDir,"sms");
 _LIT(KConfigFilename,"TE_waphdr.txt");
 // config file section name
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/Config.txt	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/Config.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,5 @@
+[test0]
+
 [test1]
 DiallingPauseDuration= 3
 ConnectingPauseDuration= 1
@@ -121,6 +123,10 @@
 SmsRx= 040C9144775622325100003070700103634091AFD774B864C284381A48583C269D3AEB3028256E5EF2CDCB6D2D4AA7C9A7532773C5362FF9E6E5363A75CA307BF3926F5E6EA74E19666F5EF2CDCBFD941E75D0B07BFA36D3EF617979F3926F5E6E6A92CA2CEA886979794C7FCB372FF9E6E566068545A62E3967A7DD67FADBBD79C9372F77D149D45987412971F3926F5E6E,447765222315
 SmsStartRxDelay= 4207, 1, 1
 
+[test11]
+
+[test12]
+
 [test13]
 DiallingPauseDuration= 3
 ConnectingPauseDuration= 1
@@ -243,7 +249,7 @@
 [test28]
 SmsTx=35000C914477562232510000A7A0AFD774B864C262B0202C060BC260B0192C0612168F49A7CE3A0C328B4E6250BA79B9AD45E934F974EA622ED8E6E516168F49A7CE5AB4169DD4CDCB3D0C528BC7A734599CEA9AC52235E93C6E5EEE293548AD4E75D4A2931AA426ADC5CDCB4DA44EA94129552783C162301A2C4685CD6630184CBB79B989D4A293A893C16031180D16A3C26833180CA6DDBCDC, 447765222315,1, 01A0, 0
 SmsTx=35000C914477562232510000A79FAFD774B864C262B0202C060BC260B0194C069A569BCDA034AB6B96E7F3F039ED3E839AE5323DED3E6F5E6E62713A9426A1D4E4D3A913CAD37477390F0ABBC920657D4E4FBB41F437485EB6A7CB7790BB7C2FCFE920B8FC0D7FCFC36C503B4C2FCBD361F6E6E51E3283D3A90E2A4D5A83D4E2E6E52E3A893A6BD15A7452372F77D149D459874166D1490C4A01, 447765222315,2, 01A0, 0
-SmsTx=35000C914477562232510000A71BAFD774B864C262B0202C060BC260B0196C06DABCE49B971B, 447765222315,2, 01A0, 0
+SmsTx=35000C914477562232510000A71BAFD774B864C262B0202C060BC260B0196C06DABCE49B971B, 447765222315, 3, 01A0, 0
 SmsStartRxDelay= 4207, 3, 3
 #Receive status repors for each
 SmsRx= 06010C91447756223251101120517314801011205183818000, 358405202000
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/TE_WapProt.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/TE_WapProt.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -14,7 +14,8 @@
 //
 
 TARGET          te_wapprot.exe
-CAPABILITY      ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData AllFiles
+CAPABILITY      ReadDeviceData WriteDeviceData NetworkControl NetworkServices ReadUserData WriteUserData ProtServ AllFiles PowerMgmt
+
 TARGETTYPE      exe
 UID             0x1000008d 0x101F7784
 
@@ -26,7 +27,8 @@
 SOURCE		WapStatusReports.cpp
 
 USERINCLUDE   .
-USERINCLUDE   ../../../smsprot/inc
+USERINCLUDE	  ../../../test
+USERINCLUDE	  ../../../smsprot/Inc
 
 MW_LAYER_SYSTEMINCLUDE_SYMBIAN
 
@@ -41,6 +43,7 @@
 LIBRARY		efsrv.lib
 LIBRARY		sbeclient.lib
 LIBRARY		estor.lib
+LIBRARY     smsstacktestutilities.lib
 
 VENDORID 0x70000001
 
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/Te_WapProt.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/Te_WapProt.script	Fri Apr 16 16:12:37 2010 +0300
@@ -17,8 +17,6 @@
 
 ced -i z:\TestData\configs\WapProtSuite\WapProtSuite.cfg ced.log
 
-LOAD_SUITE TE_WapProt
-
 //delete any existing config.txt
 RUN_UTILS  MakeReadWrite c:\config.txt
 RUN_UTILS  DeleteFile c:\config.txt
@@ -27,6 +25,8 @@
 RUN_UTILS copyfile z:\testdata\configs\wapprotsuite\config.txt c:\config.txt
 RUN_UTILS  MakeReadWrite c:\config.txt
 
+LOAD_SUITE TE_WapProt
+
 START_TESTCASE SMS-SMSStack-NA-8000
 //!@SYMTestCaseID SMS-SMSStack-NA-8000
 //!@SYMREQ REQ0000
@@ -707,7 +707,7 @@
 //!@SYMTestCaseDesc Receive a VCard via an enumerate.
 //!@SYMTestActions A VCard is on the SIM and enumerated.
 //!@SYMTestExpectedResults It should be received as a VCard and not as text.
-RUN_TEST_STEP 100 TE_WapProt TestEnumeratingVCard
+RUN_TEST_STEP 100 TE_WapProt TestEnumeratingVCard z:\testdata\configs\WapProtSuite\WapProtSuite.ini EnumeratingVCard
 END_TESTCASE SMS-WAPPROT-0127
 
 START_TESTCASE SMS-WAPPROT-0131
@@ -717,6 +717,5 @@
 //!@SYMTestCaseDesc Attempt to send oversized messages and check that the stack does not panic.
 //!@SYMTestActions Send a messgae bigger than the maximum datagram size and the MBuf maximum size.
 //!@SYMTestExpectedResults The stack should return KErrTooBig.
-RUN_TEST_STEP 100 TE_WapProt TestOversizedDatagram
+RUN_TEST_STEP 100 TE_WapProt TestOversizedDatagram z:\testdata\configs\WapProtSuite\WapProtSuite.ini TestStep1
 END_TESTCASE SMS-WAPPROT-0131
-
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/Te_WapStackOutOfDiskSpace.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/Te_WapStackOutOfDiskSpace.script	Fri Apr 16 16:12:37 2010 +0300
@@ -15,8 +15,6 @@
 
 ced -i z:\TestData\configs\WapProtSuite\WapProtSuite.cfg ced.log
 
-LOAD_SUITE TE_WapProt
-
 //delete any existing config.txt
 RUN_UTILS  MakeReadWrite c:\config.txt
 RUN_UTILS  DeleteFile c:\config.txt
@@ -27,6 +25,8 @@
 
 RUN_UTILS  MkDir c:\sms\
 
+LOAD_SUITE TE_WapProt
+
 START_TESTCASE                 	TEL-WAP-WAPPRT-200
 //! @SYMTestCaseID               TEL-WAP-WAPPRT-200
 //! @SYMTestCaseDesc             Receiving a WAP Datagram inside a class0 SMS message meanwhile NO disk condition exists.
@@ -40,7 +40,6 @@
 //! @SYMCreationDate             7/12/2006
 //! @SYMTestStatus               2. Development
 //! @SYMAuthor                   danieldu
-RUN_TEST_STEP 60 	TE_WapProt 	InitializePhone				z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	TestNumber100
 RUN_TEST_STEP 60 	TE_WapProt 	SetDiskMonitorLimits		z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	DiskMonitorLimits
 RUN_TEST_STEP 120	TE_WapProt 	SetDiskSpace	 			z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60 	TE_WapProt 	ReceiveWapMessage			z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	TestNumber100
@@ -60,7 +59,6 @@
 //! @SYMCreationDate             7/12/2006
 //! @SYMTestStatus               2. Development
 //! @SYMAuthor                   danieldu
-RUN_TEST_STEP 60 	TE_WapProt 	InitializePhone				z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	TestNumber101
 RUN_TEST_STEP 60 	TE_WapProt 	SetDiskMonitorLimits		z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	DiskMonitorLimits
 RUN_TEST_STEP 120	TE_WapProt 	SetDiskSpace	 			z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60 	TE_WapProt 	ReceiveWapMessage			z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	TestNumber101
@@ -81,7 +79,6 @@
 //! @SYMCreationDate             7/12/2006
 //! @SYMTestStatus               2. Development
 //! @SYMAuthor                   danieldu
-RUN_TEST_STEP 60 	TE_WapProt 	InitializePhone				z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	TestNumber102
 RUN_TEST_STEP 60 	TE_WapProt 	SetDiskMonitorLimits		z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	DiskMonitorLimits
 RUN_TEST_STEP 120	TE_WapProt 	SetDiskSpace	 			z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	DiskSpaceBelowLowLimit
 RUN_TEST_STEP 60 	TE_WapProt 	ReceiveWapMessage			z:\testdata\configs\WapProtSuite\WAPStackOutOfDiskSpace.ini	TestNumber102
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapIoctlSteps.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapIoctlSteps.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,1000 +16,318 @@
 //
 
 /**
- @file
+	@file
+	@test
 */
 
-
 #include "WapIoctlSteps.h"
-#include "WapProtSuiteDefs.h"
-#include <etel.h>
-#include <es_wsms.h>
+
 #include <simtsy.h>
-#include <sacls.h>
-#include <s32mem.h>
 #include <smspver.h>
+#include <wap_sock.h>
 
+#include "smsstacktestconsts.h"
+#include "WapProtSuiteDefs.h"
 
 TVerdict CIoctlStep_1::doTestStepL()
 /**
  *  Test step one:
  *  Sends/receives a 7Bit business card using IOCTL
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 1: send/receive 7-Bit business card"));
-
-	TPtrC TestData1;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber=1;
-	
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
+    // Configure and bind to a socket
+	SetupWapSocketL();
 
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
+	//	Send a business card
+	TPtrC testData = GetStringFromConfigL(KTestData1);
 
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
-	//	Send a business card
-	//
-	TRequestStatus  status;
-	
-	TBuf8<200> data;
-	data.Copy(TestData1);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	SendWapMessage(testData);
 
-	//
-	//	Get the size of the first incomming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed"));
-
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> recvBuf(length);
-	
-	TEST(length()==data.Length());
+    //  Receive the business card
+	ReceiveWapMessage(testData);
 	
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-	TEST(recvBuf.Compare(data) == 0);
-	
-	//
-	//	Closing the socket
-	//
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_2::doTestStepL()
 /** 
  *	Test step two: 
  *	Sends/receives a 7-Bit calendar entry and VCard using IOCTL(two segments each)
  *	@return - TVerdict code
- * 
  */
 	{
-
 	INFO_PRINTF1(_L("IOCTL Test step 2: send/receive a VCal and VCard"));
-
-	TPtrC TestData1;
-	TPtrC TestData2;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 2;
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KTestData2, TestData2) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port)
-		)
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-		
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used 
-	//  for test (not required for SIM Tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
+    // Configure and bind to a socket
+    SetupWapSocketL();
 	
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 	
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-	
+	//	Issue Ioctl for getting the length of the message
 	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
 	TPckgBuf<TInt> length;
-	
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-	
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for first VCal entry"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+	INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the first message (VCal)..."));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
-	
-	TBuf8<300> data;
-	
-	//
-	//	Send a calendar entry  
-	//	
-	TRequestStatus  status;
+    TPtrC testData1 = GetStringFromConfigL(KTestData1);
+    TPtrC testData2 = GetStringFromConfigL(KTestData2);
+    
+    //  Send a VCal entry
+    SendWapMessage(testData1);
 
-	data.Copy(TestData1);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("First Message (VCal) sent..."));
+	//	Send a VCard entry with extended GSM alphabets
+    SendWapMessage(testData2);
 
-	//	Send a VCard entry 	
-	data.Copy(TestData2);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Second message (VCard with extended GSM alphabets) sent..."));
-	
-	//
-	//	Get the size of the first incomming message
-	//
+    //	Get the size of the first incoming message
 	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed"));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<300> recvBuf;
-	TEST(length()==TestData1.Length());
-	
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the first message (VCal)..."));
-	
-	//	Compare the received VCal message with the original one.
-	//	They should be identical
-	data.Copy(TestData1);	
-	if (recvBuf.Compare(data) != 0)
-		{
-		ERR_PRINTF1(_L("VCal message received does not match with original message."));
-		TEST(recvBuf.Compare(data) == 0);
-		}		
+	TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+	TESTCHECK(length(), testData1.Length(), "Check if reported length is correct");
 	
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of first message (VCal)"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-	
-	
-	//Issue Ioctl for getting the length of the second message	
-	INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for second VCard entry"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	
-	//Get the size of the second incomming message
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed for second message (VCard)"));
-	
-	//Check if reported length is correct	
-	TEST(length()==TestData2.Length());
-	
-	//Receiving a datagram (VCard)
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the second message (VCard)..."));
-	
-	//	Compare the received VCard message with the original one
-	//	They should be identical
-	data.Copy(TestData2);	
-	if (recvBuf.Compare(data) != 0)
-		{
-		ERR_PRINTF1(_L("VCard message received does not match with original message."));
-		TEST(recvBuf.Compare(data) == 0);
-		}
-		
-	//Confirm the receipt of the message to the client	
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-	CleanupStack::Pop(&socketServer);
+    // Receive the VCal message
+    ReceiveWapMessageFromSocket(length(), testData1);
 
-	return TestStepResult();
+    // Receive the VCard message
+    ReceiveWapMessage(testData2);
+    
+	iSocket.Close();
+    return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_3::doTestStepL()
 /**
  *  Test step 3:
  *  send/receive one 7-Bit two segments message and one 7-Bit one segment message
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 3: send/receive two 7-Bit messages"));
-
-	TPtrC TestData1;
-	TPtrC TestData2;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 3;
-
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KTestData2, TestData2) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-	OpenSocketLC(socketServer, sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
+	//	Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+    
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the first message..."));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Send a calendar entry
-	//
-	TRequestStatus  status;
+    TPtrC testData1 = GetStringFromConfigL(KTestData1);
+    TPtrC testData2 = GetStringFromConfigL(KTestData2);
+    
+    //  Send a business card
+    SendWapMessage(testData2);
 
-	TBuf8<300> data2;
-	data2.Copy(TestData2);
-	sock.SendTo(data2, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("First message sent..."));
-
-	//
-	//	Send a business card
-	//
-	TBuf8<200> data1;
-	data1.Copy(TestData1);
-	sock.SendTo(data1, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Second message sent..."));
-	//
-	//	Get the size of the first incomming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	TBuf8<256> recvBuf2(length);
-
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the first message..."));
-	TEST(recvBuf2.Compare(data2) == 0);
+    //  Send a business card
+    SendWapMessage(testData1);
 
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-	//
-	//	Issue Ioctl for getting the length of the second message
-	//
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	INFO_PRINTF1(_L("Issue of the 2nd IOCTL for GetLength"));
-
-	//
-	//	Get the size of the SECOND incomming message
-	//
+	//	Get the size of the first incoming message
 	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed"));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> recvBuf1(length);
-	TEST(length()==data1.Length());
+	TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+	TESTCHECK(length(), testData2.Length(), "Check if reported length is correct");
+	    
+	//	Receive the first message
+    ReceiveWapMessageFromSocket(length(), testData2);
 
-	//
-	//	Receiving the second message
-	//
-	sock.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Receievd the second datagram"));
-	TEST(recvBuf1.Compare(data1) == 0);
-
-	//
-	//	Confirm the receipt of the second message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of the second message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	//	Receive the second message
+    ReceiveWapMessage(testData1);
+    
+    iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_4::doTestStepL()
 /**
- *  
  *  Test step 4:
  *  simulating client crash conditions with 7bit message
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 4: client crash condition 7-Bit message "));
-
-	TPtrC TestData;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber =4;
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
+	//	Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+    
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the first message..."));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
+	//	Send a business card
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
 
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
-  
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
+    //  Get the size of the first incoming message
+	User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+    TESTCHECK(length(), testData.Length(), "Check if reported length is correct");
+	
+	//	Receive a message
+    TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    HBufC8* recvBuf = HBufC8::NewLC(length());
+    TPtr8 recvPtr = recvBuf->Des(); 
+    
+	iSocket.RecvFrom(recvPtr, recvWapAddr, 0, recvStatus);
+	User::WaitForRequest(recvStatus);
+    TESTCHECKL(recvStatus.Int(), KErrNone, "Receiving a message");
+	
+	// Simulate a crash by closing and reopening the socket
+	iSocket.Close();
+	INFO_PRINTF1(_L("Socket was closed..."));
+	
+	OpenSocketL(iSocketServer, iSocket);
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
 	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
+	User::LeaveIfError(iSocket.Bind(iWapAddr));
+	INFO_PRINTF1(_L("Socket was opened..."));
+	
+	// Issue another get length of datagram as if not aware of the previous message
+	// and retrieve the message from the SAR store
+    ReceiveWapMessage(testData);
+	
+	iSocket.Close();
+    CleanupStack::PopAndDestroy(recvBuf);
+    return TestStepResult();
+	}
 
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Send a business card
-	//
-	TRequestStatus  status;
+TVerdict CIoctlStep_5::doTestStepL()
+/**
+ *  Test step 5:
+ *  simulating client crash conditions with 8bit push message
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 5: client crash condition with 8Bit push message"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+ 
+    //  Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+    
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the first message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
-	TBuf8<200> data;
-	data.Copy(TestData);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
-	//
-	//	Get the size of the incomming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> recvBuf(length);
-	TEST(length()==data.Length());
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
 
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	//
-	//	Close socket
-	//
-	sock.Close();
-	INFO_PRINTF1(_L("Socket was closed..."));
-	//
-	//	Open the socket
-	//
-	OpenSocketL(socketServer, sock);
- 	INFO_PRINTF1(_L("Socket was opened..."));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.Bind(wapAddr));
-	//
+    //  Receive a message
+    TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    HBufC8* recvBuf = HBufC8::NewLC(length());
+    TPtr8 recvPtr = recvBuf->Des(); 
+    
+    iSocket.RecvFrom(recvPtr, recvWapAddr, 0, recvStatus);
+    User::WaitForRequest(recvStatus);
+    TESTCHECKL(recvStatus.Int(), KErrNone, "Receiving a message");
+	
+    // Simulate a crash by closing and reopening the socket
+    iSocket.Close();
+    INFO_PRINTF1(_L("Socket was closed..."));
+    
+    OpenSocketL(iSocketServer, iSocket);
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
+    INFO_PRINTF1(_L("Socket set option for indicating new client"));
+    User::LeaveIfError(iSocket.Bind(iWapAddr));
+    INFO_PRINTF1(_L("Socket was opened..."));
+	
 	//	Issue another get length of datagram as if not aware of the previous message
-	//
 	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	//
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	
 	//	waiting for request to be completed
-	//
 	User::WaitForRequest(ioctlStatus);
 	User::LeaveIfError(ioctlStatus.Int());
 	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> newRecvBuf(length);
-	TEST(length()==data.Length());
-
-	//
+	
 	//	New message retrieved from SAR store
-	//
-	sock.RecvFrom(newRecvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	TEST(newRecvBuf.Compare(data) == 0);
-
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
-	return TestStepResult();
-	}
-
-
-TVerdict CIoctlStep_5::doTestStepL()
-/**
- *  
- *  Test step 5:
- *  simulating client crash conditions with 8bit push message
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 5: client crash condition with 8Bit push message"));
-
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber= 5;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Get the size of the incomming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed..."));
-
-	TBuf8<256> recvBuf(length);
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	//
-	//	Close socket
-	//
-	sock.Close();
-	INFO_PRINTF1(_L("Socket was closed..."));
-	//
-	//	Open the socket
-	//
-	OpenSocketL(socketServer, sock);
- 	INFO_PRINTF1(_L("Socket was opened..."));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.Bind(wapAddr));
-	//
-	//	Issue another get length of datagram as if not aware of the previous message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	//
-	//	waiting for request to be completed
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Allocate buffer
-	//
-	TBuf8<256> newRecvBuf(length);
-
-	//
-	//	New message retrieved from SAR store
-	//
-	sock.RecvFrom(newRecvBuf,recvWapAddr,0,recvStatus);
+    HBufC8* recvBuf2 = HBufC8::NewLC(length());
+    TPtr8 recvPtr2 = recvBuf2->Des(); 
+	   
+	iSocket.RecvFrom(recvPtr2,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
 	User::LeaveIfError(recvStatus.Int());
 	INFO_PRINTF1(_L("Received the message..."));
 
-	//
 	//	Confirm the receipt of the message to the client
-	//
 	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
 
-	//
 	//	Compare the received message with the previous one
 	//	They should be identical
-	//
-	TEST(newRecvBuf.Compare(recvBuf) == 0);
+	TEST(recvPtr2.Compare(recvPtr) == 0);
 
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
+    CleanupStack::PopAndDestroy(2, recvBuf); // recvBuf, recvBuf2
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_6::doTestStepL()
 /**
  *  Test step 6:
  *  Sends/receives a business card (Old client testing)
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 6: send/receive a VCard (Old client testing)"));
-
-	TPtrC TestData1;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 6;
-
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
+	// Configure and bind to a socket, do not set the "new style client" option 
+	SetupWapSocketL(iSocket, iWapAddr, KWapPort, EFalse);
 
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
+	//	Send a calendar entry
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
 
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
+	//	Receiving a datagram
 	TRequestStatus recvStatus;
-
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
-	//	Send a calendar entry
-	//
-	TRequestStatus  status;
-
-	TBuf8<200> data;
-	data.Copy(TestData1);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
-
-	//
-	//	Receiving a datagram
-	//
+	TWapAddr recvWapAddr;
 	TBuf8<256> recvBuf;
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
+	
+    INFO_PRINTF1(_L("Receiving a message from the socket..."));
+	iSocket.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+    TESTCHECKL(recvStatus.Int(), KErrNone, "Receiving a message");
+	
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_7::doTestStepL()
 /**
  *  Test step 7:
  *  Receives a Push Message (8-Bit)
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 7: Receive push message(8-Bit)"));
-
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 7;
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-	OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
 	//
 	//	Issue Ioctl for getting the length of the message
-	//
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+
 	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	
 	//
 	//	Get the size of the incomming push message
 	//
 	User::WaitForRequest(ioctlStatus);
 	User::LeaveIfError(ioctlStatus.Int());
 	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Allocate buffer
-	//
-	TBuf8<256> recvBuf2(length);
 
 	//
 	//	Receiving push datagram
 	//
-	sock.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
+	TRequestStatus recvStatus;
+	TWapAddr recvWapAddr;
+    TBuf8<256> recvBuf2(length);
+    
+    iSocket.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
 	User::LeaveIfError(recvStatus.Int());
 	INFO_PRINTF1(_L("Received the push message..."));
@@ -1018,109 +336,46 @@
 	//	Confirm the receipt of the message to the client
 	//
 	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
 
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_8::doTestStepL()
 /**
  *  Test step 8:
  *  Receives two Push Messages (8-Bit) Tests store of 8-Bit messages
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 8: Receive two push message(8-Bit)"));
-
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber=8;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
 	//
 	//	Issue Ioctl for getting the length of the message
 	//
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+    
 	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 	//
 	//	Get the size of the incomming push message
 	//
 	User::WaitForRequest(ioctlStatus);
 	User::LeaveIfError(ioctlStatus.Int());
 	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Allocate buffer
-	//
-	TBuf8<256> recvBuf1(length);
 
 	//
 	//	Receiving push datagram
 	//
-	sock.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
+    TRequestStatus recvStatus;
+	TWapAddr recvWapAddr;
+	TBuf8<256> recvBuf1(length);
+
+	iSocket.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
 	User::LeaveIfError(recvStatus.Int());
 	INFO_PRINTF1(_L("Received the push message..."));
@@ -1129,13 +384,13 @@
 	//	Confirm the receipt of the message to the client
 	//
 	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
 
 	//
 	//	Issue another Ioctl for getting the length of the message
 	//
 	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 	//
 	//	Get the size of the second incomming push message
 	//
@@ -1150,7 +405,7 @@
 	//
 	//	Receiving push datagram
 	//
-	sock.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
+	iSocket.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
 	User::LeaveIfError(recvStatus.Int());
 	INFO_PRINTF1(_L("Received the second push message..."));
@@ -1164,788 +419,224 @@
 	//	Confirm the receipt of the message to the client
 	//
 	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
 
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_9::doTestStepL()
 /**
  *  Test step 9:
  *  Receive a 8-Bit push message (Old client testing)
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 9: receive a push message (Testing old client)"));
-
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 9;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus recvStatus;
-
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
+	// Configure and bind to a socket, do not set the "new style client" option 
+    SetupWapSocketL(iSocket, iWapAddr, KWapPort, EFalse);
 
 	//
 	//	Receiving a datagram
 	//
+	TRequestStatus recvStatus;
+	TWapAddr recvWapAddr;
 	TBuf8<256> recvBuf;
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
+	
+	iSocket.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
 	User::LeaveIfError(recvStatus.Int());
 	INFO_PRINTF1(_L("Received the message..."));
 
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_10::doTestStepL()
 /**
  *  Test step Ten:
  *  Sends/receives a 7Bit business card using IOCTL
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 10: send/receive 7-Bit business card using IOCTL"));
-
-	TPtrC TestData1;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber=10;
-
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
+    // Configure and bind to a socket
+    SetupWapSocketL();
+  
+	//	Send a calendar entry
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
 
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
-	//	Send a calendar entry
-	//
-	TRequestStatus  status;
-
-	TBuf8<200> data;
-	data.Copy(TestData1);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	ReceiveWapMessage(testData);
 
-	//
-	//	Get the size of the first incomming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed"));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> recvBuf(length);
-	TEST(length()==data.Length());
-
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	TEST(recvBuf.Compare(data) == 0);
-
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-	CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
-
 TVerdict CIoctlStep_11::doTestStepL()
 /**
  *  Test step 11:
  *  Test Cancel IOCTL
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 11: Testing CancelIOCTL"));
-
-	TPtrC16 TelNumber;
-	TInt port=226;
-
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
+	//	Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
 
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
+	INFO_PRINTF1(_L("Issue of IOCTL for GetLength"));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
 	//	Issue Cancel Ioctl
-	//
 	INFO_PRINTF1(_L("Issue of cancel IOCTL for GetLength"));
-	sock.CancelIoctl();
+	iSocket.CancelIoctl();
+	TESTCHECK(ioctlStatus.Int(), KErrCancel, "Check if the outstanding IOCTL has been canceled");
 
-	//
-	//	Check if the outstanding IOCTL has been canceled
-	//
-	TEST(ioctlStatus==KErrCancel);
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_12::doTestStepL()
 /**
  *  Test step 12:
  *  Test issue IOCTL without SetOption NewStyleClient
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 12: Test issue IOCTL without SetOption NewStyleClient"));
-
-	TPtrC16 TelNumber;
-	TInt port=226;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
+    // Configure and bind to a socket, do not set the "new style client" option 
+    SetupWapSocketL(iSocket, iWapAddr, KWapPort, EFalse);
+    
+	//	Issue Ioctl for getting the length of the message (should fail)
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
 
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-
-	TPckgBuf<TInt> length;
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+    TESTCHECKCONDITION(ioctlStatus.Int()!=KErrNone, "Getting the length of the incoming message");
 
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
-	//	Issue Ioctl for getting the length of the message (should fail)
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	User::WaitForRequest(ioctlStatus);
-	TEST(ioctlStatus!=KErrNone);
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
-
 TVerdict CIoctlStep_13::doTestStepL()
 /**
  *  Test step two:
  *  Sends/receives a 8-Bit calendar entry using IOCTL(two segments)
  *  @return - TVerdict code
- *  
  */
 	{
-
 	INFO_PRINTF1(_L("IOCTL Test step 13: send/receive a 8-Bit VCal"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	TPtrC TestData;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 13;
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS));
 
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM Tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
+	//	Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+    
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
+	//	Send a calendar entry
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
+    
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the incoming message");
+    TESTCHECK(length(), testData.Length(), "Check if reported length is correct");
+    
+    ReceiveWapMessageFromSocket(length(), testData);
+    
+	iSocket.Close();
+	return TestStepResult();
+	}
 
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS));
-
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
+TVerdict CIoctlStep_14::doTestStepL()
+/**
+ *  Test step 14:
+ *  simulating client crash conditions with 8bit calendar entry
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 14: client crash condition 8-Bit calendar entry "));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+    
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS));
 
 	//
 	//	Issue Ioctl for getting the length of the message
 	//
-	INFO_PRINTF1(_L("Issue of the IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Send a calendar entry
-	//
-	TRequestStatus  status;
-
-	TBuf8<300> data;
-	data.Copy(TestData);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
-
-	//
-	//	Get the size of the incomming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed"));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<300> recvBuf(length);
-	TEST(length()==data.Length());
-
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	TEST(recvBuf.Compare(data) == 0);
-
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-    CleanupStack::PopAndDestroy(&sock);
-	CleanupStack::Pop(&socketServer);
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+    
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
-	return TestStepResult();
-	}
-
-
-TVerdict CIoctlStep_14::doTestStepL()
-/**
- *  
- *  Test step 14:
- *  simulating client crash conditions with 8bit calendar entry
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 14: client crash condition 8-Bit calendar entry "));
-
-	TPtrC TestData;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber =14;
-
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
+	//	Send a Calendar entry
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
 
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS));
-
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Send a Calendar entry
-	//
-	TRequestStatus  status;
-
-	TBuf8<300> data;
-	data.Copy(TestData);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
-	//
-	//	Get the size of the incomming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<300> recvBuf(length);
-	TEST(length()==data.Length());
-
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	//
-	//	Close socket
-	//
-	sock.Close();
-	INFO_PRINTF1(_L("Socket was closed..."));
-	//
-	//	Open the socket
-	//
-	OpenSocketL(socketServer, sock);
-	INFO_PRINTF1(_L("Socket was opened..."));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.Bind(wapAddr));
-	//
-	//	Issue another get length of datagram as if not aware of the previous message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	//
-	//	waiting for request to be completed
-	//
-	User::WaitForRequest(ioctlStatus);
-	User::LeaveIfError(ioctlStatus.Int());
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<300> newRecvBuf(length);
-	TEST(length()==data.Length());
-
-	//
-	//	New message retrieved from SAR store
-	//
-	sock.RecvFrom(newRecvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	User::LeaveIfError(recvStatus.Int());
-	INFO_PRINTF1(_L("Received the message..."));
-	TEST(newRecvBuf.Compare(data) == 0);
-
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
-	return TestStepResult();
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the incoming message");
+    TESTCHECK(length(), testData.Length(), "Check if reported length is correct");
+    
+    //  Receive a message
+    TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    HBufC8* recvBuf = HBufC8::NewLC(length());
+    TPtr8 recvPtr = recvBuf->Des(); 
+    
+    iSocket.RecvFrom(recvPtr, recvWapAddr, 0, recvStatus);
+    User::WaitForRequest(recvStatus);
+    TESTCHECKL(recvStatus.Int(), KErrNone, "Receiving a message");
+    
+    // Simulate a crash by closing and reopening the socket
+    iSocket.Close();
+    INFO_PRINTF1(_L("Socket was closed..."));
+    
+    OpenSocketL(iSocketServer, iSocket);
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
+    INFO_PRINTF1(_L("Socket set option for indicating new client"));
+    User::LeaveIfError(iSocket.Bind(iWapAddr));
+    INFO_PRINTF1(_L("Socket was opened..."));
+    
+    // Issue another get length of datagram as if not aware of the previous message
+    // and retrieve the message from the SAR store
+    ReceiveWapMessage(testData);
+    
+    iSocket.Close();
+    CleanupStack::PopAndDestroy(recvBuf);
+    return TestStepResult();
 	}
 
-
 TVerdict CIoctlStep_15::doTestStepL()
 /**
  *  Test step fifteen:
  *  Receives a 7Bit v-card using IOCTL with concatenation for new style client
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 15: send/receive 7-Bit v-card"));
-
-	TPtrC16 TelNumber;
-	TInt port=9204;
-	TInt testNumber=15;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-	//
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
+    // Configure and bind to a socket
+    SetupWapSocketL();
+    
+    //
 	//	Issue Ioctl for getting the length of the message
 	//
-	INFO_PRINTF1(_L("Issue of IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+
+    INFO_PRINTF1(_L("Issue of IOCTL for GetLength"));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
 	//
 	//	Get the size of the first incoming message
@@ -1954,12 +645,14 @@
 	User::LeaveIfError(ioctlStatus.Int());
 	INFO_PRINTF1(_L("IOCTL completed"));
 
-	TBuf8<360> recvBuf(length);
-
 	//
 	//	Receiving a datagram that is 7bit with a concatenated length of > 160 characters
 	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
+    TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    TBuf8<360> recvBuf(length);
+
+    iSocket.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
 	User::LeaveIfError(recvStatus.Int());
 	INFO_PRINTF1(_L("Received the message..."));
@@ -1968,40 +661,30 @@
 	//	Confirm the receipt of the message to the client
 	//
 	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
 
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-	socketServer.Close();
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::Pop(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
-
 TInt CBackupRestoreStep::SendWapL()
 	{
 	//modified from test 10
 	INFO_PRINTF1(_L("SendWapL: send 7-Bit business card using IOCTL"));
 
 	TInt ret = KErrNone;
-	TPtrC TestData1;
+
 	TPtrC16 TelNumber;
 	TInt port=226;
 
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
+	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
 	   !GetIntFromConfig(ConfigSection(),KWapPort,port)
 		)
 		{
 		// Leave if there's any error.
 		User::Leave(KErrNotFound);
 		}
-
-
+	
 	//
 	//	Setting the port number and service center number of the wap address
 	//	The service center number should be the same as the sim phone number used
@@ -2015,8 +698,6 @@
 	TPtrC8 scAddr(scNumber);
 	wapAddr.SetWapAddress(scAddr);
 
-
-
 	//
 	//	Define and open the socket
 	//
@@ -2034,11 +715,6 @@
 		}
 	CleanupClosePushL(sock);
 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
 	TRequestStatus status;
 
 	//
@@ -2050,12 +726,16 @@
 	//	Bind
 	//
 	User::LeaveIfError(sock.Bind(wapAddr));
+	
+    TTimeIntervalMicroSeconds32 InitPause=9000000;  //Pause to Allow SMSStack to Complete its Async Init
+    User::After(InitPause);                         //call to the TSY and finish its StartUp.
 
 	//
 	//	Send a calendar entry
 	//
+    TPtrC testData = GetStringFromConfigL(KTestData1);
 	TBuf8<200> data;
-	data.Copy(TestData1);
+	data.Copy(testData);
 	sock.SendTo(data, wapAddr, 0, status);
 	User::WaitForRequest(status);
 	ret = status.Int();
@@ -2069,15 +749,7 @@
 		INFO_PRINTF2(_L("Message NOT sent (error %d)..."), ret);
 		}
 
-
-	//
-	//	Closing the socket
-	//
-	sock.Close();
-
 	CleanupStack::PopAndDestroy(&sock);
-
-
 	return ret;
 	}
 
@@ -2132,35 +804,16 @@
 
 TVerdict CBackupRestoreStep::doTestStepL()
 /**
- *  
  *  Test step 16:
  *  simulating backup and restore
  *  @return - TVerdict code
- *  
  */
 	{
-	TInt testNumber =16;
-	RProperty testNumberProperty;
-
-	User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
-	CleanupClosePushL(testNumberProperty);
-
-	TRequestStatus status;
-	testNumberProperty.Subscribe(status);
-	User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,testNumber));
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	TInt testNumberCheck;
-	User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
-	if (testNumber != testNumberCheck)
-		User::Leave(KErrNotFound);
-
-	//
-	//	Connect to socket server
-	//
- 	User::LeaveIfError(iSocketServer.Connect());
-
-	INFO_PRINTF1(_L("IOCTL Test step 16: send 7-Bit business card using IOCTL to test backup and restore"));
+    INFO_PRINTF1(_L("IOCTL Test step 16: send 7-Bit business card using IOCTL to test backup and restore"));
+    CSBEClient*  secureBackupEngine = CSBEClient::NewL();
+    CleanupStack::PushL(secureBackupEngine);
+    secureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+                                     EBURNormal, ENoBackup);
 
 	INFO_PRINTF1(_L("Expecting SendWapL to succeed and the wap data file to be open"));
 	TEST(SendWapL() == KErrNone);
@@ -2169,7 +822,7 @@
 	// Notify the WAPPROT server that a backup is about to take place and
 	// that the server should close the wapstor
 	INFO_PRINTF1(_L("Simulating a backup notification"));
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+	secureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
 									 EBURBackupFull, EBackupBase);
 
 	INFO_PRINTF1(_L("Expecting SendWapL to fail and the wap data file to be closed"));
@@ -2179,7 +832,7 @@
 	// Notify the WAPPROT server that a backup has completed
 	// that the server should open the wapstor
 	INFO_PRINTF1(_L("Simulating a backup complete notification"));
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+	secureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
 									 EBURNormal, ENoBackup);
 
 	INFO_PRINTF1(_L("Expecting SendWapL to succeed and the wap data file to be open"));
@@ -2189,7 +842,7 @@
 	// Notify the WAPPROT server that a restore is about to take place and
 	// that the server should close the wapstor
 	INFO_PRINTF1(_L("Simulating a restore notification"));
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+	secureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
 									 EBURRestorePartial, EBackupIncrement);
 
 	INFO_PRINTF1(_L("Expecting SendWapL to fail and the wap data file to be closed"));
@@ -2199,17 +852,14 @@
 	// Notify the WAPPROT server that a restore has completed
 	// that the server should open the wapstor
 	INFO_PRINTF1(_L("Simulating a restore complete notification"));
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
+	secureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
 									 EBURNormal, ENoBackup);
 
 	INFO_PRINTF1(_L("Expecting SendWapL to succeed and the wap data file to be open"));
 	TEST(SendWapL() == KErrNone);
 	TEST(IsWapFileOpenL() != EFalse);
-
-	INFO_PRINTF1(_L("Closing SocketServer ..."));
-	iSocketServer.Close();
 	
-	CleanupStack::PopAndDestroy(&testNumberProperty);
+    CleanupStack::PopAndDestroy(secureBackupEngine); // testNumberProperty, secureBackupEngine
 	return TestStepResult();
 	}
 	
@@ -2218,28 +868,581 @@
  *  Test step seventeen:
  *  Sends a 7_Bit business card. Using IOCTL query SMS transport parameters
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("IOCTL Test step 17: send 7-Bit v-card and query SMS transport parameters"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	TInt result = KErrNone;
-	TPtrC TestData1;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber=1;
+	//	Send a business card
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
+
+	// Create a descriptor with correct size for obtaining the message parameter
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the message parameter and check
+    TPtrC8 scAddr = iWapAddr.WapAddress(); 
+        
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	iSocket.Close();
+	CleanupStack::PopAndDestroy(parameterStore);
+	return TestStepResult();
+	}
+	
+TVerdict CIoctlStep_18::doTestStepL()
+/**
+ *  Test step eighteen:
+ *  Sends a 7-Bit calendar entry (two segments). Using IOCTL query SMS transport parameters.
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 18: Sends a 7-Bit calendar entry (two segments). Using IOCTL query SMS transport parameters."));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+
+	//	Send a calendar entry
+	TPtrC testData = GetStringFromConfigL(KTestData1);
+	SendWapMessage(testData);
+	
+	// Create a descriptor with correct size for obtaining the message parameter
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the message parameter and check
+    TPtrC8 scAddr = iWapAddr.WapAddress(); 
+    
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	iSocket.Close();
+	CleanupStack::PopAndDestroy(parameterStore);
+	return TestStepResult();
+	}
+	
+TVerdict CIoctlStep_19::doTestStepL()
+/**
+ *  Test step 19:
+ *  send/receive one 7-Bit two segments message and one 7-Bit one segment message
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 19: send/receive two 7-Bit messages"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+    
+	//
+	//	Issue Ioctl for getting the length of the message
+	//
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the first message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+    TPtrC testData1 = GetStringFromConfigL(KTestData1);
+    TPtrC testData2 = GetStringFromConfigL(KTestData2);
+
+    //	Send a calendar entry
+	SendWapMessage(testData2);
+    
+	//	Send a business card
+	SendWapMessage(testData1);
+	
+    //  Get the size of the first incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+	
+	// Get the first message parameter value
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	    
+    INFO_PRINTF1(_L("Getting parameter value of first message..."));
+    GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the first message parameter and check
+    TPtrC8 scAddr = iWapAddr.WapAddress(); 
+    
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore);
+	
+	//	Receiving a datagram
+    TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    TBuf8<256> recvBuf2(length);
+    
+    iSocket.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
+	User::WaitForRequest(recvStatus);
+	TESTL(recvStatus.Int()==KErrNone);
+	INFO_PRINTF1(_L("Received the first message..."));
+
+	//	Confirm the receipt of the message to the client
+	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
+	TESTL(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
+
+	INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the second message..."));
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+	//	Get the size of the SECOND incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+    TESTCHECK(length(), testData1.Length(), "Check if reported length is correct");
+
+	// Create a descriptor with correct size for obtaining the second message parameter
+	HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr2 = parameterStore2->Des();
+	
+	// Get the second message parameter value
+    INFO_PRINTF1(_L("Getting parameter value of second message..."));
+	GetMessageParameterL(iSocket, parameterStorePtr2);
+	
+	// Internalise the second message parameter and check
+	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore2);
+	
+	//	Receiving the second message
+	ReceiveWapMessageFromSocket(length(), testData1);
+	
+	iSocket.Close();
+	return TestStepResult();
+	}
+	
+TVerdict CIoctlStep_20::doTestStepL()
+/**
+ *  Test step 20:
+ *  simulating client crash conditions with 7bit message
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 20: client crash condition 7-Bit message "));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+
+	//	Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+	//	Send a business card
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
+	
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+    TESTCHECK(length(), testData.Length(), "Check if reported length is correct");
+    
+	// Create a descriptor with correct size for obtaining the message parameter
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the message parameter and check
+	TPtrC8 scAddr = iWapAddr.WapAddress(); 
+
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore);
+
+    //  Receive a message
+    TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    HBufC8* recvBuf = HBufC8::NewLC(length());
+    TPtr8 recvPtr = recvBuf->Des(); 
+    
+    iSocket.RecvFrom(recvPtr, recvWapAddr, 0, recvStatus);
+    User::WaitForRequest(recvStatus);
+    TESTCHECKL(recvStatus.Int(), KErrNone, "Receiving a message");
+    
+    // Simulate a crash by closing and reopening the socket
+    iSocket.Close();
+    INFO_PRINTF1(_L("Socket was closed..."));
+    
+    OpenSocketL(iSocketServer, iSocket);
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
+    INFO_PRINTF1(_L("Socket set option for indicating new client"));
+    User::LeaveIfError(iSocket.Bind(iWapAddr));
+    INFO_PRINTF1(_L("Socket was opened..."));
+		
+	//	Issue another get length of datagram as if not aware of the previous message
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+    TESTCHECK(length(), testData.Length(), "Check if reported length is correct");
+	
+	// Recreate a descriptor with correct size for obtaining the message parameter
+	HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr2 = parameterStore2->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr2);
+	
+	// Internalise the message parameter and check
+	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore2);
+
+	//	New message retrieved from SAR store
+	ReceiveWapMessageFromSocket(length(), testData);
+
+	iSocket.Close();
+    CleanupStack::PopAndDestroy(recvBuf);
+	return TestStepResult();
+	}
+	
+TVerdict CIoctlStep_21::doTestStepL()
+/**
+ *  Test step 21:
+ *  simulating client crash conditions with 8bit push message
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 21: client crash condition with 8Bit push message"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+
+    //  Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+
+	// Create a descriptor with correct size for obtaining the message parameter
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the message parameter and check
+    TPtrC8 scAddr = iWapAddr.WapAddress(); 
+	
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore);
+	
+	//	Receiving a datagram
+    TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    TBuf8<256> recvBuf(length);
+    
+    iSocket.RecvFrom(recvBuf, recvWapAddr, 0, recvStatus);
+	User::WaitForRequest(recvStatus);
+	TESTL(recvStatus.Int()==KErrNone);
+	INFO_PRINTF1(_L("Received the message..."));
+	
+	// Simulate a crash by closing and reopening the socket
+	iSocket.Close();
+	INFO_PRINTF1(_L("Socket was closed..."));
 
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result = KErrNotFound;
-		}
+	OpenSocketL(iSocketServer, iSocket);
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
+	INFO_PRINTF1(_L("Socket set option for indicating new client"));
+	User::LeaveIfError(iSocket.Bind(iWapAddr));
+	INFO_PRINTF1(_L("Socket was opened..."));
+	
+	//	Issue another get length of datagram as if not aware of the previous message
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+	
+	// Recreate a descriptor with correct size for obtaining the message parameter
+    HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr2 = parameterStore2->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr2);
+	
+	// Internalise the message parameter and check
+	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore2);
+	
+	//	New message retrieved from SAR store
+	TBuf8<256> newRecvBuf(length);
+    iSocket.RecvFrom(newRecvBuf,recvWapAddr,0,recvStatus);
+	User::WaitForRequest(recvStatus);
+	TESTL(recvStatus.Int()==KErrNone);
+	INFO_PRINTF1(_L("Received the message..."));
+	
+	//	Confirm the receipt of the message to the client
+	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
+	TESTL(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
+	
+	//	Compare the received message with the previous one
+	//	They should be identical
+	TESTL(newRecvBuf.Compare(recvBuf)==0);
+
+	iSocket.Close();
+	return TestStepResult();
+	}
+
+TVerdict CIoctlStep_22::doTestStepL()
+/**
+ *  Test step 22:
+ *  Push Message (8-Bit). Using IOCTL query SMS transport parameters
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 22: Push Message (8-Bit) and query SMS transport parameters"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+    
+	// Create a descriptor with correct size for obtaining the message parameter
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the message parameter and check
+    TPtrC8 scAddr = iWapAddr.WapAddress(); 
+    
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore);
+	
+	iSocket.Close();
+	return TestStepResult();
+	}
+	
+TVerdict CIoctlStep_23::doTestStepL()
+/**
+ *  Test step 23:
+ *  Two Push Messages (8-Bit). Using IOCTL query SMS transport parameters
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 23: Push two push message(8-Bit) query transport parameters"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+    
+    //  Issue Ioctl for getting the length of the message
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+    //  Get the size of the incoming message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+    
+	INFO_PRINTF1(_L("Getting parameter value of first message..."));
+	
+	// Create a descriptor with correct size for obtaining the first message parameter
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	
+	// Get the first message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the first message parameter and check
+	TPtrC8 scAddr = iWapAddr.WapAddress(); 
+    
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore);
+
+	//	Receiving push datagram
+	TRequestStatus recvStatus;
+    TWapAddr recvWapAddr;
+    TBuf8<256> recvBuf1(length);
+    
+    iSocket.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
+	User::WaitForRequest(recvStatus);
+	TESTL(recvStatus.Int()==KErrNone);
+	INFO_PRINTF1(_L("Received the push message..."));
+
+	//	Confirm the receipt of the message to the client
+	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
+	TESTL(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
+
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+    //  Get the size of the second incoming push message
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the size of the first incoming message");
+	
+	INFO_PRINTF1(_L("Getting parameter value of second message..."));
+
+	// Create a descriptor with correct size for obtaining the second message parameter
+	HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr2 = parameterStore2->Des();
+	
+	// Get the second message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr2);
 	
-	TESTL(result==KErrNone);
+	// Internalise the second message parameter and check
+	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore2);
+	
+	//	Receiving push datagram
+	TBuf8<256> recvBuf2(length);
+
+	iSocket.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
+	User::WaitForRequest(recvStatus);
+	TESTL(recvStatus.Int()==KErrNone);
+	INFO_PRINTF1(_L("Received the second push message..."));
+
+	//	Compare the received message with the previous one
+	//	They should be identical
+	TESTL(recvBuf2.Compare(recvBuf1)==0);
+		
+	//	Confirm the receipt of the message to the client
+	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
+	TESTL(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
+
+	iSocket.Close();
+	return TestStepResult();
+	}
+
+TVerdict CIoctlStep_24::doTestStepL()
+/**
+ *  Test step 24:
+ *  Test Cancel IOCTL
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 24: Testing Cancel IOCTL"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+
+	TRequestStatus ioctlStatus;
+	TBuf8<200> smsdata;
+	TPckgBuf<TInt> paramLength;
+	
+	//	Issue Ioctl for getting the length of the message parameter
+	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParametersLength"));
+	iSocket.Ioctl(KSOGetMessageParametersLength, ioctlStatus, &smsdata, KSolWapProv);
 	
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
+	//	Issue Cancel Ioctl
+	INFO_PRINTF1(_L("Issue of cancel IOCTL for KSOGetMessageParametersLength"));
+	iSocket.CancelIoctl();
+	TESTCHECKL(ioctlStatus.Int(), KErrCancel, "Checking if the outstanding IOCTL has been cancelled");
+
+	//	Issue Ioctl for getting the message parameter
+	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParameters"));
+	iSocket.Ioctl(KSOGetMessageParameters, ioctlStatus, &smsdata, KSolWapProv);
+
+	//	Issue Cancel Ioctl
+	INFO_PRINTF1(_L("Issue of cancel IOCTL for KSOGetMessageParameters"));
+	iSocket.CancelIoctl();
+    TESTCHECKL(ioctlStatus.Int(), KErrCancel, "Checking if the outstanding IOCTL has been cancelled");
+
+	iSocket.Close();
+	return TestStepResult();
+	}
+
+TVerdict CIoctlStep_25::doTestStepL()
+/**
+ *  Test step 25:
+ *  Test issue IOCTL without SetOption NewStyleClient
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 25: Test issue IOCTL without SetOption NewStyleClient"));
+    // Configure and bind to a socket
+    SetupWapSocketL(iSocket, iWapAddr, KWapPort, EFalse);
+
+	//	Issue Ioctl for getting the length of the message parameter (should fail)
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> paramLength;
+
+	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParametersLength"));
+	iSocket.Ioctl(KSOGetMessageParametersLength, ioctlStatus, &paramLength, KSolWapProv);
+	TESTL(ioctlStatus.Int()!=KErrNone);
+				
+	//	Issue Ioctl for getting the message parameter (should fail)
+	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParameters"));
+	TBuf8<200> smsdata;
+	   
+	iSocket.Ioctl(KSOGetMessageParameters, ioctlStatus, &smsdata, KSolWapProv);
+	User::WaitForRequest(ioctlStatus);
+	TESTL(ioctlStatus.Int()!=KErrNone);
+
+	iSocket.Close();
+	return TestStepResult();
+	}
+	
+TVerdict CIoctlStep_26::doTestStepL()
+/**
+ *  Test step 26:
+ *  Sends a 8-Bit calendar entry using IOCTL(two segments)
+ *  @return - TVerdict code
+ */
+	{
+	INFO_PRINTF1(_L("IOCTL Test step 26: send a 8-Bit VCal (two segments)"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+
+	TESTL(iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS)==KErrNone);
+
+	//	Send a calendar entry
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    SendWapMessage(testData);
+
+	// Create a descriptor with correct size for obtaining the message parameter
+	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(iSocket));
+	TPtr8 parameterStorePtr = parameterStore->Des();
+	
+	// Get the message parameter value
+	GetMessageParameterL(iSocket, parameterStorePtr);
+	
+	// Internalise the message parameter and check
+    TPtrC8 scAddr = iWapAddr.WapAddress(); 
+    
+	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
+	
+	CleanupStack::PopAndDestroy(parameterStore);		
+	
+	iSocket.Close();
+	return TestStepResult();
+	}
+
+struct SOneOpTestThreadInfo
+	{
+	CIoctlStep_27* iTest;
+	TPtrC* iTestData1;
+	TPtrC16* iTelNumber;
+	TInt iPort;
+	};
+
+TInt CIoctlStep_27::DoPanicTestL(TPtrC* aTestData1, TPtrC16* aTelNumber, TInt aPort)
+	{
+    TInt testNumber = 1;
+    TInt port = aPort;
+    TPtrC TestData1 = *aTestData1;
+    TPtrC16 TelNumber = *aTelNumber;
+
+    User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
+    User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
 
 	//
     //	Setting the port number and service center number of the wap address
@@ -2266,1437 +1469,16 @@
 	//	Define and open the socket
 	//
 	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-	
-	//
-	//	Send a business card
-	//
-	TRequestStatus status;
-	TBuf8<200> data;
-	data.Copy(TestData1);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	TESTL(status.Int()==KErrNone);
-	INFO_PRINTF1(_L("Message sent..."));
-	
-	//
-	// Create a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);
-	
-	//
-	//	Closing the socket
-	//
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-	
-TVerdict CIoctlStep_18::doTestStepL()
-/**
- *  Test step eighteen:
- *  Sends a 7-Bit calendar entry (two segments). Using IOCTL query SMS transport parameters.
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 18: Sends a 7-Bit calendar entry (two segments). Using IOCTL query SMS transport parameters."));
-
-	TInt result = KErrNone;
-	TPtrC TestData;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 2;
-	
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result = KErrNotFound;
-		}
-
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM Tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-	
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-		
-	//
-	//	Send a calendar entry
-	//
-	TRequestStatus status;
-	TBuf8<300> data;
-	data.Copy(TestData);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	TESTL(status.Int()==KErrNone);
-	INFO_PRINTF1(_L("Message sent..."));
-
-	//
-	// Create a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);
-	
-	//
-	//	Closing the socket
-
-    CleanupStack::PopAndDestroy(&sock);
-	CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-	
-TVerdict CIoctlStep_19::doTestStepL()
-/**
- *  Test step 19:
- *  send/receive one 7-Bit two segments message and one 7-Bit one segment message
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 19: send/receive two 7-Bit messages"));
-
-	TInt result = KErrNone;
-	TPtrC TestData1;
-	TPtrC TestData2;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 3;
-
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KTestData2, TestData2) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result = KErrNotFound;
-		}
-
-	TESTL(result==KErrNone);
-	
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Send a calendar entry
-	//
-	TRequestStatus  status;
-
-	TBuf8<300> data2;
-	data2.Copy(TestData2);
-	sock.SendTo(data2, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	TESTL(status.Int()==KErrNone);
-	INFO_PRINTF1(_L("First message sent..."));
-	//
-	//	Send a business card
-	//
-	TBuf8<200> data1;
-	data1.Copy(TestData1);
-	sock.SendTo(data1, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	TESTL(status.Int()==KErrNone);
-	INFO_PRINTF1(_L("Second message sent..."));
-	//
-	//	Get the size of the first incoming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL for GetLength completed..."));
-	TBuf8<256> recvBuf2(length);
-	
-	INFO_PRINTF1(_L("Getting parameter value of first message..."));
-	
-	//
-	// Create a descriptor with correct size for obtaining the first message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the first message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the first message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);
-	
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Received the first message..."));
-
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	TESTL(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
-	
-	//
-	//	Issue Ioctl for getting the length of the second message
-	//
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	INFO_PRINTF1(_L("Issue of the 2nd IOCTL for GetLength"));
-
-	//
-	//	Get the size of the SECOND incoming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL completed"));
-	
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> recvBuf1(length);
-	TESTL(length()==data1.Length());
-		
-	INFO_PRINTF1(_L("Getting parameter value of second message..."));
-	
-	//
-	// Create a descriptor with correct size for obtaining the second message parameter
-	//
-	HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr2 = parameterStore2->Des();
-	
-	//
-	// Get the second message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr2);
-	
-	//
-	// Internalise the second message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore2);
-	
-	//
-	//	Receiving the second message
-	//
-	sock.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Receievd the second datagram"));
-	TEST(recvBuf1.Compare(data1) == 0);
-
-	//
-	//	Confirm the receipt of the second message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of the second message"));
-	TESTL(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Closing the socket
-	//
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-	
-TVerdict CIoctlStep_20::doTestStepL()
-/**
- *  
- *  Test step 20:
- *  simulating client crash conditions with 7bit message
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 20: client crash condition 7-Bit message "));
-
-	TInt result = KErrNone;
-	TPtrC TestData;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber =4;
-
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-		
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Send a business card
-	//
-	TRequestStatus status;
-	TBuf8<200> data;
-	data.Copy(TestData);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	TESTL(status.Int()==KErrNone);
-	INFO_PRINTF1(_L("Message sent..."));
-	//
-	//	Get the size of the incoming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> recvBuf(length);
-	TESTL(length()==data.Length());
-	
-	//
-	// Create a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);
-
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Received the message..."));
-	
-	//
-	//	Close socket
-	//
-	sock.Close();
-	INFO_PRINTF1(_L("Socket was closed..."));
-	
-	//
-	//	Open the socket
-	//
-	TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	INFO_PRINTF1(_L("Socket was opened..."));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-	
-	//
-	//	Issue another get length of datagram as if not aware of the previous message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	
-	//
-	//	waiting for request to be completed
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	
-	//
-	//	Check if reported length is correct
-	//
-	TBuf8<256> newRecvBuf(length);
-	TESTL(length()==data.Length());
-	
-	//
-	// Recreate a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr2 = parameterStore2->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr2);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore2);
-
-	//
-	//	New message retrieved from SAR store
-	//
-	sock.RecvFrom(newRecvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Received the message..."));
-	TEST(newRecvBuf.Compare(data) == 0);
-	
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	TESTL(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Closing the socket
-	//
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-	
-TVerdict CIoctlStep_21::doTestStepL()
-/**
- *  
- *  Test step 21:
- *  simulating client crash conditions with 8bit push message
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 21: client crash condition with 8Bit push message"));
-
-	TInt result = KErrNone;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber= 5;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-		
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
+	OpenSocketLC(socketServer, sock);
 	//
 	//	Indicating to the protocol that it's a new client
 	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-	
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Get the size of the incoming message
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL completed..."));
-
-	TBuf8<256> recvBuf(length);
-	
-	//
-	// Create a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);
-	
-	//
-	//	Receiving a datagram
-	//
-	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Received the message..."));
-	
-	//
-	//	Close socket
-	//
-	sock.Close();
-	INFO_PRINTF1(_L("Socket was closed..."));
-	
-	//
-	//	Open the socket
-	//
-	TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	INFO_PRINTF1(_L("Socket was opened..."));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-	
-	//
-	//	Issue another get length of datagram as if not aware of the previous message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-	
-	//
-	//	waiting for request to be completed
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	
-	//
-	//	Allocate buffer
-	//
-	TBuf8<256> newRecvBuf(length);
-	
-	//
-	// Recreate a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr2 = parameterStore2->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr2);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore2);
-	
-	//
-	//	New message retrieved from SAR store
-	//
-	sock.RecvFrom(newRecvBuf,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Received the message..."));
-	
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	TESTL(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
-	
-	//
-	//	Compare the received message with the previous one
-	//	They should be identical
-	//
-	TESTL(newRecvBuf.Compare(recvBuf)==0);
-	
-	//
-	//	Closing the socket
-	//
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-
-TVerdict CIoctlStep_22::doTestStepL()
-/**
- *  Test step 22:
- *  Push Message (8-Bit). Using IOCTL query SMS transport parameters
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 22: Push Message (8-Bit) and query SMS transport parameters"));
-
-	TInt result = KErrNone;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 7;
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-		
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-	
-	//
-	// Create a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);
-	
-	//
-	//	Closing the socket
-	//
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-	
-TVerdict CIoctlStep_23::doTestStepL()
-/**
- *  Test step 23:
- *  Two Push Messages (8-Bit). Using IOCTL query SMS transport parameters
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 23: Push two push message(8-Bit) query transport parameters"));
-
-	TInt result=KErrNone;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber=8;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-		
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TRequestStatus recvStatus;
-	TPckgBuf<TInt> length;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Get the size of the incoming push message
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	
-	INFO_PRINTF1(_L("Getting parameter value of first message..."));
-	
-	//
-	// Create a descriptor with correct size for obtaining the first message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the first message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the first message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);
-
-	//
-	//	Allocate buffer
-	//
-	TBuf8<256> recvBuf1(length);
-
-	//
-	//	Receiving push datagram
-	//
-	sock.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Received the push message..."));
-
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	TESTL(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Issue another Ioctl for getting the length of the message
-	//
-	INFO_PRINTF1(_L("Issue of first IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-
-	//
-	//	Get the size of the second incoming push message
-	//
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("IOCTL completed..."));
-	
-	INFO_PRINTF1(_L("Getting parameter value of second message..."));
-
-	//
-	// Create a descriptor with correct size for obtaining the second message parameter
-	//
-	HBufC8* parameterStore2 = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr2 = parameterStore2->Des();
-	
-	//
-	// Get the second message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr2);
-	
-	//
-	// Internalise the second message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr2, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore2);
-	
-	//
-	//	Allocate buffer
-	//
-	TBuf8<256> recvBuf2(length);
+    INFO_PRINTF1(_L("Socket set option for indicating new client"));
+    TInt ret = sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0);
+    TESTCHECKL(ret, KErrNone, "Indicating to the protocol that it's a new client")
 
-	//
-	//	Receiving push datagram
-	//
-	sock.RecvFrom(recvBuf2,recvWapAddr,0,recvStatus);
-	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	INFO_PRINTF1(_L("Received the second push message..."));
-
-	//
-	//	Compare the received message with the previous one
-	//	They should be identical
-	//
-	TESTL(recvBuf2.Compare(recvBuf1)==0);
-		
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-	TESTL(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Closing the socket
-	//
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-
-TVerdict CIoctlStep_24::doTestStepL()
-/**
- *  Test step 24:
- *  Test Cancel IOCTL
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 24: Testing Cancel IOCTL"));
-
-	TInt result=KErrNone;
-	TPtrC16 TelNumber;
-	TInt port=226;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-		
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TBuf8<200> smsdata;
-	TPckgBuf<TInt> paramLength;
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-	
-	//
-	//	Issue Ioctl for getting the length of the message parameter
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParametersLength"));
-	sock.Ioctl(KSOGetMessageParametersLength, ioctlStatus, &smsdata, KSolWapProv);
-	
-	//
-	//	Issue Cancel Ioctl
-	//
-	INFO_PRINTF1(_L("Issue of cancel IOCTL for KSOGetMessageParametersLength"));
-	sock.CancelIoctl();
-	
-	//
-	//	Check if the outstanding IOCTL has been cancelled
-	//
-	TESTL(ioctlStatus.Int()==KErrCancel);
-
-	//
-	//	Issue Ioctl for getting the message parameter
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParameters"));
-	sock.Ioctl(KSOGetMessageParameters, ioctlStatus, &smsdata, KSolWapProv);
-
-	//
-	//	Issue Cancel Ioctl
-	//
-	INFO_PRINTF1(_L("Issue of cancel IOCTL for KSOGetMessageParameters"));
-	sock.CancelIoctl();
-
-	//
-	//	Check if the outstanding IOCTL has been cancelled
-	//
-	TESTL(ioctlStatus==KErrCancel);
-
-	//
-	//	Closing the socket
-	//
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-
-TVerdict CIoctlStep_25::doTestStepL()
-/**
- *  Test step 25:
- *  Test issue IOCTL without SetOption NewStyleClient
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 25: Test issue IOCTL without SetOption NewStyleClient"));
-
-	TInt result=KErrNone;
-	TPtrC16 TelNumber;
-	TInt port=226;
-
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-		
-	TESTL(result==KErrNone);
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	TRequestStatus ioctlStatus;
-	TBuf8<200> smsdata;
-	TPckgBuf<TInt> paramLength;
-
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-	
-	//
-	//	Issue Ioctl for getting the length of the message parameter (should fail)
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParametersLength"));
-	sock.Ioctl(KSOGetMessageParametersLength, ioctlStatus, &paramLength, KSolWapProv);
-	TESTL(ioctlStatus.Int()!=KErrNone);
-				
-	//
-	//	Issue Ioctl for getting the message parameter (should fail)
-	//
-	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParameters"));
-	sock.Ioctl(KSOGetMessageParameters, ioctlStatus, &smsdata, KSolWapProv);
-	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()!=KErrNone);
-
-	//
-	//	Closing the socket
-	//
-    CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-	
-TVerdict CIoctlStep_26::doTestStepL()
-/**
- *  Test step 26:
- *  Sends a 8-Bit calendar entry using IOCTL(two segments)
- *  @return - TVerdict code
- *  
- */
-	{
-	INFO_PRINTF1(_L("IOCTL Test step 26: send a 8-Bit VCal (two segments)"));
-
-	TInt result=KErrNone;
-	TPtrC TestData;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber = 13;
-	
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-	
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM Tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-	TESTL(sock.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS)==KErrNone);
-
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
-
-	//
-	//	Send a calendar entry
-	//
-	TRequestStatus  status;
-
-	TBuf8<300> data;
-	data.Copy(TestData);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	TESTL(status.Int()==KErrNone);
-	INFO_PRINTF1(_L("Message sent..."));
-	
-	//
-	// Create a descriptor with correct size for obtaining the message parameter
-	//
-	HBufC8* parameterStore = HBufC8::NewLC(GetMessageParameterLengthL(sock));
-	TPtr8 parameterStorePtr = parameterStore->Des();
-	
-	//
-	// Get the message parameter value
-	//
-	GetMessageParameterL(sock, parameterStorePtr);
-	
-	//
-	// Internalise the message parameter and check
-	//
-	InternaliseSmsDataAndCheckL(parameterStorePtr, scAddr);
-	
-	CleanupStack::PopAndDestroy(parameterStore);		
-	
-	//
-	//	Closing the socket
-	//
-    CleanupStack::PopAndDestroy(&sock);
-	CleanupStack::PopAndDestroy(&socketServer);
-
-	return TestStepResult();
-	}
-
-struct SOneOpTestThreadInfo
-	{
-	CIoctlStep_27* iTest;
-	TPtrC* iTestData1;
-	TPtrC16* iTelNumber;
-	TInt iPort;
-	};
-
-TInt CIoctlStep_27::DoPanicTestL(TPtrC* aTestData1, TPtrC16* aTelNumber, TInt aPort)
-	{
-	TInt testNumber = 1;
-	TInt port = aPort;
-	TPtrC TestData1 = *aTestData1;
-	TPtrC16 TelNumber = *aTelNumber;
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
+    ret = sock.Bind(wapAddr);
+    TESTCHECKL(ret, KErrNone, "Socket bind");
 
 	//
 	//	Send a business card
@@ -3707,7 +1489,7 @@
 	data.Copy(TestData1);
 	sock.SendTo(data, wapAddr, 0, status);
 	User::WaitForRequest(status);
-	TESTL(status.Int()==KErrNone);
+    TESTCHECKL(status.Int(), KErrNone, "Sending a message");
 
 	TRequestStatus ioctlStatus;
 	TRequestStatus recvStatus;
@@ -3730,7 +1512,7 @@
 	//	Get the size of the first incoming message
 	//
 	User::WaitForRequest(ioctlStatus);
-	TESTL(ioctlStatus.Int()==KErrNone);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the length of the incoming message");
 
 	//
 	//	Receiving a datagram
@@ -3738,13 +1520,16 @@
 	TBuf8<256> recvBuf(length);
 	sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
 	User::WaitForRequest(recvStatus);
-	TESTL(recvStatus.Int()==KErrNone);
-	TEST(recvBuf.Compare(data) == 0);
+    TESTCHECKL(recvStatus.Int(), KErrNone, "Receiving a message");
+    TESTCHECK(recvBuf.Compare(data), 0, "Checking the received message matched expected");
+
 	
 	//
 	//	Confirm the receipt of the message to the client
 	//
-	TESTL(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0)==KErrNone);
+    INFO_PRINTF1(_L("Setting Socket option for indicating receipt of the message..."));
+    ret = iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0);
+    TESTCHECKL(ret, KErrNone, "Setting Socket option for indicating receipt of the message");
 	
 	//
 	//	Closing the socket
@@ -3773,7 +1558,6 @@
  *  Test step 27:
  *  Send a 7_Bit business card. Issue both a get length and get message parameters to IOCTL  at sametime
  *  @return - TVerdict code
- *  
  */
 	{
 	const TUint KHeapMinSize=0x01000;
@@ -3806,13 +1590,13 @@
 	RThread thread;
 	TInt rc = thread.Create(_L("PanicThread"),testPanicsL,KDefaultStackSize,KHeapMinSize,KHeapMaxSize,&info);
 	
-	TESTL(rc==KErrNone);
+	TESTCHECKL(rc, KErrNone,"Creating a thread" );
 		
 	TRequestStatus s;
     thread.Logon(s);
 	thread.Resume();
 	User::WaitForRequest(s);
-	TESTL(thread.ExitType()==EExitPanic);
+	TESTCHECK(thread.ExitType(), EExitPanic, "Checking the correct exit type");
 			
 	INFO_PRINTF2(_L("Exit type is: %d"), thread.ExitType());
 	
@@ -3827,20 +1611,11 @@
 	{
 	__UHEAP_MARK;
 	
+    SetTestNumberFromConfigurationFileL();
+	
 	iScheduler = new(ELeave) CActiveScheduler;
 	CActiveScheduler::Install(iScheduler);
 
-	TInt err;
-    err=User::LoadPhysicalDevice(PDD_NAME);
-    TESTL(err==KErrNone || err==KErrAlreadyExists);
-
-    err=User::LoadLogicalDevice(LDD_NAME);
-    TESTL(err==KErrNone || err==KErrAlreadyExists);
-
-    err = StartC32();
-	ERR_PRINTF2(TRefByValue<const TDesC>(_L("Start Comms Process Status = %d")), err);
-    TESTL(err==KErrNone || err==KErrAlreadyExists);
-
 	INFO_PRINTF1(_L("Deleting segmentation and reassembly stores..."));
 
 	RFs fileServer;
@@ -3856,12 +1631,20 @@
 	fileServer.Delete(KSegmentationStoreName);
 
 	fileServer.Close();
+	
+    TInt  ret = iSocketServer.Connect(KSocketMessageSlots);
+    if (ret != KErrNone)
+        {
+        ERR_PRINTF2(_L("Connecting to socket server failed [ret=%d]"), ret);
+        }
 
 	return TestStepResult();
 	}
 	
 TVerdict CIoctlStep_28::doTestStepPostambleL()
 	{
+    iSocketServer.Close();
+    
 	delete iScheduler;
 	iScheduler = NULL;
 
@@ -3871,85 +1654,25 @@
 	}
 	
 TVerdict CIoctlStep_28::doTestStepL()
-
 /**
  *  Test step seventeen:
  *  Sends a 7_Bit business card. Issue a get message parameters to IOCTL without correct platform security
  *  @return - TVerdict code
- *  
  */
 	{
 	INFO_PRINTF1(_L("Sends a 7_Bit business card. Issue a get message parameters to IOCTL without correct platform security"));
-
-	TInt result=KErrNone;
-	TPtrC TestData1;
-	TPtrC16 TelNumber;
-	TInt port=226;
-	TInt testNumber=1;
-
-	if(!GetStringFromConfig(ConfigSection(),KTestData1, TestData1) ||
-	   !GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port))
-		{
-		result=KErrNotFound;
-		}
-		
-	TESTL(result==KErrNone);
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr wapAddr;
-	TWapAddr recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100> scNumber;
-	scNumber.Copy(TelNumber);
-	TPtrC8 scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket sock;
-    TESTL(sock.Open(socketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol)==KErrNone);
-	CleanupClosePushL(sock);
-
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	TESTL(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0)==KErrNone);
-
-	//
-	//	Bind
-	//
-	TESTL(sock.Bind(wapAddr)==KErrNone);
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
 	//
 	//	Send a business card
 	//
 	TRequestStatus status;
+    TPtrC testData = GetStringFromConfigL(KTestData1);
+    
 	TBuf8<200> data;
-	data.Copy(TestData1);
-	sock.SendTo(data, wapAddr, 0, status);
+	data.Copy(testData);
+	iSocket.SendTo(data, iWapAddr, 0, status);
 	User::WaitForRequest(status);
 	TESTL(status.Int()==KErrNone);
 	INFO_PRINTF1(_L("Message sent..."));
@@ -3961,33 +1684,38 @@
 	TBuf8<200> smsdata;
 	
 	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParameters"));
-	sock.Ioctl(KSOGetMessageParameters, testStatus, &smsdata, KSolWapProv);
+	iSocket.Ioctl(KSOGetMessageParameters, testStatus, &smsdata, KSolWapProv);
 	
 	User::WaitForRequest(testStatus);
 	TESTL(testStatus.Int()==KErrPermissionDenied);
 	INFO_PRINTF2(_L("KSOGetMessageParameters on Ioctl failed to complete with: %d"), testStatus.Int());
 			
-	//
-	//	Closing the socket
-	//
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
 	}
 
+CSetDiskMonitorLimits::CSetDiskMonitorLimits()
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
 
 TVerdict CSetDiskMonitorLimits::doTestStepL()
 /**
 	Creates smsu.rsc file which defines the upper and lower limits for the disk space monitor
 */
-
-   {
+    {
 #ifndef _DEBUG
     INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
-#else       
-    TInt highDrop = 4;
-    TInt lowDrop = 10;
+#else
+    TInt err = RProperty::Define(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, RProperty::EInt);
+    if ((err != KErrNone) && (err != KErrAlreadyExists))    
+        {
+        ERR_PRINTF2(_L("RProperty::Define() failure [err=%d]"), err);
+        User::Leave(err);
+        }
+		
+    TInt highDrop = 3;
+    TInt lowDrop = 8;
     TInt freeDrop = 0;
   
     GetIntFromConfig(_L("DiskMonitorLimits"), _L("highDrop"), highDrop);
@@ -3997,7 +1725,12 @@
 #endif    
 	return TestStepResult();
     }
-    
+
+CSetDiskSpace::CSetDiskSpace()
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
+
 /**
  *  Set free disk space to the required limit
  */
@@ -4020,7 +1753,7 @@
 	Free up disk space by deleting the temp files created
 */
 TVerdict CFreeDiskSpace::doTestStepL()
-   {
+    {
 #ifndef _DEBUG
     INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
 #else   
@@ -4031,62 +1764,27 @@
         {
         ERR_PRINTF2(_L("RProperty::Delete() failure [err=%d]"), err);
         }           
-#endif  
-   	  	
-	return TestStepResult();
-   }    
+#endif
+    return TestStepResult();
+    }    
 
-/**
-	Free up disk space by deleting the temp files created
-*/
-TVerdict CInitializePhone::doTestStepL()
-   {
-	SetTestNumberL();
-	WaitForInitializeL();
-	
-#ifdef _DEBUG   
-    TInt err = RProperty::Define(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, RProperty::EInt);
-    if ((err != KErrNone) && (err != KErrAlreadyExists))    
-        {
-        ERR_PRINTF2(_L("RProperty::Define() failure [err=%d]"), err);
-        User::Leave(err);
-        }
-#endif  	
+CReceiveWapMessage::CReceiveWapMessage()
+    {
+    iPartOfMultiStepTestCase = ETrue;
+    }
 
-	return TestStepResult();
-   }    
-   
-   
-/**
-	Free up disk space by deleting the temp files created
-*/
 TVerdict CReceiveWapMessage::doTestStepL()
-   {
+    {
 #ifndef _DEBUG
     INFO_PRINTF1(_L("This test can only be run when the SMS Stack is in debug mode."));
-#else   
-    
-	//	Connect to socket server
-	RSocketServ socketServer;
-	User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-	//	Define and open the socket
-	RSocket sock;	
-	OpenSocketLC(socketServer, sock);
-	WaitForInitializeL();
-	
-	//Read port and SC number from ini file
-	TWapAddr wapAddr;
-	ReadWapPortSettingsL(wapAddr);
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	//	Bind
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
+#else
+    TInt  ret = iSocketServer.Connect(KSocketMessageSlots);
+     if (ret != KErrNone)
+         {
+         ERR_PRINTF2(_L("Connecting to socket server failed [ret=%d]"), ret);
+         }
+     
+    SetupWapSocketL();
 
 	TRequestStatus recvStatus;
 	TRequestStatus ioctlStatus;
@@ -4100,12 +1798,11 @@
 	GetStringFromConfig(ConfigSection(),KTestData1, testData);
 	TBuf8<200> data;
 	data.Copy(testData);
-	sock.SendTo(data, wapAddr, 0, status);
+	
+	iSocket.SendTo(data, iWapAddr, 0, status);
 	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
+	TESTCHECKL(status.Int(), KErrNone, "Sending Message...");
 
-	//	Issue Ioctl for getting the length of the message
 	TBool messageIsExpected;
 	GetBoolFromConfig(ConfigSection(), _L("messageIsExpected"), messageIsExpected);
 
@@ -4113,20 +1810,15 @@
 	TRequestStatus timerStatus;
 	RTimer timer;
 	//Read from the INI file.  
-	TInt timeout;
-	TBool found = GetIntFromConfig(_L("ReceiveTimeout"), _L("timeout"), timeout);
-		//Timeout must be specified
-	if(!found)
-		{
-		timeout=10000000;		// else a default of 10 seconds will be used
-		}
+	TInt timeout = 10000000; // default 10 seconds timeout
+	GetIntFromConfig(_L("ReceiveTimeout"), _L("timeout"), timeout);
 	
 	timer.CreateLocal();
 	timer.After(timerStatus, TTimeIntervalMicroSeconds32(timeout));
 
 	//	Get the size of the first incomming message
 	INFO_PRINTF1(_L("Issue of the IOCTL for GetLength"));
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 
 	//Check if there is in fact a message
 	TBool received=EFalse;
@@ -4135,7 +1827,7 @@
 	if(ioctlStatus == KRequestPending)
 		{
 		// if timer elapsed but ESock request is still pending
-		sock.CancelIoctl();
+		iSocket.CancelIoctl();
 		User::WaitForRequest(ioctlStatus);
 		}
 	else
@@ -4146,6 +1838,7 @@
 		// check ESock error status
 		if(ioctlStatus.Int() == KErrNone)
 			{
+            INFO_PRINTF1(_L("IOCTL for GetLength completed successfully"));
 			received=ETrue;		     
 			}
 		}
@@ -4153,39 +1846,37 @@
 
 	if(received && messageIsExpected)
 		{
-		//	Receiving push datagram
+        INFO_PRINTF1(_L("Receiving push datagram..."));
 		TWapAddr recvWapAddr;			
 		TBuf8<256> recvBuf1(length);
-		sock.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
+		iSocket.RecvFrom(recvBuf1,recvWapAddr,0,recvStatus);
 		User::WaitForRequest(recvStatus);
 		User::LeaveIfError(recvStatus.Int());
-		INFO_PRINTF1(_L("Received the push message..."));
 		TEST(recvBuf1.Compare(data) == 0);
 
 		//
 		//	Confirm the receipt of the message to the client
 		//
-		INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-		User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-		
+		TInt ret = iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0);
+		TESTCHECKL(ret, KErrNone, "Setting Socket option for indicating receipt of message" )
 		}
-	else if (received  ||  messageIsExpected)
+	else if (received && !messageIsExpected)
 		{
-		//Message is not expected
-		TEST(EFalse);
+        ERR_PRINTF1(_L("Message is received but not expected"));
+		SetTestStepResult(EFail);
 		}
+	else if (!received && messageIsExpected)
+	    {
+        ERR_PRINTF1(_L("Message is expected but not received"));
+        SetTestStepResult(EFail);
+	    }
 
-    CleanupStack::Pop(&sock);
-    CleanupStack::Pop(&socketServer);
-    sock.Close();
-    socketServer.Close();
-	INFO_PRINTF1(_L("End of ReceiveWapMessage test step"));
+	iSocket.Close();
+	iSocketServer.Close();
 #endif	
-
 	return TestStepResult();
    } 
 
-
 /**
  *  Tests enumerating of a VCard which needs to go via the observer and not returned to the client.
  *
@@ -4193,55 +1884,20 @@
  */
 TVerdict CTestEnumeratingVCard::doTestStepL()
 	{
-	//
-	// Setup the test...
-	//
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, 34));
-
-	//
-	// Connect to socket server
-	//
-	RSocketServ  socketServer;
-
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	// Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	//
-	// Define and open the socket to receive the datagram on...
-	//
-	RSocket  sock;
-	TWapAddr  wapAddr;
-	OpenSocketLC(socketServer, sock);
-
-	wapAddr.SetWapPort(TWapPortNumber(226));
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
-	//	Indicate to the protocol that it's a new client
-	//
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	//
 	// Create a socket for the enumeration...
-	//
 	RSocket   enumerateSock;
 	TSmsAddr  smsAddr;
 
-	OpenSocketLC(socketServer, enumerateSock, KSMSAddrFamily,KSMSDatagramProtocol);
- 
+	OpenSocketLC(iSocketServer, enumerateSock, KSMSAddrFamily,KSMSDatagramProtocol);
+
 	smsAddr.SetSmsAddrFamily(ESmsAddrLocalOperation);
 	User::LeaveIfError(enumerateSock.Bind(smsAddr));
 
-	//
 	// Trigger the enumeration...
-	//
-	TPckgBuf<TUint>  messageCount;
+	TPckgBuf<TUint>  messageCount(0);
 	TRequestStatus  enumStatus;
 	
 	User::After(1000000); // Gives SMS Prot and WAP Prot time to initialise after loading!
@@ -4250,47 +1906,35 @@
 	TESTL(enumStatus.Int() == KErrNone);
 	TEST(messageCount() == 0);
 
-	//
 	// Issue an Ioctl for getting the length of the enumerated datagram...
-	//
 	TRequestStatus  ioctlStatus;
 	TPckgBuf<TInt>  length;
 
-	sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+	iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
 	User::WaitForRequest(ioctlStatus);
 	TESTL(ioctlStatus.Int() == KErrNone);
 	TEST(length() == 118);
 
-	//
 	// Receive the VCard...
-	//
 	TRequestStatus  recvStatus;
 	TBuf8<256>  recvBuf;
 	TBuf<256>  vcardBuf16;
 	TWapAddr  recvWapAddr;
 
-	sock.RecvFrom(recvBuf, recvWapAddr, 0, recvStatus);
+	iSocket.RecvFrom(recvBuf, recvWapAddr, 0, recvStatus);
 	User::WaitForRequest(recvStatus);
 	TESTL(recvStatus.Int() == KErrNone);
 	
 	vcardBuf16.Copy(recvBuf);
 	INFO_PRINTF2(_L("Received the VCard: \"%S\""), &vcardBuf16);
 
-	//
 	// Confirm the receipt of the message...
-	//
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+	User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
 
-	//
-	//	Close all the sockets
-	//
-	CleanupStack::PopAndDestroy(&enumerateSock);
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	iSocket.Close();
+    CleanupStack::PopAndDestroy(&enumerateSock);
 	return TestStepResult();
-	} // CTestEnumeratingVCard::doTestStepL
-
+	} 
 
 /**
  *  Sends a 7-bit VCard with an email address in it, to ensure that '@'
@@ -4300,118 +1944,18 @@
  */
 TVerdict CTest7BitBusinessCardWithEmail::doTestStepL()
 	{
-	TPtrC    testData;
-	TPtrC16  telNumber;
-	TInt     port;
-	TInt     testNumber = 35;
-	
-	if(!GetStringFromConfig(ConfigSection(), KTestData1, testData) ||
-	   !GetStringFromConfig(ConfigSection(), KSCNumber, telNumber) ||
-	   !GetIntFromConfig(ConfigSection(), KWapPort, port))
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, testNumber));
-
-	//
-    //	Setting the port number and service center number of the wap address
-	//	The service center number should be the same as the sim phone number used
-	//  for test (not required for SIM tsy)
-	//
-	TWapAddr  wapAddr;
-	TWapAddr  recvWapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(port));
-
-	TBuf8<100>  scNumber;
-	scNumber.Copy(telNumber);
-	TPtrC8  scAddr(scNumber);
-	wapAddr.SetWapAddress(scAddr);
-
-	//
-	//	Connect to socket server
-	//
-	RSocketServ  socketServer;
-    User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
-
-	//
-	//	Define and open the socket
-	//
-	RSocket  sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	//	Waiting for the phone to be initialised
-	//
-	WaitForInitializeL();
-
-	//
-	//	Indicating to the protocol that it's a new client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating new client..."));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient, KWapSmsOptionLevel, 0));
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	//
-	//	Bind to the port...
-	//
-	User::LeaveIfError(sock.Bind(wapAddr));
-
-	//
 	//	Send a business card with the email address.
-	//
-	TRequestStatus  status;
-	
-	TBuf8<200>  data;
-	data.Copy(testData);
-	sock.SendTo(data, wapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent..."));
-
-	//
-	//	Issue Ioctl for getting the length of the message
-	//
-	TPckgBuf<TInt>  length;
-
-	INFO_PRINTF1(_L("Issue of IOCTL for GetLength..."));
-	sock.Ioctl(KSOGetLength, status, &length, KSolWapProv);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
+	TPtrC testData = GetStringFromConfigL(KTestData1);
+	SendWapMessage(testData);
 
-	//
-	//	Check if reported length is correct
-	//
-	TEST(length() == data.Length());
-	
-	//
-	//	Receiving a datagram
-	//
-	TBuf8<256>  recvBuf(length);
-	
-	sock.RecvFrom(recvBuf, recvWapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Received the message..."));
+	ReceiveWapMessage(testData);
 	
-	//
-	//	Confirm the receipt of the message to the client
-	//
-	INFO_PRINTF1(_L("Socket set option for indicating receipt of message..."));
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-	TEST(recvBuf.Compare(data) == 0);
-	
-	//
-	//	Closing the socket
-	//
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
+	iSocket.Close();
 	return TestStepResult();
-	} // CTest7BitBusinessCardWithEmail::doTestStepL
-
+	}
 
 /**
  *  Attempts to send datagrams bigger than the maximum message and bigger
@@ -4421,78 +1965,37 @@
  */
 TVerdict CTestOversizedDatagram::doTestStepL()
 	{
-	User::LeaveIfError(RProperty::Set(KUidSystemCategory, KUidPhonePwr.iUid, ESAPhoneOn));
-	User::LeaveIfError(RProperty::Set(KUidPSSimTsyCategory, KPSSimTsyTestNumber, 1));
-
-	TWapAddr wapAddr;
-	wapAddr.SetWapPort(TWapPortNumber(226));
-
-	//
-	// Connect to socket server...
-	//
-	RSocketServ  socketServer;
-
-	User::LeaveIfError(socketServer.Connect());
-	CleanupClosePushL(socketServer);
+    // Configure and bind to a socket
+    SetupWapSocketL();
 
-	//
-	// Define and open the socket...
-	//
-	RSocket  sock;
-    OpenSocketLC(socketServer, sock);
- 
-	//
-	// Wait for the phone to be initialised...
-	//
-	WaitForInitializeL();
-
-	//
-	// Indicating to the protocol that it's a new client...
-	//
-	User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	//
 	// Send a datagram of the maximum datagram size (this will fail because
 	// of the WAP headers)...
-	//
 	TRequestStatus  status;
 	
-	HBufC8*  textBuf = HBufC8::NewL(65536+1);
-	CleanupStack::PushL(textBuf);
+	HBufC8*  textBuf = HBufC8::NewLC(65536+1);
 	TPtr8  textPtr = textBuf->Des();
 
 	textPtr.Fill('A', KWAPSMSMaxDatagramSize);
-	sock.SendTo(textPtr, wapAddr, 0, status);
+	iSocket.SendTo(textPtr, iWapAddr, 0, status);
 	User::WaitForRequest(status);
 	TEST(status.Int() == KErrOverflow);
 
-	//
 	// Send a datagram bigger than the maximum datagram...
-	//
 	textPtr.Fill('B', KWAPSMSMaxDatagramSize+1);
-	sock.SendTo(textPtr, wapAddr, 0, status);
+	iSocket.SendTo(textPtr, iWapAddr, 0, status);
 	User::WaitForRequest(status);
 	TEST(status.Int() == KErrTooBig);
 
-	//
 	// Send a datagram bigger than the maximum MBuf...
-	//
 	textPtr.Fill('C', 65536+1);
-	sock.SendTo(textPtr, wapAddr, 0, status);
+	iSocket.SendTo(textPtr, iWapAddr, 0, status);
 	User::WaitForRequest(status);
 	TEST(status.Int() == KErrTooBig);
 
+	iSocket.Close();
 	CleanupStack::PopAndDestroy(textBuf);
-
-	//
-	//	Close the socket...
-	//
-	CleanupStack::PopAndDestroy(&sock);
-    CleanupStack::PopAndDestroy(&socketServer);
-
 	return TestStepResult();
-	} // CTestOversizedDatagram::doTestStepL
-
+	}
 
 TVerdict CTestWapDatagramSegmentContainingNoData::doTestStepL()
 /** 
@@ -4500,237 +2003,162 @@
   *  one or more segments which comprise of a wap header but no data. 
   *  
   *  @return - TVerdict code
-  * 
   */
-     {
-     INFO_PRINTF1(_L("CTestWapDatagramSegmentContainingNoData:"));
- 
-     TVerdict verdict = EPass;
- 
-     // Create an empty string which will encode into a single segment wap message which contains a wap header, but no wap data.
-     _LIT8(KLocalTestData1, "");
-     TBuf8<300> data1(KLocalTestData1);      
-     // Create a VCard which will encode into 2 segment wapdatagram, the 2nd segment contains a wap header, but no wap data.
-     // Use a local literal string rather than reading from a text file. This prevents extra unwanted '\' being added to the string, for example \\r\\n
- 	_LIT8(KLocalTestData2,"BEGIN:VCARD\r\nVERSION:2.1\r\nREV:20090403T094807Z\r\nUID:83702f931a905a6e-00e14456815a8324-33\r\nN:;3SIM;;;\r\nTEL;WORK;CELL:07878931672\r\nEND:VCARD\r");
-      TBuf8<300> data2(KLocalTestData2);
- 
-     
-     TPtrC16 TelNumber;
-     TInt port=9204;
-     TInt testNumber = 36;
-     if(!GetStringFromConfig(ConfigSection(),KSCNumber,TelNumber))
-         {
-         // Leave if there's any error.
-         User::Leave(KErrNotFound);
-         }
-         
-     RProperty phonePowerProperty;
-     User::LeaveIfError(phonePowerProperty.Attach(KUidSystemCategory, KUidPhonePwr.iUid));
-     CleanupClosePushL(phonePowerProperty);
- 
-     RProperty testNumberProperty;
-     User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
-     CleanupClosePushL(testNumberProperty);  
- 
-     TRequestStatus status;
-     phonePowerProperty.Subscribe(status);
-     User::LeaveIfError(phonePowerProperty.Set(KUidSystemCategory,KUidPhonePwr.iUid,ESAPhoneOn));
-     User::WaitForRequest(status);
-     User::LeaveIfError(status.Int());
-     
-     testNumberProperty.Subscribe(status);
-     User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,testNumber));
-     User::WaitForRequest(status);
-     User::LeaveIfError(status.Int());
-     TInt testNumberCheck;
-     User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
-     if (testNumber != testNumberCheck)
-         {
-         User::Leave(KErrNotFound);  
-         }
-     //
-     //  Setting the port number and service center number of the wap address
-     //  The service center number should be the same as the sim phone number used 
-     //  for test (not required for SIM Tsy)
-     //
-     TWapAddr wapAddr;
-     TWapAddr recvWapAddr;
-     wapAddr.SetWapPort(TWapPortNumber(port));
-     TBuf8<100> scNumber;
-     scNumber.Copy(TelNumber);
-     TPtrC8 scAddr(scNumber);
-     wapAddr.SetWapAddress(scAddr);
-     
-     //
-     //  Connect to socket server
-     //
-     RSocketServ socketServer;
-     User::LeaveIfError(socketServer.Connect());
-     CleanupClosePushL(socketServer);
- 
-     //
-     //  Define and open the socket
-     //
-     RSocket sock;
-     OpenSocketLC(socketServer, sock);
-     
+    {
+    INFO_PRINTF1(_L("CTestWapDatagramSegmentContainingNoData:"));
+    // Configure and bind to a socket
+    SetupWapSocketL();
+    
+    TVerdict verdict = EPass;
+
+    // Create an empty string which will encode into a single segment wap message which contains a wap header, but no wap data.
+    _LIT8(KLocalTestData1, "");
+    TBuf8<300> data1(KLocalTestData1);      
+    // Create a VCard which will encode into 2 segment wapdatagram, the 2nd segment contains a wap header, but no wap data.
+    // Use a local literal string rather than reading from a text file. This prevents extra unwanted '\' being added to the string, for example \\r\\n
+    _LIT8(KLocalTestData2,"BEGIN:VCARD\r\nVERSION:2.1\r\nREV:20090403T094807Z\r\nUID:83702f931a905a6e-00e14456815a8324-33\r\nN:;3SIM;;;\r\nTEL;WORK;CELL:07878931672\r\nEND:VCARD\r");
+    TBuf8<300> data2(KLocalTestData2);
+
+
+    TRequestStatus ioctlStatus;
+    TRequestStatus recvStatus;
+    TPckgBuf<TInt> length;
+
+    //
+    //  Issue Ioctl for getting the length of the message
+    //
+    INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for first VCal entry"));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+
+    TBuf8<300> data;
+
+    //
+    //  Send a SMS in order to trigger receiving the SMS messages.
+    //  This is to make sure the SMS messages are not received before the 
+    //  wap address is bound to the socket.
+    // 
+    TRequestStatus status;
+    
+    iSocket.SendTo(data1, iWapAddr, 0, status);
+    User::WaitForRequest(status);
+    User::LeaveIfError(status.Int());
+    INFO_PRINTF1(_L("First Message (VCal) sent..."));
 
-     //
-     //  Waiting for the phone to be initialised
-     //
-     WaitForInitializeL();
-     
-     TRequestStatus ioctlStatus;
-     TRequestStatus recvStatus;
-     TPckgBuf<TInt> length;
-     
-     //
-     //  Indicating to the protocol that it's a new client
-     //
-     INFO_PRINTF1(_L("Socket set option for indicating new client"));
-     User::LeaveIfError(sock.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-     //
-     //  Bind
-     //
-     User::LeaveIfError(sock.Bind(wapAddr));
-     
-     //
-     //  Issue Ioctl for getting the length of the message
-     //
-     INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for first VCal entry"));
-     sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
- 
-     
-     TBuf8<300> data;
-     
-     //
-     //  Send a SMS in order to trigger receiving the SMS messages.
-     //  This is to make sure the SMS messages are not received before the 
-     //  wap address is bound to the socket.
-     //  
-     sock.SendTo(data1, wapAddr, 0, status);
-     User::WaitForRequest(status);
-     User::LeaveIfError(status.Int());
-     INFO_PRINTF1(_L("First Message (VCal) sent..."));
-     
-     //
-     //  Get the size of the first incoming message
-     //  The text string should be empty.
-     //
-     TBuf8<300> recvBuf;    
-     User::WaitForRequest(ioctlStatus);
-     User::LeaveIfError(ioctlStatus.Int());
-     INFO_PRINTF1(_L("IOCTL completed"));
-     //
-     //  Check if reported length is correct
-     //
-     if(length()!=data1.Length())    
-         {
-         verdict = EFail;
-         }
-     //>     //  Receiving a datagram
-     //
-     sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-     User::WaitForRequest(recvStatus);
-     User::LeaveIfError(recvStatus.Int());
-     INFO_PRINTF1(_L("Received the first message (VCal)..."));
-     
-     //  The receive buffer should contain an empty string.
-     //  This is as a consequence of the wapprot receiving
-     //  a single segment wap message which contains no data.
-     if(recvBuf.Compare(data1))
-         {
-         ERR_PRINTF1(_L("Non empty string returned"));
-         verdict = EFail;
-         }       
-     
-     //
-     //  Confirm the receipt of the message to the client
-     //
-     INFO_PRINTF1(_L("Socket set option for indicating receipt of first message (VCal)"));
-     User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-     
-     
-     //Issue Ioctl for getting the length of the second message  
-     INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for second VCard entry"));
-     sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
-     
-     //Get the size of the second incoming message
-     User::WaitForRequest(ioctlStatus);
-     User::LeaveIfError(ioctlStatus.Int());
-     INFO_PRINTF1(_L("IOCTL completed for second message (VCard)"));
-     
-     //Check if reported length is correct
-     if(length()!=data2.Length())
-         {
-         verdict = EFail;
-         }
-         
-     //Receiving a datagram (VCard)
-     sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-     User::WaitForRequest(recvStatus);
-     User::LeaveIfError(recvStatus.Int());
-     INFO_PRINTF1(_L("Received the second message (VCard)..."));
-     
-     //  Compare the received VCard message with the original one.
-     //  They should be identical. This checks that the WAPPROT
-     //  can receive a 2 segment wap datagram, with the 2nd segment containing no data.
-     //
-     if(recvBuf.Compare(data2))
-         {
-         ERR_PRINTF1(_L("VCard message received does not match with original message."));
-         verdict = EFail;
-         }
-         
-     //Confirm the receipt of the message to the client  
-     INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-     User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
-     //Issue Ioctl for getting the length of the third message  
+    //
+    //  Get the size of the first incoming message
+    //  The text string should be empty.
+    //
+    TBuf8<300> recvBuf;    
+    User::WaitForRequest(ioctlStatus);
+    User::LeaveIfError(ioctlStatus.Int());
+    INFO_PRINTF1(_L("IOCTL completed"));
+    
+    //
+    //  Check if reported length is correct
+    //
+    if(length()!=data1.Length())    
+        {
+        verdict = EFail;
+        }
+    
+    //
+    //  Receiving a datagram
+    //
+    TWapAddr recvWapAddr;
+    
+    iSocket.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
+    User::WaitForRequest(recvStatus);
+    User::LeaveIfError(recvStatus.Int());
+    INFO_PRINTF1(_L("Received the first message (VCal)..."));
+
+    //  The receive buffer should contain an empty string.
+    //  This is as a consequence of the wapprot receiving
+    //  a single segment wap message which contains no data.
+    if(recvBuf.Compare(data1))
+        {
+        ERR_PRINTF1(_L("Non empty string returned"));
+        verdict = EFail;
+        }       
 
-     INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for second VCard entry"));
-     sock.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+    //
+    //  Confirm the receipt of the message to the client
+    //
+    INFO_PRINTF1(_L("Socket set option for indicating receipt of first message (VCal)"));
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+
+
+    //Issue Ioctl for getting the length of the second message  
+    INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for second VCard entry"));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+
+    //Get the size of the second incoming message
+    User::WaitForRequest(ioctlStatus);
+    User::LeaveIfError(ioctlStatus.Int());
+    INFO_PRINTF1(_L("IOCTL completed for second message (VCard)"));
+
+    //Check if reported length is correct
+    if(length()!=data2.Length())
+        {
+        verdict = EFail;
+        }
+
+    //Receiving a datagram (VCard)
+    iSocket.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
+    User::WaitForRequest(recvStatus);
+    User::LeaveIfError(recvStatus.Int());
+    INFO_PRINTF1(_L("Received the second message (VCard)..."));
+
+    //  Compare the received VCard message with the original one.
+    //  They should be identical. This checks that the WAPPROT
+    //  can receive a 2 segment wap datagram, with the 2nd segment containing no data.
+    //
+    if(recvBuf.Compare(data2))
+        {
+        ERR_PRINTF1(_L("VCard message received does not match with original message."));
+        verdict = EFail;
+        }
+
+    //Confirm the receipt of the message to the client  
+    INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));
+    //Issue Ioctl for getting the length of the third message  
+
+    INFO_PRINTF1(_L("Issue of the IOCTL for GetLength for second VCard entry"));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
      
      //Get the size of the third incoming message
-     User::WaitForRequest(ioctlStatus);
-     User::LeaveIfError(ioctlStatus.Int());
-     INFO_PRINTF1(_L("IOCTL completed for third message (VCard)"));
-     
-     //Check if reported length is correct   
-     if(length()!=data1.Length())
-         {
-         verdict = EFail;
-         }
-     
-     //Receiving a datagram (VCard)
-     sock.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
-     User::WaitForRequest(recvStatus);
-     User::LeaveIfError(recvStatus.Int());
-     INFO_PRINTF1(_L("Received the third message (VCard)..."));
+    User::WaitForRequest(ioctlStatus);
+    User::LeaveIfError(ioctlStatus.Int());
+    INFO_PRINTF1(_L("IOCTL completed for third message (VCard)"));
+
+    //Check if reported length is correct   
+    if(length()!=data1.Length())
+        {
+        verdict = EFail;
+        }
      
-     //  The receive buffer should contain an empty string.
-     //  This is as a consequence of the WAPPROT containing 2 concatenated WAP Datagrams
-     //  each datagram segement containing no data.
-      if(recvBuf.Compare(data1))
-         {
-         ERR_PRINTF1(_L("VCard message received does not match with original message."));
-         verdict = EFail;
-         }
-         
-     //Confirm the receipt of the message to the client  
-     INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
-     User::LeaveIfError(sock.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));  
-     //
-     //  Closing the socket
-     //
-     sock.Close();
-     socketServer.Close();
-     CleanupStack::PopAndDestroy(&sock);
-     CleanupStack::Pop(&socketServer);
-     CleanupStack::PopAndDestroy(&testNumberProperty);
-     CleanupStack::PopAndDestroy(&phonePowerProperty);
-     INFO_PRINTF1(_L("End of CTestWapDatagramSegmentContainingNoData"));
-     SetTestStepResult(verdict);
-     return TestStepResult();
-     }
+    //Receiving a datagram (VCard)
+    iSocket.RecvFrom(recvBuf,recvWapAddr,0,recvStatus);
+    User::WaitForRequest(recvStatus);
+    User::LeaveIfError(recvStatus.Int());
+    INFO_PRINTF1(_L("Received the third message (VCard)..."));
 
+    //  The receive buffer should contain an empty string.
+    //  This is as a consequence of the WAPPROT containing 2 concatenated WAP Datagrams
+    //  each datagram segement containing no data.
+    if(recvBuf.Compare(data1))
+        {
+        ERR_PRINTF1(_L("VCard message received does not match with original message."));
+        verdict = EFail;
+        }
+
+    //Confirm the receipt of the message to the client  
+    INFO_PRINTF1(_L("Socket set option for indicating receipt of message"));
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0));  
+
+    iSocket.Close();
+    SetTestStepResult(verdict);
+    return TestStepResult();
+    }
+
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapIoctlSteps.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapIoctlSteps.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,20 +15,16 @@
 *
 */
 
-
-
 /**
- @file
+    @file
+    @test
 */
-#if (!defined __Ioctl_STEP_H__)
-#define __Ioctl_STEP_H__
-#include <test/testexecutestepbase.h>
-#include <in_sock.h>
-#include <es_sock.h>
-#include <wapmessage.h>
+
+#ifndef WAPIOCTLTESTSTEPS_H
+#define WAPIOCTLTESTSTEPS_H
+
 #include "WapProtSuiteStepBase.h"
 
-
 class CIoctlStep_1 : public CWapProtSuiteStepBase
 /**
  *  Sends/receives a 7_Bit business card using IOCTL
@@ -38,7 +34,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_2 : public CWapProtSuiteStepBase
 /**
  *  Send/receive a long 7-Bit calendar entry using IOCTL(two segments)
@@ -48,7 +43,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_3 : public CWapProtSuiteStepBase
 /**
  *  send/receive one 7-Bit two segments message and one 7-Bit one segment message
@@ -58,7 +52,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_4 : public CWapProtSuiteStepBase
 /**
  *  Simulating client crash conditions with 7bit message
@@ -68,7 +61,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_5 : public CWapProtSuiteStepBase
 /**
  *  Simulating client crash conditions with 8bit push message
@@ -78,7 +70,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_6 : public CWapProtSuiteStepBase
 /**
  *  Testing the old client for 7Bit message
@@ -88,7 +79,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_7 : public CWapProtSuiteStepBase
 /**
  *  Testing push messages (8-Bit)
@@ -98,7 +88,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_8 : public CWapProtSuiteStepBase
 /**
  *  Testing store of 8-Bit messages
@@ -108,7 +97,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_9 : public CWapProtSuiteStepBase
 /**
  *  Testing old clientwith 8-Bit messages
@@ -118,7 +106,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_10 : public CWapProtSuiteStepBase
 /**
  *  Testing wrong port numebr (i.e.8Bit port number) for 7Bit message
@@ -128,7 +115,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_11 : public CWapProtSuiteStepBase
 /**
  *  Testing CancelIOCTL
@@ -138,7 +124,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_12 : public CWapProtSuiteStepBase
 /**
  *  Test issue IOCTL without SetOption NewStyleClient
@@ -148,7 +133,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_13 : public CWapProtSuiteStepBase
 /**
  *  Test sending 8-Bit Calendar entry
@@ -158,7 +142,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_14 : public CWapProtSuiteStepBase
 /**
  *  Simulating client crash conditions with 8bit message
@@ -168,7 +151,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CIoctlStep_15 : public CWapProtSuiteStepBase
 /**
  *  Receives a 7Bit v-card using IOCTL with concatenation for new style client
@@ -178,7 +160,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 class CBackupRestoreStep : public CWapProtSuiteStepBase
 /**
  *  Simulating client crash conditions with 8bit message
@@ -190,7 +171,6 @@
 private:
 	TInt SendWapL();
 	TBool IsWapFileOpenL();
-	RSocketServ iSocketServer;
 	};
 
 class CIoctlStep_17 : public CWapProtSuiteStepBase
@@ -303,7 +283,7 @@
 	{
 public:
 
-	virtual TVerdict doTestStepPreambleL();
+    virtual TVerdict doTestStepPreambleL();
 	TInt DoPanicTestL(TPtrC* aTestData1, TPtrC16* aTelNumber, TInt aPort);
 	virtual TVerdict doTestStepL();
 	virtual TVerdict doTestStepPostambleL();
@@ -316,16 +296,14 @@
  */
 	{
 public:
+    CSetDiskMonitorLimits();
 	virtual TVerdict doTestStepL();
-
 	};
 
 class CSetDiskSpace : public CWapProtSuiteStepBase
-/**
- *  Fill the disk space
- */
 	{
 public:
+    CSetDiskSpace();
 	virtual TVerdict doTestStepL();
 
 	};
@@ -341,25 +319,11 @@
 	};
 
 class CReceiveWapMessage : public CWapProtSuiteStepBase
-/**
- *  Free the disk space
- */
 	{
 public:
+    CReceiveWapMessage();
 	virtual TVerdict doTestStepL();
-
 	};
-	
-class CInitializePhone : public CWapProtSuiteStepBase
-/**
- *  Free the disk space
- */
-	{
-public:
-	virtual TVerdict doTestStepL();
-
-	};
-
 
 /**
 Tests enumerating of a VCard which needs to go via the observer and
@@ -371,7 +335,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 /**
  *  Sends a 7-bit VCard with an email address in it, to ensure that '@'
  *  characters are sent correctly.
@@ -382,7 +345,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 /**
  *  Attempts to send datagrams bigger than the maximum message and bigger
  *  than the maximum size of an MBuf.
@@ -399,9 +361,8 @@
   *  segment which has a wap header but an empty data field.
   */
      {
- public:
+public:
      virtual TVerdict doTestStepL();
      };
 
-	
-#endif
+#endif // WAPIOCTLTESTSTEPS_H
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuite.ini	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuite.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -1,83 +1,112 @@
 [TestStep1]
+testNumber=1
 Service_Center=+447765222315
 Wap_Port=226
 Test_Data1=BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
 
 [TestStep2]
+testNumber=2
 Service_Center=+447765222315
 Wap_Port=228
 Test_Data1=BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
 Test_Data2=BEGIN:VCARD\nVERSION:2.1\n  REV:20071109T095015Z\n  UID:763920a1eee581e7-00e11ba642605c30-9\n  N:williamson;rob\;[];;;\n  TEL;VOICE;CELL:0123\nEND:VCARD\r\n
 
 [TestStep3]
+testNumber=3
 Service_Center=+447765222315
 Wap_Port=226
 Test_Data1=BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
 Test_Data2=BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Kamran\r\nN:Kambodian\r\nORG:KamranSoftware\r\nTITLE:CEO\r\nLABEL:Islington\r\nEND:VCARD\r\n
 
 [TestStep4]
+testNumber=4
 Service_Center=+447765222315
 Wap_Port=226
 Test_Data1=BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
 
 [TestStep5]
+testNumber=5
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep6]
+testNumber=6
 Service_Center=+447765222315
 Wap_Port=226
 Test_Data1=BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
 
 [TestStep7]
+testNumber=7
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep8]
+testNumber=8
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep9]
+testNumber=9
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep10]
+testNumber=10
 Test_Data1=BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep11]
+testNumber=11
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep12]
+testNumber=12
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep13]
+testNumber=13
 Service_Center=+447765222315
 Wap_Port=228
 Test_Data1=BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
 
 [TestStep14]
+testNumber=14
 Service_Center=+447765222315
 Wap_Port=228
 Test_Data1=BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
 
 [TestStep15]
+testNumber=15
 Service_Center=+447765222315
 Wap_Port=9204
 
 [TestStep16]
+testNumber=16
 Test_Data1=BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
 Service_Center=+447765222315
 Wap_Port=2948
 
 [TestStep17_TestWapDatagramSegmentContainingNoData]
+testNumber=36
 Service_Center=+447765222315
 Wap_Port=9204
 
 [Sending7BitBusinessCardWithEmailWAP]
+testNumber=35
 Service_Center=+447765222315
 Wap_Port=226
 Test_Data1=begin:vcard\r\nn:;Julia\r\nadr:;;;;;;\r\nversion:2.1\r\nemail;internet:julia.blumin@symbian.com\r\nfn:Julia Blumin\r\nend:vcard
+
+[EnumeratingVCard]
+testNumber=34
+Service_Center=+447765222315
+Wap_Port=226
+
+[OversizedDatagram]
+testNumber=34
+Service_Center=+447765222315
+Wap_Port=226
+
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteDefs.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteDefs.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,21 +15,20 @@
 *
 */
 
-
-
 /**
- @file
+    @file
+    @test
 */
 
-#if (!defined __WAP_DEFS__)
-#define __WAP_DEFS__
+#ifndef WAPPROTSUITEDEFS_H
+#define WAPPROTSUITEDEFS_H
 
 // Keys in the configuration ini file
 _LIT(KSCNumber,"Service_Center");
 _LIT(KWapPort,"Wap_Port");
+_LIT(KWapPort2,"Wap_Port2");
 _LIT(KTestData1,"Test_Data1");
 _LIT(KTestData2,"Test_Data2");
-_LIT(KTSY,"SIM");
 
 // For test step panics
 _LIT(KWapProtSuitePanic,"WapProtSuite");
@@ -40,7 +39,6 @@
 // Could be read from the ini file
 const TInt KEchoPort = 7;
 
-
 //////////////////////////////////////////////////////////////////////////////
 // Wap Address / Port Settings
 //////////////////////////////////////////////////////////////////////////////
@@ -59,5 +57,4 @@
 	};
 */
 
-
-#endif
+#endif // WAPPROTSUITEDEFS_H
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,15 +16,16 @@
 //
 
 /**
- @file
+    @file
+    @test
 */
 
 // Include your own server header file and step header file(s) here
 #include "WapProtSuiteServer.h"
+
 #include "WapIoctlSteps.h"
 #include "WapStatusReports.h"
 
-
 CWapProtSuite* CWapProtSuite::NewL()
 /**
  *  @return - Instance of the test server
@@ -33,19 +34,21 @@
  *  CTestServer derived server.
  */
 	{
-	CWapProtSuite * server = new (ELeave) CWapProtSuite();
+	CWapProtSuite* server = new (ELeave) CWapProtSuite();
 	CleanupStack::PushL(server);
-	// CServer base class call
-	
-	RProcess	handle = RProcess();
-	TParsePtrC	serverName(handle.FileName());
+
+    // CSmsStackTestServer intermediate base class call
+    server->InitializeTsyAndPhonesL();
+    
+    // CServer base class call
+    RProcess    handle = RProcess();
+    TParsePtrC  serverName(handle.FileName());
 	server->ConstructL(serverName.Name());
 	
 	CleanupStack::Pop(server);
 	return server;
 	}
 
-
 LOCAL_C void MainL()
 	{
 	CActiveScheduler* sched=NULL;
@@ -255,10 +258,6 @@
 	else if (aStepName == _L("ReceiveWapMessage"))
 		{
 		testStep = new CReceiveWapMessage();
-		}		
-	else if (aStepName == _L("InitializePhone"))
-		{
-		testStep = new CInitializePhone();
 		}
 	else if (aStepName == _L("TestEnumeratingVCard"))
 		{
@@ -272,11 +271,11 @@
 		{
 		testStep = new CTestOversizedDatagram();
 		}
- 	else if (aStepName == _L("TestWapDatagramSegmentContainingNoData"))
- 	    {
- 	    testStep = new CTestWapDatagramSegmentContainingNoData();
- 	    }
-		
+	else if (aStepName == _L("TestWapDatagramSegmentContainingNoData"))
+        {
+        testStep = new CTestWapDatagramSegmentContainingNoData();
+        }
+	
 	//
 	// Set the test step name here to save code!!!
 	//
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteServer.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,23 +15,22 @@
 *
 */
 
-
-
 /**
- @file
+    @file
+    @test 
 */
 
-#if (!defined __WAPPROT_SUITE_SERVER_H__)
-#define __WAPPROT_SUITE_SERVER_H__
-#include <test/testexecuteserverbase.h>
+#ifndef WAPPROT_SUITE_SERVER_H
+#define WAPPROT_SUITE_SERVER_H
 
-class CWapProtSuite : public CTestServer
-	{
+#include "smsstackbasetestserver.h" 
+
+class CWapProtSuite : public CSmsStackTestServer
+    {
 public:
-	static CWapProtSuite* NewL();
-	// Base class pure virtual override
-	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
-private:
-	};
+    static CWapProtSuite* NewL();
+    // Base class pure virtual override
+    virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+    };
 
-#endif
+#endif  // WAPPROT_SUITE_SERVER_H
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteStepBase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteStepBase.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -14,527 +14,161 @@
 //
 
 /**
- @file
+    @file
+    @test
 */
 
-#include <sacls.h>
-#include <smspver.h>
 #include "WapProtSuiteStepBase.h"
-#include "WapProtSuiteDefs.h"
 
-/**
-Utility for setting the test number used by SIM TSY
-*/
-void CWapProtSuiteStepBase::SetTestNumberL()
-{
-	TInt testNumber;
-	GetIntFromConfig(ConfigSection(), _L("testNumber"), testNumber);
-
-	RProperty testNumberProperty;
-	User::LeaveIfError(testNumberProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
-	CleanupClosePushL(testNumberProperty);
+#include <Gsmumsg.h>
+#include <gsmubuf.h>
 
-	TRequestStatus status;
-	testNumberProperty.Subscribe(status);
-	INFO_PRINTF1(_L("Setting Sim.Tsy test number P&S property"));
-	User::LeaveIfError(testNumberProperty.Set(KUidPSSimTsyCategory,KPSSimTsyTestNumber,testNumber));
-	User::WaitForRequest(status);
-	
-	TEST(status.Int() == KErrNone);
-	TInt testNumberCheck;
-	User::LeaveIfError(testNumberProperty.Get(testNumberCheck));
-	if (testNumber != testNumberCheck)
-		{
-	    INFO_PRINTF3(_L("Test number property set to [%d], but value returned is [%d]"),testNumber,testNumberCheck);
-		User::Leave(KErrNotFound);
-		}
+#include "smspver.h"
+#include "WapProtSuiteDefs.h"
+#include "wap_sock.h"
+#include "smsstacktestconsts.h"
 
-	CleanupStack::PopAndDestroy(&testNumberProperty);
-
-}
-
-
-void CWapProtSuiteStepBase::WaitForRecvL(RSocket& aSocket)
+TVerdict CWapProtSuiteStepBase::doTestStepPreambleL()
 /**
- * Wait for an Sms to be received
- * @param aSocket The status is return to this socket
- * @leave Leaves if receiving is completed with error code
+ *  @return - TVerdict
+ *  Implementation of CTestStep base class virtual
+ *  Do all initialisation common to derived classes in here.
  */
 	{
-	TPckgBuf<TUint> sbuf;
-	sbuf()=KSockSelectRead;
-	TRequestStatus status;
-	aSocket.Ioctl(KIOctlSelect,status,&sbuf,KSOLSocket);
-	User::WaitForRequest(status);
-	TEST(status.Int() == KErrNone);
+    //base class preamble - marks the heap
+    CSmsBaseTestStep::doTestStepPreambleL();
+    
+	return TestStepResult();
+	}
+
+TVerdict CWapProtSuiteStepBase::doTestStepPostambleL()
+	{
+    //base class postamble - unmarks the heap
+    CSmsBaseTestStep::doTestStepPostambleL();
+	
+	return TestStepResult();
 	}
 
-
-CSmsMessage* CWapProtSuiteStepBase::RecvSmsL(RSocket& aSocket, TInt aIoctl)
 /**
- * Receive an Sms
- * @param aSocket is used to stream the sms message from the socket server
- * @return CSmsMessage* :Sms message from Sms stack
- * @leave Leaves if streaming the message from the socket server doesn't succeed
- */
+	Set up and open socket
+*/
+void CWapProtSuiteStepBase::SetupWapSocketL()
 	{
-
-	RFs lFs;	
-	User::LeaveIfError(lFs.Connect());
-	
-	CSmsBuffer* buffer=CSmsBuffer::NewL();
-	CSmsMessage* smsMessage=CSmsMessage::NewL(lFs, CSmsPDU::ESmsSubmit,buffer);
-	CleanupStack::PushL(smsMessage);
-
-	RSmsSocketReadStream readstream(aSocket);
-	TRAPD(ret,readstream >> *smsMessage);
-	TEST(ret == KErrNone);
-
-	TPckgBuf<TUint> sbuf;
-	TRequestStatus status;
-	aSocket.Ioctl(aIoctl, status, &sbuf, KSolSmsProv);
-	User::WaitForRequest(status);
-
-	CleanupStack::Pop(smsMessage);
-	
-	lFs.Close();
-	
-	return smsMessage;
+	SetupWapSocketL(iSocket, iWapAddr, KWapPort);
 	}
 
-
+void CWapProtSuiteStepBase::SetupWapSocketL(RSocket& aSocket, TWapAddr& aWapAddr, const TDesC& aPort, TBool aNewStyleClient)
+    {
+    OpenSocketL(iSocketServer, aSocket);
 
-/**
-Utility for setting up the WAP address - Port number and service center address
-*/
-void CWapProtSuiteStepBase::SetWapAddrL()
-{
-	TInt port;
-
-	//Get the port number from the ini file
-	GetIntFromConfig(ConfigSection(),_L("port"), port);
+    //Read port and SC number from ini file
+    ReadWapPortSettingsL(aWapAddr, aPort);
+    
+    if (aNewStyleClient)
+        {
+        //  Indicating to the protocol that it's a new client
+        INFO_PRINTF1(_L("Socket set option for indicating new client"));
+        TInt ret = aSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0);
+        TESTCHECKL(ret, KErrNone, "Indicating to the protocol that it's a new client")
+        }
+    
+    //  Bind
+    TInt ret = aSocket.Bind(aWapAddr);
+    TESTCHECKL(ret, KErrNone, "Socket bind");
+    
+    TProtocolDesc desc;
+    aSocket.Info(desc);
+    INFO_PRINTF2(_L("Protocol name: %S"), &desc.iName);
 	
-	iWapAddr.SetWapPort(TWapPortNumber(port));
+    TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
+    User::After(InitPause);                         //call to the TSY and finish its StartUp.
 
-	//Get the service center number
-	TPtrC telNumber;
-	GetStringFromConfig(ConfigSection(),_L("telNumber"), telNumber);
-	TBuf8<100> scNumber;
-	scNumber.Copy(telNumber);
-	TPtrC8 scAddr(scNumber);
-	iWapAddr.SetWapAddress(scAddr);
-	
-	//	Bind
-	User::LeaveIfError(iSocket.Bind(iWapAddr));
-}
-
+    }
 
 /**
 Setup a socket for receiving status repots
 */
 void CWapProtSuiteStepBase::SetupStatusReportSocketL()
 {
-	//	Open the socket for receiving status reports
-    User::LeaveIfError(iStatusReportSocket.Open(iSocketServer,KSMSAddrFamily,KSockDatagram,KSMSDatagramProtocol));
-	
-	//Bind to the socket
-	//TSmsAddr smsAddr;
-	iSmsAddr.SetSmsAddrFamily(ESmsAddrStatusReport);
-	TInt ret=iStatusReportSocket.Bind(iSmsAddr);
-	INFO_PRINTF2(_L("Socket Bind Return Value : %d"),ret);
-	TESTL(ret == KErrNone);
-	
-	//	Waiting for the phone to be initialised
-	//WaitForInitializeL();
-}
-
-
-/**
-Get the coding of the message
-*/
-void CWapProtSuiteStepBase::SetCodingSchemeL()
-{
-	TInt dataCoding;
-
-	//Get the port number from the ini file
-	GetIntFromConfig(ConfigSection(),_L("dataCoding"), dataCoding);
-	
-	if(dataCoding==8)
-		iCodingScheme = EWapSms8BitDCS;
-	else
-		iCodingScheme = EWapSms7BitDCS;
-	
-	if(iCodingScheme==EWapSms8BitDCS)	
-		User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS));
-	else
-		User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms7BitDCS));
-}
-
-void CWapProtSuiteStepBase::SetMessageTypeL()
-{
-	//Get the type of message
-	TPtrC messageType;
-	GetStringFromConfig(ConfigSection(),_L("type"), messageType);
-
-	//Set the message type to WapDatagram
-	if(messageType.Compare(_L("Datagram")) ==0)
-		User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionWapDatagram,KWapSmsOptionLevel));	
-//	else
-//		User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionSmartMessage,KWapSmsOptionLevel));	
-			
-	//The creation of the message will set the type to SMART by default
-}
-	
-
-
-TVerdict CWapProtSuiteStepBase::doTestStepPreambleL()
-/**
- *  @return - TVerdict
- *  Implementation of CTestStep base class virtual
- *  Load serial drivers
- *  Do all initialisation common to derived classes in here.
- */
-	{
-	__UHEAP_MARK;
-	
-	iScheduler = new(ELeave) CActiveScheduler;
-	CActiveScheduler::Install(iScheduler);
-
-	iSecureBackupEngine = CSBEClient::NewL();
-	iSecureBackupEngine->SetBURModeL(TDriveList(_L8("C")),
-									 EBURNormal, ENoBackup);
-
-	TInt err;
-    err=User::LoadPhysicalDevice(PDD_NAME);
-    TESTL(err == KErrNone  ||  err == KErrAlreadyExists);
-
-    err=User::LoadLogicalDevice(LDD_NAME );
-    TESTL(err == KErrNone  ||  err == KErrAlreadyExists);
-
-    err = StartC32();
-    if(err != KErrNone && err != KErrAlreadyExists)
-        {
-        ERR_PRINTF2(TRefByValue<const TDesC>(_L("Start Comms Process Status = %d")), err);
-        SetTestStepResult(EFail);
-        }
-
-	INFO_PRINTF1(_L("Deleting segmentation and reassembly stores..."));
-
-	RFs fileServer;
-	User::LeaveIfError(fileServer.Connect());
-
-	// delete segmentation and reassembly store files before the test
-	_LIT(KReassemblyStoreName,"C:\\Private\\101F7989\\sms\\smsreast.dat");
-	_LIT(KSegmentationStoreName,"C:\\Private\\101F7989\\sms\\smssegst.dat");
-	_LIT(KWapReassemblyStoreName,"C:\\Private\\101F7989\\sms\\wapreast.dat");
-
-	fileServer.Delete(KWapReassemblyStoreName);
-	fileServer.Delete(KReassemblyStoreName);
-	fileServer.Delete(KSegmentationStoreName);
-
-	fileServer.Close();
-
-	return TestStepResult();
-	}
-
-TVerdict CWapProtSuiteStepBase::doTestStepPostambleL()
-	{
-	delete iSecureBackupEngine;
-	iSecureBackupEngine = NULL;
-
-	delete iScheduler;
-	iScheduler = NULL;
-
-	__UHEAP_MARKEND;
-	
-	return TestStepResult();
-	}
-
-void CWapProtSuiteStepBase::WaitForInitializeL()
-	{
-	TName tsy(KTSY);
-	RTelServer serverT;
-	User::LeaveIfError(serverT.Connect());
-	CleanupClosePushL(serverT);
-	User::LeaveIfError(serverT.LoadPhoneModule(tsy));
-
-	// Find the phone corresponding to this TSY and open a number of handles on it
-	TInt numPhones;
-	User::LeaveIfError(serverT.EnumeratePhones(numPhones));
-	RPhone phone;
-
-	while (numPhones--)
-		{
-		TName phoneTsy;
-		User::LeaveIfError(serverT.GetTsyName(numPhones,phoneTsy));
-		if (phoneTsy.CompareF(tsy)==KErrNone)
-			{
-			RTelServer::TPhoneInfo info;
-			User::LeaveIfError(serverT.GetPhoneInfo(numPhones,info));
-			User::LeaveIfError(phone.Open(serverT,info.iName));
-			CleanupClosePushL(phone);
-			const TInt err = phone.Initialise();
-			User::LeaveIfError(err);
-			CleanupStack::PopAndDestroy(&phone);
-			break;
-			}
-		}
-
-	CleanupStack::PopAndDestroy(&serverT);
-	}
-
-
-
-/**
-  *  Set high and low limits in .RSC file. When the SMS Stack starts the limits
-  *  will be loaded as if set by the licensee.
-  *
-  *  @param aLowLimit   Low limit value.
-  *  @param aHighLimit  High limit value.
-  *
-  *  @note Only works in debug mode for security reasons.
-  */ 
-void CWapProtSuiteStepBase::SetLowHighLimitsInSmsuRscL(TInt64 aLowLimit, TInt64 aHighLimit)
-	{
-	INFO_PRINTF3(_L("Setting high and low .RSC limits to %ld and %ld."),
-				 aHighLimit, aLowLimit);
-
-	__ASSERT_ALWAYS(aLowLimit  < 0x7fffffff, User::Leave(KErrArgument));
-	__ASSERT_ALWAYS(aHighLimit < 0x7fffffff, User::Leave(KErrArgument));
-	__ASSERT_ALWAYS(aLowLimit  < aHighLimit, User::Leave(KErrArgument));
-
-	RFs lFs;	
-	User::LeaveIfError(lFs.Connect());
+    //  Open the socket for receiving status reports
+    OpenSocketL(iSocketServer, iStatusReportSocket, KSMSAddrFamily, KSMSDatagramProtocol);
+    
+    //Bind to the socket
+    iSmsAddr.SetSmsAddrFamily(ESmsAddrStatusReport);
+    TInt ret=iStatusReportSocket.Bind(iSmsAddr);
+    TESTCHECKL(ret, KErrNone, "Status Report Socket bind");
 
-	//
-	// Data for the SMSU resource file. The low limit is written at position
-	// 20 and the high limit at position 24.
-	//
-	const TInt  smsuRscSize = 34;
-	TChar  smsuRscData[smsuRscSize] =
-				{0x6b, 0x4a, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00,
-   	 			 0x00, 0x00, 0x00, 0x00, 0x19, 0xfd, 0x48, 0xe8,
-				 0x01, 0x04, 0x00, 0x00, 0x78, 0x56, 0x34, 0x12,
-				 0x87, 0x65, 0x43, 0x21, 0x14, 0x00, 0x18, 0x00, 
-   		 		 0x1c, 0x00};
-    						  
-	smsuRscData[20] = (aLowLimit  >>  0) & 0xff;
-	smsuRscData[21] = (aLowLimit  >>  8) & 0xff;
-	smsuRscData[22] = (aLowLimit  >> 16) & 0xff;
-	smsuRscData[23] = (aLowLimit  >> 24) & 0xff;
-	smsuRscData[24] = (aHighLimit >>  0) & 0xff;
-	smsuRscData[25] = (aHighLimit >>  8) & 0xff;
-	smsuRscData[26] = (aHighLimit >> 16) & 0xff;
-	smsuRscData[27] = (aHighLimit >> 24) & 0xff;
-
-	TBuf8<smsuRscSize>  smsuRscBuffer;
-
-	for (TInt index = 0;  index < smsuRscSize;  index++)
-		{
-		smsuRscBuffer.Append(smsuRscData[index]);
-		}
-
-	//
-	// Ensure the target directory exists...
-	//
-	TInt  ret;
-	
-	ret = lFs.MkDir(KSMSUResourceDir);
-	if (ret != KErrNone  &&  ret != KErrAlreadyExists)
-		{
-		User::Leave(ret);
-		}
-
-	//
-	// Write the RSC file to the private C:\ directory...
-	//
-	RFile  file;
-
-	User::LeaveIfError(file.Replace(lFs, KSMSUResourceFile, EFileWrite));
-	CleanupClosePushL(file);
-	User::LeaveIfError(file.Write(smsuRscSize, smsuRscBuffer));
-	CleanupStack::PopAndDestroy(&file);
-	
-	lFs.Close();
-	}
-
-/**
- * Sets high and low limits in .RSC file and then reserves disk space to match requested levels.
- * 
- * Checks the current free space and then sets the high and low marks
- * to be aHighDrop MB and aLowDrop MB below the current free space 
- * level.
- * 
- * Then diskspace is reserved to aFreeDrop MB below the current free
- * space level.
- * 
- * If the current free space level is greater then aMax then the 
- * current free space level is set to aMax
- * 
- * If the current free space level is less than aLowDrop MB then this
- * method leaves with KErrArgument.
- * 
- * @param   aHighDrop   The number of MB below the current free space level for the high level mark (in the .RSC file)
- * @param   aLowDrop    The number of MB below the current free space level for the low level mark (in the .RSC file)  
- * @param   aFreeDrop   The number of MB below the current free space level to set the free space to ;
- *                      if aFreeDrop == 0, then SetFreeDiskSpaceL() is not called
- * @param   aMax        The maximum level for the high limit allowed
- * 
- * @return  The max current free space level used.
- * 
- * @leave   KErrArgument if the current free diskspace level is less than aLowDrop MB
- * @leave   KErrArgument if aMax is not greater than aLowDrop MB
- * @leave   KErrArgument if aHighDrop >= aLowDrop  
- */
-TUint64 CWapProtSuiteStepBase::SetHighLowLimitsAndDiskSpaceLevelL(TUint aHighDrop, TUint aLowDrop, TUint aFreeDrop, TUint64 aMax/*=0x7fffffff*/)
-    {
-    INFO_PRINTF5(_L("Setting High-Low limits and Diskspace levels [aHighDrop=%u, aLowDrop=%u, aFreeDrop=%u, aMax=%ld]"), 
-            aHighDrop, aLowDrop, aFreeDrop, aMax);
-    
-    __ASSERT_ALWAYS( (aMax > (aLowDrop*1024*1024)), User::Leave(KErrArgument));
-    __ASSERT_ALWAYS( (aLowDrop > aHighDrop), User::Leave(KErrArgument));
-    
-    ReleaseDiskSpaceL();
-   
-    TVolumeInfo  volumeInfo;
-    RFs fs;
-    User::LeaveIfError(fs.Connect());
-    CleanupClosePushL(fs);
-    User::LeaveIfError(fs.Volume(volumeInfo, EDriveC));
-    INFO_PRINTF2(_L("  Drive C currently has %ld bytes free."), volumeInfo.iFree);
+    TProtocolDesc desc;
+    iStatusReportSocket.Info(desc);
+    INFO_PRINTF2(_L("Protocol name: %S"), &desc.iName);
     
-    TUint64 current = volumeInfo.iFree;
-    if( current < (aLowDrop*1024*1024) )
-        {
-        INFO_PRINTF1(_L("  Drive C already has too little free space!"));
-        User::Leave(KErrArgument);
-        }
-    if( current > aMax )
-        {
-        current = aMax;
-        }
-    TUint64 high = current - (aHighDrop*1024*1024);
-    TUint64 low  = current - (aLowDrop*1024*1024);    
-        
-    SetLowHighLimitsInSmsuRscL(low, high);
-    
-    if( aFreeDrop > 0 )
-        {
-        TUint64 free = current - (aFreeDrop*1024*1024);    
-        SetFreeDiskSpaceL(free);
-        }
-    
-    CleanupStack::PopAndDestroy(&fs);   
-    return current;
-    }
+    TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
+    User::After(InitPause);                         //call to the TSY and finish its StartUp.
 
-void CWapProtSuiteStepBase::SetFreeDiskSpaceFromDropLevelL(TUint aFreeDrop)
-    {
-    if( aFreeDrop == 0)
-        {
-        return;
-        }
-    
-    RFs fs;
-    User::LeaveIfError(fs.Connect());
-    CleanupClosePushL(fs);    
-    
-    TVolumeInfo  volumeInfo;
-    User::LeaveIfError(fs.Volume(volumeInfo, EDriveC));
-    TUint64 current = volumeInfo.iFree;
-    if( current > 0x7fffffff )
-        {
-        current = 0x7fffffff;
-        }    
-    TUint64 free = current - (aFreeDrop*1024*1024);
-    SetFreeDiskSpaceL(free);
-    CleanupStack::PopAndDestroy(&fs); 
-    }
-/**
- *  Reserves disk space so that a specified amount of free disk space is
- *  available.
- *
- *  @param aNewFreeValue  Amount of free space required.
- */
-void CWapProtSuiteStepBase::SetFreeDiskSpaceL(TInt64 aNewFreeValue)
-    {
-    
-#ifndef _DEBUG
-    ERR_PRINTF1(_L("Unexpected call: CWapProtSuiteStepBase::SetFreeDiskSpaceL() is expected to be called only in DEBUG mode."));
-    User::Leave(KErrNotSupported);
-#else
-
-    INFO_PRINTF2(_L("Setting Drive C free disk space to %ld bytes."), aNewFreeValue);
-    
-    __ASSERT_DEBUG( (aNewFreeValue <= 0x7fffffff), User::Leave(KErrArgument));
-            
-    TInt err = RProperty::Set(KUidPSSMSStackCategory, KUidPSSMSStackFreeDiskSpaceKey, (TInt)aNewFreeValue);
-    if (err != KErrNone)
-        {
-        ERR_PRINTF2(_L("RProperty::Set() failure [err=%d]"), err);
-        User::Leave(err);
-        }
-#endif               
-    } // CSMSTestSteps::SetFreeDiskSpaceL
-	
-/**
- *  Release all reserved disk space.
- */
-void CWapProtSuiteStepBase::ReleaseDiskSpaceL()
-	{
-	
-#ifndef _DEBUG
-    ERR_PRINTF1(_L("Unexpected call: CWapProtSuiteStepBase::ReleaseDiskSpaceL() is expected to be called only in DEBUG mode."));
-    User::Leave(KErrNotSupported);
-#else
-
-    INFO_PRINTF1(_L("CWapProtSuiteStepBase::ReleaseDiskSpaceL()"));
-    
-    RFs fs;
-    User::LeaveIfError(fs.Connect());
-    CleanupClosePushL(fs);
-    
-    TVolumeInfo  volumeInfo;
-    User::LeaveIfError(fs.Volume(volumeInfo, EDriveC));
-    TUint64 current = volumeInfo.iFree;
-    if( current > 0x7fffffff )
-        {
-        current = 0x7fffffff;
-        }         
-    
-    SetFreeDiskSpaceL(current);
-    CleanupStack::PopAndDestroy(&fs);
-#endif       
-	} // CSMSTestSteps::ReleaseDiskSpaceL
-
+}
 
 /**
 	Get WAP Address from INI file
 */
-void CWapProtSuiteStepBase::ReadWapPortSettingsL(TWapAddr &aWapAddr)
+void CWapProtSuiteStepBase::ReadWapPortSettingsL(TWapAddr& aWapAddr, const TDesC& aPort)
 	{
 	//Local vars	
 	TPtrC16 telNumber;
 	TInt port;
 	
 	//Read Port and SC number from INI file
-	if(!GetStringFromConfig(ConfigSection(),KSCNumber,telNumber) ||
-	   !GetIntFromConfig(ConfigSection(),KWapPort,port)
-		)
-		{
-		// Leave if there's any error.
-		User::Leave(KErrNotFound);
-		}
-	  	
+	User::LeaveIfError(GetStringFromConfig(ConfigSection(),KSCNumber,telNumber));
+	User::LeaveIfError(GetIntFromConfig(ConfigSection(), aPort, port));
 
 	aWapAddr.SetWapPort(TWapPortNumber(port));
 	TBuf8<100> scNumber;
 	scNumber.Copy(telNumber);
 	TPtrC8 scAddr(scNumber);
-	aWapAddr.SetWapAddress(scAddr);	  	
+	aWapAddr.SetWapAddress(scAddr);	
 	}
 
+/**
+Get the coding of the message
+*/
+void CWapProtSuiteStepBase::SetCodingSchemeL()
+    {
+    TInt dataCoding;
+    TInt err = KErrNone;
 
+    //Get the port number from the ini file
+    GetIntFromConfig(ConfigSection(),_L("dataCoding"), dataCoding);
+
+    if(dataCoding==8)
+        {
+        err = iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms8BitDCS);
+        }
+    else
+        {
+        err = iSocket.SetOpt(KWapSmsOptionNameDCS,KWapSmsOptionLevel,EWapSms7BitDCS);
+        }
+
+    TESTCHECKL(err, KErrNone, "Setting Data Coding Scheme");
+    }
+
+void CWapProtSuiteStepBase::SetMessageTypeL()
+    {
+    TInt err = KErrNone;
+    TPtrC messageType;
+
+    //Get the type of message
+    GetStringFromConfig(ConfigSection(),_L("type"), messageType);
+
+    //Set the message type to WapDatagram
+    if(messageType.Compare(_L("Datagram")) == 0)
+        {
+        err = iSocket.SetOpt(KWapSmsOptionWapDatagram,KWapSmsOptionLevel);
+        }
+    //The creation of the message will set the type to SMART by default
+    //  else
+    //      User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionSmartMessage,KWapSmsOptionLevel));   
+    
+    TESTCHECKL(err, KErrNone, "Setting Message Type");
+    }
 
 /**
 Used to check the CSmsMessage, will also print details of values in CSmsMessage
@@ -583,13 +217,11 @@
 void CWapProtSuiteStepBase::GetMessageParameterL(RSocket& aSock, TPtr8& aParameterStorePtr)
 	{
 	TRequestStatus getParamStatus;
-	
-	// Get the message parameter and assign to TPtr8
-	INFO_PRINTF1(_L("Issue of IOCTL for KSOGetMessageParameters"));
+
+	INFO_PRINTF1(_L("Getting message parameter..."));
 	aSock.Ioctl(KSOGetMessageParameters, getParamStatus, &aParameterStorePtr, KSolWapProv);
 	User::WaitForRequest(getParamStatus);
-	INFO_PRINTF1(_L("KSOGetMessageParameters on Ioctl completed"));
-	TESTL(getParamStatus.Int()==KErrNone);
+	TESTCHECK(getParamStatus.Int(), KErrNone, "Getting message parameter");
 	}
 
 /**
@@ -607,15 +239,13 @@
 	CleanupClosePushL(rFs);
 	
 	smsMessageBuf = CSmsMessage::NewL(rFs, CSmsPDU::ESmsStatusReport, CSmsBuffer::NewL());
+	CleanupStack::PushL(smsMessageBuf);
 	smsMessageBuf->InternalizeWithoutBufferL(reader);
 	
 	INFO_PRINTF1(_L("Check the contents of the internalized sms message"));
 	CheckSmsMessageL(*smsMessageBuf, aScnumber);
 	
-	rFs.Close();
-	delete smsMessageBuf;
-	CleanupStack::PopAndDestroy(); // rFs.Close()
-	CleanupStack::PopAndDestroy(&reader);
+	CleanupStack::PopAndDestroy(3, &reader); // reader, rFs, smsMessageBuf
 	}
 
 void CWapProtSuiteStepBase::OpenSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TUint aAddrFamily,TUint aProtocol)
@@ -632,8 +262,6 @@
          //If error == KErrNone, do nothing.
          //If error == KErrServerBusy, change the leave code to "84" to imply the failure otherwise the failed step will be started again.
          //Any other errors will leave with the error code.
-
-         
          if(error == KErrServerBusy)
              {
              error = TEST_ERROR_CODE;
@@ -645,7 +273,59 @@
              }
           User::Leave(error);
           }   
-  
     CleanupClosePushL(aSocket);
     }
 
+void CWapProtSuiteStepBase::ReceiveWapMessageFromSocket(TInt aLength, TPtrC& aData)
+    {
+    //  Receiving a message, length of which should be requested prior to calling
+    // this method from the socket and supplied thought aLength parameter
+    
+    TRequestStatus  status;
+    TWapAddr recvWapAddr;           
+    HBufC8* recvBuf = HBufC8::NewLC(aLength);
+    TPtr8 recvPtr = recvBuf->Des(); 
+
+    INFO_PRINTF1(_L("Receiving a message from the socket..."));
+    iSocket.RecvFrom(recvPtr, recvWapAddr, 0, status);
+    User::WaitForRequest(status);
+    TESTCHECKL(status.Int(), KErrNone, "Receiving a message");
+    
+    TBuf8<300> data;
+    data.Copy(aData);
+    TESTCHECK(recvPtr.Compare(data), 0, "Checking the received message matched expected");
+    
+    //  Confirm the receipt of the message to the client
+    INFO_PRINTF1(_L("Setting Socket option for indicating receipt of the message..."));
+    TInt ret = iSocket.SetOpt(KWapSmsOptionOKToDeleteMessage,KWapSmsOptionLevel, 0);
+    TESTCHECKL(ret, KErrNone, "Setting Socket option for indicating receipt of the message");
+    CleanupStack::PopAndDestroy(recvBuf);
+    }
+
+void CWapProtSuiteStepBase::ReceiveWapMessage(TPtrC& aData)
+    {
+    TRequestStatus ioctlStatus;
+    TPckgBuf<TInt> length;
+    
+    INFO_PRINTF1(_L("Issuing IOCTL for getting the length of the message..."));
+    iSocket.Ioctl(KSOGetLength, ioctlStatus, &length, KSolWapProv);
+    User::WaitForRequest(ioctlStatus);
+    TESTCHECKL(ioctlStatus.Int(), KErrNone, "Getting the length of the incoming message");
+    
+    //  Check if reported length is correct
+    TESTCHECK(length(), aData.Length(), "Check if reported length is correct");
+    
+    ReceiveWapMessageFromSocket(length(), aData);
+    }
+
+void CWapProtSuiteStepBase::SendWapMessage(TPtrC& aData)
+    {
+    TRequestStatus status;
+    TBuf8<300> data;
+    data.Copy(aData);
+
+    INFO_PRINTF1(_L("Sending a message..."));
+    iSocket.SendTo(data, iWapAddr, 0, status);
+    User::WaitForRequest(status);
+    TESTCHECKL(status.Int(), KErrNone, "Sending a message");
+    }
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteStepBase.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapProtSuiteStepBase.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,32 +15,19 @@
 *
 */
 
-
-
 /**
- @file
+    @file
+    @test
 */
 
-#if (!defined __WAPPROT_SUITE_STEP_BASE__)
-#define __WAPPROT_SUITE_STEP_BASE__
-#include <test/testexecutestepbase.h>
+#ifndef WAPPROTSUITESTEPBASE_H
+#define WAPPROTSUITESTEPBASE_H
+
+#include "smsstackbaseteststeps.h"
+
 #include <connect/sbeclient.h>
-
-#include <es_sock.h>
 #include <es_wsms.h>
-#include <smsuaddr.h>
-#include <gsmumsg.h>
-#include <gsmubuf.h>
-
-#include <c32comm.h>
-#include <etel.h>
-#include <e32property.h>
-#include <simtsy.h>
-#include <smsuaddr.h>
 #include <etelmm.h>
-#include "WapProtSuiteDefs.h"
-#include "wap_sock.h"
-#include "smsustrm.h"
 
 #if defined (__WINS__)
 #define PDD_NAME _L("ECDRV")
@@ -53,58 +40,41 @@
 
 using namespace conn;
 
-
-// Location and name of the RSC file.
-_LIT(KSMSUResourceDir, "C:\\private\\101f7989\\sms\\");
-_LIT(KSMSUResourceFile, "C:\\private\\101f7989\\sms\\smsu.rsc");
-// Location of directory for reserving disk space
-_LIT(KTempDiskSpaceDirName, "C:\\sms\\temp\\");
-
-class CWapProtSuiteStepBase : public CTestStep
+class CWapProtSuiteStepBase : public CSmsBaseTestStep
 	{
 public:
 	virtual TVerdict doTestStepPreambleL();
 	virtual TVerdict doTestStepPostambleL();
-	
-	
+
+    void SetupWapSocketL();
+    void SetupWapSocketL(RSocket& aSocket, TWapAddr& aWapAddr, const TDesC& aPort, TBool aNewStyleClient = ETrue);
+    //Socket for receiving status reports
+    void SetupStatusReportSocketL();
 	
-	//Utitilies
-	void WaitForRecvL(RSocket& aSocket);
-	CSmsMessage* RecvSmsL(RSocket& aSocket, TInt aIoctl = KIoctlReadMessageSucceeded);
-	TUint64 SetHighLowLimitsAndDiskSpaceLevelL(TUint aHighDrop, TUint aLowDrop, TUint aFreeDrop, TUint64 aMax=0x7fffffff);
-	void SetFreeDiskSpaceFromDropLevelL(TUint aFreeDrop);
-	void SetLowHighLimitsInSmsuRscL(TInt64 aLowLimit, TInt64 aHighLimit);
-	void SetFreeDiskSpaceL(TInt64 aNewFreeValue);
-	void ReleaseDiskSpaceL();
-	void ReadWapPortSettingsL(TWapAddr &aWapAddr);
-	void SetTestNumberL();
-	void SetWapAddrL();
+	void ReadWapPortSettingsL(TWapAddr& aWapAddr, const TDesC& aPort);
 	void SetCodingSchemeL();
 	void SetMessageTypeL();
-	
-	//Socket for receiving status reports
-	void SetupStatusReportSocketL();
-
-private:
-	void CheckSmsMessageL(CSmsMessage& aSmsmessagebuf, TPtrC8& aScnumber);
 
 protected:
-	void WaitForInitializeL();
 	void InternaliseSmsDataAndCheckL(TDes8& aBuffer , TPtrC8& aScnumber);
 	TInt GetMessageParameterLengthL(RSocket& aSock);
 	void GetMessageParameterL(RSocket& aSock, TPtr8& aParameterStorePtr);
-	void OpenSocketLC(RSocketServ& aSocketServer, RSocket& aSocket, TUint aAddrFamily = KWAPSMSAddrFamily, TUint aProtocol =KWAPSMSDatagramProtocol);
-    void OpenSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TUint aAddrFamily = KWAPSMSAddrFamily, TUint aProtocol =KWAPSMSDatagramProtocol);
+	
+	void OpenSocketLC(RSocketServ& aSocketServer, RSocket& aSocket, TUint aAddrFamily = KWAPSMSAddrFamily, TUint aProtocol =KWAPSMSDatagramProtocol);          
+	void OpenSocketL(RSocketServ& aSocketServer, RSocket& aSocket, TUint aAddrFamily = KWAPSMSAddrFamily, TUint aProtocol =KWAPSMSDatagramProtocol);
+    
+	void ReceiveWapMessageFromSocket(TInt aLength, TPtrC& aData);
+	void ReceiveWapMessage(TPtrC& aData);
+	void SendWapMessage(TPtrC& aData);
+	
+private:
+    void CheckSmsMessageL(CSmsMessage& aSmsmessagebuf, TPtrC8& aScnumber);
 
 protected:
-	CActiveScheduler*  iScheduler;
-	CSBEClient*  iSecureBackupEngine;
-	RSocketServ iSocketServer;
 	RSocket iSocket;
 	RSocket iStatusReportSocket;
 	TWapAddr iWapAddr;
-	TWapSmsDataCodingScheme iCodingScheme;
 	TSmsAddr iSmsAddr;
 	};
 
-#endif
+#endif // WAPPROTSUITESTEPBASE_H
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,120 +16,124 @@
 //
 
 /**
- @file
+    @file
+    @test
 */
 
 #include "WapStatusReports.h"
 
+#include <Gsmumsg.h>
+#include <simtsy.h>
+
+#include "WapProtSuiteDefs.h"
+
 /**
 Preamble for all status report steps
 */
 TVerdict CTestWapStatusReports::doTestStepPreambleL()
-{
-	CWapProtSuiteStepBase::doTestStepPreambleL();
-
-	SetTestNumberL();
-
-	//	Connect to socket server
-    User::LeaveIfError(iSocketServer.Connect());
+    {
+    CWapProtSuiteStepBase::doTestStepPreambleL();
+    
+    OpenSocketL(iSocketServer, iSocket);
+    
+    SetCodingSchemeL();
+    INFO_PRINTF1(_L("Coding scheme set is successful ..."));
+    SetMessageTypeL();
+    INFO_PRINTF1(_L("Message type setup is successful ..."));
+    ReadWapPortSettingsL(iWapAddr, KWapPort);
+    INFO_PRINTF1(_L("Reading Wap port setting is successful ..."));
+    
+    //  Bind
+    User::LeaveIfError(iSocket.Bind(iWapAddr));
+    
+    TTimeIntervalMicroSeconds32 InitPause=9000000;  //Required Pause to Allow SMSStack to Complete its Async Init
+    User::After(InitPause);                         //call to the TSY and finish its StartUp.
 
-	//	Define and open the socket
-    User::LeaveIfError(iSocket.Open(iSocketServer,KWAPSMSAddrFamily,KSockDatagram,KWAPSMSDatagramProtocol));
-
-	//	Waiting for the phone to be initialised
-	WaitForInitializeL();
+    
+    return TestStepResult();
+    }
 
-	SetCodingSchemeL();
-	SetMessageTypeL();
-	SetWapAddrL();
-	
-	return TestStepResult();
-}
+/**
+Postamble for all status report steps
+*/
+TVerdict CTestWapStatusReports::doTestStepPostambleL()
+    {
+    iSocket.Close();
+
+    CWapProtSuiteStepBase::doTestStepPostambleL();
+
+    return TestStepResult();
+    }
 
 /**
 Utility for sending a wap message
 */
 void CTestWapStatusReports::SendWapMessageL()
-{
-	//	Indicating to the protocol that it's a new client
-	//INFO_PRINTF1(_L("Socket set option for indicating new client"));
-	//User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
-
-	//Get the data 
-	TPtrC textData;
-	GetStringFromConfig(ConfigSection(),_L("message"), textData);
-
-	//Set the buffer
-	TBuf8<1000> data;
-	data.Copy(textData);
-	
-	//Send the message
-	TRequestStatus status;
-	iSocket.SendTo(data, iWapAddr, 0, status);
-	User::WaitForRequest(status);
-	User::LeaveIfError(status.Int());
-	INFO_PRINTF1(_L("Message sent!"));
-}
-
+    {
+    //	Indicating to the protocol that it's a new client
+    //INFO_PRINTF1(_L("Socket set option for indicating new client"));
+    //User::LeaveIfError(iSocket.SetOpt(KWapSmsOptionNewStyleClient,KWapSmsOptionLevel, 0));
+    
+    //Get the data 
+    TPtrC textData;
+    GetStringFromConfig(ConfigSection(),_L("message"), textData);
+    
+    //Set the buffer
+    TBuf8<1000> data;
+    data.Copy(textData);
+    
+    //Send the message
+    TRequestStatus status;
+    iSocket.SendTo(data, iWapAddr, 0, status);
+    User::WaitForRequest(status);
+    User::LeaveIfError(status.Int());
+    INFO_PRINTF1(_L("Message sent!"));
+    }
 
 /**
 Utility for getting the expected status
 */
 void CTestWapStatusReports::GetExpectedStatus()
-{
-	//Get the port number from the ini file
-	GetIntFromConfig(ConfigSection(),_L("expectedStatus"), iExpectedStatus);
-}
+    {
+    //Get the port number from the ini file
+    GetIntFromConfig(ConfigSection(),_L("expectedStatus"), iExpectedStatus);
+    }
 
 /**
 Utility for receiving status reports
 */
 TSmsStatus::TSmsStatusValue CTestWapStatusReports::ReceiveStatusReportL()
-{
-	INFO_PRINTF1(_L("waiting for incoming status report...") );
-	WaitForRecvL(iStatusReportSocket);
-	CSmsMessage* smsMessage = RecvSmsL(iStatusReportSocket);
-
-	INFO_PRINTF1(_L("incoming SMS") );
-
-	//Check the status report
-	CleanupStack::PushL(smsMessage);
-	TBool isSR = (smsMessage->Type()==CSmsPDU::ESmsStatusReport);
-
-	if (isSR)
-		{
-		INFO_PRINTF1(_L("Received status report"));
-		TSmsServiceCenterAddress telephoneNumber=smsMessage->ToFromAddress();
-		}
-	else
-		{
-		INFO_PRINTF1(_L("Received SMS is NOT a Status report!"));
-		}
-
-	TEST(isSR==1);
-	
-	//Get the status report
-	CSmsStatusReport& statusReport = static_cast<CSmsStatusReport&>(smsMessage->SmsPDU()); 
-	TSmsStatus::TSmsStatusValue status = statusReport.Status();
-	
-	CleanupStack::PopAndDestroy(smsMessage);
-	
-	return status;
-}
-
-
-/**
-Postamble for all status report steps
-*/
-TVerdict CTestWapStatusReports::doTestStepPostambleL()
-{
-    iSocket.Close();
-    iSocketServer.Close();
-
-	CWapProtSuiteStepBase::doTestStepPostambleL();
-
-	return TestStepResult();
-}
+    {
+    INFO_PRINTF1(_L("waiting for incoming status report...") );
+    WaitForRecvL(iStatusReportSocket);
+    CSmsMessage* smsMessage = RecvSmsL(iStatusReportSocket);
+    
+    INFO_PRINTF1(_L("incoming SMS") );
+    
+    //Check the status report
+    CleanupStack::PushL(smsMessage);
+    TBool isSR = (smsMessage->Type()==CSmsPDU::ESmsStatusReport);
+    
+    if (isSR)
+        {
+        INFO_PRINTF1(_L("Received status report"));
+        TSmsServiceCenterAddress telephoneNumber=smsMessage->ToFromAddress();
+        }
+    else
+        {
+        INFO_PRINTF1(_L("Received SMS is NOT a Status report!"));
+        }
+    
+    TEST(isSR);
+    
+    //Get the status report
+    CSmsStatusReport& statusReport = static_cast<CSmsStatusReport&>(smsMessage->SmsPDU()); 
+    TSmsStatus::TSmsStatusValue status = statusReport.Status();
+    
+    CleanupStack::PopAndDestroy(smsMessage);
+    
+    return status;
+    }
 
 //-----------------------------------------------------------------------------
 
@@ -137,78 +141,80 @@
 Setup the SMS for TP-SRR operations on the SMS 
 */
 TVerdict CTestRequestingStatusReports::doTestStepPreambleL()
-{	
-	//Call the base class preamble
-	CTestWapStatusReports::doTestStepPreambleL();
-		
-	return TestStepResult();
-}
+    {	
+    //Call the base class preamble
+    CTestWapStatusReports::doTestStepPreambleL();
+    
+    return TestStepResult();
+    }
 
 /**
 Common test steps for all status reports steps
 */
 TVerdict CTestRequestingStatusReports::doTestStepL()
-{
-	SendWapMessageL();
-	
-	return TestStepResult();
-}
+    {
+    SendWapMessageL();
+    
+    return TestStepResult();
+    }
+
 //-----------------------------------------------------------------------------
 /**
 Setup the SMS for TP-SRR operations on the SMS 
 */
 TVerdict CTestRequestingStatusReportsWithOption::doTestStepPreambleL()
-{	
-	//Call the base class preamble
-	CTestRequestingStatusReports::doTestStepPreambleL();
-	
-	INFO_PRINTF1(_L("Socket set option for indicating last PDU status report"));
-	User::LeaveIfError(iSocket.SetOpt(KWapSmsStatusReportScheme, KWapSmsOptionLevel, EWapSmsTPSRR));
+    {	
+    //Call the base class preamble
+    CTestRequestingStatusReports::doTestStepPreambleL();
     
-	return TestStepResult();
-}
+    INFO_PRINTF1(_L("Socket set option for indicating last PDU status report"));
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsStatusReportScheme, KWapSmsOptionLevel, EWapSmsTPSRR));
+    
+    return TestStepResult();
+    }
+
 //-----------------------------------------------------------------------------
 
 /**
 Setup the SMS for TP-SRR operations on the SMS 
 */
 TVerdict CTestReceivingStatusReports::doTestStepPreambleL()
-{	
-	//Call the base class preamble
-	CTestWapStatusReports::doTestStepPreambleL();
-
-	GetExpectedStatus();
-	SetupStatusReportSocketL();
+    {	
+    //Call the base class preamble
+    CTestWapStatusReports::doTestStepPreambleL();
     
-	return TestStepResult();
-}
+    GetExpectedStatus();
+    SetupStatusReportSocketL();
+    
+    return TestStepResult();
+    }
 
 /**
 Common test steps for all status reports steps
 */
 TVerdict CTestReceivingStatusReports::doTestStepL()
-{
-	SendWapMessageL();
-	TSmsStatus::TSmsStatusValue status;
-	status=ReceiveStatusReportL();
-
-	TESTL(status == iExpectedStatus);
-	
-	return TestStepResult();
-}
+    {
+    SendWapMessageL();
+    TSmsStatus::TSmsStatusValue status;
+    status=ReceiveStatusReportL();
+    
+    TESTL(status == iExpectedStatus);
+    
+    return TestStepResult();
+    }
 
 /**
 Common test steps for all status reports steps
 */
 TVerdict CTestReceivingStatusReports::doTestStepPostambleL()
-{
-	iStatusReportSocket.Close();
-	
-	//Call the base class preamble
-	CTestWapStatusReports::doTestStepPostambleL();
-	
-	return TestStepResult();
-}
+    {
+    iStatusReportSocket.Close();
+    
+    //Call the base class preamble
+    CTestWapStatusReports::doTestStepPostambleL();
+    
+    return TestStepResult();
+    }
 
 //-----------------------------------------------------------------------------
 
@@ -216,31 +222,31 @@
 Common test steps for all status reports steps
 */
 TVerdict CTestReceivingStatusReportsSevenBitMultiplePDUs::doTestStepL()
-{
-	CTestReceivingStatusReports::doTestStepL();
-	
-	//We will receive 2 status reports for this message
-	TSmsStatus::TSmsStatusValue status;
-	status=ReceiveStatusReportL();
-	TESTL(status == iExpectedStatus);
-	
-	return TestStepResult();
-}
+    {
+    CTestReceivingStatusReports::doTestStepL();
+    
+    //We will receive 3 status reports for this message
+    TSmsStatus::TSmsStatusValue status;
+    status=ReceiveStatusReportL();
+    TESTL(status == iExpectedStatus);
+    
+    status=ReceiveStatusReportL();
+    TESTL(status == iExpectedStatus);
+    return TestStepResult();
+    }
 //-----------------------------------------------------------------------------
 
 
 TVerdict CTestReceivingStatusReportsWithOption::doTestStepPreambleL()
-{	
-	//Sets up the socket for receiving status reports
-	CTestReceivingStatusReports::doTestStepPreambleL();
-	
-	//Set the option for last PDU only (TPSRR Scheme)
-	INFO_PRINTF1(_L("Socket set option for indicating last PDU status report"));
-	User::LeaveIfError(iSocket.SetOpt(KWapSmsStatusReportScheme, KWapSmsOptionLevel, EWapSmsTPSRR));
+    {	
+    //Sets up the socket for receiving status reports
+    CTestReceivingStatusReports::doTestStepPreambleL();
+    
+    //Set the option for last PDU only (TPSRR Scheme)
+    INFO_PRINTF1(_L("Socket set option for indicating last PDU status report"));
+    User::LeaveIfError(iSocket.SetOpt(KWapSmsStatusReportScheme, KWapSmsOptionLevel, EWapSmsTPSRR));
     
     return TestStepResult();
-}
+    }
 
 //-----------------------------------------------------------------------------
-
-
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,23 +15,15 @@
 *
 */
 
-
-
 /**
- @file
+    @file
+    @test
 */
- 
- 
-#if (!defined __WAPPROT_STATUS_REPORTS__)
-#define __WAPPROT_STATUS_REPORTS__
 
+#ifndef WAPPROTSTATUSREPORTS_H
+#define WAPPROTSTATUSREPORTS_H
 
 #include "WapProtSuiteStepBase.h"
-#include <gsmuelem.h>
-#include <gsmuelem.h>
-#include <smsuaddr.h>
-#include <smsustrm.h>
-
 
 /** 
 Base class for testing WAP status reports
@@ -53,7 +45,6 @@
 	TInt iExpectedStatus;
 	};
 
-
 /**
 Base class for sending WAP messages, requesting status reports
 */
@@ -64,7 +55,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 /**
 Class sets the request for only the last segment to receive status reports
 */
@@ -74,7 +64,6 @@
 	virtual TVerdict doTestStepPreambleL();
 	};
 
-
 /** 
 Class for receiving status reports 
 */
@@ -86,7 +75,6 @@
 	virtual TVerdict doTestStepPostambleL();
 	};
 
-
 /** 
 Class for receiving status reports for multiple 7 bit messages
 */
@@ -96,7 +84,6 @@
 	virtual TVerdict doTestStepL();
 	};
 
-
 /**
 Step receives a status report for a request for only the last segment
 */
@@ -106,5 +93,4 @@
 	virtual TVerdict doTestStepPreambleL();
 	};
 
-
-#endif
+#endif //WAPPROTSTATUSREPORTS_H
--- a/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.ini	Fri Mar 19 09:55:57 2010 +0200
+++ b/smsprotocols/smsstack/wapprot/test/Te_wapprot/WapStatusReports.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -4,117 +4,117 @@
 
 [Sending7BitSinglePDUWAP]
 testNumber =17
-port =2948
+Wap_Port=2948
 message =BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =7
 type =Datagram
 
 [Sending8BitSinglePDUWAP]
 testNumber =18
-port =2948
+Wap_Port=2948
 message =BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =8
 type =Datagram
 
 [Sending7BitMultiplePDU]
 testNumber =19
-port =266
+Wap_Port=266
 message =BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =7
 type =Smart
 
 [Sending8BitMultiplePDU]
 testNumber =20
-port =250
+Wap_Port=250
 message =BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =8
 type =Datagram
 
 [Sending7BitMultiplePDUWithOption]
 testNumber =21
-port =299
+Wap_Port=299
 message =BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =7
 type =Smart
 
 [Sending8BitMultiplePDUWithOption]
 testNumber =22
-port =299
+Wap_Port=299
 message =BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =8
 type =Datagram
 
 [Sending7BitSinglePDUSMART]
 testNumber =24
-port =2948
+Wap_Port=2948
 message =BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =7
 type =Smart
 
 [Sending8BitSinglePDUSMART]
 testNumber =25
-port =2948
+Wap_Port=2948
 message =BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =8
 type =Smart
 
 [Sending7BitSinglePDUWAPWithOption]
 testNumber =26
-port =2948
+Wap_Port=2948
 message =BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =7
 type =Smart
 
 [ReceiveStatusReportSinglePDU7BitSmart]
 testNumber =27
-port =266
+Wap_Port=266
 message =BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =7
 type =Smart
 expectedStatus =0
 
 [ReceiveStatusReportMultiple7BitSmart]
 testNumber =28
-port =266
+Wap_Port=266
 message =BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =7
 type =Smart
 expectedStatus =0
 
 [ReceiveStatusReportSinglePDU8BitWAP]
 testNumber =29
-port =2948
+Wap_Port=2948
 message =BEGIN:VCARD\r\nVERSION:2.1\r\nFN:Jal\r\nN:Jal\r\nORG:PanSoftware\r\nTITLE:Director\r\nLABEL:Islington\r\nEND:VCARD\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =8
 type =Datagram
 expectedStatus =0
 
 [ReceiveStatusReportMultiplePDU8BitWAP]
 testNumber =30
-port =250
+Wap_Port=250
 message =BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =8
 type =Datagram
 expectedStatus =64
 
 [ReceiveStatusReportLastPDUMultiple8BitWAP]
 testNumber =31
-port =250
+Wap_Port=250
 message =BEGIN:VCALENDAR\nVERSION:1.0\nBEGIN:VEVENT\nCATEGORIES:MEETING\nSTATUS:TENTATIVE\nDTSTART:20010401T033000Z\nDTEND:20010401T043000Z\nSUMMARY:Messaging Meeting\nDESCRIPTION:Britney and Justin to review newest proposal material\nCLASS:PRIVATE\nEND:VEVENT\nEND:VCALENDAR\r\n
-telNumber =+447765222315
+Service_Center=+447765222315
 dataCoding =8
 type =Datagram
 expectedStatus =0
\ No newline at end of file
--- a/telephonyprotocols/csdagt/group/networking_csdagt.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/csdagt/group/networking_csdagt.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_csdagt
 source	\sf\os\cellularsrv\telephonyprotocols\csdagt
 binary	\sf\os\cellularsrv\telephonyprotocols\csdagt\group	all
--- a/telephonyprotocols/gprsumtsqosinterface/group/networking_umtsif.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/gprsumtsqosinterface/group/networking_umtsif.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_umtsif
 source	\sf\os\cellularsrv\telephonyprotocols\gprsumtsqosinterface
 binary	\sf\os\cellularsrv\telephonyprotocols\gprsumtsqosinterface\group	all
--- a/telephonyprotocols/gprsumtsqosprt/group/networking_guqos.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/gprsumtsqosprt/group/networking_guqos.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_guqos
 source	\sf\os\cellularsrv\telephonyprotocols\gprsumtsqosprt
 binary	\sf\os\cellularsrv\telephonyprotocols\gprsumtsqosprt\group	all
--- a/telephonyprotocols/pdplayer/group/networking_pdp.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/group/networking_pdp.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component		networking_pdp
 source			\sf\os\cellularsrv\telephonyprotocols\pdplayer
 binary			\sf\os\cellularsrv\telephonyprotocols\pdplayer\group	all
--- a/telephonyprotocols/pdplayer/src/mbmsengine.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/src/mbmsengine.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -286,7 +286,7 @@
 	//Open phone
 	User::LeaveIfError(iPhone.Open(iTelServer,iPhoneInfo.iName));
 	//Get phone status
-	iPhone.GetStatus(iPhoneStatus);
+	User::LeaveIfError(iPhone.GetStatus(iPhoneStatus));
 
 	SetActive();
 	iPhoneState = EInitialising;
--- a/telephonyprotocols/pdplayer/src/pdptiermanager.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/src/pdptiermanager.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -287,7 +287,7 @@
 	{
 	iContextName.Copy(aContextName);
 	User::LeaveIfError(iPacketContext.OpenExistingContext(iPacketService, iContextName));
-	iPacketContext.GetStatus(iContextStatus);
+	User::LeaveIfError(iPacketContext.GetStatus(iContextStatus));
 
 	if (iContextStatus == RPacketContext::EStatusDeleted)
 		{
--- a/telephonyprotocols/pdplayer/src/psdavailabilitylistener.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/src/psdavailabilitylistener.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -196,7 +196,7 @@
 	User::LeaveIfError(iPhone.Open(iTelServer, phoneInfo.iName));
 
 	RPhone::TStatus phoneStatus;
-	iPhone.GetStatus(phoneStatus);
+	User::LeaveIfError(iPhone.GetStatus(phoneStatus));
 
 	if(phoneStatus.iMode==RPhone::EModeUnknown)
 		{
Binary file telephonyprotocols/pdplayer/umts/Documentation/UmtsGprsSCPR - Design - UML.vsd has changed
Binary file telephonyprotocols/pdplayer/umts/Documentation/UmtsGprsSCPR - Design.vsd has changed
--- a/telephonyprotocols/pdplayer/umts/spudtel/src/eteldriverstrategies.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/spudtel/src/eteldriverstrategies.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -1102,7 +1102,10 @@
 		
 		case EActivateStep:
 			{
-            aContext.PacketContext().GetStatus(aContext.ContextStatus());
+            if (aContext.PacketContext().GetStatus(aContext.ContextStatus()) != KErrNone)
+                {
+                aContext.ContextStatus() = RPacketContext::EStatusInactive;
+                }
             
             switch (aContext.ContextStatus())
             	{
--- a/telephonyprotocols/pdplayer/umts/test/te_spud/src/SpudUnitTestStepBase.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/test/te_spud/src/SpudUnitTestStepBase.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -574,7 +574,7 @@
 	RPacketContext::TContextStatus contextStatus1 = RPacketContext::EStatusUnknown;
 
 	aPacketContext.NotifyStatusChange(status, contextStatus);
-	aPacketContext.GetStatus(contextStatus1);
+	TEST(aPacketContext.GetStatus(contextStatus1) == KErrNone);
 	INFO_PRINTF2(_L("CSpudUnitTestStepBase::WaitForGivenContextStatus: contextStatus1 = %d"), contextStatus1);
 	if (contextStatus1 != RPacketContext::EStatusDeleted)
 		{
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6.cfg	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,1552 @@
+############################################################
+## AUTO-GENERATED CONFIGURATION FILE
+## CommsDat Database Dump Utility
+## 1.1
+############################################################
+
+############################################################
+## Network
+## 
+[Network]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=Intranet
+	FIELD_COUNT=1
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=Intranet2
+	FIELD_COUNT=1
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=Intranet3
+	FIELD_COUNT=1
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=Intranet4
+	FIELD_COUNT=1
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=Intranet5
+	FIELD_COUNT=1
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=Intranet6
+	FIELD_COUNT=1
+END_ADD
+
+
+############################################################
+## ModemBearer
+## 
+[ModemBearer]
+ADD_TEMPLATE
+	Name=Default Loopback Modem
+	TSYName=SIM
+	CSYName=PKTLOOPBACK
+	LastSocketActivityTimeout=180
+	LastSessionClosedTimeout=4
+	LastSocketClosedTimeout=6
+	DataBits=8
+	StopBits=1
+	Parity=NONE
+	Rate=115200
+	Handshaking=0
+	SpecialRate=0
+	XonChar=0
+	XoffChar=0
+	FaxClassPref=AUTO
+	SpeakerPref=NEVER
+	SpeakerVolPref=QUIET
+	ModemInitString=AT
+	DataInitString=AT
+	FaxInitString=AT
+	DialPauseLength=S8=
+	SpeakerVolContorlLow=L0
+	SpeakerVolControlMedium=L1
+	SpeakerVolControlHigh=L2
+	SpeakerAlwaysOff=M0
+	SpeakerOnUntilCarrier=M1
+	SpeakerAlwaysOn=M2
+	SpeakerOnAfterUntilCarrier=M3
+	DialToneWaitModifier=W
+	CallProgress1=X1
+	CallProgress2=X2
+	CallProgress3=X3
+	CallProgress4=X4
+	EchoOff=E0
+	VerboseText=V1
+	QuietOff=Q0
+	QuietOn=Q1
+	DialCommandStateModifier=;
+	OnLine=O
+	ResetConfiguration=Z
+	ReturnToFactoryDefs=&F
+	DCDOnDuringLink=&C1
+	DTRHangUp=&D2
+	DSRAlwaysOn=&S0
+	RTSCTSHandshake=&K3
+	XonXoffHandshake=&K4
+	EscapeCharacter=+
+	EscapeGuardPeriod=S12
+	NoDialTone=NO DIAL TONE
+	Busy=BUSY
+	NoAnswer=NO ANSWER
+	Carrier=CARRIER
+	Connect=CONNECT
+	CompressionClass5=COMPRESSION:CLASS 5
+	CompressionV42bis=COMPRESSION:V.42 bis
+	CompressionNone=COMPRESSION:NONE
+	ProtocolLAPD=PROTOCOL:LAPD
+	ProtocolALT=PROTOCOL:ALT
+	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
+	ProtocolNone=PROTOCOL:NONE
+	MessageValidityPeriod=0
+	MessageDeliveryReport=FALSE
+	CommRole=0
+	BCAStack=C32Bca
+	Agent=NULLAGT
+	FIELD_COUNT=65
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=Loopback_RawIP_1
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::501
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=Loopback_SPUD_2
+	IfName=SPUD
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=Loopback_RawIP_3
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::503
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=Loopback_SPUD_4
+	IfName=SPUD
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=WinTunnel_SPUD_5
+	IfName=SPUD
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=Loopback_SPUD_5
+	IfName=SPUD
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=Loopback_SPUD_6
+	IfName=SPUD
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=Loopback_SPUD_7
+	IfName=SPUD
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Name=Loopback_SPUD_8
+	IfName=SPUD
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## Location
+## 
+[Location]
+ADD_TEMPLATE
+	Name=Default Location
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=8
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=Office
+	IntlPrefixCode=00
+	AreaCode=171
+	DialOutCode=9,
+	Mobile=FALSE
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=Mobile
+	FIELD_COUNT=1
+END_ADD
+
+
+############################################################
+## OutgoingGPRS
+## 
+[OutgoingGPRS]
+ADD_TEMPLATE
+	Name=Default Outgoing GPRS
+	APN=Test
+	PDPType=IPV4
+	ReqPrecedence=2
+	ReqDelay=4
+	ReqReliability=3
+	ReqPeakThroughput=3
+	ReqMeanThroughput=31
+	MinPrecedence=2
+	MinDelay=4
+	MinReliability=3
+	MinPeakThroughput=3
+	MinMeanThroughput=31
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	AuthRetries=1
+	IpNetMask=255.255.255.0
+	IpGateway=0.0.0.1
+	IpAddrFromServer=FALSE
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=30
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=RawIP_Bounce_1
+	IpAddrFromServer=TRUE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=TRUE
+	FIELD_COUNT=4
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=SPUD_Echo_2
+	APN=orangeinternet
+	PDPType=IPV6
+	IfParams=lowernif=RAWIP
+	IfNetworks=ip6
+	IpAddrFromServer=TRUE
+	IpAddr=fe80::19:5bff:fe8a:c0eb
+	Ip6DNSAddrFromServer=FALSE
+	IP6NameServer1=fe80::19:5bff:fe8a:dead
+	IP6NameServer2=fe80::19:5bff:fe8a:beef
+	IpNetMask=ffff:ffff:ffff:ffff:ffff:0000
+	IpGateway=0:0:0:0:0:1
+	IfAuthName=web
+	IfAuthPass=web
+	FIELD_COUNT=14
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=RawIP_Bounce_3
+	IpAddr=192.168.2.3
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=SPUD_Echo_4
+	IfParams=lowernif=RAWIP
+	IpAddr=192.168.2.4
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=SPUD_Multi_1
+	APN=orangeinternet
+	PDPType=IPV6
+	IfParams=lowernif=RAWIP
+	IfNetworks=ip6
+	IpAddrFromServer=TRUE
+	IpAddr=fe80::19:5bff:fe8a:c0ec
+	Ip6DNSAddrFromServer=FALSE
+	IP6NameServer1=fe80::19:5bff:fe8a:dead
+	IP6NameServer2=fe80::19:5bff:fe8a:beef
+	IpNetMask=ffff:ffff:ffff:ffff:ffff:0000
+	IpGateway=0:0:0:0:0:1
+	IfAuthName=web
+	IfAuthPass=web
+	FIELD_COUNT=14
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=SPUD_Multi_2
+	APN=orangeinternet
+	PDPType=IPV6
+	IfParams=lowernif=RAWIP
+	IfNetworks=ip6
+	IpAddrFromServer=TRUE
+	IpAddr=fe80::19:5bff:fe8a:c0ed
+	Ip6DNSAddrFromServer=FALSE
+	IP6NameServer1=fe80::19:5bff:fe8a:dead
+	IP6NameServer2=fe80::19:5bff:fe8a:beef
+	IpNetMask=ffff:ffff:ffff:ffff:ffff:0000
+	IpGateway=0:0:0:0:0:1
+	IfAuthName=web
+	IfAuthPass=web
+	FIELD_COUNT=14
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=SPUD_Multi_3
+	APN=orangeinternet
+	PDPType=IPV6
+	IfParams=lowernif=RAWIP
+	IfNetworks=ip6
+	IpAddrFromServer=TRUE
+	IpAddr=fe80::19:5bff:fe8a:c0ee
+	Ip6DNSAddrFromServer=FALSE
+	IP6NameServer1=fe80::19:5bff:fe8a:dead
+	IP6NameServer2=fe80::19:5bff:fe8a:beef
+	IpNetMask=ffff:ffff:ffff:ffff:ffff:0000
+	IpGateway=0:0:0:0:0:1
+	IfAuthName=web
+	IfAuthPass=web
+	FIELD_COUNT=14
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=SPUD_Multi_4
+	APN=orangeinternet
+	PDPType=IPV6
+	IfParams=lowernif=RAWIP
+	IfNetworks=ip6
+	IpAddrFromServer=TRUE
+	IpAddr=fe80::19:5bff:fe8a:c0ef
+	Ip6DNSAddrFromServer=FALSE
+	IP6NameServer1=fe80::19:5bff:fe8a:dead
+	IP6NameServer2=fe80::19:5bff:fe8a:beef
+	IpNetMask=ffff:ffff:ffff:ffff:ffff:0000
+	IpGateway=0:0:0:0:0:1
+	IfAuthName=web
+	IfAuthPass=web
+	FIELD_COUNT=14
+END_ADD
+
+############################################################
+## DefaultGPRS
+## 
+[DefaultGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=Dummy Default GPRS Settings
+	Usage=1
+	APN=Access point name
+	PDPType=IPV6
+	PDPAddress=www.wid.com
+	Precedence=1
+	Delay=1
+	Reliability=1
+	PeakThroughput=1
+	MeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=TRUE
+	HeaderCompression=TRUE
+	GprsUseEdge=FALSE
+	AnonymousAccess=TRUE
+	FIELD_COUNT=19
+END_ADD
+
+
+############################################################
+## APPrioritySelectionPolicyTable
+## 
+[APPrioritySelectionPolicyTable]
+ADD_SECTION
+# COMMDB_ID = 254
+	Id=20000
+	Name=APSelPolNetworkDefault
+	AP1=Link.AccessPointTable.10004
+	APCOUNT=1
+	FIELD_COUNT=4
+END_ADD
+
+
+############################################################
+## TierTable
+## 
+[TierTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=2048
+	Name=Tier1
+	TierImplUid=271064536
+	TierThreadName=ESock_IP
+	TierManagerName=NetworkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=271064560
+	Name=Tier2
+	TierImplUid=271064560
+	TierThreadName=ESock_IP
+	TierManagerName=ProtoTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10004
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=271064565
+	Name=Tier3
+	TierImplUid=271064565
+	TierThreadName=ESock_IP
+	TierManagerName=LinkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=536887799
+	Name=Tier4
+	TierImplUid=536887799
+	TierThreadName=ESock_SIP
+	TierManagerName=SIPTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10002
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## MCprTable
+## 
+[MCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=netmcpr
+	MCprUid=271009095
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=ipprotomcpr
+	MCprUid=271064558
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=pppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=ethmcpr
+	MCprUid=271064572
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=rawipmcpr
+	MCprUid=271064576
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=tunnelmcpr
+	MCprUid=271064578
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=qospppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=dummynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Name=hungrynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Name=pdpmcpr
+	MCprUid=271065840
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 11
+	Name=sipmcpr
+	MCprUid=536887801
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 13
+	Name=panethermcpr
+	MCprUid=271070626
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## CprTable
+## 
+[CprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=ipcpr
+	CprUid=270561519
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=ipprotocpr
+	CprUid=271064531
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=agentcpr
+	CprUid=271064552
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=vanillacpr
+	CprUid=271065843
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=sipcpr
+	CprUid=271010872
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=tunnelagentcpr
+	CprUid=271080968
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=pdpcpr
+	CprUid=271065826
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## SCprTable
+## 
+[SCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=qosipscpr
+	SCprUid=270549768
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=ipprotoscpr
+	SCprUid=271064529
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=agentscpr
+	SCprUid=271064554
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=pdpscpr
+	SCprUid=271065824
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=pppscpr
+	SCprUid=271065852
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=vanillascpr
+	SCprUid=271065844
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=qosscpr
+	SCprUid=271065811
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=sipscpr
+	SCprUid=271010839
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## ProtocolTable
+## 
+[ProtocolTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=sapshim
+	ProtocolUid=270496898
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=ipshim4
+	ProtocolUid=271064118
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=ppp
+	ProtocolUid=271064143
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=ethernet
+	ProtocolUid=271064539
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=rawip
+	ProtocolUid=271064562
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=tunnel
+	ProtocolUid=271064567
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=qosppp
+	ProtocolUid=271064148
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=dummynif
+	ProtocolUid=271064123
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Name=hungrynif
+	ProtocolUid=271064125
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Name=panether
+	ProtocolUid=271070627
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 11
+	Name=rawip2
+	ProtocolUid=271084280
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## BearerTypeTable
+## 
+[BearerTypeTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.3
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=ethint
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.4
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.4
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=tunnelnif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.6
+	Cpr=CprTable.7
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.6
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=qosppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.7
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.7
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=dummynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.8
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.8
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=hungrynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.9
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.9
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=spud-ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Name=spud-rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Name=IPProtoDefaultTemplate
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 11
+	Name=NetworkDefaultTemplate
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.7
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 12
+	Name=rawip2
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.8
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.11
+	FIELD_COUNT=6
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 13
+	Name=spud-rawip2
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.8
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.11
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## AccessPointTable
+## 
+[AccessPointTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=rawipMappedFromIAP1
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=10003
+	Name=IPProto_generated_10003
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=1
+	CustomSelectionPolicy=1
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=2
+	Name=spud-rawipMappedFromIAP2
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=10004
+	Name=IPProto_generated_10004
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=2
+	CustomSelectionPolicy=2
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=3
+	Name=rawipMappedFromIAP3
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=10005
+	Name=IPProto_generated_10005
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=3
+	CustomSelectionPolicy=3
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=4
+	Name=spud-rawipMappedFromIAP4
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=10006
+	Name=IPProto_generated_10006
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=4
+	CustomSelectionPolicy=4
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=5
+	Name=rawipMappedFromIAP5
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10007
+	Name=IPProto_generated_10007
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=5
+	CustomSelectionPolicy=5
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 11
+	Id=6
+	Name=spud-rawipMappedFromIAP6
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 12
+	Id=10008
+	Name=IPProto_generated_10008
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=6
+	CustomSelectionPolicy=6
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 13
+	Id=7
+	Name=spud-rawipMappedFromIAP7
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 14
+	Id=10009
+	Name=IPProto_generated_10009
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=7
+	CustomSelectionPolicy=7
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 15
+	Id=8
+	Name=spud-rawipMappedFromIAP8
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 16
+	Id=10010
+	Name=IPProto_generated_10010
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=8
+	CustomSelectionPolicy=8
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 17
+	Id=9
+	Name=spud-rawipMappedFromIAP9
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.3
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	CprConfig=0
+	AppSID=0
+	Priority=4294967295
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 18
+	Id=10011
+	Name=IPProto_generated_10011
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CprConfig=9
+	CustomSelectionPolicy=9
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 252
+	Id=10002
+	Name=SIPDefault
+	AccessPointSelectionPolicy=0
+	Tier=Link.TierTable.536887799
+	MCpr=MCprTable.11
+	Cpr=CprTable.5
+	SCpr=SCprTable.8
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 254
+	Id=10000
+	Name=NetworkDefault
+	AccessPointSelectionPolicy=Link.APPrioritySelectionPolicyTable.20000
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.7
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## GlobalSettings
+## 
+[GlobalSettings]
+ADD_TEMPLATE
+	DefaultTier=1
+	FIELD_COUNT=1
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=DefaultRecordName-1
+	ConnectionAttempts=2
+	RedialAttempts=3
+	SmsReceiveMode=2
+	GPRSAttachMode=1
+	AcceptIncomingGprs=1
+	GPRSClassCBearer=GSM
+	ModemForDataAndFax=2
+	ModemForPhoneServicesAndSMS=2
+	LocationForDataAndFax=2
+	LocationForPhoneServicesAndSMS=2
+	DefaultNetwork=1
+	BearerAvailabilityCheckTSY=mm
+	FIELD_COUNT=13
+END_ADD
+
+
+############################################################
+## IAP
+## 
+[IAP]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=Loopback_GRPS_1
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=1
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=Loopback_GRPS_2
+	IAPServiceType=OutgoingGPRS
+	IAPService=2
+	IAPBearerType=ModemBearer
+	IAPBearer=2
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=Loopback_GRPS_3
+	IAPServiceType=OutgoingGPRS
+	IAPService=3
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=Loopback_GRPS_4
+	IAPServiceType=OutgoingGPRS
+	IAPService=4
+	IAPBearerType=ModemBearer
+	IAPBearer=4
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Name=Loopback_GRPS_5
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Name=Loopback_GRPS_6
+	IAPServiceType=OutgoingGPRS
+	IAPService=5
+	IAPBearerType=ModemBearer
+	IAPBearer=6
+	IAPNetwork=3
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Name=Loopback_GRPS_7
+	IAPServiceType=OutgoingGPRS
+	IAPService=6
+	IAPBearerType=ModemBearer
+	IAPBearer=7
+	IAPNetwork=4
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Name=Loopback_GRPS_8
+	IAPServiceType=OutgoingGPRS
+	IAPService=7
+	IAPBearerType=ModemBearer
+	IAPBearer=8
+	IAPNetwork=5
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Name=Loopback_GRPS_9
+	IAPServiceType=OutgoingGPRS
+	IAPService=8
+	IAPBearerType=ModemBearer
+	IAPBearer=9
+	IAPNetwork=6
+	IAPNetworkWeighting=0
+	Location=2
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## ConnectionPreferences
+## 
+[ConnectionPreferences]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=DefaultRecordName-1
+	Ranking=1
+	Direction=OUTGOING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=2
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## UmtsR99QoSAndOn
+## 
+[UmtsR99QoSAndOn]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=PRIMARY1
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=SECONDARY1
+	ReqTrafficClass=4
+	MinTrafficClass=4
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=8
+	MinDeliverErroneousSDU=8
+	ReqMaxSDUSize=768
+	MinAcceptableMaxSDUSize=512
+	ReqMaxUplinkRate=1024
+	ReqMinUplinkRate=1024
+	ReqMaxDownlinkRate=1024
+	ReqMinDownlinkRate=1024
+	ReqBER=0
+	MaxBER=0
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=250
+	MaxTransferDelay=250
+	ReqGuaranteedUplinkRate=1024
+	MinGuaranteedUplinkRat=1024
+	ReqGuaranteedDownlinkRate=1024
+	MinGuaranteedDownlinkRate=1024
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Name=PRIMARY2
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Name=SECONDARY2
+	ReqTrafficClass=4
+	MinTrafficClass=4
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=8
+	MinDeliverErroneousSDU=8
+	ReqMaxSDUSize=768
+	MinAcceptableMaxSDUSize=512
+	ReqMaxUplinkRate=1024
+	ReqMinUplinkRate=1024
+	ReqMaxDownlinkRate=1024
+	ReqMinDownlinkRate=1024
+	ReqBER=0
+	MaxBER=0
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=250
+	MaxTransferDelay=250
+	ReqGuaranteedUplinkRate=1024
+	MinGuaranteedUplinkRat=1024
+	ReqGuaranteedDownlinkRate=1024
+	MinGuaranteedDownlinkRate=1024
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+
+############################################################
+## PolicySelectorTable
+## 
+[PolicySelectorTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=DefaultRecordName-1
+	PolicyId=1
+	SrcAddress=0:0:0:0:0:0
+	SrcMask=ffff:ffff:ffff:ffff:ffff:ffff
+	DstAddress=fe80::19:5bff:fe8a:abcd
+	DstMask=ffff:ffff:ffff:ffff:ffff:ffff
+	SrcPort=0
+	DstPort=3461
+	SrcPortMax=1031
+	DstPortMax=3461
+	ProtocolId=17
+	IAPid=2
+	Priority=1
+	FIELD_COUNT=13
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=DefaultRecordName-2
+	PolicyId=2
+	SrcPort=0
+	SrcPortMax=0
+	ProtocolId=1
+	IAPid=2
+	Priority=1
+	FIELD_COUNT=7
+END_ADD
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,431 @@
+[ESockCheck]
+SimTsyTestNum = 0
+
+
+[PrimaryActivationOk1]
+SimTsyTestNum = 1
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[SecondaryActivationOk1]
+SimTsyTestNum = 1
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[PrimaryDeleteOnLowerNifStart212]
+SimTsyTestNum = 212
+PrimaryIapId1 = 3
+QoSEventReq1 = EContextStatusChange
+QoSEventReq1Idx = 0
+ExpectedNifProgress = 8000
+ExpectedNifError    = -36
+MillisBeforeEvent = 10000000
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+
+[PrimaryDeleteBeforeLowerNif]
+SimTsyTestNum = 801
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = -4
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[SecondaryDeleteBeforeLowerNif]
+SimTsyTestNum = 901
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventFailure
+SecondaryActivationEvent2Reason = -4
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[SecondaryActivationJoin]
+SimTsyTestNum = 1
+SecondaryActivationEvent1 = EQoSEventConfirm
+OptionalQoSEvent1 = EQoSEventAdapt
+OptionalQoSEvent1Reason = 0
+ExpQoSEvent1 = EQoSEventJoin
+ExpQoSEvent1Reason = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[SecondaryActivationChangeQoS]
+SimTsyTestNum = 1
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+ExpQoSEvent1 = EQoSEventAddPolicy
+ExpQoSEvent1Reason = 0
+OptionalQoSEvent1 = EQoSEventAdapt
+OptionalQoSEvent1Reason = 0
+ExpQoSEvent2 = EQoSEventConfirm
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+
+[KContextDelete]
+SimTsyTestNum = 701
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventFailure
+SecondaryActivationEvent2Reason = 2
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[ENetworkQoSChangePrimary]
+SimTsyTestNum = 1
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = 0
+QoSEventReq1 = ENetworkQoSChange
+QoSEventReq1Idx = 0
+ExpectedNifProgress = 8000
+ExpectedNifError    = -33
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[ENetworkQoSChangeSecondary]
+SimTsyTestNum = 1
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1 = ENetworkQoSChange
+QoSEventReq1Idx = 2
+ExpQoSEvent1 = EQoSEventAdapt
+ExpQoSEvent1Reason = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+
+[PrimaryActivationFails201]
+SimTsyTestNum = 201
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = -19
+
+[SecondaryActivationFails301]
+SimTsyTestNum = 301
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 2
+IP6Addr=fe80::19:5bff:fe8a:abcd
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[PrimaryActivationFails18]
+SimTsyTestNum = 18
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = -19
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[SecondaryActivationFails19]
+SimTsyTestNum = 19
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventFailure
+SecondaryActivationEvent2Reason = -2
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[SecondaryActivationFails20]
+SimTsyTestNum = 20
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventFailure
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+SecondaryActivationEvent2Reason = -20
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[PrimaryDeletionFails21]
+SimTsyTestNum = 21
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[SecondaryDeletionFails22]
+SimTsyTestNum = 22
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[SecondaryQosEventDelete1]
+SimTsyTestNum = 1
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1 = EContextStatusChange
+QoSEventReq1Idx = 3
+OptionalQoSEvent1 = EQoSEventAdapt
+OptionalQoSEvent1Reason = 0
+ExpQoSEvent1 = EQoSEventFailure
+ExpQoSEvent1Reason = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[SecondaryQosEventDeactivate1]
+SimTsyTestNum = 1
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1 = EContextStatusChange
+QoSEventReq1Idx = 4
+ExpQoSEvent1 = EQoSEventAdapt
+ExpQoSEvent1Reason = 0
+QoSEventReq2 = EContextStatusChange
+QoSEventReq2Idx = 5
+ExpQoSEvent2 = EQoSEventAdapt
+ExpQoSEvent2Reason = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[PrimaryQoSEventDelete1]
+SimTsyTestNum = 1
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = 0
+QoSEventReq1 = EContextStatusChange
+QoSEventReq1Idx = 0
+ExpectedNifProgress = 8000
+ExpectedNifError    = -36
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[PrimaryQoSEventDeleteWithSecondary]
+SimTsyTestNum = 1
+IapId = 5
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1Idx = 0
+SubConnectionCount1 = 2
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[PrimaryQoSEventDeactivate1]
+SimTsyTestNum = 1
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = 0
+QoSEventReq1 = EContextStatusChange
+QoSEventReq1Idx = 1
+ExpectedNifProgress = 8000
+ExpectedNifError    = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+
+[PrimaryContextSuspendAndResume]
+SimTsyTestNum = 1
+ContextType = EPrimaryContext
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = 0
+IP6Addr=fe80::19:5bff:fe8a:c0eb
+LoopbackPort = PKTLOOPBACK::501
+CommRole = ECommRoleDCE
+QoSEventReq1Idx = 6
+QoSEventReq2Idx = 7
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+
+[SecondaryContextSuspendAndResume]
+SimTsyTestNum = 1
+ContextType = ESecondaryContext
+LoopbackPort = PKTLOOPBACK::503
+CommRole = ECommRoleDCE
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1Idx = 8
+QoSEventReq2Idx = 9
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[PppPrimaryOk]
+SimTsyTestNum = 1
+PrimarySpudIapId = 1
+PppIapId1 = 2
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+
+[PppSecondarySend]
+SimTsyTestNum = 1
+PppIapId1 = 1
+PppIapId2 = 3
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[PrimarySlowInitialisePhone]
+SimTsyTestNum = 24
+PrimaryIapId1 = 2
+PrimaryActivationErr1 = -3
+
+
+[MultiPrimaryActivationOk1]
+SimTsyTestNum = 25
+NumberOfIaps = 5
+PrimaryIapId1 = 2
+PrimaryIapId2 = 6
+PrimaryIapId3 = 7
+PrimaryIapId4 = 8
+PrimaryIapId5 = 9
+PrimaryActivationErr1 = 0
+
+[SecondaryR5ActivationOk1]
+SimTsyTestNum = 100
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+PolicySelector = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[SecondaryR5ActivationFails20]
+SimTsyTestNum = 101
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventFailure
+SubConnectionCount1 = 0
+SubConnectionCount2 = 2
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+PolicySelector = 1
+SecondaryActivationEvent2Reason = -20
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[ENetworkQoSR5ChangeSecondary]
+SimTsyTestNum = 100
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1 = ENetworkQoSChange
+QoSEventReq1Idx = 2
+ExpQoSEvent1 = EQoSEventAdapt
+ExpQoSEvent1Reason = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[ENetworkQoSR5ChangeSecondary1]
+SimTsyTestNum = 102
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1 = ENetworkQoSChange
+QoSEventReq1Idx = 2
+ExpQoSEvent1 = EQoSEventAdapt
+ExpQoSEvent1Reason = 0
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+IP6Addr=fe80::19:5bff:fe8a:abcd
+ParametersRecordId = 1
+
+[SecondaryActivationChangeQoSR5]
+SimTsyTestNum = 100
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+ExpQoSEvent1 = EQoSEventAddPolicy
+ExpQoSEvent1Reason = 0
+OptionalQoSEvent1 = EQoSEventAdapt
+OptionalQoSEvent1Reason = 0
+ExpQoSEvent2 = EQoSEventConfirm
+SubConnectionCount1 = 0
+SubConnectionCount2 = 3
+PolicySelector = 1
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 1
+IP6Addr=fe80::19:5bff:fe8a:abcd
+
+[PrimaryQoSR5EventDeleteWithSecondary]
+SimTsyTestNum = 100
+IapId = 5
+SecondaryActivationEvent1 = EQoSEventAddPolicy
+SecondaryActivationEvent2 = EQoSEventConfirm
+QoSEventReq1Idx = 0
+SubConnectionCount1 = 2
+SubConnectionCount2 = 3
+ParametersType = UmtsR99QoSAndOnTableRecord
+ParametersRecordId = 2
+PolicySelector = 1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6_loopbackcsy.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,13 @@
+# Defining a loopback between port A and B is as follows:
+# Port = <PortA>,<PortB>,<delay>,<queue size>,<element (packet) size>
+
+[Defaults]
+Port= 0,1,1,10,1500
+Port= 501,502,0,10,1500
+Port= 503,504,0,10,1500
+Port= 505,506,0,10,1500
+Port= 507,508,0,10,1500
+Port= 509,510,0,10,1500
+Port= 511,512,0,10,1500
+Port= 513,514,0,10,1500
+Port= 515,516,0,10,1500
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_pdplayer_ip6_simtsy_config.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,2586 @@
+############################################################################
+############################################################################
+###################              T E S T 0              ####################
+############################################################################
+############################################################################
+# Test case for success results
+############################################################################
+[test0]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY2, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 96, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 1, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+QosProfileReqR99 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::506, 18, 0, SECONDARY2
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusDeactivating = 4 EStatusInactive = 1 EStatusDeleted = 6
+NotifyContextStatusChange = PRIMARY1, 0, 6
+NotifyContextStatusChange = PRIMARY1, 0, 4
+NotifyContextStatusChange = PRIMARY1, 0, 1
+NotifyContextStatusChange = SECONDARY1, 0, 6
+NotifyContextStatusChange = SECONDARY1, 0, 4
+NotifyContextStatusChange = SECONDARY1, 0, 1
+
+# EStatusSuspended = 5 EStatusActive = 3
+NotifyContextStatusChange = PRIMARY1, 0, 5
+NotifyContextStatusChange = PRIMARY1, 0, 3
+NotifyContextStatusChange = SECONDARY1, 0, 5
+NotifyContextStatusChange = SECONDARY1, 0, 3
+
+############################################################################
+############################################################################
+###################              T E S T 1              ####################
+############################################################################
+############################################################################
+# Test case for success results
+############################################################################
+[test1]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+
+
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,                                , 0, 2, 0, 1,RasUser,   ,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY2, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 96, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 1, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+QosProfileReqR99 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::506, 18, 0, SECONDARY2
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusDeactivating = 4 EStatusInactive = 1 EStatusDeleted = 6
+NotifyContextStatusChange = PRIMARY1, 0, 6
+NotifyContextStatusChange = PRIMARY1, 0, 4
+NotifyContextStatusChange = PRIMARY1, 0, 1
+NotifyContextStatusChange = SECONDARY1, 0, 6
+NotifyContextStatusChange = SECONDARY1, 0, 4
+NotifyContextStatusChange = SECONDARY1, 0, 1
+
+# EStatusSuspended = 5 EStatusActive = 3
+NotifyContextStatusChange = PRIMARY1, 0, 5
+NotifyContextStatusChange = PRIMARY1, 0, 3
+NotifyContextStatusChange = SECONDARY1, 0, 5
+NotifyContextStatusChange = SECONDARY1, 0, 3
+
+############################################################################
+############################################################################
+###################              T E S T 7 0 1          ####################
+############################################################################
+############################################################################
+# This test messes up with QosProfileNegR99 entry to trigger KContextDelete on SPUDMAN
+############################################################################
+[test701]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY2, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 700, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 700, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusInactive = 5 EStatusDeleted = 6)
+NotifyContextStatusChange = PRIMARY1, 5, 6
+NotifyContextStatusChange = PRIMARY1, 5, 5
+NotifyContextStatusChange = SECONDARY1, 5, 6
+NotifyContextStatusChange = SECONDARY1, 5, 5
+
+
+############################################################################
+############################################################################
+###################              T E S T 8 0 1          ####################
+############################################################################
+############################################################################
+# This test sets the R99ContextConfig's iActivateErrorCode to -4 for Primary PDP Context
+############################################################################
+[test801]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, -4, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY2, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusInactive = 5 EStatusDeleted = 6)
+NotifyContextStatusChange = PRIMARY1, 5, 6
+NotifyContextStatusChange = PRIMARY1, 5, 5
+NotifyContextStatusChange = SECONDARY1, 5, 6
+NotifyContextStatusChange = SECONDARY1, 5, 5
+
+
+############################################################################
+############################################################################
+###################              T E S T 9 0 1          ####################
+############################################################################
+############################################################################
+# This test sets the R99ContextConfig's iActivateErrorCode to -4 for Secondary PDP Context
+############################################################################
+[test901]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, -4, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY2, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusInactive = 5 EStatusDeleted = 6)
+NotifyContextStatusChange = PRIMARY1, 5, 6
+NotifyContextStatusChange = PRIMARY1, 5, 5
+NotifyContextStatusChange = SECONDARY1, 5, 6
+NotifyContextStatusChange = SECONDARY1, 5, 5
+
+
+############################################################################
+############################################################################
+###################              T E S T 2 0 1          ####################
+############################################################################
+############################################################################
+# Failure to Activate Primary PDP context
+############################################################################
+[test201]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, -19, 0, 0, 0, 0, 0
+R99ContextConfig = PRIMARY1, 0, -19, 0, 0, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+
+############################################################################
+############################################################################
+###################              T E S T 2 1 0          ####################
+############################################################################
+############################################################################
+# Failure to Start the Lower Nif for the Primary Context
+############################################################################
+[test210]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+
+# Supply an invalid port name for primary context to SPUD
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, INVALID::1, 18, 0, PRIMARY1
+
+############################################################################
+############################################################################
+###################              T E S T 2 1 1          ####################
+############################################################################
+############################################################################
+# 
+############################################################################
+NTRAS PPP
+[test211]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 1
+
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= ECUART, COMM::0, 18, 0, PRIMARY1
+
+############################################################################
+############################################################################
+###################              T E S T 2 1 2         ####################
+############################################################################
+############################################################################
+# 'la-la land loopback' PPP: No peer is provided, all LPC frames are discarded by the CSY.
+# This results in the LCP negotiation taking as long as we want. This gives up time to inject events.
+############################################################################
+[test212]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR5  = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::0, 18, 0, PRIMARY1
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusDeactivating = 4 EStatusInactive = 1 EStatusDeleted = 6
+NotifyContextStatusChange = PRIMARY1, 0, 6
+NotifyContextStatusChange = PRIMARY1, 0, 4
+NotifyContextStatusChange = PRIMARY1, 0, 1
+NotifyContextStatusChange = SECONDARY1, 0, 6
+NotifyContextStatusChange = SECONDARY1, 0, 4
+NotifyContextStatusChange = SECONDARY1, 0, 1
+
+# EStatusSuspended = 5 EStatusActive = 3
+NotifyContextStatusChange = PRIMARY1, 0, 5
+NotifyContextStatusChange = PRIMARY1, 0, 3
+NotifyContextStatusChange = SECONDARY1, 0, 5
+NotifyContextStatusChange = SECONDARY1, 0, 3
+
+############################################################################
+############################################################################
+###################              T E S T 3 0 1          ####################
+############################################################################
+############################################################################
+# failure to activate secondary PDP context
+############################################################################
+[test301]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, -19, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+# When the value 0 is published to KPSSimtsyPacketContextStatusChange the first primary context will be deleted (status = EStatusDeleted = 6)
+NotifyContextStatusChange = SECONDARY1, 0, 6
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+############################################################################
+###################              T E S T 3 1 0          ####################
+############################################################################
+############################################################################
+# failure to Start the lower NIF for the Secondary PDP context
+############################################################################
+[test310]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+# When the value 0 is published to KPSSimtsyPacketContextStatusChange the first primary context will be deleted (status = EStatusDeleted = 6)
+NotifyContextStatusChange = SECONDARY1, 0, 6
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK, INVALID_PORT::0, 18, 0, SECONDARY1
+
+############################################################################
+############################################################################
+###################              T E S T 3 1 1          ####################
+############################################################################
+############################################################################
+# failure to Start the lower NIF for the Secondary PDP context 
+# (PPP as lower NIF)
+############################################################################
+[test311]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 1
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+# When the value 0 is published to KPSSimtsyPacketContextStatusChange the first primary context will be deleted (status = EStatusDeleted = 6)
+NotifyContextStatusChange = SECONDARY1, 0, 6
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= ECUART, COMM::0, 18, 0, PRIMARY1
+CommSetup= ECUART, INVALID::1, 18, 0, SECONDARY1
+
+############################################################################
+############################################################################
+###################              T E S T 1 8            ####################
+############################################################################
+############################################################################
+# R99ContextConfig ActivateErrorCode is modified to -19 for PRIMARY1. This 
+# way primary context activation will fail with an error code (-19)
+############################################################################
+[test18]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = 0<TName iContextName>,  1<TUint iActivatePause>, 2<TUint iActivateErrorCode>, 3<TUint iDeactivatePause>, 
+# 4<TUint iDeactivateErrorCode>, 5<TUint iDeletionPause>, 6<TUint iDeletionErrorCode> 7<TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, -19, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+############################################################################
+###################              T E S T 1 9            ####################
+############################################################################
+############################################################################
+# TFT filter, srcAddr value is modified so that the secondary context 
+# creation fails due to TFT settings failure.
+############################################################################
+[test19]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = 0<TName iContextName>,  1<TUint iActivatePause>, 2<TUint iActivateErrorCode>, 3<TUint iDeactivatePause>, 
+# 4<TUint iDeactivateErrorCode>, 5<TUint iDeletionPause>, 6<TUint iDeletionErrorCode> 7<TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.3, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+
+############################################################################
+############################################################################
+###################              T E S T 2 0            ####################
+############################################################################
+############################################################################
+# QosProfileReqR99 for SECONDARY1 reqTraffic and minTraffic values are 
+# modified so that secondary PDP context creation fails due to Requested QoS
+# parameter mismatch.
+############################################################################
+[test20]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = 0<TName iContextName>,  1<TUint iActivatePause>, 2<TUint iActivateErrorCode>, 3<TUint iDeactivatePause>, 
+# 4<TUint iDeactivateErrorCode>, 5<TUint iDeletionPause>, 6<TUint iDeletionErrorCode> 7<TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x08, 0x08, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x08, 0x08, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+############################################################################
+###################              T E S T 2 1            ####################
+############################################################################
+############################################################################
+# R99ContextConfig DeletionErrorCode is modified to -19 for PRIMARY1. This 
+# way primary context deletion will fail with an error code (-19)
+############################################################################
+[test21]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = 0<TName iContextName>,  1<TUint iActivatePause>, 2<TUint iActivateErrorCode>, 3<TUint iDeactivatePause>, 
+# 4<TUint iDeactivateErrorCode>, 5<TUint iDeletionPause>, 6<TUint iDeletionErrorCode> 7<TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, -19, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+
+############################################################################
+############################################################################
+###################              T E S T 2 2            ####################
+############################################################################
+############################################################################
+# R99ContextConfig DeletionErrorCode is modified to -19 for SECONDARY1. This 
+# way primary context deletion will fail with an error code (-19)
+############################################################################
+[test22]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = 0<TName iContextName>,  1<TUint iActivatePause>, 2<TUint iActivateErrorCode>, 3<TUint iDeactivatePause>, 
+# 4<TUint iDeactivateErrorCode>, 5<TUint iDeletionPause>, 6<TUint iDeletionErrorCode> 7<TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, -19, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+############################################################################
+###################              T E S T 24             ####################
+############################################################################
+############################################################################
+[test24]
+PhoneInitialiseDelay = 999
+
+############################################################################
+############################################################################
+############################################################################
+############################################################################
+
+############################################################################
+############################################################################
+###################              T E S T 25             ####################
+############################################################################
+############################################################################
+# Test case for success results
+############################################################################
+[test25]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = PRIMARY2, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = PRIMARY3, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = PRIMARY4, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = PRIMARY5, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY2, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 96, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 1, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = PRIMARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = PRIMARY3,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = PRIMARY4,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = PRIMARY5,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+QosProfileReqR99 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = PRIMARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = PRIMARY3,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = PRIMARY4,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = PRIMARY5,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY2,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosProfileNegR99 = PRIMARY2, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY3, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY4, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = PRIMARY5, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosProfileNegR5 = PRIMARY2, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY3, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY4, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = PRIMARY5, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY2, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY3, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY4, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = PRIMARY5, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY2, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY3, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY4, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = PRIMARY5, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::510, 18, 0, PRIMARY2
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::512, 18, 0, PRIMARY3
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::514, 18, 0, PRIMARY4
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::516, 18, 0, PRIMARY5
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::506, 18, 0, SECONDARY2
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusDeactivating = 4 EStatusInactive = 1 EStatusDeleted = 6
+NotifyContextStatusChange = PRIMARY1, 0, 6
+NotifyContextStatusChange = PRIMARY1, 0, 4
+NotifyContextStatusChange = PRIMARY1, 0, 1
+NotifyContextStatusChange = PRIMARY2, 0, 6
+NotifyContextStatusChange = PRIMARY3, 0, 6
+NotifyContextStatusChange = PRIMARY4, 0, 6
+NotifyContextStatusChange = PRIMARY5, 0, 6
+NotifyContextStatusChange = SECONDARY1, 0, 6
+NotifyContextStatusChange = SECONDARY1, 0, 4
+NotifyContextStatusChange = SECONDARY1, 0, 1
+
+# EStatusSuspended = 5 EStatusActive = 3
+NotifyContextStatusChange = PRIMARY1, 0, 5
+NotifyContextStatusChange = PRIMARY1, 0, 3
+NotifyContextStatusChange = PRIMARY2, 0, 5
+NotifyContextStatusChange = PRIMARY3, 0, 5
+NotifyContextStatusChange = PRIMARY4, 0, 5
+NotifyContextStatusChange = PRIMARY5, 0, 5
+NotifyContextStatusChange = SECONDARY1, 0, 5
+NotifyContextStatusChange = SECONDARY1, 0, 3
+
+
+############################################################################
+############################################################################
+###################              T E S T 100              ####################
+############################################################################
+############################################################################
+# Test case for success results
+############################################################################
+[test100]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+#SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>, <THeaderCompression>, <TDataCompression>, <No. Additional Context Config Params>
+SetContextConfigR5= 0, SYMBIAN INTERNET PROVIDER, PROTOCOL ADDRESS, 0, 2, USER3, PASSWORD3, CHALLENGE3, RESPONSE3, PRIMARYSERVER3, SECONDARYSERVER3, 3, 2, 1, 1
+
+#AdditionalParamItem= <TPcoProtocolId>, <TBuf8 AdditionalParamData>
+AdditionalParamItem= 0x04, ADDITIONALPARAM1
+
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 96, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 1, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x04, 0x01, 0x08, 0x08, -1, -1, -1, -1,0,0, 0x20, 1, 0x10 ,1 ,2 ,1 ,1 ,250 ,-1 ,-1 ,0 ,0
+#Added for test case 29
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 250, 250, -1, -1, 0, 0
+#Added for test case 30
+QosProfileReqR99 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+#QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, 768, 768, 1024, 1024, 1024, 1024, 0x0, 0x0, 0x01, 0x01, 0x01, 0x01, 0x1, 0x1, 250, 250, 1024, 1024
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x04, 0x01, 0x08, 0x08, -1, -1, -1, -1,0,0, 0x20, 1, 0x10 ,1 ,2 ,1 ,1 ,250 ,-1 ,-1 ,0 ,0 ,1 ,1
+#Added for test case 29
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x04, 0x01, 0x08, 0x08, -1, -1, -1, -1,0,0, 0x20, 1, 0x10 ,1 ,2 ,1 ,1 ,250 ,-1 ,-1 ,0 ,0 ,0 ,0
+#Added for test case 30
+QosProfileReqR5 = SECONDARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x01, 0x01, 0x08, 0x08, 768, 768, 1024, 1024, 1024, 1024, 0x0, 0x0, 0x01, 0x01, 0x01, 0x01, 250, 250, 1024, 1024, 1024, 1024, 0, 0
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 1, 1
+#for test case 29
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+#for test case 30
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 1
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 1
+
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusDeactivating = 4 EStatusInactive = 1 EStatusDeleted = 6
+NotifyContextStatusChange = PRIMARY1, 0, 6
+NotifyContextStatusChange = PRIMARY1, 0, 4
+NotifyContextStatusChange = PRIMARY1, 0, 1
+NotifyContextStatusChange = SECONDARY1, 0, 6
+NotifyContextStatusChange = SECONDARY1, 0, 4
+NotifyContextStatusChange = SECONDARY1, 0, 1
+
+# EStatusSuspended = 5 EStatusActive = 3
+NotifyContextStatusChange = PRIMARY1, 0, 5
+NotifyContextStatusChange = PRIMARY1, 0, 3
+NotifyContextStatusChange = SECONDARY1, 0, 5
+NotifyContextStatusChange = SECONDARY1, 0, 3
+
+############################################################################
+############################################################################
+###################              T E S T 1 0 1           ####################
+############################################################################
+############################################################################
+# QosProfileReqR99 for SECONDARY1 reqTraffic and minTraffic values are 
+# modified so that secondary PDP context creation fails due to Requested QoS
+# parameter mismatch.
+############################################################################
+[test101]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+#SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS=  1,orangeinternet,fe80::19:5bff:fe8a:c0eb, 0, 2, 0, 1,    web,web,,,,,1
+#SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>, <THeaderCompression>, <TDataCompression>, <No. Additional Context Config Params>
+SetContextConfigR5= 0, SYMBIAN INTERNET PROVIDER, PROTOCOL ADDRESS, 0, 2, USER3, PASSWORD3, CHALLENGE3, RESPONSE3, PRIMARYSERVER3, SECONDARYSERVER3, 3, 2, 1, 1
+
+#AdditionalParamItem= <TPcoProtocolId>, <TBuf8 AdditionalParamData>
+AdditionalParamItem= 0x04, ADDITIONALPARAM1
+
+
+
+# TRel99ContextConfig = 0<TName iContextName>,  1<TUint iActivatePause>, 2<TUint iActivateErrorCode>, 3<TUint iDeactivatePause>, 
+# 4<TUint iDeactivateErrorCode>, 5<TUint iDeletionPause>, 6<TUint iDeletionErrorCode> 7<TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+QosProfileReqR99 = SECONDARY1,0x08, 0x08, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x08, 0x08, 0x02, 0x02, 0x08, 0x08, -1, -1, -1, -1, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x08, 0x08, 250, 250, -1, -1, 0, 0, 0, 0
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 0, 0
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+############################################################################
+############################################################################
+###################              T E S T 102              ####################
+############################################################################
+############################################################################
+# Test case for success results
+############################################################################
+[test102]
+# DefaultContextparamGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+DefaultContextparamGPRS= 3, SYMBIAN EMPLOYEE INTRANET, A WAP PORTAL, 2, 1, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+
+# ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+#SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>, <THeaderCompression>, <TDataCompression>, <No. Additional Context Config Params>
+SetContextConfigR5= 0, SYMBIAN INTERNET PROVIDER, PROTOCOL ADDRESS, 0, 2, USER3, PASSWORD3, CHALLENGE3, RESPONSE3, PRIMARYSERVER3, SECONDARYSERVER3, 3, 2, 1, 1
+
+#AdditionalParamItem= <TPcoProtocolId>, <TBuf8 AdditionalParamData>
+AdditionalParamItem= 0x04, ADDITIONALPARAM1
+
+# TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
+# <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
+R99ContextConfig = PRIMARY1, 0, 0, 0, 0, 0, 0, 0
+R99ContextConfig = SECONDARY1, 0, 0, 0, 0, 0, 0, 0
+
+
+# TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
+#	      5<srcPortMin> 6<srcPortMax> 7<destPortMin> 8<destPortMax> 9<ipSecSPI> 10<toSorTrafficClass>
+#	      11<flowLabel>
+TFTfilter = 1, 96, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 0, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+TFTfilter = 1, 1, 0.0.0.0.0.0.0.0.0.0.255.255.192.168.1.1, 255.255.255.255.255.255.255.255.255.255.255.255.255.255.255.255, 17, 3461, 3461, 1031, 1031, 0, 0, 0
+
+#TProfileReqR99 = 0<contextName> 1<reqTraffic> 2<minTraffic> 3<reqDeliveryOrder> 4<minDeliveryOrder>
+#		  5<reqErroneousSDU> 6<minErroneousSDU> 7<maxSDUSize> 8<minSDUSize>
+#		 9<reqUpLinkBitRate> 10<reqDownLinkBitRate> 11<minUpLinkBitRate> 12<minDownLinkBitRate> 
+#		 
+#		 13<reqBitErrorRatio> 14<minBitErrorRatio> 15<reqSDUErrorRatio> 16<minSDUErrorRatio>
+#		 17<reqTrafficHandlingPriority> 18<minTrafficHandlingPriority>
+#		 19<reqTransferDelay> 20<minTransferDelay> 21<reqGuaranteedUpLinkBitRate> 22<reqGuaranteedDownLinkBitRate>
+#		 23<minGuaranteedUpLinkBitRate> 24<minGuaranteedDownLinkBitRate>
+
+QosProfileReqR99 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0
+
+QosProfileReqR99 = SECONDARY1,0x04, 0x04, 0x04, 0x01, 0x08, 0x08, -1, -1, -1, -1,0,0, 0x20, 1, 0x10 ,1 ,2 ,1 ,1 ,250 ,-1 ,-1 ,0 ,0
+
+QosProfileReqR5 = PRIMARY1,0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0, 0, 0, 0, 0, 0, 0, 0
+QosProfileReqR5 = SECONDARY1,0x04, 0x04, 0x04, 0x01, 0x08, 0x08, -1, -1, -1, -1,0,0, 0x20, 1, 0x10 ,1 ,2 ,1 ,1 ,250 ,-1 ,-1 ,0 ,0 ,1 ,1
+
+
+#TProfileNegR99 =<contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery> <negMaxSDUSize>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> 
+
+QosProfileNegR99 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+QosProfileNegR99 = SECONDARY1, 0x03, 0x01, 0x01, 0x01, 1501, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3
+
+QosProfileNegR5 = PRIMARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 1, 1
+QosProfileNegR5 = SECONDARY1, 0x03, 0x01, 0x03, 0x01, 1, 0x03, 0x01, 0x03, 1, 1, 3, 1, 3, 1, 1
+
+
+#TQosProfileCapsR99 = <trafficCap> <deliveryOrderReqCap> <deliverErroneousSDUCap>
+#		      <BERCap> <SDUErrorRatioCap> <trafficHandlingPriorityCap>
+QosProfileCapsR99= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04
+
+QosNetworkNotificationType = PublishSubscribe
+# QosNetworkNotification = <contextName> <duration> <negTraffic> <negDeliveryOrder> <negErroneousSDUDelivery>
+#		 <negBitErrorRatio> <negSDUErrorRatio> <negTrafficHandlingPriority>
+#		 <negTransferDelay> <negGuaranteedUpLinkBitRate> <negGuaranteedDownLinkBitRate>
+#		 <negMaxUpLinkRate> <negMaxDownLinkRate> <negMaxSDUSize>
+QosNetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+QosNetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4
+
+QosR5NetworkNotification = PRIMARY1, 0x04, 0x02, 0x04, 0x02, 2, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 0, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 1, 0
+QosR5NetworkNotification = SECONDARY1, 0x04, 0x02, 0x04, 0x02, 1, 0x04, 0x02, 0x04, 2, 2, 4, 2, 4, 1, 0
+
+
+#SetProfileFail= <contextName> <numberOfTimes> <errorCode> <setProfileDigit>
+SetProfileFail = NEG_99, 0x04, 0x02
+
+#QosprofileReqGPRS= <minPrecedence> <reqPrecedence> <minDelay> <reqDelay> <minReliability> <reqReliability> <minPeek> <reqPeek>
+#		    <minMean> <reqMean>
+QosProfileReqGPRS= 0x08, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+QosProfileReqGPRS= 0x04, 0x04, 0x02, 0x04, 0x02, 0x04, 0x020, 0x080, 0x00004, 0x00020
+
+#QosProfileNegGPRS=<negPrecedence> <negDelay><negReliability> <negPeek> <negMean>
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+QosProfileNegGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002
+
+#QosProfileCapsGPRS=<negPrecedenceCap> <negDelayCap> <negReliabilityCap><negPeekCap> <negMeanCap>
+QosProfileCapsGPRS= 0x04, 0x04, 0x04, 0x080, 0x00002 
+
+# QosProfileReq
+# = <TTrafficClass>, <TTrafficClass>, <TDeliveryOrder>, <TDeliveryOrder>
+# <TErroneousSDUDelivery>, <TErroneousSDUDelivery>
+# <TErroneousSDUDelivery>, <TInt iReqMaxSDUSize>, <TInt iMinAcceptableMaxSDUSize>
+# <TBitRate>, <TBitRate>, <TBitErrorRatio>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>, <TTrafficHandlingPriority>
+# <TInt	iReqTransferDelay>, <TInt iMaxTransferDelay>, <TBitRate>, <TBitRate>
+
+# QosProfileNeg = <TQoSPrecedence>, <TQoSDelay>, <TQoSReliability>, <TQoSPeakThroughput>, <TQoSMeanThroughput>
+# <TTrafficClass>, <TDeliveryOrder>, <TErroneousSDUDelivery>, <TInt iMaxSDUSize>, <TBitRate>, 
+# <TBitErrorRatio>, <TSDUErrorRatio>, <TTrafficHandlingPriority>
+# <TInt iTransferDelay>, <TBitRate>		
+
+DefaultContextparamRel99= 3, ACME INTERNET PROVIDERS LTD, i-MODE GATEWAY, 1, 1, USER2, PASSWORD2, NULL, NULL, PRIMARYSERVER2, SECONDARYSERVER2, 2
+# DefaultContextparamRel99 = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>
+# ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
+# <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
+
+ReleaseMode = 5, 5
+# Packet Release mode = <Release> <Duration>
+
+#RegStatus=<duration> <regStat> <networkIndex> 
+RegStatus= 5,3
+RegStatus= 2,5,0
+RegStatus= 2,7,3
+RegStatus= 5,2
+RegStatus= 2,5,0
+
+# NetworkRegStatus = <Duration>, <RegistrationStatus>
+NetworkRegStatusType = PublishSubscribe
+NetworkRegStatus= 5,2
+NetworkRegStatus= 5,1
+NetworkRegStatus= 5,1
+
+# CommSetup = <CsyName> <portName> <datarate> <handshake> <contextName> 
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::502, 18, 0, PRIMARY1
+CommSetup= PKTLOOPBACK.CSY, PKTLOOPBACK::504, 18, 0, SECONDARY1
+
+
+############################################################################
+# failure events
+# Configure the context's status to be changed using publish and subscribe
+NotifyContextStatusChangeType = PublishSubscribe
+# NotifyContextStatusChange <iContextName>, <iDuration>, <iStatus>
+
+# EStatusDeactivating = 4 EStatusInactive = 1 EStatusDeleted = 6
+NotifyContextStatusChange = PRIMARY1, 0, 6
+NotifyContextStatusChange = PRIMARY1, 0, 4
+NotifyContextStatusChange = PRIMARY1, 0, 1
+NotifyContextStatusChange = SECONDARY1, 0, 6
+NotifyContextStatusChange = SECONDARY1, 0, 4
+NotifyContextStatusChange = SECONDARY1, 0, 1
+
+# EStatusSuspended = 5 EStatusActive = 3
+NotifyContextStatusChange = PRIMARY1, 0, 5
+NotifyContextStatusChange = PRIMARY1, 0, 3
+NotifyContextStatusChange = SECONDARY1, 0, 5
+NotifyContextStatusChange = SECONDARY1, 0, 3
--- a/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_spudNetworkSide.ini	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_spudNetworkSide.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -424,7 +424,7 @@
 [PrimaryActivationEndUpWithInactiveContext3]
 SimTsyTestNum = 105
 PrimaryIapId1 = 2
-PrimaryActivationErr1 = -65536
+PrimaryActivationErr1 = -2
 
 [PrimaryActivationEndUpWithInactiveContext4]
 SimTsyTestNum = 106
--- a/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_spudNetworkSide_config_9x.txt	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/configs/te_spudNetworkSide_config_9x.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -2736,7 +2736,7 @@
 SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 # TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
 # <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
-R99ContextConfig = PRIMARY1, 0, -401, 0, 0, 0, 0, 0
+R99ContextConfig = PRIMARY1, 0, -402, 0, 0, 0, 0, 0
 
 
 # TFTfilter = 0<id> 1<evaluationPrecedenceIndex> 2<srcAddr> 3<srcAddrSubnetMask>  4<protocolNumberOrNextHeader>
--- a/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/group/BLD.INF	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/group/BLD.INF	Fri Apr 16 16:12:37 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -36,6 +36,7 @@
 ../scripts/TE_PppSize_spud.script					z:/testdata/scripts/te_pppsize_spud.script
 ../scripts/Te_SpudNetworkside_Channel.script					z:/testdata/scripts/Te_SpudNetworkside_Channel.script
 ../scripts/TE_spudNetworkSide_R4_and_R5.script				z:/testdata/scripts/te_spudnetworkside_r4_and_r5.script
+../scripts/te_pdplayer_ip6.script				z:/testdata/scripts/te_pdplayer_ip6.script
 #endif
 
 ../scripts/TE_spudNetworkSide_ppp_9x.script			z:/testdata/scripts/te_spudnetworkside_ppp.script
@@ -89,6 +90,11 @@
 //Used to trigger GuQos to use Qospolicies.ini file for SetDefaultQoS
 ../configs/qospolicies.ini							z:/testdata/configs/qospolicies.ini
 
+../configs/te_pdplayer_ip6.ini							z:/testdata/configs/te_pdplayer_ip6.ini
+../configs/te_pdplayer_ip6.cfg							z:/testdata/configs/te_pdplayer_ip6.cfg
+../configs/te_pdplayer_ip6_loopbackcsy.ini							z:/testdata/configs/te_pdplayer_ip6_loopbackcsy.ini
+../configs/te_pdplayer_ip6_simtsy_config.txt							z:/testdata/configs/te_pdplayer_ip6_simtsy_config.txt
+
 #endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
 
 TE_spudNetworkSide.iby	/epoc32/rom/include/te_spudnetworkside.iby 
--- a/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/group/TE_spudNetworkSide.iby	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/group/TE_spudNetworkSide.iby	Fri Apr 16 16:12:37 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -53,4 +53,10 @@
 data=EPOCROOT##epoc32\data\z\TestData\Configs\TE_PPPSize_config.txt								testdata\configs\TE_PPPSize_config.txt
 data=EPOCROOT##epoc32\data\z\TestData\Configs\TE_SpudNetworkSide_Channel_config.txt			testdata\configs\TE_SpudNetworkSide_Channel_config.txt
 
+data=EPOCROOT##epoc32\data\z\testdata\scripts\te_pdplayer_ip6.script 		testdata\scripts\te_pdplayer_ip6.script
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_pdplayer_ip6.ini								testdata\configs\te_pdplayer_ip6.ini
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_pdplayer_ip6.cfg								testdata\configs\te_pdplayer_ip6.cfg
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_pdplayer_ip6_loopbackcsy.ini								testdata\configs\te_pdplayer_ip6_loopbackcsy.ini
+data=EPOCROOT##epoc32\data\z\TestData\Configs\te_pdplayer_ip6_simtsy_config.txt			testdata\configs\te_pdplayer_ip6_simtsy_config.txt
+
 #endif // TE_SPUD_NETWORK_SIDE_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/scripts/te_pdplayer_ip6.script	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,483 @@
+// 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:
+// IPv6 integration tests of network-initiated conditions.
+// NOTE: this test suite is the same as te_spudnetworkside, in that it runs the same tests
+//       however all tests run with an IPv6 configuration.  May seem like overkill however
+//       as the flow is created before activation, its important to make sure that it
+//       is cleaned up properly in the event of an error.
+
+//! @file te_pdplayer_ip6.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_pdplayer_ip6_simtsy_config.txt c:\simtsy\config.txt
+RUN_UTILS  CopyFile z:\TestData\Configs\te_pdplayer_ip6_simtsy_config.txt c:\config.txt
+RUN_UTILS  CopyFile z:\TestData\Configs\te_pdplayer_ip6_loopbackcsy.ini c:\loopback.ini
+
+// Configure CommDB for the tests
+run_script z:\testdata\scripts\te_esock_test_unloadesockforced.script
+ced -i z:\testdata\configs\te_pdplayer_ip6.cfg
+run_script z:\testdata\scripts\te_esock_test_loadesock.script
+
+LOAD_SUITE te_spudnetworkside
+
+
+// TestSection suffix numbers correspond to SIM TSY's test section numbers. i.e. PrimaryActivationFails201 uses SIM TSYs test201 
+
+//
+// Sanity check tests: before testing the error cases, we test the success cases to make sure the system is OK.
+//
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0001
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0001
+//! @SYMTestCaseDesc Sanity check: successfully activate Primary context. 
+//! @SYMFssID PDP Layer / Primary PDP Context Creation
+//! @SYMTestActions Explicitly Start() a socket. SIM TSY, etc successfully activate the primary context.
+//! @SYMTestExpectedResults  Primary PDP context is activated: RConnection::Start on SPUD returns KErrNone.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimary z:\testdata\configs\te_pdplayer_ip6.ini PrimaryActivationOk1
+DELAY 3000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0001
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0002
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0002
+//! @SYMTestCaseDesc Sanity check: successfully activate Secondary context. 
+//! @SYMFssID PDP Layer / Secondary PDP Context Creation
+//! @SYMTestActions Implicitly Start() a socket bound to its secondary context. Set QoS on the socket, prompting GUQoS to activate secondary context.
+//! @SYMTestExpectedResults Both the primary & secondary contexts are activated. EQoSEventAddPolicy and EQoSEventConfirm are received by the test app.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudSecondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryActivationOk1
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0002
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+//
+// Operation errors: Creation, TFT, QoS, Activation, Deactivation, Deletion errors.
+//
+START_TESTCASE          CBS-PDPLAYER-IP6-0003
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0003
+//! @SYMTestCaseDesc Activation of Primary fails. 
+//! @SYMFssID PDP Layer / Primary PDP Context Creation
+//! @SYMTestActions Explicitly start Spud. SIM TSY returns an error on activation of the primary context. 
+//! @SYMTestExpectedResults Spud cannot be started: RConnection::Start returns an error.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimary z:\testdata\configs\te_pdplayer_ip6.ini PrimaryActivationFails201
+DELAY 3000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0003
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0004
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0004
+//! @SYMTestCaseDesc Activation of Secondary fails.
+//! @SYMFssID PDP Layer / Secondary PDP Context Creation
+//! @SYMTestActions Implicitly start SPUD by opening a socket bound to the secondary context. Set QoS on the socket, prompting GUQoS to activate secondary context. SIM TSY errors secondary context activation request. 
+//! @SYMTestExpectedResults  EQoSEventAddPolicy and EQoSEventFailure are received by the test app.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudSecondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryActivationFails301
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0004
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0005
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0005
+//! @SYMTestCaseDesc Network deletes Activated Primary.
+//! @SYMFssID PDP Layer / PDP Context Deactivation
+//! @SYMTestActions Activate the primary context only by explicitly starting Spud. After a pause, SIM.TSY deletes the primary context. 
+//! @SYMTestExpectedResults Spud is started successfully - the RConnection is started with KErrNone. KLinkLayerClosed / KErrDisconnected notification is received by the test app.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimaryEvent z:\testdata\configs\te_pdplayer_ip6.ini PrimaryQoSEventDelete1
+DELAY 3000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0005
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0006
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0006
+//! @SYMTestCaseDesc  The QoS parameter changes on the Primary PDP Context.
+//! @SYMFssID PDP Layer / Network initiated PDP Context Modification
+//! @SYMTestActions Explicitly start the SPUD interface to activate the primary context, use sim.tsy to trigger the QoS parameter changes on the Primary PDP Context.
+//! @SYMTestExpectedResults SPUD starts successfully. SPUD receives the QoS parameter change event successfully. RConnection times out and returns the error code KErrTimedOut.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimaryEvent z:\testdata\configs\te_pdplayer_ip6.ini ENetworkQoSChangePrimary
+DELAY 3000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0006
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0007
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0007
+//! @SYMTestCaseDesc Triggers the Primary PDP Context deletion before the lower NIF is up.
+//! @SYMFssID PDP Layer / PDP Context Deactivation
+//! @SYMTestActions Explicitly start the SPUD interface to activate the primary context, it fails then deletes the Primary Context. 
+//! @SYMTestExpectedResults Spud start fails. RConnection::Start returns the error.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimary z:\testdata\configs\te_pdplayer_ip6.ini PrimaryDeleteBeforeLowerNif
+DELAY 3000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0007
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0008
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0008
+//! @SYMTestCaseDesc Triggers the Secondary PDP Context deletion before the lower NIF is up.
+//! @SYMFssID PDP Layer / PDP Context Deactivation
+//! @SYMTestActions Activate the primary and the secondary contexts by opening a socket & setting QoS on it,fails to creat the secondary context.
+//! @SYMTestExpectedResults EQoSEventAddPolicy, EQoSEventFailure are received by the test app.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudSecondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryDeleteBeforeLowerNif
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0008
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0009
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0009
+//! @SYMTestCaseDesc Failure to Start a lower NIF for primary context (LinkLayerDown from lower NIF) 
+//! @SYMFssID PDP Layer /Primary PDP Context Creation
+//! @SYMTestActions Explicitly start SPUD. Spud starts the lower NIF for the primary context. Lower NIF reports LinkLayerDown with an error. 
+//! @SYMTestExpectedResults Spud start fails. RConnection::Start returns the error.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 120 te_spudnetworkside CSpudPrimary z:\testdata\configs\te_spudnetworkside_platsec.ini PrimaryLowerNifStartFails210
+DELAY 3000
+RUN_TEST_STEP 30 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0009
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0010
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0010
+//! @SYMTestCaseDesc Failure to Start a lower NIF for secondary context (LinkLayerDown from lower NIF) 
+//! @SYMFssID PDP Layer /Secondary PDP Context Creation
+//! @SYMTestActions Request activation of the secondary PDP context by opening a socket & setting QoS on it. Spud start the lower NIF for the secondary context. Lower NIF reports LinkLayerDown with error. 
+//! @SYMTestExpectedResults The primary context is activated, secondary is not. EQoSEventAddPolicy and EQoSEventFailure with the error code are received by the test app.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudSecondary z:\testdata\configs\te_spudnetworkside_platsec.ini SecondaryLowerNifStartFails310
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0010
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0011
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0011
+//! @SYMTestCaseDesc Test Etel suspension of primary context
+//! @SYMFssID PDP Layer /Network initiated PDP Context Modification
+//! @SYMTestActions Create/send data on a socket with no QoS parameters (therefore a primary context), and read from the opposite loopback port. Suspend the context. Send more data and attempt to read from the opposite port. Resume the context. Send more data and attempt to read from the opposite port.
+//! @SYMTestExpectedResults The read on the loopback comm port should work before the context is suspended, and after it is resumed. It should time-out when the context is suspended.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 120 te_spudnetworkside CSpudSuspendContext z:\testdata\configs\te_pdplayer_ip6.ini PrimaryContextSuspendAndResume
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+DELAY 3000
+END_TESTCASE            CBS-PDPLAYER-IP6-0011
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0012
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0012
+//! @SYMTestCaseDesc Test Etel suspension of secondary context
+//! @SYMFssID PDP Layer /Network initiated PDP Context Modification
+//! @SYMTestActions Create/send data on a socket with QoS parameters (therefore a secondary context), and read from the opposite loopback port. Suspend the context. Send more data and attempt to read from the opposite port. Resume the context. Send more data and attempt to read from the opposite port.
+//! @SYMTestExpectedResults The read on the loopback comm port should work before the context is suspended, and after it is resumed. It should time-out when the context is suspended.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 120 te_spudnetworkside CSpudSuspendContext z:\testdata\configs\te_pdplayer_ip6.ini SecondaryContextSuspendAndResume
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//DELAY 3000
+//END_TESTCASE            CBS-PDPLAYER-IP6-0012
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0013
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0013
+//! @SYMTestCaseDesc Primary PDP context activation fails
+//! @SYMFssID PDP Layer /Primary PDP Context Creation
+//! @SYMTestActions Primary PDP context activation fails by modifying the TFT values
+//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimary z:\testdata\configs\te_pdplayer_ip6.ini PrimaryActivationFails18
+DELAY 3000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0013
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0014
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0014
+//! @SYMTestCaseDesc Secondary PDP context: Setting TFT fails
+//! @SYMFssID PDP Layer /Secondary PDP Context Creation
+//! @SYMTestActions Setting TFT values on secondary PDP context fails due to using incorrect TFT values
+//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudSecondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryActivationFails19
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0014
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0015
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0015
+//! @SYMTestCaseDesc Secondary PDP context: Setting requested QoS parameters fails
+//! @SYMFssID PDP Layer /Secondary PDP Context Creation
+//! @SYMTestActions Setting QoS parameters on secondary PDP context fails due to using incorrect QoS parameter values
+//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudSecondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryActivationFails20
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0015
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0016
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0016
+//! @SYMTestCaseDesc Primary PDP context deletion fails
+//! @SYMFssID PDP Layer / PDP Context Deactivation
+//! @SYMTestActions Primary PDP context deletion fails by modifying the TFT values
+//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimary z:\testdata\configs\te_pdplayer_ip6.ini PrimaryDeletionFails21
+DELAY 8000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0016
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0017
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0017
+//! @SYMTestCaseDesc Secondary PDP context deletion fails
+//! @SYMFssID PDP Layer / PDP Context Deactivation
+//! @SYMTestActions Secondary PDP context deletion fails by modifying the TFT values
+//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudSecondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryDeletionFails22
+//DELAY 8000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0017
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0018
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0018
+//! @SYMTestCaseDesc  Network deletes a primary context
+//! @SYMFssID PDP Layer / PDP Context Deactivation
+//! @SYMTestActions  Starts a secondary context by creating a socket with QoS, starts a rawipnif instance opposite the secondary context, deletes the primary context then sends data on the primary context's socket.
+//! @SYMTestExpectedResults   Since the primary context is down, the data is sent on the secondary context, and is received by the rawipnif instance opposite the secondary context.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 600 te_spudnetworkside CSpudDeletePrimary z:\testdata\configs\te_pdplayer_ip6.ini PrimaryQoSEventDeleteWithSecondary
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0018
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0019
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0019
+//! @SYMTestCaseDesc Call RConnection::Stop while SPUDFSM is initialising the phone  
+//! @SYMFssId PDP Layer /Secondary PDP Context Creation
+//! @SYMTestActions  Cause RPhone::Initialise to take a very long time to complete, and call RConnection::Stop while it is running
+//! @SYMTestExpectedResults Connection stops successfully.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 120 te_spudnetworkside CSpudPrimayStartingStop z:\testdata\configs\te_pdplayer_ip6.ini PrimarySlowInitialisePhone
+DELAY 3000
+END_TESTCASE            CBS-PDPLAYER-IP6-0019
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0020
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0020
+//! @SYMTestCaseDesc Sanity check: successfully activate many primary contexts. 
+//! @SYMFssID PDP Layer /Primary PDP Context Creation
+//! @SYMTestActions Explicitly start the SPUD interfaces. SIM TSY, etc successfully activate the primary contexts.
+//! @SYMTestExpectedResults  The Primary PDP contexts are activated, SPUD started: RConnection::Start on the SPUDs returns KErrNone.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 100 te_spudnetworkside CSpudMultiPrimary z:\testdata\configs\te_pdplayer_ip6.ini MultiPrimaryActivationOk1
+DELAY 3000
+RUN_TEST_STEP 100 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0020
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0021
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0021
+//! @SYMTestCaseDesc Set requested Qos (SSD, IM CN SI) on a Secondary PDP context.
+//! @SYMFssID PDP Layer /Secondary PDP Context Creation
+//! @SYMTestActions  Activate the primary and the secondary contexts by opening a socket & setting requested Qos (SSD = Speech, SI = True, IM CN SI = True) on secondary PDP context
+//! @SYMTestExpectedResults Both the primary & secondary contexts are activated. EQoSEventAddPolicy and EQoSEventConfirm are received by the test app.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudQosR5Secondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryR5ActivationOk1
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0021
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0022
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0022
+//! @SYMTestCaseDesc Secondary PDP context: Setting requested QoS parameters fails
+//! @SYMFssID PDP Layer /Secondary PDP Context Creation
+//! @SYMTestActions Setting QoS parameters on secondary PDP context fails due to using incorrect QoS parameter values
+//! @SYMTestExpectedResults The SpudMan code should respond to this event correctly without Leave and Panic.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//RUN_TEST_STEP 60 te_spudnetworkside CSpudQosR5Secondary z:\testdata\configs\te_pdplayer_ip6.ini SecondaryR5ActivationFails20
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0022
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+// Uncomment when IPv6 on Secondary PDP contexts is sorted. 
+//START_TESTCASE          CBS-PDPLAYER-IP6-0023
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0023
+//! @SYMTestCaseDesc  Network deletes a primary context where SI is set on Secondary PDP context.
+//! @SYMFssID PDP Layer / PDP Context Deactivation
+//! @SYMTestActions  Starts a secondary context by creating a socket with QoS, starts a rawipnif instance opposite the secondary context, deletes the primary context then sends data on the primary context's socket.
+//! @SYMTestExpectedResults   Since the primary context is down, the data is sent on the secondary context, and is received by the rawipnif instance opposite the secondary context.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+//RUN_TEST_STEP 600 te_spudnetworkside CSpudDeletePrimaryR5Qos z:\testdata\configs\te_pdplayer_ip6.ini PrimaryQoSR5EventDeleteWithSecondary
+//DELAY 3000
+//RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+//END_TESTCASE            CBS-PDPLAYER-IP6-0023
+
+//run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+//run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+START_TESTCASE          CBS-PDPLAYER-IP6-0024
+//! @SYMTestCaseID      CBS-PDPLAYER-IP6-0024
+//! @SYMTestCaseDesc Sanity check: Primary context Progress Test 
+//! @SYMFssID PDP Layer /Primary PDP Context Creation
+//! @SYMTestActions Explicitly start the SPUD interface. SIM TSY, etc successfully activate the primary context. Check the Progress.
+//! @SYMTestExpectedResults  Primary PDP context is activated, SPUD is started: RConnection::Start on SPUD returns KErrNone. Check the Progress of connection.
+//! @SYMTestPriority Critical
+//! @SYMTestStatus Implemented
+//! @SYMTestType CIT
+RUN_TEST_STEP 60 te_spudnetworkside CSpudPrimaryContextEventProgress z:\testdata\configs\te_pdplayer_ip6.ini PrimaryActivationOk1
+DELAY 3000
+RUN_TEST_STEP 60 te_spudnetworkside CESockCheck z:\testdata\configs\te_pdplayer_ip6.ini ESockCheck
+END_TESTCASE            CBS-PDPLAYER-IP6-0024
+
+run_script z:\TestData\scripts\te_esock_test_unloadesockForced.script
+run_script z:\TestData\scripts\te_esock_test_loadesock.script
+
+RUN_UTILS  MakeReadWrite c:\simtsy\config.txt
+RUN_UTILS  MakeReadWrite c:\config.txt
+RUN_UTILS  DeleteFile c:\simtsy\config.txt
+RUN_UTILS  DeleteFile c:\config.txt
+RUN_UTILS  DeleteFile c:\loopback.ini
--- a/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/src/te_spudNetworkSideSteps.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudNetworkSide/src/te_spudNetworkSideSteps.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -1273,7 +1273,16 @@
 		
 		TInetAddr dstAddr;
 		dstAddr.SetPort(KConfiguredTftFilter1SrcPort);
-		dstAddr.Input(KConfiguredTftFilter1SrcAddr);
+
+		TPtrC ip6Addr;
+        if(GetStringFromConfig(ConfigSection(), _L("IP6Addr"), ip6Addr))
+            {
+            dstAddr.Input(ip6Addr);
+            }
+        else
+            {
+            dstAddr.Input(KConfiguredTftFilter1SrcAddr);
+            }
 		
 		iSocket.Connect(dstAddr, status);
 		User::WaitForRequest(status);
--- a/telephonyprotocols/pdplayer/umts/test/te_spudRSubConn/src/te_spudRSubConnSteps.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/pdplayer/umts/test/te_spudRSubConn/src/te_spudRSubConnSteps.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -354,7 +354,11 @@
 TBool CSpudRSubConnTestStepBase::ApplyQoSParametersL(RSubConnection& aPdpContext)
 	{
 	TInt qosParamSet = 0;
-	ASSERT(GetIntFromConfig(ConfigSection(), _L("QoSParamSet"), qosParamSet));
+    if (!GetIntFromConfig(ConfigSection(), _L("QoSParamSet"), qosParamSet))
+        {
+        User::Leave(KErrNotFound);
+        }
+		
 	ASSERT(qosParamSet >= 0);
 
 	switch(qosParamSet)
@@ -774,7 +778,11 @@
 	WaitForCompletionL(peerStartReq, KErrNone, _L(">>>>>Starting PPP Peer for SPUD primary context"));
 
 	TInt stopTypeInt = -1;  
-	ASSERT(GetIntFromConfig(ConfigSection(), _L("StopType"), stopTypeInt));
+	if(!GetIntFromConfig(ConfigSection(), _L("StopType"), stopTypeInt))
+	    {
+        User::Leave(KErrNotFound);
+	    }
+		
 	RConnection::TConnStopType stopType = static_cast<RConnection::TConnStopType>(stopTypeInt);
 	INFO_PRINTF2(_L("Stopping Spud with stop type= %d (0 = EStopNormal, 1 = EStopAuthoritative)"), stopType);
 	ASSERT(RConnection::EStopNormal == stopType || RConnection::EStopAuthoritative == stopType);
--- a/telephonyprotocols/psdagt/group/networking_psdagt.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/psdagt/group/networking_psdagt.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_psdagt
 source	\sf\os\cellularsrv\telephonyprotocols\psdagt
 binary	\sf\os\cellularsrv\telephonyprotocols\psdagt\group	all
--- a/telephonyprotocols/qos3gppcpr/group/networking_Qos3GPP.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/qos3gppcpr/group/networking_Qos3GPP.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component       networking_qos3gpp
 source	        \sf\os\cellularsrv\telephonyprotocols\qos3gppcpr
 binary	        \sf\os\cellularsrv\telephonyprotocols\qos3gppcpr\group all
--- a/telephonyprotocols/qosextnapi/group/networking_qosextnapi.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/qosextnapi/group/networking_qosextnapi.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_qosextnapi
 source	\sf\os\cellularsrv\telephonyprotocols\qosextnapi
 binary	\sf\os\cellularsrv\telephonyprotocols\qosextnapi\group	all
--- a/telephonyprotocols/rawipnif/group/networking_rawipnif.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/rawipnif/group/networking_rawipnif.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_rawipnif
 source	\sf\os\cellularsrv\telephonyprotocols\rawipnif
 binary	\sf\os\cellularsrv\telephonyprotocols\rawipnif\group	all
--- a/telephonyprotocols/rawipnif/inc/BcaIoController.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/rawipnif/inc/BcaIoController.h	Fri Apr 16 16:12:37 2010 +0300
@@ -214,7 +214,9 @@
 		/** Bca IAP is set*/
 		EIAPSet,
 		/** Bca stack is set*/
-		EBcaStackSet
+		EBcaStackSet,
+		/** Bca channel is open */
+		EBcaOpened
 		};
 	
 private:
--- a/telephonyprotocols/rawipnif/inc/Constants.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/rawipnif/inc/Constants.h	Fri Apr 16 16:12:37 2010 +0300
@@ -50,8 +50,10 @@
 	/** Bca in unkonwn State */
 	KBcaUnkownState,
 	/** BCA not exist*/
-	KBcaNotExist 	
-	};
+	KBcaNotExist,
+    /** BCA not exist*/
+    KBcaAlreadyExists
+    };
 
 
 const TUint16 KIp4FrameType = 0x21;
--- a/telephonyprotocols/rawipnif/src/BcaIoController.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/rawipnif/src/BcaIoController.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -92,7 +92,7 @@
 void CBcaIoController::SetBcaStackAndName(const TDesC& aBcaStack, const TDesC& aBcaName)
 	{
 	iBcaName.Set(aBcaName);
-	iBcaName.Set(aBcaStack);
+	iBcaStack.Set(aBcaStack);
 	}
 	
 
@@ -126,33 +126,8 @@
 	// Update module state
 	SendState(EShuttingDown);
 	
-	//It does nothing here.
-	iLoader->Cancel();
-	MBca* bca = iLoader->Bca();
-	if(bca)
-		{
-		if(aError == KErrConnectionTerminated )
-			{
-			_LOG_L1C1(_L8("This is an emergency shutdown, it kills the NIF immediately."));
-			// It is a emergency shutdown, it kills the NIF immediately.
-			bca->Close();
-			GetObserver().ShutDown(MControllerObserver::EBcaController, aError);
-			}
-	    
-		else
-			{
-			_LOG_L1C1(_L8("This is a graceful termination which takes a while."));
-			//It is a graceful termination which takes a while.
-			iLoader->ShutdownBca(aError); 	
-			}	
-		}
-	else //nothing to shutdown, just notify linklayer down.
-		{
-		_LOG_L1C1(_L8("Bca is not initialized, bring the linklayer down"));
-		GetObserver().ShutDown(MControllerObserver::EBcaController, aError);
-		}
-
-  	}
+    iLoader->ShutdownBca(aError);  
+	}
 
 void CBcaIoController::InitialiseBcaL()
 /**
@@ -235,9 +210,14 @@
 	Cancel();
 	if(iMBca)
 		{
+        //If the Bca is still open, close it
+        if(EBcaOpened == iState)
+            {
+            iMBca->Close();
+            }
+        //delete the BCA instance
 		iMBca->Release();	
 		}
-		
 	// Library will be Closed when iBcaDll is destroyed.
 	}
 
@@ -327,6 +307,8 @@
 				}
 			else
 				{
+                iState = EBcaOpened;
+                //Activate the receiver Active Object
 				iObserver.Receiver().StartListening();
 				_LOG_L1C1(_L8("CBcaIoController Is Initialised"));
 				TRAPD(err, iObserver.GetObserver().InitialiseL(MRawIPObserverBase::EBcaController,KErrNone));
@@ -343,6 +325,7 @@
 		case EClosing:
 			{
 			// linklayer shutdown
+			iState = EIdling;
 			iObserver.GetObserver().ShutDown(MControllerObserver::EBcaController, iError);
 			break;
 			}
@@ -368,20 +351,16 @@
 		{
 		case EIdling:
 		case EIAPSet:
+	    case EBcaStackSet:
 			if(iMBca)
 				{
 				iMBca->CancelIoctl();
 				}
 			iState = EIdling;
 			break;
-		case EBcaStackSet:
 		case EClosing:
-		    if(iMBca)
-			    {
-			    iMBca->Close();
-			    }
-			iState = EIdling;
-			break;
+            iState = EIdling;		    
+            break;    
 		default:
 			_LOG_L2C1(_L8("ERROR CBcaControl::DoCancel(): Unknown state"));
 			_BTT_PANIC(KNifName, KBcaUnkownState);
@@ -396,6 +375,20 @@
 	{
 	_LOG_L1C1(_L8("CBcaControl::StartLoad"));
 	
+	//iMBca should not be initialized at this point
+	__ASSERT_DEBUG(!iMBca,Panic(KBcaAlreadyExists));
+	
+	//We don't expect iMBca here, but if it occurs, we delete previous BCA Instance
+	if(iMBca)
+	    {
+        //If the state is still "open", close it first
+        if(EBcaOpened == iState)
+            {
+            iMBca->Close();
+            }
+        iMBca->Release();
+        }
+
 	// Loads Bca Dll and creates a Bca instance;
 	User::LeaveIfError(iBcaDll.iObj.Load(iObserver.BcaName()));
 	
@@ -437,13 +430,35 @@
 	{
 	__ASSERT_DEBUG(iMBca,Panic(KBcaNotExist));
 	Cancel();
-    iError = aError;
-    iState = EClosing;  
-    if(iMBca)
+        
+    //We should only call shutdown or close if we have successfully opened a BCA Channel
+    if((iMBca) && (EBcaOpened == iState))
         {
-        iMBca->Shutdown(iStatus);
-        SetActive();    
+        if(aError == KErrConnectionTerminated )
+            {
+            _LOG_L1C1(_L8("This is an emergency shutdown, it kills the NIF immediately."));
+            // It is a emergency shutdown, it kills the NIF immediately.
+            iMBca->Close();
+            iState = EIdling;
+            iObserver.GetObserver().ShutDown(MControllerObserver::EBcaController, aError);
+            }
+        else
+            {
+            _LOG_L1C1(_L8("This is a graceful termination which takes a while."));
+            //It is a graceful termination which takes a while.
+            iError = aError;
+            iState = EClosing;
+            iMBca->Shutdown(iStatus);
+            SetActive();    
+            }
         }
+    else //nothing to shutdown, just notify linklayer down.
+        {
+        _LOG_L1C1(_L8("Bca is not initialized or opened, bring the linklayer down"));
+        iState = EIdling;
+        iObserver.GetObserver().ShutDown(MControllerObserver::EBcaController, aError);
+        }
+  
 	}
 
 /** Panic function for RawIpNif 
--- a/telephonyprotocols/rawipnif/version1/group/networking_rawipnif.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/rawipnif/version1/group/networking_rawipnif.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	networking_rawipnif
 source	\sf\os\cellularsrv\telephonyprotocols\rawipnif
 binary	\sf\os\cellularsrv\telephonyprotocols\rawipnif\group	all
--- a/telephonyprotocols/secondarypdpcontextumtsdriver/group/networking_spud.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyprotocols/secondarypdpcontextumtsdriver/group/networking_spud.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component networking_spud
 source \sf\os\cellularsrv\telephonyprotocols\secondarypdpcontextumtsdriver
 binary \sf\os\cellularsrv\telephonyprotocols\secondarypdpcontextumtsdriver\group all
--- a/telephonyserver/etelmultimode/CETEL/mm_phone.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/CETEL/mm_phone.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -4846,6 +4846,26 @@
 	Blank(EMobilePhoneTerminateAllCalls,aReqStatus);
 	}
 
+/************************************************************************************/
+//
+// Mobile Active Calls Termination
+//
+/************************************************************************************/
+
+EXPORT_C void RMobilePhone::TerminateActiveCalls(TRequestStatus& aReqStatus) const
+/**
+Terminates all active calls on all lines.
+Active calls are defined as those in either active or held state.
+This will not terminate calls in dialling or connecting state.
+ 
+@param aReqStatus returns the result code after the asynchronous call completes.
+
+@capability NetworkServices
+*/
+    {
+    Blank(EMobilePhoneTerminateActiveCalls,aReqStatus);
+    }
+
 /***********************************************************************************/
 //
 // Auto Redial Functional Unit
--- a/telephonyserver/etelmultimode/DTsy/mmtsy.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/DTsy/mmtsy.h	Fri Apr 16 16:12:37 2010 +0300
@@ -633,6 +633,8 @@
 	TInt NotifyAirTimeDurationChangeCancel(const TTsyReqHandle aTsyReqHandle);
 	TInt TerminateAllCalls(const TTsyReqHandle aTsyReqHandle);
 	TInt TerminateAllCallsCancel(const TTsyReqHandle aTsyReqHandle);
+    TInt TerminateActiveCalls(const TTsyReqHandle aTsyReqHandle);
+    TInt TerminateActiveCallsCancel(const TTsyReqHandle aTsyReqHandle);
 	TInt NotifySendNetworkServiceRequest(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNotifySendSSOperation* aOperation, TDes8* aRequestComplete);
 	TInt NotifySendNetworkServiceRequestCancel(const TTsyReqHandle aTsyReqHandle);
 	TInt NotifyAllSendNetworkServiceRequest(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNotifySendSSOperation* aOperation, TDes8* aRequestComplete);
@@ -806,6 +808,7 @@
 	TInt iNotifyNetworkInvScanChange;
 	TInt iNotifyAirTimeChangeChange;
 	TInt iTerminateAllCalls;
+	TInt iTerminateActiveCalls;
 	TInt iNotifySendNetworkServiceRequest;
 	TInt iClearBlacklist;
 	TInt iNotifyDTMFEvent;
--- a/telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/DTsy/mmtsyphone.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -491,6 +491,7 @@
 	case EMobilePhoneSetCallForwardingStatus:
 	case EMobilePhoneProgramFeatureCode:
 	case EMobilePhoneTerminateAllCalls:
+	case EMobilePhoneTerminateActiveCalls:
 		ret=KReqModeFlowControlObeyed;
 		break;
 	default:
@@ -1552,6 +1553,9 @@
 		
 	case EMobilePhoneTerminateAllCalls:
 		return TerminateAllCalls(aTsyReqHandle);
+		
+    case EMobilePhoneTerminateActiveCalls:
+        return TerminateActiveCalls(aTsyReqHandle);
 			
 	case EMobilePhoneGetMailboxNumbers:
 		return GetMailboxNumbers (aTsyReqHandle, aPackage.Des1n());
@@ -2135,6 +2139,8 @@
 		return NotifyAirTimeDurationChangeCancel(aTsyReqHandle);
 	case EMobilePhoneTerminateAllCalls:
 		return TerminateAllCallsCancel(aTsyReqHandle);
+    case EMobilePhoneTerminateActiveCalls:
+        return TerminateActiveCallsCancel(aTsyReqHandle);
 	case EMobilePhoneNotifySendNetworkServiceRequest:
 		return NotifySendNetworkServiceRequestCancel(aTsyReqHandle);
 	case EMobilePhoneNotifyAllSendNetworkServiceRequest:
@@ -6067,6 +6073,25 @@
 	return KErrNone;
 	}
 
+TInt CPhoneDMmTsy::TerminateActiveCalls(const TTsyReqHandle aTsyReqHandle)
+    {
+    LOGTEXT(_L8("CPhoneDMmTsy::TerminateActiveCalls called"));
+    if (!iTerminateActiveCalls++)
+        {
+        //Just return KErrNone
+        ReqCompleted(aTsyReqHandle,KErrNone);
+        }
+    return KErrNone;
+    }
+    
+TInt CPhoneDMmTsy::TerminateActiveCallsCancel(const TTsyReqHandle aTsyReqHandle)
+    {
+    LOGTEXT(_L8("CPhoneDMmTsy::TerminateActiveCallsCancel called"));
+    RemoveDelayedReq(aTsyReqHandle);
+    ReqCompleted(aTsyReqHandle,KErrCancel);
+    return KErrNone;
+    }
+
  TInt CPhoneDMmTsy::NotifySendNetworkServiceRequest(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNotifySendSSOperation* aOperation, TDes8* aRequestComplete)
  	{
  	LOGTEXT(_L8("CPhoneDMmTsy::NotifySendNetworkServiceRequest called"));
--- a/telephonyserver/etelmultimode/INC/ETELMM.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/INC/ETELMM.H	Fri Apr 16 16:12:37 2010 +0300
@@ -15,7 +15,7 @@
 // Describes the MM ETel API - classes, methods and types.
 // 
 //
-
+   
 /**
  @file
  @publishedPartner
@@ -6813,7 +6813,13 @@
 
 	IMPORT_C void StorePreferredWlanSIDListL(TRequestStatus& aReqStatus, CMobilePhoneStoredWlanSIDList* aList) const;
 	IMPORT_C void NotifyPreferredWlanSIDListChange(TRequestStatus& aReqStatus) const;	
-		
+
+	/***********************************************************************************/
+    //
+    // Terminate Active Calls
+    //
+    /***********************************************************************************/
+    IMPORT_C void TerminateActiveCalls(TRequestStatus& aReqStatus) const;
 
 private:
 	CMobilePhonePtrHolder* iMmPtrHolder;
--- a/telephonyserver/etelmultimode/INC/secure/ETELMMCS.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/INC/secure/ETELMMCS.H	Fri Apr 16 16:12:37 2010 +0300
@@ -19,7 +19,7 @@
 // associated with them.
 // 
 //
-
+   
 /**
  @file
 */
@@ -322,7 +322,8 @@
 	EMobilePhoneSendDTMFTones,                                            // 21026
 	EMobilePhoneStartDTMFTone,                                            // 21027
 	EMobilePhoneStopDTMFTone,                                             // 21028
-	EMobilePhoneTerminateAllCalls                                         // 21029
+	EMobilePhoneTerminateAllCalls,                                        // 21029
+	EMobilePhoneTerminateActiveCalls                                      // 21030
 	};
 
 enum
@@ -349,7 +350,8 @@
 	EMobilePhoneNotifyStopInDTMFStringCancel = EMobilePhoneNotifyStopInDTMFString + EMobileCancelOffset,                                       // 21523
 	EMobilePhoneReadDTMFTonesCancel = EMobilePhoneReadDTMFTones + EMobileCancelOffset,                                                         // 21524
 	EMobilePhoneSendDTMFTonesCancel = EMobilePhoneSendDTMFTones + EMobileCancelOffset,                                                         // 21526
-	EMobilePhoneTerminateAllCallsCancel = EMobilePhoneTerminateAllCalls + EMobileCancelOffset                                                  // 21529
+	EMobilePhoneTerminateAllCallsCancel = EMobilePhoneTerminateAllCalls + EMobileCancelOffset,                                                 // 21529
+	EMobilePhoneTerminateActiveCallsCancel = EMobilePhoneTerminateActiveCalls + EMobileCancelOffset                                            // 21530
 	};
 
 //
--- a/telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmphone.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmphone.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -86,6 +86,7 @@
 	TestMobileAPNControlListServiceStatus(mmPhone, reqStatus);
 	TestMobileAirTime(mmPhone, reqStatus);
 	TestTerminateAllCalls(mmPhone, reqStatus);
+	TestTerminateActiveCalls(mmPhone, reqStatus);
 	TestMobileAutoRedial(mmPhone, reqStatus);
 	TestMobilePersonalisation(mmPhone, reqStatus);
 	TestSmartCardHandling(mmPhone, reqStatus);
@@ -5659,7 +5660,29 @@
 	User::WaitForRequest(aReqStatus);
 	TEST(aReqStatus.Int() == KErrCancel);
 	}	
-	
+
+void CTestPhone::TestTerminateActiveCalls(RMobilePhone& aPhone, TRequestStatus &aReqStatus)
+    {
+    //Test asynchronous TerminateActiveCalls - just returns KErrNone
+    
+    aPhone.TerminateActiveCalls(aReqStatus);
+    User::WaitForRequest(aReqStatus);
+    TEST(aReqStatus.Int()==KErrNone);
+    if (KErrNone == aReqStatus.Int())
+        INFO_PRINTF2(_L("Test %d - RMobilePhone::TerminateActiveCalls (async) passed"), iTestCount++);
+    else
+        ERR_PRINTF2(_L("Test %d - RMobilePhone::TerminateActiveCalls (async) failed"), iTestCount++);
+    //Test asynchronous TerminateActiveCalls & Cancel
+    
+    aPhone.TerminateActiveCalls(aReqStatus);
+    aPhone.CancelAsyncRequest(EMobilePhoneTerminateActiveCalls);
+    User::WaitForRequest(aReqStatus);
+    TEST(aReqStatus.Int() == KErrCancel);
+    if (KErrCancel == aReqStatus.Int())
+        INFO_PRINTF2(_L("Test %d - Cancelation of  RMobilePhone::TerminateActiveCalls (async) passed"), iTestCount++);
+    else
+        ERR_PRINTF2(_L("Test %d - Cancelation of  RMobilePhone::TerminateActiveCalls (async) failed"), iTestCount++);
+    }   
 
 /**************************************************************/
 //
--- a/telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmphone.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/TETEL/te_EtelMM/TE_mmphone.h	Fri Apr 16 16:12:37 2010 +0300
@@ -101,6 +101,7 @@
 		   void TestMobileAPNControlListServiceStatus(RMobilePhone& aPhone, TRequestStatus &aReqStatus);
 		   void TestMobileAirTime(RMobilePhone& aPhone, TRequestStatus &aReqStatus);
 		   void TestTerminateAllCalls(RMobilePhone& aPhone, TRequestStatus &aReqStatus);
+		   void TestTerminateActiveCalls(RMobilePhone& aPhone, TRequestStatus &aReqStatus);
 		   void TestMobileAutoRedial(RMobilePhone& aPhone, TRequestStatus &aReqStatus);
 		   void TestMobilePersonalisation(RMobilePhone& aPhone, TRequestStatus &aReqStatus);
 		   void TestSmartCardHandling(RMobilePhone& aPhone, TRequestStatus &aReqStatus);
--- a/telephonyserver/etelmultimode/bwins/ETELMMU.def	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/bwins/ETELMMU.def	Fri Apr 16 16:12:37 2010 +0300
@@ -671,4 +671,5 @@
 	??0TMobileCallInfoV8@RMobileCall@@QAE@XZ @ 670 NONAME ; RMobileCall::TMobileCallInfoV8::TMobileCallInfoV8(void)
 	??0TMobileDataCallParamsV8@RMobileCall@@QAE@XZ @ 671 NONAME ; RMobileCall::TMobileDataCallParamsV8::TMobileDataCallParamsV8(void)
 	??0TMobileHscsdCallParamsV8@RMobileCall@@QAE@XZ @ 672 NONAME ; RMobileCall::TMobileHscsdCallParamsV8::TMobileHscsdCallParamsV8(void)
+	?TerminateActiveCalls@RMobilePhone@@QBEXAAVTRequestStatus@@@Z @ 673 NONAME ; void RMobilePhone::TerminateActiveCalls(class TRequestStatus &) const
 
--- a/telephonyserver/etelmultimode/eabi/ETelmmU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/eabi/ETelmmU.DEF	Fri Apr 16 16:12:37 2010 +0300
@@ -993,4 +993,5 @@
 	_ZN11RMobileCall23TMobileDataCallParamsV8C2Ev @ 992 NONAME
 	_ZN11RMobileCall24TMobileHscsdCallParamsV8C1Ev @ 993 NONAME
 	_ZN11RMobileCall24TMobileHscsdCallParamsV8C2Ev @ 994 NONAME
+	_ZNK12RMobilePhone20TerminateActiveCallsER14TRequestStatus @ 995 NONAME
 
--- a/telephonyserver/etelmultimode/group/telephony_etelmm.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelmultimode/group/telephony_etelmm.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_etelmm
 source	\sf\os\cellularsrv\telephonyserver\etelmultimode
 
Binary file telephonyserver/etelpacketdata/documentation/PREQ1405 Use Case Diagrams.EAP has changed
--- a/telephonyserver/etelpacketdata/group/telephony_etelpckt.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelpacketdata/group/telephony_etelpckt.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_etelpckt
 source	\sf\os\cellularsrv\telephonyserver\etelpacketdata
 binary	\sf\os\cellularsrv\telephonyserver\etelpacketdata\group	all
--- a/telephonyserver/etelserverandcore/EtelRecorder/playback/inc/tipclookup.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelserverandcore/EtelRecorder/playback/inc/tipclookup.h	Fri Apr 16 16:12:37 2010 +0300
@@ -11,7 +11,7 @@
 // Contributors:
 //
 // Description:
-// ipclookup.h
+// ipclookup.h   
 // 
 //
 
@@ -356,6 +356,7 @@
 		{21027, _L8("EMobilePhoneStartDTMFTone")},
 		{21028, _L8("EMobilePhoneStopDTMFTone")},
 		{21029, _L8("EMobilePhoneTerminateAllCalls")},
+		{21030, _L8("EMobilePhoneTerminateActiveCalls")},
 		{21500, _L8("EMobileCallActivateCCBSCancel")},
 		{21501, _L8("EMobileCallAnswerISVCancel")},
 		{21502, _L8("EMobileCallAnswerMultimediaCallAsVoiceCancel")},
@@ -379,6 +380,7 @@
 		{21524, _L8("EMobilePhoneReadDTMFTonesCancel")},
 		{21526, _L8("EMobilePhoneSendDTMFTonesCancel")},
 		{21529, _L8("EMobilePhoneTerminateAllCallsCancel")},
+		{21530, _L8("EMobilePhoneTerminateActiveCallsCancel")},
 		{22000, _L8("EMobileConferenceCallGetMobileCallInfo")},
 		{22001, _L8("EMobilePhoneEnumerateAPNEntries")},
 		{22002, _L8("EMobilePhoneGetAPNname")},
--- a/telephonyserver/etelserverandcore/SETEL/ET_SVR.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelserverandcore/SETEL/ET_SVR.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -584,8 +584,8 @@
 	20610,		//range is 20610-20610 inclusive
 	20611,		//range is 20611-20618 inclusive
 	20619,		//range is 20619-20999 inclusive
-	21000,		//range is 21000-21029 inclusive
-	21030,		//range is 21030-21499 inclusive
+	21000,		//range is 21000-21030 inclusive
+	21031,		//range is 21031-21499 inclusive
 	21500,		//range is 21500-21508 inclusive
 	21509,		//range is 21509-21509 inclusive
 	21510,		//range is 21510-21511 inclusive
@@ -596,8 +596,8 @@
 	21525,		//range is 21525-21525 inclusive
 	21526,		//range is 21526
 	21527,		//range is 21527-21528 inclusive
-	21529,		//range is 21529
-	21530,		//range is 21530-21999 inclusive
+	21529,		//range is 21529-21530 inclusive
+	21531,		//range is 21531-21999 inclusive
 	22000,		//range is 22000-22003 inclusive
 	22004,		//range is 22004
 	22005,		//range is 22005-22008 inclusive
--- a/telephonyserver/etelserverandcore/TETEL/CapTestFramework/EtelMessage.csv	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelserverandcore/TETEL/CapTestFramework/EtelMessage.csv	Fri Apr 16 16:12:37 2010 +0300
@@ -350,6 +350,7 @@
 ETest349,21027,CTestEtelServer,NetworkServices
 ETest350,21028,CTestEtelServer,NetworkServices
 ETest351,21029,CTestEtelServer,NetworkServices
+ETest1059,21030,CTestEtelServer,NetworkServices
 ETest352,21500,CTestEtelServer,NetworkServices
 ETest353,21501,CTestEtelServer,NetworkServices
 ETest354,21502,CTestEtelServer,NetworkServices
@@ -373,6 +374,7 @@
 ETest372,21524,CTestEtelServer,NetworkServices
 ETest373,21526,CTestEtelServer,NetworkServices
 ETest374,21529,CTestEtelServer,NetworkServices
+ETest1060,21530,CTestEtelServer,NetworkServices
 ETest375,22000,CTestEtelServer,ReadDeviceData
 ETest376,22001,CTestEtelServer,ReadDeviceData 
 ETest377,22002,CTestEtelServer,ReadDeviceData 
--- a/telephonyserver/etelserverandcore/group/etel.iby	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelserverandcore/group/etel.iby	Fri Apr 16 16:12:37 2010 +0300
@@ -19,7 +19,7 @@
 REM Epoc Telephony Layer
 
 #include <commdb.iby>
-#include <fax.iby>
+
 
 file=ABI_DIR\DEBUG_DIR\etel.dll           SYSTEM_BINDIR\ETel.dll
 data=EPOCROOT##epoc32\data\z\private\101F7988\etel.cmi private\101F7988\etel.cmi
--- a/telephonyserver/etelserverandcore/group/telephony.iby	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelserverandcore/group/telephony.iby	Fri Apr 16 16:12:37 2010 +0300
@@ -23,6 +23,6 @@
 #include <mmtsy.iby>
 #include <phbksync.iby>
 #include <etelsat.iby>
-#include <fax.iby>
+
 
 #endif
--- a/telephonyserver/etelserverandcore/group/telephony_etel-config.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelserverandcore/group/telephony_etel-config.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,18 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
 # telephony_etel-config
 #
 # Configuration files - source in is telephony_etel.
--- a/telephonyserver/etelserverandcore/group/telephony_etel.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelserverandcore/group/telephony_etel.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_etel
 
 source \sf\os\cellularsrv\telephonyserver\etelserverandcore\bwins
--- a/telephonyserver/etelsimtoolkit/group/telephony_etelsat.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserver/etelsimtoolkit/group/telephony_etelsat.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_etelsat
 source	\sf\os\cellularsrv\telephonyserver\etelsimtoolkit
 binary	\sf\os\cellularsrv\telephonyserver\etelsimtoolkit\group	all
--- a/telephonyserverplugins/common_tsy/commontsy/exportinc/serviceapi/MmTsy_IPCdefs.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/exportinc/serviceapi/MmTsy_IPCdefs.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-
+   
 
 
 /**
@@ -167,7 +167,9 @@
 	// RMobilePhone::NotifySendNetworkServiceRequest
 	ECtsyPhoneSendNetworkServiceRequestReq,
 	ECtsyPhoneSendNetworkServiceRequestIndReq,
-	ECtsyPhoneSendNetworkServiceRequestInd
+	ECtsyPhoneSendNetworkServiceRequestInd,
+	ECtsyPhoneTerminateActiveCallsReq,
+    ECtsyPhoneTerminateActiveCallsComp
 	};
 #else
 enum TCtsyIpc
@@ -184,7 +186,9 @@
 	ECtsyPhoneTerminateAllCallsReq,
 	ECtsyPhoneTerminateAllCallsComp,
 	ECtsyPhoneSendNetworkServiceRequestInd,
-	ECtsyGetPhoneIdV2Comp
+	ECtsyGetPhoneIdV2Comp,
+    ECtsyPhoneTerminateActiveCallsReq,
+    ECtsyPhoneTerminateActiveCallsComp
 	};
 #endif //USING_CTSY_DISPATCHER
 
--- a/telephonyserverplugins/common_tsy/commontsy/inc/mmsms/cmmussdtsy.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmsms/cmmussdtsy.h	Fri Apr 16 16:12:37 2010 +0300
@@ -405,11 +405,6 @@
     CMmTsyReqHandleStore* iTsyReqHandleStore;
 
     /**
-     * Request handle type
-     */        
-    TUssdRequestTypes iReqHandleType;
-
-    /**
      * A pointer iReceiveUssdMessagePtr
      * Not own.     
      */        
--- a/telephonyserverplugins/common_tsy/commontsy/inc/mmstorage/cmmphonebookstoretsy.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmstorage/cmmphonebookstoretsy.h	Fri Apr 16 16:12:37 2010 +0300
@@ -622,7 +622,7 @@
 		*
 		* @param aEntryData Array type to be filled
 		*/
-	   void CopyLtsyCacheToCtsyCache( CArrayPtrSeg<CPhoneBookStoreEntry>* aEntryData );
+	   void CopyLtsyCacheToCtsyCacheL( CArrayPtrSeg<CPhoneBookStoreEntry>* aEntryData );
         
         
 
--- a/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmphonetsy.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmtsy/cmmphonetsy.h	Fri Apr 16 16:12:37 2010 +0300
@@ -202,6 +202,7 @@
             EMultimodePhoneNotifyAllSendNetworkServiceRequest,
             EMultimodePhoneGetCurrentActiveUSimApplication,             
             EMultimodePhoneTerminateAllCalls,
+            EMultimodePhoneTerminateActiveCalls,
             EMultimodePhoneNotifyDtmfEvent, 
             // ATTENTION:: Declare constant for those requests that need
             // own request handle record in iTsyReqHandleStore above the
@@ -1201,14 +1202,6 @@
         virtual CMmSupplServTsy* GetSupplServTsy();
 
         /**
-         * Returns req handle type
-         *          
-         *
-         * @return ReqHandleType
-         */
-        CMmPhoneTsy::TPhoneRequestTypes HandleType();
-
-        /**
          * Sets the message manager pointer
          *          
          *
@@ -1423,6 +1416,13 @@
         void CompleteTerminateAllCallsReq(TInt aErrorCode);
         
         /**
+         * Complete TerminateActiveCalls request
+         * 
+         * @param aErrorCode The result of the request
+         */
+        void CompleteTerminateActiveCallsReq(TInt aErrorCode);
+        
+        /**
         * Notify change of battery info
         *          
         * @param aErrorCode error code
@@ -2183,6 +2183,14 @@
           */
         TInt TerminateAllCallsL(const TTsyReqHandle aTsyReqHandle);
 
+        /**
+          * Terminate all active calls simultaneously
+          * 
+          * @param aTsyReqHandle TSY req handle
+          * @return Error value
+          */
+        TInt TerminateActiveCallsL(const TTsyReqHandle aTsyReqHandle);
+        
         /*
          * This function return availability of Hareware Resource Manager in the current ROM
          * 
--- a/telephonyserverplugins/common_tsy/commontsy/inc/mmutility/MmTsy_timeoutdefs.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/inc/mmutility/MmTsy_timeoutdefs.h	Fri Apr 16 16:12:37 2010 +0300
@@ -15,7 +15,7 @@
 *
 */
 
-
+  
 
 #ifndef MMTSY_TIMEOUTDEFS_H
 #define MMTSY_TIMEOUTDEFS_H
@@ -44,6 +44,8 @@
 
     // All Calls Termination
     const TUint8 KMmPhoneTerminateAllCallsTimeOut = 30;
+    // Active Calls Termination
+    const TUint8 KMmPhoneTerminateActiveCallsTimeOut = 30;
     
     //NET
     const TUint8 KMmPhoneSelectNetworkTimeOut = 165;
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmcustomtsy/CMmCustomTsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmcustomtsy/CMmCustomTsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -40,7 +40,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmCustomTsy::CMmCustomTsy()
+CMmCustomTsy::CMmCustomTsy():
+    iReqHandleType(ECustomTsyReqHandleUnknown)
     {
     iMmPhoneTsy = NULL;
     iMmCustomExtInterface = NULL;
@@ -141,7 +142,7 @@
 CMmCustomTsy::~CMmCustomTsy()
     {
 TFLOGSTRING("TSY: CMmCustomTsy::~CMmCustomTsy");
-    iMmPhoneTsy->SetHomeZoneParamsChecked( EFalse );
+
 	iFeatureControl.Close();
 	
     // Delete subsystems
@@ -150,34 +151,19 @@
         delete iMmSubTsy[i];
         }
 
-    if ( iMmSecurityTsy )
-        {
-        // Delete SecurityTsy
-        delete iMmSecurityTsy;
-        }
-
-    if ( iMmCustomExtInterface )
-        {
-        // Delete GSM extensions
-        delete iMmCustomExtInterface;
-        }
-
-    if ( iTsyReqHandleStore )
-        {
-        // delete req handle store
-        delete iTsyReqHandleStore;
-        }
-
-    iMmSecurityTsy = NULL;
-    iMmCustomExtInterface = NULL;
-    iTsyReqHandleStore = NULL;
-    iISVDialNumberCheckObject = NULL;
-    iCFISCentRep = NULL;
+    // Delete SecurityTsy
+    delete iMmSecurityTsy;
+
+    // Delete GSM extensions
+    delete iMmCustomExtInterface;
+    
+    // delete req handle store
+    delete iTsyReqHandleStore;
 
     if ( iMmPhoneTsy )
         {
+        iMmPhoneTsy->SetHomeZoneParamsChecked( EFalse );
         iMmPhoneTsy->SetCustomTsy( NULL );
-
         // unregister custom tsy in the message manager
         iMmPhoneTsy->MessageManager()->DeregisterTsyObject(this);
         }
@@ -211,7 +197,14 @@
     {
     TInt ret = KErrNone;
     TInt trapError = KErrNone;
-    iReqHandleType = ECustomTsyReqHandleUnknown;
+    
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==ECustomTsyReqHandleUnknown, User::Invariant());
 
     // before processing further the request, check if offline mode status
     // is enabled and if the given request can be perfomed in that case.
@@ -272,9 +265,14 @@
         // if extension modules did not serve this request
         if ( KErrNotSupported == ret )
             {
-            // reset last tsy request type
-            iReqHandleType = ECustomTsyReqHandleUnknown;
-
+            // Ensure the ReqHandleType is unset.
+            // This will detect cases where this method indirectly calls itself
+            // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+            // Such cases are not supported because iReqHandleType is in the context of this class instance,
+            // not this request, and we don't want the values set by the inner request and the outer request
+            // interfering with each other.
+            __ASSERT_DEBUG(iReqHandleType==ECustomTsyReqHandleUnknown, User::Invariant());
+            
             switch ( aIpc )
                 {
                 // Perform IMS Authentication
@@ -560,6 +558,9 @@
                 iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType,
                     aTsyReqHandle );
 #endif // REQHANDLE_TIMER
+                // We've finished with this value now. Clear it so it doesn't leak
+                //  up to any other instances of this method down the call stack
+                iReqHandleType = ECustomTsyReqHandleUnknown;
                 }
             }
         }
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmcustomtsy/CMmSIMTsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmcustomtsy/CMmSIMTsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -22,7 +22,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmSIMTsy::CMmSIMTsy()
+CMmSIMTsy::CMmSIMTsy():
+    iReqHandleType(ESIMTsyReqHandleUnknown)
     {
     }
 
@@ -152,8 +153,13 @@
 TFLOGSTRING3("TSY: CMmSIMTsy::DoExtFuncL - IPC:%d Handle:%d", aIpc, aTsyReqHandle);
     TInt ret( KErrGeneral );
 
-    // reset last tsy request type
-    iReqHandleType = ESIMTsyReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==ESIMTsyReqHandleUnknown, User::Invariant());
 
     switch ( aIpc )
         {
@@ -204,6 +210,9 @@
 #else
         iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle );
 #endif // REQHANDLE_TIMER
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = ESIMTsyReqHandleUnknown;
         }
 
     return ret;
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketcontexttsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketcontexttsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -27,7 +27,8 @@
 // ============================ MEMBER FUNCTIONS ===============================
 
 
-CMmPacketContextTsy::CMmPacketContextTsy()
+CMmPacketContextTsy::CMmPacketContextTsy():
+    iReqHandleType(EMultimodePacketContextReqHandleUnknown)
     {
     }
 
@@ -163,8 +164,18 @@
     TInt ret( KErrNone );
     TInt trapError( KErrNone );
 
+#ifdef ADD_REMOVE_PACKETFILTER_DEFECT_FIXED  // search for this up from bottom of file
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodePacketContextReqHandleUnknown, User::Invariant());
+#else
     // Reset last tsy request type
     iReqHandleType = EMultimodePacketContextReqHandleUnknown;
+#endif
 
     // Trap the call of DoExtFuncL
     TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ) );
@@ -186,6 +197,11 @@
 #else
         iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle );
 #endif // REQHANDLE_TIMER
+#ifdef ADD_REMOVE_PACKETFILTER_DEFECT_FIXED  // search for this up from bottom of file
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodePacketContextReqHandleUnknown;
+#endif
         }
 
     return KErrNone;
@@ -539,8 +555,19 @@
 
     TInt ret( KErrNone );
 	TTsyReqHandle reqHandle( NULL );
+
+#ifdef ADD_REMOVE_PACKETFILTER_DEFECT_FIXED  // search for this up from bottom of file
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodePacketContextReqHandleUnknown, User::Invariant());
+#else
     // Reset last tsy request type
     iReqHandleType = EMultimodePacketContextReqHandleUnknown;
+#endif
 
     switch ( aIpc )
         {
@@ -624,6 +651,11 @@
 
         // Complete request
         CMmPacketContextTsy::ReqCompleted( aTsyReqHandle, KErrCancel );
+#ifdef ADD_REMOVE_PACKETFILTER_DEFECT_FIXED  // search for this up from bottom of file
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodePacketContextReqHandleUnknown;
+#endif
         }
 
     return ret;
@@ -1381,7 +1413,41 @@
 		else
 			{       
 #ifdef USING_CTSY_DISPATCHER
-			// Distinguish between RemovePacketFilter and AddPacketFilter
+			// Distinguish between RemovePacketFilter and AddPacketFilter..
+			
+// There is a hang defect lurking here.
+//
+//	To show the defect, add and run the following test case (you could
+//         copy from CCTsyPacketServicesFU::TestUseCase0007L):
+//	- Add a packet filter. Wait for the request to complete.
+//  - Remove the packet filter. (don't wait for completion)
+//  - Add another packet filter.
+//  - Wait for removal to complete (WILL HANG but obviously shouldn't).
+//
+// The reason for this hang is that there's a single completion method
+// for both Add and Remove packet filter functions down in the CTSY
+// (dispatcher mode only).
+//
+// If a client calls RemovePacketFilter, then immediately
+// calls AddPacketFilter (before the RemovePacketFilter has
+// completed), the iReqHandleType data member will already have been
+// updated to be EMultimodePacketContextAddPacketFilter..
+// So the code under the else below (that searches for the
+// RemovePacketFilter reqHandle and completes it) will never get run.
+// Thus the RemovePacketFilter call will hang.
+//
+// Fixing this requires that some other variable (NOT iReqHandleType)
+//  is used to record that an add or a remove action is outstanding.
+//
+// When this defect has been addressed, please treat all the sections marked
+//  ADD_REMOVE_PACKETFILTER_DEFECT_FIXED above as defined, and delete any 
+//  else blocks. This will then assert that the iReqHandleType doesn't
+//  leak between calls. Which will protect us against any other such hang
+//  bugs in the future.
+// This is the change that I was trying to apply when I ran into this defect.
+//  See Perforce CL#1755436
+//     Rob Lundie Hill
+
 			if (iReqHandleType == EMultimodePacketContextRemovePacketFilter)
 				{
 				reqHandle = iTsyReqHandleStore->ResetTsyReqHandle( EMultimodePacketContextRemovePacketFilter );
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketqostsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketqostsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -27,7 +27,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmPacketQoSTsy::CMmPacketQoSTsy()
+CMmPacketQoSTsy::CMmPacketQoSTsy():
+    iReqHandleType(EMultimodePacketQoSReqHandleUnknown)
     {
     }
 
@@ -121,8 +122,13 @@
     TInt ret( KErrNone );
     TInt trapError( KErrNone );
 
-    // Reset last tsy request type
-    iReqHandleType = EMultimodePacketQoSReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodePacketQoSReqHandleUnknown, User::Invariant());
 
     TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ); );
 
@@ -143,6 +149,9 @@
 #else
         iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle );
 #endif //REQHANDLE_TIMER
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodePacketQoSReqHandleUnknown;
         }
 
     return KErrNone;
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketservicetsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmpacket/Cmmpacketservicetsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -36,7 +36,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmPacketServiceTsy::CMmPacketServiceTsy()
+CMmPacketServiceTsy::CMmPacketServiceTsy():
+    iReqHandleType(EMultimodePacketServiceReqHandleUnknown)
     {
     }
 
@@ -775,6 +776,7 @@
     if ( RPacketService::EAttachWhenPossible == iAttachMode )
         {
         SetAttachModeL( &iAttachMode );
+        iReqHandleType = EMultimodePacketServiceReqHandleUnknown;
         }
     }
     
@@ -1966,9 +1968,14 @@
     TInt ret( KErrNone );
     TInt trapError( KErrNone );
 
-    // Reset request handle type
-    iReqHandleType = EMultimodePacketServiceReqHandleUnknown;
-
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodePacketServiceReqHandleUnknown, User::Invariant());
+    
     // Set tsy request handle
     iTsyReqHandle = aTsyReqHandle;
 
@@ -1993,7 +2000,9 @@
 #else
         iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, iTsyReqHandle );
 #endif // REQHANDLE_TIMER
-
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodePacketServiceReqHandleUnknown;
         }
 
     return KErrNone;
@@ -2355,8 +2364,13 @@
 
     TInt ret( KErrNone );
     
-    // Reset last tsy request type
-    iReqHandleType = EMultimodePacketServiceReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodePacketServiceReqHandleUnknown, User::Invariant());
 
     // When the clients close their sub-sessions (eg. by calling
     // RPacketService::Close), they may not have cancelled all their
@@ -2368,7 +2382,6 @@
 
     switch ( aIpc )
         {
-
         case EPacketNotifyContextAdded:
             iNotifyDataPointers.iContextAdded = NULL;
             iReqHandleType = EMultimodePacketServiceNotifyContextAdded;
@@ -2471,6 +2484,10 @@
 
         // Complete request with KErrCancel
         CMmPacketServiceTsy::ReqCompleted( aTsyReqHandle, KErrCancel );
+        
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodePacketServiceReqHandleUnknown;
         }
 
     return ret;
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmbroadcasttsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmbroadcasttsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -30,7 +30,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmBroadcastTsy::CMmBroadcastTsy()
+CMmBroadcastTsy::CMmBroadcastTsy():
+    iReqHandleType(EMultimodeBroadcastReqHandleUnknown)
     {
     // Set number of WCDMA CBS Pages to 0
 	iWcdmaPageNumber = 0;
@@ -153,8 +154,13 @@
             break;
         // Cell broadcast requests that may need trapping
         default:
-            // reset last tsy request type
-            iReqHandleType = EMultimodeBroadcastReqHandleUnknown; 
+            // Ensure the ReqHandleType is unset.
+            // This will detect cases where this method indirectly calls itself
+            // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+            // Such cases are not supported because iReqHandleType is in the context of this class instance,
+            // not this request, and we don't want the values set by the inner request and the outer request
+            // interfering with each other.
+            __ASSERT_DEBUG(iReqHandleType==EMultimodeBroadcastReqHandleUnknown, User::Invariant());
 
             TInt leaveCode( KErrNone );
             TRAP( leaveCode, ret = DoExtFuncL( aTsyReqHandle, aIpc, 
@@ -175,6 +181,9 @@
                 iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, 
                     aTsyReqHandle );
 #endif // REQHANDLE_TIMER
+                // We've finished with this value now. Clear it so it doesn't leak
+                //  up to any other instances of this method down the call stack
+                iReqHandleType = EMultimodeBroadcastReqHandleUnknown;
                 }
             break;
         }
@@ -1022,10 +1031,6 @@
             // CB routing is not activated. We can complete this now.
             CompleteNotifyFilterSettingChange();
             
-			// Using CompleteNotifyFilterSettingChange() causes iReqHandleType to be modified so that
-			// the object thinks it has been asked to perform a notification request, rather than a set request.
-            iReqHandleType = EMultimodeBroadcastReqHandleUnknown;
-
             ReqCompleted( aTsyReqHandle, KErrNone );
             }    
         }
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmsmsstoragetsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmsmsstoragetsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -27,7 +27,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmSmsStorageTsy::CMmSmsStorageTsy()
+CMmSmsStorageTsy::CMmSmsStorageTsy():
+    iReqHandleType(CMmSmsTsy::EMultimodeSmsReqHandleUnknown)
     {
     }
 
@@ -140,8 +141,13 @@
             break;
         // SMS storage requests that need trapping
         default:
-            // reset last tsy request type
-            iReqHandleType = CMmSmsTsy::EMultimodeSmsReqHandleUnknown; 
+            // Ensure the ReqHandleType is unset.
+            // This will detect cases where this method indirectly calls itself
+            // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+            // Such cases are not supported because iReqHandleType is in the context of this class instance,
+            // not this request, and we don't want the values set by the inner request and the outer request
+            // interfering with each other.
+            __ASSERT_DEBUG(iReqHandleType==CMmSmsTsy::EMultimodeSmsReqHandleUnknown, User::Invariant());
 
             TInt leaveCode( KErrNone );
             TRAP( leaveCode, ret = DoExtFuncL( aTsyReqHandle, aIpc, 
@@ -162,6 +168,9 @@
                 iMmTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, 
                     aTsyReqHandle );
 #endif // REQHANDLE_TIMER
+                // We've finished with this value now. Clear it so it doesn't leak
+                //  up to any other instances of this method down the call stack
+                iReqHandleType = CMmSmsTsy::EMultimodeSmsReqHandleUnknown;
                 }
             break;
         }
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmsmstsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmsmstsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -34,7 +34,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmSmsTsy::CMmSmsTsy()
+CMmSmsTsy::CMmSmsTsy():
+    iReqHandleType(EMultimodeSmsReqHandleUnknown)
     {
 TFLOGSTRING("TSY: CMmSmsTsy::CMmSmsTsy: constructor");
     }
@@ -285,8 +286,13 @@
                 break;
             // SMS messaging requests that need trapping
             default:
-                // reset last tsy request type
-                iReqHandleType = EMultimodeSmsReqHandleUnknown; 
+                // Ensure the ReqHandleType is unset.
+                // This will detect cases where this method indirectly calls itself
+                // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+                // Such cases are not supported because iReqHandleType is in the context of this class instance,
+                // not this request, and we don't want the values set by the inner request and the outer request
+                // interfering with each other.
+                __ASSERT_DEBUG(iReqHandleType==EMultimodeSmsReqHandleUnknown, User::Invariant());
 
                 TInt leaveCode( KErrNone );
                 TRAP( leaveCode, ret = DoExtFuncL( aTsyReqHandle, aIpc, 
@@ -308,6 +314,9 @@
                     iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, 
                         aTsyReqHandle );
 #endif // REQHANDLE_TIMER
+                    // We've finished with this value now. Clear it so it doesn't leak
+                    //  up to any other instances of this method down the call stack
+                    iReqHandleType = EMultimodeSmsReqHandleUnknown;
                     }
                 break;
             }
@@ -745,7 +754,6 @@
 			*iNotifyReceiveModeChangePtr = iMobileSmsReceiveMode;
 			}
         ReqCompleted( reqHandle, KErrNone );
-        iNotifyReceiveModeChangePtr = NULL;
         }
     }
 
@@ -2787,9 +2795,6 @@
     switch ( aReqHandleType )
         {
         // SMS specific requests
-        case EMultimodeSmsSetReceiveMode:
-            timeOut = KMmSmsSetReceiveMode;
-            break;
         case EMultimodeSmsAckStored:
         case EMultimodeSmsNackStored:
             timeOut = KMmSmsAckNackMessage;
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmussdtsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmsms/cmmussdtsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -121,9 +121,6 @@
     TInt ret = KErrNone;
     TInt trapError = KErrNone;
 
-    // reset last tsy request type
-    iReqHandleType = EMultimodeUssdReqHandleUnknown;
-
     // before processing further the request, check if offline mode status
     // is enabled and if the given request can be perfomed in that case.
     if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() && 
@@ -150,19 +147,8 @@
             {
             ReqCompleted( aTsyReqHandle, ret );
             }
-
-        // save request handle
-        if ( EMultimodeUssdReqHandleUnknown != iReqHandleType )
-            {
-#ifdef REQHANDLE_TIMER
-            SetTypeOfResponse( iReqHandleType, aTsyReqHandle );
-#else
-            iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, 
-                aTsyReqHandle );
-#endif // REQHANDLE_TIMER
-            }
         }
-        
+    
     return KErrNone;
     }
 
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmenstoretsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmenstoretsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -27,7 +27,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmENStoreTsy::CMmENStoreTsy()
+CMmENStoreTsy::CMmENStoreTsy():
+    iReqHandleType(EMultimodeENStoreReqHandleUnknown)
     {
     }
 
@@ -311,8 +312,13 @@
     TInt ret = KErrNone;
     TInt trapError = KErrNone;
 
-    // Reset last tsy request type
-    iReqHandleType = EMultimodeENStoreReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodeENStoreReqHandleUnknown, User::Invariant());
 
     // Trap and call function that dispatches function requests
     TRAP ( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ); );
@@ -337,6 +343,9 @@
 #else
         iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle );
 #endif
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodeENStoreReqHandleUnknown;
         }
 
     return KErrNone;
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmstorage/cmmphonebookstoretsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -32,7 +32,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmPhoneBookStoreTsy::CMmPhoneBookStoreTsy()
+CMmPhoneBookStoreTsy::CMmPhoneBookStoreTsy():
+    iReqHandleType(EMultimodePhoneBookStoreReqHandleUnknown)
     {
     }
 
@@ -487,8 +488,14 @@
     TInt ret = KErrNone;
     TInt trapError = KErrNone;
 
-    // Reset last tsy request type
-    iReqHandleType = EMultimodePhoneBookStoreReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodePhoneBookStoreReqHandleUnknown, User::Invariant());
+
 
     TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ); );
 
@@ -509,6 +516,9 @@
 #else
         iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle );
 #endif
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodePhoneBookStoreReqHandleUnknown;
         }
 
     return KErrNone;
@@ -1161,7 +1171,7 @@
 #else
 	CArrayPtrSeg<CPhoneBookStoreEntry>* entryData;
 	aDataPackage->UnPackData(entryData);	
-	CopyLtsyCacheToCtsyCache(entryData);
+	CopyLtsyCacheToCtsyCacheL(entryData);
 #endif
 	
     CMmPhoneTsy::CNosBootState* bootState = iMmPhoneTsy->NosBootState();
@@ -3163,7 +3173,7 @@
  	}
 
 // ---------------------------------------------------------------------------
-// CMmPhoneBookStoreTsy::CopyLtsyCacheToCtsyCache
+// CMmPhoneBookStoreTsy::CopyLtsyCacheToCtsyCacheL
 // This method copies Ltsy Cache to Ctsy Cache
 // This is only done when NOT using the dispatcher as the Ltsy creates the array and destroys
 // the memory before CTSY is completely done with it. It now has to be copied over to CTSY domain
@@ -3171,7 +3181,7 @@
 // (other items were commented in a header).
 // ---------------------------------------------------------------------------
 //
-void CMmPhoneBookStoreTsy::CopyLtsyCacheToCtsyCache( CArrayPtrSeg<CPhoneBookStoreEntry>* aEntryData )
+void CMmPhoneBookStoreTsy::CopyLtsyCacheToCtsyCacheL( CArrayPtrSeg<CPhoneBookStoreEntry>* aEntryData )
 	{
 	if (iPBStoreCache!=NULL)
 		{
@@ -3231,7 +3241,7 @@
 					(phoneBookStoreEntry->iAnr)->AppendL((*anr)[anrCount]);
 					}	
 				}
-						
+			
 			iPBStoreCache->AppendL(phoneBookStoreEntry);
 			CleanupStack::Pop( phoneBookStoreEntry );
 			}
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/CMmMessageRouterProxy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/CMmMessageRouterProxy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -684,7 +684,11 @@
       			static_cast<CMmPhoneTsy*>( mmObject )->
       				CompleteTerminateAllCallsReq( aResult );
       			break;
-      			
+            case ECtsyPhoneTerminateActiveCallsComp:
+                static_cast<CMmPhoneTsy*>( mmObject )->
+                    CompleteTerminateActiveCallsReq( aResult );
+                break;
+                
             // Conference call functionality
             case EMobileConferenceCallCreateConference:                
                 static_cast<CMmConferenceCallTsy*>( mmObject )->
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmcalltsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -33,7 +33,9 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmCallTsy::CMmCallTsy() : iCallParamsPckg(iCallParams)
+CMmCallTsy::CMmCallTsy() :
+    iCallParamsPckg(iCallParams),
+    iReqHandleType(EMultimodeCallReqHandleUnknown)
     {
     }
 
@@ -307,8 +309,14 @@
     TInt ret( KErrNone );
     TInt trapError( KErrNone );
 
-    //reset last tsy request type
-    iReqHandleType = EMultimodeCallReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodeCallReqHandleUnknown, User::Invariant());
+
 
     //before processing further the request, check if offline mode status
     //is enabled and if the given request can be perfomed in that case.
@@ -344,6 +352,9 @@
             iTsyReqHandleStore->SetTsyReqHandle(
                 iReqHandleType, aTsyReqHandle );
 #endif
+            // We've finished with this value now. Clear it so it doesn't leak
+            //  up to any other instances of this method down the call stack
+            iReqHandleType = EMultimodeCallReqHandleUnknown;
             }
     
         }
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmconferencecalltsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmconferencecalltsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -32,7 +32,8 @@
 
 // ======== MEMBER FUNCTIONS ========
 
-CMmConferenceCallTsy::CMmConferenceCallTsy()
+CMmConferenceCallTsy::CMmConferenceCallTsy():
+    iReqHandleType(EMultimodeConferenceCallReqHandleUnknown)
     {
     }
     
@@ -176,8 +177,13 @@
     TInt ret( KErrNone );
     TInt trapError( KErrNone );
 
-    //reset last tsy request type
-    iReqHandleType = EMultimodeConferenceCallReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodeConferenceCallReqHandleUnknown, User::Invariant());
 
     //Original code continues here.
     TRAP( trapError, ret = DoExtFuncL( aTsyReqHandle, aIpc, aPackage ); );
@@ -202,6 +208,9 @@
 #else
         iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, aTsyReqHandle );
 #endif
+        // We've finished with this value now. Clear it so it doesn't leak
+        //  up to any other instances of this method down the call stack
+        iReqHandleType = EMultimodeConferenceCallReqHandleUnknown;
         }
 
     return KErrNone;
@@ -1596,8 +1605,6 @@
     iConferenceCaps = 0;
     //Number of calls in conference call
     iNumOfCallsInConferenceCall = 0;
-    //Last used req handle type
-    iReqHandleType = EMultimodeConferenceCallReqHandleUnknown;
     //Conference call status
     iStatus = RMobileConferenceCall::EConferenceIdle;
     //Reset pointer
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmnettsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmnettsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -372,10 +372,14 @@
         case EMobilePhoneGetDetectedNetworksV2Phase1:
         case EMobilePhoneSelectNetwork:
             {
-            //reset last tsy request type and Traid type
-            iMmPhoneTsy->iReqHandleType = 
-                CMmPhoneTsy::EMultimodePhoneReqHandleUnknown;
-
+            // Ensure the ReqHandleType is unset.
+            // This will detect cases where this method indirectly calls itself
+            // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+            // Such cases are not supported because iReqHandleType is in the context of this class instance,
+            // not this request, and we don't want the values set by the inner request and the outer request
+            // interfering with each other.
+            __ASSERT_DEBUG(iMmPhoneTsy->iReqHandleType==CMmPhoneTsy::EMultimodePhoneReqHandleUnknown, User::Invariant());
+            
             TInt trapError( KErrNone );
 
             //call cancel handling
@@ -418,6 +422,10 @@
                 {
                 iMmPhoneTsy->iTsyReqHandleStore->SetTsyReqHandle( 
                     iMmPhoneTsy->iReqHandleType, aTsyReqHandle );
+                
+                // We've finished with this value now. Clear it so it doesn't leak
+                //  up to any other instances of this method down the call stack
+                iMmPhoneTsy->iReqHandleType=CMmPhoneTsy::EMultimodePhoneReqHandleUnknown;
                 }
             break;
             }    
--- a/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmphonetsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/commontsy/src/mmtsy/cmmphonetsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -123,7 +123,8 @@
     return mmPhoneTsy;
     }
 
-CMmPhoneTsy::CMmPhoneTsy()
+CMmPhoneTsy::CMmPhoneTsy():
+    iReqHandleType(EMultimodePhoneReqHandleUnknown)
     {
     }
 
@@ -1140,8 +1141,13 @@
     TInt ret = KErrNone;
     TInt trapError = KErrNone;
 
-    //reset last tsy request type
-    iReqHandleType = EMultimodePhoneReqHandleUnknown;
+    // Ensure the ReqHandleType is unset.
+    // This will detect cases where this method indirectly calls itself
+    // (e.g. servicing a client call that causes a self-reposting notification to complete and thus repost).
+    // Such cases are not supported because iReqHandleType is in the context of this class instance,
+    // not this request, and we don't want the values set by the inner request and the outer request
+    // interfering with each other.
+    __ASSERT_DEBUG(iReqHandleType==EMultimodePhoneReqHandleUnknown, User::Invariant());
 
     //before processing further the request, check if offline mode status
     //is enabled and if the given request can be perfomed in that case.
@@ -1177,10 +1183,10 @@
             iTsyReqHandleStore->SetTsyReqHandle( 
                 iReqHandleType, aTsyReqHandle );
 #endif //REQHANDLE_TIMER
+            // We've finished with this value now. Clear it so it doesn't leak
+            //  up to any other instances of this method down the call stack
+            iReqHandleType = EMultimodePhoneReqHandleUnknown;
             }
-
-        //reset last tsy request type
-        iReqHandleType = EMultimodePhoneReqHandleUnknown;
         }
 
     return KErrNone;
@@ -1348,6 +1354,10 @@
         case EMobilePhoneTerminateAllCalls:
             ret = TerminateAllCallsL( aTsyReqHandle );
             break;			
+        // Active calls termination
+        case EMobilePhoneTerminateActiveCalls:
+            ret = TerminateActiveCallsL( aTsyReqHandle );
+            break;          
       // DTMF
 		// forward request to the DTMF-specific Tsy
         case EMobilePhoneGetDTMFCaps:
@@ -1619,6 +1629,7 @@
         //indicates that same method has been called and has not been 
         //completed, the method should return KErrServerBusy.
         case EMobilePhoneTerminateAllCalls:
+        case EMobilePhoneTerminateActiveCalls:
         case EMobilePhoneGetFdnStatus:
         case EMobilePhoneGetCustomerServiceProfile:
         case EMobilePhoneGetDetectedNetworksV2Phase1:
@@ -2024,6 +2035,7 @@
         case EMobilePhoneNotifyDefaultPrivacyChange:
         case EMobilePhoneSetDefaultPrivacy:
         case EMobilePhoneTerminateAllCalls:
+        case EMobilePhoneTerminateActiveCalls:
         case EMobilePhoneSetNetworkSelectionSetting:        
             ret = KErrNone;
             break;
@@ -2478,7 +2490,7 @@
                 SetTypeOfResponse( EMultimodePhoneTerminateAllCalls, aTsyReqHandle );
 #else
                 iTsyReqHandleStore->SetTsyReqHandle( 
-                		iReqHandleType, aTsyReqHandle );
+                        EMultimodePhoneTerminateAllCalls, aTsyReqHandle );
 #endif //REQHANDLE_TIMER
                 }
             else
@@ -2512,6 +2524,63 @@
 	     }	 
 	}
 
+
+// ---------------------------------------------------------------------------
+// CMmPhoneTsy::TerminateActiveCallsL
+// Terminates all active calls simultaneously.
+// ---------------------------------------------------------------------------
+//
+TInt CMmPhoneTsy::TerminateActiveCallsL(const TTsyReqHandle aTsyReqHandle)
+    {
+TFLOGSTRING("TSY: CMmPhoneTsy::TerminateActiveCalls");
+
+    // Check if some other client has already requested this
+    TTsyReqHandle reqHandle = iTsyReqHandleStore->GetTsyReqHandle(EMultimodePhoneTerminateActiveCalls);
+    
+    if (EMultimodePhoneReqHandleUnknown >= reqHandle )
+        {
+        // The request is not already in processing because of a previous request
+
+        TInt err = iMessageManager->HandleRequestL(ECtsyPhoneTerminateActiveCallsReq);
+        if ( err == KErrNone )
+            {
+#ifdef REQHANDLE_TIMER
+            SetTypeOfResponse( EMultimodePhoneTerminateActiveCalls, aTsyReqHandle );
+#else
+            iTsyReqHandleStore->SetTsyReqHandle( 
+                    iReqHandleType, aTsyReqHandle );
+#endif //REQHANDLE_TIMER
+            }
+        else
+            {
+            // request failed, complete with error value
+            ReqCompleted( aTsyReqHandle, err );
+            } 
+        }
+    else
+        {
+TFLOGSTRING("TSY: CMmPhoneTsy::TerminatActiveCalls - Already requested");
+        ReqCompleted( aTsyReqHandle, KErrServerBusy );
+        }
+    return KErrNone;
+    }
+// ---------------------------------------------------------------------------
+// CMmPhoneTsy::CompleteTerminateActiveCallsReq
+// Description: Complete TerminateActiveCallsRequest
+// ---------------------------------------------------------------------------
+//
+void CMmPhoneTsy::CompleteTerminateActiveCallsReq(TInt aErrorCode)
+    {
+    // Reset req handle. Returns the deleted req handle
+     TTsyReqHandle reqHandle = iTsyReqHandleStore->ResetTsyReqHandle(
+         EMultimodePhoneTerminateActiveCalls );
+    
+     if ( EMultimodePhoneReqHandleUnknown != reqHandle )
+         {
+         ReqCompleted( reqHandle, aErrorCode );
+         }   
+    }
+
 // ---------------------------------------------------------------------------
 // CMmPhoneTsy::RegisterNotification
 // This function is used by ETel Server to subscribe
@@ -6067,6 +6136,10 @@
         case EMultimodePhoneTerminateAllCalls:
             timeOut = KMmPhoneTerminateAllCallsTimeOut;
             break;
+      // Active Calls Termination
+        case EMultimodePhoneTerminateActiveCalls:
+            timeOut = KMmPhoneTerminateActiveCallsTimeOut;
+            break;
       //NET
         case EMultimodePhoneSelectNetwork:
             timeOut = KMmPhoneSelectNetworkTimeOut;
@@ -6271,6 +6344,9 @@
         case EMultimodePhoneTerminateAllCalls:
         	CompleteTerminateAllCallsReq(aError);
         	break;
+        case EMultimodePhoneTerminateActiveCalls:
+            CompleteTerminateActiveCallsReq(aError);
+            break;
       //DTMF
         case EMultimodePhoneSendDTMFTones:
         case EMultimodePhoneStartDTMFTone:
--- a/telephonyserverplugins/common_tsy/group/telephony_commontsy.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/group/telephony_commontsy.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_commontsy
 source		\sf\os\cellularsrv\telephonyserverplugins\common_tsy\commontsy
 source		\sf\os\cellularsrv\telephonyserverplugins\common_tsy\customapi
--- a/telephonyserverplugins/common_tsy/phonetsy/src/cmmphonefactorytsy.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/phonetsy/src/cmmphonefactorytsy.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -330,7 +330,9 @@
 EXPORT_C CPhoneFactoryBase* LibEntry()
     {
 TFLOGSTRING("TSY: CPhoneFactoryBase::LibEntry()...");
-    CMmPhoneFactoryTsy* factory = CMmPhoneFactoryTsy::NewL(); 
+    // return NULL if instantiation fails
+    CMmPhoneFactoryTsy* factory(NULL);
+    TRAP_IGNORE(factory = CMmPhoneFactoryTsy::NewL()); 
     return factory; 
     }
 
--- a/telephonyserverplugins/common_tsy/test/component/group/component_test.pkg	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/group/component_test.pkg	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+;
+; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description: 
+;
+
 "\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\component\scripts\te_ctsycomponent_onstore_individual.script"-"c:\testdata\scripts\te_ctsycomponent_onstore_individual.script"
 "\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\component\scripts\te_ctsycomponent_packetservice_individual.script"-"c:\testdata\scripts\te_ctsycomponent_packetservice_individual.script"
 "\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\component\scripts\te_ctsycomponent_phonebookstore_individual.script"-"c:\testdata\scripts\te_ctsycomponent_phonebookstore_individual.script"
--- a/telephonyserverplugins/common_tsy/test/component/inc/cctsycallcontrolfu.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/inc/cctsycallcontrolfu.h	Fri Apr 16 16:12:37 2010 +0300
@@ -114,6 +114,12 @@
 	void TestTerminateAllCalls0002L();
 	void TestTerminateAllCalls0004L();
 	void TestTerminateAllCalls0005L();
+    void TestTerminateActiveCalls0001L();
+    void TestTerminateActiveCalls0001bL();
+    void TestTerminateActiveCalls0001cL();
+    void TestTerminateActiveCalls0002L();
+    void TestTerminateActiveCalls0004L();
+    void TestTerminateActiveCalls0005L();
 	void TestSetIncomingCallType0001L();
 	void TestAnswerIncomingCallISV0001L();
 	void TestAnswerIncomingCallISV0002L();
--- a/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmmmessagerouter.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmmmessagerouter.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -495,6 +495,8 @@
 		case EMmTsyUpdateLifeTimeIPC:                     		
 		case ECtsyPhoneTerminateAllCallsReq:
 		case ECtsyPhoneTerminateAllCallsComp:
+        case ECtsyPhoneTerminateActiveCallsReq:
+        case ECtsyPhoneTerminateActiveCallsComp:
         case EMobilePhoneNotifyIccAccessCapsChange:
 
             messHandler = iPhoneMessHandler;
--- a/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmockphonemesshandler.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/cmockphonemesshandler.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -356,14 +356,15 @@
 						   RMobilePhone::TMobilePhoneCBChangeV1> data(condition, *info);
 			return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc,data);
 			}
-		case ECtsyPhoneTerminateAllCallsReq:
+		case ECtsyPhoneTerminateAllCallsReq:		
 			{
 			TInt callId(0);
 			aMmDataPackage->UnPackData(callId);
 			TMockLtsyData1< TInt > data(callId);
 			return iMessageRouter->MockLtsyEngine()->ExecuteCommandL(aIpc, data);
 			}
-    	case ECtsyPhoneCellInfoReq:
+        case ECtsyPhoneTerminateActiveCallsReq: 
+		case ECtsyPhoneCellInfoReq:
     	case ECtsyPhoneCellInfoIndReq:			
     	case EMobilePhoneSelectNetworkCancel:
     	case EMobilePhoneGetFdnStatus:
@@ -934,6 +935,7 @@
 			}
 			break;
 		case ECtsyPhoneTerminateAllCallsComp:
+		case ECtsyPhoneTerminateActiveCallsComp:
 			{
 			// no parameter is required
 			}
--- a/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/ipcnames.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/mockltsy/mockltsy/src/ipcnames.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -340,6 +340,7 @@
 _LIT(KEMobilePhoneStartDTMFTone, "EMobilePhoneStartDTMFTone");
 _LIT(KEMobilePhoneStopDTMFTone, "EMobilePhoneStopDTMFTone");
 _LIT(KEMobilePhoneTerminateAllCalls, "EMobilePhoneTerminateAllCalls");
+_LIT(KEMobilePhoneTerminateActiveCalls, "EMobilePhoneTerminateActiveCalls");
 _LIT(KEMobileCallActivateCCBSCancel, "EMobileCallActivateCCBSCancel");
 _LIT(KEMobileCallAnswerISVCancel, "EMobileCallAnswerISVCancel");
 _LIT(KEMobileCallAnswerMultimediaCallAsVoiceCancel, "EMobileCallAnswerMultimediaCallAsVoiceCancel");
@@ -363,6 +364,7 @@
 _LIT(KEMobilePhoneReadDTMFTonesCancel, "EMobilePhoneReadDTMFTonesCancel");
 _LIT(KEMobilePhoneSendDTMFTonesCancel, "EMobilePhoneSendDTMFTonesCancel");
 _LIT(KEMobilePhoneTerminateAllCallsCancel, "EMobilePhoneTerminateAllCallsCancel");
+_LIT(KEMobilePhoneTerminateActiveCallsCancel, "EMobilePhoneTerminateActiveCallsCancel");
 _LIT(KEMobileConferenceCallGetMobileCallInfo, "EMobileConferenceCallGetMobileCallInfo");
 _LIT(KEMobilePhoneEnumerateAPNEntries, "EMobilePhoneEnumerateAPNEntries");
 _LIT(KEMobilePhoneGetAPNname, "EMobilePhoneGetAPNname");
@@ -779,6 +781,8 @@
 _LIT(KECtsyPacketMbmsContextNotifyConfigChanged, "ECtsyPacketMbmsContextNotifyConfigChanged");
 _LIT(KECtsyPhoneTerminateAllCallsReq, "ECtsyPhoneTerminateAllCallsReq");
 _LIT(KECtsyPhoneTerminateAllCallsComp, "ECtsyPhoneTerminateAllCallsComp");
+_LIT(KECtsyPhoneTerminateActiveCallsReq, "ECtsyPhoneTerminateActiveCallsReq");
+_LIT(KECtsyPhoneTerminateActiveCallsComp, "ECtsyPhoneTerminateActiveCallsComp");
 _LIT(KECtsyPhoneSendNetworkServiceRequestReq, "ECtsyPhoneSendNetworkServiceRequestReq");
 _LIT(KECtsyPhoneSendNetworkServiceRequestIndReq, "ECtsyPhoneSendNetworkServiceRequestIndReq");
 _LIT(KECtsyPhoneSendNetworkServiceRequestInd, "ECtsyPhoneSendNetworkServiceRequestInd");
@@ -1108,6 +1112,7 @@
 	case EMobilePhoneStartDTMFTone : return KEMobilePhoneStartDTMFTone;
 	case EMobilePhoneStopDTMFTone : return KEMobilePhoneStopDTMFTone;
 	case EMobilePhoneTerminateAllCalls : return KEMobilePhoneTerminateAllCalls;
+    case EMobilePhoneTerminateActiveCalls : return KEMobilePhoneTerminateActiveCalls;
 	case EMobileCallActivateCCBSCancel : return KEMobileCallActivateCCBSCancel;
 	case EMobileCallAnswerISVCancel : return KEMobileCallAnswerISVCancel;
 	case EMobileCallAnswerMultimediaCallAsVoiceCancel : return KEMobileCallAnswerMultimediaCallAsVoiceCancel;
@@ -1131,6 +1136,7 @@
 	case EMobilePhoneReadDTMFTonesCancel : return KEMobilePhoneReadDTMFTonesCancel;
 	case EMobilePhoneSendDTMFTonesCancel : return KEMobilePhoneSendDTMFTonesCancel;
 	case EMobilePhoneTerminateAllCallsCancel : return KEMobilePhoneTerminateAllCallsCancel;
+    case EMobilePhoneTerminateActiveCallsCancel : return KEMobilePhoneTerminateActiveCallsCancel;
 	case EMobileConferenceCallGetMobileCallInfo : return KEMobileConferenceCallGetMobileCallInfo;
 	case EMobilePhoneEnumerateAPNEntries : return KEMobilePhoneEnumerateAPNEntries;
 	case EMobilePhoneGetAPNname : return KEMobilePhoneGetAPNname;
@@ -1552,6 +1558,8 @@
 	case ECtsyPacketMbmsContextNotifyConfigChanged : return KECtsyPacketMbmsContextNotifyConfigChanged;
 	case ECtsyPhoneTerminateAllCallsReq : return KECtsyPhoneTerminateAllCallsReq;
 	case ECtsyPhoneTerminateAllCallsComp : return KECtsyPhoneTerminateAllCallsComp;
+    case ECtsyPhoneTerminateActiveCallsReq : return KECtsyPhoneTerminateActiveCallsReq;
+    case ECtsyPhoneTerminateActiveCallsComp : return KECtsyPhoneTerminateActiveCallsComp;
 	case ECtsyPhoneSendNetworkServiceRequestReq : return KECtsyPhoneSendNetworkServiceRequestReq;
 	case ECtsyPhoneSendNetworkServiceRequestIndReq : return KECtsyPhoneSendNetworkServiceRequestIndReq;
 	case ECtsyPhoneSendNetworkServiceRequestInd : return KECtsyPhoneSendNetworkServiceRequestInd;
--- a/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callcontrol_individual.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_callcontrol_individual.script	Fri Apr 16 16:12:37 2010 +0300
@@ -767,6 +767,73 @@
 RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestTerminateAllCalls0005L
 END_TESTCASE BA-CTSY-CCON-MTAC-0005
 
+START_TESTCASE BA-CTSY-CCON-MTACTC-0001
+//!@SYMTestCaseID BA-CTSY-CCON-MTACTC-0001
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusHold
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestTerminateActiveCalls0001L
+END_TESTCASE BA-CTSY-CCON-MTACTC-0001
+
+START_TESTCASE BA-CTSY-CCON-MTACTC-0001b
+//!@SYMTestCaseID BA-CTSY-CCON-MTACTC-0001b
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusRinging
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestTerminateActiveCalls0001bL
+END_TESTCASE BA-CTSY-CCON-MTACTC-0001b
+
+START_TESTCASE BA-CTSY-CCON-MTACTC-0001c
+//!@SYMTestCaseID BA-CTSY-CCON-MTACTC-0001c
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusConnecting
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestTerminateActiveCalls0001cL
+END_TESTCASE BA-CTSY-CCON-MTACTC-0001c
+
+
+START_TESTCASE BA-CTSY-CCON-MTACTC-0002
+//!@SYMTestCaseID BA-CTSY-CCON-MTACTC-0002
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for cancelling RMobilePhone::TerminateActiveCalls
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestTerminateActiveCalls0002L
+END_TESTCASE BA-CTSY-CCON-MTACTC-0002
+
+START_TESTCASE BA-CTSY-CCON-MTACTC-0004
+//!@SYMTestCaseID BA-CTSY-CCON-MTACTC-0004
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for multiple client requests of RMobilePhone::TerminateActiveCalls
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestTerminateActiveCalls0004L
+END_TESTCASE BA-CTSY-CCON-MTACTC-0004
+
+START_TESTCASE BA-CTSY-CCON-MTACTC-0005
+//!@SYMTestCaseID BA-CTSY-CCON-MTACTC-0005
+//!@SYMComponent telephony_ctsy
+//!@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls with timeout
+//!@SYMTestPriority High
+//!@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls and tests for timeout
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CT
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyCallControlFU.TestTerminateActiveCalls0005L
+END_TESTCASE BA-CTSY-CCON-MTACTC-0005
+
 START_TESTCASE BA-CTSY-CCON-MSICT-0001
 //!@SYMTestCaseID BA-CTSY-CCON-MSICT-0001
 //!@SYMComponent telephony_ctsy
--- a/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_phoneidentity_individual.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_phoneidentity_individual.script	Fri Apr 16 16:12:37 2010 +0300
@@ -91,9 +91,9 @@
 START_TESTCASE BA-CTSY-PID-MGPI-0001f
 //!@SYMTestCaseID BA-CTSY-PID-MGPI-0001f
 //!@SYMComponent  telephony_ctsy
-//!@SYMTestCaseDesc test reading from deviceattributes.ini not encoded as UNICODE Little Endian
+//!@SYMTestCaseDesc test reading from deviceattributes.ini encoded in an invalid format
 //!@SYMTestPriority High
-//!@SYMTestActions Calls GetPhoneId when deviceattributes.ini not using the right encoding.
+//!@SYMTestActions Calls GetPhoneId when deviceattributes.ini not using a valid encoding.
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
 RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsyPhoneIdentityFU.TestGetPhoneId0001fL
--- a/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_smsmessaging_individual.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/scripts/te_ctsycomponent_smsmessaging_individual.script	Fri Apr 16 16:12:37 2010 +0300
@@ -36,7 +36,7 @@
 //!@SYMTestActions Invokes RMobileSmsMessaging::NotifyReceiveModeChange
 //!@SYMTestExpectedResults Pass
 //!@SYMTestType CT
-//RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsySmsMessagingFU.TestNotifyReceiveModeChange0001L
+RUN_TEST_STEP 100 te_ctsy_component TEFUnit.CCTsySmsMessagingFU.TestNotifyReceiveModeChange0001L
 END_TESTCASE BA-CTSY-SMSM-SNRMC-0001
 
 START_TESTCASE BA-CTSY-SMSM-SNRMC-0002
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -16,7 +16,7 @@
 //
 
 /**
- @file 
+ @file      
 */
 
 #include "cctsycallcontrolfu.h"
@@ -113,6 +113,12 @@
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0002L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0004L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0005L);	
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001bL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001cL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0002L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0004L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0005L);  
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSetIncomingCallType0001L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0001L);
 	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0002L);
@@ -9798,7 +9804,7 @@
 	TRequestStatus requestStatus;
     
 	//-----------------------------------------------------------------------
-	// TEST 0: with no active calls (request should not reach the LTSY)
+	// TEST 0: with no active calls 
 	//----------------------------------------------------------------------
 	
 	iPhone.TerminateAllCalls(requestStatus);
@@ -10102,6 +10108,426 @@
 	CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
 	}
 
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls  When the call status is EStatusHold
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0001L()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    
+    TRequestStatus requestStatus;
+    
+    //-----------------------------------------------------------------------
+    // TEST 0: with no active calls 
+    //----------------------------------------------------------------------
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+    
+    //-------------------------------------------------------------------------
+    // TEST A: failure to dispatch request to LTSY
+    //-------------------------------------------------------------------------
+
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData, KErrNotSupported);
+    iPhone.TerminateActiveCalls(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+    AssertMockLtsyStatusL();
+
+    
+    
+    //-------------------------------------------------------------------------
+    // TEST B: failure on completion of pending request from LTSY->CTSY
+    //-------------------------------------------------------------------------
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrGeneral);
+
+    iPhone.TerminateActiveCalls(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+    AssertMockLtsyStatusL();
+    
+    //-------------------------------------------------------------------------
+    // TEST C: Successful completion request of
+    // RMobilePhone::TerminateActiveCalls.
+    //-------------------------------------------------------------------------
+    
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+    
+    //-------------------------------------------------------------------------
+    // TEST E: Unsolicited completion of RMobilePhone::TerminateActiveCalls
+    // from LTSY.
+    //-------------------------------------------------------------------------
+
+    TRequestStatus mockLtsyStatus;
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    AssertMockLtsyStatusL();
+        
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-000B1
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusRinging
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0001bL()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+        
+    TRequestStatus requestStatus;
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+    RMobilePhone::EVoiceService, RMobileCall::EStatusRinging);   
+        
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+        
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+    
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-000C1
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusConnecting
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0001cL()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+        
+    TRequestStatus requestStatus;
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;    
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+                RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);   
+        
+    ASSERT_EQUALS(KErrNone, errorCode);
+    RCall call;    
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+        
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling RMobilePhone::TerminateActiveCalls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls and cancels it
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0002L()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+    
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    
+    //-------------------------------------------------------------------------
+    
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+    
+    //-------------------------------------------------------------------------
+    // Test A: cancelling of RMobilePhone::TerminateActiveCalls
+    //-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);
+    
+    TRequestStatus mockLtsyStatus;
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+        
+    // Expect call down to LTSY for this IPC
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+
+    // Queue response to be delayed to give time for cancel to come through
+    // There is no interface for cancelling the simple TerminateActiveCalls request once passed to LTSY, 
+    // however this test will still emulate the completion of the request which will finally return from LTSY regardless.
+    
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone, 10);
+
+    TRequestStatus requestStatus;
+    iPhone.TerminateActiveCalls(requestStatus);
+    iPhone.CancelAsyncRequest(EMobilePhoneTerminateActiveCalls);
+    User::WaitForRequest(requestStatus);
+    INFO_PRINTF2(_L("requestStatus.Int() %d"),(requestStatus.Int()));
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+    AssertMockLtsyStatusL();
+    
+    User::WaitForRequest(mockLtsyStatus);
+    INFO_PRINTF2(_L("mockLtsyStatus.Int() %d"),(mockLtsyStatus.Int()));
+    
+    AssertMockLtsyStatusL();
+    
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests of RMobilePhone::TerminateActiveCalls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls on multiple clients
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0004L()
+    {
+
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+        
+    // Open second client
+    RTelServer telServer2;
+    TInt ret = telServer2.Connect();
+    ASSERT_EQUALS(KErrNone, ret);
+    CleanupClosePushL(telServer2);
+
+    RMobilePhone phone2;
+    ret = phone2.Open(iTelServer,KMmTsyPhoneName);
+    ASSERT_EQUALS(KErrNone, ret);
+    CleanupClosePushL(phone2);
+
+    //
+    // set up line and call for first client
+    
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+    //
+    // set up call for second client
+    
+    RLine line2;
+    RCall call2;
+    errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName2;
+    TInt callId2 = 2;
+    errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call2); // PUSH
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+    // let's start testing...
+    
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone, 20);
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+    iPhone.TerminateActiveCalls(requestStatus);
+    phone2.TerminateActiveCalls(requestStatus2);
+    
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+    
+    AssertMockLtsyStatusL();
+    
+    CleanupStack::PopAndDestroy(8, this);   // expectData,
+                                            // call2, line2, call, line,
+                                            // phone2, telServer2, this
+    }
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls with timeout.
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls and tests for timeout.
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0005L()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+   
+    
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);    
+    //-------------------------------------------------------------------------
+    // Test A: Test timeout of RMobilePhone::TerminateActiveCalls
+    //-------------------------------------------------------------------------
+    
+    TRequestStatus requestStatus;
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
 
 /**
 @SYMTestCaseID BA-CTSY-CCON-MSICT-0001
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsyphoneidentityfu.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsyphoneidentityfu.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -427,9 +427,9 @@
 /**
 @SYMTestCaseID BA-CTSY-PID-MGPI-0001f
 @SYMComponent  telephony_ctsy
-@SYMTestCaseDesc test reading from deviceattributes.ini not encoded as UNICODE Little Endian
+@SYMTestCaseDesc test reading from deviceattributes.ini encoded in an invalid format
 @SYMTestPriority High
-@SYMTestActions Calls GetPhoneId when deviceattributes.ini not using the right encoding.
+@SYMTestActions Calls GetPhoneId when deviceattributes.ini not using a valid encoding.
 @SYMTestExpectedResults Pass
 @SYMTestType CT
 */
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsysmsmessagingfu.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsysmsmessagingfu.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -197,9 +197,6 @@
     // from LTSY.
     //-------------------------------------------------------------------------
 
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 360201); 
-    ASSERT_TRUE(EFalse);
-
     //Request for EMobileSmsMessagingNotifyReceiveModeChange is self reposting. 
     //If it was completed somehow and then SetReceiveMode() was called without call of NotifyReceiveModeChange() - 
     //this result in getting wrong request handle for completion in CTelObject::ReqCompleted() 
Binary file telephonyserverplugins/common_tsy/test/component/testdata/TestGetPhoneId0001f.ini has changed
--- a/telephonyserverplugins/common_tsy/test/integration/group/integration_test.pkg	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/group/integration_test.pkg	Fri Apr 16 16:12:37 2010 +0300
@@ -1,1 +1,61 @@
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\testdata\ctsyintegration_setup.ini"-"c:\testdata\configs\ctsyintegration_setup.ini"
+// note using NTN version of config data here:
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\testdata\ctsyintegration_ntn_data.ini"-"c:\testdata\configs\ctsyintegration_data.ini"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\testdata\uk_commdb.cfg"-"c:\testdata\configs\uk_commdb.cfg"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\testdata\testexecute.ini"-"c:\system\data\testexecute.ini"
+
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_airtimeduration_auto.script"-"c:\testdata\scripts\te_ctsyintegration_airtimeduration_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_alternatelineservice_auto.script"-"c:\testdata\scripts\te_ctsyintegration_alternatelineservice_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_apncontrollist_auto.script"-"c:\testdata\scripts\te_ctsyintegration_apncontrollist_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_broadcastmessaging_auto.script"-"c:\testdata\scripts\te_ctsyintegration_broadcastmessaging_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_callbarring_auto.script"-"c:\testdata\scripts\te_ctsyintegration_callbarring_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_callcontrol_auto.script"-"c:\testdata\scripts\te_ctsyintegration_callcontrol_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_callcost_auto.script"-"c:\testdata\scripts\te_ctsyintegration_callcost_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_callforwarding_auto.script"-"c:\testdata\scripts\te_ctsyintegration_callforwarding_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_callownership_auto.script"-"c:\testdata\scripts\te_ctsyintegration_callownership_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_callwaiting_auto.script"-"c:\testdata\scripts\te_ctsyintegration_callwaiting_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_conferencecallcontrol1_auto.script"-"c:\testdata\scripts\te_ctsyintegration_conferencecallcontrol1_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_conferencecallcontrol2_auto.script"-"c:\testdata\scripts\te_ctsyintegration_conferencecallcontrol2_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_conferencecallcontrol3_auto.script"-"c:\testdata\scripts\te_ctsyintegration_conferencecallcontrol3_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_customapi_auto.script"-"c:\testdata\scripts\te_ctsyintegration_customapi_auto.script"
 "\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_dtmf_auto.script"-"c:\testdata\scripts\te_ctsyintegration_dtmf_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_enstore_auto.script"-"c:\testdata\scripts\te_ctsyintegration_enstore_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_fixeddialling_auto.script"-"c:\testdata\scripts\te_ctsyintegration_fixeddialling_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_indicator_auto.script"-"c:\testdata\scripts\te_ctsyintegration_indicator_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_mailboxnumbers_auto.script"-"c:\testdata\scripts\te_ctsyintegration_mailboxnumbers_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_networkcontrol_auto.script"-"c:\testdata\scripts\te_ctsyintegration_networkcontrol_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_networksecurity_auto.script"-"c:\testdata\scripts\te_ctsyintegration_networksecurity_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_onstore_auto.script"-"c:\testdata\scripts\te_ctsyintegration_onstore_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_packetcontext_auto.script"-"c:\testdata\scripts\te_ctsyintegration_packetcontext_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_packetservice_auto.script"-"c:\testdata\scripts\te_ctsyintegration_packetservice_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_phonebookstore_auto.script"-"c:\testdata\scripts\te_ctsyintegration_phonebookstore_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_phonecapability_auto.script"-"c:\testdata\scripts\te_ctsyintegration_phonecapability_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_phoneidentity_auto.script"-"c:\testdata\scripts\te_ctsyintegration_phoneidentity_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_phonepower_auto.script"-"c:\testdata\scripts\te_ctsyintegration_phonepower_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_phonesecurity_auto.script"-"c:\testdata\scripts\te_ctsyintegration_phonesecurity_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_phonestore_auto.script"-"c:\testdata\scripts\te_ctsyintegration_phonestore_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_signalstrength_auto.script"-"c:\testdata\scripts\te_ctsyintegration_signalstrength_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_smsmessaging_auto.script"-"c:\testdata\scripts\te_ctsyintegration_smsmessaging_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_smspstore_auto.script"-"c:\testdata\scripts\te_ctsyintegration_smspstore_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_smsstore_auto.script"-"c:\testdata\scripts\te_ctsyintegration_smsstore_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_subscriberinfo_auto.script"-"c:\testdata\scripts\te_ctsyintegration_subscriberinfo_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_supplementaryservicecaps_auto.script"-"c:\testdata\scripts\te_ctsyintegration_supplementaryservicecaps_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_usernetworkaccess_auto.script"-"c:\testdata\scripts\te_ctsyintegration_usernetworkaccess_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_usimapplication_auto.script"-"c:\testdata\scripts\te_ctsyintegration_usimapplication_auto.script"
+"\sf\os\cellularsrv\telephonyserverplugins\common_tsy\test\integration\scripts_implemented\te_ctsyintegration_ussdmessaging_auto.script"-"c:\testdata\scripts\te_ctsyintegration_ussdmessaging_auto.script"
--- a/telephonyserverplugins/common_tsy/test/integration/group/te_ctsyintegrationtestsuite.iby	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/group/te_ctsyintegrationtestsuite.iby	Fri Apr 16 16:12:37 2010 +0300
@@ -23,13 +23,15 @@
 // Test Harness Executables
 file=ABI_DIR\DEBUG_DIR\te_ctsyintegrationtestsuite.exe		SYSTEM_BINDIR\te_ctsyintegrationtestsuite.exe
 
+file=ABI_DIR\DEBUG_DIR\RpsCommon.dll	SYSTEM_BINDIR\RpsCommon.dll
+file=ABI_DIR\DEBUG_DIR\rpsmaster.dll	SYSTEM_BINDIR\rpsmaster.dll
 
 data=EPOCROOT##epoc32\data\z\TestData\configs\ctsyintegration_setup.ini 	testdata\configs\ctsyintegration_setup.ini
 data=EPOCROOT##epoc32\data\z\TestData\configs\ctsyintegration_trpat_setup.ini 	testdata\configs\ctsyintegration_trpat_setup.ini
 data=EPOCROOT##epoc32\data\z\TestData\configs\ctsyintegration_trpstubbed_setup.ini 	testdata\configs\ctsyintegration_trpstubbed_setup.ini
 data=EPOCROOT##epoc32\data\z\TestData\configs\ctsyintegration_data.ini 	testdata\configs\ctsyintegration_data.ini
 data=EPOCROOT##epoc32\data\z\TestData\configs\uk_commdb.cfg		testdata\configs\uk_commdb.cfg
-
+data=EPOCROOT##epoc32\data\z\testdata\configs\testexecute.ini		system\data\testexecute.ini
 
 data=EPOCROOT##epoc32\data\z\testdata\scripts\te_ctsy_trpat_test_setup.script		testdata\scripts\te_ctsy_trpat_test_setup.script
 data=EPOCROOT##epoc32\data\z\testdata\scripts\te_ctsy_trpstubbed_test_setup.script	testdata\scripts\te_ctsy_trpstubbed_test_setup.script
--- a/telephonyserverplugins/common_tsy/test/integration/inc/cctsyinidata.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/inc/cctsyinidata.h	Fri Apr 16 16:12:37 2010 +0300
@@ -35,6 +35,7 @@
 _LIT(KIniSectionSoneraGprs, "SoneraGprsSettings");
 _LIT(KIniSectionO2Gprs, "O2GprsSettings");
 _LIT(KIniSectionThreeGprs, "ThreeGprsSettings");
+_LIT(KIniSectionNTNGprs, "NTNGprsSettings");
 
 _LIT(KIniSectionOrangePasswords, "OrangePasswords");
 _LIT(KIniSectionVodafonePasswords, "VodafonePasswords");
@@ -44,6 +45,7 @@
 _LIT(KIniSectionElisaPasswords, "ElisaPasswords");
 _LIT(KIniSectionDNAPasswords, "DNAPasswords");
 _LIT(KIniSectionSoneraPasswords, "SoneraPasswords");
+_LIT(KIniSectionNTNPasswords, "NTNPasswords");
 _LIT(KIniSectionBoardParams, "BoardParams"); // contains board specific parameters like phonelock
 _LIT(KIniSectionSIMParams, "SIMParams"); // contains SIM specific parameters like PUK1, PUK2
 
--- a/telephonyserverplugins/common_tsy/test/integration/inc/cctsyintegrationtestsmsmessaging.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/inc/cctsyintegrationtestsmsmessaging.h	Fri Apr 16 16:12:37 2010 +0300
@@ -40,6 +40,7 @@
 _LIT(KNetworkVodafone,"Vodafone");
 _LIT(KNetworkOrange,"Orange");
 _LIT(KNetworkTMobile,"TMobile");
+_LIT(KNetworkNTN,"NTN");
 
 
 class CCTSYIntegrationTestSmsMessagingBase : public CCTSYIntegrationTestSuiteStepBase
--- a/telephonyserverplugins/common_tsy/test/integration/inc/tnetworktsytesthelper.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/inc/tnetworktsytesthelper.h	Fri Apr 16 16:12:37 2010 +0300
@@ -30,6 +30,7 @@
 	EOperatorDNA,
 	EOperatorSonera,
 	EOperatorAnite,
+	EOperatorNTN,
 	EOperatorUnknown
 	};
 	
--- a/telephonyserverplugins/common_tsy/test/integration/scripts_implemented/te_ctsyintegration_customapi_auto.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/scripts_implemented/te_ctsyintegration_customapi_auto.script	Fri Apr 16 16:12:37 2010 +0300
@@ -25,5 +25,5 @@
 //!@SYMTestExpectedResults Pass - Place holder - fill this in when writing test
 //!@SYMTestType CIT
 //!@SYMTestCaseDependencies live/automatic
-RUN_TEST_STEP 100 TE_CTSYIntegrationTestSuite CCTSYIntegrationTestCustomAPI0050 c:\ctsy\ctsyintegration_data.ini
+RUN_TEST_STEP 100 TE_CTSYIntegrationTestSuite CCTSYIntegrationTestCustomAPI0050 c:\testdata\configs\ctsyintegration_data.ini
 END_TESTCASE BA-CTSY-INT-CAPI-0050
--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallwaiting.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestcallwaiting.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -1003,23 +1003,31 @@
 	TInt noOfEntries = cwList->Enumerate();
 	ASSERT_TRUE( noOfEntries >=  2, _L("CRetrieveMobilePhoneCWList::Enumerate returned incorrect information"))
 
+	const RMobilePhone::TMobilePhoneCWInfoEntryV1& cwInfoEntry = cwList->GetEntryL(0);
+	const RMobilePhone::TMobilePhoneCWInfoEntryV1& cwInfoEntry1 = cwList->GetEntryL(1);
 	// Check CMobilePhoneCWList::GetEntryL with aIndex=0 returns a RMobilePhone::TMobilePhoneCWInfoEntryV1 with iServiceGroup=EVoiceService and iStatus=ECallWaitingStatusActive
-	const RMobilePhone::TMobilePhoneCWInfoEntryV1& cwInfoEntry = cwList->GetEntryL(0);	
-	ASSERT_TRUE((cwInfoEntry.iServiceGroup  ==  RMobilePhone::EVoiceService 
-				|| cwInfoEntry.iServiceGroup  ==  RMobilePhone::ETelephony) , 
-				_L("CRetrieveMobilePhoneCWList::GetEntryL returned wrong iServiceGroup"))
-	ASSERT_EQUALS(cwInfoEntry.iStatus, RMobilePhone::ECallWaitingStatusActive, 
-				_L("CRetrieveMobilePhoneCWList::GetEntryL returned wrong iStatus"));
-	
 	// Check CMobilePhoneCWList::GetEntryL with aIndex=1 returns a RMobilePhone::TMobilePhoneCWInfoEntryV1 with iServiceGroup=ECircuitDataService and iStatus=ECallWaitingStatusActive
-	const RMobilePhone::TMobilePhoneCWInfoEntryV1& cwInfoEntry1 = cwList->GetEntryL(1);	
-	ASSERT_TRUE( ( cwInfoEntry1.iServiceGroup == RMobilePhone::ECircuitDataService
-				|| cwInfoEntry1.iServiceGroup == RMobilePhone::ESyncData
-				|| cwInfoEntry1.iServiceGroup == RMobilePhone::EAsyncData), 
-				_L("CRetrieveMobilePhoneCWList::GetEntryL returned wrong iServiceGroup"))
-	ASSERT_EQUALS(cwInfoEntry1.iStatus, RMobilePhone::ECallWaitingStatusActive, 
-				_L("CRetrieveMobilePhoneCWList::GetEntryL returned wrong iStatus"))	
-		
+	// or opposite.
+	TBool serviceGroupFlag1(EFalse);
+	TBool serviceGroupFlag2(EFalse);
+	serviceGroupFlag1 = ((cwInfoEntry.iServiceGroup  ==  RMobilePhone::EVoiceService 
+            || cwInfoEntry.iServiceGroup  ==  RMobilePhone::ETelephony)
+            && ( cwInfoEntry1.iServiceGroup == RMobilePhone::ECircuitDataService
+            || cwInfoEntry1.iServiceGroup == RMobilePhone::ESyncData
+            || cwInfoEntry1.iServiceGroup == RMobilePhone::EAsyncData) );
+	serviceGroupFlag2 = ((cwInfoEntry1.iServiceGroup  ==  RMobilePhone::EVoiceService 
+            || cwInfoEntry1.iServiceGroup  ==  RMobilePhone::ETelephony)
+            && ( cwInfoEntry.iServiceGroup == RMobilePhone::ECircuitDataService
+            || cwInfoEntry.iServiceGroup == RMobilePhone::ESyncData
+            || cwInfoEntry.iServiceGroup == RMobilePhone::EAsyncData) );
+	
+	ASSERT_TRUE((serviceGroupFlag1 || serviceGroupFlag2), 
+            _L("CRetrieveMobilePhoneCWList::GetEntryL returned wrong iServiceGroup"));
+    ASSERT_EQUALS(cwInfoEntry.iStatus, RMobilePhone::ECallWaitingStatusActive, 
+            _L("CRetrieveMobilePhoneCWList::GetEntryL returned wrong iStatus"));
+    ASSERT_EQUALS(cwInfoEntry1.iStatus, RMobilePhone::ECallWaitingStatusActive, 
+            _L("CRetrieveMobilePhoneCWList::GetEntryL returned wrong iStatus"));
+	
 	//
 	// TEST END
 	//
--- a/telephonyserverplugins/common_tsy/test/integration/src/tnetworktsytesthelper.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tnetworktsytesthelper.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -562,50 +562,65 @@
  		{
  		reqResult = reqStatus.Int();
  		}
-	DEBUG_PRINTF2(_L("Current network is %S"), &(aPhoneNetwork().iShortName));
-	if( aPhoneNetwork().iShortName.Find(_L("O2")) >=0 )
-		{
-		aOperatorName = EOperatorO2;
-		}
-	else if ( aPhoneNetwork().iShortName.Find(_L("voda")) >=0 )
-		{
-		aOperatorName = EOperatorVodafone;
-		}
-	else if ( aPhoneNetwork().iShortName.Find(_L("Orange")) >=0 )
-		{
-		aOperatorName = EOperatorOrange;
-		}
-	else if ( aPhoneNetwork().iShortName.Find(_L("Elisa")) >=0 )
-		{
-		aOperatorName = EOperatorElisa;
-		}
-    else if ( aPhoneNetwork().iShortName.Find(_L("DNA")) >=0 )
-		{
-		aOperatorName = EOperatorDNA;
-		}
-	else if ( aPhoneNetwork().iShortName.Find(_L("dna")) >=0 )
-		{
-		aOperatorName = EOperatorDNA;
-		}
-	else if ( aPhoneNetwork().iShortName.Find(_L("SONERA")) >=0 )
-		{
-		aOperatorName = EOperatorSonera;
-		}
-	else if ( aPhoneNetwork().iShortName.Find(_L("T-Mobile")) >=0 
-			||	aPhoneNetwork().iShortName.Find(_L("One2One")) >=0)
-		{
-		aOperatorName = EOperatorTMobile;
-		}
-	else if( (aPhoneNetwork().iShortName.Find(_L("01")) >=0) || 
-			(aPhoneNetwork().iShortName.Find(_L("ANITE")) >=0) )
-		{
-		aOperatorName = EOperatorAnite;
-		}
-	else
-		{
-		aOperatorName = EOperatorUnknown;
-		}
-
+ 	
+ 	TPtrC ptrNetworkName;
+ 	if( aPhoneNetwork().iShortName.Size() > 0 )
+ 	    {
+        ptrNetworkName.Set(aPhoneNetwork().iShortName.Ptr(), aPhoneNetwork().iShortName.Length());
+ 	    }
+ 	else
+ 	    {
+        ptrNetworkName.Set(aPhoneNetwork().iDisplayTag.Ptr(), aPhoneNetwork().iDisplayTag.Length()); 	
+ 	    }
+ 	DEBUG_PRINTF2(_L("Current network is %S"), &ptrNetworkName);
+ 	
+    if( ptrNetworkName.Find(_L("O2")) >=0 )
+        {
+        aOperatorName = EOperatorO2;
+        }
+    else if ( ptrNetworkName.Find(_L("voda")) >=0 )
+        {
+        aOperatorName = EOperatorVodafone;
+        }
+    else if ( ptrNetworkName.Find(_L("Orange")) >=0 )
+        {
+        aOperatorName = EOperatorOrange;
+        }
+    else if ( ptrNetworkName.Find(_L("Elisa")) >=0 )
+        {
+        aOperatorName = EOperatorElisa;
+        }
+    else if ( ptrNetworkName.Find(_L("DNA")) >=0 )
+        {
+        aOperatorName = EOperatorDNA;
+        }
+    else if ( ptrNetworkName.Find(_L("dna")) >=0 )
+        {
+        aOperatorName = EOperatorDNA;
+        }
+    else if ( ptrNetworkName.Find(_L("SONERA")) >=0 )
+        {
+        aOperatorName = EOperatorSonera;
+        }
+    else if ( ptrNetworkName.Find(_L("T-Mobile")) >=0 
+            ||  ptrNetworkName.Find(_L("One2One")) >=0)
+        {
+        aOperatorName = EOperatorTMobile;
+        }
+    else if( (ptrNetworkName.Find(_L("01")) >=0) || 
+            (ptrNetworkName.Find(_L("ANITE")) >=0) )
+        {
+        aOperatorName = EOperatorAnite;
+        }
+    else if ( ptrNetworkName.Find(_L("NTN")) >=0 )
+        {
+        aOperatorName = EOperatorNTN;
+        }
+    else
+        {
+        aOperatorName = EOperatorUnknown;
+        }
+    
  	CleanupStack::PopAndDestroy(1);
 
  	return reqResult;
@@ -755,6 +770,9 @@
 		case EOperatorAnite:
 			aNetworkSection = &KIniSectionAnitePasswords;
 			break;
+		case EOperatorNTN:
+            aNetworkSection = &KIniSectionNTNPasswords;
+            break;
 		case EOperatorUnknown:
 		default:
 		    CHECK_TRUE_L( EFail, _L("Failed to identify current network"));
--- a/telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/common_tsy/test/integration/src/tpacketservicetsytesthelper.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -765,6 +765,11 @@
 		DEBUG_PRINTF1(_L("Retrieving Three GPRS settings"));
         section.Copy(KIniSectionThreeGprs);
         }
+    if(aInfo.iShortName.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
 		{
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/test/integration/testdata/ctsyintegration_ntn_data.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,160 @@
+[VoiceNumbers]
+VoiceNumber1=99900
+VoiceNumber2=99900
+VoiceNumber3=99900
+VoiceNumber4=99900
+VoiceNumber5=99900
+VoiceNumber6=99900
+VoiceNumberInt1=99900
+VoiceNumberIntExHC=99900
+VoiceNumberDoesNotConnect=0
+SmsReceptor=01632960000
+
+
+[DataNumbers]
+DataNumber1=01632960000
+DataNumber2=0
+
+[FaxNumbers]
+FaxNumber1=0
+FaxNumber2=0
+
+[OwnNumbers]
+OwnVoiceNumber1=
+OwnVoiceNumber2=
+OwnDataNumber=
+OwnFaxNumber=
+
+[DefaultGprsSettings]
+ApnName= defapn
+Username= defuser
+Password= defpwd
+
+[OrangeGprsSettings]
+ApnName= orangeinternet
+Username= web
+Password= web
+
+[VodafoneGprsSettings]
+ApnName= internet
+Username= web
+Password= web
+
+[TMobileGprsSettings]
+ApnName= general.t-mobile.uk
+Username= user
+Password= one2one
+
+[DNAGprsSettings]
+ApnName= internet
+Username= 
+Password=
+
+[ElisaGprsSettings]
+ApnName= internet
+Username= 
+Password= 
+
+[SoneraGprsSettings]
+ApnName= internet	
+Username=
+Password=
+
+[NTNGprsSettings]
+ApnName= internet	
+Username=
+Password=
+
+[O2GprsSettings]
+ApnName= mobile.o2.co.uk
+Username= web
+Password= password
+
+[ThreeGprsSettings]
+ApnName= three.co.uk
+Username= guest
+Password= guest
+
+[OrangeGprsSettings 2]
+ApnName= orangewap
+Username= Orange
+Password= Multimedia
+
+[VodafoneGprsSettings 2]
+ApnName= wap.vodafone.co.uk
+Username= wap
+Password= wap
+
+[TMobileGprsSettings 2]
+ApnName= general.t-mobile.uk
+Username= user
+Password= one2one
+
+[O2GprsSettings 2]
+ApnName= wap.o2.co.uk
+Username= o2wap
+Password= password
+
+[ThreeGprsSettings 2]
+ApnName= three.co.uk
+Username= guest
+Password= guest
+
+[OrangePasswords]
+CallBarring1=
+Pin1=
+Pin2=
+
+[VodafonePasswords]
+CallBarring1=
+Pin1=
+Pin2=
+
+[O2Passwords]
+CallBarring1=
+Pin1=
+Pin2=
+
+[TMobilePasswords]
+CallBarring1=notSupported
+Pin1=
+Pin2=
+
+[DNAPasswords]
+CallBarring1=0000
+Pin1=
+Pin2=
+
+[ElisaPasswords]
+CallBarring1=notSupported
+Pin1=
+Pin2=
+
+[SoneraPasswords]
+CallBarring1=notSupported
+Pin1=
+Pin2=
+
+[NTNPasswords]
+CallBarring1=0000
+Pin1=1234
+Pin2=5678
+Puk1=11111111
+Puk2=22222222
+
+[SmsServiceCentre]
+Vodafone= +441632960000
+TMobile= +441632960000
+Orange= +441632960000
+O2= +441632960000
+DNA= +441632960000
+Elisa= +441632960000
+SONERA= +441632960000
+NTN= +358454400051
+
+[BoardParams]
+PhoneLock=
+
+[SIMParams]
+Puk1=
+Puk2=
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/telephonyserverplugins/common_tsy/test/integration/testdata/testexecute.ini	Fri Apr 16 16:12:37 2010 +0300
@@ -0,0 +1,11 @@
+[TestExecute]
+HTML     	 	= c:\logs\testexecute\
+XML      	 	= c:\logs\testexecute\
+LogLevel   	 	= FULL
+//DefaultScriptDir 	= z:\sampletest\
+JustInTimeDebug	 	= 0
+LogMode		 	= HTML
+RemotePanicDetection 	= OFF
+EnableIniAccessLog	= ON
+EnableTestsCountLog	= ON
+SystemStarter		= OFF
--- a/telephonyserverplugins/ctsydispatchlayer/group/telephony_dispatcher.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/ctsydispatchlayer/group/telephony_dispatcher.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_dispatcher
 source		\sf\os\cellularsrv\telephonyserverplugins\ctsydispatchlayer
 binary		\sf\os\cellularsrv\telephonyserverplugins\ctsydispatchlayer\group	all
--- a/telephonyserverplugins/licenseetsystub/group/licenseetsystub.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/licenseetsystub/group/licenseetsystub.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	licenseetsystub
 source		\sf\os\cellularsrv\telephonyserverplugins\licenseetsystub\
 notes_source	\component_defs\release.src
--- a/telephonyserverplugins/multimodetsy/Multimode/ETELFAX.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "ETELFAX.H"
-#include "mSLOGGER.H"
-#include "CALL.H"
-#include "PHONE.H"
-#include "NOTIFY.H"
-
-
-CFaxCompletion::CFaxCompletion() 
-	: CBase(), iTelObject(NULL), iCall(NULL)
-	{}
-
-CFaxCompletion::~CFaxCompletion()
-	{}
-
-void CFaxCompletion::RxConnectComplete(TInt aError)
-	{
-	LOGTEXT(_L8("ETelFaxBase:\tReceive Connect Complete"));
-	iCall->ChangeLineStatus(RCall::EStatusConnected);
-	__ASSERT_ALWAYS(iCall->ChangeCallStatus(RMobileCall::EStatusConnected) == KErrNone,Panic(EGeneral));
-	iTelObject->ReqCompleted(iTsyReqHandle,aError);
-	}
-
-void CFaxCompletion::RxFaxDataComplete(TInt aError)
-	{
-	LOGTEXT(_L8("ETelFaxBase:\tReceive Fax Data Complete"));
-	iCall->iPhoneGlobals->iNotificationStore->CheckNotification(iCall->iFaxSession,EFaxReadOrWriteCompleted,aError);
-	}
-
-void CFaxCompletion::RxPostPageComplete(TInt aError)
-	{
-	LOGTEXT(_L8("ETelFaxBase:\tReceive Post Page Complete"));
-	iCall->iPhoneGlobals->iNotificationStore->CheckNotification(iCall->iFaxSession,EEndOfFaxPageCompleted,aError);
-	}
-
-void CFaxCompletion::TxConnectComplete(TInt aError)
-	{
-	LOGTEXT2(_L8("ETelFaxBase:\tTransmission Connect Complete with %d"),aError);
-	iCall->ChangeLineStatus(RCall::EStatusConnected);		
-	__ASSERT_ALWAYS(iCall->ChangeCallStatus(RMobileCall::EStatusConnected) == KErrNone,Panic(EGeneral));
-	iTelObject->ReqCompleted(iTsyReqHandle,aError);
-	}
-
-void CFaxCompletion::TxFaxDataComplete(TInt aError)
-	{
-	LOGTEXT(_L8("ETelFaxBase:\tTransmission Fax Data Complete"));
-	iCall->iPhoneGlobals->iNotificationStore->CheckNotification(iCall->iFaxSession,EFaxReadOrWriteCompleted,aError);
-	}
-
-void CFaxCompletion::TxPostPageComplete(TInt aError)
-	{
-	LOGTEXT(_L8("ETelFaxBase:\tTransmission Post Page Complete"));
-	iCall->iPhoneGlobals->iNotificationStore->CheckNotification(iCall->iFaxSession,EEndOfFaxPageCompleted,aError);
-	}
-
-void CFaxCompletion::GetCadenceAndTimeOfLastRing(TTimeIntervalMicroSeconds& aCadence,TTime& aTime)
-	{
-	aCadence=0;
-	aTime=0;
-	}
-
-void CFaxCompletion::Configure(TTsyReqHandle aTsyReqHandle,CTelObject* aTelObject)
-	{
-	iTsyReqHandle = aTsyReqHandle;
-	iTelObject = aTelObject;
-	iCall = REINTERPRET_CAST(CCallMobileFax*,aTelObject);
-	}
-
-CTelObject* CFaxCompletion::TelObject() const
-	{
-	return iTelObject;
-	}
--- a/telephonyserverplugins/multimodetsy/Multimode/ETELFAX.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalAll 
-*/
-
-#ifndef __ETELFAX_H
-#define __ETELFAX_H
-
-#include "et_tsy.h"
-#include "faxstd.h"
-
-#include <faxserv.h>	// new!!
-
-//
-//	CFaxCompletion class is used by Fax Server to complete functions
-//
-class CCallMobileFax;
-class CPhoneGlobals;
-class CTelObject;
-class CFaxCompletion : public MFaxCompletionBase, public CBase
-	{
-public:
-	CFaxCompletion();
-	~CFaxCompletion();
-
-// Rx Fax
-	virtual void RxConnectComplete(TInt aError);
-	virtual void RxFaxDataComplete(TInt aError);
-	virtual void RxPostPageComplete(TInt aError);
-
-// Tx Fax
-	virtual void TxConnectComplete(TInt aError);
-	virtual void TxFaxDataComplete(TInt aError);
-	virtual void TxPostPageComplete(TInt aError);
-
-	virtual void GetCadenceAndTimeOfLastRing(TTimeIntervalMicroSeconds& aCadence,TTime& aTime);
-public:
-	void Configure(TTsyReqHandle aTsyReqHandle,CTelObject* aTelObject);
-	CTelObject* TelObject() const;
-private:
-	TTsyReqHandle iTsyReqHandle;	//	}	Used for client-side synchronous requests
-	CTelObject* iTelObject;			//	}
-	CCallMobileFax* iCall;
-	};
-
-#endif
--- a/telephonyserverplugins/multimodetsy/eabi/MMU.DEF	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/eabi/MMU.DEF	Fri Apr 16 16:12:37 2010 +0300
@@ -1,6 +1,6 @@
 EXPORTS
 	LibEntry @ 1 NONAME
-	_ZTI10CATDialFax @ 2 NONAME ; #<TI>#
+	_ZTI10CATDialFax @ 2 NONAME ABSENT
 	_ZTI10CATSetCBST @ 3 NONAME ; #<TI>#
 	_ZTI10CCallEntry @ 4 NONAME ; #<TI>#
 	_ZTI10CCallHayes @ 5 NONAME ; #<TI>#
@@ -14,17 +14,17 @@
 	_ZTI11CLineMobile @ 13 NONAME ; #<TI>#
 	_ZTI11CNotifyBase @ 14 NONAME ; #<TI>#
 	_ZTI11CPhoneHayes @ 15 NONAME ; #<TI>#
-	_ZTI12CATAnswerFax @ 16 NONAME ; #<TI>#
+	_ZTI12CATAnswerFax @ 16 NONAME ABSENT
 	_ZTI12CATDialVoice @ 17 NONAME ; #<TI>#
 	_ZTI12CATGetSignal @ 18 NONAME ; #<TI>#
 	_ZTI12CATGprsClass @ 19 NONAME ; #<TI>#
-	_ZTI12CATHangUpFax @ 20 NONAME ; #<TI>#
+	_ZTI12CATHangUpFax @ 20 NONAME ABSENT
 	_ZTI12CATQuickInit @ 21 NONAME ; #<TI>#
 	_ZTI12CCommChatter @ 22 NONAME ; #<TI>#
 	_ZTI12CGprsContext @ 23 NONAME ; #<TI>#
 	_ZTI12CPhoneMobile @ 24 NONAME ; #<TI>#
 	_ZTI13CATAnswerData @ 25 NONAME ; #<TI>#
-	_ZTI13CATConnectFax @ 26 NONAME ; #<TI>#
+	_ZTI13CATConnectFax @ 26 NONAME ABSENT
 	_ZTI13CATGetBattery @ 27 NONAME ; #<TI>#
 	_ZTI13CATGprsAttach @ 28 NONAME ; #<TI>#
 	_ZTI13CATGprsDetach @ 29 NONAME ; #<TI>#
@@ -40,9 +40,9 @@
 	_ZTI14CATNetworkInfo @ 39 NONAME ; #<TI>#
 	_ZTI14CATSmsCommands @ 40 NONAME ; #<TI>#
 	_ZTI14CATWaitForCall @ 41 NONAME ; #<TI>#
-	_ZTI14CCallMobileFax @ 42 NONAME ; #<TI>#
-	_ZTI14CFaxCompletion @ 43 NONAME ; #<TI>#
-	_ZTI14CLineMobileFax @ 44 NONAME ; #<TI>#
+	_ZTI14CCallMobileFax @ 42 NONAME ABSENT
+	_ZTI14CFaxCompletion @ 43 NONAME ABSENT
+	_ZTI14CLineMobileFax @ 44 NONAME ABSENT
 	_ZTI14CMobileONStore @ 45 NONAME ; #<TI>#
 	_ZTI14CNotifications @ 46 NONAME ; #<TI>#
 	_ZTI14CSetLineToIdle @ 47 NONAME ; #<TI>#
@@ -127,8 +127,8 @@
 	_ZTI7CATBase @ 126 NONAME ; #<TI>#
 	_ZTI7CATInit @ 127 NONAME ; #<TI>#
 	_ZTI8CGprsQoS @ 128 NONAME ; #<TI>#
-	_ZTI9CFaxHayes @ 129 NONAME ; #<TI>#
-	_ZTV10CATDialFax @ 130 NONAME ; #<VT>#
+	_ZTI9CFaxHayes @ 129 NONAME ABSENT
+	_ZTV10CATDialFax @ 130 NONAME ABSENT
 	_ZTV10CATSetCBST @ 131 NONAME ; #<VT>#
 	_ZTV10CCallEntry @ 132 NONAME ; #<VT>#
 	_ZTV10CCallHayes @ 133 NONAME ; #<VT>#
@@ -142,17 +142,17 @@
 	_ZTV11CLineMobile @ 141 NONAME ; #<VT>#
 	_ZTV11CNotifyBase @ 142 NONAME ; #<VT>#
 	_ZTV11CPhoneHayes @ 143 NONAME ; #<VT>#
-	_ZTV12CATAnswerFax @ 144 NONAME ; #<VT>#
+	_ZTV12CATAnswerFax @ 144 NONAME ABSENT
 	_ZTV12CATDialVoice @ 145 NONAME ; #<VT>#
 	_ZTV12CATGetSignal @ 146 NONAME ; #<VT>#
 	_ZTV12CATGprsClass @ 147 NONAME ; #<VT>#
-	_ZTV12CATHangUpFax @ 148 NONAME ; #<VT>#
+	_ZTV12CATHangUpFax @ 148 NONAME ABSENT
 	_ZTV12CATQuickInit @ 149 NONAME ; #<VT>#
 	_ZTV12CCommChatter @ 150 NONAME ; #<VT>#
 	_ZTV12CGprsContext @ 151 NONAME ; #<VT>#
 	_ZTV12CPhoneMobile @ 152 NONAME ; #<VT>#
 	_ZTV13CATAnswerData @ 153 NONAME ; #<VT>#
-	_ZTV13CATConnectFax @ 154 NONAME ; #<VT>#
+	_ZTV13CATConnectFax @ 154 NONAME ABSENT
 	_ZTV13CATGetBattery @ 155 NONAME ; #<VT>#
 	_ZTV13CATGprsAttach @ 156 NONAME ; #<VT>#
 	_ZTV13CATGprsDetach @ 157 NONAME ; #<VT>#
@@ -168,9 +168,9 @@
 	_ZTV14CATNetworkInfo @ 167 NONAME ; #<VT>#
 	_ZTV14CATSmsCommands @ 168 NONAME ; #<VT>#
 	_ZTV14CATWaitForCall @ 169 NONAME ; #<VT>#
-	_ZTV14CCallMobileFax @ 170 NONAME ; #<VT>#
-	_ZTV14CFaxCompletion @ 171 NONAME ; #<VT>#
-	_ZTV14CLineMobileFax @ 172 NONAME ; #<VT>#
+	_ZTV14CCallMobileFax @ 170 NONAME ABSENT
+	_ZTV14CFaxCompletion @ 171 NONAME ABSENT
+	_ZTV14CLineMobileFax @ 172 NONAME ABSENT
 	_ZTV14CMobileONStore @ 173 NONAME ; #<VT>#
 	_ZTV14CNotifications @ 174 NONAME ; #<VT>#
 	_ZTV14CSetLineToIdle @ 175 NONAME ; #<VT>#
@@ -255,5 +255,5 @@
 	_ZTV7CATBase @ 254 NONAME ; #<VT>#
 	_ZTV7CATInit @ 255 NONAME ; #<VT>#
 	_ZTV8CGprsQoS @ 256 NONAME ; #<VT>#
-	_ZTV9CFaxHayes @ 257 NONAME ; #<VT>#
+	_ZTV9CFaxHayes @ 257 NONAME ABSENT
 
--- a/telephonyserverplugins/multimodetsy/group/mmtsy.mmp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/group/mmtsy.mmp	Fri Apr 16 16:12:37 2010 +0300
@@ -31,7 +31,7 @@
 SOURCEPATH	../Multimode
 SOURCE	      Mbattery.cpp mPHBKCOM.CPP Mphbook.cpp mPHONE.CPP 
 SOURCE	      Msignal.cpp mSLOGGER.CPP Mphbkinf.cpp
-SOURCE	      ETELFAX.CPP mnetwork.cpp Mimsi.cpp Mownnum.cpp monstore.cpp
+SOURCE	      mnetwork.cpp Mimsi.cpp Mownnum.cpp monstore.cpp
 
 SOURCEPATH    ../Multimode/sms
 SOURCE	      mSMSCSCA.CPP
@@ -48,7 +48,7 @@
 SOURCE        ATIO.CPP CALL.CPP LINE.CPP PHONE.CPP NOTIFY.CPP
 SOURCE        ATINIT.CPP ATANSWER.CPP ATCONNCT.CPP
 SOURCE        ATNOCARR.CPP ATERROR.CPP ATESCAPE.CPP ATO.CPP
-SOURCE	      ATWAIT.CPP FAX.CPP SCHAT.CPP
+SOURCE	      ATWAIT.CPP SCHAT.CPP
 SOURCE        SCOMM.CPP TSYCONFG.CPP PHONEFAC.CPP panic.cpp
 SOURCE        set_cbst.cpp
 
@@ -64,7 +64,7 @@
 USERINCLUDE   ../Multimode
 USERINCLUDE   ../Multimode/sms
 USERINCLUDE   ../Multimode/gprs
-USERINCLUDE   ../../../fax/faxclientandserver/FAXSVR
+
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 USERINCLUDE ../hayes
 
--- a/telephonyserverplugins/multimodetsy/group/telephony_mmtsy.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/group/telephony_mmtsy.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_mmtsy
 source	\sf\os\cellularsrv\telephonyserverplugins\multimodetsy
 binary	\sf\os\cellularsrv\telephonyserverplugins\multimodetsy\group	all
--- a/telephonyserverplugins/multimodetsy/hayes/ATANSWER.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATANSWER.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -481,72 +481,3 @@
 	CATDataCallConnectCommands::Complete(aError,aSource);
 	}
 
-//
-//	CATAnswerFax
-//
-
-CATAnswerFax* CATAnswerFax::NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-	{
-	CATAnswerFax* answer=new(ELeave) CATAnswerFax(aIo, aTelObject, aInit,aPhoneGlobals);
-	CleanupStack::PushL(answer);
-	answer->ConstructL();
-	CleanupStack::Pop();
-	return answer;
-	}
-
-CATAnswerFax::CATAnswerFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-											: CATFaxCallConnectCommands(aIo,aTelObject,aInit,aPhoneGlobals)
-	{}
-
-CATAnswerFax::~CATAnswerFax()
-	{}
-
-void CATAnswerFax::Start(TTsyReqHandle aTsyReqHandle, TAny* /*aParams*/)
-	{
-	LOGTEXT(_L8("Starting Answer fax call"));
-//	CATFaxCallConnectCommands::Start(aTsyReqHandle,aParams);	
-
-	//-- the change made by Dmitry Lyokhin. PIA-586KGE defect fix
-	//-- CATFaxCallConnectCommands::Start(); starts answering a fax call from sending 
-	//-- init strings to the modem that occassionally causes a collision with incoming "+CRING".
-	//-- now state machine starts with EATCallInitCompleted state that does nothing.
-
-	iReqHandle=aTsyReqHandle;
-	__ASSERT_ALWAYS(iIo->AddExpectString(this,KNotifyMeIfErrorString) != NULL, Panic(EGeneral));
-	
-	iPreConnectState=CATCallConnectCommands::EATCallInitCompleted; 
-
-	LOGTEXT2(_L8("-CATAnswerFax::Start, iPreConnectState=%d"), iPreConnectState);
-
-	EventSignal(EReadCompletion);	// EReadCompletion is a dummy enum here
-	}
-
-void CATAnswerFax::Stop(TTsyReqHandle aTsyReqHandle)
-//
-//	If still doing pre-answer command, cancel that, otherwise tell the fax server to cancel
-//
-	{
-	LOGTEXT(_L8("Cancelling Answer Fax Call Command"));
-	CATFaxCallConnectCommands::Stop(aTsyReqHandle);
-	}
-
-void CATAnswerFax::EventSignal(TEventSource aSource)
-	{
-	if((aSource==ETimeOutCompletion)
-		&&(iPreConnectState!=EATWaitForATCheckOK))
-		{
-		LOGTEXT(_L8("Timeout Error during Answer"));
-		Complete(KErrTimedOut,aSource);
-		return;
-		}
-	if (iPreConnectState!=CATCallConnectCommands::EATInitCompleted
-		&& iPreConnectState!=CATCallConnectCommands::ENotInProgress)
-		{
-		CATCallConnectCommands::PreConnectEventSignal(aSource);
-		}
-	}
-
-void CATAnswerFax::CompleteSuccessfully()
-	{
-	REINTERPRET_CAST(CCallMobileFax*,iTelObject)->FaxAnswer(iReqHandle);	
-	}
--- a/telephonyserverplugins/multimodetsy/hayes/ATANSWER.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATANSWER.H	Fri Apr 16 16:12:37 2010 +0300
@@ -92,21 +92,6 @@
 		} iState;
 	};
 
-class CCallMobileFax;
-class CATAnswerFax : public CATFaxCallConnectCommands
-/**
-@internalComponent
-*/
-	{
-public:
-	static CATAnswerFax* NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-	~CATAnswerFax();
-	void Start(TTsyReqHandle aTsyReqHandle, TAny* aParams);
-	void Stop(TTsyReqHandle aTsyReqHandle);
-protected:
-	CATAnswerFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-	virtual void EventSignal(TEventSource aSource);
-	virtual void CompleteSuccessfully();
-	};
+
 
 #endif
--- a/telephonyserverplugins/multimodetsy/hayes/ATCALL.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATCALL.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -744,11 +744,7 @@
 		iPreConnectState=ECancelling;
 		AddStdExpectStrings();
 		}
-	else
-		{
-		CCallMobileFax* faxCall = REINTERPRET_CAST(CCallMobileFax*,iTelObject);
-		faxCall->FaxCancelCommand(aTsyReqHandle);
-		}
+
 	}
 
 void CATFaxCallConnectCommands::Complete(TInt aError,TEventSource aSource)
--- a/telephonyserverplugins/multimodetsy/hayes/ATCONNCT.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATCONNCT.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -244,57 +244,4 @@
 		}
 	}
 
-//
-//	CATConnectFax
-//
 
-CATConnectFax* CATConnectFax::NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-	{
-	CATConnectFax* connect=new(ELeave) CATConnectFax(aIo, aTelObject, aInit,aPhoneGlobals);
-	CleanupStack::PushL(connect);
-	connect->ConstructL();
-	CleanupStack::Pop();
-	return connect;
-	}
-
-CATConnectFax::CATConnectFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-											: CATFaxCallConnectCommands(aIo,aTelObject,aInit,aPhoneGlobals)
-	{}
-
-CATConnectFax::~CATConnectFax()
-	{}
-
-void CATConnectFax::Start(TTsyReqHandle aTsyReqHandle, TAny* aParams)
-	{
-	LOGTEXT(_L8("Starting immediate connect fax call"));
-	CATFaxCallConnectCommands::Start(aTsyReqHandle,aParams);	
-	}
-
-void CATConnectFax::Stop(TTsyReqHandle aTsyReqHandle)
-	{
-	LOGTEXT(_L8("Cancelling Connect Fax Call Command"));
-	CATFaxCallConnectCommands::Stop(aTsyReqHandle);
-	}
-
-void CATConnectFax::EventSignal(TEventSource aSource)
-	{
-	if((aSource==ETimeOutCompletion)
-		&&(iPreConnectState!=EATWaitForATCheckOK))
-		{
-		LOGTEXT(_L8("Timeout Error during Connect"));
-		Complete(KErrTimedOut,aSource);
-		return;
-		}
-
-	if (iPreConnectState!=CATCallConnectCommands::EATInitCompleted
-		&& iPreConnectState!=CATCallConnectCommands::ENotInProgress)
-		{
-		CATCallConnectCommands::PreConnectEventSignal(aSource);
-		}
-	}
-
-void CATConnectFax::CompleteSuccessfully()
-	{
-	REINTERPRET_CAST(CCallMobileFax*,iTelObject)->FaxConnect(iReqHandle);	
-	}
-
--- a/telephonyserverplugins/multimodetsy/hayes/ATCONNCT.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATCONNCT.H	Fri Apr 16 16:12:37 2010 +0300
@@ -57,20 +57,5 @@
 	TBuf8<KCommsDbSvrMaxFieldLength> iNoDialToneString;
 	};
 
-class CATConnectFax : public CATFaxCallConnectCommands
-/**
-@internalComponent
-*/
-	{
-public:
-	static CATConnectFax* NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-	~CATConnectFax();
-	virtual void Start(TTsyReqHandle aTsyReqHandle, TAny* aParams);
-	virtual void Stop(TTsyReqHandle aTsyReqHandle);
-protected:
-	CATConnectFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-	virtual void EventSignal(TEventSource aSource);
-	virtual void CompleteSuccessfully();
-	};
 
 #endif
--- a/telephonyserverplugins/multimodetsy/hayes/ATDIAL.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATDIAL.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -774,63 +774,3 @@
 
 	return EFalse;		// We were unable to send a +CBST string 
 	}
-
-
-
-//
-//	CATDialFax
-//
-
-CATDialFax*	 CATDialFax::NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-	{
-	CATDialFax* dial=new(ELeave) CATDialFax(aIo, aTelObject, aInit,aPhoneGlobals);
-	CleanupStack::PushL(dial);
-	dial->ConstructL();
-	CleanupStack::Pop();
-	return dial;
-	}
-
-CATDialFax::CATDialFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-											: CATFaxCallConnectCommands(aIo,aTelObject,aInit,aPhoneGlobals)
-	{}
-
-CATDialFax::~CATDialFax()
-	{
-	iIo->WriteAndTimerCancel(this);	
-	}
-
-void CATDialFax::Start(TTsyReqHandle aTsyReqHandle, TAny* aParams)
-	{
-	LOGTEXT(_L8("Starting dial fax call command"));
-	iTelnum=REINTERPRET_CAST(TDesC*,aParams);
-	CATFaxCallConnectCommands::Start(aTsyReqHandle,aParams);
-	}
-
-void CATDialFax::Stop(TTsyReqHandle aTsyReqHandle)
-	{
-	LOGTEXT(_L8("Cancelling Dial Fax Call Command"));
-	CATFaxCallConnectCommands::Stop(aTsyReqHandle);
-	}
-
-void CATDialFax::EventSignal(TEventSource aSource)
-	{
-	if((aSource==ETimeOutCompletion)
-		&&(iPreConnectState!=EATWaitForATCheckOK))
-		{
-		LOGTEXT(_L8("Timeout Error during Dial"));
-		Complete(KErrTimedOut,aSource);
-		return;
-		}
-
-	if (iPreConnectState!=CATCallConnectCommands::EATInitCompleted
-		&& iPreConnectState!=CATCallConnectCommands::ENotInProgress)
-		{
-		CATCallConnectCommands::PreConnectEventSignal(aSource);
-		}
-	}
-
-void CATDialFax::CompleteSuccessfully()
-	{
-	REINTERPRET_CAST(CCallMobileFax*,iTelObject)->FaxDial(iReqHandle,iTelnum);	
-	}
-
--- a/telephonyserverplugins/multimodetsy/hayes/ATDIAL.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATDIAL.H	Fri Apr 16 16:12:37 2010 +0300
@@ -138,26 +138,4 @@
 	};
 
 
-class CCallMobileFax;
-class CATDialFax : public CATFaxCallConnectCommands
-/**
-@internalComponent
-*/
-	{
-public:
-	static CATDialFax* NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-	~CATDialFax();
-
-private:
-	CATDialFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-
-	// CATCommands inherited stuff
-	virtual void Start(TTsyReqHandle aTsyReqHandle, TAny* aParams);
-	virtual void Stop(TTsyReqHandle aTsyReqHandle);
-	virtual void EventSignal(TEventSource aSource);
-	virtual void CompleteSuccessfully();
-private:
-	TDesC* iTelnum;
-	};
-
 #endif
--- a/telephonyserverplugins/multimodetsy/hayes/ATHANGUP.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATHANGUP.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -487,53 +487,3 @@
 		}	
 	iState=EATNotInProgress;
 	}
-
-//
-//	CATHangUpFax
-//
-
-CATHangUpFax* CATHangUpFax::NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-	{
-	CATHangUpFax* hangup=new(ELeave) CATHangUpFax(aIo, aTelObject, aInit,aPhoneGlobals);
-	CleanupStack::PushL(hangup);
-	hangup->ConstructL();
-	CleanupStack::Pop();
-	return hangup;
-	}
-
-CATHangUpFax::CATHangUpFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-											: CATCallAlterCommands(aIo,aTelObject,aInit,aPhoneGlobals)
-	{}
-
-CATHangUpFax::~CATHangUpFax()
-	{}
-
-void CATHangUpFax::Start(TTsyReqHandle aTsyReqHandle, TAny* /*aParams*/)
-//
-//	When a fax call is terminated, modem is set to not initialised so that if a data call
-//  follows it will initialise the modem again.
-//
-	{
-	LOGTEXT(_L8("Starting HangUp fax call"));
-	iReqHandle=aTsyReqHandle;
-	iPhoneGlobals->iNotificationStore->CheckNotification(REINTERPRET_CAST(CCallBase*,iTelObject),EBegunHangingUp);
-	CCallMobileFax* faxCall = REINTERPRET_CAST(CCallMobileFax*,iTelObject);
-//	iPhoneGlobals->iPhoneStatus.iInitStatus = EPhoneNotInitialised;
-	faxCall->FaxHangUp(aTsyReqHandle);
-	}
-
-void CATHangUpFax::Stop(TTsyReqHandle aTsyReqHandle)
-//
-//	Too late to stop hang up process here. Only hope is if escape sequence or init sequence
-//	had to be performed first
-//
-	{
-	__ASSERT_ALWAYS(aTsyReqHandle == iReqHandle,Panic(EIllegalTsyReqHandle));
-	LOGTEXT(_L8("Too late to cancel Hang Up Command"));
-	}
-
-void CATHangUpFax::EventSignal(TEventSource /*aSource*/)
-	{}
-
-void CATHangUpFax::Complete(TInt /*aError*/,TEventSource /*aSource*/)
-	{}
--- a/telephonyserverplugins/multimodetsy/hayes/ATHANGUP.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/ATHANGUP.H	Fri Apr 16 16:12:37 2010 +0300
@@ -84,22 +84,4 @@
 		EHangUpCancelling
 		} iState;
 	};
-
-class CCallMobileFax;
-class CATHangUpFax : public CATCallAlterCommands
-/**
-@internalComponent
-*/
-	{
-public:
-	static CATHangUpFax* NewL(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-	~CATHangUpFax();
-	virtual void Start(TTsyReqHandle aTsyReqHandle, TAny* aParams);
-	virtual void Stop(TTsyReqHandle aTsyReqHandle);
-protected:
-	CATHangUpFax(CATIO* aIo, CTelObject* aTelObject,CATInit* aInit,CPhoneGlobals* aPhoneGlobals);
-	virtual void EventSignal(TEventSource aSource);
-	virtual void Complete(TInt aError,TEventSource aSource);
-	};
-
 #endif
--- a/telephonyserverplugins/multimodetsy/hayes/CALL.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/CALL.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -16,7 +16,6 @@
 #include <commsdattypesv1_1.h>
 #include "CALL.H"		// Header file for this source file
 #include "NOTIFY.H"
-#include "FAX.H"
 #include "ATDIAL.H"
 #include "ATANSWER.H"
 #include "ATCONNCT.H"
@@ -34,8 +33,6 @@
 #include "set_cbst.h"		// for CATSetCBST class
 #include "et_struct.h"
 
-_LIT(KFaxServerName,"FaxSvr.dll");
-
 
 //
 // CAcquireEntry class
@@ -2051,713 +2048,3 @@
 	ReqCompleted(aTsyReqHandle,KErrNone);
 	return KErrNone;
 	}
-
-// local function needed below
-
-LOCAL_C void SetFaxSessionSettings(RCall::TFaxSessionSettings& aTrg, const RCall::TFaxSessionSettings& aSrc)
-	{
-	aTrg.iMode=aSrc.iMode;
-	aTrg.iFaxRetrieveType=aSrc.iFaxRetrieveType;
-	aTrg.iFaxClass=aSrc.iFaxClass;
-	aTrg.iFaxId=aSrc.iFaxId;
-	aTrg.iMaxSpeed=aSrc.iMaxSpeed;
-	aTrg.iMinSpeed=aSrc.iMinSpeed;
-	aTrg.iPreferredECM=aSrc.iPreferredECM;
-	aTrg.iFaxOnDemandDelay=aSrc.iFaxOnDemandDelay;
-	aTrg.iTxResolution=aSrc.iTxResolution;
-	aTrg.iTxCompression=aSrc.iTxCompression;
-	aTrg.iTxPages=aSrc.iTxPages;
-	aTrg.iRxResolution=aSrc.iRxResolution;
-	aTrg.iRxResolution=aSrc.iRxResolution;
-	}
-
-//
-//	CCallMobileFax - fax call functionality
-//	At construction, phone init sequence may not have yet determined phone's capabilities so
-//	create object anyway and check in the function calls whether fax is supported by phone
-//
-
-CCallMobileFax* CCallMobileFax::NewL(CATIO* aATIO,CATInit* aInit,CPhoneGlobals* aPhoneGlobals,const TName& aName)
-	{
-	CCallMobileFax* faxCall=new(ELeave) CCallMobileFax(aATIO,aInit,aPhoneGlobals);
-	TCleanupItem newCallFaxHayesClose(CloseCall,faxCall);
-	CleanupStack::PushL(newCallFaxHayesClose);
-	faxCall->ConstructL(aName);
-	CleanupStack::Pop();
-	return faxCall;
-	}
-
-CCallMobileFax::CCallMobileFax(CATIO* aATIO,CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-	: CCallMobile(aATIO,aInit,aPhoneGlobals),iFaxSession(NULL),iFax(NULL)
-	{}
-
-void CCallMobileFax::ConstructL(const TName& aName)
-	{
-	CCallHayes::ConstructL(aName);
-	iCallInfo.iLineOwnerName = KFaxLineName;
-	iDialFax=CATDialFax::NewL(iIo,this,iInit,iPhoneGlobals);
-	iConnectFax=CATConnectFax::NewL(iIo,this,iInit,iPhoneGlobals);
-	iAnswerFax=CATAnswerFax::NewL(iIo,this,iInit,iPhoneGlobals);
-	iHangUpFax=CATHangUpFax::NewL(iIo,this,iInit,iPhoneGlobals);
-	iFaxSettings.iMode = RCall::ETransmit;
-	iFaxSettings.iFaxRetrieveType = RCall::EFaxOnDemand;
-	iFaxSettings.iFaxClass = EClassAuto;
-	iFaxSettings.iMaxSpeed = 9600;
-	iFaxSettings.iMinSpeed = 2400;
-	iFaxSettings.iPreferredECM = EFalse;
-	iFaxSettings.iFaxOnDemandDelay = 20;
-	iFaxSettings.iTxResolution = EFaxNormal;
-	iFaxSettings.iTxCompression = EModifiedHuffman;
-	iFaxSettings.iTxPages = 0;
-	iFaxSettings.iRxResolution = EFaxNormal;
-	iFaxSettings.iRxCompression = EModifiedHuffman;
-	iFaxCompletion = new (ELeave) CFaxCompletion();
-	iFaxProgress=CreateFaxProgressChunk();
-	if(iFaxProgress==NULL)
-		User::Leave(KErrEtelFaxChunkNotCreated);
-	}
-
-CCallMobileFax::~CCallMobileFax()
-//
-//	Removes itself from array of calls in CLineMobileData
-//
-	{
-	__ASSERT_DEBUG(iFaxSession==NULL,Panic(EFaxServerNotNull));
-	DeleteFaxProgressChunk();		// This deallocates the memory pointed to by iFaxProgress
-	delete iDialFax;
-	delete iConnectFax;
-	delete iAnswerFax;
-	delete iHangUpFax;	
-	delete iFaxCompletion;
-	delete iFileHandles;
-	}
-
-void CCallMobileFax::CollateCoreCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCallCaps)
-	{
-	*aCallCaps = RCall::KCapsFax;
-	if (ValidateFaxClass(iFaxSettings.iFaxClass)==KErrNone
-		 && (!(REINTERPRET_CAST(CLineMobileFax*,Owner())->iFaxOpened==TRUE && iFax==NULL))
-		 && iPhoneGlobals->iPhoneStatus.iModemDetected==RPhone::EDetectedPresent)
-		 //	check that fax class is OK and that no other fax call has opened a fax object
-		{
-		TCallOwnership owner = CheckOwnership(aTsyReqHandle);
-		if (ValidateRequest(aTsyReqHandle,RCall::EStatusIdle)==KErrNone)
-			*aCallCaps |= (RCall::KCapsDial | RCall::KCapsConnect);
-		TInt ret=KErrNone;
-		if (owner==CCallBase::EOwnedFalse)	// call owned by another client
-			ret=KErrEtelNotCallOwner;
-		else 
-			{
-			if (!iIsForIncomingCall)	
-				{
-				if (REINTERPRET_CAST(CPhoneHayes*,Owner()->Owner())->CheckForOutstandingAnswer())
-					ret=KErrEtelAnswerAlreadyOutstanding;
-				}
-			else
-				ret=KErrEtelAnswerAlreadyOutstanding;
-			}
-		if (ret==KErrNone && (iCallInfo.iMobileStatus==RMobileCall::EStatusIdle || iCallInfo.iMobileStatus==RMobileCall::EStatusRinging))
-			*aCallCaps |= RCall::KCapsAnswer;
-		if (owner==CCallBase::EOwnedTrue && iCallInfo.iMobileStatus==RMobileCall::EStatusConnected)
-			{
-			*aCallCaps |= RCall::KCapsHangUp;
-			}
-		}
-	}
-
-TInt CCallMobileFax::OpenFax(TDesC* aTelNumber,TFaxMode aFaxMode)
-//
-//	Open CETelFaxHayes object with desired settings
-//
-	{
-	TFaxServerSessionSettings faxSettings;
-	faxSettings.iPhoneNumber.Copy(*aTelNumber);
-	faxSettings.iLogging = ETrue;
-	TInt ret = iPhoneGlobals->iConfiguration->ConfigModemString(TPtrC(KCDTypeNameFaxInitString),faxSettings.iFaxInitString);
-	if (!ret)
-		{
-		ret = iPhoneGlobals->iConfiguration->ConfigModemString(TPtrC(KCDTypeNameCsyName),faxSettings.iPortDriverName);
-		}
-	if (!ret)
-		{
-		ret = iPhoneGlobals->iConfiguration->ConfigModemString(TPtrC(KCDTypeNamePortName),faxSettings.iCommPortName);
-		}
-	if (ret)
-		return ret;
-	if(faxSettings.iFaxInitString.Length()==0)
-		faxSettings.iFaxInitString=KAT2Command;			
-	faxSettings.iMode = aFaxMode;
-	faxSettings.iFaxClass = iFaxSettings.iFaxClass;
-	faxSettings.iFaxId = iFaxSettings.iFaxId;
-	faxSettings.iMaxSpeed = iFaxSettings.iMaxSpeed;
-	faxSettings.iMinSpeed = iFaxSettings.iMinSpeed;
-	faxSettings.iPreferredECM = iFaxSettings.iPreferredECM;
-	faxSettings.iFaxOnDemandDelay = iFaxSettings.iFaxOnDemandDelay;
-	faxSettings.iTxResolution = iFaxSettings.iTxResolution;
-	faxSettings.iTxCompression = iFaxSettings.iTxCompression;
-	faxSettings.iTxPages = iFaxSettings.iTxPages;
-	faxSettings.iRxResolution = iFaxSettings.iRxResolution;
-	faxSettings.iRxCompression = iFaxSettings.iRxCompression;
-	return iFaxSession->FxOpen(faxSettings,iFaxProgress);
-	}
-
-TInt CCallMobileFax::ValidateFaxClass(TFaxClass& aFaxClass)
-	{
-	if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & KFaxCaps) == 0)
-		{
-		return KErrNotSupported;
-		}
-	switch (aFaxClass)
-		{
-	case EClassAuto:		// TSY decides what class "AUTO" refers to!
-		{
-		if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassTwoPointZero))
-			aFaxClass =  EClass2point0;
-		else if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassTwo)) 
-			aFaxClass = EClass2;
-		else if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassOne))
-			aFaxClass = EClass1;
-		break;
-		}
-	case EClass1:
-		if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassOne)==0)
-			return KErrEtelWrongModemType;
-		break;
-	case EClass1point0:
-		if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassOnePointZero)==0)
-			return KErrEtelWrongModemType;
-		break;
-	case EClass2:
-		if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassTwo)==0)
-			return KErrEtelWrongModemType;
-		break;
-	case EClass2point0:
-		if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassTwoPointZero)==0)
-			return KErrEtelWrongModemType;
-		break;
-	case EClass2point1:
-		if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & RPhone::KCapsFaxClassTwoPointOne)==0)
-			return KErrEtelWrongModemType;
-		break;
-	default:
-		return KErrEtelWrongModemType;
-		}
-	return KErrNone;
-	}
-
-typedef CFaxSession* (*TFaxServerEntry)();
-void CCallMobileFax::GetFaxBaseL()
-	{
-	__ASSERT_DEBUG(iFaxCompletion,Panic(EFaxCompletionPtrNull));
-	RFs fs;
-	(void)User::LeaveIfError(fs.Connect());
-
-	TInt r=iFaxServerLib.Load(KFaxServerName);
-	if (r==KErrNone)
-		{
-		// Check the Uid2
-#if defined (_UNICODE)
-		if(iFaxServerLib.Type()[1]!=TUid::Uid(KUidUnicodeDynamicFaxServer))
-			r = KErrBadLibraryEntryPoint;
-#else
-		if(iFaxServerLib.Type()[1]!=TUid::Uid(KUidDynamicFaxServer))
-			r = KErrBadLibraryEntryPoint;
-#endif
-		if (r==KErrNone)
-			{	
-			TFaxServerEntry libEntry=(TFaxServerEntry)iFaxServerLib.Lookup(1);
-			if (libEntry!=NULL)
-				{
-				TRAP(r,iFaxSession=(*libEntry)());	// libEntry may leave.
-				if (r==KErrNone)
-					{
-					LOGTEXT(_L8("Loaded Fax Server"));
-					iFaxSession->SetCallBack(iFaxCompletion);
-					}
-				else
-					iFaxServerLib.Close();
-				}
-			else
-				{
-				r = KErrBadLibraryEntryPoint;
-				iFaxServerLib.Close();
-				}
-			}
-		else
-			iFaxServerLib.Close();
-		}
-	fs.Close();
-	(void)User::LeaveIfError(r);
-	}
-
-TInt CCallMobileFax::FaxConnectHandler(const TTsyReqHandle aTsyReqHandle)
-	{
-	TInt ret = ValidateFaxClass(iFaxSettings.iFaxClass);
-	if (ret!=KErrNone)
-		{
-		(void)SetUnowned();
-		ReqCompleted(aTsyReqHandle,ret);
-		return ret;
-		}
-	if (REINTERPRET_CAST(CLineMobileFax*,Owner())->iFaxOpened==TRUE && iFax==NULL)
-		{
-		(void)SetUnowned();
-		ReqCompleted(aTsyReqHandle,KErrEtelNotFaxOwner);
-		return ret;
-		}
-	
-	TRAPD(res,GetFaxBaseL());
-	if (res!=KErrNone)
-		{
-		(void)SetUnowned();
-		ReqCompleted(aTsyReqHandle,res);
-		}
-	iPhoneGlobals->iEventSignalActive = EFalse; 
-	return res;
-	}
-
-void CCallMobileFax::FaxDial(const TTsyReqHandle aTsyReqHandle,TDesC* aTelNumber)
-//
-//	Called once any initialising has been done. Checks here that modem supports fax,
-//	and that no other CCallHayes has opened a fax object
-//
-	{
-	if (FaxConnectHandler(aTsyReqHandle)!=KErrNone)	// ReqCompleted is called inside FaxConnectHandler
-													// if there is an error
-		return;
-	TFaxMode faxMode;
-	if (iFaxSettings.iMode==RCall::ETransmit)
-		{
-		faxMode = EDialAndTransmit;
-		}
-	else	// we're receiving
-		{
-		if (iFaxSettings.iFaxRetrieveType==RCall::EFaxPoll)
-			faxMode = EDialAndReceivePoll;
-		else 
-			faxMode = EDialAndReceiveFaxBack;
-		}
-	TInt res = OpenFax(aTelNumber,faxMode);
-	if (res!=KErrNone)	// make sure cleaned up.
-		{
-		ReqCompleted(aTsyReqHandle,res);
-		return;
-		}
-	ChangeLineStatus(RCall::EStatusDialling);
-	// EStatusDialling always results in KErrNone return
-	(void) ChangeCallStatus(RMobileCall::EStatusDialling);
-	iPhoneGlobals->iNotificationStore->CheckNotification(this,EBegunConnecting);
-	iFaxCompletion->Configure(aTsyReqHandle,this);
-	iIo->Cancel();
-	iPhoneGlobals->iPhoneStatus.iPortAccess = EPortAccessDenied; // so CATIO won't queue a read
-	
-	if (faxMode == EDialAndTransmit)
-		{
-		LOGTEXT(_L8("About to call CETelFaxBase::TxConnect"));
-		//this transfers ownership of the file handles object to the fax session object.
-		iFaxSession->SetFaxHeaderFile(iFileHandles);
-		//we now aren't resonsible for its deletion.
-		iFileHandles = NULL;
-		iFaxSession->TxConnect();
-		}
-	else
-		{
-		LOGTEXT(_L8("About to call CETelFaxBase::RxConnect"));
-		iFaxSession->RxConnect();
-		}
-	}
-
-TInt CCallMobileFax::Dial(const TTsyReqHandle aTsyReqHandle,const TDesC8* aCallParams,TDesC* aTelNumber)
-//
-//	Dial a fax call
-//	Check that call is not owned by another client, and line is idle  
-//
-	{
-	TInt ret = ValidateRequest(aTsyReqHandle,RCall::EStatusIdle);
-	if (ret==KErrNone)
-		{
-		(void)SetOwnership(aTsyReqHandle);
-		SetCallParams(aCallParams);
-		LOGTEXT(_L8("FaxCall:\tSubmitting Dial Command"));
-		iDialFax->ExecuteCommand(aTsyReqHandle,aTelNumber,&iCallInfo);
-		}
-	else
-		ReqCompleted(aTsyReqHandle,ret);
-	return KErrNone;
-	}
-
-void CCallMobileFax::FaxCancelCommand(const TTsyReqHandle aTsyReqHandle)
-//
-//	Cancels the fax session (for ConnectCancel and AnswerCancel as well)
-//
-	{
-	LOGTEXT(_L8("FaxCall:\tCancel Fax call and Unload module"));
-	if(!iFaxSession)							// if iFaxSession is NULL
-		{										// then CleanUpFaxServer has already been called
-		LOGTEXT(_L8("FaxCall:\tModule already unloaded, completing..."));
-		ReqCompleted(aTsyReqHandle,KErrCancel);	// so return without further processing
-		return;
-		}
-
-	LOGTEXT(_L8("FaxCall:\tClosing down fax server module"));
-	iFaxSession->Cancel();
-	CleanUpFaxServer();
-	iIo->Read();
-	SetToIdle();
-	ReqCompleted(aTsyReqHandle,KErrCancel);
-	}
-
-TInt CCallMobileFax::DialCancel(const TTsyReqHandle aTsyReqHandle)
-	{
-	LOGTEXT2(_L8("FaxCall:\tDialCancel(%d) called"),aTsyReqHandle);
-	iDialFax->CancelCommand(aTsyReqHandle);
-	return KErrNone;
-	}
-
-void CCallMobileFax::FaxConnect(const TTsyReqHandle aTsyReqHandle)
-//
-//	Called once any initialising has been done. Checks here that modem supports fax.
-//
-	{
-	if (FaxConnectHandler(aTsyReqHandle)!=KErrNone)
-		return;
-	TFaxMode faxMode;
-	if (iFaxSettings.iMode==RCall::ETransmit)
-		faxMode = EImmediateTransmit;
-	else
-		faxMode = EImmediateReceive;
-	TBuf<1> null;
-	null.Zero();
-	TInt res = OpenFax(&null,faxMode);
-	if (res!=KErrNone)
-		{
-		ReqCompleted(aTsyReqHandle,res);
-		return;
-		}
-	ChangeLineStatus(RCall::EStatusConnecting);
-	// EStatusConnecting always returns KErrNone
-	(void)ChangeCallStatus(RMobileCall::EStatusConnecting);
-	iPhoneGlobals->iNotificationStore->CheckNotification(this,EBegunConnecting);
-	iFaxCompletion->Configure(aTsyReqHandle,this);
-	iIo->Cancel();
-	iPhoneGlobals->iPhoneStatus.iPortAccess = EPortAccessDenied; // so CATIO won't queue a read
-	if (faxMode == EImmediateTransmit)
-		iFaxSession->TxConnect();
-	else
-		iFaxSession->RxConnect();
-	}
-
-TInt CCallMobileFax::Connect(const TTsyReqHandle aTsyReqHandle,const TDesC8* aCallParams)
-//
-//	Immediate connect to a fax call
-//	Check that call is not owned by another client, and line is idle  
-//
-	{
-	TInt ret = ValidateRequest(aTsyReqHandle,RCall::EStatusIdle);
-	if (ret==KErrNone)
-		{
-		(void)SetOwnership(aTsyReqHandle);
-		SetCallParams(aCallParams);
-		LOGTEXT(_L8("FaxCall:\tSubmitting Connect Command"));
-		iConnectFax->ExecuteCommand(aTsyReqHandle,NULL,&iCallInfo);
-		}
-	else
-		ReqCompleted(aTsyReqHandle,ret);
-	return KErrNone;
-	}
-
-TInt CCallMobileFax::ConnectCancel(const TTsyReqHandle aTsyReqHandle)
-	{
-	LOGTEXT2(_L8("FaxCall:\tConnectCancel(%d) called"),aTsyReqHandle);
-	iConnectFax->CancelCommand(aTsyReqHandle);
-	return KErrNone;
-	}
-
-void CCallMobileFax::FaxAnswer(const TTsyReqHandle aTsyReqHandle)
-	{
-	if (FaxConnectHandler(aTsyReqHandle)!=KErrNone)
-		return;
-	TFaxMode faxMode;
-	if (iFaxSettings.iMode==RCall::ETransmit)
-		faxMode = EWaitForRingAndTransmit;
-	else
-		faxMode = EWaitForRingAndReceive;
-	TBuf<1> null;
-	null.Zero();
-	TInt res = OpenFax(&null,faxMode);
-	if (res!=KErrNone)
-		{
-		ReqCompleted(aTsyReqHandle,res);
-		return;
-		}
-	LOGTEXT(_L8("FaxCall:\tAnswering Fax call"));
-	ChangeLineStatus(RCall::EStatusAnswering);
-	// EStatusAnswering always results in KerrNone return
-	(void)ChangeCallStatus(RMobileCall::EStatusAnswering);
-	CPhoneHayes* phone=STATIC_CAST(CPhoneHayes*,Owner()->Owner());
-	phone->StopRingCounter();		// RING should no longer come in
-	iPhoneGlobals->iNotificationStore->CheckNotification(this,EBegunConnecting);
-	iFaxCompletion->Configure(aTsyReqHandle,this);
-	iIo->Cancel();
-	iPhoneGlobals->iPhoneStatus.iPortAccess = EPortAccessDenied; // so CATIO won't queue a read
-	if (faxMode == EWaitForRingAndTransmit)
-		iFaxSession->TxConnect();
-	else
-		iFaxSession->RxConnect();
-	}
-
-TInt CCallMobileFax::AnswerIncomingCall(const TTsyReqHandle aTsyReqHandle,const TDesC8* aCallParams)
-//
-//	Answer a fax call
-//
-	{
-	TInt ret=KErrNone;
-	CCallBase::TCallOwnership owned = CheckOwnership(aTsyReqHandle);
-	if (owned==CCallBase::EOwnedFalse)	// call owned by another client
-		{
-		ret=KErrEtelNotCallOwner;
-		}
-	else if (REINTERPRET_CAST(CPhoneHayes*,Owner()->Owner())->CheckForOutstandingAnswer())
-		ret=KErrEtelAnswerAlreadyOutstanding;
-
-	if (ret==KErrNone)
-		{
-		CLineHayes* line = STATIC_CAST(CLineHayes*,Owner());
-		CPhoneHayes* phone=STATIC_CAST(CPhoneHayes*,line->Owner());
-		phone->CancelOtherRingingCall(line);
-		line->FreePreAllocCallIfNecessary();
-		SetCallParams(aCallParams);
-		if (iCallInfo.iMobileStatus==RMobileCall::EStatusRinging)
-			{
-			LOGTEXT(_L8("FaxCall:\tSubmitting Answer Command"));
-			iAnswerFax->ExecuteCommand(aTsyReqHandle,NULL,&iCallInfo);
-			}
-		else	// This call is now a client-designated Incoming Call object.
-			{
-			iIsForIncomingCall=ETrue;
-			iAnswerTsyReqHandle = aTsyReqHandle;
-			}
-		return KErrNone;
-		}
-	ReqCompleted(aTsyReqHandle,ret);
-	return KErrNone;
-	}
-
-TInt CCallMobileFax::AnswerIncomingCallCancel(const TTsyReqHandle aTsyReqHandle)
-//
-//	Cancel the answer command if possible
-//
-	{
-	LOGTEXT2(_L8("FaxCall:\tAnswerCancel(%d) called"),aTsyReqHandle);
-	if (iIsForIncomingCall)
-		{
-		iIsForIncomingCall=EFalse;
-		ReqCompleted(aTsyReqHandle,KErrCancel);
-		}
-	else
-		iAnswerFax->CancelCommand(aTsyReqHandle);
-	return KErrNone;
-	}
-
-void CCallMobileFax::AnswerImmediately()
-	{
-	(void)SetOwnership(iAnswerTsyReqHandle);
-	// EStatusRinging always results in KErrNone return
-	(void)ChangeCallStatus(RMobileCall::EStatusRinging);// new 14/1/99
-	iPhoneGlobals->iNotificationStore->CheckNotification(this,ERingOccurred);
-	iIsForIncomingCall=EFalse;
-	LOGTEXT(_L8("FaxCall:\tSubmitting Answer command"));
-	iAnswerFax->ExecuteCommand(iAnswerTsyReqHandle,NULL,&iCallInfo);
-	}		
-
-void CCallMobileFax::FaxHangUp(const TTsyReqHandle aTsyReqHandle)
-//
-//	Fax server reconfigures port so no need to here.
-//
-	{
-	if (iFaxSession)
-		{
-		// EStatusDisconnecting always results in KErrNone return
-		(void)ChangeCallStatus(RMobileCall::EStatusDisconnecting);
-		ChangeLineStatus(RCall::EStatusHangingUp);
-		iPhoneGlobals->iNotificationStore->CheckNotification(this,EBegunHangingUp);
-		CleanUpFaxServer();
-		iIo->Read();
-		SetToIdle();
-		}
-	ReqCompleted(aTsyReqHandle,KErrNone);
-	}
-
-TInt CCallMobileFax::HangUp(const TTsyReqHandle aTsyReqHandle)
-//
-//	Terminate a fax call. Checks fax capability, call ownership and line status.
-//
-	{
-	if ((iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & KFaxCaps) == 0)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotSupported);
-		return KErrNone;
-		}
-	if (CheckOwnership(aTsyReqHandle)==CCallBase::EOwnedFalse)
-		{
-		ReqCompleted(aTsyReqHandle,KErrEtelNotCallOwner);
-		return KErrNone;
-		}	
-	if (iPhoneGlobals->iPhoneStatus.iLineStatus != RCall::EStatusConnected)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNone);
-		return KErrNone;
-		}
-	LOGTEXT(_L8("FaxCall:\tHanging up"));
-	iHangUpFax->ExecuteCommand(aTsyReqHandle,NULL,&iCallInfo);
-	return KErrNone;
-	}
-
-TInt CCallMobileFax::HangUpCancel(const TTsyReqHandle aTsyReqHandle)
-	{
-	iHangUpFax->CancelCommand(aTsyReqHandle);
-	return KErrNone;
-	}
-
-TInt CCallMobileFax::RelinquishOwnership()
-//
-//	Called by server to tell TSY to either pass ownership on to another interested client
-//	or hang up immediately
-//
-	{
-	LOGTEXT(_L8("FaxCall:\tRelinquish Ownership"));
-	if(iList->iAcquireList.IsEmpty()) 
-		{
-		if (iDialFax->IsPreConnectInProgress()	  ||
-			iConnectFax->IsPreConnectInProgress() ||
-			iAnswerFax->IsPreConnectInProgress())	// fax server has not yet been started
-			{
-			iCallInfo.iClientPanicOccurred = EPanicOccurredWithoutDataPortLoan;
-			return KErrNone;
-			}
-		(void)SetUnowned();
-		TInt ret = KErrNone;
-		if (iCallInfo.iMobileStatus==RMobileCall::EStatusDialling		||
-			 iCallInfo.iMobileStatus==RMobileCall::EStatusConnecting	||
-			 iCallInfo.iMobileStatus==RMobileCall::EStatusAnswering		||
-			 iCallInfo.iMobileStatus==RMobileCall::EStatusConnected		||
-			 iCallInfo.iMobileStatus==RMobileCall::EStatusDisconnecting
-			 )
-			{
-			LOGTEXT(_L8("FaxCall:\tHanging up"));
-			ChangeLineStatus(RCall::EStatusHangingUp);
-			// EStatusDisconnecting always results in KErrNone return
-			(void)ChangeCallStatus(RMobileCall::EStatusDisconnecting);
-			CleanUpFaxServer();
-			ChangeLineStatus(RCall::EStatusIdle);
-			// EStatusIdle always results in KErrNone return
-			(void)ChangeCallStatus(RMobileCall::EStatusIdle);
-			iPhoneGlobals->iPhoneStatus.iMode = RPhone::EModeIdle;
-			iIo->Cancel();
-			TCommConfig aConfigPckg;
-			TInt ret = iPhoneGlobals->iConfiguration->PortConfig(aConfigPckg,EConfigTypeInit);
-			if (ret==KErrNone)
-				ret = iIo->ConfigurePort(aConfigPckg);
-			if (ret)
-				iPhoneGlobals->iPhoneStatus.iInitStatus = EPhoneNotInitialised;
-			else
-				iIo->Read();			// should a read be queued in this case?
-			}
-		RelinquishOwnershipCompleted(ret);
-		return KErrNone;
-		}
-	CAcquireEntry* entry=iList->iAcquireList.First();
-	if (entry) 
-		{
-		(void)SetOwnership(entry->iTsyReqHandle);
-		ReqCompleted(entry->iTsyReqHandle,KErrNone);
-		iList->Remove(entry);
-		}
-	RelinquishOwnershipCompleted(KErrNone);
-	return KErrNone;
-	}
-
-TInt CCallMobileFax::GetFaxSettings(const TTsyReqHandle aTsyReqHandle,RCall::TFaxSessionSettings* aSettings)
-//
-//	Which are stored privately in CCallMobileFax
-//
-	{	
-	LOGTEXT(_L8("FaxCall:\tGetting fax settings"));
-	SetFaxSessionSettings(*aSettings,iFaxSettings);
-	ReqCompleted(aTsyReqHandle,KErrNone);
-	return KErrNone;
-	}
-
-TInt CCallMobileFax::SetFaxSettings(const TTsyReqHandle aTsyReqHandle,const RCall::TFaxSessionSettings* aSettings)
-	{	
-	LOGTEXT(_L8("FaxCall:\tSetting fax settings"));
-	TUint phoneCaps = iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags;
-	if (aSettings->iFaxClass==EClass1 && (phoneCaps&RPhone::KCapsFaxClassOne) ||
-		aSettings->iFaxClass==EClass2 && (phoneCaps&RPhone::KCapsFaxClassTwo) ||
-		aSettings->iFaxClass==EClass2point0 && (phoneCaps&RPhone::KCapsFaxClassTwoPointZero) ||
-		aSettings->iFaxClass==EClass1point0 && (phoneCaps&RPhone::KCapsFaxClassOnePointZero) ||
-		aSettings->iFaxClass==EClass2point1 && (phoneCaps&RPhone::KCapsFaxClassTwoPointOne)  ||
-		aSettings->iFaxClass==EClassAuto)
-		{
-		SetFaxSessionSettings(iFaxSettings,*aSettings);
-		ReqCompleted(aTsyReqHandle,KErrNone);
-		}
-	else if (iPhoneGlobals->iPhoneStatus.iInitStatus!=EPhoneInitialised)
-		ReqCompleted(aTsyReqHandle,KErrEtelUnknownModemCapability);
-	else
-		ReqCompleted(aTsyReqHandle,KErrNotSupported);
-	return KErrNone;
-	}
-
-TInt CCallMobileFax::SetFaxSharedHeaderFile(const TTsyReqHandle aTsyReqHandle, CFaxSharedFileHandles* aFaxSharedFileHandles)
-	{
-	//if we already own an object delete and re-point to new one.
-	if(iFileHandles)
-		{
-		delete iFileHandles;
-		iFileHandles = NULL;
-		}
-	iFileHandles = aFaxSharedFileHandles;	
-
-	ReqCompleted(aTsyReqHandle,KErrNone);	
-	return KErrNone;
-	}
-
-CTelObject* CCallMobileFax::OpenNewObjectByNameL(const TDesC& /*aName*/)
-//
-//	Only want one CFaxHayes object to be opened per phone.
-//	Previously only the connected call could open a CFaxHayes object, so it was easy to check
-//	whether one had already been opened. Now a fax call can open a fax object at any time
-//	making it less clear how to check that no other call has opened one.
-//
-	{
-	if (iPhoneGlobals->iPhoneStatus.iLineStatus != GetCoreCallStatus())
-		{	// ie another fax call is in progress so this call cannot open a fax object
-		User::Leave(KErrEtelNotCallOwner);
-		}
-	TBool& faxOpened = REINTERPRET_CAST(CLineMobileFax*,Owner())->iFaxOpened;
-	if (faxOpened==TRUE)
-		{
-		User::Leave(KErrAlreadyExists);
-		}
-	faxOpened=ETrue;
-	iFax = CFaxHayes::NewL(this,iPhoneGlobals);
-	return iFax;
-	}
-
-void CCallMobileFax::RemoveFax(CFaxHayes* aFaxHayes)
-	{
-	if (iFax == aFaxHayes)
-		iFax=NULL;
-	REINTERPRET_CAST(CLineMobileFax*,Owner())->iFaxOpened=EFalse;
-	}
-
-void CCallMobileFax::CleanUpFaxServer()
-	{
-	LOGTEXT(_L8("Closing down Fax Server"));
-	(void)iFaxSession->FxClose();
-	iFaxServerLib.Close();
-	iFaxSession = NULL;
-	iPhoneGlobals->iPhoneStatus.iPortAccess = EPortAccessAllowed; 
-	iPhoneGlobals->iEventSignalActive = EFalse;				
-	}
--- a/telephonyserverplugins/multimodetsy/hayes/CALL.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/CALL.H	Fri Apr 16 16:12:37 2010 +0300
@@ -25,7 +25,6 @@
 #include <et_phone.h>
 #include "TSYCONFG.H"
 #include "ATBASE.H"
-#include "faxstd.h"
 #include <f32file.h>
 //
 // CAcquireEntry
@@ -338,72 +337,4 @@
 	CATSetToOnlineDataMode* iATSetToOnlineDataMode;
 	};
 
-class CATDialFax;
-class CATConnectFax;
-class CATAnswerFax;
-class CATHangUpFax;
-class CFaxHayes;
-class CFaxSession;	// the class defined by the fax server
-class CFaxCompletion;
-class CCallMobileFax : public CCallMobile
-/**
-@internalComponent
-*/
-	{
-public:
-	static CCallMobileFax* NewL(CATIO* aATIO,CATInit* aInit,CPhoneGlobals* aPhoneGlobals,const TName& aName);
-	CCallMobileFax(CATIO* aATIO,CATInit* aInit,CPhoneGlobals* aGlobals);
-	~CCallMobileFax();
-
-// MTelObjectTSY pure virtual
-	virtual CTelObject* OpenNewObjectByNameL(const TDesC&);
-
-// MCallBaseTSY pure virtuals
-	virtual TInt Dial(const TTsyReqHandle aTsyReqHandle,const TDesC8* aCallParams,TDesC* aTelNumber);
-	virtual TInt DialCancel(const TTsyReqHandle aTsyReqHandle);
-	virtual TInt Connect(const TTsyReqHandle aTsyReqHandle,const TDesC8* aCallParams);
-	virtual TInt ConnectCancel(const TTsyReqHandle aTsyReqHandle);
-	virtual TInt AnswerIncomingCall(const TTsyReqHandle aTsyReqHandle,const TDesC8* aCallParams);
-	virtual TInt AnswerIncomingCallCancel(const TTsyReqHandle aTsyReqHandle);
-	virtual TInt HangUp(const TTsyReqHandle aTsyReqHandle);
-	virtual TInt HangUpCancel(const TTsyReqHandle aTsyReqHandle);
-	virtual TInt RelinquishOwnership();
-	virtual TInt GetFaxSettings(const TTsyReqHandle aTsyReqHandle,RCall::TFaxSessionSettings* aSettings);
-	virtual TInt SetFaxSettings(const TTsyReqHandle aTsyReqHandle,const RCall::TFaxSessionSettings* aSettings);
-	virtual TInt SetFaxSharedHeaderFile(const TTsyReqHandle aTsyReqHandle, CFaxSharedFileHandles* aFaxSharedFileHandles);
-// CCallHayes pure virtual
-	virtual void AnswerImmediately();
-
-	virtual void CollateCoreCaps(const TTsyReqHandle aTsyReqHandle, TUint32* aCallCaps);
-
-	TInt FaxConnectHandler(const TTsyReqHandle aTsyReqHandle);
-	TInt ValidateFaxClass(TFaxClass& aFaxClass);
-	void FaxCancelCommand(const TTsyReqHandle aTsyReqHandle);
-	void FaxDial(const TTsyReqHandle aTsyReqHandle,TDesC* aTelNumber);
-	void FaxConnect(const TTsyReqHandle aTsyReqHandle);
-	void FaxAnswer(const TTsyReqHandle aTsyReqHandle);
-	void FaxHangUp(const TTsyReqHandle aTsyReqHandle);
-
-	TInt OpenFax(TDesC* aTelNumber,TFaxMode aFaxMode);
-	void GetFaxBaseL();
-	void RemoveFax(CFaxHayes* aFaxHayes);
-	void CleanUpFaxServer();
-private:
-	void ConstructL(const TName& aName);
-public:
-	CFaxSession* iFaxSession;
-private:
-	CATDialFax* iDialFax;
-	CATConnectFax* iConnectFax;
-	CATAnswerFax* iAnswerFax;
-	CATHangUpFax* iHangUpFax;
-	RCall::TFaxSessionSettings iFaxSettings;
-	CFaxHayes* iFax;
-	CFaxCompletion* iFaxCompletion;
-	RLibrary iFaxServerLib;
-	RFax::TProgress* iFaxProgress;
-	CFaxSharedFileHandles* iFileHandles;
-	};
-
-
 #endif
--- a/telephonyserverplugins/multimodetsy/hayes/FAX.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include "NOTIFY.H"
-#include "ETELFAX.H"
-#include "FAX.H"
-#include "mSLOGGER.H"
-
-//
-// CFaxHayes - Fax functionality
-//
-
-void CFaxHayes::CloseFax(TAny* aObj)
-//
-// Utility func for cleanup stack
-//
-	{
-	((CObject*)aObj)->Close();
-	}
-
-CFaxHayes* CFaxHayes::NewL(CCallMobileFax* aCallFaxHayes,CPhoneGlobals* aPhoneGlobals)
-//
-//	Completes successfully if fax call has already been dialled creating a CETelFaxBase 
-//  instance, and is not called if that is not true.
-//
-	{
-	CFaxHayes* fax=new(ELeave) CFaxHayes(aCallFaxHayes,aPhoneGlobals);
-	TCleanupItem newFaxHayesClose(CloseFax,fax);
-	CleanupStack::PushL(newFaxHayesClose);
-	fax->ConstructL();
-    CleanupStack::Pop();
-	return fax;
-	}
-	
-RHandleBase* CFaxHayes::GlobalKernelObjectHandle()
-	{	
-	return iOwner->GlobalKernelObjectHandle();
-	}
-
-CFaxHayes::CFaxHayes(CCallMobileFax* aCallFaxHayes,CPhoneGlobals* aPhoneGlobals)
-								 : iPhoneGlobals(aPhoneGlobals), iOwner(aCallFaxHayes)
-	{}
-
-void CFaxHayes::ConstructL()
-//
-//	Used to be that CFaxHayes could not be constructed before a call had been initiated
-//  ie the fax server was started and the call had a pointer to CETelFaxBase.
-//	Now, to solve the problem of the fax progress being only available after phase C, 
-//  RFax can be opened before a call has begun to connect. So in the event of this happening,
-//  each function of CFaxHayes must check that the fax server has been started.
-//	
-//	
-	{
-	LOGTEXT(_L8("CFaxHayes::ConstructL()"));
-	iDataDirection = EUnknown;
-	}
-
-CFaxHayes::~CFaxHayes()
-	{
-	iOwner->RemoveFax(this);
-	iPhoneGlobals->iNotificationStore->RemoveClientFromLastEvents(this);
-	}
-
-CTelObject::TReqMode CFaxHayes::ReqModeL(const TInt aIpc)
-	{
-	TReqMode reqMode = CFaxBase::ReqModeL(aIpc);
-	if ((reqMode & KReqModeFlowControlObeyed) && iPhoneGlobals->iPhoneStatus.iDataPortLoaned)
-		{
-		LOGTEXT2(_L8("ReqModeL Leaving with KErrInUse as data port is loaned (aIpc=%d)"),aIpc);
-		User::Leave(KErrInUse);
-		}
-	return reqMode;
-	}
-
-TInt CFaxHayes::RegisterNotification(const TInt /*aIpc*/)
-	{
-	return KErrNone;
-	}
-TInt CFaxHayes::DeregisterNotification(const TInt /*aIpc*/)
-	{
-	return KErrNone;
-	}
-
-void CFaxHayes::Init()
-	{}
-
-TInt CFaxHayes::CheckAndSetRegistrationParams(const TInt /*aIpc*/,const TDes8* /*aDes1*/,const TDes8* /*aDes2*/)
-	{
-	return KErrNone;
-	}
-
-TInt CFaxHayes::Read(const TTsyReqHandle aTsyReqHandle, TDes8* aDes)
-//
-//	Read fax data into descriptor, asynchronously. Use NotificationStore to notify client 
-//	when completed
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCalling RxFaxData"));
-	iDataDirection = EReceiveData;
-	CFaxSession* session = iOwner->iFaxSession;
-
-	iPhoneGlobals->iNotificationStore->RegisterNotification(EReadOrWriteFax,aTsyReqHandle,this);
-	session->RxFaxData(*aDes);
-	return KErrNone;
-	}
-
-TInt CFaxHayes::Write(const TTsyReqHandle aTsyReqHandle, TDesC8* aDes)
-//
-//	Send fax data in descriptor to fax module, asynchronously
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCalling TxFaxData"));
-	iDataDirection = ESendData;
-	CFaxSession* session = iOwner->iFaxSession;
-	iPhoneGlobals->iNotificationStore->RegisterNotification(EReadOrWriteFax,aTsyReqHandle,this);
-	session->TxFaxData(*aDes);
-	return KErrNone;
-	}
-
-TInt CFaxHayes::WaitForEndOfPage(const TTsyReqHandle aTsyReqHandle)
-//
-//	Send request for notification of end of page to fax module
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCalling Wait for end of page"));
-	CFaxSession* session = iOwner->iFaxSession;
-	if (iDataDirection==EUnknown)
-		{
-		ReqCompleted(aTsyReqHandle,KErrUnknown); // client hasn't read or written data yet
-		return KErrNone;
-		}
-	iPhoneGlobals->iNotificationStore->RegisterNotification(EEndOfFaxPage,aTsyReqHandle,this);
-	LOGTEXT(_L8("Fax:\tEnd Of Page Notification lodged"));	
-	if (iDataDirection==EReceiveData)
-		session->RxPostPage();
-	else 
-		session->TxPostPage();
-	return KErrNone;
-	}
-
-TInt CFaxHayes::TerminateFaxSession(const TTsyReqHandle aTsyReqHandle)
-//
-//	Cancel the entire fax session. Server completes fax notification requests that it knows
-//	as notifications. TSY treats ReadOrWrite and EndOfPage as notifications although they 
-//  have no Cancel function, so it must remove them from its notification list here 
-//	explicitly
-//
-    {
-	if (iOwner->iFaxSession==NULL)
-		{
-		ReqCompleted(aTsyReqHandle,KErrNotReady);
-		return KErrNone;
-		}	
-	LOGTEXT(_L8("Fax:\tCancelling fax session"));
-	CFaxSession* session= iOwner->iFaxSession;
-	session->Cancel();
-	iPhoneGlobals->iNotificationStore->CheckNotification(session,EFaxSessionTerminated,KErrCancel);
-	ReqCompleted(aTsyReqHandle,KErrNone);	
-	return KErrNone;
-	}
--- a/telephonyserverplugins/multimodetsy/hayes/FAX.H	Fri Mar 19 09:55:57 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file
- @internalAll 
-*/
-
-#ifndef __FAX_H__
-#define __FAX_H__
-
-#include "CALL.H"
-#include "ETELFAX.H"
-
-//
-// CFaxHayes
-//
-
-class CFaxHayes : public CFaxBase
-/**
-@internalComponent
-*/
-	{
-public:
-	enum TDataDirection
-		{
-		ESendData,
-		EReceiveData,
-		EUnknown
-		};
-	static CFaxHayes* NewL(CCallMobileFax* aCallFaxHayes,CPhoneGlobals* aPhoneGlobals);
-	CFaxHayes(CCallMobileFax* aCallFaxHayes,CPhoneGlobals* aPhoneGlobals);
-	void ConstructL();
-	~CFaxHayes();
-	virtual void Init();
-	static void CloseFax(TAny* aObj);
-public: 
-	virtual CTelObject::TReqMode ReqModeL(const TInt aIpc);
-	virtual TInt RegisterNotification(const TInt aIpc);
-	virtual TInt DeregisterNotification(const TInt aIpc);
-    virtual TInt Read(const TTsyReqHandle aTsyReqHandle,TDes8* aFaxPage);
-    virtual TInt Write(const TTsyReqHandle aTsyReqHandle,TDesC8* aFaxPage);
-	virtual TInt WaitForEndOfPage(const TTsyReqHandle aTsyReqHandle);
-	virtual TInt TerminateFaxSession(const TTsyReqHandle aTsyReqHandle);
-	virtual TInt CheckAndSetRegistrationParams(const TInt aIpc,const TDes8* aDes1,const TDes8* aDes2);
-	RHandleBase* GlobalKernelObjectHandle();
-	
-
-private:
-	CPhoneGlobals* iPhoneGlobals;
-	CCallMobileFax* iOwner;
-	TDataDirection iDataDirection;
-	};
-
-#endif
--- a/telephonyserverplugins/multimodetsy/hayes/LINE.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/LINE.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -903,143 +903,6 @@
 		}
 	}
 
-//
-// CLineMobileFax
-// Fax Specific Line Functionality
-//
-CLineMobileFax* CLineMobileFax::NewL(CATIO* aATIO, CATInit* aInit,CPhoneGlobals* aPhoneGlobals,const TName& aName)
-	{
-	CLineMobileFax* FaxLine=new(ELeave) CLineMobileFax(aATIO,aInit,aPhoneGlobals);
-	TCleanupItem newLineFaxHayesClose(CloseLine,FaxLine);
-	CleanupStack::PushL(newLineFaxHayesClose);
-	FaxLine->ConstructL(aName);
-	CleanupStack::Pop();
-	return FaxLine;
-	}
-
-CLineMobileFax::CLineMobileFax(CATIO* aATIO, CATInit* aInit,CPhoneGlobals* aPhoneGlobals)
-	:CLineMobile(aATIO,aInit,aPhoneGlobals)
-	{}
-
-void CLineMobileFax::ConstructL(const TName& aName)
-//
-//	Constructs a call which is to be used only when an incoming call arrives
-//	and no client has designated an existing call to answer it. TSY holds responsibility to close 
-//	it unless a RING occurs, when the line will add the call to the linked list of calls 
-//  and alert any interested clients that a "new" call has been created - if any client then
-//	opens a handle on it, the TSY relinquishes any responsibility to close it in the future
-//	as the client has that responsibility. When the client opens a handle on it, using OpenByName
-//	the line will create a new PreAlloc'ed call. If no client opens a handle, when the line 
-//	stops ringing the line will remove the pre-alloc'ed call from the list and keep the pointer
-//	to it separately in CLineHayes::iPreAlloc, so any subsequent attempt by a client to 
-//  open a handle on it will fail with KErrDoesNotExist or something similar. 
-//
-	{
-	CLineHayes::ConstructL(aName);
-	TName preAllocName;
-	GenerateName(preAllocName);
-	CCallMobileFax* newCall=CCallMobileFax::NewL(iIo,iInit,iPhoneGlobals,preAllocName);
-	TCleanupItem newLineClose(CloseLine,newCall);
-	CleanupStack::PushL(newLineClose); 
-	newCall->SetNameL(&preAllocName);
-	newCall->SetOwnedByTSY();
-	newCall->SetOwner(this);	
-	iPreAlloc = CCallEntry::NewL(newCall);
-	CleanupStack::Pop();
-	}
-
-CLineMobileFax::~CLineMobileFax()
-	{}
-
-void CLineMobileFax::GenerateName(TDes& aName) 
-	{
-	aName.Append(KFaxCallName);
-	aName.AppendNum(iNameIndex++);
-	}
-
-CTelObject* CLineMobileFax::OpenNewObjectByNameL(const TDesC& aName)
-//
-//	Open a Fax call 
-//
-	{
-	CCallEntry* entry = NULL;
-	entry=CheckNewObject(aName); //if found in call list, must be a pre-alloc'ed call
-	if (!entry)	
-		{
-		CCallMobileFax* newCall=CCallMobileFax::NewL(iIo,iInit,iPhoneGlobals,aName);
-		TCleanupItem newLineClose(CloseLine,newCall);
-		CleanupStack::PushL(newLineClose); 
-		AppendNewCallL(newCall);
-		CleanupStack::Pop();
-		iPhoneGlobals->iNotificationStore->CheckNotification(this,ECallAdded);
-		return newCall;
-		}
-	else  // this is a pre-allocated call
-		{
-		TName preAllocatedCallName;	// pre-allocate next call
-		GenerateName(preAllocatedCallName);
-		CCallMobileFax* call=CCallMobileFax::NewL(iIo,iInit,iPhoneGlobals,preAllocatedCallName);
-		call->SetOwnedByTSY();
-		(void)User::LeaveIfError(call->SetName(&preAllocatedCallName));
-		call->SetOwner(this);
-		iPreAlloc = CCallEntry::NewL(call);
-
-		CCallHayes* oldpreAllocCall = entry->iCallHayes;
-		oldpreAllocCall->SetUnownedByTSY();
-		return oldpreAllocCall;
-		}
-	}
-
-CTelObject* CLineMobileFax::OpenNewObjectL(TDes& aNewName)
-//
-//	Open a fax call
-//
-	{
-	GenerateName(aNewName);
-	CCallMobileFax* newCall=CCallMobileFax::NewL(iIo,iInit,iPhoneGlobals,aNewName);
-	TCleanupItem newLineClose(CloseLine,newCall);
-	CleanupStack::PushL(newLineClose); 
-	AppendNewCallL(newCall);
-	CleanupStack::Pop();
-	iPhoneGlobals->iNotificationStore->CheckNotification(this,ECallAdded);
-	return newCall;
-	}
-
-TInt CLineMobileFax::GetCaps(const TTsyReqHandle aTsyReqHandle,RLine::TCaps* aLineCaps)
-	{
-	aLineCaps->iFlags = RLine::KCapsEventIncomingCall;
-	if (iPhoneGlobals->iPhoneStatus.iDataAndFaxFlags & KFaxCaps)
-		{
-		aLineCaps->iFlags |= RLine::KCapsFax;
-		}
-	ReqCompleted(aTsyReqHandle,KErrNone);
-	return KErrNone;
-	}
-
-TInt CLineMobileFax::GetCallInfo(const TTsyReqHandle aTsyReqHandle,TCallInfoIndex* aCallInfoIndex)
-//
-//	Provide info about fax call
-//
-	{
-	LOGTEXT(_L8("FaxLine:\tGet Fax Call Info"));
-	CCallEntry* callEntry;
-	TDblQueIter<CCallEntry> iter(iCalls);
-	iter.SetToFirst();
-	for (TInt i=0;i<(TInt)(aCallInfoIndex->iIndex);i++)
-		{
-		iter++;
-		}
-	callEntry=iter;
-	if (callEntry)
-		{
-		callEntry->iCallHayes->GetCallInfo(aCallInfoIndex);
-		aCallInfoIndex->iInfo.iCallCapsFlags |= RCall::KCapsFax;
-		ReqCompleted(aTsyReqHandle,KErrNone);
-		}
-	else
-		ReqCompleted(aTsyReqHandle,KErrNotFound);
-	return KErrNone;
-	}
 
 CCallEntry* CCallEntry::NewL(CCallHayes* aCallHayes)
 //
--- a/telephonyserverplugins/multimodetsy/hayes/LINE.H	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/LINE.H	Fri Apr 16 16:12:37 2010 +0300
@@ -187,36 +187,6 @@
 	void ConstructL(const TName& aName);
 	};
 
-//
-// CLineMobileFax - Fax Specific Line Functionality
-//
-class CCallMobileFax;
-class CLineMobileFax : public CLineMobile
-/**
-@internalComponent
-*/
-	{
-public:
-	static CLineMobileFax* NewL(CATIO* aATIO,CATInit* aInit,CPhoneGlobals* aPhoneGlobals,const TName& aName);
-	CLineMobileFax(CATIO* aATIO,CATInit* aInit,CPhoneGlobals*);
-	~CLineMobileFax();
-
-// MTelObjectTSY pure virtuals
-	virtual CTelObject* OpenNewObjectByNameL(const TDesC& aName);
-	virtual CTelObject* OpenNewObjectL(TDes& aNewName);
-
-// MLineBaseTSY pure virtuals
-	virtual TInt GetCaps(const TTsyReqHandle aTsyReqHandle,RLine::TCaps* aCaps);
-    virtual TInt GetCallInfo(const TTsyReqHandle,TCallInfoIndex*);
-
-protected:
-	void GenerateName(TDes& aName);
-	void ConstructL(const TName& aName);
-
-public:
-	TBool iFaxOpened;	// so that a CCallHayes instance knows whether another CCallHayes has opened a CFaxHayes object
-	};
-
 class CCallEntry : public CBase
 /**
 @internalComponent
--- a/telephonyserverplugins/multimodetsy/hayes/NOTIFY.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/NOTIFY.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -13,7 +13,7 @@
 // Description:
 //
 
-#include "ETELFAX.H"
+
 #include "PHONE.H"
 #include "LINE.H"
 #include "CALL.H"
--- a/telephonyserverplugins/multimodetsy/hayes/PHONE.CPP	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/hayes/PHONE.CPP	Fri Apr 16 16:12:37 2010 +0300
@@ -282,14 +282,6 @@
 			iPhoneGlobals->iPhoneStatus.iLineStatus = RCall::EStatusIdle;
 		return iDataLine;
 		}
-	else if (!aName.CompareF(KFaxLineName))
-		{
-		__ASSERT_ALWAYS(iFaxLine==NULL,Panic(ELineAlreadyExists));
-		iFaxLine=CLineMobileFax::NewL(iIo,iInit,iPhoneGlobals,aName);
-		if (iPhoneGlobals->iPhoneStatus.iLineStatus == RCall::EStatusUnknown)
-			iPhoneGlobals->iPhoneStatus.iLineStatus = RCall::EStatusIdle;
-		return iFaxLine;
-		}
 	
 	else if (!aName.CompareF(KVoiceLineName)) //Added for Java Demo 4.4.99
 		{
@@ -467,21 +459,7 @@
 //
 	{
 	LOGTEXT(_L8("Phone:\tGet Line Info"));
-	if (aParams->iIndex==KFaxLineIndex)
-		{
-		if (iFaxLine!=NULL)
-			{
-			aParams->iInfo.iStatus = iPhoneGlobals->iPhoneStatus.iLineStatus;
-			aParams->iInfo.iName = iFaxLine->iLineName;
-			aParams->iInfo.iLineCapsFlags = (RLine::KCapsFax|RLine::KCapsEventIncomingCall);
-			}
-		else
-			{
-			aParams->iInfo = iDefaultFaxLineInfo;
-			}
-		ReqCompleted(aTsyReqHandle,KErrNone);
-		}
-	else if (aParams->iIndex==KDataLineIndex)
+	 if (aParams->iIndex==KDataLineIndex)
 		{
 		if (iDataLine!=NULL)
 			{
@@ -523,8 +501,6 @@
 	{
 	if (aLineHayes == iDataLine)
 		iDataLine=NULL;
-	if (aLineHayes == iFaxLine)
-		iFaxLine=NULL;
 	if (aLineHayes == iVoiceLine)
 		iVoiceLine=NULL;
 	}
@@ -551,9 +527,6 @@
 		CLineHayes* line=NULL;
 		switch (aIndex)
 			{
-		case KFaxLineIndex:
-			line=iFaxLine;
-			break;
 		case KDataLineIndex:
 			line=iDataLine;
 			break;
@@ -599,25 +572,7 @@
 		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tInterpretting as data call"));
 		return;
 		}
-	if((iFaxLine)&&(iFaxLine->AnswerIfPossible()))		// Second priority: if we're waiting for a Fax call, answer it
-		{
-		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tInterpretting as fax call"));
-		return;
-		}
-// If there are no "answer an incoming call" requests, then see if we can determine it from the lines that are open...
-	if(!iFaxLine && iDataLine)	
-		{
-		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tLine object creation: SetPreAllocCall on DataLine"));
-		iDataLine->SetPreAllocCall();
-		return;
-		}
-	if(!iDataLine && iFaxLine)
-		{
-		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tLine object creation: SetPreAllocCall on FaxLine"));
-		iFaxLine->SetPreAllocCall();
-		return;
-		}
-// So both lines MIGHT exist.  It's then down to Notify on incoming call notifications,
+	// So both lines MIGHT exist.  It's then down to Notify on incoming call notifications,
 // and we'll make a priority call in favour of data...
 // First ensure that either a Data line or a Fax line does exist (Nokia 7110 fix: returns
 // +CRING: REL ASYNC for a voice call (hence a voice line is created). This response
@@ -626,8 +581,7 @@
 		{
 		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tA DataLine has been found. Now checking for an outstanding Notification"));
 		
-		if((iDataLine->IsNotifyIncomingCallOutstanding())&&
-		   (!iFaxLine->IsNotifyIncomingCallOutstanding()))
+		if(iDataLine->IsNotifyIncomingCallOutstanding())
 			{
 			LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tNotify: SetPreAllocCall on DataLine"));
 			iDataLine->SetPreAllocCall();
@@ -635,18 +589,6 @@
 		}
 	else 
 		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tNo DataLine has been found; this may be a voice call"));
-	if (iFaxLine)
-		{
-		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tA FaxLine has been found. Now checking for an outstanding Notification"));
-		if ((iFaxLine->IsNotifyIncomingCallOutstanding()) &&
-			(!iDataLine->IsNotifyIncomingCallOutstanding()))
-			{	
-			LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tNotify: SetPreAllocCall on FaxLine"));
-			iFaxLine->SetPreAllocCall();
-			}
-		}
-	else 
-		LOGTEXT(_L8("SetAmbiguousDataFaxCallRinging()\tNo FaxLine has been found; this may be a voice call"));
 	}
 
 void CPhoneHayes::StopRinging()
@@ -658,11 +600,6 @@
 										// the call may have been opened by a client but not
 										// answered.
 		}
-	if (iFaxLine)
-		{
-		(void)iFaxLine->StopMyCallRinging();
-		iFaxLine->ResetPreAllocCall();	// ditto
-		}
 	if (iVoiceLine)
 		{
 		(void)iVoiceLine->StopMyCallRinging();
@@ -680,8 +617,7 @@
 	{
 	if (iDataLine)
 		iDataLine->SetCallsHookStatus(aHookStatus);
-	if (iFaxLine)
-		iFaxLine->SetCallsHookStatus(aHookStatus);
+	
 	}
 
 TBool CPhoneHayes::CheckForOutstandingAnswer() const
@@ -692,8 +628,7 @@
 	TBool check=EFalse;
 	if (iDataLine)
 		check = iDataLine->CheckForOutstandingAnswer();
-	if (!check && iFaxLine)
-		check = iFaxLine->CheckForOutstandingAnswer();
+	
 	if (!check && iVoiceLine)
 		check = iVoiceLine->CheckForOutstandingAnswer();
 	return check;
@@ -701,12 +636,6 @@
 
 void CPhoneHayes::CancelOtherRingingCall(CLineHayes* aLine) const
 	{
-	if (iFaxLine && aLine!=iFaxLine)
-		{
-		(void)iFaxLine->StopMyCallRinging();
-		iFaxLine->ResetPreAllocCall();	
-		}
-
 	if (iDataLine && aLine!=iDataLine)
 		{
 		(void)iDataLine->StopMyCallRinging();
--- a/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBack.script	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBack.script	Fri Apr 16 16:12:37 2010 +0300
@@ -525,18 +525,6 @@
 //
 END_TESTCASE TEL-MMTSY-NA-0039
 
-START_TESTCASE TEL-MMTSY-NA-0040
-//!@SYMTestCaseID TEL-MMTSY-NA-0040
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc
-//!@SYMTestPriority critical
-//!@SYMTestActions Test signal strength information for an incoming fax
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-//
-RUN_TEST_STEP 60 Te_LoopBack TestDriveSsFax
-//
-END_TESTCASE TEL-MMTSY-NA-0040
 
 START_TESTCASE TEL-MMTSY-NA-0041
 //!@SYMTestCaseID TEL-MMTSY-NA-0041
@@ -564,32 +552,6 @@
 //
 END_TESTCASE TEL-MMTSY-NA-0042
 
-START_TESTCASE TEL-MMTSY-NA-0043
-//!@SYMTestCaseID TEL-MMTSY-NA-0043
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Drive Prem Close
-//!@SYMTestPriority critical
-//!@SYMTestActions Tests performing a premature closure of a fax session
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-//
-RUN_TEST_STEP 90 Te_LoopBack TestDrivePremClose
-//
-END_TESTCASE TEL-MMTSY-NA-0043
-
-START_TESTCASE TEL-MMTSY-NA-0044
-//!@SYMTestCaseID TEL-MMTSY-NA-0044
-//!@SYMREQ REQ0000
-//!@SYMTestCaseDesc Test Drive Two Fax Rx
-//!@SYMTestPriority critical
-//!@SYMTestActions Test two fax receive
-//!@SYMTestExpectedResults Pass
-//!@SYMTestType CT
-//
-RUN_TEST_STEP 90 Te_LoopBack TestDriveTwoFaxRx
-//
-END_TESTCASE TEL-MMTSY-NA-0044
-
 START_TESTCASE TEL-MMTSY-NA-0045
 //!@SYMTestCaseID TEL-MMTSY-NA-0045
 //!@SYMREQ REQ0000
--- a/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcincall.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcincall.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -23,7 +23,6 @@
 #include <e32test.h>
 #include <mmretrieve.h>
 #include <etelmm.h>
-#include <faxstd.h>
 #include "Te_LoopBackcincall.h"
 #include "../../hayes/TSYCONFG.H" // for KInternetAccessPoint
 
@@ -58,7 +57,7 @@
 	{
 	_LIT(KVoiceLineName, "Voice");
 	_LIT(KDataLineName,  "Data");
-	_LIT(KFaxLineName,   "Fax");
+	//_LIT(KFaxLineName,   "Fax");
 
 	RLine voiceLine;
 	INFO_PRINTF1(_L("Opening Voice Line\n"));
@@ -74,13 +73,6 @@
 	INFO_PRINTF1(_L("Opening New Data Call\n"));
 	TESTL(dataCall.OpenNewCall(dataLine) == KErrNone);
 
-	RLine faxLine;
-	INFO_PRINTF1(_L("Opening Fax Line\n"));
-	TESTL(faxLine.Open(iPhone,KFaxLineName) == KErrNone);
-	RCall faxCall;
-	INFO_PRINTF1(_L("Opening New Fax Call\n"));
-	TESTL(faxCall.OpenNewCall(faxLine) == KErrNone);
-
 	TRequestStatus stat1, stat2, stat3, reqStatus;
 
 	RMobilePhone::TMMTableSettings tableSettings;
@@ -94,49 +86,30 @@
 	INFO_PRINTF1(_L("Answering a Voice Call...\n"));
 	voiceCall.AnswerIncomingCall(stat1);
 	dataCall.AnswerIncomingCall(stat2);
-	faxCall.AnswerIncomingCall(stat3);
 	User::WaitForRequest(stat1);
 	TESTL(stat1 == KErrNone);
 	dataCall.AnswerIncomingCallCancel();
-	faxCall.AnswerIncomingCallCancel();
 	User::WaitForRequest(stat2);
-	User::WaitForRequest(stat3);
 	User::After(1000000L);
 	INFO_PRINTF1(_L("Hangup a Voice Call...\n"));
 	TESTL(voiceCall.HangUp() == KErrNone);
 
-// Now wait for an incoming fax call...
-	INFO_PRINTF1(_L("Answering a Fax Call...\n"));
-	RCall::TFaxSessionSettings faxSessionSettings;
-	faxSessionSettings.iMode = RCall::EReceive;
-	faxSessionSettings.iFaxRetrieveType = RCall::EFaxOnDemand;
-	faxSessionSettings.iFaxClass = EClassAuto;
-	faxSessionSettings.iFaxId.Zero();
-	faxSessionSettings.iMaxSpeed = 14400;
-	faxSessionSettings.iMinSpeed = 12000;
-	faxSessionSettings.iRxResolution = EFaxNormal;
-	faxSessionSettings.iRxCompression = EModifiedHuffman;
-	faxCall.SetFaxSettings(faxSessionSettings);
-
-	faxCall.AnswerIncomingCall(stat3);
-	User::WaitForRequest(stat3);
-	TESTL(stat3 == KFaxErrReceiveTimeout); 		// We don't actually send any data
-	User::After(300000L);
-	INFO_PRINTF1(_L("Hangup a Fax Call...\n"));
-	TESTL(faxCall.HangUp() == KErrNone);
-
 // Now wait for an incoming data call...
 	INFO_PRINTF1(_L("Answering a Data Call\n"));
-	TESTL(dataCall.AnswerIncomingCall() == KErrNone);
-	User::After(300000L);
+	TInt ret = dataCall.AnswerIncomingCall();
+	INFO_PRINTF2(_L("ret=%d "),ret);
+	if (ret == KErrNone)
+	    {
+	    SetTestStepResult(EPass);
+	    }
+	else
+	    SetTestStepResult(EFail);
+	    
+	 User::After(300000L);
 	TESTL(dataCall.HangUp() == KErrNone);
 
 //	Get the FaxSettings before closing the line and call
-	TInt ret = faxCall.GetFaxSettings(faxSessionSettings);
-	TEST_CHECKL(ret, KErrNone, _L("*** Failed to get fax setttings ***"));
 	
-	faxCall.Close();
-	faxLine.Close();
 	dataCall.Close();
 	dataLine.Close();
 	voiceCall.Close();
--- a/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcincall.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcincall.h	Fri Apr 16 16:12:37 2010 +0300
@@ -166,52 +166,7 @@
 	{	ERxString, (TText8*)"ATH",			0, ERxEvent	},
 	{	ETxString, (TText8*)"NO CARRIER",	0, ETxEvent	},
 
-//
-//  Now, finally, we handle an Incoming Call Fax request
-//
-	{	EWait,		NULL,					4,	ETimeOutEvent	},
-	{	ETxString, (TText8*)"\r\n+CRING: FAX\r\n",	0, ETxEvent|EFailIfTimeOut	},
 
-//	{	ERxString, (TText8*)"ATM0L0X3S8=0",	0, ERxEvent	},
-//	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FCLASS=2",	0, ERxEvent	},
-	{	ETxString, (TText8*)"\r\nOK\r\n",	0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT",			0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FDCC=?",	0, ERxEvent	},
-	{	ETxString, (TText8*)"(0-1),(0-3),(0-4),(0-2),(0-3),(0-1),(0-1),(0-7)",
-											0, ETxEvent|EFailIfTimeOut	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FDCC=0,3,0,2,0,0,0,0",	0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FAA=0",		0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FCR=1",		0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FLID=\"",	0, ERxEvent	},
-	{	ERxString, (TText8*)"\"",			0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"ATA",			0, ERxEvent	},
-	{	ETxString, (TText8*)"+FCO",			0, ETxEvent|EFailIfTimeOut	},
-	{	ETxString, (TText8*)"+FCS:0,3,0,2,0,0,0,0",			0, ETxEvent|EFailIfTimeOut	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FDR",		0, ERxEvent	},
-	{	ETxString, (TText8*)"CONNECT",		0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"ATH",			0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"ATE0+FCLASS=0",0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
 
 //
 // Now we handle an incoming data call
@@ -378,49 +333,7 @@
 	{	ERxString, (TText8*)"ATH",			0, ERxEvent	},
 	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
 
-	{	EWait,		NULL,					4,	ETimeOutEvent	},
-	{	ETxString, (TText8*)"\r\n+CRING: REL ASYNC\r\n",	0, ETxEvent|EFailIfTimeOut	},
 
-//	{	ERxString, (TText8*)"AT",			0, ERxEvent	},
-//	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FCLASS=2",	0, ERxEvent	},
-	{	ETxString, (TText8*)"\r\nOK\r\n",	0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT",			0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FDCC=?",	0, ERxEvent	},
-	{	ETxString, (TText8*)"(0-1),(0-3),(0-4),(0-2),(0-3),(0-1),(0-1),(0-7)",
-											0, ETxEvent|EFailIfTimeOut	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FDCC=0,3,0,2,0,0,0,0",	0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FAA=0",		0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FCR=1",		0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FLID=\"",	0, ERxEvent	},
-	{	ERxString, (TText8*)"\"",			0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"ATA",			0, ERxEvent	},
-	{	ETxString, (TText8*)"+FCO",			0, ETxEvent|EFailIfTimeOut	},
-	{	ETxString, (TText8*)"+FCS:0,3,0,2,0,0,0,0",			0, ETxEvent|EFailIfTimeOut	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"AT+FDR",		0, ERxEvent	},
-	{	ETxString, (TText8*)"CONNECT",		0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"ATH",			0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
-
-	{	ERxString, (TText8*)"ATE0+FCLASS=0",0, ERxEvent	},
-	{	ETxStringOK, NULL,					0, ETxEvent|EFailIfTimeOut	},
 
 //
 // Now we handle an incoming data call
--- a/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcssfax.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackcssfax.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -26,7 +26,7 @@
 #include <e32test.h>
 #include <etelmm.h>
 #include <et_clsvr.h>
-#include <faxstd.h>
+
 
 #include "Te_LoopBackcssfax.h"
 #include "../../hayes/TSYCONFG.H" // for KInternetAccessPoint
@@ -104,7 +104,6 @@
 	TESTL(stat1==KErrAccessDenied);			// The port is "access denied" by this time
 
 	User::WaitForRequest(stat2);
-	TESTL(stat2==KFaxErrReceiveTimeout);		// We don't actually send any data
 	User::After(300000L);
 	TESTL(faxCall.HangUp()==KErrNone);
 	
--- a/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackctwofaxrx.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_LoopBackctwofaxrx.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -22,7 +22,6 @@
 
 #include <e32test.h>
 #include <etelmm.h>
-#include <faxstd.h>
 #include "Te_LoopBackctwofaxrx.h"
 #include "../../hayes/TSYCONFG.H" // for KInternetAccessPoint
 
@@ -92,7 +91,6 @@
 	faxCall.SetFaxSettings(faxSessionSettings);
 	faxCall.AnswerIncomingCall(stat2);
 	User::WaitForRequest(stat2);
-	TESTL(stat2==KFaxErrReceiveTimeout);		// We don't actually send any data
 	User::After(300000L);
 	TESTL(faxCall.HangUp()==KErrNone);
 	faxCall.Close();
@@ -120,7 +118,6 @@
 	faxCall2.SetFaxSettings(faxSessionSettings);
 	faxCall2.AnswerIncomingCall(stat2);
 	User::WaitForRequest(stat2);
-	TESTL(stat2==KFaxErrReceiveTimeout);		// We don't actually send any data
 	User::After(300000L);
 	TESTL(faxCall2.HangUp()==KErrNone);
 	faxCall2.Close();
--- a/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_Loopbackcfaxpremclose.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/multimodetsy/test/Te_LoopBack/Te_Loopbackcfaxpremclose.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -23,7 +23,6 @@
 
 #include <e32test.h>
 #include <etelmm.h>
-#include <faxstd.h>
 #include "Te_Loopbackcfaxpremclose.h"
 #include "../../hayes/TSYCONFG.H" // for KInternetAccessPoint
 
--- a/telephonyserverplugins/simatktsy/group/commonsimatktsy.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simatktsy/group/commonsimatktsy.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	CommonSimAtkTSY
 source		/sf/os/cellularsrv/telephonyserverplugins/simatktsy
 binary		/sf/os/cellularsrv/telephonyserverplugins/simatktsy/group	all
--- a/telephonyserverplugins/simtsy/group/telephony_simtsy.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/group/telephony_simtsy.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_simtsy
 source	\sf\os\cellularsrv\telephonyserverplugins\simtsy
 binary	\sf\os\cellularsrv\telephonyserverplugins\simtsy\group	all
--- a/telephonyserverplugins/simtsy/inc/CSimCallForwarding.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/inc/CSimCallForwarding.h	Fri Apr 16 16:12:37 2010 +0300
@@ -71,7 +71,7 @@
 	void ActivateL(RMobilePhone::TMobilePhoneCFCondition* aCF, RMobilePhone::TMobilePhoneCFChangeV1* aCFInfo );
 	void DeactivateL(RMobilePhone::TMobilePhoneCFCondition* aCF, RMobilePhone::TMobilePhoneCFChangeV1* aCFInfo );
 	void EraseL(RMobilePhone::TMobilePhoneCFCondition* aCF, RMobilePhone::TMobilePhoneCFChangeV1* aCFInfo );
-	void UpdateCFQuiescentCondition(TBool aActivate, RMobilePhone::TMobilePhoneCFCondition aCF);
+	void UpdateCFQuiescentConditionL(TBool aActivate, RMobilePhone::TMobilePhoneCFCondition aCF);
 		
 	const CTestConfigSection* CfgFile();
 
--- a/telephonyserverplugins/simtsy/inc/CSimPhone.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/inc/CSimPhone.h	Fri Apr 16 16:12:37 2010 +0300
@@ -197,7 +197,7 @@
 	inline RPhone::TMode Mode() const {return iMode; }
 
 	RMobilePhone::TMobilePhoneNetworkMode NetworkMode();
-	void ResetTestNumber();
+	void SetTestNumberAndReadConfigurationFileL();
 
 	// Methods added to allow indicator object to retrieve information
 	// from other objects owned by the phone
@@ -217,6 +217,10 @@
 	TInt CheckSimTsyVersion(RMobilePhone::CImsAuthorizationInfoV5& aDataStruct);
 	TInt CheckSimTsyVersion(RPacketContext::CTFTMediaAuthorizationV3& aDataStruct);
 	
+	// Callback function invoked by the observer object
+	void HandleTestNumberChangedL();
+	TInt CheckConfigFile();
+	
 protected:
 	void ConstructL();
 
@@ -253,6 +257,7 @@
 	TInt CopyServiceTable(RMobilePhone::TMobilePhoneServiceTableV1* aFrom, RMobilePhone::TMobilePhoneServiceTableV1* aTo);
 	TInt CopyServiceTableV8(RMobilePhone::TMobilePhoneServiceTableV8* aFrom, RMobilePhone::TMobilePhoneServiceTableV8* aTo);
 
+	void ReadConfigurationFileL();
 	TInt NotifyModeChange(const TTsyReqHandle aTsyReqHandle, RMobilePhone::TMobilePhoneNetworkMode* aCaps);
 	TInt NotifyModeChangeCancel(const TTsyReqHandle aTsyReqHandle);
 
@@ -296,6 +301,7 @@
 	CSimONStore*								iONStore;
 	
 	CTestConfig*             					iConfigFile;        //< Pointer to the Configuration file reader
+	CTestConfigSection*                         iConfigSection;     //< Pointer to the Configuration section for current test. 
 	TBuf8<KMaxName>          					iSectionName;
 	CSimSat*                 					iSat;               //< Pointer to the Sat object
 	CSimPacketService*       					iPacketService;     //< Pointer to the Packet object
@@ -365,7 +371,31 @@
 		CSimPhone *iPhone;
 		TTsyReqHandle iHandle;
 		};
-	CSetCallProcessingSuspendStateTimerCallBack iTimerCallBackSetCallProcessingSuspendState;
+	
+	// Observer class monitoring test number property
+	NONSHARABLE_CLASS(CSimTestNumberObserver) : public CActive
+	    {
+	public:
+	    static CSimTestNumberObserver* NewL(CSimPhone& aSimPhone);
+	    virtual ~CSimTestNumberObserver();
+	        
+	private:    // methods from CActive
+	    virtual void RunL();
+	    virtual void DoCancel();
+	        
+	private:
+	    CSimTestNumberObserver(CSimPhone& aSimPhone);
+	    void ConstructL();
+	    void Start();
+	    
+	private:
+	    CSimPhone& iSimPhone;   // Reference to sim phone object (owner object)
+	    RProperty iProperty;   // Property describing the event we require notification of
+	    };
+	
+private:
+    CSetCallProcessingSuspendStateTimerCallBack iTimerCallBackSetCallProcessingSuspendState;
+    CSimTestNumberObserver* iTestNumberObserver; 
 	};
 
 #endif
--- a/telephonyserverplugins/simtsy/inc/SimConstants.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/inc/SimConstants.h	Fri Apr 16 16:12:37 2010 +0300
@@ -166,7 +166,6 @@
 _LIT8(KPLMNFieldDefault, "\x50\x03\x21\x44\x21");	// < Default PLMN field TLV buffer.  This corresponds to tag=80, len=3,val=(MCC=123, MNC=123)
 
 _LIT8(KSubscriberId,"SubscriberId");			// < Configuration tag for Subscriber ID
-_LIT8(KSubscriberIdDefault,"01234567890123");	// < Default Subscriber ID (used if no Subscriber ID tag is present)
 _LIT8(KPhoneId,"PhoneId");			// < Configuration tag for PhoneId
 _LIT8(KPhoneManufacturerDefault, "Symbian");	// < Default Manufacturer 
 _LIT8(KPhoneModelDefault, "888");	// < Default Model 
--- a/telephonyserverplugins/simtsy/inc/SimTsy.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/inc/SimTsy.h	Fri Apr 16 16:12:37 2010 +0300
@@ -229,5 +229,8 @@
 _LIT(KPhoneName,"SimulatorPhone");       //< The name of the phone supported by the Simulator TSY.
 _LIT(KVoiceLineName,"Voice");            //< The name of the voice line supported by the Simulator TSY.
 _LIT(KDataLineName,"Data");              //< The name of the data line supported by the Simulator TSY.
+_LIT8(KSIMTSYSubSystem, "SIMTSY");       ///< The name of the sub-system used by Comms Debug Utility.
+_LIT8(KSubscriberIdDefault,"01234567890123");   /// < Default Subscriber ID for the Simulator TSY (used if no Subscriber ID tag is present)
+_LIT8(KIccIdDefault, "01234567890123456789");   /// < Default ICC ID for the Simulator TSY (used if no ICC ID tag is present)
 
 #endif // __SIMTSY_H__
--- a/telephonyserverplugins/simtsy/inc/Simlog.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/inc/Simlog.h	Fri Apr 16 16:12:37 2010 +0300
@@ -64,6 +64,7 @@
 
 #include <comms-infras/commsdebugutility.h>
 #include <etelmm.h>
+#include "SimTsy.h"
 
 #ifdef _DEBUG
 #define _SIMTSY_LOGGING_ENABLED
@@ -72,8 +73,6 @@
 
 #ifdef _SIMTSY_LOGGING_ENABLED
 
-_LIT8(KSIMTSYSubSystem, "SIMTSY");
-
 #define SIMTSYFLOG1(N,A)                 { \
 									  _LIT8(KLogString, A); \
 									  __FLOG_STATIC0(KSIMTSYSubSystem,(N),KLogString); \
--- a/telephonyserverplugins/simtsy/inc/csimsmsmess.h	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/inc/csimsmsmess.h	Fri Apr 16 16:12:37 2010 +0300
@@ -96,7 +96,9 @@
 
 // MSubSessionExtBaseTSY pure virtual
 	virtual TInt ExtFunc(const TTsyReqHandle aTsyReqHandle,const TInt aIpc,const TDataPackage& aPackage);
-
+	
+	void ReloadConfigurationSettingsL();
+	
 protected:
 	void ConstructL();
 
@@ -120,8 +122,6 @@
 		ESmsRxStateWaitingToStart
 		} iRxState;
 		
-	TSmsRxState iRxStatePrevious;
-
 	enum TSmsTxEvent
 		{
 		ESmsEventSendReq,
@@ -195,10 +195,12 @@
     void AppendNpiToBuffer(TDes8& aBuffer, const RMobilePhone::TMobileNPI& aNpi);
 #endif
     	
-	TInt ReloadConfigL(const TTsyReqHandle aReqHandle);
 	HBufC8* PduToAscii(TDesC8& aSmsPdu);
 	void DumpPdu(const TDesC8& aText, TDesC8& aSmsPdu, HBufC8* aPduInAscii = 0);
 	
+	void Reset();
+	void InitializeL();
+	
 private:
 	
 	CSimTimer* iRxTimer;
--- a/telephonyserverplugins/simtsy/src/CSimCallForwarding.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/src/CSimCallForwarding.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -652,7 +652,7 @@
 	}
 	
 	
-void CSimCallForwarding::UpdateCFQuiescentCondition(TBool aActivate, 
+void CSimCallForwarding::UpdateCFQuiescentConditionL(TBool aActivate, 
 													RMobilePhone::TMobilePhoneCFCondition aCF)
 	{
 	// only the Call Forward Unconditional can alter any other CF condition
@@ -828,7 +828,7 @@
 	if(callForwardActivated)
 		{
 		// only need to check quiescent status if an activation has occurred
-		UpdateCFQuiescentCondition(ETrue, theNewEntry.iCondition);	
+		UpdateCFQuiescentConditionL(ETrue, theNewEntry.iCondition);	
 		}
 
 	CleanupStack::PopAndDestroy(thePrevCFList);
@@ -1000,7 +1000,7 @@
 	if(callForwardDeactivated)
 		{		
 		// pass a FALSE to the function to notify of a service de-activation
-		UpdateCFQuiescentCondition(EFalse, theNewEntry.iCondition);
+		UpdateCFQuiescentConditionL(EFalse, theNewEntry.iCondition);
 		}
 
 	// now delete the old memory	
--- a/telephonyserverplugins/simtsy/src/CSimPhone.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/src/CSimPhone.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -198,6 +198,34 @@
  		}
  	}
 
+ 
+ 
+ void CSimPhone::SetTestNumberAndReadConfigurationFileL()
+     {
+     TInt testNumber;
+     User::LeaveIfError(GetTestNumber(testNumber));
+     iSectionName.Format(KSectionNameFormat,testNumber);
+     
+     delete iConfigFile;
+     iConfigFile = NULL;
+         
+     TRAPD(err, iConfigFile = CTestConfig::NewLC(iFs, KConfigFileDir, KConfigFilename); CleanupStack::Pop(iConfigFile));
+     if( err == KErrNone && iConfigFile->Section(iSectionName) != NULL )
+         {
+         iConfigSection = iConfigFile->Section(iSectionName);
+         }
+    else
+        {
+        LOGPHONE2("Section for requested test number (%d) not found in the Config File",testNumber);
+        delete iConfigFile;
+        iConfigFile = NULL;
+
+        User::Leave(KErrNotFound);
+        }
+     
+     User::LeaveIfError(SetTestNumberInUse(testNumber));
+     }
+ 
 void CSimPhone::ConstructL()
 /**
 * 2 Phase Construction (Second phase)
@@ -214,24 +242,11 @@
 #endif
 
 	LOGPHONE1("Starting to Load and Parse the Config File");
-	(void)User::LeaveIfError(iFs.Connect());
-	iConfigFile=CTestConfig::NewLC(iFs,KConfigFileDir,KConfigFilename);
-
-	TInt testNumber;
-	(void)User::LeaveIfError(GetTestNumber(testNumber));
-	iSectionName.Format(KSectionNameFormat,testNumber);
-	if(iConfigFile->Section(iSectionName)==NULL)
-		{
-        LOGPHONE2("Section for requested test number (%d) not found in the Config File",testNumber);
-		CleanupStack::Pop();
-		User::Leave(KErrNotFound);
-		}
-	else
-		{
-		(void)User::LeaveIfError(SetTestNumberInUse(testNumber));
-		}
-	CleanupStack::Pop();	// iConfigFile pointer is safely stored as a member variable
-
+	
+	User::LeaveIfError(iFs.Connect());
+	
+	SetTestNumberAndReadConfigurationFileL();
+	
 	CSimTsyMode::InitL(this);
 
 	iReduceTimers = CSimReduceTimers::NewL();
@@ -293,18 +308,22 @@
 
 	TPtrC8 IMSI;
 	iSubscriberId.iError = KErrNone;
-	const CTestConfigItem* item=CfgFile()->Item(KSubscriberId);
-    if (item)
+	const CTestConfigItem* itemSubscriberId=CfgFile()->Item(KSubscriberId);
+    if( itemSubscriberId != NULL )
         {
-        TInt ret=CTestConfig::GetElement(item->Value(),KStdDelimiter,0,IMSI);
-        if(ret!=KErrNone)
+        TInt ret=CTestConfig::GetElement(itemSubscriberId->Value(),KStdDelimiter,0,IMSI);
+        if( ret != KErrNone )
+			{
             LOGPARSERR("IMSI",ret,0,&KSubscriberId);
+			}
         // coverity[check_return]
-        CTestConfig::GetElement(item->Value(),KStdDelimiter,1,iSubscriberId.iError);
+        CTestConfig::GetElement(itemSubscriberId->Value(),KStdDelimiter,1,iSubscriberId.iError);
         iSubscriberId.iIMSI.Copy(IMSI);
         }
 	else
+		{
 		iSubscriberId.iIMSI.Copy(KSubscriberIdDefault);
+		}
 
 	iNtwkMode=(RMobilePhone::TMobilePhoneNetworkMode)CfgFile()->ItemValue(KNetworkMode,KNetworkModeDefault);
 	//get phone id from config file
@@ -332,7 +351,7 @@
 	iNetworkModeTimer = CSimTimer::NewL(this);
 	//< Read in all network mode data
 	TInt count = CfgFile()->ItemCount(KNetworkMode);
-	item = NULL;
+	const CTestConfigItem* item = NULL;
 	for (TInt i = 0; i < count; ++i)
 		{
 		item = CfgFile()->Item(KNetworkMode,i);
@@ -388,7 +407,8 @@
 		iNetworkModeTimer->Start(initialNetworkMode.iDuration, &iTimerCallBackNetworkMode);
 		}
 	// end of network mode simulation setup
-
+	iTestNumberObserver = CSimTestNumberObserver::NewL(*this);
+	
 	LOGPHONE1("Completed Loading and Parsing the Config File");
 	}
 
@@ -411,6 +431,7 @@
 	else
 		{
 		aTestNumber = KDefaultTestNumber;
+		LOGPHONE2("Using the default test number. testNumber=%d", aTestNumber);
 		}
 
 	return KErrNone;
@@ -479,8 +500,7 @@
 	if (iUSIMServiceTableV8 != NULL)		
 		delete(iUSIMServiceTableV8);
 	
-	
-	if(iPhBkStores)
+	if( iPhBkStores != NULL )
 		{
 		TInt storeCount=iPhBkStores->Count();
 		for(TInt i=0;i<storeCount;i++)
@@ -489,9 +509,8 @@
 			}
 		delete iPhBkStores;
 		}
-
-	if(iPhBkUSimStores)
-	{
+	if( iPhBkUSimStores != NULL )
+	    {
 		TInt storeCount=iPhBkUSimStores->Count();
 		for(TInt i=0;i<storeCount;i++)
 			{
@@ -505,28 +524,30 @@
 		iONStore->Close();
 		iONStore = NULL;
 		}
-	
-
-	if (iNetworkModeArray != NULL)
+	if( iNetworkModeArray != NULL )
 		{
 		iNetworkModeArray->Delete(0,iNetworkModeArray->Count());
 		delete iNetworkModeArray;
 		}
-
-
-	if(iPacketService)
+	if( iPacketService!= NULL )
+	    {
 		iPacketService->Close();
-
-	if(iSat)
+	    }
+	if( iSat != NULL )
+	    {
 		iSat->Close();
-	if(iConfigFile)
-		delete iConfigFile;
-	if(iCallBarring)
-		delete iCallBarring;
-	if (iCallForwarding)
-		delete iCallForwarding;
-	if (iCallWaiting)
-		delete iCallWaiting;
+	    }
+	if( iConfigFile == NULL)
+	    {
+	    // In this case if iConfigSection exists then it is not owned
+	    // by iConfigFile - this is cos there was no config file for
+	    // this SIM TSY.
+	    delete iConfigSection;
+	    }
+	delete iConfigFile;
+    delete iCallBarring;
+    delete iCallForwarding;
+    delete iCallWaiting;
 
 	if (iSetCallProcessingSuspendStateTimer)
 		{
@@ -536,7 +557,8 @@
 	delete iSimPhoneInitialise;
 	
 	delete iReduceTimers;
-
+	delete iTestNumberObserver;
+	
 	CSimTsyMode::FreeMode();
 	LOGPHONE1("CSimPhone Destroyed");
 	}
@@ -2174,12 +2196,18 @@
 	if (iSubscriberId.iError == KErrNone)
 		{
 		if(iSubscriberId.iIMSI.Length()>RMobilePhone::KIMSISize)
+		    {
 			subscribe.Copy(iSubscriberId.iIMSI.Left(RMobilePhone::KIMSISize));
+		    }
 		else
+		    {
 			subscribe.Copy(iSubscriberId.iIMSI);
+		    }
 		}
 	else
+	    {
 		ret = iSubscriberId.iError;
+	    }
 	ReqCompleted(aReqHandle,ret);
 	return KErrNone;
 	}
@@ -2191,7 +2219,7 @@
 * @return CTestConfigSection	pointer to the configuration file section
 */
 	{
-	return iConfigFile->Section(iSectionName);
+	return iConfigSection;
 	}
 
 const CTestConfigSection* CSimPhone::DefaultCfgFile()
@@ -2201,6 +2229,10 @@
 * @return CTestConfigSection	pointer to the default configuration file section
 */
 	{
+	if( iConfigFile == NULL )
+	    {
+	    return NULL;
+	    }
 	return iConfigFile->Section(KScriptDefaults);
 	}
 
@@ -2948,6 +2980,37 @@
 	}
 
 /**
+ * Callback function invoked by the observer object when test number property is changed.
+ * This function is supposed to reset SIMTSY. Currently only SMS messaging part of SIMTSY
+ * is re-started with the new test number.
+ */
+void CSimPhone::HandleTestNumberChangedL()
+    {
+    SetTestNumberAndReadConfigurationFileL();
+    iSmsMessaging->ReloadConfigurationSettingsL();
+    }
+
+TInt CSimPhone::CheckConfigFile()
+    {
+    TInt testNumber;
+    User::LeaveIfError(GetTestNumber(testNumber));
+    iSectionName.Format(KSectionNameFormat,testNumber);
+    
+    CTestConfig* configFile = NULL; 
+
+    TRAPD(err, configFile = CTestConfig::NewLC(iFs, KConfigFileDir, KConfigFilename); CleanupStack::Pop(configFile));
+    if( err != KErrNone || configFile->Section(iSectionName) != NULL )
+        {
+        err = KErrNone;
+        }
+    else
+        {
+        err = KErrNotFound;
+        }
+    delete configFile;
+    return err;
+    }
+/**
 	Constructor for suspend call processing timer
 */
 CSimPhone::CSetCallProcessingSuspendStateTimerCallBack::CSetCallProcessingSuspendStateTimerCallBack()
@@ -3050,14 +3113,6 @@
 	iNetworkModeTimer->Start(iNetworkModeArray->At(iNetworkModeIndex).iDuration, &iTimerCallBackNetworkMode);
 	}
 
-
-void CSimPhone::ResetTestNumber()
-	{
-	TInt testNumber;
-	GetTestNumber(testNumber);
-	iSectionName.Format(KSectionNameFormat,testNumber);
-	}
-
 TInt CSimPhone::CheckSimTsyVersion(RMobilePhone::TMultimodeType& aDataStruct) // overload this for other types of structures
 /**
 * Checks the version of a data structure against the (simulated) version of SIMTSY, in order
@@ -3247,3 +3302,61 @@
 		
 	return ret;	
 	}
+////////////////////
+// CSimTestNumberObserver
+////////////////////
+
+CSimPhone::CSimTestNumberObserver::CSimTestNumberObserver(CSimPhone& aSimPhone)
+: CActive(CActive::EPriorityStandard),
+  iSimPhone(aSimPhone)
+    {
+    CActiveScheduler::Add(this);
+    }
+
+CSimPhone::CSimTestNumberObserver::~CSimTestNumberObserver()
+    {
+    Cancel();
+    iProperty.Close();
+    }
+
+CSimPhone::CSimTestNumberObserver* CSimPhone::CSimTestNumberObserver::NewL(CSimPhone& aSimPhone)
+    {
+    CSimPhone::CSimTestNumberObserver* self = new(ELeave)CSimPhone::CSimTestNumberObserver(aSimPhone);
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+    }
+
+void CSimPhone::CSimTestNumberObserver::ConstructL()
+    {
+    LOGPHONE1("CSimPhone::CSimPhoneObserver::ConstructL");
+    User::LeaveIfError(iProperty.Attach(KUidPSSimTsyCategory, KPSSimTsyTestNumber));
+    Start();
+    }
+
+void CSimPhone::CSimTestNumberObserver::Start()
+    {
+    LOGPHONE1("CSimPhone::CSimPhoneObserver::Start");
+    iProperty.Subscribe(iStatus);
+    SetActive();
+    }
+
+void CSimPhone::CSimTestNumberObserver::RunL()
+    {
+    LOGPHONE2("CSimPhone::CSimPhoneObserver::RunL [iStatus=%d]", iStatus.Int());
+    TInt err = iSimPhone.CheckConfigFile();
+    if( err == KErrNone )
+        {
+        iSimPhone.HandleTestNumberChangedL();
+        }
+
+    Start();
+    }
+
+void CSimPhone::CSimTestNumberObserver::DoCancel()
+    {
+    LOGPHONE1("CSimPhone::CSimPhoneObserver::DoCancel");
+    iProperty.Cancel();
+    }
+
--- a/telephonyserverplugins/simtsy/src/csimsmsmess.cpp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/src/csimsmsmess.cpp	Fri Apr 16 16:12:37 2010 +0300
@@ -68,6 +68,11 @@
  * If there are no constraints any SMS specified in the configuration file and the "incoming SMS event" timer will
  * be started.
  */
+    {
+    InitializeL();
+    }
+
+void CSimSmsMessaging::InitializeL()
 	{
 	LOGSMS1("Starting to Load and Parse Sms Messaging Config ");
 	iRxTimer=CSimTimer::NewL(iPhone);
@@ -95,48 +100,70 @@
 	}
 
 
-CSimSmsMessaging::~CSimSmsMessaging()
-/**
- *	Standard destructor.  Any objects created by the ::ConstructL() function should be destroyed here.
- */
-	{
-	if(iSmsRxParameterListGsm)
+void CSimSmsMessaging::Reset()
+    {
+ 	if(iSmsRxParameterListGsm)
 		{
 		iSmsRxParameterListGsm->Delete(0,iSmsRxParameterListGsm->Count());
 		delete iSmsRxParameterListGsm;
+        iSmsRxParameterListGsm = NULL;
 		}
 		
 	if(iSmsTxParametersListGsm)
 		{
 		iSmsTxParametersListGsm->Delete(0,iSmsTxParametersListGsm->Count());
 		delete iSmsTxParametersListGsm;
+        iSmsTxParametersListGsm = NULL;
 		}
 			
-	delete iSmspEntries;
-
-	if (iSmsStores)
-		{
-		TInt storeCount=iSmsStores->Count();	
-		for(TInt i=0;i<storeCount;i++)
-			{
-			iSmsStores->At(i)->Close();
-			}
-		delete iSmsStores;
-		}
+    delete iSmspEntries;
+    iSmspEntries = NULL;
+    
+    if (iSmsStores)
+        {
+        TInt storeCount=iSmsStores->Count();    
+        for(TInt i=0;i<storeCount;i++)
+            {
+            iSmsStores->At(i)->Close();
+            }
+        delete iSmsStores;
+        iSmsStores = NULL;
+        }
 
-	if (iSmspReadAll)
-		{
-		iSmspReadAll->ResetAndDestroy();
-		delete iSmspReadAll;
-		}
-	
-	iConstraints.Close();
-	if(iRxTimer)
-		delete iRxTimer;
-	if(iTxTimer)
-		delete iTxTimer;
-	if(iSmspTimer)
-		delete iSmspTimer;
+    if (iSmspReadAll)
+        {
+        iSmspReadAll->ResetAndDestroy();
+        delete iSmspReadAll;
+        iSmspReadAll = NULL;
+        }
+        
+    iConstraints.Reset();
+    
+    iSmsTxCnt = 0;
+    iSmsRxCnt = 0;
+    iCurrentConstraint = 0;
+    iConstraintRxCnt = 0;
+    
+    iSmspBusy   = EFalse;
+    iRxState    = ESmsRxStateIdle;
+    iTxState    = ESmsTxStateIdle;
+       
+    delete iRxTimer;
+    iRxTimer = NULL;
+
+    delete iTxTimer;
+    iTxTimer = NULL;
+    
+    delete iSmspTimer;
+    iSmspTimer = NULL;
+    }
+
+CSimSmsMessaging::~CSimSmsMessaging()
+/**
+ *	Standard destructor.  Any objects created by the ::ConstructL() function should be destroyed here.
+ */
+	{
+	Reset();
 	}
 
 void CSimSmsMessaging::FindAndCreateRxAttributesL()
@@ -816,8 +843,8 @@
 	// NOTE - call ConstraintEllapsed() before doing loop below as iCurrentConstraint
 	// is updated in the loop and so can result in ConstraintEllapsed() giving a 
 	// different result
-	
-	for(i=0;i<iConstraints.Count();i++)
+	TInt count = iConstraints.Count(); 
+	for(i=0;i<count;++i)
 		{
 		if(iSmsTxCnt==(iConstraints[i].iIpcCnt))
 			{
@@ -1247,6 +1274,7 @@
 	{
 	if(iSmsRxReqOutstanding)
 		{
+		iRxTimer->Cancel();
 		iSmsRxReqOutstanding=EFalse;
 		iRxState=ESmsRxStateIdle;
 		ReqCompleted(iSmsRxReqHandle,KErrCancel);
@@ -1570,6 +1598,21 @@
 	if(IpcMatch())
 		{
 		iConstraintRxCnt=0;
+		if( iRxState == ESmsRxStateSuspend )
+		    {
+		    // A previous rx message was NACKed due memory full and 
+		    // SIM TSY is waiting for resume event from client - as
+		    // a new message needs to be received, change states
+		    // to allow receipt of the message.
+		    if( iSmsRxReqOutstanding )
+		        {
+		        iRxState = ESmsRxStateWaitingForSmsRx;
+		        }
+		    else
+		        {
+		        iRxState = ESmsRxStateIdle;
+		        }
+		    }
 		if( iSmsRxReqOutstanding )
 			{
 			// Client has a pending receive request - safe to start Rx timer
@@ -2103,58 +2146,15 @@
 	}
 
 
-TInt CSimSmsMessaging::ReloadConfigL(const TTsyReqHandle aReqHandle)
+void CSimSmsMessaging::ReloadConfigurationSettingsL()
 /**
- * This function reloads the Rx, Tx and constraint parameters from the config file
- * @param aReqHandle Handle to notify when operation completed
- * @return KErrNone
+ *  This function reloads settings from the config file
  */
-	{
-	LOGSMS1("Reloading configuration");
-	//Tell SimPhone to reread the test number property
-	iPhone->ResetTestNumber();
-	//Delete current configuration
-	iSmsRxParameterListGsm->Reset();	
-	iSmsTxParametersListGsm->Reset();
-	
-	iSmsTxCnt = 0;
-	iSmsRxCnt = 0;
-	iConstraints.Reset();
-	iCurrentConstraint = 0;
-	iConstraintRxCnt = 0;
-	//Reread the configuration
-	TInt err;
-	TRAP(err, FindAndCreateRxAttributesL());
-	if (err != KErrNone) return err;
-	TRAP(err, FindAndCreateTxAttributesL());
-	if (err != KErrNone) return err;
-	FindAndCreateConstraints();
-	
-	TInt count;
-	count = iSmsRxParameterListGsm->Count();
-		
-	if((count>0)&&(iConstraints.Count()==0))	// If there are messages to receive & no constraints, then
-		{
-		if (iRxTimer->Running())
-			{
-			iRxTimer->Cancel();
-			}
-		LOGSMS1("Starting Rx Timer");
-		iRxStatePrevious = iRxState;
-		iRxState = ESmsRxStateWaitingToStart;
-		iRxTimer->Start(iSmsRxStartDelay,this, ETimerIdSmsMessRx);
-		}
-	else if (iRxTimer->Running())
-		{
-		LOGSMS1("Stopping Rx Timer");
-		iRxTimer->Cancel();
-		}
-		
-	LOGSMS1("Finished reloading configuration");
-	ReqCompleted(aReqHandle,KErrNone);
-	return KErrNone;
-	}
-	
+    {
+    Reset();
+    InitializeL();
+    }
+
 HBufC8* CSimSmsMessaging::PduToAscii(TDesC8& aSmsPdu)
 /**
  * Converts the contents of a TDes8 to their Hex representation
--- a/telephonyserverplugins/simtsy/test/Te_SimNetwork/Te_SimNetwork_config.txt	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyserverplugins/simtsy/test/Te_SimNetwork/Te_SimNetwork_config.txt	Fri Apr 16 16:12:37 2010 +0300
@@ -143,6 +143,19 @@
 #  6 = Denied
 #  7 = Roaming
 
+
+NetworkMode= 5,2
+NetworkMode= 5,6
+#NetworkMode= <Duration>, <NetworkMode>
+# <NetworkMode>:
+#  0 = Unknown
+#  1 = Unregistered
+#  2 = GSM
+#  3 = AMPS
+#  6 = WCDMA
+#  7 = TDCDMA
+
+
 PacketRegStatus= 5,2
 PacketRegStatus= 2,1
 PacketRegStatus= 3,5
--- a/telephonyutils/dial/group/telephony_dial.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyutils/dial/group/telephony_dial.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_dial
 source	\sf\os\cellularsrv\telephonyutils\dial
 
--- a/telephonyutils/etel3rdpartyapi/Group/telephony_etel3rdparty.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyutils/etel3rdpartyapi/Group/telephony_etel3rdparty.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_etel3rdparty
 source	\sf\os\cellularsrv\telephonyutils\etel3rdpartyapi
 binary	\sf\os\cellularsrv\telephonyutils\etel3rdpartyapi\Group	all
--- a/telephonyutils/telephonywatchers/group/telephony_watchers.mrp	Fri Mar 19 09:55:57 2010 +0200
+++ b/telephonyutils/telephonywatchers/group/telephony_watchers.mrp	Fri Apr 16 16:12:37 2010 +0300
@@ -1,3 +1,19 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
 component	telephony_watchers
 source	\sf\os\cellularsrv\telephonyutils\telephonywatchers
 binary	\sf\os\cellularsrv\telephonyutils\telephonywatchers\group	all