diff --git a/ci-scripts/Jenkinsfile-gitlab b/ci-scripts/Jenkinsfile-gitlab
index 9c41e81432c026b481972bf5a1202b4373add85f..3d45911208a4c279a5448f38a4fb3f424d3dc934 100644
--- a/ci-scripts/Jenkinsfile-gitlab
+++ b/ci-scripts/Jenkinsfile-gitlab
@@ -41,7 +41,7 @@ pipeline {
         disableConcurrentBuilds()
         timestamps()
         gitLabConnection('OAI GitLab')
-        gitlabBuilds(builds: ["Build eNb-USRP", "Build gNb-usrp", "Build nr-UE-usrp", "Build phy-sim", "Analysis with cppcheck"])
+        gitlabBuilds(builds: ["Build eNb-USRP", "Build basic-sim", "Build gNb-usrp", "Build nr-UE-usrp", "Build phy-sim", "Analysis with cppcheck", "Test phy-sim", "Test basic-sim"])
         ansiColor('xterm')
     }
 
@@ -62,7 +62,7 @@ pipeline {
                         allParametersPresent = false
                     }
                     if (allParametersPresent) {
-			echo "Performing Red Hat Build"
+                        echo "Performing Red Hat Build"
                         doRedHatBuild = true
                     } else {
                         doRedHatBuild = false
@@ -125,6 +125,12 @@ pipeline {
             }
         }
 
