merge
authorBrendan Donegan brendand@symbian.org
Mon, 21 Sep 2009 16:18:20 +0100
changeset 480 f8a0be15f790
parent 479 b6c4098af3f0 (diff)
parent 476 0af8245d50a0 (current diff)
child 481 83ca46124914
merge
--- a/common/build.postbuild.xml	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/build.postbuild.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -3,38 +3,45 @@
     <target name="sf-postbuild">
         <echo>[SF-POSTBUILD]</echo>
         <parallel>                
-        <!-- TAG SOURCE CODE -->
-        <if>
-            <istrue value="${sf.spec.tagafterbuild.enable}" />
-            <then>
-                <echo message="Apply tag to the source code used in this build"/>
-                <runtarget target="sf-tag-hg-code"/>
-            </then>
-        </if>
-        
-        <if>
-            <istrue value="${sf.spec.md5.enable}"/>
-            <then>
-                <echo message="INFO Creating MD5s"/>
-                <runtarget target="sf-run-evalid"/>
-            </then>
-        </if>
-        <if>
-            <istrue value="${sf.spec.package.bin.enable}"/>
-            <then>
-                <echo message="INFO Packaging Binaries"/>
-                <runtarget target="sf-package-binary"/>
-                <runtarget target="sf-package-tools"/>
-
-                <echo message="INFO Validate Zip files"/>
-                <runtarget target="sf-package-validate"/>
-            </then>
-        </if>
-        <!-- run build analysis tools -->
-        <runtarget target="sf-run-analysis"/>
-        
+            <!-- TAG SOURCE CODE -->
+            <if>
+                <istrue value="${sf.spec.tagafterbuild.enable}" />
+                <then>
+                    <echo message="Apply tag to the source code used in this build"/>
+                    <runtarget target="sf-tag-hg-code"/>
+                </then>
+            </if>
+            
+            <!-- Create MD5s -->
+            <if>
+                <istrue value="${sf.spec.md5.enable}"/>
+                <then>
+                    <echo message="INFO Creating MD5s"/>
+                    <runtarget target="sf-run-evalid"/>
+                </then>
+            </if>
+            
+            <!-- Package up the binaries we built -->
+            <if>
+                <istrue value="${sf.spec.package.bin.enable}"/>
+                <then>
+                    <echo message="INFO Packaging Binaries"/>
+                    <runtarget target="sf-package-binary"/>
+                    <runtarget target="sf-package-tools"/>
+    
+                    <echo message="INFO Validate Zip files"/>
+                    <runtarget target="sf-package-validate"/>
+                </then>
+            </if>
+            
+            <!-- run build analysis tools -->
+            <runtarget target="sf-run-analysis"/>
+            
+	    <!-- Generate reports to compare this build to a previous one -->
+            <runtarget target="sf-compare-to-baseline"/>
         </parallel>
         
+        <!-- Launch smoketest -->
         <if><istrue value="${sf.spec.test.sendpkg.enable}"/>
             <then>
                 <runtarget target="sf-build-smoketestpkg"/>
@@ -42,17 +49,17 @@
             </then>
         </if>
 
-
-        <runtarget target="sf-zip-logs"/>
-
-        <!-- Do BC check -->
+        <!-- Launch BC check -->
         <if><istrue value="${sf.spec.bccheck.enable}"/>
             <then>
                 <runtarget target="sf-bc-check"/>
             </then>
         </if>
 
-        <!-- PUBLISH LOGS/REPORTS -->
+        <!-- Zip up all the logs -->
+        <runtarget target="sf-zip-logs"/>
+
+        <!-- Publish logs/reports -->
         <if>
             <istrue value="${sf.spec.publish.enable}" />
             <then>
@@ -228,19 +235,10 @@
     </target>
 
     <target name="sf-package-postbuild-rnd" depends="sf-preprocess-package-config">
-
-        <!-- zip any RnD _includefile.txt files generated during source packaging -->
-        <exec executable="perl" dir="${build.drive}/" failonerror="false" output="${build.log.dir}/zip_postbuild.log">
-            <arg value="${sf.common.config.dir}/tools/zip_includefiles.pl"/>
-        </exec>
-        <!-- cleanup my moving includefiles to logs and zips to zips\release -->
-        <move todir="${build.log.dir}">
-            <fileset dir="${build.drive}"><include name="*_includefile.txt"/></fileset>
-        </move>
-        <move todir="${build.drive}/output/zips/release">
-            <fileset dir="${build.drive}"><include name="bin*.zip"/></fileset>
-        </move>
-        <!-- TODO: merge with release_metadata.xml ? -->
+        <antcall target="sf-zip-content">
+            <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
+            <param name="zip.target.name" value="rnd-postbuild" />
+        </antcall>
     </target>
 
     <target name="sf-package-tools" depends="sf-preprocess-package-config">
@@ -249,7 +247,6 @@
             <arg value="a"/>
             <arg value="-tzip"/>
             <arg value="-x@${build.log.dir}/rnd_excludefile.txt"/>
-<!--            <arg value="-x@${build.log.dir}/*_includefile.txt"/> -->
             <arg value="${build.drive}/output/zips/release/tools_epoc.zip"/> 
             <arg value="epoc32/tools"/>
         </exec>
@@ -455,6 +452,7 @@
             <arg value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
             <arg value="${build.id}_what_results.csv_results.csv"/>
             <arg value="${sf.project.location}/sysdefs/system_model_os.xml"/>
+            <arg value="${sf.project.location}/sysdefs/system_model_s60.xml"/>
         </exec>
     </target>
     
@@ -476,6 +474,58 @@
       </fmpp>
     </target>    
 
+    <target name="sf-check-utilities-dir">
+        <available property="sf-utilities-available" file="${build.drive}/utilities" type="dir"/>
+    </target>
+
+    <target name="sf-compare-to-baseline" depends="sf-diamondize-bom,sf-check-utilities-dir" if="sf-utilities-available">
+        <property name="sf.releasenotes.wiki.txt" value="${build.log.dir}/releaseNotes.wiki.txt"/>
+        <delete file="${sf.releasenotes.wiki.txt}"/>
+        <!-- FCL usage -->
+        <!-- TODO -->
+        <!-- Mercurial comparison -->
+        <echo file="${sf.releasenotes.wiki.txt}" append="true">== Mercurial Comparison ==
+
+</echo>
+        <if>
+            <isset property="sf.previous.pdk.tag"/>
+            <then>
+                <echo file="${sf.releasenotes.wiki.txt}" append="true">The Mercurial changes from Nokia were delivered as a bulk update based on '''XXXXXXXXXXXXXXXXXXXXXX'''.
+
+List of the Mercurial changes (files added/removed/modified) between ${sf.previous.pdk.tag} and PDK '''XXXXX''' - [[Media:XXXX.txt]].
+
+A short study of the results concentrating on the added and removed files has identified these significant package changes:
+
+</echo>
+                <if>
+                    <istrue value="${sf.spec.sourcesync.archive}"/>
+                    <then>
+                        <echo file="${sf.releasenotes.wiki.txt}" append="true">'''Information cannot be derived as source was synced with archive option'''"
+
+</echo>
+                    </then>
+                    <else>
+                        <exec executable="perl" dir="${build.drive}/" output="${sf.releasenotes.wiki.txt}" append="true">
+                            <arg value="${build.drive}/utilities/releaseAutomation/mercurialComparison.pl"/>
+                            <arg value="${build.log.dir}/BOM/build-info.xml"/>
+			    <arg value="${sf.previous.pdk.tag}"/>
+                            <arg value="${build.log.dir}/mercurialComparison.tsv"/>
+                        </exec>
+                    </else>
+                </if>
+            </then>
+            <else>
+                <echo file="${sf.releasenotes.wiki.txt}" append="true">'''Information cannot be provided as the tag for the previous PDK was not provided to the build'''"
+
+</echo>
+            </else>
+        </if>
+        
+        <!-- Code churn -->
+        <!-- TODO? -->
+        <fixcrlf file="${sf.releasenotes.wiki.txt}"/>
+    </target>
+
     <!-- package all logs into zipfile before publish -->
     <target name="sf-zip-logs">
         <if>
@@ -490,6 +540,8 @@
                     <exclude name="output/logs/deliverables/**"/>
                     <exclude name="output/logs/releaseables/**"/>
                 </zip>
+                <!-- workaround for the time when when 'sf-run-analysis-raptor' has not been run -->
+                <mkdir dir="${build.drive}/output/logs/releaseables"/> 
                 <zip destfile="${temp.log.dir}/build_BOM.zip">
                     <zipfileset dir="${build.drive}/output/logs/BOM" prefix="build_info/logs/BOM"/>
                     <zipfileset dir="${build.drive}/output/logs/releaseables" prefix="build_info/logs/releaseables"/>
--- a/common/build.test.xml	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/build.test.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -1,6 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project name="SF-COMMON-TEST" xmlns:hlm="http://www.nokia.com/helium">
 
+    <target name="sf-test-smoketest" depends="sf-prebuild,sf-build-smoketestpkg,sf-send-testpkg,sf-zip-logs,sf-publish" />
+    <target name="sf-test-bc-check" depends="sf-prebuild,sf-bc-check,sf-zip-logs,sf-publish" />
+
     <target name="sf-find-ATS-worker-root">
       <exec executable="perl" dir="${sf.common.config.dir}/tools/ats/devices" failonerror="false" outputproperty="sf.spec.test.workerroot">
         <arg value="-pe"/>
--- a/common/build.xml	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/build.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -229,31 +229,23 @@
             <arg value="showconfig"/>
             <arg value="paths.default"/>
         </exec>
-        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.rev">
-            <arg value="identify"/>
-            <arg value="-n"/>
-        </exec>
+        <propertyregex input="${sf.job.bom.config.repo}" regexp="\\" replace="/" global="true" property="sf.job.bom.config.repo" override="true"/>
         <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.checksum">
             <arg value="identify"/>
             <arg value="-i"/>
         </exec>
-        <echo message="dir ${sf.config.dir} : revision ${sf.job.bom.config.rev}:${sf.job.bom.config.checksum}"/>
-        <echo message="${sf.job.bom.config.repo},sf-config,${sf.job.bom.config.rev}:${sf.job.bom.config.checksum}" file="${build.drive}/output/logs/BOM/config.csv"/>
+        <echo message="${sf.job.bom.config.repo},sf-config,${sf.job.bom.config.checksum}" file="${build.drive}/output/logs/BOM/config.csv"/>
 
         <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.repo">
             <arg value="showconfig"/>
             <arg value="paths.default"/>
         </exec>
-        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.rev">
-            <arg value="identify"/>
-            <arg value="-n"/>
-        </exec>
+        <propertyregex input="${sf.job.bom.project.repo}" regexp="\\" replace="/" global="true" property="sf.job.bom.project.repo" override="true"/>
         <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.checksum">
             <arg value="identify"/>
             <arg value="-i"/>
         </exec>
-        <echo message="dir ${sf.project.location} : revision ${sf.job.bom.project.rev}:${sf.job.bom.project.checksum}"/>
-	<echo message="${sf.job.bom.project.repo},build/config,${sf.job.bom.project.rev}:${sf.job.bom.project.checksum}" file="${build.drive}/output/logs/BOM/project.csv"/>
+	<echo message="${sf.job.bom.project.repo},build/config,${sf.job.bom.project.checksum}" file="${build.drive}/output/logs/BOM/project.csv"/>
     </target>
 
     <target name="sf-getenvs">
@@ -419,47 +411,30 @@
         <ant antfile="${sf.common.config.dir}/generated/source-spec.ant.xml" />
     </target>
     
-    <target name="sf-diamondize-bom">
-        <if>
-            <istrue value="${sf.spec.publish.enable}"/>
-            <then>
-                <fmpp sourceFile="${sf.common.config.dir}/templates/build-info.xml.ftl"
-                      outputFile="${build.drive}/output/logs/sf-diamondize-bom.xml">
-                    <data expandProperties="yes">
-                        ant: antProperties()
-                        config: csv(${build.drive}/output/logs/BOM/config.csv,{separator:',',headers:[loc,dst,rev]})
-                        project: csv(${build.drive}/output/logs/BOM/project.csv,{separator:',',headers:[loc,dst,rev]})
-                        baseline: slicedText(${build.drive}/output/logs/BOM/baseline.txt,{trim})
-                        toolsbaseline: slicedText(${build.drive}/output/logs/BOM/toolsbaseline.txt,{trim})
-                        sources: csv(${build.drive}/output/logs/BOM/sources.csv,{separator:',',headers:[loc,dst,type,rev,sysdef]})              
-                    </data>
-                </fmpp>
-                <!-- Make a copy in BOM dir -->
-                <copy file="${build.drive}/output/logs/sf-diamondize-bom.xml" tofile="${build.log.dir}/BOM/build-info.xml"/>
-            </then>
-        </if>
+    <target name="sf-diamondize-bom" depends="sf-record-proj-conf-bom">
+        <fmpp sourceFile="${sf.common.config.dir}/templates/build-info.xml.ftl"
+              outputFile="${build.drive}/output/logs/sf-diamondize-bom.xml">
+            <data expandProperties="yes">
+                ant: antProperties()
+                config: csv(${build.drive}/output/logs/BOM/config.csv,{separator:',',headers:[loc,dst,rev]})
+                project: csv(${build.drive}/output/logs/BOM/project.csv,{separator:',',headers:[loc,dst,rev]})
+                baseline: slicedText(${build.drive}/output/logs/BOM/baseline.txt,{trim})
+                toolsbaseline: slicedText(${build.drive}/output/logs/BOM/toolsbaseline.txt,{trim})
+                sources: csv(${build.drive}/output/logs/BOM/sources.csv,{separator:',',headers:[loc,dst,type,rev,sysdef]})              
+            </data>
+        </fmpp>
+        <!-- Make a copy in BOM dir -->
+        <copy file="${build.drive}/output/logs/sf-diamondize-bom.xml" tofile="${build.log.dir}/BOM/build-info.xml"/>
     </target>
 
     <target name="sf-preprocess-package-config">
         <mkdir dir="${sf.common.config.dir}/generated"/>
