-
Raphael Defosseux authored
* chore(ci): removing obsolete files * chore(ci): proper clean-up on submodules * chore(doc): removing all dsTester references in tutorials * chore(ci): reverting back to debug log level on NF to investigate sporadic failures
Raphael Defosseux authored* chore(ci): removing obsolete files * chore(ci): proper clean-up on submodules * chore(doc): removing all dsTester references in tutorials * chore(ci): reverting back to debug log level on NF to investigate sporadic failures
![]() |
OpenAirInterface 5G Core Network Docker Deployment : Configure Containers |
Caution: We will remove this page in the next release, the configuration of network functions can be found on wiki
TABLE OF CONTENTS
1. Configure the containers
-
Core Network Configuration: The docker-compose-mini-nrf file has configuration parameters for all the core network components. The file is pre-configured with parameters related to an example scenario. The table contains the location of the configuration files. These files contain allowed configurable parameters. Keep checking this file up to date as it is possible that we will add new parameters for new features.
File Name Repository Location amf.conf (Gitlab) cn5g/oai-cn5g-amf etc/amf.conf smf.conf (Gitlab) cn5g/oai-cn5g-smf etc/smf.conf nrf.conf (Gitlab) cn5g/oai-cn5g-nrf etc/nrf.conf spgw_u.conf (Github) OPENAIRINTERFACE/openair-spgwu-tiny etc/spgw_u.conf udr.conf (Gitlab) cn5g/oai-cn5g-udr etc/udr.conf udm.conf (Gitlab) cn5g/oai-cn5g-udm etc/udm.conf ausf.conf (Gitlab) cn5g/oai-cn5g-ausf etc/ausf.conf -
The PLMN, TAC, Operator Key should be properly configured in amf.conf according to gNB and UE
-
In case of a COTS UE by default there are two PDN sessions so check the smf.conf to configure the right names for the IMS. Currently some parameters can not be configured via docker-compose.yaml. We recommend you directly configure them in the conf file and mount the file in the docker during runtime.
## Configure here DNN_LIST = ( # IPV4_POOL, IPV6_POOL are index in IPV4_LIST, IPV6_LIST, PDU_SESSION_TYPE choice in {IPv4, IPv6, IPv4v6} {DNN_NI = <name-1>; PDU_SESSION_TYPE = "IPv4"; IPV4_POOL = 0; IPV6_POOL = -1}, {DNN_NI = <name-2>; PDU_SESSION_TYPE = "IPv4"; IPV4_POOL = 1; IPV6_POOL = -1}, {DNN_NI = <name-3>; PDU_SESSION_TYPE = "IPv4"; IPV4_POOL = 2; IPV6_POOL = -1} ); ## Configure here LOCAL_CONFIGURATION : { SESSION_MANAGEMENT_SUBSCRIPTION_LIST = ( { NSSAI_SST = 222, NSSAI_SD = "123", DNN = "<name-1>", DEFAULT_SESSION_TYPE = "IPV4", DEFAULT_SSC_MODE = 1, QOS_PROFILE_5QI = 6, QOS_PROFILE_PRIORITY_LEVEL = 1, QOS_PROFILE_ARP_PRIORITY_LEVEL = 1, QOS_PROFILE_ARP_PREEMPTCAP = "NOT_PREEMPT", QOS_PROFILE_ARP_PREEMPTVULN = "NOT_PREEMPTABLE", SESSION_AMBR_UL = "20Mbps", SESSION_AMBR_DL = "22Mbps"}, { NSSAI_SST = 111; NSSAI_SD = "124", DNN = "<name-2>", DEFAULT_SESSION_TYPE = "IPV4", DEFAULT_SSC_MODE = 1, QOS_PROFILE_5QI = 7, QOS_PROFILE_PRIORITY_LEVEL = 1, QOS_PROFILE_ARP_PRIORITY_LEVEL = 1, QOS_PROFILE_ARP_PREEMPTCAP = "NOT_PREEMPT", QOS_PROFILE_ARP_PREEMPTVULN = "NOT_PREEMPTABLE", SESSION_AMBR_UL = "10Mbps", SESSION_AMBR_DL = "11Mbps"} ); };
-
In case NRF is not needed, then it can be disabled in amf.conf,smf.conf and spgw_u.conf.
#smf.conf REGISTER_NRF = "no"; # Set to yes if SMF resgisters to an NRF DISCOVER_UPF = "no"; # Set to yes to enable UPF discovery and selection #amf.conf NF_REGISTRATION = "no"; # Set to yes if AMF resgisters to an NRF SMF_SELECTION = "no"; # Set to yes to enable SMF discovery and selection #spgw_u.conf REGISTER_NRF = "no";
-
A new user subscription information should be present in the mysql database before trying to connect the UE . This can be done by adding the UE information in the oai_db.sql file
replace the values with your values INSERT INTO users VALUES (imsi,msisdn,imei,NULL,'PURGED',50,40000000,100000000,47,0000000000,1,key,0,0,0x40,'ebd07771ace8677a',opc);
-
Optional: In case the user subscription entry is missing from oai_db.sql file, then it can be added at runtime using the commands below,
#Login to mysql container once the container is running (docker-compose-host)$ docker exec -it mysql /bin/bash (mysql-container)$ mysql -uroot -plinux -D oai_db mysql> INSERT INTO users VALUES (imsi,msisdn,imei,NULL,'PURGED',50,40000000,100000000,47,0000000000,1,key,0,0,0x40,'ebd07771ace8677a',opc);
2. Deploy the containers
2.1. Mini Deployment
-
Container deployment has to follow a strict order if the
NRF
is used forAMF
,SMF
andUPF
registrationmysql --> oai-nrf --> oai-amf --> oai-smf --> oai-upf
-
If no nrf then
mysql --> oai-amf --> oai-smf --> oai-upf
2.2. Basic Deployment
-
Container deployment has to follow a strict order if the
NRF
is used forAUSF
,UDM
,UDR
,AMF
,SMF
andUPF
registrationmysql --> oai-nrf --> oai-udr --> oai-udm --> oai-ausf --> oai-amf --> oai-smf --> oai-upf
-
If no nrf then
mysql --> oai-udr --> oai-udm --> oai-ausf --> oai-amf --> oai-smf --> oai-upf
Please don't deploy yet!
- If you want to deploy a
minimalist
OAI 5GCN, checkout this minimalist-deployment tutorial. - If you want to deploy a
basic
OAI 5GCN, checkout this basic-deployment tutorial.