+        stage ("Start VM -- basic-sim") {
+            steps {
+                sh "./ci-scripts/createVM.sh --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+            }
+        }
+
         stage ("Start VM -- phy-sim") {
             steps {
                 sh "./ci-scripts/createVM.sh --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
@@ -148,28 +154,35 @@ pipeline {
                 stage ("Analysis with cppcheck") {
                     steps {
                         gitlabCommitStatus(name: "Analysis with cppcheck") {
-                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant cppcheck --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                         }
                     }
                 }
                 stage ("Build eNb-USRP") {
                     steps {
                         gitlabCommitStatus(name: "Build eNb-USRP") {
-                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant enb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
+                        }
+                    }
+                }
+                stage ("Build basic simulator") {
+                    steps {
+                        gitlabCommitStatus(name: "Build basic-sim") {
+                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
                         }
                     }
                 }
                 stage ("Build 5G gNB-USRP") {
                     steps {
                         gitlabCommitStatus(name: "Build gNb-usrp") {
-                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant gnb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant gnb-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                         }
                     }
                 }
                 stage ("Build 5G NR-UE-USRP") {
                     steps {
                         gitlabCommitStatus(name: "Build nr-UE-usrp") {
-                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant nu-ue-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                            sh "./ci-scripts/buildOnVM.sh --workspace $WORKSPACE --variant nu-ue-usrp --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                         }
                     }
                 }
@@ -205,7 +218,7 @@ pipeline {
                 always {
                     script {
                         dir ('archives') {
-                            sh "zip -r -qq vm_build_logs.zip enb_usrp phy_sim cppcheck gnb_usrp nrue_usrp red_hat"
+                            sh "zip -r -qq vm_build_logs.zip basic_sim enb_usrp phy_sim cppcheck gnb_usrp nrue_usrp red_hat"
                         }
                         if(fileExists('archives/vm_build_logs.zip')) {
                             archiveArtifacts artifacts: 'archives/vm_build_logs.zip'
@@ -225,6 +238,7 @@ pipeline {
                             sh "./ci-scripts/reportBuildLocally.sh --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
                         }
                         if(fileExists('build_results.html')) {
+                            sh "sed -i -e 's#Build-ID: ${BUILD_ID}#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' build_results.html"
                             archiveArtifacts artifacts: 'build_results.html'
                         }
                     }
@@ -237,13 +251,15 @@ pipeline {
                 stage ("Test physical simulators") {
                     steps {
                         gitlabCommitStatus(name: "Test phy-sim") {
-                            sh "./ci-scripts/runTestOnVM.sh --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                            sh "./ci-scripts/runTestOnVM.sh --workspace $WORKSPACE --variant phy-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
                         }
                     }
                 }
                 stage ("Test basic simulator") {
                     steps {
-                        echo '\u2705 \u001B[32mBasic Simulator testing not done in this pipeline\u001B[0m'
+                        gitlabCommitStatus(name: "Test basic-sim") {
+                            sh "./ci-scripts/runTestOnVM.sh --workspace $WORKSPACE --variant basic-sim --job-name ${JOB_NAME} --build-id ${BUILD_ID} --keep-vm-alive"
+                        }
                     }
                 }
                 stage ("Test FDD - Band 7 - B210") {
@@ -266,6 +282,7 @@ pipeline {
                                 sh "./ci-scripts/reportTestLocally.sh --git-url ${GIT_URL} --job-name ${JOB_NAME} --build-id ${BUILD_ID} --trigger push --branch ${GIT_BRANCH} --commit ${GIT_COMMIT}"
                             }
                             if(fileExists('test_simulator_results.html')) {
+                                sh "sed -i -e 's#Build-ID: ${BUILD_ID}#Build-ID: <a href=\"${BUILD_URL}\">${BUILD_ID}</a>#' test_simulator_results.html"
                                 archiveArtifacts artifacts: 'test_simulator_results.html'
                             }
                         }
@@ -273,7 +290,6 @@ pipeline {
                 }
             }
         }
-
         stage ("Destroy all Virtual Machines") {
             steps {
                 sh "./ci-scripts/destroyAllRunningVM.sh --job-name ${JOB_NAME} --build-id ${BUILD_ID}"
diff --git a/ci-scripts/buildLocally.sh b/ci-scripts/buildLocally.sh
deleted file mode 100755
index 67019508327a32e2cdf00c7f17d24c24d6918879..0000000000000000000000000000000000000000
--- a/ci-scripts/buildLocally.sh
+++ /dev/null
@@ -1,153 +0,0 @@
-#!/bin/bash
-
-function usage {
-    echo "OAI Local Build Check script"
-    echo "   Original Author: Raphael Defosseux"
-    echo ""
-    echo "Usage:"
-    echo "------"
-    echo "    buildLocally.sh [OPTIONS]"
-    echo ""
-    echo "Options:"
-    echo "--------"
-    echo "    --workspace #### OR -ws ####"
-    echo "    Specify the workspace"
-    echo ""
-    echo "    --help OR -h"
-    echo "    Print this help message."
-    echo ""
-}
-
-if [ $# -ne 2 ] && [ $# -ne 1 ]
-then
-    echo "Syntax Error: not the correct number of arguments"
-    echo ""
-    usage
-    exit 1
-fi
-
-while [[ $# -gt 0 ]]
-do
-key="$1"
-
-case $key in
-    -h|--help)
-    shift
-    usage
-    exit 0
-    ;;
-    -ws|--workspace)
-    JENKINS_WKSP="$2"
-    shift
-    shift
-    ;;
-    *)
-    echo "Syntax Error: unknown option: $key"
-    echo ""
-    usage
-    exit 1
-esac
-done
-
-cd $JENKINS_WKSP
-STATUS=0
-
-############################################################
-# Creating a tmp folder to store results and artifacts
-############################################################
-if [ ! -d $JENKINS_WKSP/archives ]
-then
-    mkdir $JENKINS_WKSP/archives
-fi
-
-source oaienv
-cd $JENKINS_WKSP/cmake_targets
-
-############################################################
-# Building eNb with USRP option
-############################################################
-ARCHIVES_LOC=$JENKINS_WKSP/archives/enb_usrp
-if [ ! -d $ARCHIVES_LOC ]
-then
-    mkdir $ARCHIVES_LOC
-fi
-./build_oai --eNB -w USRP -c
-
-# Generated log files:
-if [ -f $JENKINS_WKSP/cmake_targets/log/lte-softmodem.Rel14.txt ]
-then
-    LOCAL_STAT=`egrep -c "Built target lte-softmodem" $JENKINS_WKSP/cmake_targets/log/lte-softmodem.Rel14.txt`
-    if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-    cp $JENKINS_WKSP/cmake_targets/log/lte-softmodem.Rel14.txt $ARCHIVES_LOC
-else
-    STATUS=-1
-fi
-if [ -f $JENKINS_WKSP/cmake_targets/log/params_libconfig.Rel14.txt ]
-then
-    LOCAL_STAT=`egrep -c "Built target params_libconfig" $JENKINS_WKSP/cmake_targets/log/params_libconfig.Rel14.txt`
-    if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-    cp $JENKINS_WKSP/cmake_targets/log/params_libconfig.Rel14.txt $ARCHIVES_LOC
-else
-    STATUS=-1
-fi
-if [ -f $JENKINS_WKSP/cmake_targets/log/coding.Rel14.txt ]
-then
-    LOCAL_STAT=`egrep -c "Built target coding" $JENKINS_WKSP/cmake_targets/log/coding.Rel14.txt`
-    if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-    cp $JENKINS_WKSP/cmake_targets/log/coding.Rel14.txt $ARCHIVES_LOC
-else
-    STATUS=-1
-fi
-if [ -f $JENKINS_WKSP/cmake_targets/log/oai_usrpdevif.Rel14.txt ]
-then
-    LOCAL_STAT=`egrep -c "Built target oai_usrpdevif" $JENKINS_WKSP/cmake_targets/log/oai_usrpdevif.Rel14.txt`
-    if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-    cp $JENKINS_WKSP/cmake_targets/log/oai_usrpdevif.Rel14.txt $ARCHIVES_LOC
-else
-    STATUS=-1
-fi
-
-############################################################
-# Building basic simulator
-############################################################
-ARCHIVES_LOC=$JENKINS_WKSP/archives/basic_sim
-if [ ! -d $ARCHIVES_LOC ]
-then
-    mkdir $ARCHIVES_LOC
-fi
-cd $JENKINS_WKSP/cmake_targets
-./build_oai --basic-simulator -c
-
-# Generated log files:
-if [ -f $JENKINS_WKSP/cmake_targets/log/basic_simulator_enb.txt ]
-then
-    LOCAL_STAT=`egrep -c "Built target lte-softmodem" $JENKINS_WKSP/cmake_targets/log/basic_simulator_enb.txt`
-    if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-    cp $JENKINS_WKSP/cmake_targets/log/basic_simulator_enb.txt $ARCHIVES_LOC
-else
-    STATUS=-1
-fi
-if [ -f $JENKINS_WKSP/cmake_targets/log/basic_simulator_ue.txt ]
-then
-    LOCAL_STAT=`egrep -c "Built target lte-uesoftmodem" $JENKINS_WKSP/cmake_targets/log/basic_simulator_ue.txt`
-    if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-    cp $JENKINS_WKSP/cmake_targets/log/basic_simulator_ue.txt $ARCHIVES_LOC
-else
-    STATUS=-1
-fi
-if [ -f $JENKINS_WKSP/cmake_targets/log/conf2uedata.Rel14.txt ]
-then
-    LOCAL_STAT=`egrep -c "Built target conf2uedata" $JENKINS_WKSP/cmake_targets/log/conf2uedata.Rel14.txt`
-    if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi
-    cp $JENKINS_WKSP/cmake_targets/log/conf2uedata.Rel14.txt $ARCHIVES_LOC
-else
-    STATUS=-1
-fi
-
-############################################################
-# Creating a zip for Jenkins archiving
-############################################################
-cd $JENKINS_WKSP/archives/
-zip -r local_build_logs.zip basic_sim enb_usrp
-
-exit $STATUS
diff --git a/ci-scripts/buildOnVM.sh b/ci-scripts/buildOnVM.sh
index b38905cc217aa0760cd2a12c5257d37902540288..d5a0bc373bc1d8ccb6c5312833582d0c9b0bc54b 100755
--- a/ci-scripts/buildOnVM.sh
+++ b/ci-scripts/buildOnVM.sh
@@ -90,6 +90,7 @@ JOB_NAME=XX
 BUILD_ID=XX
 VM_NAME=ci-enb-usrp
 VM_MEMORY=2048
+VM_CPU=4
 ARCHIVES_LOC=enb_usrp
 LOG_PATTERN=.Rel15.txt
 NB_PATTERN_FILES=4
@@ -139,6 +140,8 @@ case $key in
     LOG_PATTERN=basic_simulator
     NB_PATTERN_FILES=2
     BUILD_OPTIONS="--basic-simulator"
+    VM_MEMORY=8192
+    VM_CPU=4
     shift
     ;;
     -v3)
@@ -206,6 +209,8 @@ case $key in
         LOG_PATTERN=basic_simulator
         NB_PATTERN_FILES=2
         BUILD_OPTIONS="--basic-simulator"
+        VM_MEMORY=8192
+        VM_CPU=4
         ;;
         phy-sim)
         VM_NAME=ci-phy-sim
@@ -304,7 +309,7 @@ then
     echo "############################################################"
     echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
     echo "############################################################"
-    uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu 4 --unsafe-caching --template ci-scripts/template-host.xml
+    uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
 fi
 
 echo "Waiting for VM to be started"
@@ -323,6 +328,7 @@ echo "############################################################"
 echo "Running install and build script on VM ($VM_NAME)"
 echo "############################################################"
 echo "sudo cp 01proxy /etc/apt/apt.conf.d/" > $VM_CMDS
+echo "touch /home/ubuntu/.hushlogin" >> $VM_CMDS
 if [[ "$VM_NAME" == *"-cppcheck"* ]]
 then
     echo "echo \"sudo apt-get --yes --quiet install zip cppcheck \"" >> $VM_CMDS
diff --git a/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf b/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
index 2bd28a60df37f1ac70518eed908139d8b3110ea2..37656de75527716462e60a62de7cf0cf32c2cbaa 100644
--- a/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band7.tm1.100PRB.usrpb210.conf
@@ -33,7 +33,7 @@ eNBs =
       tdd_config_s            			      = 0;
       prefix_type             			      = "NORMAL";
       eutra_band              			      = 7;
-      downlink_frequency      			      = 2685000000L;
+      downlink_frequency      			      = 2680000000L;
       uplink_frequency_offset 			      = -120000000;
       Nid_cell					      = 0;
       N_RB_DL                 			      = 100;
@@ -183,12 +183,14 @@ eNBs =
 
     NETWORK_INTERFACES :
     {
-
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
 );
diff --git a/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf b/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
index 102fc89a13b6fde8a8192202f320b1edf2e10467..01c1ca1428c5025cb37221914f84079403dfcc06 100644
--- a/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band7.tm1.25PRB.usrpb210.conf
@@ -33,7 +33,7 @@ eNBs =
       tdd_config_s            			      = 0;
       prefix_type             			      = "NORMAL";
       eutra_band              			      = 7;
-      downlink_frequency      			      = 2685000000L;
+      downlink_frequency      			      = 2680000000L;
       uplink_frequency_offset 			      = -120000000;
       Nid_cell					      = 0;
       N_RB_DL                 			      = 25;
@@ -183,12 +183,14 @@ eNBs =
 
     NETWORK_INTERFACES :
     {
-
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
 );
diff --git a/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf b/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
index fe6e2f0b59589f9ec4ab462b87fbbeb1c0379cf9..eb5822cb22fcb6f98a48cd3a1fbf406869e1be80 100644
--- a/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
+++ b/ci-scripts/conf_files/enb.band7.tm1.50PRB.usrpb210.conf
@@ -33,7 +33,7 @@ eNBs =
       tdd_config_s            			      = 0;
       prefix_type             			      = "NORMAL";
       eutra_band              			      = 7;
-      downlink_frequency      			      = 2685000000L;
+      downlink_frequency      			      = 2680000000L;
       uplink_frequency_offset 			      = -120000000;
       Nid_cell					      = 0;
       N_RB_DL                 			      = 50;
@@ -183,12 +183,14 @@ eNBs =
 
     NETWORK_INTERFACES :
     {
-
         ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
         ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
         ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
     };
   }
 );
diff --git a/ci-scripts/conf_files/lte-basic-sim.conf b/ci-scripts/conf_files/lte-basic-sim.conf
new file mode 100644
index 0000000000000000000000000000000000000000..f0fab0bdcba24e59c043441a1b321c13825db24f
--- /dev/null
+++ b/ci-scripts/conf_files/lte-basic-sim.conf
@@ -0,0 +1,259 @@
+Active_eNBs = ( "eNB-Eurecom-LTEBox");
+# Asn1_verbosity, choice in: none, info, annoying
+Asn1_verbosity = "none";
+
+eNBs =
+(
+ {
+    ////////// Identification parameters:
+    eNB_ID    =  0xe00;
+
+    cell_type =  "CELL_MACRO_ENB";
+
+    eNB_name  =  "eNB-Eurecom-LTEBox";
+
+    // Tracking area code, 0x0000 and 0xfffe are reserved values
+    tracking_area_code  =  "1";
+
+    mobile_country_code =  "208";
+
+    mobile_network_code =  "93";
+
+    tr_s_preference     = "local_mac"
+
+    ////////// Physical parameters:
+
+    component_carriers = (
+      {
+      node_function             = "3GPP_eNODEB";
+      node_timing               = "synch_to_ext_device";
+      node_synch_ref            = 0;
+      frame_type					      = "FDD";
+      tdd_config 					      = 3;
+      tdd_config_s            			      = 0;
+      prefix_type             			      = "NORMAL";
+      eutra_band              			      = 7;
+      downlink_frequency      			      = 2680000000L;
+      uplink_frequency_offset 			      = -120000000;
+      Nid_cell					      = 0;
+      N_RB_DL                 			      = 25;
+      Nid_cell_mbsfn          			      = 0;
+      nb_antenna_ports                                = 1;
+      nb_antennas_tx          			      = 1;
+      nb_antennas_rx          			      = 1;
+      tx_gain                                            = 90;
+      rx_gain                                            = 125;
+      pbch_repetition                                 = "FALSE";
+      prach_root              			      = 0;
+      prach_config_index      			      = 0;
+      prach_high_speed        			      = "DISABLE";
+      prach_zero_correlation  			      = 1;
+      prach_freq_offset       			      = 2;
+      pucch_delta_shift       			      = 1;
+      pucch_nRB_CQI           			      = 0;
+      pucch_nCS_AN            			      = 0;
+      pucch_n1_AN             			      = 0;
+      pdsch_referenceSignalPower 			      = -27;
+      pdsch_p_b                  			      = 0;
+      pusch_n_SB                 			      = 1;
+      pusch_enable64QAM          			      = "DISABLE";
+      pusch_hoppingMode                                  = "interSubFrame";
+      pusch_hoppingOffset                                = 0;
+      pusch_groupHoppingEnabled  			      = "ENABLE";
+      pusch_groupAssignment      			      = 0;
+      pusch_sequenceHoppingEnabled		   	      = "DISABLE";
+      pusch_nDMRS1                                       = 1;
+      phich_duration                                     = "NORMAL";
+      phich_resource                                     = "ONESIXTH";
+      srs_enable                                         = "DISABLE";
+      /*  srs_BandwidthConfig                                =;
+      srs_SubframeConfig                                 =;
+      srs_ackNackST                                      =;
+      srs_MaxUpPts                                       =;*/
+
+      pusch_p0_Nominal                                   = -96;
+      pusch_alpha                                        = "AL1";
+      pucch_p0_Nominal                                   = -104;
+      msg3_delta_Preamble                                = 6;
+      pucch_deltaF_Format1                               = "deltaF2";
+      pucch_deltaF_Format1b                              = "deltaF3";
+      pucch_deltaF_Format2                               = "deltaF0";
+      pucch_deltaF_Format2a                              = "deltaF0";
+      pucch_deltaF_Format2b		    	      = "deltaF0";
+
+      rach_numberOfRA_Preambles                          = 64;
+      rach_preamblesGroupAConfig                         = "DISABLE";
+      /*
+      rach_sizeOfRA_PreamblesGroupA                      = ;
+      rach_messageSizeGroupA                             = ;
+      rach_messagePowerOffsetGroupB                      = ;
+      */
+      rach_powerRampingStep                              = 4;
+      rach_preambleInitialReceivedTargetPower            = -108;
+      rach_preambleTransMax                              = 10;
+      rach_raResponseWindowSize                          = 10;
+      rach_macContentionResolutionTimer                  = 48;
+      rach_maxHARQ_Msg3Tx                                = 4;
+
+      pcch_default_PagingCycle                           = 128;
+      pcch_nB                                            = "oneT";
+      bcch_modificationPeriodCoeff			      = 2;
+      ue_TimersAndConstants_t300			      = 1000;
+      ue_TimersAndConstants_t301			      = 1000;
+      ue_TimersAndConstants_t310			      = 1000;
+      ue_TimersAndConstants_t311			      = 10000;
+      ue_TimersAndConstants_n310			      = 20;
+      ue_TimersAndConstants_n311			      = 1;
+      ue_TransmissionMode                                    = 1;
+
+      //Parameters for SIB18
+      rxPool_sc_CP_Len                                       = "normal";
+      rxPool_sc_Period                                       = "sf40";
+      rxPool_data_CP_Len                                     = "normal";
+      rxPool_ResourceConfig_prb_Num                          = 20;
+      rxPool_ResourceConfig_prb_Start                        = 5;
+      rxPool_ResourceConfig_prb_End                          = 44;
+      rxPool_ResourceConfig_offsetIndicator_present          = "prSmall";
+      rxPool_ResourceConfig_offsetIndicator_choice           = 0;
+      rxPool_ResourceConfig_subframeBitmap_present           = "prBs40";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_buf              = "00000000000000000000";
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_size             = 5;
+      rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused      = 0;
+/*    rxPool_dataHoppingConfig_hoppingParameter                       = 0;
+      rxPool_dataHoppingConfig_numSubbands                            = "ns1";
+      rxPool_dataHoppingConfig_rbOffset                               = 0;
+      rxPool_commTxResourceUC-ReqAllowed                              = "TRUE";
+*/
+      // Parameters for SIB19
+      discRxPool_cp_Len                                               = "normal"
+      discRxPool_discPeriod                                           = "rf32"
+      discRxPool_numRetx                                              = 1;
+      discRxPool_numRepetition                                        = 2;
+      discRxPool_ResourceConfig_prb_Num                               = 5;
+      discRxPool_ResourceConfig_prb_Start                             = 3;
+      discRxPool_ResourceConfig_prb_End                               = 21;
+      discRxPool_ResourceConfig_offsetIndicator_present               = "prSmall";
+      discRxPool_ResourceConfig_offsetIndicator_choice                = 0;
+      discRxPool_ResourceConfig_subframeBitmap_present                = "prBs40";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf          = "f0ffffffff";
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_size         = 5;
+      discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused  = 0;
+
+      }
+    );
+
+
+    srb1_parameters :
+    {
+        # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
+        timer_poll_retransmit    = 80;
+
+        # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
+        timer_reordering         = 35;
+
+        # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
+        timer_status_prohibit    = 0;
+
+        # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
+        poll_pdu                 =  4;
+
+        # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
+        poll_byte                =  99999;
+
+        # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
+        max_retx_threshold       =  4;
+    }
+
+    # ------- SCTP definitions
+    SCTP :
+    {
+        # Number of streams to use in input/output
+        SCTP_INSTREAMS  = 2;
+        SCTP_OUTSTREAMS = 2;
+    };
+
+
+    ////////// MME parameters:
+    mme_ip_address      = ( { ipv4       = "CI_MME_IP_ADDR";
+                              ipv6       = "192:168:30::17";
+                              active     = "yes";
+                              preference = "ipv4";
+                            }
+                          );
+
+    NETWORK_INTERFACES :
+    {
+
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1_MME              = "CI_ENB_IP_ADDR";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
+        ENB_IPV4_ADDRESS_FOR_S1U                 = "CI_ENB_IP_ADDR";
+        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
+
+        ENB_IPV4_ADDRESS_FOR_X2C                 = "CI_ENB_IP_ADDR";
+        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
+    };
+  }
+);
+
+MACRLCs = (
+	{
+	num_cc = 1;
+	tr_s_preference = "local_L1";
+	tr_n_preference = "local_RRC";
+	phy_test_mode = 0;
+        puSch10xSnr     =  200;
+        puCch10xSnr     =  200;
+        }  
+);
+
+L1s = (
+    	{
+	num_cc = 1;
+	tr_n_preference = "local_mac";
+        }  
+);
+
+RUs = (
+    {		  
+       local_rf       = "yes"
+         nb_tx          = 1
+         nb_rx          = 1
+         att_tx         = 0
+         att_rx         = 0;
+         bands          = [7];
+         max_pdschReferenceSignalPower = -27;
+         max_rxgain                    = 125;
+         eNB_instances  = [0];
+
+    }
+);  
+
+NETWORK_CONTROLLER :
+{
+    FLEXRAN_ENABLED        = "no";
+    FLEXRAN_INTERFACE_NAME = "lo";
+    FLEXRAN_IPV4_ADDRESS   = "127.0.0.1";
+    FLEXRAN_PORT           = 2210;
+    FLEXRAN_CACHE          = "/mnt/oai_agent_cache";
+    FLEXRAN_AWAIT_RECONF   = "no";
+};
+
+     log_config :
+     {
+       global_log_level                      ="info";
+       global_log_verbosity                  ="medium";
+       hw_log_level                          ="info";
+       hw_log_verbosity                      ="medium";
+       phy_log_level                         ="info";
+       phy_log_verbosity                     ="medium";
+       mac_log_level                         ="info";
+       mac_log_verbosity                     ="high";
+       rlc_log_level                         ="info";
+       rlc_log_verbosity                     ="medium";
+       pdcp_log_level                        ="info";
+       pdcp_log_verbosity                    ="medium";
+       rrc_log_level                         ="info";
+       rrc_log_verbosity                     ="medium";
+    };
+
diff --git a/ci-scripts/createVM.sh b/ci-scripts/createVM.sh
index 794894c6f3cce2ba759fb96b8b4c4e270ed2dd91..682d485e2121441fa751cc1eeb904c0a81598d6c 100755
--- a/ci-scripts/createVM.sh
+++ b/ci-scripts/createVM.sh
@@ -84,6 +84,7 @@ JOB_NAME=XX
 BUILD_ID=XX
 VM_NAME=ci-enb-usrp
 VM_MEMORY=2048
+VM_CPU=4
 
 while [[ $# -gt 0 ]]
 do
@@ -111,6 +112,7 @@ case $key in
     ;;
     -v2)
     VM_NAME=ci-basic-sim
+    VM_MEMORY=8192
     shift
     ;;
     -v3)
@@ -146,6 +148,7 @@ case $key in
         ;;
         basic-sim)
         VM_NAME=ci-basic-sim
+        VM_MEMORY=8192
         ;;
         phy-sim)
         VM_NAME=ci-phy-sim
@@ -196,11 +199,12 @@ VM_CMDS=${VM_NAME}_cmds.txt
 
 echo "VM_NAME             = $VM_NAME"
 echo "VM_MEMORY           = $VM_MEMORY MBytes"
+echo "VM_CPU              = $VM_CPU"
 
 echo "############################################################"
 echo "Creating VM ($VM_NAME) on Ubuntu Cloud Image base"
 echo "############################################################"
-uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu 4 --unsafe-caching --template ci-scripts/template-host.xml
+uvt-kvm create $VM_NAME release=xenial --memory $VM_MEMORY --cpu $VM_CPU --unsafe-caching --template ci-scripts/template-host.xml
 echo "Waiting for VM to be started"
 uvt-kvm wait $VM_NAME --insecure
 
diff --git a/ci-scripts/reportTestLocally.sh b/ci-scripts/reportTestLocally.sh
index 113fc1e1e5c700297560b628e0c0a4b11413c282..569b62bc3d13341c61e04018a5a54d0589ade05d 100755
--- a/ci-scripts/reportTestLocally.sh
+++ b/ci-scripts/reportTestLocally.sh
@@ -317,58 +317,123 @@ then
     echo "        <th>Statistics</th>" >> ./test_simulator_results.html
     echo "      </tr>" >> ./test_simulator_results.html
 
-    PING_TESTS=`ls $ARCHIVES_LOC/ping*txt`
-    for PING_CASE in $PING_TESTS
+    BW_CASES=(05 10 20)
+    for BW in ${BW_CASES[@]}
     do
-        echo "      <tr>" >> ./test_simulator_results.html
-        NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
-        echo "        <td>$NAME</td>" >> ./test_simulator_results.html
-        CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
-        echo "        <td>$CMD</td>" >> ./test_simulator_results.html
-        FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
-        if [ $FILE_COMPLETE -eq 0 ]
+        ENB_LOG=$ARCHIVES_LOC/enb_${BW}MHz.log
+        UE_LOG=`echo $ENB_LOG | sed -e "s#enb#ue#"`
+        if [ -f $ENB_LOG ] && [ -f $UE_LOG ]
         then
-            echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+            NAME_ENB=`echo $ENB_LOG | sed -e "s#$ARCHIVES_LOC/##"`
+            NAME_UE=`echo $UE_LOG | sed -e "s#$ARCHIVES_LOC/##"`
+            echo "      <tr>" >> ./test_simulator_results.html
+            echo "        <td>$NAME_ENB --- $NAME_UE</td>" >> ./test_simulator_results.html
             echo "        <td>N/A</td>" >> ./test_simulator_results.html
-        else
-            NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
-            NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
-            if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
+            NB_ENB_GOT_SYNC=`egrep -c "got sync" $ENB_LOG`
+            NB_UE_GOT_SYNC=`egrep -c "got sync" $UE_LOG`
+            NB_ENB_SYNCED_WITH_UE=`egrep -c "got UE capabilities for UE" $ENB_LOG`
+            if [ $NB_ENB_GOT_SYNC -eq 1 ] && [ $NB_UE_GOT_SYNC -eq 2 ] && [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
             then
                 echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
             else
+                echo "        <td bgcolor = \"red\" >OK</td>" >> ./test_simulator_results.html
+            fi
+            echo "        <td><pre>" >> ./test_simulator_results.html
+            if [ $NB_ENB_GOT_SYNC -eq 1 ]
+            then
+                echo "<font color = \"blue\">- eNB --> got sync</font>" >> ./test_simulator_results.html
+            else
+                echo "<font color = \"red\"><b>- eNB NEVER got sync</b></font>" >> ./test_simulator_results.html
+            fi
+            if [ $NB_UE_GOT_SYNC -eq 2 ]
+            then
+                echo "<font color = \"blue\">- UE --> got sync</font>" >> ./test_simulator_results.html
+            else
+                echo "<font color = \"red\"><b>- UE NEVER got sync</b></font>" >> ./test_simulator_results.html
+            fi
+            if [ $NB_ENB_SYNCED_WITH_UE -eq 1 ]
+            then
+                echo "<font color = \"blue\">- UE attached to eNB</font>" >> ./test_simulator_results.html
+            else
+                echo "<font color = \"red\"><b>- UE NEVER attached to eNB</b></font>" >> ./test_simulator_results.html
+            fi
+            NB_SEGFAULT_ENB=`egrep -i -c "Segmentation Fault" $ENB_LOG`
+            if [ $NB_SEGFAULT_ENB -ne 0 ]
+            then
+                echo "<font color = \"red\"><b>- eNB --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
+            fi
+            NB_SEGFAULT_UE=`egrep -i -c "Segmentation Fault" $UE_LOG`
+            if [ $NB_SEGFAULT_UE -ne 0 ]
+            then
+                echo "<font color = \"red\"><b>- UE --> Segmentation Fault</b></font>" >> ./test_simulator_results.html
+            fi
+            NB_ASSERTION_ENB=`egrep -i -c "Assertion" $ENB_LOG`
+            if [ $NB_ASSERTION_ENB -ne 0 ]
+            then
+                echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
+                awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $ENB_LOG >> ./test_simulator_results.html
+            fi
+            NB_ASSERTION_UE=`egrep -i -c "Assertion" $UE_LOG`
+            if [ $NB_ASSERTION_UE -ne 0 ]
+            then
+                echo "<font color = \"red\"><b>- eNB --> Assertion</b></font>" >> ./test_simulator_results.html
+                awk 'BEGIN{assertion=10}{if(assertion < 3){print "    " $0; assertion++};if ($0 ~/Assertion/){print "    " $0;assertion=1}}END{}' $UE_LOG >> ./test_simulator_results.html
+            fi
+            echo "        </pre></td>" >> ./test_simulator_results.html
+            echo "      </tr>" >> ./test_simulator_results.html
+        fi
+        PING_CASE=$ARCHIVES_LOC/${BW}MHz_ping_ue.txt
+        if [ -f $PING_CASE ]
+        then
+            echo "      <tr>" >> ./test_simulator_results.html
+            NAME=`echo $PING_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+            echo "        <td>$NAME</td>" >> ./test_simulator_results.html
+            CMD=`egrep "COMMAND IS" $PING_CASE | sed -e "s#COMMAND IS: ##"`
+            echo "        <td>$CMD</td>" >> ./test_simulator_results.html
+            FILE_COMPLETE=`egrep -c "ping statistics" $PING_CASE`
+            if [ $FILE_COMPLETE -eq 0 ]
+            then
                 echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                echo "        <td>N/A</td>" >> ./test_simulator_results.html
+            else
+                NB_TR_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s# packets transmitted.*##"`
+                NB_RC_PACKETS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*packets transmitted, ##" -e "s# received,.*##"`
+                if [ $NB_TR_PACKETS -eq $NB_RC_PACKETS ]
+                then
+                    echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                else
+                    echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                fi
+                echo "        <td>" >> ./test_simulator_results.html
+                echo "            <pre>" >> ./test_simulator_results.html
+                STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
+                echo "Packet Loss : $STATS" >> ./test_simulator_results.html
+                RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
+                echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
+                RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
+                echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
+                RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
+                echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
+                echo "            </pre>" >> ./test_simulator_results.html
+                echo "        </td>" >> ./test_simulator_results.html
             fi
-            echo "        <td>" >> ./test_simulator_results.html
-            echo "            <pre>" >> ./test_simulator_results.html
-            STATS=`egrep "packets transmitted" $PING_CASE | sed -e "s#^.*received, ##" -e "s#, time.*##" -e "s# packet loss##"`
-            echo "Packet Loss : $STATS" >> ./test_simulator_results.html
-            RTTMIN=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[1] " " $5}'`
-            echo "RTT Minimal : $RTTMIN" >> ./test_simulator_results.html
-            RTTAVG=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[2] " " $5}'`
-            echo "RTT Average : $RTTAVG" >> ./test_simulator_results.html
-            RTTMAX=`egrep "rtt min" $PING_CASE | awk '{split($4,a,"/"); print a[3] " " $5}'`
-            echo "RTT Maximal : $RTTMAX" >> ./test_simulator_results.html
-            echo "            </pre>" >> ./test_simulator_results.html
-            echo "        </td>" >> ./test_simulator_results.html
+            echo "      </tr>" >> ./test_simulator_results.html
         fi
-        echo "      </tr>" >> ./test_simulator_results.html
-    done
 
-    IPERF_TESTS=`ls $ARCHIVES_LOC/iperf*client*txt`
-    for IPERF_CASE in $IPERF_TESTS
-    do
-        echo "      <tr>" >> ./test_simulator_results.html
-        NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
-        echo "        <td>$NAME</td>" >> ./test_simulator_results.html
-        CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
-        echo "        <td>$CMD</td>" >> ./test_simulator_results.html
-        FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
-        if [ $FILE_COMPLETE -eq 0 ]
+        if [ -f $ARCHIVES_LOC/${BW}*iperf*dl*client*txt ]
         then
-            echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
-            echo "        <td>N/A</td>" >> ./test_simulator_results.html
+            IPERF_TESTS=`ls $ARCHIVES_LOC/${BW}*iperf*client*txt`
         else
+            echo "There are no iperf files"
+            IPERF_TESTS=""
+        fi
+        for IPERF_CASE in $IPERF_TESTS
+        do
+            echo "      <tr>" >> ./test_simulator_results.html
+            NAME=`echo $IPERF_CASE | sed -e "s#$ARCHIVES_LOC/##"`
+            echo "        <td>$NAME</td>" >> ./test_simulator_results.html
+            CMD=`egrep "COMMAND IS" $IPERF_CASE | sed -e "s#COMMAND IS: ##"`
+            echo "        <td>$CMD</td>" >> ./test_simulator_results.html
             REQ_BITRATE=`echo $CMD | sed -e "s#^.*-b ##" -e "s#-i 1.*##"`
             if [[ $REQ_BITRATE =~ .*K.* ]]
             then
@@ -385,43 +450,56 @@ then
                 REQ_BITRATE=`echo $REQ_BITRATE | sed -e "s#G##"`
                 FLOAT_REQ_BITRATE=`echo "$REQ_BITRATE * 1000000000.0" | bc -l`
             fi
-            EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
-            if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
-            then
-                EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
-                FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
-            fi
-            if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
-            then
-                EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
-                FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
-            fi
-            if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
-            then
-                EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
-                FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
-            fi
-            PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
-            PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
-            if [[ $PERF_INT -lt 90 ]]
+            FILE_COMPLETE=`egrep -c "Server Report" $IPERF_CASE`
+            if [ $FILE_COMPLETE -eq 0 ]
             then
                 echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                SERVER_FILE=`echo $IPERF_CASE | sed -e "s#client#server#"`
+                FLOAT_EFF_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; printf "%.0f", br}'`
+                EFFECTIVE_BITRATE=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*Bytes *##" -e "s#sec *.*#sec#" | awk 'BEGIN{s=0;n=0}{n++;if ($2 ~/Mbits/){a = $1 * 1000000};if ($2 ~/Kbits/){a = $1 * 1000};s=s+a}END{br=s/n; if(br>1000000){printf "%.2f MBits/sec", br/1000000}}'`
+                PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
+                JITTER=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*/sec *##" -e "s# *ms.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{jitter=s/n; printf "%.3f ms", jitter}'`
+                PACKETLOSS_NOSIGN=`grep --color=never sec $SERVER_FILE | sed -e "s#^.*(##" -e "s#%.*##" | awk 'BEGIN{s=0;n=0}{n++;s+=$1}END{per=s/n; printf "%.1f", per}'`
+                PACKETLOSS=`echo "${PACKETLOSS_NOSIGN}%"`
             else
-                echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
+                if [[ $EFFECTIVE_BITRATE =~ .*Kbits/sec.* ]]
+                then
+                    EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Kbits/sec.*##"`
+                    FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000" | bc -l`
+                fi
+                if [[ $EFFECTIVE_BITRATE =~ .*Mbits/sec.* ]]
+                then
+                    EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Mbits/sec.*##"`
+                    FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000" | bc -l`
+                fi
+                if [[ $EFFECTIVE_BITRATE =~ .*Gbits/sec.* ]]
+                then
+                    EFFECTIVE_BITRATE=`echo $EFFECTIVE_BITRATE | sed -e "s# *Gbits/sec.*##"`
+                    FLOAT_EFF_BITRATE=`echo "$EFFECTIVE_BITRATE * 1000000000" | bc -l`
+                fi
+                PERF=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.2f", $0}'`
+                PERF_INT=`echo "100 * $FLOAT_EFF_BITRATE / $FLOAT_REQ_BITRATE" | bc -l | awk '{printf "%.0f", $0}'`
+                if [[ $PERF_INT -lt 90 ]]
+                then
+                    echo "        <td bgcolor = \"red\" >KO</td>" >> ./test_simulator_results.html
+                else
+                    echo "        <td bgcolor = \"green\" >OK</td>" >> ./test_simulator_results.html
+                fi
+                EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
+                JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
+                PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
             fi
             echo "        <td>" >> ./test_simulator_results.html
             echo "            <pre>" >> ./test_simulator_results.html
-            EFFECTIVE_BITRATE=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
             echo "Bitrate      : $EFFECTIVE_BITRATE" >> ./test_simulator_results.html
             echo "Bitrate Perf : $PERF %" >> ./test_simulator_results.html
-            JITTER=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*Mbits/sec *##" -e "s#ms.*#ms#"`
             echo "Jitter       : $JITTER" >> ./test_simulator_results.html
-            PACKETLOSS=`tail -n3 $IPERF_CASE | egrep "Mbits/sec" | sed -e "s#^.*(##" -e "s#).*##"`
             echo "Packet Loss  : $PACKETLOSS" >> ./test_simulator_results.html
             echo "            </pre>" >> ./test_simulator_results.html
             echo "        </td>" >> ./test_simulator_results.html
-        fi
-        echo "      </tr>" >> ./test_simulator_results.html
+            echo "      </tr>" >> ./test_simulator_results.html
+        done
     done
 
     echo "   </table>" >> ./test_simulator_results.html
diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh
index 68438758f5bf41936520958be57f33c9addc86a8..6abdf355076458a1d041b7f8d9ecd5df7e634067 100755
--- a/ci-scripts/runTestOnVM.sh
+++ b/ci-scripts/runTestOnVM.sh
@@ -70,6 +70,196 @@ function variant_usage {
     echo ""
 }
 
+function start_basic_sim_enb {
+    local LOC_VM_IP_ADDR=$2
+    local LOC_EPC_IP_ADDR=$3
+    local LOC_LOG_FILE=$4
+    local LOC_NB_RBS=$5
+    echo "cd /home/ubuntu/tmp" > $1
+    echo "echo \"sudo apt-get --yes --quiet install daemon \"" >> $1
+    echo "sudo apt-get --yes install daemon >> /home/ubuntu/tmp/cmake_targets/log/daemon-install.txt 2>&1" >> $1
+    echo "echo \"export ENODEB=1\"" >> $1
+    echo "export ENODEB=1" >> $1
+    echo "echo \"source oaienv\"" >> $1
+    echo "source oaienv" >> $1
+    echo "cd ci-scripts/conf_files/" >> $1
+    echo "cp lte-basic-sim.conf ci-lte-basic-sim.conf" >> $1
+    echo "sed -i -e 's#N_RB_DL.*=.*;#N_RB_DL                                         = $LOC_NB_RBS;#' -e 's#CI_MME_IP_ADDR#$LOC_EPC_IP_ADDR#' -e 's#CI_ENB_IP_ADDR#$LOC_VM_IP_ADDR#' ci-lte-basic-sim.conf" >> $1
+    echo "echo \"grep N_RB_DL ci-lte-basic-sim.conf\"" >> $1
+    echo "grep N_RB_DL ci-lte-basic-sim.conf | sed -e 's#N_RB_DL.*=#N_RB_DL =#'" >> $1
+    echo "echo \"cd /home/ubuntu/tmp/cmake_targets/basic_simulator/enb/\"" >> $1
+    echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/enb/" >> $1
+    echo "echo \"./lte-softmodem -O /home/ubuntu/tmp/ci-scripts/conf_files/ci-lte-basic-sim.conf\" > ./my-lte-softmodem-run.sh " >> $1
+    echo "chmod 775 ./my-lte-softmodem-run.sh" >> $1
+    echo "cat ./my-lte-softmodem-run.sh" >> $1
+    echo "sudo -E daemon --inherit --unsafe --name=enb_daemon --chdir=/home/ubuntu/tmp/cmake_targets/basic_simulator/enb -o /home/ubuntu/tmp/cmake_targets/log/$LOC_LOG_FILE ./my-lte-softmodem-run.sh" >> $1
+
+    ssh -o StrictHostKeyChecking=no ubuntu@$LOC_VM_IP_ADDR < $1
+    sleep 60
+    rm $1
+}
+
+function start_basic_sim_ue {
+    local LOC_UE_LOG_FILE=$3
+    local LOC_NB_RBS=$4
+    echo "echo \"cd /home/ubuntu/tmp/cmake_targets/basic_simulator/ue\"" > $1
+    echo "cd /home/ubuntu/tmp/cmake_targets/basic_simulator/ue" > $1
+    echo "echo \"./lte-uesoftmodem -C 2680000000 -r $LOC_NB_RBS --ue-rxgain 140\" > ./my-lte-uesoftmodem-run.sh" >> $1
+    echo "chmod 775 ./my-lte-uesoftmodem-run.sh" >> $1
+    echo "cat ./my-lte-uesoftmodem-run.sh" >> $1
+    echo "sudo -E daemon --inherit --unsafe --name=ue_daemon --chdir=/home/ubuntu/tmp/cmake_targets/basic_simulator/ue -o /home/ubuntu/tmp/cmake_targets/log/$LOC_UE_LOG_FILE ./my-lte-uesoftmodem-run.sh" >> $1
+
+    ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
+    rm $1
+
+    local i="0"
+    echo "ifconfig oip1 | egrep -c \"inet addr\"" > $1
+    while [ $i -lt 40 ]
+    do
+        sleep 5
+        CONNECTED=`ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1`
+        if [ $CONNECTED -eq 1 ]
+        then
+            i="100"
+        else
+            i=$[$i+1]
+        fi
+    done
+    rm $1
+    if [ $i -lt 50 ]
+    then
+        UE_SYNC=0
+    else
+        UE_SYNC=1
+    fi
+}
+
+function get_ue_ip_addr {
+    echo "ifconfig oip1 | egrep \"inet addr\" | sed -e 's#^.*inet addr:##' -e 's#  P-t-P:.*\$##'" > $1
+    UE_IP_ADDR=`ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1`
+    echo "UE IP Address for EPC is : $UE_IP_ADDR"
+    rm $1
+}
+
+function ping_ue_ip_addr {
+    echo "echo \"ping -c 20 $3\"" > $1
+    echo "echo \"COMMAND IS: ping -c 20 $3\" > $4" > $1
+    echo "ping -c 20 $UE_IP_ADDR | tee -a $4" >> $1
+    ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
+    rm -f $1
+}
+
+function check_ping_result {
+    local LOC_PING_FILE=$1
+    local LOC_NB_PINGS=$2
+    if [ -f $LOC_PING_FILE ]
+    then
+        local FILE_COMPLETE=`egrep -c "ping statistics" $LOC_PING_FILE`
+        if [ $FILE_COMPLETE -eq 0 ]
+        then
+            PING_STATUS=-1
+        else
+            local ALL_PACKET_RECEIVED=`egrep -c "$LOC_NB_PINGS received" $LOC_PING_FILE`
+            if [ $ALL_PACKET_RECEIVED -eq 1 ]
+            then
+                echo "got all ping packets"
+            else
+                PING_STATUS=-1
+            fi
+        fi
+    else
+        PING_STATUS=-1
+    fi
+}
+
+function iperf_dl {
+    local REQ_BANDWIDTH=$5
+    local BASE_LOG_FILE=$6
+    echo "echo \"iperf -u -s -i 1\"" > $1
+    echo "echo \"COMMAND IS: iperf -u -s -i 1\" > tmp/cmake_targets/log/${BASE_LOG_FILE}_server.txt" > $1
+    echo "nohup iperf -u -s -i 1 >> tmp/cmake_targets/log/${BASE_LOG_FILE}_server.txt &" >> $1
+    ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
+    rm $1
+
+    echo "echo \"iperf -c $UE_IP_ADDR -u -t 30 -b ${REQ_BANDWIDTH}M -i 1\"" > $3
+    echo "echo \"COMMAND IS: iperf -c $UE_IP_ADDR -u -t 30 -b ${REQ_BANDWIDTH}M -i 1\" > ${BASE_LOG_FILE}_client.txt" > $3
+    echo "iperf -c $UE_IP_ADDR -u -t 30 -b ${REQ_BANDWIDTH}M -i 1 | tee -a ${BASE_LOG_FILE}_client.txt" >> $3
+    ssh -o StrictHostKeyChecking=no ubuntu@$4 < $3
+    rm -f $3
+
+    echo "killall --signal SIGKILL iperf" >> $1
+    ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
+    rm $1
+}
+
+function iperf_ul {
+    local REQ_BANDWIDTH=$5
+    local BASE_LOG_FILE=$6
+    echo "echo \"iperf -u -s -i 1\"" > $3
+    echo "echo \"COMMAND IS: iperf -u -s -i 1\" > ${BASE_LOG_FILE}_server.txt" > $3
+    echo "nohup iperf -u -s -i 1 >> ${BASE_LOG_FILE}_server.txt &" >> $3
+    ssh -o StrictHostKeyChecking=no ubuntu@$4 < $3
+    rm $3
+
+    echo "echo \"iperf -c $REAL_EPC_IP_ADDR -u -t 30 -b ${REQ_BANDWIDTH}M -i 1\"" > $1
+    echo "echo \"COMMAND IS: iperf -c $REAL_EPC_IP_ADDR -u -t 30 -b ${REQ_BANDWIDTH}M -i 1\" > /home/ubuntu/tmp/cmake_targets/log/${BASE_LOG_FILE}_client.txt" > $1
+    echo "iperf -c $REAL_EPC_IP_ADDR -u -t 30 -b ${REQ_BANDWIDTH}M -i 1 | tee -a /home/ubuntu/tmp/cmake_targets/log/${BASE_LOG_FILE}_client.txt" >> $1
+    ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
+    rm -f $1
+
+    echo "killall --signal SIGKILL iperf" >> $3
+    ssh -o StrictHostKeyChecking=no ubuntu@$4 < $3
+    rm $3
+}
+
+function check_iperf {
+    local LOC_BASE_LOG=$1
+    local LOC_REQ_BW=$2
+    local LOC_REQ_BW_MINUS_ONE=`echo "$LOC_REQ_BW - 1" | bc -l`
+    if [ -f ${LOC_BASE_LOG}_client.txt ]
+    then
+        local FILE_COMPLETE=`egrep -c "Server Report" ${LOC_BASE_LOG}_client.txt`
+        if [ $FILE_COMPLETE -eq 0 ]
+        then
+            IPERF_STATUS=-1
+        else
+            local EFFECTIVE_BANDWIDTH=`tail -n3 ${LOC_BASE_LOG}_client.txt | egrep "Mbits/sec" | sed -e "s#^.*MBytes *##" -e "s#sec.*#sec#"`
+            if [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW}.*Mbits.* ]] || [[ $EFFECTIVE_BANDWIDTH =~ .*${LOC_REQ_BW_MINUS_ONE}.*Mbits.* ]]
+            then
+                echo "got requested DL bandwidth: $EFFECTIVE_BANDWIDTH"
+            else
+                IPERF_STATUS=-1
+            fi
+        fi
+    else
+        IPERF_STATUS=-1
+    fi
+}
+
+function terminate_enb_ue_basic_sim {
+    echo "echo \"sudo daemon --name=enb_daemon --stop\"" > $1
+    echo "sudo daemon --name=enb_daemon --stop" >> $1
+    echo "echo \"sudo daemon --name=ue_daemon --stop\"" >> $1
+    echo "sudo daemon --name=ue_daemon --stop" >> $1
+    echo "echo \"sudo killall --signal SIGKILL lte-softmodem\"" >> $1
+    echo "sudo killall --signal SIGKILL lte-softmodem" >> $1
+    ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
+    rm -f $1
+}
+
+function terminate_ltebox_epc {
+    echo "echo \"cd /opt/ltebox/tools\"" > $1
+    echo "cd /opt/ltebox/tools" >> $1
+    echo "echo \"sudo ./stop_ltebox\"" >> $1
+    echo "sudo ./stop_ltebox" >> $1
+    echo "echo \"sudo daemon --name=simulated_hss --stop\"" >> $1
+    echo "sudo daemon --name=simulated_hss --stop" >> $1
+    echo "echo \"sudo killall --signal SIGKILL hss_sim\"" >> $1
+    echo "sudo killall --signal SIGKILL hss_sim" >> $1
+    ssh -o StrictHostKeyChecking=no ubuntu@$2 < $1
+    rm $1
+}
+
 if [ $# -lt 1 ] || [ $# -gt 9 ]
 then
     echo "Syntax Error: not the correct number of arguments"
@@ -122,6 +312,8 @@ case $key in
     ;;
     -v2)
     VM_NAME=ci-basic-sim