-            <if><istrue value="${sf.spec.package.src.enable}"/>
-            <then>
-                <echo message="INFO Packaging Source Repos"/>
-                <property name="sf-preprocess-package-config.arg" value=""/>
-            </then>
-            <else>
-                <echo message="INFO Packaging: Ignoring Source Repos"/>
-                <property name="sf-preprocess-package-config.arg" value="--nosource"/>
-            </else>
-            </if>
-
         <exec executable="perl" dir="${build.drive}/" failonerror="false" output="${build.log.dir}/zipconfig.log">
             <arg value="${sf.common.config.dir}/tools/populateziptemplate.pl"/>
             <arg value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
             <arg value="${sf.common.config.dir}/templates/zip.cfg.xml.ftl.template"/>
             <arg value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
             <arg value="${build.log.dir}/rnd_excludefile.txt"/>
-            <arg value="${sf-preprocess-package-config.arg}"/>
         </exec>
     </target>
     
@@ -470,27 +445,50 @@
     </target>
     
     <target name="sf-package-source" depends="sf-preprocess-package-config">
-        <!-- Firstly zip up src & rnd by package -->
+        <!-- Firstly zip up rnd by package -->
+        <antcall target="sf-zip-content">
+            <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
+            <param name="zip.target.name" value="rnd" />
+        </antcall>
         <antcall target="sf-zip-content">
             <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
-            <param name="zip.target.name" value="src" />
+            <param name="zip.target.name" value="rnd-internal" />
         </antcall>
-        <!-- Then zip up src zips by layer -->
-        <antcall target="sf-zip-content">
-            <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
-            <param name="zip.target.name" value="src-by-layer" />
-        </antcall>
+        <if>
+            <istrue value="${sf.spec.package.src.enable}"/>
+            <then>
+                <echo message="INFO Packaging Source Repos"/>
+                <antcall target="sf-zip-content">
+                    <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
+                    <param name="zip.target.name" value="src" />
+                </antcall>
+                <!-- Then zip up src zips by layer -->
+                <antcall target="sf-zip-content">
+                    <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
+                    <param name="zip.target.name" value="src-by-layer" />
+                </antcall>
+            </then>
+        </if>
     </target>
     
-    <!-- unpack rnd zips if available -->
+    <!-- Unpack the rnd zips ready to be used in the build -->
     <target name="sf-unpack-rnd">
         <echo message="Unpacking any available RnD binaries"/>
-        <exec executable="7za" dir="${build.drive}" output="${build.log.dir}/unzip_${build.id}_binaries_rnd.log">
-        <arg value="x"/>
-        <arg value="-y"/> <!-- Need to unpack in overwrite mode, due to TEF -->
-        <arg value="${build.drive}/output/zips/bin*.zip"/>
-        </exec>
-    </target>    
-        
+        <for param="rndZip">
+            <fileset dir="${build.drive}/output/zips/">
+                <include name="binaries_*.zip"/> <!-- Internal rnd bins -->
+                <include name="release/bin_*.zip"/> <!-- Releaseable rnd bins -->
+            </fileset>
+            <sequential>
+                <exec executable="7za" dir="${build.drive}" output="${build.log.dir}/unzip_${build.id}_binaries_rnd.log" append="true">
+                    <arg value="x"/>
+                    <arg value="-y"/> <!-- Need to unpack in overwrite mode, due to TEF -->
+                    <arg value="-i!epoc32\*"/> <!-- Only unzip items into the epoc32 tree -->
+                    <arg value="@{rndZip}"/>
+                </exec>
+            </sequential>
+	</for>
+    </target>
+    
 </project>
 
--- a/common/templates/zip.cfg.xml.ftl.template	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/templates/zip.cfg.xml.ftl.template	Mon Sep 21 16:18:20 2009 +0100
@@ -19,14 +19,14 @@
 		<set name="grace.product" value="${grace.product.name}" />
 		<set name="grace.release" value="${grace.release.name}" />
 		
-		<!-- Specify this config to package all inputs to the build -->
+		<!-- Options that apply to all configs - don't put in any hg internals! -->
+		<set name="exclude" value="**/.hg/**"/>
+		<set name="exclude" value="**/.hgtags"/>
+		<set name="exclude" value="**/.hgignore"/>
+		<set name="exclude" value="**/.hg_archival.txt"/>
+		
+		<!-- Specify this config to package all src inputs to the build -->
 		<config name="src" abstract="true">
-			<!-- Options that apply to all src configs -->
-			<set name="exclude" value="**/.hg/**"/>
-			<set name="exclude" value="**/.hgtags"/>
-			<set name="exclude" value="**/.hgignore"/>
-			<set name="exclude" value="**/.hg_archival.txt"/>
-			
 			<!-- These configs will be populated with tags for the source -->
 			<config name="sfl" abstract="true">
 				<set name="grace.filters" value="src" />
@@ -34,17 +34,16 @@
 			<config name="oss" abstract="true">
 				<set name="grace.filters" value="src" />
 			</config>
-			<config name="rnd" abstract="true">
-				<set name="grace.filters" value="rnd" />
-			</config>
 			<config name="misc" abstract="true">
 				<set name="grace.filters" value="misc" />
 			</config>
 		</config>
+		<!-- Specify this config to double-package all src inputs to the build -->
 		<config name="src-by-layer" abstract="true">
-			<set name="grace.metadata" value="false" />
 			<set name="root.dir" value="${build.output.dir}/zips"/>
 			<set name="archives.dir" value="${build.output.dir}/zips/release" />
+			<set name="grace.filters" value="src" />
+			<set name="grace.extract" value="double" />
 			<!-- Zips of zips for SFL code -->
 			<config name="sfl-adaptation">
 				<set name="name" value="src_sfl_adaptation"/>
@@ -96,6 +95,15 @@
 				<set name="include" value="src_oss_tools_*.zip"/>
 			</config>
 		</config>
+		<!-- Specify this config to package all rnd inputs to the build that should be released -->
+		<config name="rnd" abstract="true">
+			<set name="grace.filters" value="rnd" />
+			<set name="archives.dir" value="${build.output.dir}/zips/release" />
+		</config>
+		<!-- Specify this config to package all rnd inputs to the build that should be released -->
+		<config name="rnd-internal" abstract="true">
+			<set name="grace.filters" value="emu" />
+		</config>
 		<!-- Specify this config to package all outputs from the build -->
 		<config name="bin" abstract="true">
 			<!-- This config will be populated with exclusions for the rnd bins -->
@@ -106,5 +114,10 @@
 				<set name="exclude" value="epoc32/build/**"/>
 			</config>
 		</config>
+		<!-- Specify this config to re-package the internal rnd bins after the build has updates some of the files -->
+		<config name="rnd-postbuild" abstract="true">
+			<set name="grace.filters" value="emu"/>
+			<set name="archives.dir" value="${build.output.dir}/zips/release" />
+		</config>
 	</config>
 </build>
--- a/common/tools/ats/STAF/STAF_security.txt	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/tools/ats/STAF/STAF_security.txt	Mon Sep 21 16:18:20 2009 +0100
@@ -5,5 +5,5 @@
 TRUST LEVEL 5 MACHINE lon-engbuild89.*
 TRUST LEVEL 5 MACHINE C100725
 TRUST LEVEL 5 MACHINE C100726
-TRUST LEVEL 5 MACHINE UK-ARNAUDL.*
+TRUST LEVEL 5 MACHINE UK-BRENDAND.*
 TRUST LEVEL 5 MACHINE V800017.*
\ No newline at end of file
--- a/common/tools/ats/bctest/base/basesvs.pl	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/tools/ats/bctest/base/basesvs.pl	Mon Sep 21 16:18:20 2009 +0100
@@ -13,98 +13,98 @@
 my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
 copy("test.xml",                                                          "temp/test.xml");
 
