diff --git a/docker-proj/docker-compose-pm-https.yaml b/docker-proj/docker-compose-pm-https.yaml
index e50da91..505d714 100644
--- a/docker-proj/docker-compose-pm-https.yaml
+++ b/docker-proj/docker-compose-pm-https.yaml
@@ -1,5 +1,6 @@
 #  ============LICENSE_START===============================================
 #  Copyright (C) 2023 Nordix Foundation. All rights reserved.
+#  Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved.
 #  ========================================================================
 #  Licensed under the Apache License, Version 2.0 (the "License");
 #  you may not use this file except in compliance with the License.
@@ -30,6 +31,8 @@
       ALWAYS_RETURN: /ne-files/pm.xml.gz
       GENERATED_FILE_START_TIME: "${START_TIME}"
       GENERATED_FILE_TIMEZONE:  "+0100"
+      RANDOM_MIN_NUMBER: "2"
+      RANDOM_MAX_NUMBER: "20"
     volumes:
     - ./ne-files:/ne-files:rw
     - ./config/https/template-files:/template-files
diff --git a/https-server/README.md b/https-server/README.md
index e5e6e93..de8982a 100644
--- a/https-server/README.md
+++ b/https-server/README.md
@@ -28,6 +28,10 @@
 
 - GENERATED_FILE_TIMEZONE - Time zone to be used for requested files from the url `/generatedfiles/<file-id>`. Example: "+0100"
 
+- RANDOM_MIN_NUMBER - Minimum possible random number to generate random number
+
+- RANDOM_MAX_NUMBER - Maximum possible random number to generate random number
+
 If generated files shall be used, load the file pm-template.xml.gz to the /template-files dir in the container.
 
 Configure the following for desired behaviour
@@ -59,6 +63,7 @@
 ## License
 
 Copyright (C) 2023 Nordix Foundation. All rights reserved.
+Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved.
 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
diff --git a/https-server/main.go b/https-server/main.go
index 406caf8..dbdc7b1 100644
--- a/https-server/main.go
+++ b/https-server/main.go
@@ -1,5 +1,6 @@
 //  ============LICENSE_START===============================================
 //  Copyright (C) 2023 Nordix Foundation. All rights reserved.
+//  Copyright (C) 2023-2024 OpenInfra Foundation Europe. All rights reserved.
 //  ========================================================================
 //  Licensed under the Apache License, Version 2.0 (the "License");
 //  you may not use this file except in compliance with the License.
@@ -22,6 +23,7 @@
 	"bytes"
 	"compress/gzip"
 	"io"
+	"math/rand"
 	"net/http"
 	"os"
 	"runtime"
@@ -48,6 +50,8 @@
 var always_return_file = os.Getenv("ALWAYS_RETURN")
 var generated_files_start_time = os.Getenv("GENERATED_FILE_START_TIME")
 var generated_files_timezone = os.Getenv("GENERATED_FILE_TIMEZONE")
+var random_min_value, min_value_error = strconv.Atoi(os.Getenv("RANDOM_MIN_NUMBER"))
+var random_max_value, max_value_error = strconv.Atoi(os.Getenv("RANDOM_MAX_NUMBER"))
 
 var unzipped_template = ""
 
@@ -211,16 +215,21 @@
 		nodename := id[30:]
 		nodename = strings.Split(nodename, ".")[0]
 
+		//Generating random number
+		random_value := rand.Intn(random_max_value-random_min_value+1) + random_min_value
+
 		template_string := strings.Clone(unzipped_template)
 
 		log.Debug("Replacing BEGINTIME with: ", begintime)
 		log.Debug("Replacing ENDTIME with: ", endtime)
+		log.Debug("Replacing RANDOM_CTR_VALUE with: ", strconv.Itoa(int(random_value)))
 		log.Debug("Replacing CTR_VALUE with: ", strconv.Itoa(int(file_index)))
 		log.Debug("Replacing NODE_NAME with: ", nodename)
 
 		template_string = strings.Replace(template_string, "BEGINTIME", begintime, -1)
 		template_string = strings.Replace(template_string, "ENDTIME", endtime, -1)
 
+		template_string = strings.Replace(template_string, "RANDOM_CTR_VALUE", strconv.Itoa(int(random_value)), -1)
 		template_string = strings.Replace(template_string, "CTR_VALUE", strconv.Itoa(int(file_index)), -1)
 
 		template_string = strings.Replace(template_string, "NODE_NAME", nodename, -1)