+    RUN_OPTIONS="complex"
+    ARCHIVES_LOC=basic_sim/test
     shift
     ;;
     -v3)
@@ -150,6 +342,8 @@ case $key in
         ;;
         basic-sim)
         VM_NAME=ci-basic-sim
+        RUN_OPTIONS="complex"
+        ARCHIVES_LOC=basic_sim/test
         ;;
         phy-sim)
         VM_NAME=ci-phy-sim
@@ -210,8 +404,11 @@ echo "$VM_NAME has for IP addr = $VM_IP_ADDR"
 if [ "$RUN_OPTIONS" == "none" ]
 then
     echo "No run on VM testing for this variant currently"
-else
+    exit $STATUS
+fi
 
+if [[ $RUN_OPTIONS =~ .*run_exec_autotests.* ]]
+then
     echo "############################################################"
     echo "Running test script on VM ($VM_NAME)"
     echo "############################################################"
@@ -271,7 +468,7 @@ else
     rm -f $VM_CMDS
 
     echo "############################################################"
-    echo "Checking build status"
+    echo "Checking run status"
     echo "############################################################"
 
     LOG_FILES=`ls $ARCHIVES_LOC/results_autotests*.xml`
@@ -306,13 +503,346 @@ else
     if [ $NB_RUNS -eq 0 ]; then STATUS=-1; fi
     if [ $NB_FAILURES -ne 0 ]; then STATUS=-1; fi
 