-copy $epoc . "release/winscw/udeb/t_fat32server.exe",                                               "temp/basesvs/winscw_udeb/t_fat32server.exe";
-copy $epoc . "release/winscw/udeb/t_perf.exe",                                                      "temp/basesvs/winscw_udeb/t_perf.exe";
-copy $epoc . "release/winscw/udeb/t_prompt.exe",                                                    "temp/basesvs/winscw_udeb/t_prompt.exe";
-copy $epoc . "release/winscw/udeb/t_sfsrv.exe",                                                     "temp/basesvs/winscw_udeb/t_sfsrv.exe";
-copy $epoc . "release/winscw/udeb/t_testfsy1.fsy",                                                  "temp/basesvs/winscw_udeb/t_testfsy1.fsy";
-copy $epoc . "release/winscw/udeb/t_testfxt.fxt",                                                   "temp/basesvs/winscw_udeb/t_testfxt.fxt";
+copy $epoc . "release/winscw/udeb/t_fat32server.exe",                                               "temp/basesvs/winscw_udeb/t_fat32server.exe" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/t_perf.exe",                                                      "temp/basesvs/winscw_udeb/t_perf.exe" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/t_prompt.exe",                                                    "temp/basesvs/winscw_udeb/t_prompt.exe" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/t_sfsrv.exe",                                                     "temp/basesvs/winscw_udeb/t_sfsrv.exe" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/t_testfsy1.fsy",                                                  "temp/basesvs/winscw_udeb/t_testfsy1.fsy" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/t_testfxt.fxt",                                                   "temp/basesvs/winscw_udeb/t_testfxt.fxt" or die "failed : $!";
 
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-driveunit-publicapi-any.script",                 "temp/basesvs/base/general/pbase-f32-driveunit-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi-ram.script",                    "temp/basesvs/base/general/pbase-f32-format-publicapi-ram.script";
-#copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi-rem.script",                    "temp/basesvs/base/general/pbase-f32-format-publicapi-rem.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi-rom.script",                    "temp/basesvs/base/general/pbase-f32-format-publicapi-rom.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rawdisk-publicapi-ram.script",                   "temp/basesvs/base/general/pbase-f32-rawdisk-publicapi-ram.script";
-#copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rawdisk-publicapi-rem.script",                   "temp/basesvs/base/general/pbase-f32-rawdisk-publicapi-rem.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dir-publicapi-ram.script",                       "temp/basesvs/base/general/pbase-f32-dir-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dirscan-publicapi-ram.script",                   "temp/basesvs/base/general/pbase-f32-dirscan-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-file-publicapi-ram.script",                      "temp/basesvs/base/general/pbase-f32-file-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-fileman-publicapi-ram.script",                   "temp/basesvs/base/general/pbase-f32-fileman-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-fileman-publicapi-os.script",                    "temp/basesvs/base/general/pbase-f32-fileman-publicapi-os.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filenamesidentical-publicapi-ram.script",        "temp/basesvs/base/general/pbase-f32-filenamesidentical-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rdir-publicapi-ram.script",                      "temp/basesvs/base/general/pbase-f32-rdir-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entry-publicapi-ram.script",                     "temp/basesvs/base/general/pbase-f32-entry-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filetext-publicapi-ram.script",                  "temp/basesvs/base/general/pbase-f32-filetext-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-volumeinfo-publicapi-any.script",                "temp/basesvs/base/general/pbase-f32-volumeinfo-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parse-publicapi-any.script",                     "temp/basesvs/base/general/pbase-f32-parse-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptr-publicapi-any.script",                  "temp/basesvs/base/general/pbase-f32-parseptr-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptrc-publicapi-any.script",                 "temp/basesvs/base/general/pbase-f32-parseptrc-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parse-inherited-publicapi-any.script",           "temp/basesvs/base/general/pbase-f32-parse-inherited-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptr-inherited-publicapi-any.script",        "temp/basesvs/base/general/pbase-f32-parseptr-inherited-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptrc-inherited-publicapi-any.script",       "temp/basesvs/base/general/pbase-f32-parseptrc-inherited-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entryarray-publicapi-ram.script",                "temp/basesvs/base/general/pbase-f32-entryarray-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-findfile-publicapi-os.script",                   "temp/basesvs/base/general/pbase-f32-findfile-publicapi-os.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-findfile-publicapi-rem.script",                  "temp/basesvs/base/general/pbase-f32-findfile-publicapi-rem.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-openfilescan-publicapi-ram.script",              "temp/basesvs/base/general/pbase-f32-openfilescan-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-any.script",                "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-any.script",                 "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-any.script",                  "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-any.script",                "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-any.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-os.script",                        "temp/basesvs/base/general/pbase-f32-rfs-publicapi-os.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-ram.script",                "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-ram.script",                 "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-ram.script",                  "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-ram.script",                "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-ram.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-rom.script",                       "temp/basesvs/base/general/pbase-f32-rfs-publicapi-rom.script";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-rem.script",                "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-rem.script";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-driveunit-publicapi-any.script",                 "temp/basesvs/base/general/pbase-f32-driveunit-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi-ram.script",                    "temp/basesvs/base/general/pbase-f32-format-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi-rem.script",                    "temp/basesvs/base/general/pbase-f32-format-publicapi-rem.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi-rom.script",                    "temp/basesvs/base/general/pbase-f32-format-publicapi-rom.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rawdisk-publicapi-ram.script",                   "temp/basesvs/base/general/pbase-f32-rawdisk-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rawdisk-publicapi-rem.script",                   "temp/basesvs/base/general/pbase-f32-rawdisk-publicapi-rem.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dir-publicapi-ram.script",                       "temp/basesvs/base/general/pbase-f32-dir-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dirscan-publicapi-ram.script",                   "temp/basesvs/base/general/pbase-f32-dirscan-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-file-publicapi-ram.script",                      "temp/basesvs/base/general/pbase-f32-file-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-fileman-publicapi-ram.script",                   "temp/basesvs/base/general/pbase-f32-fileman-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-fileman-publicapi-os.script",                    "temp/basesvs/base/general/pbase-f32-fileman-publicapi-os.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filenamesidentical-publicapi-ram.script",        "temp/basesvs/base/general/pbase-f32-filenamesidentical-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rdir-publicapi-ram.script",                      "temp/basesvs/base/general/pbase-f32-rdir-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entry-publicapi-ram.script",                     "temp/basesvs/base/general/pbase-f32-entry-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filetext-publicapi-ram.script",                  "temp/basesvs/base/general/pbase-f32-filetext-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-volumeinfo-publicapi-any.script",                "temp/basesvs/base/general/pbase-f32-volumeinfo-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parse-publicapi-any.script",                     "temp/basesvs/base/general/pbase-f32-parse-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptr-publicapi-any.script",                  "temp/basesvs/base/general/pbase-f32-parseptr-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptrc-publicapi-any.script",                 "temp/basesvs/base/general/pbase-f32-parseptrc-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parse-inherited-publicapi-any.script",           "temp/basesvs/base/general/pbase-f32-parse-inherited-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptr-inherited-publicapi-any.script",        "temp/basesvs/base/general/pbase-f32-parseptr-inherited-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptrc-inherited-publicapi-any.script",       "temp/basesvs/base/general/pbase-f32-parseptrc-inherited-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entryarray-publicapi-ram.script",                "temp/basesvs/base/general/pbase-f32-entryarray-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-findfile-publicapi-os.script",                   "temp/basesvs/base/general/pbase-f32-findfile-publicapi-os.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-findfile-publicapi-rem.script",                  "temp/basesvs/base/general/pbase-f32-findfile-publicapi-rem.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-openfilescan-publicapi-ram.script",              "temp/basesvs/base/general/pbase-f32-openfilescan-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-any.script",                "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-any.script",                 "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-any.script",                  "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-any.script",                "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-any.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-os.script",                        "temp/basesvs/base/general/pbase-f32-rfs-publicapi-os.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-ram.script",                "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-ram.script",                 "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-ram.script",                  "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-ram.script",                "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-ram.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-rom.script",                       "temp/basesvs/base/general/pbase-f32-rfs-publicapi-rom.script" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-rem.script",                "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-rem.script" or die "failed : $!";
 
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-driveunit-publicapi.ini",                        "temp/basesvs/base/general/pbase-f32-driveunit-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi.ini",                           "temp/basesvs/base/general/pbase-f32-format-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rawdisk-publicapi.ini",                          "temp/basesvs/base/general/pbase-f32-rawdisk-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dir-publicapi.ini",                              "temp/basesvs/base/general/pbase-f32-dir-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dirscan-publicapi.ini",                          "temp/basesvs/base/general/pbase-f32-dirscan-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-file-publicapi.ini",                             "temp/basesvs/base/general/pbase-f32-file-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-fileman-publicapi.ini",                          "temp/basesvs/base/general/pbase-f32-fileman-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filenamesidentical-publicapi.ini",               "temp/basesvs/base/general/pbase-f32-filenamesidentical-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rdir-publicapi.ini",                             "temp/basesvs/base/general/pbase-f32-rdir-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entry-publicapi.ini",                            "temp/basesvs/base/general/pbase-f32-entry-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filetext-publicapi.ini",                         "temp/basesvs/base/general/pbase-f32-filetext-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-volumeinfo-publicapi.ini",                       "temp/basesvs/base/general/pbase-f32-volumeinfo-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parse-publicapi.ini",                            "temp/basesvs/base/general/pbase-f32-parse-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptr-publicapi.ini",                         "temp/basesvs/base/general/pbase-f32-parseptr-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptrc-publicapi.ini",                        "temp/basesvs/base/general/pbase-f32-parseptrc-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parsebase-inherited-publicapi.ini",              "temp/basesvs/base/general/pbase-f32-parsebase-inherited-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entryarray-publicapi.ini",                       "temp/basesvs/base/general/pbase-f32-entryarray-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-findfile-publicapi.ini",                         "temp/basesvs/base/general/pbase-f32-findfile-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-openfilescan-publicapi.ini",                     "temp/basesvs/base/general/pbase-f32-openfilescan-publicapi.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-any.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-any.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-any.ini",                    "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-any.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-any.ini",                     "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-any.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-any.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-any.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-os.ini",                           "temp/basesvs/base/general/pbase-f32-rfs-publicapi-os.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-ram.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-ram.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-ram.ini",                    "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-ram.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-ram.ini",                     "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-ram.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-ram.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-ram.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-rom.ini",                          "temp/basesvs/base/general/pbase-f32-rfs-publicapi-rom.ini";
-copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-rem.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-rem.ini";
-copy $epoc . "release/winscw/udeb/z/base/base_f32_env.ini",                                         "temp/basesvs/base/general/base_f32_env.ini";
-copy $epoc . "release/winscw/udeb/z/base/t_base.tcs",                                               "temp/basesvs/base/general/t_base.tcs";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-driveunit-publicapi.ini",                        "temp/basesvs/base/general/pbase-f32-driveunit-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-format-publicapi.ini",                           "temp/basesvs/base/general/pbase-f32-format-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rawdisk-publicapi.ini",                          "temp/basesvs/base/general/pbase-f32-rawdisk-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dir-publicapi.ini",                              "temp/basesvs/base/general/pbase-f32-dir-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-dirscan-publicapi.ini",                          "temp/basesvs/base/general/pbase-f32-dirscan-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-file-publicapi.ini",                             "temp/basesvs/base/general/pbase-f32-file-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-fileman-publicapi.ini",                          "temp/basesvs/base/general/pbase-f32-fileman-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filenamesidentical-publicapi.ini",               "temp/basesvs/base/general/pbase-f32-filenamesidentical-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rdir-publicapi.ini",                             "temp/basesvs/base/general/pbase-f32-rdir-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entry-publicapi.ini",                            "temp/basesvs/base/general/pbase-f32-entry-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-filetext-publicapi.ini",                         "temp/basesvs/base/general/pbase-f32-filetext-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-volumeinfo-publicapi.ini",                       "temp/basesvs/base/general/pbase-f32-volumeinfo-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parse-publicapi.ini",                            "temp/basesvs/base/general/pbase-f32-parse-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptr-publicapi.ini",                         "temp/basesvs/base/general/pbase-f32-parseptr-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parseptrc-publicapi.ini",                        "temp/basesvs/base/general/pbase-f32-parseptrc-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-parsebase-inherited-publicapi.ini",              "temp/basesvs/base/general/pbase-f32-parsebase-inherited-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-entryarray-publicapi.ini",                       "temp/basesvs/base/general/pbase-f32-entryarray-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-findfile-publicapi.ini",                         "temp/basesvs/base/general/pbase-f32-findfile-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-openfilescan-publicapi.ini",                     "temp/basesvs/base/general/pbase-f32-openfilescan-publicapi.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-any.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-any.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-any.ini",                    "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-any.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-any.ini",                     "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-any.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-any.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-any.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-os.ini",                           "temp/basesvs/base/general/pbase-f32-rfs-publicapi-os.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-ram.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-ram.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-files-publicapi-ram.ini",                    "temp/basesvs/base/general/pbase-f32-rfs-files-publicapi-ram.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-misc-publicapi-ram.ini",                     "temp/basesvs/base/general/pbase-f32-rfs-misc-publicapi-ram.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-mounts-publicapi-ram.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-mounts-publicapi-ram.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-publicapi-rom.ini",                          "temp/basesvs/base/general/pbase-f32-rfs-publicapi-rom.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/pbase-f32-rfs-drives-publicapi-rem.ini",                   "temp/basesvs/base/general/pbase-f32-rfs-drives-publicapi-rem.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/base_f32_env.ini",                                         "temp/basesvs/base/general/base_f32_env.ini" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_base.tcs",                                               "temp/basesvs/base/general/t_base.tcs" or die "failed : $!";
 
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test.txt",                                         "temp/basesvs/base/t_sfsrv/general/test.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test_rom.txt",                                     "temp/basesvs/base/t_sfsrv/general/test_rom.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/usbload.zip",                                      "temp/basesvs/base/t_sfsrv/general/usbload.zip";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test1.txt",                                        "temp/basesvs/base/t_sfsrv/general/test1.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test2.txt",                                        "temp/basesvs/base/t_sfsrv/general/test2.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test3.txt",                                        "temp/basesvs/base/t_sfsrv/general/test3.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/1mb",                                              "temp/basesvs/base/t_sfsrv/general/1mb";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/any.txt",                                          "temp/basesvs/base/t_sfsrv/general/any.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/big_line.txt",                                     "temp/basesvs/base/t_sfsrv/general/big_line.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/filetext_eof.txt",                                 "temp/basesvs/base/t_sfsrv/general/filetext_eof.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/filetext_read.txt",                                "temp/basesvs/base/t_sfsrv/general/filetext_read.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/multiline.txt",                                    "temp/basesvs/base/t_sfsrv/general/multiline.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/new_file.txt",                                     "temp/basesvs/base/t_sfsrv/general/new_file.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/oneliner.txt",                                     "temp/basesvs/base/t_sfsrv/general/oneliner.txt";
-copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/big.txt",                                          "temp/basesvs/base/t_sfsrv/general/big.txt";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test.txt",                                         "temp/basesvs/base/t_sfsrv/general/test.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test_rom.txt",                                     "temp/basesvs/base/t_sfsrv/general/test_rom.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/usbload.zip",                                      "temp/basesvs/base/t_sfsrv/general/usbload.zip" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test1.txt",                                        "temp/basesvs/base/t_sfsrv/general/test1.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test2.txt",                                        "temp/basesvs/base/t_sfsrv/general/test2.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/test3.txt",                                        "temp/basesvs/base/t_sfsrv/general/test3.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/1mb",                                              "temp/basesvs/base/t_sfsrv/general/1mb" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/any.txt",                                          "temp/basesvs/base/t_sfsrv/general/any.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/big_line.txt",                                     "temp/basesvs/base/t_sfsrv/general/big_line.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/filetext_eof.txt",                                 "temp/basesvs/base/t_sfsrv/general/filetext_eof.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/filetext_read.txt",                                "temp/basesvs/base/t_sfsrv/general/filetext_read.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/multiline.txt",                                    "temp/basesvs/base/t_sfsrv/general/multiline.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/new_file.txt",                                     "temp/basesvs/base/t_sfsrv/general/new_file.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/oneliner.txt",                                     "temp/basesvs/base/t_sfsrv/general/oneliner.txt" or die "failed : $!";
+copy $epoc . "release/winscw/udeb/z/base/t_sfsrv/big.txt",                                          "temp/basesvs/base/t_sfsrv/general/big.txt" or die "failed : $!";
 
 system("7z a -tzip basesvs.zip ./temp/*");
--- a/common/tools/ats/bctest/browser/browser.pl	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/tools/ats/bctest/browser/browser.pl	Mon Sep 21 16:18:20 2009 +0100
@@ -22,10 +22,14 @@
 unlink "browser.zip";
 ##rmtree "temp";
 mkpath "temp/bcbrowser/winscw_udeb";
+mkpath "temp/bcbrowser/general/testframework";
 
 my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
 copy("browser.xml", "temp/test.xml");
 
