Merge remote-tracking branch 'origin/NR_SA_tutorials' into integration_2022_wk23
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
<table style="border-collapse: collapse; border: none;">
|
||||
<tr style="border-collapse: collapse; border: none;">
|
||||
<td style="border-collapse: collapse; border: none;">
|
||||
<a href="http://www.openairinterface.org/">
|
||||
<img src="./images/oai_final_logo.png" alt="" border=3 height=50 width=150>
|
||||
</img>
|
||||
</a>
|
||||
</td>
|
||||
<td style="border-collapse: collapse; border: none; vertical-align: center;">
|
||||
<b><font size = "5">OAI 5G SA tutorial</font></b>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
**TABLE OF CONTENTS**
|
||||
|
||||
1. [Scenario](#1-scenario)
|
||||
2. [OAI CN5G](#2-oai-cn5g)
|
||||
1. [OAI CN5G pre-requisites](#21-oai-cn5g-pre-requisites)
|
||||
2. [OAI CN5G Setup](#22-oai-cn5g-setup)
|
||||
3. [OAI CN5G Configuration files](#23-oai-cn5g-configuration-files)
|
||||
4. [SIM Card](#24-sim-card)
|
||||
3. [OAI gNB](#3-oai-gnb)
|
||||
1. [OAI gNB pre-requisites](#31-oai-gnb-pre-requisites)
|
||||
2. [Build OAI gNB](#32-build-oai-gnb)
|
||||
4. [Run OAI CN5G and OAI gNB with USRP B210](#4-run-oai-cn5g-and-oai-gnb-with-usrp-b210)
|
||||
1. [Run OAI CN5G](#41-run-oai-cn5g)
|
||||
2. [Run OAI gNB](#42-run-oai-gnb)
|
||||
5. [Testing with QUECTEL RM500Q](#5-testing-with-quectel-rm500q)
|
||||
1. [Setup QUECTEL](#51-setup-quectel)
|
||||
2. [Ping test](#52-ping-test)
|
||||
3. [Downlink iPerf test](#53-downlink-iperf-test)
|
||||
|
||||
|
||||
# 1. Scenario
|
||||
In this tutorial we describe how to configure and run a 5G end-to-end setup with OAI CN5G, OAI gNB and COTS UE.
|
||||
|
||||
Minimum hardware requirements:
|
||||
- Laptop/Desktop/Server for OAI CN5G and OAI gNB
|
||||
- Operating System: [Ubuntu 20.04.4 LTS](https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.iso)
|
||||
- CPU: 8 cores x86_64 @ 3.5 GHz
|
||||
- RAM: 32 GB
|
||||
- Laptop for UE
|
||||
- Operating System: Microsoft Windows 10 x64
|
||||
- CPU: 4 cores x86_64
|
||||
- RAM: 8 GB
|
||||
- Windows driver for Quectel MUST be equal or higher than version **2.2.4**
|
||||
- [USRP B210](https://www.ettus.com/all-products/ub210-kit/)
|
||||
- Quectel RM500Q
|
||||
- Module, M.2 to USB adapter, antennas and SIM card
|
||||
- Firmware version of Quectel MUST be equal or higher than **RM500QGLABR11A06M4G**
|
||||
|
||||
|
||||
# 2. OAI CN5G
|
||||
|
||||
## 2.1 OAI CN5G pre-requisites
|
||||
|
||||
```bash
|
||||
sudo apt install -y git net-tools putty
|
||||
|
||||
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
sudo apt update
|
||||
sudo apt install -y docker docker-ce
|
||||
|
||||
# Add your username to the docker group, otherwise you will have to run in sudo mode.
|
||||
sudo usermod -a -G docker $(whoami)
|
||||
reboot
|
||||
|
||||
# https://docs.docker.com/compose/install/
|
||||
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
|
||||
docker network create --driver=bridge --subnet=192.168.70.128/26 -o "com.docker.network.bridge.name"="demo-oai" demo-oai-public-net
|
||||
sudo service docker restart
|
||||
|
||||
```
|
||||
|
||||
## 2.2 OAI CN5G Setup
|
||||
|
||||
```bash
|
||||
# Git oai-cn5g-fed repository
|
||||
git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git ~/oai-cn5g-fed
|
||||
cd ~/oai-cn5g-fed
|
||||
git checkout master
|
||||
./scripts/syncComponents.sh --nrf-branch develop --amf-branch develop --smf-branch develop --spgwu-tiny-branch develop --ausf-branch develop --udm-branch develop --udr-branch develop --upf-vpp-branch develop --nssf-branch develop
|
||||
|
||||
docker pull oaisoftwarealliance/oai-amf:develop
|
||||
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-upf-vpp:develop
|
||||
docker pull oaisoftwarealliance/oai-spgwu-tiny:develop
|
||||
docker pull oaisoftwarealliance/oai-nssf:develop
|
||||
|
||||
docker image tag oaisoftwarealliance/oai-amf:develop oai-amf:develop
|
||||
docker image tag oaisoftwarealliance/oai-nrf:develop oai-nrf:develop
|
||||
docker image tag oaisoftwarealliance/oai-smf:develop oai-smf:develop
|
||||
docker image tag oaisoftwarealliance/oai-udr:develop oai-udr:develop
|
||||
docker image tag oaisoftwarealliance/oai-udm:develop oai-udm:develop
|
||||
docker image tag oaisoftwarealliance/oai-ausf:develop oai-ausf:develop
|
||||
docker image tag oaisoftwarealliance/oai-upf-vpp:develop oai-upf-vpp:develop
|
||||
docker image tag oaisoftwarealliance/oai-spgwu-tiny:develop oai-spgwu-tiny:develop
|
||||
docker image tag oaisoftwarealliance/oai-nssf:develop oai-nssf:develop
|
||||
```
|
||||
|
||||
## 2.3 OAI CN5G Configuration files
|
||||
Download and copy the configuration files to ~/oai-cn5g-fed/docker-compose:
|
||||
- [docker-compose-basic-nrf.yaml](tutorial_resources/docker-compose-basic-nrf.yaml)
|
||||
- [oai_db.sql](tutorial_resources/oai_db.sql)
|
||||
|
||||
Change permissions on oai_db.sql to prevent mysql permission denied error:
|
||||
```bash
|
||||
chmod 644 ~/oai-cn5g-fed/docker-compose/oai_db.sql
|
||||
```
|
||||
|
||||
## 2.4 SIM Card
|
||||
Program SIM Card with [Open Cells Project](https://open-cells.com/) application [uicc-v2.6](https://open-cells.com/d5138782a8739209ec5760865b1e53b0/uicc-v2.6.tgz).
|
||||
|
||||
```bash
|
||||
sudo ./program_uicc --adm 12345678 --imsi 208990000000001 --isdn 00000001 --acc 0001 --key fec86ba6eb707ed08905757b1bb44b8f --opc C42449363BBAD02B66D16BC975D77CC1 -spn "OpenAirInterface" --authenticate
|
||||
```
|
||||
|
||||
|
||||
# 3. OAI gNB
|
||||
|
||||
## 3.1 OAI gNB pre-requisites
|
||||
|
||||
### Build UHD from source
|
||||
```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
|
||||
|
||||
git clone https://github.com/EttusResearch/uhd.git ~/uhd
|
||||
cd ~/uhd
|
||||
git checkout v4.0.0.0
|
||||
cd host
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ../
|
||||
make -j 4
|
||||
make test # This step is optional
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo uhd_images_downloader
|
||||
```
|
||||
|
||||
## 3.2 Build OAI gNB
|
||||
|
||||
```bash
|
||||
# Get openairinterface5g source code
|
||||
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git ~/openairinterface5g
|
||||
cd ~/openairinterface5g
|
||||
git checkout develop
|
||||
|
||||
# Install dependencies in Ubuntu 20.04
|
||||
cd ~/openairinterface5g
|
||||
source oaienv
|
||||
cd cmake_targets
|
||||
./build_oai -I
|
||||
|
||||
# Build OAI gNB
|
||||
cd ~/openairinterface5g
|
||||
source oaienv
|
||||
cd cmake_targets
|
||||
./build_oai -w USRP --nrUE --gNB --build-lib all -c
|
||||
```
|
||||
|
||||
|
||||
# 4. Run OAI CN5G and OAI gNB with USRP B210
|
||||
|
||||
## 4.1 Run OAI CN5G
|
||||
|
||||
```bash
|
||||
cd ~/oai-cn5g-fed/docker-compose
|
||||
python3 core-network.py --type start-basic --fqdn yes --scenario 1
|
||||
```
|
||||
|
||||
## 4.2 Run OAI gNB
|
||||
|
||||
```bash
|
||||
cd ~/openairinterface5g
|
||||
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
|
||||
```
|
||||
|
||||
Make sure that during USRP initialization, it shows that USB 3 is used.
|
||||
|
||||
# 5. Testing with Quectel RM500Q
|
||||
|
||||
## 5.1 Setup Quectel
|
||||
With [PuTTY](https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe), send the following AT commands to the module using a serial interface (ex: COM2) at 115200 bps:
|
||||
```bash
|
||||
# MUST be sent at least once everytime there is a firmware upgrade!
|
||||
AT+QMBNCFG="Select","ROW_Commercial"
|
||||
AT+QMBNCFG="AutoSel",0
|
||||
AT+CFUN=1,1
|
||||
AT+CGDCONT=1
|
||||
AT+CGDCONT=2
|
||||
AT+CGDCONT=3
|
||||
AT+CGDCONT=1,"IP","oai"
|
||||
|
||||
# (Optional, debug only, AT commands) Activate PDP context, retrieve IP address and test with ping
|
||||
AT+CGACT=1,1
|
||||
AT+CGPADDR=1
|
||||
AT+QPING=1,"openairinterface.org"
|
||||
```
|
||||
|
||||
## 5.2 Ping test
|
||||
- UE host
|
||||
```bash
|
||||
ping 192.168.70.135 -n 1000 -S 12.1.1.2
|
||||
```
|
||||
- CN5G host
|
||||
```bash
|
||||
docker exec -it oai-ext-dn ping 12.1.1.2
|
||||
```
|
||||
|
||||
## 5.3 Downlink iPerf test
|
||||
- UE host
|
||||
- Download iPerf for Microsoft Windows from [here](https://iperf.fr/download/windows/iperf-2.0.9-win64.zip).
|
||||
- Extract to Desktop and run with Command Prompt:
|
||||
```bash
|
||||
cd C:\Users\User\Desktop\iPerf\iperf-2.0.9-win64\iperf-2.0.9-win64
|
||||
iperf -s -u -i 1 -B 12.1.1.2
|
||||
```
|
||||
|
||||
- CN5G host
|
||||
```bash
|
||||
docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 125M -c 12.1.1.2
|
||||
```
|
||||
@@ -0,0 +1,251 @@
|
||||
<table style="border-collapse: collapse; border: none;">
|
||||
<tr style="border-collapse: collapse; border: none;">
|
||||
<td style="border-collapse: collapse; border: none;">
|
||||
<a href="http://www.openairinterface.org/">
|
||||
<img src="./images/oai_final_logo.png" alt="" border=3 height=50 width=150>
|
||||
</img>
|
||||
</a>
|
||||
</td>
|
||||
<td style="border-collapse: collapse; border: none; vertical-align: center;">
|
||||
<b><font size = "5">OAI 5G SA tutorial</font></b>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
**TABLE OF CONTENTS**
|
||||
|
||||
1. [Scenario](#1-scenario)
|
||||
2. [OAI CN5G](#2-oai-cn5g)
|
||||
1. [OAI CN5G pre-requisites](#21-oai-cn5g-pre-requisites)
|
||||
2. [OAI CN5G Setup](#22-oai-cn5g-setup)
|
||||
3. [OAI CN5G Configuration files](#23-oai-cn5g-configuration-files)
|
||||
4. [SIM Card](#24-sim-card)
|
||||
3. [OAI gNB](#3-oai-gnb)
|
||||
1. [OAI gNB pre-requisites](#31-oai-gnb-pre-requisites)
|
||||
2. [Build OAI gNB](#32-build-oai-gnb)
|
||||
3. [N300 Ethernet Tuning](#33-n300-ethernet-tuning)
|
||||
4. [Run OAI CN5G and OAI gNB with USRP N300](#4-run-oai-cn5g-and-oai-gnb-with-usrp-n300)
|
||||
1. [Run OAI CN5G](#41-run-oai-cn5g)
|
||||
2. [Run OAI gNB](#42-run-oai-gnb)
|
||||
5. [Testing with QUECTEL RM500Q](#5-testing-with-quectel-rm500q)
|
||||
1. [Setup QUECTEL](#51-setup-quectel)
|
||||
2. [Ping test](#52-ping-test)
|
||||
3. [Downlink iPerf test](#53-downlink-iperf-test)
|
||||
|
||||
|
||||
# 1. Scenario
|
||||
In this tutorial we describe how to configure and run a 5G end-to-end setup with OAI CN5G, OAI gNB and COTS UE.
|
||||
|
||||
Minimum hardware requirements:
|
||||
- Laptop/Desktop/Server for OAI CN5G and OAI gNB
|
||||
- Operating System: [Ubuntu 20.04.4 LTS](https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-desktop-amd64.iso)
|
||||
- CPU: 8 cores x86_64 @ 3.5 GHz
|
||||
- RAM: 32 GB
|
||||
- Laptop for UE
|
||||
- Operating System: Microsoft Windows 10 x64
|
||||
- CPU: 4 cores x86_64
|
||||
- RAM: 8 GB
|
||||
- Windows driver for Quectel MUST be equal or higher than version **2.2.4**
|
||||
- [USRP N300](https://www.ettus.com/all-products/USRP-N300/): Please identify the network interface(s) on which the N300 is connected.
|
||||
- Quectel RM500Q
|
||||
- Module, M.2 to USB adapter, antennas and SIM card
|
||||
- Firmware version of Quectel MUST be equal or higher than **RM500QGLABR11A06M4G**
|
||||
|
||||
|
||||
# 2. OAI CN5G
|
||||
|
||||
## 2.1 OAI CN5G pre-requisites
|
||||
|
||||
```bash
|
||||
sudo apt install -y git net-tools putty
|
||||
|
||||
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
sudo apt update
|
||||
sudo apt install -y docker docker-ce
|
||||
|
||||
# Add your username to the docker group, otherwise you will have to run in sudo mode.
|
||||
sudo usermod -a -G docker $(whoami)
|
||||
reboot
|
||||
|
||||
# https://docs.docker.com/compose/install/
|
||||
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
||||
sudo chmod +x /usr/local/bin/docker-compose
|
||||
|
||||
docker network create --driver=bridge --subnet=192.168.70.128/26 -o "com.docker.network.bridge.name"="demo-oai" demo-oai-public-net
|
||||
sudo service docker restart
|
||||
|
||||
```
|
||||
|
||||
## 2.2 OAI CN5G Setup
|
||||
|
||||
```bash
|
||||
# Git oai-cn5g-fed repository
|
||||
git clone https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-fed.git ~/oai-cn5g-fed
|
||||
cd ~/oai-cn5g-fed
|
||||
git checkout master
|
||||
./scripts/syncComponents.sh --nrf-branch develop --amf-branch develop --smf-branch develop --spgwu-tiny-branch develop --ausf-branch develop --udm-branch develop --udr-branch develop --upf-vpp-branch develop --nssf-branch develop
|
||||
|
||||
docker pull oaisoftwarealliance/oai-amf:develop
|
||||
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-upf-vpp:develop
|
||||
docker pull oaisoftwarealliance/oai-spgwu-tiny:develop
|
||||
docker pull oaisoftwarealliance/oai-nssf:develop
|
||||
|
||||
docker image tag oaisoftwarealliance/oai-amf:develop oai-amf:develop
|
||||
docker image tag oaisoftwarealliance/oai-nrf:develop oai-nrf:develop
|
||||
docker image tag oaisoftwarealliance/oai-smf:develop oai-smf:develop
|
||||
docker image tag oaisoftwarealliance/oai-udr:develop oai-udr:develop
|
||||
docker image tag oaisoftwarealliance/oai-udm:develop oai-udm:develop
|
||||
docker image tag oaisoftwarealliance/oai-ausf:develop oai-ausf:develop
|
||||
docker image tag oaisoftwarealliance/oai-upf-vpp:develop oai-upf-vpp:develop
|
||||
docker image tag oaisoftwarealliance/oai-spgwu-tiny:develop oai-spgwu-tiny:develop
|
||||
docker image tag oaisoftwarealliance/oai-nssf:develop oai-nssf:develop
|
||||
```
|
||||
|
||||
## 2.3 OAI CN5G Configuration files
|
||||
Download and copy the configuration files to ~/oai-cn5g-fed/docker-compose:
|
||||
- [docker-compose-basic-nrf.yaml](tutorial_resources/docker-compose-basic-nrf.yaml)
|
||||
- [oai_db.sql](tutorial_resources/oai_db.sql)
|
||||
|
||||
Change permissions on oai_db.sql to prevent mysql permission denied error:
|
||||
```bash
|
||||
chmod 644 ~/oai-cn5g-fed/docker-compose/oai_db.sql
|
||||
```
|
||||
|
||||
## 2.4 SIM Card
|
||||
Program SIM Card with [Open Cells Project](https://open-cells.com/) application [uicc-v2.6](https://open-cells.com/d5138782a8739209ec5760865b1e53b0/uicc-v2.6.tgz).
|
||||
|
||||
```bash
|
||||
sudo ./program_uicc --adm 12345678 --imsi 208990000000001 --isdn 00000001 --acc 0001 --key fec86ba6eb707ed08905757b1bb44b8f --opc C42449363BBAD02B66D16BC975D77CC1 -spn "OpenAirInterface" --authenticate
|
||||
```
|
||||
|
||||
|
||||
# 3. OAI gNB
|
||||
|
||||
## 3.1 OAI gNB pre-requisites
|
||||
|
||||
### Build UHD from source
|
||||
```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
|
||||
|
||||
git clone https://github.com/EttusResearch/uhd.git ~/uhd
|
||||
cd ~/uhd
|
||||
git checkout v4.0.0.0
|
||||
cd host
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ../
|
||||
make -j 4
|
||||
make test # This step is optional
|
||||
sudo make install
|
||||
sudo ldconfig
|
||||
sudo uhd_images_downloader
|
||||
```
|
||||
|
||||
## 3.2 Build OAI gNB
|
||||
|
||||
```bash
|
||||
# Get openairinterface5g source code
|
||||
git clone https://gitlab.eurecom.fr/oai/openairinterface5g.git ~/openairinterface5g
|
||||
cd ~/openairinterface5g
|
||||
git checkout develop
|
||||
|
||||
# Install dependencies in Ubuntu 20.04
|
||||
cd ~/openairinterface5g
|
||||
source oaienv
|
||||
cd cmake_targets
|
||||
./build_oai -I
|
||||
|
||||
# Build OAI gNB
|
||||
cd ~/openairinterface5g
|
||||
source oaienv
|
||||
cd cmake_targets
|
||||
./build_oai -w USRP --nrUE --gNB --build-lib all -c
|
||||
```
|
||||
|
||||
## 3.3 N300 Ethernet Tuning
|
||||
|
||||
Please also refer to the official [USRP Host Performance Tuning Tips and Tricks](https://kb.ettus.com/USRP_Host_Performance_Tuning_Tips_and_Tricks) tuning guide.
|
||||
|
||||
The following steps are recommended. Please change the network interface(s) as required. Also, you should have 10Gbps interface(s): if you use two cables, you should have the XG interface. Refer to the [N300 Getting Started Guide](https://kb.ettus.com/USRP_N300/N310/N320/N321_Getting_Started_Guide) for more information.
|
||||
|
||||
* Use an MTU of 9000: how to change this depends on the network management tool. In the case of Network Manager, this can be done from the GUI.
|
||||
* Increase the kernel socket buffer (also done by the USRP driver in OAI):
|
||||
```
|
||||
sysctl -w net.core.rmem_max=8388608
|
||||
sysctl -w net.core.wmem_max=8388608
|
||||
sysctl -w net.core.rmem_default=65536
|
||||
sysctl -w net.core.wmem_default=65536
|
||||
```
|
||||
* Increase Ethernet Ring Buffers: `sudo ethtool -G <ifname> rx 4096 tx 4096`
|
||||
* Disable hyper-threading in the BIOS
|
||||
* Disable KPTI Protections for Spectre/Meltdown for more performance. **This is a security risk.** Add `mitigations=off nosmt` in your grub config and update grub.
|
||||
|
||||
# 4. Run OAI CN5G and OAI gNB with USRP N300
|
||||
|
||||
## 4.1 Run OAI CN5G
|
||||
|
||||
```bash
|
||||
cd ~/oai-cn5g-fed/docker-compose
|
||||
python3 core-network.py --type start-basic --fqdn yes --scenario 1
|
||||
```
|
||||
|
||||
## 4.2 Run OAI gNB
|
||||
|
||||
```bash
|
||||
cd ~/openairinterface5g
|
||||
source oaienv
|
||||
cd cmake_targets/ran_build/build
|
||||
sudo ./nr-softmodem -O ../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band78.fr1.162PRB.2x2.usrpn300.conf --sa --usrp-tx-thread-config 1
|
||||
```
|
||||
|
||||
|
||||
# 5. Testing with Quectel RM500Q
|
||||
|
||||
## 5.1 Setup Quectel
|
||||
With [PuTTY](https://the.earth.li/~sgtatham/putty/latest/w64/putty.exe), send the following AT commands to the module using a serial interface (ex: COM2) at 115200 bps:
|
||||
```bash
|
||||
# MUST be sent at least once everytime there is a firmware upgrade!
|
||||
AT+QMBNCFG="Select","ROW_Commercial"
|
||||
AT+QMBNCFG="AutoSel",0
|
||||
AT+CFUN=1,1
|
||||
AT+CGDCONT=1
|
||||
AT+CGDCONT=2
|
||||
AT+CGDCONT=3
|
||||
AT+CGDCONT=1,"IP","oai"
|
||||
|
||||
# (Optional, debug only, AT commands) Activate PDP context, retrieve IP address and test with ping
|
||||
AT+CGACT=1,1
|
||||
AT+CGPADDR=1
|
||||
AT+QPING=1,"openairinterface.org"
|
||||
```
|
||||
|
||||
## 5.2 Ping test
|
||||
- UE host
|
||||
```bash
|
||||
ping 192.168.70.135 -n 1000 -S 12.1.1.2
|
||||
```
|
||||
- CN5G host
|
||||
```bash
|
||||
docker exec -it oai-ext-dn ping 12.1.1.2
|
||||
```
|
||||
|
||||
## 5.3 Downlink iPerf test
|
||||
- UE host
|
||||
- Download iPerf for Microsoft Windows from [here](https://iperf.fr/download/windows/iperf-2.0.9-win64.zip).
|
||||
- Extract to Desktop and run with Command Prompt:
|
||||
```bash
|
||||
cd C:\Users\User\Desktop\iPerf\iperf-2.0.9-win64\iperf-2.0.9-win64
|
||||
iperf -s -u -i 1 -B 12.1.1.2
|
||||
```
|
||||
|
||||
- CN5G host
|
||||
```bash
|
||||
docker exec -it oai-ext-dn iperf -u -t 86400 -i 1 -fk -B 192.168.70.135 -b 200M -c 12.1.1.2
|
||||
```
|
||||
@@ -0,0 +1,316 @@
|
||||
version: '3.8'
|
||||
services:
|
||||
mysql:
|
||||
container_name: "mysql"
|
||||
image: mysql:5.7
|
||||
volumes:
|
||||
- ./oai_db.sql:/docker-entrypoint-initdb.d/oai_db.sql
|
||||
- ./mysql-healthcheck2.sh:/tmp/mysql-healthcheck.sh
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- MYSQL_DATABASE=oai_db
|
||||
- MYSQL_USER=test
|
||||
- MYSQL_PASSWORD=test
|
||||
- MYSQL_ROOT_PASSWORD=linux
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/tmp/mysql-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.131
|
||||
oai-udr:
|
||||
container_name: oai-udr
|
||||
image: oai-udr:develop
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- INSTANCE=0
|
||||
- PID_DIRECTORY=/var/run
|
||||
- UDR_INTERFACE_NAME_FOR_NUDR=eth0
|
||||
- UDR_INTERFACE_PORT_FOR_NUDR=80
|
||||
- UDR_INTERFACE_HTTP2_PORT_FOR_NUDR=8080
|
||||
- UDR_API_VERSION=v1
|
||||
- MYSQL_IPV4_ADDRESS=192.168.70.131
|
||||
- MYSQL_USER=test
|
||||
- MYSQL_PASS=test
|
||||
- MYSQL_DB=oai_db
|
||||
- WAIT_MYSQL=120
|
||||
depends_on:
|
||||
- mysql
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.136
|
||||
volumes:
|
||||
- ./udr-healthcheck.sh:/openair-udr/bin/udr-healthcheck.sh
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/openair-udr/bin/udr-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
oai-udm:
|
||||
container_name: oai-udm
|
||||
image: oai-udm:develop
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- INSTANCE=0
|
||||
- PID_DIRECTORY=/var/run
|
||||
- UDM_NAME=OAI_UDM
|
||||
- SBI_IF_NAME=eth0
|
||||
- SBI_PORT=80
|
||||
- UDM_VERSION_NB=v1
|
||||
- USE_FQDN_DNS=yes
|
||||
- UDR_IP_ADDRESS=192.168.70.136
|
||||
- UDR_PORT=80
|
||||
- UDR_VERSION_NB=v1
|
||||
- UDR_FQDN=oai-udr
|
||||
depends_on:
|
||||
- oai-udr
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.137
|
||||
volumes:
|
||||
- ./udm-healthcheck.sh:/openair-udm/bin/udm-healthcheck.sh
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/openair-udm/bin/udm-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
oai-ausf:
|
||||
container_name: oai-ausf
|
||||
image: oai-ausf:develop
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- INSTANCE_ID=0
|
||||
- PID_DIR=/var/run
|
||||
- AUSF_NAME=OAI_AUSF
|
||||
- SBI_IF_NAME=eth0
|
||||
- SBI_PORT=80
|
||||
- USE_FQDN_DNS=yes
|
||||
- UDM_IP_ADDRESS=192.168.70.137
|
||||
- UDM_PORT=80
|
||||
- UDM_VERSION_NB=v1
|
||||
- UDM_FQDN=oai-udm
|
||||
depends_on:
|
||||
- oai-udm
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.138
|
||||
volumes:
|
||||
- ./ausf-healthcheck.sh:/openair-ausf/bin/ausf-healthcheck.sh
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/openair-ausf/bin/ausf-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
oai-nrf:
|
||||
container_name: "oai-nrf"
|
||||
image: oai-nrf:develop
|
||||
environment:
|
||||
- NRF_INTERFACE_NAME_FOR_SBI=eth0
|
||||
- NRF_INTERFACE_PORT_FOR_SBI=80
|
||||
- NRF_INTERFACE_HTTP2_PORT_FOR_SBI=9090
|
||||
- NRF_API_VERSION=v1
|
||||
- INSTANCE=0
|
||||
- PID_DIRECTORY=/var/run
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.130
|
||||
volumes:
|
||||
- ./nrf-healthcheck.sh:/openair-nrf/bin/nrf-healthcheck.sh
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/openair-nrf/bin/nrf-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
oai-amf:
|
||||
container_name: "oai-amf"
|
||||
image: oai-amf:develop
|
||||
environment:
|
||||
- TZ=Europe/paris
|
||||
- INSTANCE=0
|
||||
- PID_DIRECTORY=/var/run
|
||||
- MCC=208
|
||||
- MNC=99
|
||||
- REGION_ID=128
|
||||
- AMF_SET_ID=1
|
||||
- SERVED_GUAMI_MCC_0=208
|
||||
- SERVED_GUAMI_MNC_0=99
|
||||
- SERVED_GUAMI_REGION_ID_0=128
|
||||
- SERVED_GUAMI_AMF_SET_ID_0=1
|
||||
- SERVED_GUAMI_MCC_1=460
|
||||
- SERVED_GUAMI_MNC_1=11
|
||||
- SERVED_GUAMI_REGION_ID_1=10
|
||||
- SERVED_GUAMI_AMF_SET_ID_1=1
|
||||
- PLMN_SUPPORT_MCC=208
|
||||
- PLMN_SUPPORT_MNC=99
|
||||
- PLMN_SUPPORT_TAC=0x0001
|
||||
- SST_0=1
|
||||
- SD_0=1
|
||||
- SST_1=1
|
||||
- SD_1=12
|
||||
- AMF_INTERFACE_NAME_FOR_NGAP=eth0
|
||||
- AMF_INTERFACE_NAME_FOR_N11=eth0
|
||||
- SMF_INSTANCE_ID_0=1
|
||||
- SMF_FQDN_0=oai-smf
|
||||
- SMF_IPV4_ADDR_0=192.168.70.133
|
||||
- SMF_HTTP_VERSION_0=v1
|
||||
- SELECTED_0=true
|
||||
- SMF_INSTANCE_ID_1=2
|
||||
- SMF_FQDN_1=oai-smf
|
||||
- SMF_IPV4_ADDR_1=0.0.0.0
|
||||
- SMF_HTTP_VERSION_1=v1
|
||||
- SELECTED_1=false
|
||||
- MYSQL_SERVER=192.168.70.131
|
||||
- MYSQL_USER=root
|
||||
- MYSQL_PASS=linux
|
||||
- MYSQL_DB=oai_db
|
||||
- OPERATOR_KEY=1006020f0a478bf6b699f15c062e42b3
|
||||
- NRF_IPV4_ADDRESS=192.168.70.130
|
||||
- NRF_PORT=80
|
||||
- NF_REGISTRATION=yes
|
||||
- SMF_SELECTION=yes
|
||||
- USE_FQDN_DNS=yes
|
||||
- EXTERNAL_AUSF=yes
|
||||
- NRF_API_VERSION=v1
|
||||
- NRF_FQDN=oai-nrf
|
||||
- AUSF_IPV4_ADDRESS=192.168.70.138
|
||||
- AUSF_PORT=80
|
||||
- AUSF_API_VERSION=v1
|
||||
- AUSF_FQDN=oai-ausf
|
||||
depends_on:
|
||||
- mysql
|
||||
- oai-nrf
|
||||
- oai-ausf
|
||||
volumes:
|
||||
- ./amf-healthcheck.sh:/openair-amf/bin/amf-healthcheck.sh
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/openair-amf/bin/amf-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 15s
|
||||
retries: 5
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.132
|
||||
oai-smf:
|
||||
container_name: "oai-smf"
|
||||
image: oai-smf:develop
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- INSTANCE=0
|
||||
- PID_DIRECTORY=/var/run
|
||||
- SMF_INTERFACE_NAME_FOR_N4=eth0
|
||||
- SMF_INTERFACE_NAME_FOR_SBI=eth0
|
||||
- SMF_INTERFACE_PORT_FOR_SBI=80
|
||||
- SMF_INTERFACE_HTTP2_PORT_FOR_SBI=9090
|
||||
- SMF_API_VERSION=v1
|
||||
- DEFAULT_DNS_IPV4_ADDRESS=8.8.8.8
|
||||
- DEFAULT_DNS_SEC_IPV4_ADDRESS=4.4.4.4
|
||||
- AMF_IPV4_ADDRESS=192.168.70.132
|
||||
- AMF_PORT=80
|
||||
- AMF_API_VERSION=v1
|
||||
- AMF_FQDN=oai-amf
|
||||
- UDM_IPV4_ADDRESS=192.168.70.137
|
||||
- UDM_PORT=80
|
||||
- UDM_API_VERSION=v1
|
||||
- UDM_FQDN=oai-udm
|
||||
- UPF_IPV4_ADDRESS=192.168.70.134
|
||||
- UPF_FQDN_0=oai-spgwu
|
||||
- NRF_IPV4_ADDRESS=192.168.70.130
|
||||
- NRF_PORT=80
|
||||
- NRF_API_VERSION=v1
|
||||
- USE_LOCAL_SUBSCRIPTION_INFO=yes
|
||||
- NRF_FQDN=oai-nrf
|
||||
- REGISTER_NRF=yes
|
||||
- DISCOVER_UPF=yes
|
||||
- USE_FQDN_DNS=yes
|
||||
- DNN_RANGE1=12.1.1.2 - 12.1.1.128
|
||||
- DNN_RANGE0=12.2.1.2 - 12.2.1.128
|
||||
- DNN_NI1=oai
|
||||
depends_on:
|
||||
- oai-nrf
|
||||
- oai-amf
|
||||
volumes:
|
||||
- ./smf-healthcheck.sh:/openair-smf/bin/smf-healthcheck.sh
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/openair-smf/bin/smf-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.133
|
||||
oai-spgwu:
|
||||
container_name: "oai-spgwu"
|
||||
image: oai-spgwu-tiny:develop
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- PID_DIRECTORY=/var/run
|
||||
- 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.1.0/24
|
||||
- SPGWC0_IP_ADDRESS=192.168.70.133
|
||||
- BYPASS_UL_PFCP_RULES=no
|
||||
- MCC=208
|
||||
- MNC=99
|
||||
- MNC03=099
|
||||
- TAC=1
|
||||
- GW_ID=1
|
||||
- REALM=openairinterface.org
|
||||
- ENABLE_5G_FEATURES=yes
|
||||
- REGISTER_NRF=yes
|
||||
- USE_FQDN_NRF=no
|
||||
- UPF_FQDN_5G=oai-spgwu
|
||||
- NRF_IPV4_ADDRESS=192.168.70.130
|
||||
- NRF_PORT=80
|
||||
- NRF_API_VERSION=v1
|
||||
- NRF_FQDN=oai-nrf
|
||||
- NSSAI_SST_0=1
|
||||
- NSSAI_SD_0=1
|
||||
- DNN_0=oai
|
||||
depends_on:
|
||||
- oai-nrf
|
||||
- oai-smf
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- SYS_ADMIN
|
||||
cap_drop:
|
||||
- ALL
|
||||
privileged: true
|
||||
volumes:
|
||||
- ./spgwu-healthcheck.sh:/openair-spgwu-tiny/bin/spgwu-healthcheck.sh
|
||||
healthcheck:
|
||||
test: /bin/bash -c "/openair-spgwu-tiny/bin/spgwu-healthcheck.sh"
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.134
|
||||
oai-ext-dn:
|
||||
image: ubuntu:bionic
|
||||
privileged: true
|
||||
container_name: oai-ext-dn
|
||||
entrypoint: /bin/bash -c \
|
||||
"apt update; apt install -y iptables iproute2 iperf iperf3 iputils-ping;"\
|
||||
"iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;"\
|
||||
"ip route add 12.1.1.0/24 via 192.168.70.134 dev eth0; sleep infinity"
|
||||
depends_on:
|
||||
- oai-spgwu
|
||||
networks:
|
||||
public_net:
|
||||
ipv4_address: 192.168.70.135
|
||||
networks:
|
||||
public_net:
|
||||
external:
|
||||
name: demo-oai-public-net
|
||||
# public_net:
|
||||
# driver: bridge
|
||||
# name: demo-oai-public-net
|
||||
# ipam:
|
||||
# config:
|
||||
# - subnet: 192.168.70.128/26
|
||||
# driver_opts:
|
||||
# com.docker.network.bridge.name: "demo-oai"
|
||||
@@ -0,0 +1,312 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.1.0
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: 172.16.200.10:3306
|
||||
-- Generation Time: Mar 22, 2021 at 10:31 AM
|
||||
-- Server version: 5.7.33
|
||||
-- PHP Version: 7.4.15
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
START TRANSACTION;
|
||||
SET time_zone = "+00:00";
|
||||
|
||||
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES utf8mb4 */;
|
||||
|
||||
--
|
||||
-- Database: `oai_db`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `AccessAndMobilitySubscriptionData`
|
||||
--
|
||||
|
||||
CREATE TABLE `AccessAndMobilitySubscriptionData` (
|
||||
`ueid` varchar(15) NOT NULL,
|
||||
`servingPlmnid` varchar(15) NOT NULL,
|
||||
`supportedFeatures` varchar(50) DEFAULT NULL,
|
||||
`gpsis` json DEFAULT NULL,
|
||||
`internalGroupIds` json DEFAULT NULL,
|
||||
`sharedVnGroupDataIds` json DEFAULT NULL,
|
||||
`subscribedUeAmbr` json DEFAULT NULL,
|
||||
`nssai` json DEFAULT NULL,
|
||||
`ratRestrictions` json DEFAULT NULL,
|
||||
`forbiddenAreas` json DEFAULT NULL,
|
||||
`serviceAreaRestriction` json DEFAULT NULL,
|
||||
`coreNetworkTypeRestrictions` json DEFAULT NULL,
|
||||
`rfspIndex` int(10) DEFAULT NULL,
|
||||
`subsRegTimer` int(10) DEFAULT NULL,
|
||||
`ueUsageType` int(10) DEFAULT NULL,
|
||||
`mpsPriority` tinyint(1) DEFAULT NULL,
|
||||
`mcsPriority` tinyint(1) DEFAULT NULL,
|
||||
`activeTime` int(10) DEFAULT NULL,
|
||||
`sorInfo` json DEFAULT NULL,
|
||||
`sorInfoExpectInd` tinyint(1) DEFAULT NULL,
|
||||
`sorafRetrieval` tinyint(1) DEFAULT NULL,
|
||||
`sorUpdateIndicatorList` json DEFAULT NULL,
|
||||
`upuInfo` json DEFAULT NULL,
|
||||
`micoAllowed` tinyint(1) DEFAULT NULL,
|
||||
`sharedAmDataIds` json DEFAULT NULL,
|
||||
`odbPacketServices` json DEFAULT NULL,
|
||||
`serviceGapTime` int(10) DEFAULT NULL,
|
||||
`mdtUserConsent` json DEFAULT NULL,
|
||||
`mdtConfiguration` json DEFAULT NULL,
|
||||
`traceData` json DEFAULT NULL,
|
||||
`cagData` json DEFAULT NULL,
|
||||
`stnSr` varchar(50) DEFAULT NULL,
|
||||
`cMsisdn` varchar(50) DEFAULT NULL,
|
||||
`nbIoTUePriority` int(10) DEFAULT NULL,
|
||||
`nssaiInclusionAllowed` tinyint(1) DEFAULT NULL,
|
||||
`rgWirelineCharacteristics` varchar(50) DEFAULT NULL,
|
||||
`ecRestrictionDataWb` json DEFAULT NULL,
|
||||
`ecRestrictionDataNb` tinyint(1) DEFAULT NULL,
|
||||
`expectedUeBehaviourList` json DEFAULT NULL,
|
||||
`primaryRatRestrictions` json DEFAULT NULL,
|
||||
`secondaryRatRestrictions` json DEFAULT NULL,
|
||||
`edrxParametersList` json DEFAULT NULL,
|
||||
`ptwParametersList` json DEFAULT NULL,
|
||||
`iabOperationAllowed` tinyint(1) DEFAULT NULL,
|
||||
`wirelineForbiddenAreas` json DEFAULT NULL,
|
||||
`wirelineServiceAreaRestriction` json DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `Amf3GppAccessRegistration`
|
||||
--
|
||||
|
||||
CREATE TABLE `Amf3GppAccessRegistration` (
|
||||
`ueid` varchar(15) NOT NULL,
|
||||
`amfInstanceId` varchar(50) NOT NULL,
|
||||
`supportedFeatures` varchar(50) DEFAULT NULL,
|
||||
`purgeFlag` tinyint(1) DEFAULT NULL,
|
||||
`pei` varchar(50) DEFAULT NULL,
|
||||
`imsVoPs` json DEFAULT NULL,
|
||||
`deregCallbackUri` varchar(50) NOT NULL,
|
||||
`amfServiceNameDereg` json DEFAULT NULL,
|
||||
`pcscfRestorationCallbackUri` varchar(50) DEFAULT NULL,
|
||||
`amfServiceNamePcscfRest` json DEFAULT NULL,
|
||||
`initialRegistrationInd` tinyint(1) DEFAULT NULL,
|
||||
`guami` json NOT NULL,
|
||||
`backupAmfInfo` json DEFAULT NULL,
|
||||
`drFlag` tinyint(1) DEFAULT NULL,
|
||||
`ratType` json NOT NULL,
|
||||
`urrpIndicator` tinyint(1) DEFAULT NULL,
|
||||
`amfEeSubscriptionId` varchar(50) DEFAULT NULL,
|
||||
`epsInterworkingInfo` json DEFAULT NULL,
|
||||
`ueSrvccCapability` tinyint(1) DEFAULT NULL,
|
||||
`registrationTime` varchar(50) DEFAULT NULL,
|
||||
`vgmlcAddress` json DEFAULT NULL,
|
||||
`contextInfo` json DEFAULT NULL,
|
||||
`noEeSubscriptionInd` tinyint(1) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `AuthenticationStatus`
|
||||
--
|
||||
|
||||
CREATE TABLE `AuthenticationStatus` (
|
||||
`ueid` varchar(20) NOT NULL,
|
||||
`nfInstanceId` varchar(50) NOT NULL,
|
||||
`success` tinyint(1) NOT NULL,
|
||||
`timeStamp` varchar(50) NOT NULL,
|
||||
`authType` varchar(25) NOT NULL,
|
||||
`servingNetworkName` varchar(50) NOT NULL,
|
||||
`authRemovalInd` tinyint(1) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `AuthenticationSubscription`
|
||||
--
|
||||
|
||||
CREATE TABLE `AuthenticationSubscription` (
|
||||
`ueid` varchar(20) NOT NULL,
|
||||
`authenticationMethod` varchar(25) NOT NULL,
|
||||
`encPermanentKey` varchar(50) DEFAULT NULL,
|
||||
`protectionParameterId` varchar(50) DEFAULT NULL,
|
||||
`sequenceNumber` json DEFAULT NULL,
|
||||
`authenticationManagementField` varchar(50) DEFAULT NULL,
|
||||
`algorithmId` varchar(50) DEFAULT NULL,
|
||||
`encOpcKey` varchar(50) DEFAULT NULL,
|
||||
`encTopcKey` varchar(50) DEFAULT NULL,
|
||||
`vectorGenerationInHss` tinyint(1) DEFAULT NULL,
|
||||
`n5gcAuthMethod` varchar(15) DEFAULT NULL,
|
||||
`rgAuthenticationInd` tinyint(1) DEFAULT NULL,
|
||||
`supi` varchar(20) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Dumping data for table `AuthenticationSubscription`
|
||||
--
|
||||
|
||||
INSERT INTO `AuthenticationSubscription` (`ueid`, `authenticationMethod`, `encPermanentKey`, `protectionParameterId`, `sequenceNumber`, `authenticationManagementField`, `algorithmId`, `encOpcKey`, `encTopcKey`, `vectorGenerationInHss`, `n5gcAuthMethod`, `rgAuthenticationInd`, `supi`) VALUES
|
||||
('208950000000031', '5G_AKA', '0C0A34601D4F07677303652C0462535B', '0C0A34601D4F07677303652C0462535B', '{\"sqn\": \"000000000020\", \"sqnScheme\": \"NON_TIME_BASED\", \"lastIndexes\": {\"ausf\": 0}}', '8000', 'milenage', '63bfa50ee6523365ff14c1f45f88737d', NULL, NULL, NULL, NULL, '208950000000031');
|
||||
|
||||
INSERT INTO `AuthenticationSubscription` (`ueid`, `authenticationMethod`, `encPermanentKey`, `protectionParameterId`, `sequenceNumber`, `authenticationManagementField`, `algorithmId`, `encOpcKey`, `encTopcKey`, `vectorGenerationInHss`, `n5gcAuthMethod`, `rgAuthenticationInd`, `supi`) VALUES
|
||||
('208990000000001', '5G_AKA', 'fec86ba6eb707ed08905757b1bb44b8f', 'fec86ba6eb707ed08905757b1bb44b8f', '{\"sqn\": \"000000000020\", \"sqnScheme\": \"NON_TIME_BASED\", \"lastIndexes\": {\"ausf\": 0}}', '8000', 'milenage', 'C42449363BBAD02B66D16BC975D77CC1', NULL, NULL, NULL, NULL, '208990000000001');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `SdmSubscriptions`
|
||||
--
|
||||
|
||||
CREATE TABLE `SdmSubscriptions` (
|
||||
`ueid` varchar(15) NOT NULL,
|
||||
`subsId` int(10) UNSIGNED NOT NULL,
|
||||
`nfInstanceId` varchar(50) NOT NULL,
|
||||
`implicitUnsubscribe` tinyint(1) DEFAULT NULL,
|
||||
`expires` varchar(50) DEFAULT NULL,
|
||||
`callbackReference` varchar(50) NOT NULL,
|
||||
`amfServiceName` json DEFAULT NULL,
|
||||
`monitoredResourceUris` json NOT NULL,
|
||||
`singleNssai` json DEFAULT NULL,
|
||||
`dnn` varchar(50) DEFAULT NULL,
|
||||
`subscriptionId` varchar(50) DEFAULT NULL,
|
||||
`plmnId` json DEFAULT NULL,
|
||||
`immediateReport` tinyint(1) DEFAULT NULL,
|
||||
`report` json DEFAULT NULL,
|
||||
`supportedFeatures` varchar(50) DEFAULT NULL,
|
||||
`contextInfo` json DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `SessionManagementSubscriptionData`
|
||||
--
|
||||
|
||||
CREATE TABLE `SessionManagementSubscriptionData` (
|
||||
`ueid` varchar(15) NOT NULL,
|
||||
`servingPlmnid` varchar(15) NOT NULL,
|
||||
`singleNssai` json NOT NULL,
|
||||
`dnnConfigurations` json DEFAULT NULL,
|
||||
`internalGroupIds` json DEFAULT NULL,
|
||||
`sharedVnGroupDataIds` json DEFAULT NULL,
|
||||
`sharedDnnConfigurationsId` varchar(50) DEFAULT NULL,
|
||||
`odbPacketServices` json DEFAULT NULL,
|
||||
`traceData` json DEFAULT NULL,
|
||||
`sharedTraceDataId` varchar(50) DEFAULT NULL,
|
||||
`expectedUeBehavioursList` json DEFAULT NULL,
|
||||
`suggestedPacketNumDlList` json DEFAULT NULL,
|
||||
`3gppChargingCharacteristics` varchar(50) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `SmfRegistrations`
|
||||
--
|
||||
|
||||
CREATE TABLE `SmfRegistrations` (
|
||||
`ueid` varchar(15) NOT NULL,
|
||||
`subpduSessionId` int(10) NOT NULL,
|
||||
`smfInstanceId` varchar(50) NOT NULL,
|
||||
`smfSetId` varchar(50) DEFAULT NULL,
|
||||
`supportedFeatures` varchar(50) DEFAULT NULL,
|
||||
`pduSessionId` int(10) NOT NULL,
|
||||
`singleNssai` json NOT NULL,
|
||||
`dnn` varchar(50) DEFAULT NULL,
|
||||
`emergencyServices` tinyint(1) DEFAULT NULL,
|
||||
`pcscfRestorationCallbackUri` varchar(50) DEFAULT NULL,
|
||||
`plmnId` json NOT NULL,
|
||||
`pgwFqdn` varchar(50) DEFAULT NULL,
|
||||
`epdgInd` tinyint(1) DEFAULT NULL,
|
||||
`deregCallbackUri` varchar(50) DEFAULT NULL,
|
||||
`registrationReason` json DEFAULT NULL,
|
||||
`registrationTime` varchar(50) DEFAULT NULL,
|
||||
`contextInfo` json DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `SmfSelectionSubscriptionData`
|
||||
--
|
||||
|
||||
CREATE TABLE `SmfSelectionSubscriptionData` (
|
||||
`ueid` varchar(15) NOT NULL,
|
||||
`servingPlmnid` varchar(15) NOT NULL,
|
||||
`supportedFeatures` varchar(50) DEFAULT NULL,
|
||||
`subscribedSnssaiInfos` json DEFAULT NULL,
|
||||
`sharedSnssaiInfosId` varchar(50) DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `AccessAndMobilitySubscriptionData`
|
||||
--
|
||||
ALTER TABLE `AccessAndMobilitySubscriptionData`
|
||||
ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE;
|
||||
|
||||
--
|
||||
-- Indexes for table `Amf3GppAccessRegistration`
|
||||
--
|
||||
ALTER TABLE `Amf3GppAccessRegistration`
|
||||
ADD PRIMARY KEY (`ueid`);
|
||||
|
||||
--
|
||||
-- Indexes for table `AuthenticationStatus`
|
||||
--
|
||||
ALTER TABLE `AuthenticationStatus`
|
||||
ADD PRIMARY KEY (`ueid`);
|
||||
|
||||
--
|
||||
-- Indexes for table `AuthenticationSubscription`
|
||||
--
|
||||
ALTER TABLE `AuthenticationSubscription`
|
||||
ADD PRIMARY KEY (`ueid`);
|
||||
|
||||
--
|
||||
-- Indexes for table `SdmSubscriptions`
|
||||
--
|
||||
ALTER TABLE `SdmSubscriptions`
|
||||
ADD PRIMARY KEY (`subsId`,`ueid`) USING BTREE;
|
||||
|
||||
--
|
||||
-- Indexes for table `SessionManagementSubscriptionData`
|
||||
--
|
||||
ALTER TABLE `SessionManagementSubscriptionData`
|
||||
ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE;
|
||||
|
||||
--
|
||||
-- Indexes for table `SmfRegistrations`
|
||||
--
|
||||
ALTER TABLE `SmfRegistrations`
|
||||
ADD PRIMARY KEY (`ueid`,`subpduSessionId`) USING BTREE;
|
||||
|
||||
--
|
||||
-- Indexes for table `SmfSelectionSubscriptionData`
|
||||
--
|
||||
ALTER TABLE `SmfSelectionSubscriptionData`
|
||||
ADD PRIMARY KEY (`ueid`,`servingPlmnid`) USING BTREE;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `SdmSubscriptions`
|
||||
--
|
||||
ALTER TABLE `SdmSubscriptions`
|
||||
MODIFY `subsId` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
|
||||
COMMIT;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||
|
||||
Reference in New Issue
Block a user