-    if [ $STATUS -eq 0 ]
+fi
+
+if [[ "$RUN_OPTIONS" == "complex" ]] && [[ $VM_NAME =~ .*-basic-sim.* ]]
+then
+    PING_STATUS=0
+    IPERF_STATUS=0
+    if [ -d $ARCHIVES_LOC ]
     then
-        echo "STATUS seems OK"
-    else
-        echo "STATUS failed?"
+        rm -Rf $ARCHIVES_LOC
+    fi
+    mkdir --parents $ARCHIVES_LOC
+
+    EPC_VM_NAME=`echo $VM_NAME | sed -e "s#basic-sim#epc#"`
+    LTEBOX=0
+    if [ -d /opt/ltebox-archives/ ]
+    then
+        # Checking if all ltebox archives are available to run ltebx epc on a brand new VM
+        if [ -f /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ] && [ -f /opt/ltebox-archives/etc-conf.zip ] && [ -f /opt/ltebox-archives/hss-sim.zip ]
+        then
+            echo "############################################################"
+            echo "Test EPC on VM ($EPC_VM_NAME) will be using ltebox"
+            echo "############################################################"
+            LTEBOX=1
+        fi
+    fi
+    # Here we could have other types of EPC detection
+
+    # Do we need to start the EPC VM
+    EPC_VM_CMDS=`echo $VM_CMDS | sed -e "s#cmds#epc-cmds#"`
+    echo "EPC_VM_CMD_FILE     = $EPC_VM_CMDS"
+    IS_EPC_VM_ALIVE=`uvt-kvm list | grep -c $EPC_VM_NAME`
+    if [ $IS_EPC_VM_ALIVE -eq 0 ]
+    then
+        echo "############################################################"
+        echo "Creating test EPC VM ($EPC_VM_NAME) on Ubuntu Cloud Image base"
+        echo "############################################################"
+        uvt-kvm create $EPC_VM_NAME release=xenial --unsafe-caching
+    fi
+
+    uvt-kvm wait $EPC_VM_NAME --insecure
+    EPC_VM_IP_ADDR=`uvt-kvm ip $EPC_VM_NAME`
+    echo "$EPC_VM_NAME has for IP addr = $EPC_VM_IP_ADDR"
+    scp -o StrictHostKeyChecking=no /etc/apt/apt.conf.d/01proxy ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+
+    # ltebox specific actions (install and start)
+    LTE_BOX_TO_INSTALL=1
+    if [ $LTEBOX -eq 1 ]
+    then
+        echo "ls -ls /opt/ltebox/tools/start_ltebox" > $EPC_VM_CMDS
+        RESPONSE=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
+        NB_EXES=`echo $RESPONSE | grep -c ltebox`
+        if [ $NB_EXES -eq 1 ]; then LTE_BOX_TO_INSTALL=0; fi
+    fi
+
+    if [ $LTEBOX -eq 1 ] && [ $LTE_BOX_TO_INSTALL -eq 1 ]
+    then
+        echo "############################################################"
+        echo "Copying ltebox archives into EPC VM ($EPC_VM_NAME)" 
+        echo "############################################################"
+        scp -o StrictHostKeyChecking=no /opt/ltebox-archives/ltebox_2.2.70_16_04_amd64.deb ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+        scp -o StrictHostKeyChecking=no /opt/ltebox-archives/etc-conf.zip ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+        scp -o StrictHostKeyChecking=no /opt/ltebox-archives/hss-sim.zip ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu
+
+        echo "############################################################"
+        echo "Install EPC on EPC VM ($EPC_VM_NAME)"
+        echo "############################################################"
+        echo "sudo cp 01proxy /etc/apt/apt.conf.d/" > $EPC_VM_CMDS
+        echo "touch /home/ubuntu/.hushlogin" >> $EPC_VM_CMDS
+        echo "echo \"sudo apt-get --yes --quiet install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf\"" >> $EPC_VM_CMDS
+        echo "sudo apt-get update > zip-install.txt 2>&1" >> $EPC_VM_CMDS
+        echo "sudo apt-get --yes install zip openjdk-8-jre libconfuse-dev libreadline-dev liblog4c-dev libgcrypt-dev libsctp-dev python2.7 python2.7-dev daemon iperf >> zip-install.txt 2>&1" >> $EPC_VM_CMDS
+
+        # Installing HSS
+        echo "echo \"cd /opt\"" >> $EPC_VM_CMDS
+        echo "cd /opt" >> $EPC_VM_CMDS
+        echo "echo \"sudo unzip -qq /home/ubuntu/hss-sim.zip\"" >> $EPC_VM_CMDS
+        echo "sudo unzip -qq /home/ubuntu/hss-sim.zip" >> $EPC_VM_CMDS
+        echo "echo \"cd /opt/hss_sim0609\"" >> $EPC_VM_CMDS
+        echo "cd /opt/hss_sim0609" >> $EPC_VM_CMDS
+
+        # Installing ltebox
+        echo "echo \"cd /home/ubuntu\"" >> $EPC_VM_CMDS
+        echo "cd /home/ubuntu" >> $EPC_VM_CMDS
+        echo "echo \"sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb \"" >> $EPC_VM_CMDS
+        echo "sudo dpkg -i ltebox_2.2.70_16_04_amd64.deb >> zip-install.txt 2>&1" >> $EPC_VM_CMDS
+
+        echo "echo \"cd /opt/ltebox/etc/\"" >> $EPC_VM_CMDS
+        echo "cd /opt/ltebox/etc/" >> $EPC_VM_CMDS
+        echo "echo \"sudo unzip -qq -o /home/ubuntu/etc-conf.zip\"" >> $EPC_VM_CMDS
+        echo "sudo unzip -qq -o /home/ubuntu/etc-conf.zip" >> $EPC_VM_CMDS
+        echo "sudo sed -i  -e 's#EPC_VM_IP_ADDRESS#$EPC_VM_IP_ADDR#' gw.conf" >> $EPC_VM_CMDS
+        echo "sudo sed -i  -e 's#EPC_VM_IP_ADDRESS#$EPC_VM_IP_ADDR#' mme.conf" >> $EPC_VM_CMDS
+    fi
+
+    # Starting EPC
+    if [ $LTEBOX -eq 1 ]
+    then
+        echo "############################################################"
+        echo "Start EPC on EPC VM ($EPC_VM_NAME)"
+        echo "############################################################"
+        echo "echo \"cd /opt/hss_sim0609\"" >> $EPC_VM_CMDS
+        echo "cd /opt/hss_sim0609" >> $EPC_VM_CMDS
+        echo "echo \"sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real\"" >> $EPC_VM_CMDS
+        echo "sudo daemon --unsafe --name=simulated_hss --chdir=/opt/hss_sim0609 ./starthss_real" >> $EPC_VM_CMDS
+
+        echo "echo \"cd /opt/ltebox/tools/\"" >> $EPC_VM_CMDS
+        echo "cd /opt/ltebox/tools/" >> $EPC_VM_CMDS
+        echo "echo \"sudo ./start_ltebox\"" >> $EPC_VM_CMDS
+        echo "nohup sudo ./start_ltebox > /home/ubuntu/ltebox.txt" >> $EPC_VM_CMDS
+
+        ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS
+        rm -f $EPC_VM_CMDS
+
+        # We may have some adaptation to do
+        if [ -f /opt/ltebox-archives/adapt_ue_sim.txt ]
+        then
+            echo "############################################################"
+            echo "Doing some adaptation on UE side"
+            echo "############################################################"
+            ssh -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR < /opt/ltebox-archives/adapt_ue_sim.txt
+        fi
+
+        i="0"
+        echo "ifconfig tun5 | egrep -c \"inet addr\"" > $EPC_VM_CMDS
+        while [ $i -lt 10 ]
+        do
+            sleep 2
+            CONNECTED=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
+            if [ $CONNECTED -eq 1 ]
+            then
+                i="100"
+            else
+                i=$[$i+1]
+            fi
+        done
+        rm $EPC_VM_CMDS
+        if [ $i -lt 50 ]
+        then
+            echo "Problem w/ starting ltebox EPC"
+            exit -1
+        fi
+    fi
+
+    # HERE ADD ANY INSTALL ACTIONS FOR ANOTHER EPC
+
+    # Retrieve EPC real IP address
+    if [ $LTEBOX -eq 1 ]
+    then
+        # in our configuration file, we are using pool 5
+        echo "ifconfig tun5 | egrep \"inet addr\" | sed -e 's#^.*inet addr:##' -e 's#  P-t-P:.*\$##'" > $EPC_VM_CMDS
+        REAL_EPC_IP_ADDR=`ssh -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR < $EPC_VM_CMDS`
+        echo "EPC IP Address     is : $REAL_EPC_IP_ADDR"
+        rm $EPC_VM_CMDS
+    fi
+
+    echo "############################################################"
+    echo "Starting the eNB at 5MHz"
+    echo "############################################################"
+    CURRENT_ENB_LOG_FILE=enb_05MHz.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 25
+
+    echo "############################################################"
+    echo "Starting the UE at 5MHz"
+    echo "############################################################"
+    CURRENT_UE_LOG_FILE=ue_05MHz.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 25
+    if [ $UE_SYNC -eq 0 ]
+    then
+        echo "Problem w/ eNB and UE not syncing"
+        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+        exit -1
+    fi
+    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+
+    echo "############################################################"
+    echo "Pinging the UE"
+    echo "############################################################"
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR 05MHz_ping_ue.txt
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/05MHz_ping_ue.txt $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/05MHz_ping_ue.txt 20
+
+    echo "############################################################"
+    echo "Iperf DL"
+    echo "############################################################"
+    CURR_IPERF_LOG_BASE=05MHz_iperf_dl
+    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
+
+    echo "############################################################"
+    echo "Iperf UL"
+    echo "############################################################"
+    CURR_IPERF_LOG_BASE=05MHz_iperf_ul
+    iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 2
+
+    echo "############################################################"
+    echo "Terminate enb/ue simulators"
+    echo "############################################################"
+    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+
+    echo "############################################################"
+    echo "Starting the eNB at 10MHz"
+    echo "############################################################"
+    CURRENT_ENB_LOG_FILE=enb_10MHz.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 50
+
+    echo "############################################################"
+    echo "Starting the UE at 10MHz"
+    echo "############################################################"
+    CURRENT_UE_LOG_FILE=ue_10MHz.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 50
+    if [ $UE_SYNC -eq 0 ]
+    then
+        echo "Problem w/ eNB and UE not syncing"
+        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+        exit -1
     fi