-copy($epoc . "release/winscw/udeb/favouritesbctest.dll",     "temp/bcbrowser/winscw_udeb/favouritesbctest.dll");
+copy($epoc . "release/winscw/udeb/favouritesbctest.dll",		"temp/bcbrowser/winscw_udeb/favouritesbctest.dll");
+copy($epoc . "release/winscw/udeb/downloadmgrbctest.dll",		"temp/bcbrowser/winscw_udeb/downloadmgrbctest.dll");
 
-system("7z a -tzip browser.zip ./temp/*");
\ No newline at end of file
+copy($epoc . "winscw/c/testframework/testframework_dwmgr.ini",	"temp/bcbrowser/general/testframework/testframework_dwmgr.ini");
+
+system("7z a -tzip browser.zip ./temp/*");
--- a/common/tools/ats/bctest/browser/browser.xml	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/tools/ats/bctest/browser/browser.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -49,10 +49,54 @@
 						</params>
 					</step>
                 </case>
+                <case id="" name="Browser Download Manager" harness="ATSINTERFACE" enabled="true" passrate="100">
+                    <step id="" name="SPD_Logs XML (makedir)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+                        <command>makedir</command>
+                        <params>
+                            <param dir="c:\spd_logs\xml" /> 
+                        </params>
+                    </step>
+                    <step id="" name="downloadmgrbctest.dll (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="binary"/>
+							<param src="downloadmgrbctest.dll"/>
+							<param dst="c:\sys\bin\downloadmgrbctest.dll"/>
+							<param component-path="bcbrowser" />
+						</params>
+					</step>
+					<step id="" name="testframework_dwmgr.ini (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="testframework/testframework_dwmgr.ini"/>
+							<param dst="c:\testframework\testframework.ini"/>
+							<param component-path="bcbrowser" />
+						</params>
+					</step>
+					<step id="" name="downloadmgrbctest (execute)" harness="ATSINTERFACE" enabled="true" passrate="100">
+						<command>execute</command>
+						<params>
+							<param file="atsinterface.exe"/>
+							<param parameters="-testmodule downloadmgrbctest"/>
+                            <param result-file="c:\spd_logs\xml\downloadmgrbctest.xml"/>
+                            <param timeout="3600"/>
+						</params>
+					</step>
+					<step id="" name="downloadmgrbctest (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
+						<command>fetch-log</command>
+						<params>
+							<param path="c:\logs\testframework\TestReport.txt" /> 
+						</params>
+					</step>
+                </case>
             </set>
         </session>
     </plan>
     <files>
-        <file>bcwebsrv/winscw_udeb/favouritesbctest.dll</file>
+        <file>bcbrowser/winscw_udeb/favouritesbctest.dll</file>
+
+        <file>bcbrowser/winscw_udeb/downloadmgrbctest.dll</file>
+		<file>bcbrowser/general/testframework/testframework_dwmgr.ini</file>
     </files>
