diff --git a/ci-scripts/main.py b/ci-scripts/main.py
index d66c0c630578310bff402a62f525ab5ebf1e059b..9923d515a47e7568fa333817ecde12408d0085fd 100644
--- a/ci-scripts/main.py
+++ b/ci-scripts/main.py
@@ -154,6 +154,7 @@ def GetParametersFromXML(action):
 
 	elif action == 'Initialize_eNB':
 		RAN.eNB_Trace=test.findtext('eNB_Trace')
+		RAN.eNB_Stats=test.findtext('eNB_Stats')
 		RAN.Initialize_eNB_args=test.findtext('Initialize_eNB_args')
 		eNB_instance=test.findtext('eNB_instance')
 		USRPIPAddress=test.findtext('USRP_IPAddress')
diff --git a/ci-scripts/ran.py b/ci-scripts/ran.py
index 5e3d8e388f8feca72c0aadbf3613554f9c90970e..a1492b062a36f87d68337db6df10c3bc5fa98308 100644
--- a/ci-scripts/ran.py
+++ b/ci-scripts/ran.py
@@ -94,6 +94,7 @@ class RANManagement():
 		self.runtime_stats= ''
 		self.datalog_rt_stats={}
 		self.eNB_Trace = '' #if 'yes', Tshark will be launched at initialization
+		self.eNB_Stats = '' #if 'yes', Statistics Monitor will be launched at initialization		
 		self.USRPIPAddress = ''
 
 
@@ -539,6 +540,23 @@ class RANManagement():
 			self.eNBstatuses[int(self.eNB_instance)] = int(self.eNB_serverId[self.eNB_instance])
 
 		mySSH.close()
+
+
+		#if enabled in the xml, 
+		#copyout the monitor script and launch it
+		if self.eNB_Stats=='yes':
+
+			mySSH.open(lIpAddr, lUserName, lPassWord)
+
+			monitor_file='stats_monitor.py'
+			mySSH.command('echo ' + lPassWord + ' | sudo -S cp ' + self.eNBSourceCodePath + '/ci-scripts/'+ monitor_file + ' ' + self.eNBSourceCodePath + '/cmake_targets/ran_build/build/.','\$', 5)
+
+			#launch, it will stop when the softmodem stops
+			mySSH.command('echo $USER; nohup python3 ' + self.eNBSourceCodePath + '/cmake_targets/ran_build/build/' + monitor_file + ' 2>&1 &', '\$', 5)
+
+			mySSH.close()
+
+
 		HTML.CreateHtmlTestRow(self.air_interface[self.eNB_instance] + ' -O ' + config_file + extra_options, 'OK', CONST.ALL_PROCESSES_OK)
 		logging.debug('\u001B[1m Initialize eNB/gNB/ocp-eNB Completed\u001B[0m')
 
@@ -690,8 +708,10 @@ class RANManagement():
 		mySSH.command('cd cmake_targets', '\$', 5)
 		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/enb_*.pcap .','\$',20)
 		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/gnb_*.pcap .','\$',20)