+    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
 
+    echo "############################################################"
+    echo "Pinging the UE"
+    echo "############################################################"
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR 10MHz_ping_ue.txt
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/10MHz_ping_ue.txt $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/10MHz_ping_ue.txt 20
+
+    echo "############################################################"
+    echo "Iperf DL"
+    echo "############################################################"
+    CURR_IPERF_LOG_BASE=10MHz_iperf_dl
+    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
+
+    echo "############################################################"
+    echo "Iperf UL"
+    echo "############################################################"
+    CURR_IPERF_LOG_BASE=10MHz_iperf_ul
+    iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 2 $CURR_IPERF_LOG_BASE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 2
+
+    echo "############################################################"
+    echo "Terminate enb/ue simulators"
+    echo "############################################################"
+    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+
+    echo "############################################################"
+    echo "Starting the eNB at 20MHz"
+    echo "############################################################"
+    CURRENT_ENB_LOG_FILE=enb_20MHz.log
+    start_basic_sim_enb $VM_CMDS $VM_IP_ADDR $EPC_VM_IP_ADDR $CURRENT_ENB_LOG_FILE 100
+
+    echo "############################################################"
+    echo "Starting the UE at 20MHz"
+    echo "############################################################"
+    CURRENT_UE_LOG_FILE=ue_20MHz.log
+    start_basic_sim_ue $VM_CMDS $VM_IP_ADDR $CURRENT_UE_LOG_FILE 100
+    if [ $UE_SYNC -eq 0 ]
+    then
+        echo "Problem w/ eNB and UE not syncing"
+        terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+        scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+        exit -1
+    fi
+    get_ue_ip_addr $VM_CMDS $VM_IP_ADDR
+
+    echo "############################################################"
+    echo "Pinging the UE"
+    echo "############################################################"
+    ping_ue_ip_addr $EPC_VM_CMDS $EPC_VM_IP_ADDR $UE_IP_ADDR 20MHz_ping_ue.txt
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/20MHz_ping_ue.txt $ARCHIVES_LOC
+    check_ping_result $ARCHIVES_LOC/20MHz_ping_ue.txt 20
+
+    echo "############################################################"
+    echo "Iperf DL"
+    echo "############################################################"
+    CURR_IPERF_LOG_BASE=20MHz_iperf_dl
+    iperf_dl $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 15 $CURR_IPERF_LOG_BASE
+    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 15
+
+    echo "############################################################"
+    echo "Iperf UL"
+    echo "############################################################"
+#    CURR_IPERF_LOG_BASE=20MHz_iperf_ul
+#    iperf_ul $VM_CMDS $VM_IP_ADDR $EPC_VM_CMDS $EPC_VM_IP_ADDR 1 $CURR_IPERF_LOG_BASE
+#    scp -o StrictHostKeyChecking=no ubuntu@$EPC_VM_IP_ADDR:/home/ubuntu/${CURR_IPERF_LOG_BASE}_server.txt $ARCHIVES_LOC
+#    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/${CURR_IPERF_LOG_BASE}_client.txt $ARCHIVES_LOC
+#    check_iperf $ARCHIVES_LOC/$CURR_IPERF_LOG_BASE 1
+
+    echo "############################################################"
+    echo "Terminate enb/ue simulators"
+    echo "############################################################"
+    terminate_enb_ue_basic_sim $VM_CMDS $VM_IP_ADDR
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_ENB_LOG_FILE $ARCHIVES_LOC
+    scp -o StrictHostKeyChecking=no ubuntu@$VM_IP_ADDR:/home/ubuntu/tmp/cmake_targets/log/$CURRENT_UE_LOG_FILE $ARCHIVES_LOC
+
+    echo "############################################################"
+    echo "Terminate EPC"
+    echo "############################################################"
+
+    if [ $LTEBOX -eq 1 ]
+    then
+        terminate_ltebox_epc $EPC_VM_CMDS $EPC_VM_IP_ADDR
+    fi
+
+    echo "############################################################"
+    echo "Checking run status"
+    echo "############################################################"
+
+    if [ $PING_STATUS -ne 0 ]; then STATUS=-1; fi
+    if [ $IPERF_STATUS -ne 0 ]; then STATUS=-1; fi
+
+fi
+
+if [ $STATUS -eq 0 ]
+then
+    echo "STATUS seems OK"
+else
+    echo "STATUS failed?"
 fi
 
 exit $STATUS