-</test>
\ No newline at end of file
+</test>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/bctest/browser/browserced.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -0,0 +1,2118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+        CommDB Settings File
+        Copyright (c) 2003-2004, Symbian Ltd.
+        All Rights Reserved
+-->
+<CommDB:Config xmlns="SymbianOS.Generic.Comms-Infras.CommDB"
+               xmlns:CommDB="SymbianOS.Generic.Comms-Infras.CommDB"
+               xmlns:xlink="http://www.w3.org/1999/xlink"
+               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+               xsi:schemaLocation="SymbianOS.Generic.Comms-Infras.CommDB CommDB.xsd">
+
+<InformationTable>
+</InformationTable>
+
+<NetworkTable>
+    <Network operation="add">
+        <Name>Intranet</Name>
+    </Network>
+    <Network operation="add">
+        <Name>mRouter</Name>
+    </Network>
+</NetworkTable>
+
+<IAPTable>
+    <IAP operation="add">
+        <Name>NT RAS with Null Modem</Name>
+        <IAPService>DialOutISP.NT RAS</IAPService>
+        <IAPBearer>ModemBearer.Null Modem 115200bps</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>CSD IAP PlaceHolder01</Name>
+        <IAPService>DialOutISP.ISP01</IAPService>
+        <IAPBearer>ModemBearer.Null Modem 115200bps</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>CSD IAP PlaceHolder02</Name>
+        <IAPService>DialOutISP.ISP02</IAPService>
+        <IAPBearer>ModemBearer.Null Modem 115200bps</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>GPRS IAP PlaceHolder01</Name>
+        <IAPService>OutgoingGPRS.GPRS01</IAPService>
+        <IAPBearer>ModemBearer.GPRS Ericsson R520m/T68i via Serial</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Mobile</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>GPRS IAP PlaceHolder02</Name>
+        <IAPService>OutgoingGPRS.GPRS02</IAPService>
+        <IAPBearer>ModemBearer.GPRS Ericsson R520m/T68i via Serial</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Mobile</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>Ethernet No Daemon Static IP</Name>
+        <IAPService>LANService.Ethernet No Daemon</IAPService>
+        <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>Incorrect ethernet setup 1</Name>
+        <IAPService>LANService.Ethernet Bad Daemon</IAPService>
+        <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+        <IAPNetwork>Network.mRouter</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>Incorrect ethernet setup 2</Name>
+        <IAPService>LANService.Ethernet Static IP</IAPService>
+        <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+        <IAPNetwork>Network.mRouter</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>Ethernet with Daemon Static IP</Name>
+        <IAPService>LANService.Ethernet Static IP</IAPService>
+        <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>Incorrect ethernet setup 3</Name>
+        <IAPService>LANService.Ethernet</IAPService>
+        <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+        <IAPNetwork>Network.mRouter</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+    <IAP operation="add">
+        <Name>Ethernet with Daemon Dynamic IP</Name>
+        <IAPService>LANService.Ethernet</IAPService>
+        <IAPBearer>LANBearer.EKA2 Emulator Ethernet</IAPBearer>
+        <IAPNetwork>Network.Intranet</IAPNetwork>
+        <IAPNetworkWeighting>0</IAPNetworkWeighting>
+        <LocationRef>Location.Office</LocationRef>
+    </IAP>
+</IAPTable>
+
+<ModemBearerTable>
+    <ModemBearer operation="template">
+        <Name>Default Modem</Name>
+        <Agent>CSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>0</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>Null Modem 115200bps</Name>
+        <Agent>CSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>US Robotics Sportster</Name>
+        <Agent>CSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>57600</Rate>
+        <Handshaking>244</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>AFTERDIALUNTILANSWER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT&amp;F1</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT&amp;d2</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>Dacom Surfer</Name>
+        <Agent>CSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>57600</Rate>
+        <Handshaking>244</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>AFTERDIALUNTILANSWER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT&amp;F</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT&amp;d2</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>GSM Mobile Phone via Infrared</Name>
+        <Agent>CSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>IRCOMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>IRCOMM</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>196</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>17</XonChar>
+        <XoffChar>19</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>ATZ</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>GSM Mobile Phone via Serial</Name>
+        <Agent>CSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>19200</Rate>
+        <Handshaking>196</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>17</XonChar>
+        <XoffChar>19</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>ATZ</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>GPRS Ericsson R520m via IR</Name>
+        <Agent>PSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>IRCOMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>IRCOMM</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>17</XonChar>
+        <XoffChar>19</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>ATZ</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>GPRS Ericsson R520m/T68i via Serial</Name>
+        <Agent>PSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>19200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>17</XonChar>
+        <XoffChar>19</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>ATZ</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <IspInitString>*99***1#</IspInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>GPRS Motorola Mobile Phone via Serial</Name>
+        <Agent>PSD.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>57600</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>17</XonChar>
+        <XoffChar>19</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>ATZ</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>WinTunnel Modem</Name>
+        <Agent>null.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::6</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>180</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>30</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>60</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>mRouterWinsBearer</Name>
+        <Agent>mRouterAgent.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>WINS::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>WINSCSY</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>9999</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>30</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>mRouterRs232Bearer</Name>
+        <Agent>mRouterAgent.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>COMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECUART</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>9999</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>30</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>mRouterIrBearer</Name>
+        <Agent>mRouterAgent.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>IRCOMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>IRCOMM</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>9999</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>30</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>mRouterBtBearer</Name>
+        <Agent>mRouterAgent.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>BTCOMM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>BTCOMM</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>9999</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>30</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+    <ModemBearer operation="add">
+        <Name>mRouterUsbBearer</Name>
+        <Agent>mRouterAgent.agt</Agent>
+        <IfName>PPP</IfName>
+        <PortName>ACM::0</PortName>
+        <TSYName>MM</TSYName>
+        <CSYName>ECACM</CSYName>
+        <DataBits>8</DataBits>
+        <StopBits>1</StopBits>
+        <Parity>NONE</Parity>
+        <Rate>115200</Rate>
+        <Handshaking>4</Handshaking>
+        <SpecialRate>0</SpecialRate>
+        <XonChar>0</XonChar>
+        <XoffChar>0</XoffChar>
+        <FaxClassPref>AUTO</FaxClassPref>
+        <SpeakerPref>NEVER</SpeakerPref>
+        <SpeakerVolPref>QUIET</SpeakerVolPref>
+        <ModemInitString>AT</ModemInitString>
+        <DataInitString>AT</DataInitString>
+        <FaxInitString>AT</FaxInitString>
+        <DialPauseLength>S8=</DialPauseLength>
+        <SpeakerVolContorlLow>L0</SpeakerVolContorlLow>
+        <SpeakerVolControlMedium>L1</SpeakerVolControlMedium>
+        <SpeakerVolControlHigh>L2</SpeakerVolControlHigh>
+        <SpeakerAlwaysOff>M0</SpeakerAlwaysOff>
+        <SpeakerOnUntilCarrier>M1</SpeakerOnUntilCarrier>
+        <SpeakerAlwaysOn>M2</SpeakerAlwaysOn>
+        <SpeakerOnAfterUntilCarrier>M3</SpeakerOnAfterUntilCarrier>
+        <DialToneWaitModifier>W</DialToneWaitModifier>
+        <CallProgress1>X1</CallProgress1>
+        <CallProgress2>X2</CallProgress2>
+        <CallProgress3>X3</CallProgress3>
+        <CallProgress4>X4</CallProgress4>
+        <EchoOff>E0</EchoOff>
+        <VerboseText>V1</VerboseText>
+        <QuietOff>Q0</QuietOff>
+        <QuietOn>Q1</QuietOn>
+        <DialCommandStateModifier>;</DialCommandStateModifier>
+        <OnLine>O</OnLine>
+        <ResetConfiguration>Z</ResetConfiguration>
+        <ReturnToFactoryDefs>&amp;F</ReturnToFactoryDefs>
+        <DCDOnDuringLink>&amp;C1</DCDOnDuringLink>
+        <DTRHangUp>&amp;D2</DTRHangUp>
+        <DSRAlwaysOn>&amp;S0</DSRAlwaysOn>
+        <RTSCTSHandshake>&amp;K3</RTSCTSHandshake>
+        <XonXoffHandshake>&amp;K4</XonXoffHandshake>
+        <EscapeCharacter>+</EscapeCharacter>
+        <EscapeGuardPeriod>S12</EscapeGuardPeriod>
+        <NoDialTone>NO DIAL TONE</NoDialTone>
+        <Busy>BUSY</Busy>
+        <NoAnswer>NO ANSWER</NoAnswer>
+        <Carrier>CARRIER</Carrier>
+        <Connect>CONNECT</Connect>
+        <CompressionClass5>COMPRESSION:CLASS 5</CompressionClass5>
+        <CompressionV42bis>COMPRESSION:V.42 bis</CompressionV42bis>
+        <CompressionNone>COMPRESSION:NONE</CompressionNone>
+        <ProtocolLAPD>PROTOCOL:LAPD</ProtocolLAPD>
+        <ProtocolALT>PROTOCOL:ALT</ProtocolALT>
+        <ProtocolALTCELLULAR>PROTOCOL:ALT-CELLULAR</ProtocolALTCELLULAR>
+        <ProtocolNone>PROTOCOL:NONE</ProtocolNone>
+        <MessageCentreNumber>+44123456789</MessageCentreNumber>
+        <MessageValidityPeriod>1440</MessageValidityPeriod>
+        <MessageDeliveryReport>FALSE</MessageDeliveryReport>
+        <MinimumSignalLevel>9905</MinimumSignalLevel>
+        <LastSocketActivityTimeout>9999</LastSocketActivityTimeout>
+        <LastSessionClosedTimeout>180</LastSessionClosedTimeout>
+        <LastSocketClosedTimeout>30</LastSocketClosedTimeout>
+        <SIRSettings>0</SIRSettings>
+        <CommRole>0</CommRole>
+    </ModemBearer>
+</ModemBearerTable>
+
+<LANBearerTable>
+    <LANBearer operation="add">
+	<Name>EKA1 Target Ethernet</Name>
+	<Agent>nullagt.agt</Agent>
+	<IfName>ethint</IfName>
+	<LDDFilename>ethercard</LDDFilename>
+	<LDDName>EtherCard</LDDName>
+	<PDDFilename>EtherSmc</PDDFilename>
+	<PDDName>EtherCard.Smc</PDDName>
+	<PacketDriverName>EtherPkt.drv</PacketDriverName>
+	<LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
+	<LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
+	<LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+    </LANBearer>
+
+    <LANBearer operation="add">
+	<Name>EKA2 Target Ethernet</Name>
+	<Agent>nullagt.agt</Agent>
+	<IfName>ethint</IfName>
+	<LDDFilename>enet</LDDFilename>
+	<LDDName>Ethernet</LDDName>
+	<PDDFilename>ethernet</PDDFilename>
+	<PDDName>Ethernet.Assabet</PDDName>
+	<PacketDriverName>EtherPkt.drv</PacketDriverName>
+	<LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
+	<LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
+	<LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+    </LANBearer>
+
+    <LANBearer operation="add">
+	<Name>EKA1 Emulator Ethernet</Name>
+	<Agent>nullagt.agt</Agent>
+	<IfName>ethint</IfName>
+	<LDDFilename>ethercard</LDDFilename>
+	<LDDName>Ethercard</LDDName>
+	<PDDFilename>etherwins</PDDFilename>
+	<PDDName>Ethercard.wins</PDDName>
+	<PacketDriverName>EtherPkt.drv</PacketDriverName>
+	<LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
+	<LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
+	<LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+    </LANBearer>
+
+    <LANBearer operation="add">
+	<Name>EKA2 Emulator Ethernet</Name>
+	<Agent>nullagt.agt</Agent>
+	<IfName>ethint</IfName>
+	<LDDFilename>enet</LDDFilename>
+	<LDDName>=Ethernet</LDDName>
+	<PDDFilename>ethernet</PDDFilename>
+	<PDDName>Ethernet.Wins</PDDName>
+	<PacketDriverName>EtherPkt.drv</PacketDriverName>
+	<LastSocketActivityTimeout>-1</LastSocketActivityTimeout>
+	<LastSessionClosedTimeout>-1</LastSessionClosedTimeout>
+	<LastSocketClosedTimeout>-1</LastSocketClosedTimeout>
+    </LANBearer>
+</LANBearerTable>
+
+<LANServiceTable>
+    <LANService operation="add">
+        <Name>Ethernet</Name>
+        <IfNetworks>ip</IfNetworks>
+        <IpNetMask>255.255.255.0</IpNetMask>
+        <IpGateway>10.32.194.254</IpGateway>
+        <IpAddr>10.32.194.251</IpAddr>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <IpNameServer1>194.72.6.51</IpNameServer1>
+        <IpNameServer2>194.72.6.52</IpNameServer2>
+        <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+        <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+    </LANService>
+    <LANService operation="add">
+        <Name>Ethernet Static IP</Name>
+        <IfNetworks>ip</IfNetworks>
+        <IpNetMask>255.255.255.0</IpNetMask>
+        <IpGateway>192.168.20.2</IpGateway>
+        <IpAddr>192.168.20.13</IpAddr>
+        <IpAddrFromServer>FALSE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <IpNameServer1>194.72.6.51</IpNameServer1>
+        <IpNameServer2>194.72.6.52</IpNameServer2>
+        <ConfigDaemonManagerName>NetCfgExtnDhcp</ConfigDaemonManagerName>
+        <ConfigDaemonName>!DhcpServ</ConfigDaemonName>
+    </LANService>
+    <LANService operation="add">
+        <Name>Ethernet Bad Daemon</Name>
+        <IfNetworks>ip</IfNetworks>
+        <IpNetMask>255.255.255.0</IpNetMask>
+        <IpGateway>10.32.194.254</IpGateway>
+        <IpAddr>10.32.194.251</IpAddr>
+        <IpAddrFromServer>FALSE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <IpNameServer1>194.72.6.51</IpNameServer1>
+        <IpNameServer2>194.72.6.52</IpNameServer2>
+        <ConfigDaemonManagerName>NonExistingServ</ConfigDaemonManagerName>
+        <ConfigDaemonName>NonExistingServ</ConfigDaemonName>
+    </LANService>
+    <LANService operation="add">
+        <Name>Ethernet No Daemon</Name>
+        <IfNetworks>ip</IfNetworks>
+        <IpNetMask>255.255.255.0</IpNetMask>
+        <IpGateway>10.32.194.254</IpGateway>
+        <IpAddr>10.32.194.251</IpAddr>
+        <IpAddrFromServer>FALSE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <IpNameServer1>194.72.6.51</IpNameServer1>
+        <IpNameServer2>194.72.6.52</IpNameServer2>
+    </LANService>
+</LANServiceTable>
+
+<DialInISPTable>
+    <DialInISP operation="template">
+        <Name>Default Dial In ISP</Name>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>Default Dial In ISP</Description>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <UseEdge>FALSE</UseEdge>
+    </DialInISP>
+    <DialInISP operation="add">
+        <Name>Dial In ISP01</Name>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>Dial In ISP01</Description>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <UseEdge>FALSE</UseEdge>
+    </DialInISP>
+</DialInISPTable>
+
+<DialOutISPTable>
+    <DialOutISP operation="template">
+        <Name>Default Dial Out ISP</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <PromptForLogin>TRUE</PromptForLogin>
+        <IfPromptForAuth>TRUE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>Default Dial Out ISP</Description>
+        <DefaultTelNum>Default Dial Out ISP</DefaultTelNum>
+        <LoginName>TRUE</LoginName>
+        <LoginPass>TRUE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>FALSE</IfNetworks>
+        <IfAuthName>TRUE</IfAuthName>
+        <IfAuthPass>TRUE</IfAuthPass>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+    <DialOutISP operation="add">
+        <Name>NT RAS</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>TRUE</UseLoginScript>
+        <PromptForLogin>FALSE</PromptForLogin>
+        <IfPromptForAuth>FALSE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>Test</Description>
+        <Type>INTERNETONLY</Type>
+        <DefaultTelNum>INTERNETONLY</DefaultTelNum>
+        <LoginScript>CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND &quot;CLIENT&quot;+&lt;0x0d&gt;\nWAIT 3\n{\n&quot;SERVER&quot; OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n</LoginScript>
+        <LoginName>FALSE</LoginName>
+        <LoginPass>FALSE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>RasUser</IfAuthName>
+        <IfAuthPass>pass</IfAuthPass>
+        <AuthRetries>0</AuthRetries>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+    <DialOutISP operation="add">
+        <Name>ISP01</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <PromptForLogin>FALSE</PromptForLogin>
+        <IfPromptForAuth>TRUE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>PlaceHolder for ISP01</Description>
+        <Type>INTERNETONLY</Type>
+        <DefaultTelNum>INTERNETONLY</DefaultTelNum>
+        <LoginName>FALSE</LoginName>
+        <LoginPass>FALSE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>xxx</IfAuthName>
+        <IfAuthPass>yyy</IfAuthPass>
+        <AuthRetries>0</AuthRetries>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+    <DialOutISP operation="add">
+        <Name>ISP02</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <PromptForLogin>FALSE</PromptForLogin>
+        <IfPromptForAuth>TRUE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>PlaceHolder for ISP02</Description>
+        <Type>INTERNETONLY</Type>
+        <DefaultTelNum>INTERNETONLY</DefaultTelNum>
+        <LoginName>FALSE</LoginName>
+        <LoginPass>FALSE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>xxx</IfAuthName>
+        <IfAuthPass>yyy</IfAuthPass>
+        <AuthRetries>0</AuthRetries>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+    <DialOutISP operation="add">
+        <Name>ISP03</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <PromptForLogin>FALSE</PromptForLogin>
+        <IfPromptForAuth>TRUE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>PlaceHolder for ISP03</Description>
+        <Type>INTERNETONLY</Type>
+        <DefaultTelNum>INTERNETONLY</DefaultTelNum>
+        <LoginName>FALSE</LoginName>
+        <LoginPass>FALSE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>xxx</IfAuthName>
+        <IfAuthPass>yyy</IfAuthPass>
+        <AuthRetries>0</AuthRetries>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+    <DialOutISP operation="add">
+        <Name>ISP04</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <PromptForLogin>FALSE</PromptForLogin>
+        <IfPromptForAuth>TRUE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>PlaceHolder for ISP04</Description>
+        <Type>INTERNETONLY</Type>
+        <DefaultTelNum>INTERNETONLY</DefaultTelNum>
+        <LoginName>FALSE</LoginName>
+        <LoginPass>FALSE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>xxx</IfAuthName>
+        <IfAuthPass>yyy</IfAuthPass>
+        <AuthRetries>0</AuthRetries>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+    <DialOutISP operation="add">
+        <Name>ISP05</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <PromptForLogin>FALSE</PromptForLogin>
+        <IfPromptForAuth>TRUE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>PlaceHolder for ISP05</Description>
+        <Type>INTERNETONLY</Type>
+        <DefaultTelNum>INTERNETONLY</DefaultTelNum>
+        <LoginName>FALSE</LoginName>
+        <LoginPass>FALSE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>xxx</IfAuthName>
+        <IfAuthPass>yyy</IfAuthPass>
+        <AuthRetries>0</AuthRetries>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+    <DialOutISP operation="add">
+        <Name>mRouterDialOutIsp</Name>
+        <DialResolution>TRUE</DialResolution>
+        <UseLoginScript>FALSE</UseLoginScript>
+        <PromptForLogin>FALSE</PromptForLogin>
+        <IfPromptForAuth>FALSE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <Description>mRouterDialOutIsp</Description>
+        <Type>INTERNETONLY</Type>
+        <DefaultTelNum>INTERNETONLY</DefaultTelNum>
+        <LoginName>FALSE</LoginName>
+        <LoginPass>FALSE</LoginPass>
+        <DisplayPCT>FALSE</DisplayPCT>
+        <IfParams>FALSE</IfParams>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>IfAuthPass=</IfAuthName>
+        <IfAuthPass>AuthRetries=0</IfAuthPass>
+        <AuthRetries>0</AuthRetries>
+        <IfCallbackEnabled>FALSE</IfCallbackEnabled>
+        <CallbackTimeout>0</CallbackTimeout>
+        <IpAddr>TRUE</IpAddr>
+        <IpNetMask>TRUE</IpNetMask>
+        <IpGateway>TRUE</IpGateway>
+        <IpNameServer1>TRUE</IpNameServer1>
+        <IpNameServer2>TRUE</IpNameServer2>
+        <EnableIPHeaderComp>FALSE</EnableIPHeaderComp>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <EnableSWComp>FALSE</EnableSWComp>
+        <BearerService>0</BearerService>
+        <BearerProtocol>UNSPECIFIED</BearerProtocol>
+        <RlpVersion>0</RlpVersion>
+        <IwfToMs>0</IwfToMs>
+        <MsToIwf>0</MsToIwf>
+        <AckTimer>0</AckTimer>
+        <RetransmissionAttempts>0</RetransmissionAttempts>
+        <ResequencePeriod>0</ResequencePeriod>
+        <V42Compression>0</V42Compression>
+        <V42Codewords>0</V42Codewords>
+        <V42MaxLength>0</V42MaxLength>
+        <Asymmetry>0</Asymmetry>
+        <UserInitUpgrade>FALSE</UserInitUpgrade>
+        <UseEdge>FALSE</UseEdge>
+    </DialOutISP>
+</DialOutISPTable>
+
+<AgentLookupTable>
+</AgentLookupTable>
+
+<CDMA2000PacketServiceTable>
+    <CDMA2000PacketService operation="add">
+        <Name>test name cdma2000</Name>
+        <IwfName>Test2000</IwfName>
+        <ServiceOption>HIGHSPEEDCDMA2000DATA</ServiceOption>
+        <PdpType>IPV4</PdpType>
+        <ReqFwdPriority>PRIORITY04</ReqFwdPriority>
+        <ReqRevPriority>PRIORITY04</ReqRevPriority>
+        <ReqFwdBitrate>32KBPS</ReqFwdBitrate>
+        <ReqRevBitrate>32KBPS</ReqRevBitrate>
+        <ReqFwdLoss>LOSS1</ReqFwdLoss>
+        <ReqRevLoss>LOSS1</ReqRevLoss>
+        <ReqFwdMaxdelay>40MS</ReqFwdMaxdelay>
+        <ReqRevMaxdelay>40MS</ReqRevMaxdelay>
+        <MinFwdBitrate>32KBPS</MinFwdBitrate>
+        <MinRevBitrate>32KBPS</MinRevBitrate>
+        <AccptFwdLoss>LOSS2</AccptFwdLoss>
+        <AccptRevLoss>LOSS2</AccptRevLoss>
+        <AccptFwdMaxdelay>120MS</AccptFwdMaxdelay>
+        <AccptRevMaxdelay>120MS</AccptRevMaxdelay>
+        <DataCompression>FALSE</DataCompression>
+        <HeaderCompression>FALSE</HeaderCompression>
+        <AnonymousAccess>FALSE</AnonymousAccess>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>RasUser</IfAuthName>
+        <IfAuthPass>pass</IfAuthPass>
+        <IfPromptForAuth>FALSE</IfPromptForAuth>
+        <AuthRetries>1</AuthRetries>
+        <IpNetMask>0.255.255.255</IpNetMask>
+        <IpGateway>10.0.0.1</IpGateway>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <EnableLCPExtension>TRUE</EnableLCPExtension>
+        <DisablePlainTextAuth>TRUE</DisablePlainTextAuth>
+        <ApType>2</ApType>
+        <QosWarningTimeout>1000000</QosWarningTimeout>
+        <RlpMode>TRANSPARENT</RlpMode>
+        <CDMAMobileIP>FALSE</CDMAMobileIP>
+        <CDMAMobileIPTimeout>10000000</CDMAMobileIPTimeout>
+    </CDMA2000PacketService>
+</CDMA2000PacketServiceTable>
+
+<DefaultCDMA2000Table>
+</DefaultCDMA2000Table>
+
+<ChargecardTable>
+    <Chargecard operation="add">
+        <Name>Dummy BT Chargecard</Name>
+        <AccountNumber>144,12345678</AccountNumber>
+        <Pin>0000</Pin>
+        <LocalRule>HG</LocalRule>
+        <NatRule>HFG</NatRule>
+        <IntlRule>HEFG</IntlRule>
+    </Chargecard>
+    <Chargecard operation="add">
+        <Name>Dummy Mercury Chargecard</Name>
+        <AccountNumber>0500800800,,12345678</AccountNumber>
+        <Pin>****</Pin>
+        <LocalRule>HG</LocalRule>
+        <NatRule>J,K,0FG</NatRule>
+        <IntlRule>HEFG</IntlRule>
+    </Chargecard>
+</ChargecardTable>
+
+<ConnectionPreferencesTable>
+    <ConnectionPreferences operation="add">
+        <Name>ConnectionPreferencesTable1</Name>
+        <Ranking>0</Ranking>
+        <Direction>OUTGOING</Direction>
+        <DialogPref>DONOTPROMPT</DialogPref>
+        <BearerSet>LAN</BearerSet>
+        <IAPRef>IAP.Ethernet with Daemon Dynamic IP</IAPRef>
+    </ConnectionPreferences>
+    <ConnectionPreferences operation="add">
+        <Name>ConnectionPreferencesTable2</Name>
+        <Ranking>1</Ranking>
+        <Direction>OUTGOING</Direction>
+        <DialogPref>PROMPT</DialogPref>
+        <BearerSet>LAN</BearerSet>
+        <IAPRef>IAP.Ethernet with Daemon Dynamic IP</IAPRef>
+    </ConnectionPreferences>
+</ConnectionPreferencesTable>
+
+<GlobalSettingsTable>
+    <GlobalSettings operation="add">
+        <Name>GlobalSettingsTable1</Name>
+        <WAPAccess>WAPAccessPoint.Default Dial In ISP</WAPAccess>
+        <RedialAttempts>3</RedialAttempts>
+        <SmsBearer>WAPSMSBearer.WAPSMSBearerTable1</SmsBearer>
+        <SmsReceiveMode>2</SmsReceiveMode>
+        <GPRSAttachMode>1</GPRSAttachMode>
+        <AcceptIncomingGprs>1</AcceptIncomingGprs>
+        <ConnectionAttempts>2</ConnectionAttempts>
+        <ModemForDataAndFax>2</ModemForDataAndFax>
+        <ModemForPhoneServicesAndSMS>2</ModemForPhoneServicesAndSMS>
+        <LocationForDataAndFax>Location.Office</LocationForDataAndFax>
+        <LocationForPhoneServicesAndSMS>Location.Office</LocationForPhoneServicesAndSMS>
+        <GPRSClassCBearer>GSM</GPRSClassCBearer>
+        <DefaultNetwork>Network.Intranet</DefaultNetwork>
+        <BearerAvailabilityCheckTSY>mm</BearerAvailabilityCheckTSY>
+    </GlobalSettings>
+</GlobalSettingsTable>
+
+<IncomingGPRSTable>
+    <IncomingGPRS operation="add">
+        <Name>Incoming GPRS Settings PlaceHolder</Name>
+        <APN>Test</APN>
+        <PDPType>IPV4</PDPType>
+        <PDPAddress>0.0.0.0</PDPAddress>
+        <IfPromptForAuth>FALSE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
+        <ReqPrecedence>1</ReqPrecedence>
+        <ReqDelay>1</ReqDelay>
+        <ReqReliability>1</ReqReliability>
+        <ReqPeakThroughput>1</ReqPeakThroughput>
+        <ReqMeanThroughput>1</ReqMeanThroughput>
+        <MinPrecedence>1</MinPrecedence>
+        <MinDelay>1</MinDelay>
+        <MinReliability>1</MinReliability>
+        <MinPeakThroughput>1</MinPeakThroughput>
+        <MinMeanThroughput>1</MinMeanThroughput>
+        <DataCompression>FALSE</DataCompression>
+        <HeaderCompression>FALSE</HeaderCompression>
+        <AnonymousAccess>FALSE</AnonymousAccess>
+        <IfNetworks>ip</IfNetworks>
+        <IfAuthName>RasUser</IfAuthName>
+        <IfAuthPass>pass</IfAuthPass>
+        <AuthRetries>1</AuthRetries>
+        <IpNameServer1>0.0.0.0</IpNameServer1>
+        <IpNameServer2>0.0.0.0</IpNameServer2>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <GprsUseEdge>FALSE</GprsUseEdge>
+    </IncomingGPRS>
+</IncomingGPRSTable>
+
+<OutgoingGPRSTable>
+    <OutgoingGPRS operation="add">
+        <Name>GPRS01</Name>
+        <APN>gprs01APNPlaceHolder</APN>
+        <PDPType>IPV4</PDPType>
+        <IfPromptForAuth>FALSE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+        <ReqPrecedence>0</ReqPrecedence>
+        <ReqDelay>0</ReqDelay>
+        <ReqReliability>0</ReqReliability>
+        <ReqPeakThroughput>0</ReqPeakThroughput>
+        <ReqMeanThroughput>0</ReqMeanThroughput>
+        <MinPrecedence>0</MinPrecedence>
+        <MinDelay>0</MinDelay>
+        <MinReliability>0</MinReliability>
+        <MinPeakThroughput>0</MinPeakThroughput>
+        <MinMeanThroughput>0</MinMeanThroughput>
+        <DataCompression>FALSE</DataCompression>
+        <HeaderCompression>FALSE</HeaderCompression>
+        <AnonymousAccess>FALSE</AnonymousAccess>
+        <IfNetworks>ip</IfNetworks>
+        <AuthRetries>1</AuthRetries>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <GprsUseEdge>FALSE</GprsUseEdge>
+        <GprsAccessPointType>0</GprsAccessPointType>
+        <QosWarningTimeout>0</QosWarningTimeout>
+    </OutgoingGPRS>
+    <OutgoingGPRS operation="add">
+        <Name>GPRS02</Name>
+        <APN>gprs02APNPlaceHolder</APN>
+        <PDPType>IPV4</PDPType>
+        <IfPromptForAuth>FALSE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+        <ReqPrecedence>0</ReqPrecedence>
+        <ReqDelay>0</ReqDelay>
+        <ReqReliability>0</ReqReliability>
+        <ReqPeakThroughput>0</ReqPeakThroughput>
+        <ReqMeanThroughput>0</ReqMeanThroughput>
+        <MinPrecedence>0</MinPrecedence>
+        <MinDelay>0</MinDelay>
+        <MinReliability>0</MinReliability>
+        <MinPeakThroughput>0</MinPeakThroughput>
+        <MinMeanThroughput>0</MinMeanThroughput>
+        <DataCompression>FALSE</DataCompression>
+        <HeaderCompression>FALSE</HeaderCompression>
+        <AnonymousAccess>FALSE</AnonymousAccess>
+        <IfNetworks>ip</IfNetworks>
+        <AuthRetries>1</AuthRetries>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <GprsUseEdge>FALSE</GprsUseEdge>
+        <GprsAccessPointType>0</GprsAccessPointType>
+        <QosWarningTimeout>0</QosWarningTimeout>
+    </OutgoingGPRS>
+    <OutgoingGPRS operation="add">
+        <Name>GPRS03</Name>
+        <APN>gprs03APNPlaceHolder</APN>
+        <PDPType>IPV4</PDPType>
+        <IfPromptForAuth>FALSE</IfPromptForAuth>
+        <IpAddrFromServer>TRUE</IpAddrFromServer>
+        <IpDNSAddrFromServer>FALSE</IpDNSAddrFromServer>
+        <ReqPrecedence>0</ReqPrecedence>
+        <ReqDelay>0</ReqDelay>
+        <ReqReliability>0</ReqReliability>
+        <ReqPeakThroughput>0</ReqPeakThroughput>
+        <ReqMeanThroughput>0</ReqMeanThroughput>
+        <MinPrecedence>0</MinPrecedence>
+        <MinDelay>0</MinDelay>
+        <MinReliability>0</MinReliability>
+        <MinPeakThroughput>0</MinPeakThroughput>
+        <MinMeanThroughput>0</MinMeanThroughput>
+        <DataCompression>FALSE</DataCompression>
+        <HeaderCompression>FALSE</HeaderCompression>
+        <AnonymousAccess>FALSE</AnonymousAccess>
+        <IfNetworks>ip</IfNetworks>
+        <AuthRetries>1</AuthRetries>
+        <EnableLCPExtension>FALSE</EnableLCPExtension>
+        <DisablePlainTextAuth>FALSE</DisablePlainTextAuth>
+        <GprsUseEdge>FALSE</GprsUseEdge>
+        <GprsAccessPointType>0</GprsAccessPointType>
+        <QosWarningTimeout>0</QosWarningTimeout>
+    </OutgoingGPRS>
+</OutgoingGPRSTable>
+
+<DefaultGPRSTable>
+    <DefaultGPRS operation="add">
+        <Name>Dummy Default GPRS Settings</Name>
+        <APN>Access point name</APN>
+        <PDPType>IPV6</PDPType>
+        <PDPAddress>www.wid.com</PDPAddress>
+        <Usage>1</Usage>
+        <Precedence>1</Precedence>
+        <Delay>1</Delay>
+        <Reliability>1</Reliability>
+        <PeakThroughput>1</PeakThroughput>
+        <MeanThroughput>1</MeanThroughput>
+        <MinPrecedence>1</MinPrecedence>
+        <MinDelay>1</MinDelay>
+        <MinReliability>1</MinReliability>
+        <MinPeakThroughput>1</MinPeakThroughput>
+        <MinMeanThroughput>1</MinMeanThroughput>
+        <DataCompression>TRUE</DataCompression>
+        <HeaderCompression>TRUE</HeaderCompression>
+        <GprsUseEdge>FALSE</GprsUseEdge>
+        <AnonymousAccess>TRUE</AnonymousAccess>
+    </DefaultGPRS>
+</DefaultGPRSTable>
+
+<LocationTable>
+    <Location operation="template">
+        <Name>Default Location</Name>
+        <Mobile>TRUE</Mobile>
+        <UsePulseDial>FALSE</UsePulseDial>
+        <WaitForDialTone>FALSE</WaitForDialTone>
+        <PauseAfterDialout>0</PauseAfterDialout>
+        <IntlPrefixCode>+</IntlPrefixCode>
+        <NatPrefixCode>0</NatPrefixCode>
+        <NatCode>44</NatCode>
+        <AreaCode>44</AreaCode>
+        <DialOutCode>44</DialOutCode>
+        <DisableCallWaitingCode>44</DisableCallWaitingCode>
+    </Location>
+    <Location operation="add">
+        <Name>Office</Name>
+        <Mobile>FALSE</Mobile>
+        <UsePulseDial>FALSE</UsePulseDial>
+        <WaitForDialTone>FALSE</WaitForDialTone>
+        <PauseAfterDialout>0</PauseAfterDialout>
+        <IntlPrefixCode>00</IntlPrefixCode>
+        <NatPrefixCode>0</NatPrefixCode>
+        <NatCode>44</NatCode>
+        <AreaCode>171</AreaCode>
+        <DialOutCode>9,</DialOutCode>
+        <DisableCallWaitingCode>9,</DisableCallWaitingCode>
+    </Location>
+    <Location operation="add">
+        <Name>Office Direct Dial</Name>
+        <Mobile>FALSE</Mobile>
+        <UsePulseDial>FALSE</UsePulseDial>
+        <WaitForDialTone>FALSE</WaitForDialTone>
+        <PauseAfterDialout>0</PauseAfterDialout>
+        <IntlPrefixCode>00</IntlPrefixCode>
+        <NatPrefixCode>0</NatPrefixCode>
+        <NatCode>44</NatCode>
+        <AreaCode>171</AreaCode>
+        <DialOutCode>171</DialOutCode>
+        <DisableCallWaitingCode>171</DisableCallWaitingCode>
+    </Location>
+    <Location operation="add">
+        <Name>Mobile</Name>
+        <Mobile>TRUE</Mobile>
+        <UsePulseDial>FALSE</UsePulseDial>
+        <WaitForDialTone>FALSE</WaitForDialTone>
+        <PauseAfterDialout>0</PauseAfterDialout>
+        <IntlPrefixCode>+</IntlPrefixCode>
+        <NatPrefixCode>0</NatPrefixCode>
+        <NatCode>44</NatCode>
+        <AreaCode>44</AreaCode>
+        <DialOutCode>44</DialOutCode>
+        <DisableCallWaitingCode>44</DisableCallWaitingCode>
+    </Location>
+    <Location operation="add">
+        <Name>Home</Name>
+        <Mobile>FALSE</Mobile>
+        <UsePulseDial>TRUE</UsePulseDial>
+        <WaitForDialTone>TRUE</WaitForDialTone>
+        <PauseAfterDialout>0</PauseAfterDialout>
+        <IntlPrefixCode>00</IntlPrefixCode>
+        <NatPrefixCode>0</NatPrefixCode>
+        <NatCode>44</NatCode>
+        <AreaCode>181</AreaCode>
+        <DialOutCode>181</DialOutCode>
+        <DisableCallWaitingCode>181</DisableCallWaitingCode>
+    </Location>
+</LocationTable>
+
+<SecureSocketTable>
+    <SecureSocket operation="add">
+        <Name>SecureSocketTable1</Name>
+        <ProtocolName>ssl3.0</ProtocolName>
+        <ProtoLibrary>ssladaptor.dll</ProtoLibrary>
+    </SecureSocket>
+    <SecureSocket operation="add">
+        <Name>SecureSocketTable2</Name>
+        <ProtocolName>tls1.0</ProtocolName>
+        <ProtoLibrary>ssladaptor.dll</ProtoLibrary>
+    </SecureSocket>
+</SecureSocketTable>
+
+<BTDeviceTable>
+</BTDeviceTable>
+
+<BTPersistTable>
+</BTPersistTable>
+
+<BTSecurityTable>
+</BTSecurityTable>
+
+<BTDefaultTable>
+</BTDefaultTable>
+
+<WAPAccessPointTable>
+    <WAPAccessPoint operation="template">
+        <Name>Default Dial In ISP</Name>
+        <CurrentBearer>WAPIPBearer</CurrentBearer>
+    </WAPAccessPoint>
+    <WAPAccessPoint operation="add">
+        <Name>Ethernet Static IP</Name>
+        <CurrentBearer>WAPIPBearer</CurrentBearer>
+        <StartPage>www.wapstart.com</StartPage>
+    </WAPAccessPoint>
+    <WAPAccessPoint operation="add">
+        <Name>Ethernet Dynamic IP</Name>
+        <CurrentBearer>WAPIPBearer</CurrentBearer>
+        <StartPage>www.wapstart.com</StartPage>
+    </WAPAccessPoint>
+</WAPAccessPointTable>
+
+<WAPIPBearerTable>
+    <WAPIPBearer operation="template">
+        <Name>WAPIPBearerTable1</Name>
+        <AccessPoint>WAPAccessPoint.-1</AccessPoint>
+        <GatewayAddress>0</GatewayAddress>
+        <WSPOption>CONNECTIONLESS</WSPOption>
+        <Security>FALSE</Security>
+        <IAPRef>IAP.-1</IAPRef>
+        <ProxyPortNumber>0</ProxyPortNumber>
+        <ProxyLogin>0</ProxyLogin>
+        <ProxyPassword>0</ProxyPassword>
+    </WAPIPBearer>
+    <WAPIPBearer operation="add">
+        <Name>WAPIPBearerTable2</Name>
+        <AccessPoint>WAPAccessPoint.Ethernet Static IP</AccessPoint>
+        <GatewayAddress>0.0.0.0</GatewayAddress>
+        <WSPOption>CONNECTIONORIENTED</WSPOption>
+        <Security>FALSE</Security>
+        <IAPRef>IAP.Ethernet No Daemon Static IP</IAPRef>
+        <ProxyPortNumber>1</ProxyPortNumber>
+        <ProxyLogin>1</ProxyLogin>
+        <ProxyPassword>1</ProxyPassword>
+    </WAPIPBearer>
+    <WAPIPBearer operation="add">
+        <Name>WAPIPBearerTable3</Name>
+        <AccessPoint>WAPAccessPoint.Ethernet Dynamic IP</AccessPoint>
+        <GatewayAddress>0.0.0.0</GatewayAddress>
+        <WSPOption>CONNECTIONORIENTED</WSPOption>
+        <Security>FALSE</Security>
+        <IAPRef>IAP.Ethernet with Daemon Dynamic IP</IAPRef>
+        <ProxyPortNumber>1</ProxyPortNumber>
+        <ProxyLogin>1</ProxyLogin>
+        <ProxyPassword>1</ProxyPassword>
+    </WAPIPBearer>
+</WAPIPBearerTable>
+
+<WAPSMSBearerTable>
+    <WAPSMSBearer operation="template">
+        <Name>WAPSMSBearerTable1</Name>
+        <AccessPoint>WAPAccessPoint.-1</AccessPoint>
+        <GatewayAddress>0</GatewayAddress>
+        <WSPOption>CONNECTIONLESS</WSPOption>
+        <Security>FALSE</Security>
+        <ServiceCentreAddress>0</ServiceCentreAddress>
+    </WAPSMSBearer>
+    <WAPSMSBearer operation="add">
+        <Name>WAPSMSBearerTable2</Name>
+        <AccessPoint>WAPAccessPoint.Ethernet Dynamic IP</AccessPoint>
+        <GatewayAddress>+4412345678901</GatewayAddress>
+        <WSPOption>CONNECTIONORIENTED</WSPOption>
+        <Security>FALSE</Security>
+        <ServiceCentreAddress>+442071234567</ServiceCentreAddress>
+    </WAPSMSBearer>
+</WAPSMSBearerTable>
+
+<VirtualBearerTable>
+</VirtualBearerTable>
+
+<VpnServiceTable>
+</VpnServiceTable>
+
+
+</CommDB:Config>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/bctest/messaging/messaging.pl	Mon Sep 21 16:18:20 2009 +0100
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+# Copyright (c) 2009 Symbian Foundation Ltd
+# This component and the accompanying materials are made available
+# under the terms of the License "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:
+# Symbian Foundation Ltd - initial contribution.
+#
+# Contributors:
+# Brendan Donegan <brendand@symbian.org>
+#
+# Description:
+# Script to build ATS test drop for BC Web Services tests
+
+
+use strict;
+use File::Copy;
+use File::Path;
+
+unlink "messaging.zip";
+##rmtree "temp";
+mkpath "temp/bcmessaging/testframework/general";
+mkpath "temp/bcmessaging/resource/general";
+mkpath "temp/bcmessaging/winscw_udeb";
+
+my $epoc=$ENV{'EPOCROOT'} . "epoc32/";
+copy("messaging.xml",       "temp/test.xml");
+
+copy($epoc . "release/winscw/udeb/MMSClientMTMBCTester.dll",                "temp/bcmessaging/winscw_udeb/MMSClientMTMBCTester.dll");
+copy($epoc . "winscw/c/testframework/MMSClientMTMBCTester.ini",             "temp/bcmessaging/testframework/general/MMSClientMTMBCTester.ini");
+copy($epoc . "winscw/c/testframework/MMSClientMTMBCTester_TestImage.jpg",   "temp/bcmessaging/testframework/general/MMSClientMTMBCTester_TestImage.jpg");
+copy($epoc . "release/winscw/udeb/PluginBioControlAPITest.dll",             "temp/bcmessaging/winscw_udeb/PluginBioControlAPITest.dll");
+copy($epoc . "winscw/c/testframework/tcTestUIBioCombiner.cfg",              "temp/bcmessaging/testframework/general/tcTestUIBioCombiner.cfg");
+copy($epoc . "winscw/c/testframework/ui_PluginBioControlAPITest.cfg",       "temp/bcmessaging/testframework/general/ui_PluginBioControlAPITest.cfg");
+copy($epoc . "winscw/c/testframework/test.txt",                             "temp/bcmessaging/testframework/general/test.txt");
+copy($epoc . "winscw/c/testframework/PluginBioControlAPITest.rsc",          "temp/bcmessaging/testframework/general/PluginBioControlAPITest.rsc");
+copy($epoc . "data/z/resource/pluginbiocontrolapitest.rsc",                 "temp/bcmessaging/resource/general/pluginbiocontrolapitest.rsc");
+copy($epoc . "data/z/resource/pluginbiocontrolapitest.r01",                 "temp/bcmessaging/resource/general/pluginbiocontrolapitest.r01");
+
+system("7z a -tzip messaging.zip ./temp/*");
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/ats/bctest/messaging/messaging.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -0,0 +1,171 @@
+<?xml version="1.0"?>
+<test>
+	<id>1</id>
+	<owner>admin</owner>
+	<priority>10</priority>
+	<buildid></buildid>
+	<name>Messaging BC Tests</name>
+	<target>
+        <device rank="master" alias="emulator_udeb">
+            <property name="HARNESS" value="ATSINTERFACE" />
+            <property name="NAME" value="emulator_udeb" />
+        </device>
+	</target>
+	<plan id="" name="Messaging BC WINSCW UDEB" harness="ATSINTERFACE" enabled="true" passrate="100">
+		<target>
+			<device rank="master" alias="emulator_udeb"/>
+		</target>
+		<session id="" name="Messaging Binary Compatibility Tests" harness="ATSINTERFACE" enabled="true" passrate="100">
+			<set id="" name="Messaging" harness="ATSINTERFACE" enabled="true" passrate="100">
+				<case id="" name="MMS Client MTM" harness="ATSINTERFACE" enabled="true" passrate="100">
+                    <step id="" name="SPD_Logs XML (makedir)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+                        <command>makedir</command>
+                        <params>
+                            <param dir="c:\spd_logs\xml" /> 
+                        </params>
+                    </step>
+                    <step id="" name="MMSClientMTMBCTester.dll (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="binary"/>
+							<param src="MMSClientMTMBCTester.dll"/>
+							<param dst="c:\sys\bin\MMSClientMTMBCTester.dll"/>
+							<param component-path="bcmessaging" />
+						</params>
+					</step>
+					<step id="" name="MMSClientMTMBCTester.ini (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="MMSClientMTMBCTester.ini"/>
+							<param dst="c:\testframework\MMSClientMTMBCTester.ini"/>
+							<param component-path="bcmessaging\testframework" />
+						</params>
+					</step>
+					<step id="" name="MMSClientMTMBCTester_TestImage.jpg (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="MMSClientMTMBCTester_TestImage.jpg"/>
+							<param dst="c:\testframework\MMSClientMTMBCTester_TestImage.jpg"/>
+							<param component-path="bcmessaging\testframework" />
+						</params>
+					</step>
+					<step id="" name="MMSClientMTMBCTester (execute)" harness="ATSINTERFACE" enabled="true" passrate="100">
+						<command>execute</command>
+						<params>
+							<param file="atsinterface.exe"/>
+							<param parameters="-testmodule MMSClientMTMBCTester -moduleini C:\TestFramework\MMSClientMTMBCTester.ini"/>
+                            <param result-file="c:\spd_logs\xml\MMSClientMTMBCTester.xml"/>
+                            <param timeout="3600"/>
+						</params>
+					</step>
+					<step id="" name="MMSClientMTMBCTester (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
+						<command>fetch-log</command>
+						<params>
+							<param path="c:\logs\testframework\TestReport.txt" /> 
+						</params>
+					</step>
+				</case>
+                <case id="" name="Messaging Plugin Bio" harness="ATSINTERFACE" enabled="true" passrate="100">
+                    <step id="" name="SPD_Logs XML (makedir)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+                        <command>makedir</command>
+                        <params>
+                            <param dir="c:\spd_logs\xml" /> 
+                        </params>
+                    </step>
+                    <step id="" name="PluginBioControlAPITest.dll (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="binary"/>
+							<param src="PluginBioControlAPITest.dll"/>
+							<param dst="c:\sys\bin\PluginBioControlAPITest.dll"/>
+							<param component-path="bcmessaging" />
+						</params>
+					</step>
+					<step id="" name="tcTestUIBioCombiner.cfg (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="tcTestUIBioCombiner.cfg"/>
+							<param dst="c:\testframework\tcTestUIBioCombiner.cfg"/>
+							<param component-path="bcmessaging\testframework" />
+						</params>
+					</step>
+					<step id="" name="ui_PluginBioControlAPITest.cfg (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="ui_PluginBioControlAPITest.cfg"/>
+							<param dst="c:\testframework\ui_PluginBioControlAPITest.cfg"/>
+							<param component-path="bcmessaging\testframework" />
+						</params>
+					</step>
+					<step id="" name="test.txt (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="test.txt"/>
+							<param dst="c:\testframework\test.txt"/>
+							<param component-path="bcmessaging\testframework" />
+						</params>
+					</step>
+					<step id="" name="PluginBioControlAPITest.rsc on C (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="PluginBioControlAPITest.rsc"/>
+							<param dst="c:\testframework\PluginBioControlAPITest.rsc"/>
+							<param component-path="bcmessaging\testframework" />
+						</params>
+					</step>
+					<step id="" name="PluginBioControlAPITest.rsc on Z (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="pluginbiocontrolapitest.rsc"/>
+							<param dst="z:\resource\pluginbiocontrolapitest.rsc"/>
+							<param component-path="bcmessaging\resource" />
+						</params>
+					</step>
+					<step id="" name="PluginBioControlAPITest.r01 on Z (install)" harness="ATSINTERFACE" enabled="true" passrate="100" significant="false">
+						<command>install</command>
+						<params>
+							<param type="data"/>
+							<param src="pluginbiocontrolapitest.r01"/>
+							<param dst="z:\resource\pluginbiocontrolapitest.r01"/>
+							<param component-path="bcmessaging\resource" />
+						</params>
+					</step>  
+					<step id="" name="PluginBioControlAPITest (execute)" harness="ATSINTERFACE" enabled="true" passrate="100">
+						<command>execute</command>
+						<params>
+							<param file="atsinterface.exe"/>
+							<param parameters="-testmodule testcombiner -config C:\TestFramework\tcTestUIBioCombiner.cfg"/>
+                            <param result-file="c:\spd_logs\xml\testcombiner.xml"/>
+                            <param timeout="3600"/>
+						</params>
+					</step>
+					<step id="" name="PluginBioControlAPITest (fetch-log)" harness="ATSINTERFACE" enabled="true" passrate="100">
+						<command>fetch-log</command>
+						<params>
+							<param path="c:\logs\testframework\TestReport.txt" /> 
+						</params>
+					</step>
+                </case>
+            </set>
+		</session>
+	</plan>
+	<files>
+		<file>bcmessaging/winscw_udeb/MMSClientMTMBCTester.dll</file>
+        <file>bcmessaging/testframework/general/MMSClientMTMBCTester.ini</file>
+        <file>bcmessaging/testframework/general/MMSClientMTMBCTester_TestImage.jpg</file>
+        <file>bcmessaging/winscw_udeb/PluginBioControlAPITest.dll</file>
+        <file>bcmessaging/testframework/general/tcTestUIBioCombiner.cfg</file>
+        <file>bcmessaging/testframework/general/ui_PluginBioControlAPITest.cfg</file>
+        <file>bcmessaging/testframework/general/test.txt</file>
+        <file>bcmessaging/testframework/general/PluginBioControlAPITest.rsc</file>
+        <file>bcmessaging/resource/general/pluginbiocontrolapitest.rsc</file>
+        <file>bcmessaging/resource/general/pluginbiocontrolapitest.r01</file>
+	</files>
+</test>
\ No newline at end of file
--- a/common/tools/ats/bctest/websrv/websrv.xml	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/tools/ats/bctest/websrv/websrv.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -133,7 +133,7 @@
 						<params>
 							<param file="atsinterface.exe"/>
 							<param parameters="-testmodule newsoapclassesbctest"/>
-                            <param result-file="c:\spd_logs\xml\newsoapclasses.xml"/>
+                            <param result-file="c:\spd_logs\xml\newsoapclassesbctest.xml"/>
                             <param timeout="3600"/>
 						</params>
 					</step>
--- a/common/tools/populateziptemplate.pl	Fri Sep 18 11:41:08 2009 +0100
+++ b/common/tools/populateziptemplate.pl	Mon Sep 21 16:18:20 2009 +0100
@@ -26,11 +26,6 @@
 my $template = shift or die "Second arg must be template file";
 my $ftl = shift or die "Third arg must be output file";
 my $rndExcludes = shift or die "Fourth arg must be rnd-excludes file";
-my $nosource = shift;
-if(defined $nosource && $nosource !~ m/--nosource/i)
-{
-  die "fifth argument can only be \'--nosource\'";
-}
 
 # Load CSV
 open my $csvText, "<", $sourcesCSV or die "Unable to open sources.csv from $sourcesCSV";
@@ -79,8 +74,6 @@
 	$package->{dst} =~ s{^/}{}g;
 	if ($package->{source} =~ m{/(sfl|oss)/(MCL|FCL)/sf/([^/]+)/([^/]+)})
 	{
-		if(!defined $nosource)
-  	{
   		push @{$zipConfig->{config}->{config}->{src}->{config}->{$1}->{config}},
   		{
   			set =>
@@ -95,16 +88,22 @@
   				},
   			]
   		};
-  	}	
 	}
 	elsif ($package->{source} =~ m{/rnd/([^/]+)/([^/]+)})
 	{
 		# RnD repository
-		my $name = "binaries_$2";
-		if ($1 eq "rndonly") { $name="bin_$1_$2";}
+		my $licenseType = $1;
+		my $name="bin_$1_$2";
+		my $postbuildName = "binaries_$2";
+		my $config = "rnd";
+		if ($licenseType eq "internal")
+		{
+			$name = "binaries_$2_prebuild";
+			$config = "rnd-internal";
+		}
 		
 		# Create a zip object
-		push @{$zipConfig->{config}->{config}->{src}->{config}->{rnd}->{config}},
+		push @{$zipConfig->{config}->{config}->{$config}->{config}},
 		{
 			set =>
 			[
@@ -125,19 +124,33 @@
 		# Enumerate all the files on the local disk that are in this repository
 		(my $dosCompatibleDst = $package->{dst}) =~ s{/}{\\}g;
 		my @files = `dir /b/s/a-d $dosCompatibleDst 2> nul:`;
-		#print "@files\n";
 		next unless @files;
-		# Add the files to this zip object
+		# Add the files to the global list of items to be excluded in the binary zips
 		@files = grep {
+			chomp;
 			s{\\}{/}g;
 			s!^[A-Z]:/$package->{dst}/!!i;
 			m{^epoc32/}i;
 		} @files;
 		push @allRndFiles, @files;
-		
-		open FILE, ">", $name ."_includefile.txt" or die "Cannot write includefile!";
-		print FILE @files;
-		close FILE;
+
+		if ($licenseType eq "internal")
+		{
+			# Add a zip object to zip this package from the epoc tree in the postbuild phase
+			push @{$zipConfig->{config}->{config}->{"rnd-postbuild"}->{config}},
+			{
+				name => $postbuildName,
+				set =>
+				[
+					{
+						name => "name",
+						value=> $postbuildName,
+					},
+					# Turn the array of files into an array of inclusion hashes
+					(map { {name => "include", value => $_ } } @files),
+				]
+			};
+		}
 	}
 	else
 	{
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/sysModelFilter.pl	Mon Sep 21 16:18:20 2009 +0100
@@ -0,0 +1,162 @@
+#!perl -w
+
+use strict;
+
+use XML::Parser;
+
+my $sysModel = shift or die "First arg must be system model xml file";
+my @filters = @ARGV or die "Subsequent arg(s) must be filter(s) to apply";
+
+# Sort out the positive and negative filters specified
+my @negativeFilters;
+my @positiveFilters;
+foreach my $filter (@filters)
+{
+	if ($filter =~ m{^!(.*)})
+	{
+		push @negativeFilters, $1;
+	}
+	else
+	{
+		push @positiveFilters, $filter;
+	}
+}
+
+# Read input tree
+my $parser = new XML::Parser(Style => "Objects") or die;
+my $sysTree = eval { $parser->parsefile($sysModel) } or die "Failed to parse $sysModel : $@";
+
+# Apply filter
+filterTree($sysTree->[0], \@negativeFilters, \@positiveFilters);
+
+# Output total tree
+print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
+printTree($sysTree->[0]);
+print "\n";
+
+exit;
+
+sub filterTree
+{
+	my $tree = shift;
+	my $negativeFilters = shift;
+	my $positiveFilters = shift;
+
+	if (exists $tree->{filter})
+	{
+		# Work out how this item in the tree is tagged for filtering
+		my $itemTags = [split ",", $tree->{filter}];
+		my @negativeTags;
+		my @positiveTags;
+		foreach my $tag (@$itemTags)
+		{
+			if ($tag =~ m{^!(.*)})
+			{
+				push @negativeTags, $1;
+			}
+			else
+			{
+				push @positiveTags, $tag;
+			}
+		}
+
+		# Test whether this item should be removed
+		if (intersect(\@positiveTags, $negativeFilters) ||
+		    intersect(\@negativeTags, $positiveFilters) )
+		{
+			# It should!
+			# Return false, and the removal will be executed by the
+			# calling instance
+			# (No need to examine children)
+			return 0;
+		}
+
+		# Tidy up the filter attribute
+		# Remove tags from this item that have been "used up"
+		# Remove the filter attribute entirely if they have all been
+		# used up
+		my %filterLookup = map { $_ => 1 } (@$negativeFilters, @$positiveFilters);
+		@$itemTags = grep { !exists $filterLookup{$_} } @$itemTags;
+		if (scalar @$itemTags)
+		{
+			$tree->{filter} = join ",", @$itemTags;
+		}
+		else
+		{
+			delete $tree->{filter};
+		}
+	}
+
+	# Now iterate through the children of this item and remove any that
+	# should be filtered out
+	@{$tree->{Kids}} = grep {
+		filterTree($_, $negativeFilters, $positiveFilters)
+	} @{$tree->{Kids}};
+
+	# Return true so that the calling instance will preserve this item in
+	# the output tree
+	return 1;
+}
+
+# Test whether two sets (arrays) intersect
+sub intersect
+{
+	my $set1 = shift;
+	my $set2 = shift;
+
+	my %set1 = map { $_ => 1 } @$set1;
+	foreach (@$set2)
+	{
+		return 1 if exists $set1{$_};
+	}
+	return 0;
+}
+
+sub printTree
+{
+	my $tree = shift or die;
+	die unless ref $tree;
+
+	my $tagName = ref $tree;
+	$tagName =~ s{^main::}{};
+	if ($tagName eq "Characters")
+	{
+		print $tree->{Text};
+		return;
+	}
+	
+	print "<$tagName";
+
+	foreach my $attr (
+		sort {
+			my $order = "unofficial name long-name tech_domain level span schema levels filter introduced deprecated purpose class plugin origin-model bldFile mrp version priority";
+			my $ixA = 1 + index $order, $a or die $a;
+			my $ixB = 1 + index $order, $b or die $b;
+			$ixA - $ixB;
+		}
+		grep {
+			! ref $tree->{$_}
+		}
+		keys %$tree)
+	{
+		print " $attr=\"$tree->{$attr}\"";
+	}
+
+	my $children = $tree->{Kids};
+	if (scalar @$children)
+	{
+		print ">";
+		foreach my $child (@$children)
+		{
+			printTree($child);
+		}
+		print "</$tagName";
+	}
+	else
+	{
+		print "/"
+	}
+
+	print ">";
+}
+
--- a/common/tools/zip_includefiles.pl	Fri Sep 18 11:41:08 2009 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-#!perl -w
-
-use strict;
-
-my @includefiles = glob "*_includefile.txt";
-foreach (@includefiles)
-{
-    my $includefilename=$_;
-	if (m/(.*)(_includefile.txt)/) {
-		my $zipfilename = $1.".zip";
-		system("7za a -tzip -i@".$includefilename . " " .$zipfilename);
-	}
-}
\ No newline at end of file
--- a/sf-package/package_props.ant.xml	Fri Sep 18 11:41:08 2009 +0100
+++ b/sf-package/package_props.ant.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -8,7 +8,7 @@
 	
   <property name="sf.spec.baseline.enable" value="true"/>
   <property name="sf.spec.baseline.select" value="location"/>
-  <property name="sf.spec.baseline.location" value="\\bishare\Releases\PDK_candidate_2.0.d_flat"/>
+  <property name="sf.spec.baseline.location" value="\\bishare\Releases\PDK_2.0.e"/>
   <property name="sf.spec.baseline.getenv_options" value="-i emu -i rnd -i tools -i info"/>
   
   <property name="sf.spec.toolsbaseline.enable" value="false"/>
--- a/sf-platform/build.xml	Fri Sep 18 11:41:08 2009 +0100
+++ b/sf-platform/build.xml	Mon Sep 21 16:18:20 2009 +0100
@@ -27,7 +27,9 @@
   <target name="sf-platform-bootstrap-gt" >
     <echo>[SF-platform-bootstrap-gt]</echo>
     <!-- do initial stuff to get raptor working -->
-    <copy file="${build.drive}/${sf.spec.bldmefirst.gt.hrh}" tofile="${build.drive}/epoc32/include/variant/Symbian_OS.hrh" failonerror="true" verbose="true" />
+    <copy todir="${build.drive}/epoc32/include/variant/" failonerror="true" verbose="true">
+        <fileset dir="${build.drive}/${sf.spec.bldmefirst.gt.hrh}" includes="*.hrh"/>
+    </copy>
     <copy file="${build.drive}/${sf.spec.bldmefirst.gt.variant}" tofile="${build.drive}/epoc32/tools/variant/variant.cfg" failonerror="true" verbose="true" preservelastmodified="true" />
   </target>