Hello JimmyMatrix.
Thanks for your help.
This is the python code:
from multiprocessing import Process
processes = []
UEs=[“ue100.yaml”,“ue101.yaml”,“ue102.yaml”,“ue103.yaml”,“ue104.yaml”,“ue105.yaml”,“ue106.yaml”,“ue107.yaml”,“ue108.yaml”,“ue109.yaml”]
for ue in UEs:
print("==========process number==============>",i,ue)
p = Process(target=run_command, args=([‘bash’, ‘./registration.sh’, ue],))
processes.append§
p.start()
time.sleep(1)
registration.sh is called from python: It is its code:
sudo $HOME/UERANSIM/build/nr-ue -c $HOME/UERANSIM/config/ue$1.yaml -n 1
textfile=“ueidlist.txt”
$HOME/UERANSIM/build/nr-cli UERANSIM-gnb-208-93-1 -e ue-list > $textfile
val=$(head -n 1 $textfile)
find="- ue-id: "
replace=""
ueid=${val//$find/$replace}
echo “imsi-208930000000$1,$ueid” >> ue$1.txt
and this is one example of a yaml file configuration. (it is the same for all UEs, the only difference with the rest one is the supi value)
IMSI number of the UE. IMSI = [MCC|MNC|MSISDN] (In total 15 digits)
supi: ‘imsi-208930000000100’
Mobile Country Code value of HPLMN
mcc: ‘208’
Mobile Network Code value of HPLMN (2 or 3 digits)
mnc: ‘93’
Permanent subscription key
key: ‘8baf473f2f8fd09487cccbd7097c6862’
Operator code (OP or OPC) of the UE
op: ‘8e27b6af0e692e750f32667a3b14605d’
This value specifies the OP type and it can be either ‘OP’ or ‘OPC’
opType: ‘OP’
Authentication Management Field (AMF) value
amf: ‘8000’
IMEI number of the device. It is used if no SUPI is provided
imei: ‘356938035643803’
IMEISV number of the device. It is used if no SUPI and IMEI is provided
imeiSv: ‘4370816125816151’
List of gNB IP addresses for Radio Link Simulation
gnbSearchList:
- 129.192.83.238 #127.0.0.1
UAC Access Identities Configuration
uacAic:
mps: false
mcs: false
UAC Access Control Class
uacAcc:
normalClass: 0
class11: false
class12: false
class13: false
class14: false
class15: false
Initial PDU sessions to be established
sessions:
- type: ‘IPv4’
apn: ‘internet’
slice:
sst: 0x01
sd: 0x010203
Configured NSSAI for this UE by HPLMN
configured-nssai:
Default Configured NSSAI for this UE
default-nssai:
Supported integrity algorithms by this UE
integrity:
IA1: true
IA2: true
IA3: true
Supported encryption algorithms by this UE
ciphering:
EA1: true
EA2: true
EA3: true
Integrity protection maximum data rate for user plane
integrityMaxRate:
uplink: ‘full’
downlink: ‘full’
I do not have any problems to capture the last UE ID that is generated by UERAMSIN when I register each UE sequentially, the problem is when I use a multiprocessing technique to register several UEs at the same time.