+		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/*monitor.pickle .','\$',20)
+		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S mv /tmp/*monitor.png .','\$',20)
 		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm -f enb.log.zip', '\$', 5)
-		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip enb*.log core* enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log', '\$', 60)
+		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S zip enb.log.zip enb*.log core* enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log *monitor.pickle *monitor.png', '\$', 60)
 		mySSH.command('echo ' + self.eNBPassword + ' | sudo -S rm enb*.log core* enb_*record.raw enb_*.pcap gnb_*.pcap enb_*txt physim_*.log *stats.log', '\$', 5)
 		mySSH.close()
 
diff --git a/ci-scripts/radio_monitor.py b/ci-scripts/stats_monitor.py
similarity index 71%
rename from ci-scripts/radio_monitor.py
rename to ci-scripts/stats_monitor.py
index 24aebaec6bf07de980abacde569160e29536d0f2..112d8ff7998ca8c92a92e2e2781316d487eb4f2c 100755
--- a/ci-scripts/radio_monitor.py
+++ b/ci-scripts/stats_monitor.py
@@ -6,19 +6,20 @@ import sys
 import matplotlib.pyplot as plt
 import pickle
 import numpy as np
+import os
 
 def collect(d):
-        cmd='cat L1_stats.log MAC_stats.log PDCP_stats.log RRC_stats.log'
-        process=subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE)
-        output = process.stdout.readlines()
-        for l in output:
-            tmp=l.decode("utf-8")
-            result=re.match(rf'^.*\bPHR\b ([0-9]+).+\bbler\b ([0-9]+\.[0-9]+).+\bmcsoff\b ([0-9]+).+\bmcs\b ([0-9]+)',tmp)
-            if result is not None:
-                d['PHR'].append(int(result.group(1)))
-                d['bler'].append(float(result.group(2)))
-                d['mcsoff'].append(int(result.group(3)))
-                d['mcs'].append(int(result.group(4)))
+    cmd='cat L1_stats.log MAC_stats.log PDCP_stats.log RRC_stats.log'
+    process=subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE)
+    output = process.stdout.readlines()
+    for l in output:
+        tmp=l.decode("utf-8")
+        result=re.match(rf'^.*\bPHR\b ([0-9]+).+\bbler\b ([0-9]+\.[0-9]+).+\bmcsoff\b ([0-9]+).+\bmcs\b ([0-9]+)',tmp)
+        if result is not None:
+            d['PHR'].append(int(result.group(1)))
+            d['bler'].append(float(result.group(2)))
+            d['mcsoff'].append(int(result.group(3)))
+            d['mcs'].append(int(result.group(4)))
 
 
 def graph(d):
@@ -60,7 +61,7 @@ def graph(d):
 
     plt.tight_layout()
     # Combine all the operations and display
-    plt.savefig('/tmp/radio_monitor_dump.png')
+    plt.savefig('/tmp/stats_monitor.png')
     plt.show()
 
 if __name__ == "__main__":
@@ -82,7 +83,7 @@ if __name__ == "__main__":
         output = process.stdout.readlines()
         time.sleep(1)
     print('process stopped')
-    with open('/tmp/radio_monitor_dump.pickle', 'wb') as handle:
+    with open('/tmp/stats_monitor.pickle', 'wb') as handle:
         pickle.dump(d, handle, protocol=pickle.HIGHEST_PROTOCOL)
     graph(d)
 
diff --git a/ci-scripts/xml_files/fr1_lte_2x2_quectel.xml b/ci-scripts/xml_files/fr1_lte_2x2_quectel.xml
index a62449f1a3b3db001eae772c02af4fd58801648d..86d9e5d5f0dbe2b86c9a91a2bbf6b2fc7ba3fc8c 100644
--- a/ci-scripts/xml_files/fr1_lte_2x2_quectel.xml
+++ b/ci-scripts/xml_files/fr1_lte_2x2_quectel.xml
@@ -64,20 +64,11 @@
 		<eNB_serverId>0</eNB_serverId>
 		<air_interface>lte</air_interface>
 		<eNB_Trace>yes</eNB_Trace>
+		<eNB_Stats>yes</eNB_Stats>
 		<USRP_IPAddress>192.168.18.241</USRP_IPAddress>
 	</testCase>
 
 
-	<testCase id="040000">
-		<class>Initialize_eNB</class>
-		<desc>Initialize gNB</desc>
-		<Initialize_eNB_args>-O ci-scripts/conf_files/gnb.band78.nsa_2x2.106PRB.usrpn310.conf -q</Initialize_eNB_args>
-		<eNB_instance>1</eNB_instance>
-		<eNB_serverId>1</eNB_serverId>
-		<air_interface>nr</air_interface>
-		<USRP_IPAddress>192.168.18.240</USRP_IPAddress>
-	</testCase>
-
 	<testCase id="000001">
 		<class>IdleSleep</class>
 		<desc>Sleep</desc>