Merge remote-tracking branch 'origin/NR_SA_Tutorials' into integration_2024_w06
This commit is contained in:
@@ -58,11 +58,12 @@ sudo ./program_uicc --adm 12345678 --imsi 001010000000001 --isdn 00000001 --acc
|
|||||||
|
|
||||||
### Build UHD from source
|
### Build UHD from source
|
||||||
```bash
|
```bash
|
||||||
sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential
|
# https://files.ettus.com/manual/page_build_guide.html
|
||||||
|
sudo apt install -y autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools python3-ruamel.yaml
|
||||||
|
|
||||||
git clone https://github.com/EttusResearch/uhd.git ~/uhd
|
git clone https://github.com/EttusResearch/uhd.git ~/uhd
|
||||||
cd ~/uhd
|
cd ~/uhd
|
||||||
git checkout v4.5.0.0
|
git checkout v4.6.0.0
|
||||||
cd host
|
cd host
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
@@ -87,9 +88,7 @@ cd ~/openairinterface5g/cmake_targets
|
|||||||
./build_oai -I
|
./build_oai -I
|
||||||
|
|
||||||
# Build OAI gNB
|
# Build OAI gNB
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets
|
||||||
source oaienv
|
|
||||||
cd cmake_targets
|
|
||||||
./build_oai -w USRP --ninja --gNB -C
|
./build_oai -w USRP --ninja --gNB -C
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -106,24 +105,18 @@ docker compose up -d
|
|||||||
|
|
||||||
### USRP B210
|
### USRP B210
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E --continuous-tx
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --sa -E --continuous-tx
|
||||||
```
|
```
|
||||||
### USRP N300
|
### USRP N300
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1
|
||||||
```
|
```
|
||||||
|
|
||||||
### USRP X300
|
### USRP X300
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 -E --continuous-tx
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1 -E --continuous-tx
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -58,16 +58,8 @@ rm -r ~/openairinterface5g-develop-doc-tutorial_resources-oai-cn5g ~/oai-cn5g.zi
|
|||||||
## 2.3 Pull OAI CN5G docker images
|
## 2.3 Pull OAI CN5G docker images
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull mysql:8.0
|
cd ~/oai-cn5g
|
||||||
docker pull oaisoftwarealliance/oai-amf:develop
|
docker compose pull
|
||||||
docker pull oaisoftwarealliance/oai-nrf:develop
|
|
||||||
docker pull oaisoftwarealliance/oai-smf:develop
|
|
||||||
docker pull oaisoftwarealliance/oai-udr:develop
|
|
||||||
docker pull oaisoftwarealliance/oai-udm:develop
|
|
||||||
docker pull oaisoftwarealliance/oai-ausf:develop
|
|
||||||
docker pull oaisoftwarealliance/oai-spgwu-tiny:develop
|
|
||||||
docker pull oaisoftwarealliance/trf-gen-cn5g:jammy
|
|
||||||
docker pull oaisoftwarealliance/ims:latest
|
|
||||||
```
|
```
|
||||||
|
|
||||||
# 3. Run OAI CN5G
|
# 3. Run OAI CN5G
|
||||||
|
|||||||
@@ -46,11 +46,12 @@ Please install and configure OAI CN5G as described here:
|
|||||||
|
|
||||||
### Build UHD from source
|
### Build UHD from source
|
||||||
```bash
|
```bash
|
||||||
sudo apt install -y libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential
|
# https://files.ettus.com/manual/page_build_guide.html
|
||||||
|
sudo apt install -y autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools python3-ruamel.yaml
|
||||||
|
|
||||||
git clone https://github.com/EttusResearch/uhd.git ~/uhd
|
git clone https://github.com/EttusResearch/uhd.git ~/uhd
|
||||||
cd ~/uhd
|
cd ~/uhd
|
||||||
git checkout v4.5.0.0
|
git checkout v4.6.0.0
|
||||||
cd host
|
cd host
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
@@ -78,9 +79,7 @@ cd ~/openairinterface5g/cmake_targets
|
|||||||
sudo apt install -y libforms-dev libforms-bin
|
sudo apt install -y libforms-dev libforms-bin
|
||||||
|
|
||||||
# Build OAI gNB
|
# Build OAI gNB
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets
|
||||||
source oaienv
|
|
||||||
cd cmake_targets
|
|
||||||
./build_oai -w USRP --ninja --nrUE --gNB --build-lib "nrscope" -C
|
./build_oai -w USRP --ninja --nrUE --gNB --build-lib "nrscope" -C
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -97,82 +96,71 @@ docker compose up -d
|
|||||||
|
|
||||||
### USRP B210
|
### USRP B210
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --sa -E --continuous-tx
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --sa -E --continuous-tx
|
||||||
```
|
```
|
||||||
### USRP N300
|
### USRP N300
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1
|
||||||
```
|
```
|
||||||
|
|
||||||
### USRP X300
|
### USRP X300
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1 -E --continuous-tx
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band77.fr1.273PRB.2x2.usrpn300.conf --gNBs.[0].min_rxtxtime 6 --sa --usrp-tx-thread-config 1 -E --continuous-tx
|
||||||
```
|
```
|
||||||
|
|
||||||
### RFsimulator
|
### RFsimulator
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --rfsim --sa
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.106PRB.usrpb210.conf --gNBs.[0].min_rxtxtime 6 --rfsim --sa
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### RFsimulator in FR2
|
||||||
|
```bash
|
||||||
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
|
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band257.32prb.usrpx410.conf --rfsim
|
||||||
|
```
|
||||||
|
|
||||||
# 5. OAI UE
|
# 5. OAI UE
|
||||||
|
|
||||||
## 5.1 SIM Card
|
## 5.1 Run OAI nrUE
|
||||||
Edit openair3/UICC/usim_interface.c
|
### USRP B210
|
||||||
```bash
|
|
||||||
#define UICC_PARAMS_DESC {\
|
|
||||||
{"imsi", "USIM IMSI\n", 0, strptr:&(uicc->imsiStr), defstrval:"001010000000001", TYPE_STRING, 0 },\
|
|
||||||
{"nmc_size" "number of digits in NMC", 0, iptr:&(uicc->nmc_size), defintval:2, TYPE_INT, 0 },\
|
|
||||||
{"key", "USIM Ki\n", 0, strptr:&(uicc->keyStr), defstrval:"fec86ba6eb707ed08905757b1bb44b8f", TYPE_STRING, 0 },\
|
|
||||||
{"opc", "USIM OPc\n", 0, strptr:&(uicc->opcStr), defstrval:"c42449363bbad02b66d16bc975d77cc1", TYPE_STRING, 0 },\
|
|
||||||
{"amf", "USIM amf\n", 0, strptr:&(uicc->amfStr), defstrval:"8000", TYPE_STRING, 0 },\
|
|
||||||
{"sqn", "USIM sqn\n", 0, strptr:&(uicc->sqnStr), defstrval:"000000", TYPE_STRING, 0 },\
|
|
||||||
{"dnn", "UE dnn (apn)\n", 0, strptr:&(uicc->dnnStr), defstrval:"oai", TYPE_STRING, 0 },\
|
|
||||||
{"nssai_sst", "UE nssai\n", 0, iptr:&(uicc->nssai_sst), defintval:1, TYPE_INT, 0 }, \
|
|
||||||
{"nssai_sd", "UE nssai\n", 0, iptr:&(uicc->nssai_sd), defintval:0xffffff, TYPE_INT, 0 }, \
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
## 5.2 Testing OAI nrUE with USRP B210
|
|
||||||
|
|
||||||
Important notes:
|
Important notes:
|
||||||
- This should be run in a second Ubuntu 22.04 host, other than gNB
|
- This should be run in a second Ubuntu 22.04 host, other than gNB
|
||||||
- It only applies when running OAI gNB with USRP B210
|
- It only applies when running OAI gNB with USRP B210
|
||||||
|
|
||||||
Run OAI nrUE
|
Run OAI nrUE with USRP B210
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --ue-fo-compensation --sa -E --uicc0.imsi 001010000000001
|
sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --ue-fo-compensation --sa -E --uicc0.imsi 001010000000001
|
||||||
```
|
```
|
||||||
|
|
||||||
## 5.2 Testing OAI nrUE with RFsimulator
|
### RFsimulator
|
||||||
Important notes:
|
Important notes:
|
||||||
- This should be run on the same host as the OAI gNB
|
- This should be run on the same host as the OAI gNB
|
||||||
- It only applies when running OAI gNB with RFsimulator
|
- It only applies when running OAI gNB with RFsimulator
|
||||||
|
|
||||||
Run OAI nrUE with RFsimulator
|
Run OAI nrUE with RFsimulator
|
||||||
```bash
|
```bash
|
||||||
cd ~/openairinterface5g
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
source oaienv
|
sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --sa --uicc0.imsi 001010000000001 --rfsim
|
||||||
cd cmake_targets/ran_build/build
|
|
||||||
sudo ./nr-uesoftmodem -r 106 --numerology 1 --band 78 -C 3619200000 --rfsim --sa --uicc0.imsi 001010000000001 --rfsimulator.serveraddr 127.0.0.1
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 5.2.1 Ping test
|
### RFsimulator in FR2
|
||||||
- UE host
|
Important notes:
|
||||||
|
- This should be run on the same host as the OAI gNB
|
||||||
|
- It only applies when running OAI gNB with RFsimulator in FR2
|
||||||
|
|
||||||
|
Run OAI nrUE with RFsimulator in FR2
|
||||||
|
```bash
|
||||||
|
cd ~/openairinterface5g/cmake_targets/ran_build/build
|
||||||
|
sudo ./nr-uesoftmodem -r 32 --numerology 3 --band 257 -C 27533280000 --sa --uicc0.imsi 001010000000001 --ssb 72 --rfsim
|
||||||
|
```
|
||||||
|
|
||||||
|
## 5.2 End-to-end connectivity test
|
||||||
|
- Ping test from the UE host to the CN5G
|
||||||
```bash
|
```bash
|
||||||
ping 192.168.70.135 -I oaitun_ue1
|
ping 192.168.70.135 -I oaitun_ue1
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -59,6 +59,23 @@ nfs:
|
|||||||
n4:
|
n4:
|
||||||
interface_name: eth0
|
interface_name: eth0
|
||||||
port: 8805
|
port: 8805
|
||||||
|
upf:
|
||||||
|
host: oai-upf
|
||||||
|
sbi:
|
||||||
|
port: 8080
|
||||||
|
api_version: v1
|
||||||
|
interface_name: eth0
|
||||||
|
n3:
|
||||||
|
interface_name: eth0
|
||||||
|
port: 2152
|
||||||
|
n4:
|
||||||
|
interface_name: eth0
|
||||||
|
port: 8805
|
||||||
|
n6:
|
||||||
|
interface_name: eth0
|
||||||
|
n9:
|
||||||
|
interface_name: eth0
|
||||||
|
port: 2152
|
||||||
udm:
|
udm:
|
||||||
host: oai-udm
|
host: oai-udm
|
||||||
sbi:
|
sbi:
|
||||||
@@ -94,6 +111,16 @@ database:
|
|||||||
generate_random: true
|
generate_random: true
|
||||||
connection_timeout: 300 # seconds
|
connection_timeout: 300 # seconds
|
||||||
|
|
||||||
|
## general single_nssai configuration
|
||||||
|
## Defines YAML anchors, which are reused in the config file
|
||||||
|
snssais:
|
||||||
|
- &embb_slice1
|
||||||
|
sst: 1
|
||||||
|
- &embb_slice2
|
||||||
|
sst: 1
|
||||||
|
- &embb_slice3
|
||||||
|
sst: 1
|
||||||
|
|
||||||
############## NF-specific configuration
|
############## NF-specific configuration
|
||||||
amf:
|
amf:
|
||||||
pid_directory: "/var/run"
|
pid_directory: "/var/run"
|
||||||
@@ -110,7 +137,7 @@ amf:
|
|||||||
served_guami_list:
|
served_guami_list:
|
||||||
- mcc: 001
|
- mcc: 001
|
||||||
mnc: 01
|
mnc: 01
|
||||||
amf_region_id: 80
|
amf_region_id: 01
|
||||||
amf_set_id: 001
|
amf_set_id: 001
|
||||||
amf_pointer: 01
|
amf_pointer: 01
|
||||||
plmn_support_list:
|
plmn_support_list:
|
||||||
@@ -118,7 +145,9 @@ amf:
|
|||||||
mnc: 01
|
mnc: 01
|
||||||
tac: 0x0001
|
tac: 0x0001
|
||||||
nssai:
|
nssai:
|
||||||
- sst: 1
|
- *embb_slice1
|
||||||
|
- *embb_slice2
|
||||||
|
- *embb_slice3
|
||||||
supported_integrity_algorithms:
|
supported_integrity_algorithms:
|
||||||
- "NIA1"
|
- "NIA1"
|
||||||
- "NIA2"
|
- "NIA2"
|
||||||
@@ -134,7 +163,7 @@ smf:
|
|||||||
use_local_pcc_rules: yes # Use infos from local_pcc_rules or from PCF
|
use_local_pcc_rules: yes # Use infos from local_pcc_rules or from PCF
|
||||||
# we resolve from NRF, this is just to configure usage_reporting
|
# we resolve from NRF, this is just to configure usage_reporting
|
||||||
upfs:
|
upfs:
|
||||||
- host: oai-spgwu
|
- host: oai-upf
|
||||||
config:
|
config:
|
||||||
enable_usage_reporting: no
|
enable_usage_reporting: no
|
||||||
ue_dns:
|
ue_dns:
|
||||||
@@ -145,40 +174,68 @@ smf:
|
|||||||
ims:
|
ims:
|
||||||
pcscf_ipv4: "192.168.70.139"
|
pcscf_ipv4: "192.168.70.139"
|
||||||
pcscf_ipv6: "fe80::7915:f408:1787:db8b"
|
pcscf_ipv6: "fe80::7915:f408:1787:db8b"
|
||||||
# the DNN you configure here should be configured in "dnns"
|
# the DNN you configure here should be configured in "dnns"
|
||||||
|
# follows the SmfInfo datatype from 3GPP TS 29.510
|
||||||
|
smf_info:
|
||||||
|
sNssaiSmfInfoList:
|
||||||
|
- sNssai: *embb_slice1
|
||||||
|
dnnSmfInfoList:
|
||||||
|
- dnn: "oai"
|
||||||
|
- sNssai: *embb_slice2
|
||||||
|
dnnSmfInfoList:
|
||||||
|
- dnn: "openairinterface"
|
||||||
|
- sNssai: *embb_slice3
|
||||||
|
dnnSmfInfoList:
|
||||||
|
- dnn: "ims"
|
||||||
local_subscription_infos:
|
local_subscription_infos:
|
||||||
- single_nssai:
|
- single_nssai: *embb_slice1
|
||||||
sst: 1
|
|
||||||
dnn: "oai"
|
dnn: "oai"
|
||||||
qos_profile:
|
qos_profile:
|
||||||
5qi: 9
|
5qi: 9
|
||||||
session_ambr_ul: "10Gbps"
|
session_ambr_ul: "10Gbps"
|
||||||
session_ambr_dl: "10Gbps"
|
session_ambr_dl: "10Gbps"
|
||||||
- single_nssai:
|
- single_nssai: *embb_slice2
|
||||||
sst: 1
|
|
||||||
dnn: "openairinterface"
|
dnn: "openairinterface"
|
||||||
qos_profile:
|
qos_profile:
|
||||||
5qi: 9
|
5qi: 9
|
||||||
session_ambr_ul: "10Gbps"
|
session_ambr_ul: "10Gbps"
|
||||||
session_ambr_dl: "10Gbps"
|
session_ambr_dl: "10Gbps"
|
||||||
- single_nssai:
|
- single_nssai: *embb_slice3
|
||||||
sst: 1
|
|
||||||
dnn: "ims"
|
dnn: "ims"
|
||||||
qos_profile:
|
qos_profile:
|
||||||
5qi: 9
|
5qi: 9
|
||||||
session_ambr_ul: "10Gbps"
|
session_ambr_ul: "10Gbps"
|
||||||
session_ambr_dl: "10Gbps"
|
session_ambr_dl: "10Gbps"
|
||||||
|
|
||||||
|
upf:
|
||||||
|
support_features:
|
||||||
|
enable_bpf_datapath: no # If "on": BPF is used as datapath else simpleswitch is used, DEFAULT= off
|
||||||
|
enable_snat: yes # If "on": Source natting is done for UE, DEFAULT= off
|
||||||
|
remote_n6_gw: localhost # Dummy host since simple-switch does not use N6 GW
|
||||||
|
smfs:
|
||||||
|
- host: oai-smf # To be used for PFCP association in case of no-NRF
|
||||||
|
upf_info:
|
||||||
|
sNssaiUpfInfoList:
|
||||||
|
- sNssai: *embb_slice1
|
||||||
|
dnnUpfInfoList:
|
||||||
|
- dnn: "oai"
|
||||||
|
- sNssai: *embb_slice2
|
||||||
|
dnnUpfInfoList:
|
||||||
|
- dnn: "openairinterface"
|
||||||
|
- sNssai: *embb_slice3
|
||||||
|
dnnUpfInfoList:
|
||||||
|
- dnn: "ims"
|
||||||
|
|
||||||
## DNN configuration
|
## DNN configuration
|
||||||
dnns:
|
dnns:
|
||||||
- dnn: "oai"
|
- dnn: "oai"
|
||||||
pdu_session_type: "IPV4"
|
pdu_session_type: "IPV4"
|
||||||
ipv4_subnet: "12.1.1.2/24"
|
ipv4_subnet: "10.0.0.0/24"
|
||||||
- dnn: "openairinterface"
|
- dnn: "openairinterface"
|
||||||
pdu_session_type: "IPV4V6"
|
pdu_session_type: "IPV4V6"
|
||||||
ipv4_subnet: "12.1.2.2/24"
|
ipv4_subnet: "10.0.1.0/24"
|
||||||
ipv6_prefix: "2001:1:2::/64"
|
ipv6_prefix: "2001:1:2::/64"
|
||||||
- dnn: "ims"
|
- dnn: "ims"
|
||||||
pdu_session_type: "IPV4V6"
|
pdu_session_type: "IPV4V6"
|
||||||
ipv4_subnet: "12.1.9.2/24"
|
ipv4_subnet: "10.0.9.0/24"
|
||||||
ipv6_prefix: "2001:1:2::/64"
|
ipv6_prefix: "2001:1:2::/64"
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ services:
|
|||||||
ipv4_address: 192.168.70.131
|
ipv4_address: 192.168.70.131
|
||||||
|
|
||||||
ims:
|
ims:
|
||||||
container_name: "asterisk-ims"
|
container_name: "ims"
|
||||||
image: oaisoftwarealliance/ims:latest
|
image: oaisoftwarealliance/ims:latest
|
||||||
volumes:
|
volumes:
|
||||||
- ./conf/sip.conf:/etc/asterisk/sip.conf
|
- ./conf/sip.conf:/etc/asterisk/sip.conf
|
||||||
@@ -129,40 +129,16 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
public_net:
|
public_net:
|
||||||
ipv4_address: 192.168.70.133
|
ipv4_address: 192.168.70.133
|
||||||
oai-spgwu:
|
oai-upf:
|
||||||
container_name: "oai-spgwu"
|
container_name: "oai-upf"
|
||||||
image: oaisoftwarealliance/oai-spgwu-tiny:develop
|
image: oaisoftwarealliance/oai-upf:develop
|
||||||
expose:
|
expose:
|
||||||
- 2152/udp
|
- 2152/udp
|
||||||
- 8805/udp
|
- 8805/udp
|
||||||
- 8080/tcp
|
volumes:
|
||||||
# TODO: oai-spgwu-tiny will not support the new common yaml config file feature
|
- ./conf/config.yaml:/openair-upf/etc/config.yaml
|
||||||
# waiting for the new oai-upf NF
|
|
||||||
environment:
|
environment:
|
||||||
- TZ=Europe/Paris
|
- TZ=Europe/Paris
|
||||||
- SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP=eth0
|
|
||||||
- SGW_INTERFACE_NAME_FOR_SX=eth0
|
|
||||||
- PGW_INTERFACE_NAME_FOR_SGI=eth0
|
|
||||||
- NETWORK_UE_NAT_OPTION=yes
|
|
||||||
- NETWORK_UE_IP=12.1.0.0/16
|
|
||||||
- ENABLE_5G_FEATURES=yes
|
|
||||||
- REGISTER_NRF=yes
|
|
||||||
- USE_FQDN_NRF=yes
|
|
||||||
- UPF_FQDN_5G=oai-spgwu
|
|
||||||
- NRF_IPV4_ADDRESS=192.168.70.130
|
|
||||||
- NRF_FQDN=oai-nrf
|
|
||||||
# Mandatory to set the NRF PORT to 8080 (it is set to default to 80 otherwise)
|
|
||||||
- HTTP_VERSION=2
|
|
||||||
- NRF_PORT=8080
|
|
||||||
# Slice 0 (1, 0xFFFFFF)
|
|
||||||
- NSSAI_SST_0=1
|
|
||||||
- DNN_0=oai
|
|
||||||
# Slice 1 (1, 0xFFFFFF)
|
|
||||||
- NSSAI_SST_1=1
|
|
||||||
- DNN_1=openairinterface
|
|
||||||
# Slice 2 (1, 0xFFFFFF)
|
|
||||||
- NSSAI_SST_2=1
|
|
||||||
- DNN_2=ims
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- oai-nrf
|
- oai-nrf
|
||||||
- oai-smf
|
- oai-smf
|
||||||
@@ -181,10 +157,10 @@ services:
|
|||||||
container_name: oai-ext-dn
|
container_name: oai-ext-dn
|
||||||
image: oaisoftwarealliance/trf-gen-cn5g:jammy
|
image: oaisoftwarealliance/trf-gen-cn5g:jammy
|
||||||
entrypoint: /bin/bash -c \
|
entrypoint: /bin/bash -c \
|
||||||
"ip route add 12.1.0.0/16 via 192.168.70.134 dev eth0; ip route; sleep infinity"
|
"ip route add 10.0.0.0/16 via 192.168.70.134 dev eth0; ip route; sleep infinity"
|
||||||
command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"]
|
command: ["/bin/bash", "-c", "trap : SIGTERM SIGINT; sleep infinity & wait"]
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: /bin/bash -c "ip r | grep 12.1.0"
|
test: /bin/bash -c "ip r | grep 10.0.0"
|
||||||
interval: 5s
|
interval: 5s
|
||||||
timeout: 2s
|
timeout: 2s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
|||||||
@@ -0,0 +1,272 @@
|
|||||||
|
Active_gNBs = ( "gNB-OAI");
|
||||||
|
# Asn1_verbosity, choice in: none, info, annoying
|
||||||
|
Asn1_verbosity = "none";
|
||||||
|
|
||||||
|
sa = 1;
|
||||||
|
|
||||||
|
gNBs =
|
||||||
|
(
|
||||||
|
{
|
||||||
|
////////// Identification parameters:
|
||||||
|
gNB_ID = 0xe00;
|
||||||
|
gNB_name = "gNB-OAI";
|
||||||
|
|
||||||
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||||
|
tracking_area_code = 1;
|
||||||
|
plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) });
|
||||||
|
|
||||||
|
nr_cellid = 12345678L;
|
||||||
|
|
||||||
|
////////// Physical parameters:
|
||||||
|
|
||||||
|
pdsch_AntennaPorts_XP = 1;
|
||||||
|
pusch_AntennaPorts = 1;
|
||||||
|
do_CSIRS = 1;
|
||||||
|
do_SRS = 1;
|
||||||
|
sib1_tda = 15;
|
||||||
|
min_rxtxtime = 6;
|
||||||
|
|
||||||
|
servingCellConfigCommon = (
|
||||||
|
{
|
||||||
|
#spCellConfigCommon
|
||||||
|
|
||||||
|
physCellId = 0;
|
||||||
|
|
||||||
|
# downlinkConfigCommon
|
||||||
|
#frequencyInfoDL
|
||||||
|
# This is 27510.240 MHz + 16 * 12 * 120e3 MHz = 27533.280 MHz (GSCN: 22446)
|
||||||
|
absoluteFrequencySSB = 2071387;
|
||||||
|
dl_frequencyBand = 257;
|
||||||
|
# This is 27510.240 MHz
|
||||||
|
dl_absoluteFrequencyPointA = 2071003;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
dl_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
dl_subcarrierSpacing = 3;
|
||||||
|
dl_carrierBandwidth = 32;
|
||||||
|
#initialDownlinkBWP
|
||||||
|
#genericParameters
|
||||||
|
# This is RBstart = 0, L = 32: (275 * (L - 1)) + RBstart
|
||||||
|
initialDLBWPlocationAndBandwidth = 8525;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
initialDLBWPsubcarrierSpacing = 3;
|
||||||
|
#pdcch-ConfigCommon
|
||||||
|
initialDLBWPcontrolResourceSetZero = 0;
|
||||||
|
initialDLBWPsearchSpaceZero = 0;
|
||||||
|
|
||||||
|
#uplinkConfigCommon
|
||||||
|
#frequencyInfoUL
|
||||||
|
ul_frequencyBand = 257;
|
||||||
|
#scs-SpecificCarrierList
|
||||||
|
ul_offstToCarrier = 0;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
ul_subcarrierSpacing = 3;
|
||||||
|
ul_carrierBandwidth = 32;
|
||||||
|
pMax = 20;
|
||||||
|
#initialUplinkBWP
|
||||||
|
#genericParameters
|
||||||
|
initialULBWPlocationAndBandwidth = 8525;
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
initialULBWPsubcarrierSpacing = 3;
|
||||||
|
#rach-ConfigCommon
|
||||||
|
#rach-ConfigGeneric
|
||||||
|
prach_ConfigurationIndex = 59;
|
||||||
|
#prach_msg1_FDM
|
||||||
|
#0 = one, 1=two, 2=four, 3=eight
|
||||||
|
prach_msg1_FDM = 0;
|
||||||
|
prach_msg1_FrequencyStart = 0;
|
||||||
|
zeroCorrelationZoneConfig = 12;
|
||||||
|
preambleReceivedTargetPower = -96;
|
||||||
|
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
|
||||||
|
preambleTransMax = 6;
|
||||||
|
#powerRampingStep
|
||||||
|
# 0=dB0,1=dB2,2=dB4,3=dB6
|
||||||
|
powerRampingStep = 1;
|
||||||
|
#ra_ReponseWindow
|
||||||
|
#1,2,4,8,10,20,40,80
|
||||||
|
ra_ResponseWindow = 5;
|
||||||
|
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||||
|
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
||||||
|
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
|
||||||
|
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||||
|
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
||||||
|
#ra_ContentionResolutionTimer
|
||||||
|
#(0..7) 8,16,24,32,40,48,56,64
|
||||||
|
ra_ContentionResolutionTimer = 7;
|
||||||
|
rsrp_ThresholdSSB = 19;
|
||||||
|
#prach-RootSequenceIndex_PR
|
||||||
|
#1 = 839, 2 = 139
|
||||||
|
prach_RootSequenceIndex_PR = 2;
|
||||||
|
prach_RootSequenceIndex = 1;
|
||||||
|
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
|
||||||
|
#
|
||||||
|
msg1_SubcarrierSpacing = 3;
|
||||||
|
# restrictedSetConfig
|
||||||
|
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
||||||
|
restrictedSetConfig = 0,
|
||||||
|
|
||||||
|
msg3_DeltaPreamble = 1;
|
||||||
|
p0_NominalWithGrant =-90;
|
||||||
|
|
||||||
|
# pucch-ConfigCommon setup :
|
||||||
|
# pucchGroupHopping
|
||||||
|
# 0 = neither, 1= group hopping, 2=sequence hopping
|
||||||
|
pucchGroupHopping = 0;
|
||||||
|
hoppingId = 40;
|
||||||
|
p0_nominal = -70;
|
||||||
|
# ssb_PositionsInBurs_BitmapPR
|
||||||
|
# 1=short, 2=medium, 3=long
|
||||||
|
ssb_PositionsInBurst_PR = 3;
|
||||||
|
ssb_PositionsInBurst_Bitmap = 1;
|
||||||
|
|
||||||
|
# ssb_periodicityServingCell
|
||||||
|
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
|
||||||
|
ssb_periodicityServingCell = 2;
|
||||||
|
|
||||||
|
# dmrs_TypeA_position
|
||||||
|
# 0 = pos2, 1 = pos3
|
||||||
|
dmrs_TypeA_Position = 0;
|
||||||
|
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
subcarrierSpacing = 3;
|
||||||
|
|
||||||
|
|
||||||
|
#tdd-UL-DL-ConfigurationCommon
|
||||||
|
# subcarrierSpacing
|
||||||
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
|
referenceSubcarrierSpacing = 3;
|
||||||
|
# pattern1
|
||||||
|
# dl_UL_TransmissionPeriodicity
|
||||||
|
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
|
||||||
|
dl_UL_TransmissionPeriodicity = 3;
|
||||||
|
nrofDownlinkSlots = 7;
|
||||||
|
nrofDownlinkSymbols = 6;
|
||||||
|
nrofUplinkSlots = 2;
|
||||||
|
nrofUplinkSymbols = 4;
|
||||||
|
|
||||||
|
ssPBCH_BlockPower = -25;
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
# ------- SCTP definitions
|
||||||
|
SCTP :
|
||||||
|
{
|
||||||
|
# Number of streams to use in input/output
|
||||||
|
SCTP_INSTREAMS = 2;
|
||||||
|
SCTP_OUTSTREAMS = 2;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
////////// AMF parameters:
|
||||||
|
amf_ip_address = ( { ipv4 = "192.168.70.132";
|
||||||
|
ipv6 = "192:168:30::17";
|
||||||
|
active = "yes";
|
||||||
|
preference = "ipv4";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
NETWORK_INTERFACES :
|
||||||
|
{
|
||||||
|
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
|
||||||
|
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24";
|
||||||
|
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
|
||||||
|
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24";
|
||||||
|
GNB_PORT_FOR_S1U = 2152; # Spec 2152
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
MACRLCs = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_s_preference = "local_L1";
|
||||||
|
tr_n_preference = "local_RRC";
|
||||||
|
#pusch_TargetSNRx10 = 150;
|
||||||
|
#pucch_TargetSNRx10 = 200;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
L1s = (
|
||||||
|
{
|
||||||
|
num_cc = 1;
|
||||||
|
tr_n_preference = "local_mac";
|
||||||
|
prach_dtx_threshold = 120;
|
||||||
|
#pucch0_dtx_threshold = 120;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
RUs = (
|
||||||
|
{
|
||||||
|
local_rf = "yes";
|
||||||
|
nb_tx = 1;
|
||||||
|
nb_rx = 1;
|
||||||
|
att_tx = 0;
|
||||||
|
att_rx = 0;
|
||||||
|
sl_ahead = 12;
|
||||||
|
bands = [257];
|
||||||
|
max_pdschReferenceSignalPower = -27;
|
||||||
|
max_rxgain = 60;
|
||||||
|
eNB_instances = [0];
|
||||||
|
#if_freq = 2650000000L;
|
||||||
|
##beamforming 1x2 matrix: 1 layer x 2 antennas
|
||||||
|
bf_weights = [0x00007fff, 0x0000];
|
||||||
|
#clock_src = "internal";
|
||||||
|
sdr_addrs = "mgmt_addr=192.168.10.2,addr=192.168.10.2,clock_source=internal,time_source=internal"
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
THREAD_STRUCT = (
|
||||||
|
{
|
||||||
|
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
|
||||||
|
parallel_config = "PARALLEL_SINGLE_THREAD";
|
||||||
|
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
|
||||||
|
worker_config = "WORKER_ENABLE";
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
rfsimulator :
|
||||||
|
{
|
||||||
|
serveraddr = "server";
|
||||||
|
serverport = 4043;
|
||||||
|
options = (); #("saviq"); or/and "chanmod"
|
||||||
|
modelname = "AWGN";
|
||||||
|
IQfile = "/tmp/rfsimulator.iqs";
|
||||||
|
};
|
||||||
|
|
||||||
|
security = {
|
||||||
|
# preferred ciphering algorithms
|
||||||
|
# the first one of the list that an UE supports in chosen
|
||||||
|
# valid values: nea0, nea1, nea2, nea3
|
||||||
|
ciphering_algorithms = ( "nea0" );
|
||||||
|
|
||||||
|
# preferred integrity algorithms
|
||||||
|
# the first one of the list that an UE supports in chosen
|
||||||
|
# valid values: nia0, nia1, nia2, nia3
|
||||||
|
integrity_algorithms = ( "nia2", "nia0" );
|
||||||
|
|
||||||
|
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
|
||||||
|
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
|
||||||
|
drb_ciphering = "yes";
|
||||||
|
drb_integrity = "no";
|
||||||
|
};
|
||||||
|
|
||||||
|
log_config :
|
||||||
|
{
|
||||||
|
global_log_level ="info";
|
||||||
|
hw_log_level ="info";
|
||||||
|
phy_log_level ="info";
|
||||||
|
mac_log_level ="info";
|
||||||
|
rlc_log_level ="info";
|
||||||
|
pdcp_log_level ="info";
|
||||||
|
rrc_log_level ="info";
|
||||||
|
ngap_log_level ="info";
|
||||||
|
f1ap_log_level ="info";
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user