@@ -257,6 +266,13 @@
 
 	log.Info("Server starting...")
 
+	if min_value_error != nil {
+		random_min_value = 1
+	}
+	if max_value_error != nil {
+		random_max_value = 10
+	}
+
 	rtr := mux.NewRouter()
 	rtr.HandleFunc("/files/{fileid}", files)
 	rtr.HandleFunc("/generatedfiles/{fileid}", generatedfiles)
diff --git a/install/helm/ran/pm-files/pm-template.xml.gz b/install/helm/ran/pm-files/pm-template.xml.gz
index 517be24..0e3be9c 100644
--- a/install/helm/ran/pm-files/pm-template.xml.gz
+++ b/install/helm/ran/pm-files/pm-template.xml.gz
Binary files differ
diff --git a/install/helm/ran/pm-files/pm-template.xml2 b/install/helm/ran/pm-files/pm-template.xml2
index 3d95954..c8d77af 100644
--- a/install/helm/ran/pm-files/pm-template.xml2
+++ b/install/helm/ran/pm-files/pm-template.xml2
@@ -656,6 +656,7 @@
       <measType p="162">pmCounterNumber252Qos</measType>
       <measType p="163">pmCounterNumber254</measType>
       <measType p="164">pmCounterNumber254Qos</measType>
+      <measType p="165">pmRadioThpVolUl</measType>
       <measValue measObjLdn="ManagedElement=NODE_NAME,GNBDUFunction=1,NRCellDU=32">
         <r p="1">CTR_VALUE</r>
         <r p="2">CTR_VALUE</r>
@@ -821,6 +822,7 @@
         <r p="162">CTR_VALUE</r>
         <r p="163">CTR_VALUE</r>
         <r p="164">CTR_VALUE</r>
+        <r p="165">RANDOM_CTR_VALUE</r>
       </measValue>
       <measValue measObjLdn="ManagedElement=NODE_NAME,GNBDUFunction=1,NRCellDU=31">
         <r p="1">CTR_VALUE</r>
@@ -987,6 +989,7 @@
         <r p="162">CTR_VALUE</r>
         <r p="163">CTR_VALUE</r>
         <r p="164">CTR_VALUE</r>
+        <r p="165">RANDOM_CTR_VALUE</r>
       </measValue>
       <measValue measObjLdn="ManagedElement=NODE_NAME,GNBDUFunction=1,NRCellDU=2">
         <r p="1">CTR_VALUE</r>
@@ -1153,6 +1156,7 @@
         <r p="162">CTR_VALUE</r>
         <r p="163">CTR_VALUE</r>
         <r p="164">CTR_VALUE</r>
+        <r p="165">RANDOM_CTR_VALUE</r>
       </measValue>
       <measValue measObjLdn="ManagedElement=NODE_NAME,GNBDUFunction=1,NRCellDU=1">
         <r p="1">CTR_VALUE</r>
@@ -1319,6 +1323,7 @@
         <r p="162">CTR_VALUE</r>
         <r p="163">CTR_VALUE</r>
         <r p="164">CTR_VALUE</r>
+        <r p="165">RANDOM_CTR_VALUE</r>
       </measValue>
     </measInfo>
     <measInfo measInfoId="PM=1,PmGroup=NRSectorCarrier_GNBDU">
diff --git a/install/helm/ran/pm-files/pm.xml.gz b/install/helm/ran/pm-files/pm.xml.gz
index df90359..ee22685 100644
--- a/install/helm/ran/pm-files/pm.xml.gz
+++ b/install/helm/ran/pm-files/pm.xml.gz
Binary files differ
diff --git a/install/helm/ran/templates/app-deployment.yaml b/install/helm/ran/templates/app-deployment.yaml
index 88e219a..5242a55 100644
--- a/install/helm/ran/templates/app-deployment.yaml
+++ b/install/helm/ran/templates/app-deployment.yaml
@@ -86,6 +86,12 @@
         # Shall include +/- sign for the timezone value
         - name: GENERATED_FILE_TIMEZONE
           value: "+0100"
+        # Minimum random number to get generated
+        - name: RANDOM_MIN_NUMBER
+          value: "2"
+        # Maximum random number to get generated
+        - name: RANDOM_MAX_NUMBER
+          value: "20"
         volumeMounts:
         - name: cert-vol
           mountPath: /certs
