Commit 0df1282c authored by yangjian's avatar yangjian

Update configuration

parent b9307bdb
version: '3.3'
services:
openxg-5gc-1:
image: openxg5gc/openxg-5gc:latest
container_name: openxg-5gc-1
restart: always
privileged: true
stdin_open: true
tty: true
logging:
driver: "json-file"
options:
max-size: "100m"
networks:
openxg:
ipv4_address: 172.11.200.14
environment:
# AMF
- MCC=466
- MNC=92
- TAC=100
- AMF_MySQL_SERVER_ADDR=172.11.200.10
- AMF_MySQL_USERNAME=root
- AMF_MySQL_PASSWORD=123456
- AMF_MySQL_DATABASE=amfusers
# SMF
- SMF_DEFAULT_IPV4_RANGE=192.169.0.3 - 192.169.199.253
- SMF_IMS_IPV4_RANGE=192.169.200.2 - 192.169.255.253
- SMF_CTNET_IPV4_RANGE=192.169.0.3 - 192.169.199.253
- SMF_INTERNET_IPV4_RANGE=192.169.0.3 - 192.169.199.253
# UPF
- INTERFACE_NAME=eth0
- UPF_PDN_NETWORK_IPV4=192.169.0.0/16
openxg-5gc-2:
image: openxg5gc/openxg-5gc:latest
container_name: openxg-5gc-2
restart: always
privileged: true
stdin_open: true
tty: true
logging:
driver: "json-file"
options:
max-size: "100m"
networks:
openxg:
ipv4_address: 172.11.200.15
environment:
# AMF
- MCC=466
- MNC=91
- TAC=100
- AMF_MySQL_SERVER_ADDR=172.11.200.10
- AMF_MySQL_USERNAME=root
- AMF_MySQL_PASSWORD=123456
- AMF_MySQL_DATABASE=amfusers
# SMF
- SMF_DEFAULT_IPV4_RANGE=192.170.0.3 - 192.170.199.253
- SMF_IMS_IPV4_RANGE=192.170.200.2 - 192.170.255.253
- SMF_CTNET_IPV4_RANGE=192.170.0.3 - 192.170.199.253
- SMF_INTERNET_IPV4_RANGE=192.170.0.3 - 192.170.199.253
# UPF
- INTERFACE_NAME=eth0
- UPF_PDN_NETWORK_IPV4=192.170.0.0/16
openxg-5gc-3:
image: openxg5gc/openxg-5gc:latest
container_name: openxg-5gc-3
restart: always
privileged: true
stdin_open: true
tty: true
logging:
driver: "json-file"
options:
max-size: "100m"
networks:
openxg:
ipv4_address: 172.11.200.16
environment:
# AMF
- MCC=466
- MNC=93
- TAC=100
- AMF_MySQL_SERVER_ADDR=172.11.200.10
- AMF_MySQL_USERNAME=root
- AMF_MySQL_PASSWORD=123456
- AMF_MySQL_DATABASE=amfusers
# SMF
- SMF_DEFAULT_IPV4_RANGE=192.171.0.3 - 192.171.199.253
- SMF_IMS_IPV4_RANGE=192.171.200.2 - 192.171.255.253
- SMF_CTNET_IPV4_RANGE=192.171.0.3 - 192.171.199.253
- SMF_INTERNET_IPV4_RANGE=192.171.0.3 - 192.171.199.253
# UPF
- INTERFACE_NAME=eth0
- UPF_PDN_NETWORK_IPV4=192.171.0.0/16
openxg-5gc-4:
image: openxg5gc/openxg-5gc:latest
container_name: openxg-5gc-4
restart: always
privileged: true
stdin_open: true
tty: true
logging:
driver: "json-file"
options:
max-size: "100m"
networks:
openxg:
ipv4_address: 172.11.200.17
environment:
# AMF
- MCC=466
- MNC=94
- TAC=100
- AMF_MySQL_SERVER_ADDR=172.11.200.10
- AMF_MySQL_USERNAME=root
- AMF_MySQL_PASSWORD=123456
- AMF_MySQL_DATABASE=amfusers
# SMF
- SMF_DEFAULT_IPV4_RANGE=192.172.0.3 - 192.172.199.253
- SMF_IMS_IPV4_RANGE=192.172.200.2 - 192.172.255.253
- SMF_CTNET_IPV4_RANGE=192.172.0.3 - 192.172.199.253
- SMF_INTERNET_IPV4_RANGE=192.172.0.3 - 192.172.199.253
# UPF
- INTERFACE_NAME=eth0
- UPF_PDN_NETWORK_IPV4=192.172.0.0/16
networks:
openxg:
name: docker-openxg
external: true
version: '3.3'
services:
openxg-5gc:
image: openxg5gc/openxg-5gc:v1.5.0
container_name: openxg-5gc
openxg-5gc-1:
image: openxg5gc/openxg-5gc:latest
container_name: openxg-5gc-1
restart: always
privileged: true
stdin_open: true
tty: true
logging:
driver: "json-file"
options:
......@@ -12,15 +14,24 @@ services:
networks:
openxg:
ipv4_address: 172.11.200.14
#ports:
# - "38412:38412/sctp"
stdin_open: true
tty: true
command: /opt/5gcs/scripts/run_5gc.sh start
volumes:
- ../etc/amf.conf:/opt/5gcs/etc/amf.conf
- ../etc/smf.conf:/opt/5gcs/etc/smf.conf
environment:
# AMF
- MCC=466
- MNC=92
- TAC=100
- AMF_MySQL_SERVER_ADDR=172.11.200.10
- AMF_MySQL_USERNAME=root
- AMF_MySQL_PASSWORD=123456
- AMF_MySQL_DATABASE=amfusers
# SMF
- SMF_DEFAULT_IPV4_RANGE=192.169.0.3 - 192.169.199.253
- SMF_IMS_IPV4_RANGE=192.169.200.2 - 192.169.255.253
- SMF_CTNET_IPV4_RANGE=192.169.0.3 - 192.169.199.253
- SMF_INTERNET_IPV4_RANGE=192.169.0.3 - 192.169.199.253
# UPF
- INTERFACE_NAME=eth0
- UPF_PDN_NETWORK_IPV4=192.169.0.0/16
networks:
openxg:
name: docker-openxg
......
version: '3.3'
services:
ueransim-gnb:
image: openxg5gc/ueransim:latest
container_name: ueransim-gnb
restart: always
privileged: true
logging:
driver: "json-file"
options:
max-size: "100m"
networks:
openxg:
ipv4_address: 172.11.200.100
stdin_open: true
tty: true
command: ./nr-gnb -c gnb.yaml
volumes:
- ../etc/gnb.yaml:/UERANSIM/build/gnb.yaml
- ./lib/nr-gnb:/UERANSIM/build/nr-gnb
networks:
openxg:
name: docker-openxg
external: true
This diff is collapsed.
version: '3.3'
services:
ueransim-ue:
image: openxg5gc/ueransim:latest
container_name: ueransim-ue
restart: always
privileged: true
logging:
driver: "json-file"
options:
max-size: "100m"
networks:
openxg:
stdin_open: true
tty: true
#ports:
# - "8888:8888/tcp"
command: ./nr-ue -c ue.yaml
volumes:
- ../etc/ue.yaml:/UERANSIM/build/ue.yaml
- ./lib/nr-ue:/UERANSIM/build/nr-ue
networks:
openxg:
name: docker-openxg
external: true
version: '3.8'
services:
openxg-gnb-1:
container_name: "openxg-gnb-1"
image: openxg5gc/openxg-ueransim:v3.2.6
privileged: true
stdin_open: true
tty: true
logging:
driver: "json-file"
options:
max-size: "1m"
networks:
openxg:
ipv4_address: 172.11.200.100
command: /bin/bash -c "/ueransim/bin/nr-gnb -c /ueransim/etc/gnb.yaml"
volumes:
- ../template/entrypoint.py:/ueransim/etc/entrypoint.py
- ../template/gnb.template:/ueransim/etc/gnb.template
#- ./lib/nr-gnb:/UERANSIM/build/nr-gnb
environment:
- UERANSIM_TYPE=GNB # Which to use GNB/UE
- MCC=466
- MNC=92
- TAC=100
- GNB_IP=172.11.200.100
- AMF_IP=172.11.200.14
- NIC=0x000000010
- COREIP=127.0.0.1
- COREPORT=7777
- GNBTYPE=0 #TD:0;FD:1;地面:2;5G:3
- UPRESOURCEALLOCATION=78,10;32,8;40,2 #10个78M,8个32M
- DOWNRESOURCEALLOCATION=78,10;32,8;40,2 #10个78M,8个32M
- UPFREQUENCYMINIMUMRESOURCE=0 #频域最小资源
- UPTIMEPERIOD=0 #时域周期
- UPTIMEMINIMUMRESOURCE=0 #时域最小资源配置
- UPTOTALNUMBEROFLINES=0 #线路总数
- DOWNFREQUENCYMINIMUMRESOURCE=0
- DOWNTIMEPERIOD=0
- DOWNTIMEMINIMUMRESOURCE=0
- DOWNTOTALNUMBEROFLINES=0
- MODUALITIONMODE=1
- ENCONDINGMODE=1
- BROADCASTIP=127.0.0.1
- BROADCASTPORT=1111
openxg-ue-1-1:
container_name: "openxg-ue-1-1"
image: openxg5gc/openxg-ueransim:v3.2.6
privileged: true
stdin_open: true
tty: true
depends_on:
- openxg-gnb-1
logging:
driver: "json-file"
options:
max-size: "1m"
networks:
openxg:
ipv4_address: 172.11.200.101
command: /bin/bash -c "/ueransim/bin/nr-ue -c /ueransim/etc/ue.yaml"
volumes:
- ../template/ue.template:/ueransim/etc/ue.template
- ../template/entrypoint.py:/ueransim/etc/entrypoint.py
#- ./lib/nr-ue:/UERANSIM/build/nr-ue
environment:
- UERANSIM_TYPE=UE # Which to use GNB/UE
- MCC=466
- MNC=92
- TAC=100
- GNB_IP=172.11.200.100
- IMSI=466920000000001
- KEY=00112233445566778899aabbccddeeff
- OPC=000102030405060708090a0b0c0d0e0f
- AMF_VALUE=8000
- CONTROLPORT=9988
- CONTROLIP=127.0.0.1
networks:
openxg:
name: docker-openxg
external: true
################################################################################
# Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The OpenAirInterface Software Alliance licenses this file to You under
# the OAI Public License, Version 1.1 (the "License"); you may not use this file
# except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.openairinterface.org/?page_id=698
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
# For more information about the OpenAirInterface (OAI) Software Alliance:
# contact@openairinterface.org
################################################################################
AMF =
{
INSTANCE_ID = 4; # 0 is the default
PID_DIRECTORY = "/var/run"; # /var/run is the default
AMF_NAME = "amf";
RELATIVE_CAPACITY = 30;
# Display statistics about whole system (in seconds)
STATISTICS_TIMER_INTERVAL = 20;
CORE_CONFIGURATION:
{
EMERGENCY_SUPPORT = "false";
};
GUAMI:
{
MCC = "466"; MNC = "92"; RegionID = "128"; AMFSetID = "4"; AMFPointer = "1"
}
SERVED_GUAMI_LIST = (
{MCC = "466"; MNC = "92"; RegionID = "128"; AMFSetID = "4"; AMFPointer = "1"} #48bits <MCC><MNC><RegionID><AMFSetID><AMFPointer>
);
PLMN_SUPPORT_LIST = (
{
MCC = "466"; MNC = "92"; TAC = 100;
SLICE_SUPPORT_LIST = (
# {SST = "@SST_0@"; SD = "@SD_0@"},
# {SST = "@SST_1@"; SD = "@SD_1@"},
{SST = 1; SD = 0xFFFFFF}
)
}
);
INTERFACES:
{
# AMF binded interface for N1/N2 interface (NGAP)
NGAP_AMF:
{
INTERFACE_NAME = "eth0";
IPV4_ADDRESS = "read";
PORT = 38412;
PPID = 60;
};
# AMF binded interface for SBI (N11 (SMF)/N12 (AUSF), etc.)
SBI:
{
INTERFACE_NAME = "lo";
IPV4_ADDRESS = "127.0.0.5/24";
PORT = 8004;
API_VERSION = "v1";
HTTP2_PORT = 8404;
SMF_INSTANCES_POOL = (
{SMF_INSTANCE_ID = 5; IPV4_ADDRESS = "127.0.0.6"; PORT = "8005"; HTTP2_PORT = 8405, VERSION = "v1"; FQDN = "smf", SELECTED = "true"}
);
};
NRF :
{
IPV4_ADDRESS = "127.0.0.10";
PORT = 8010; # Default: 80
API_VERSION = "v1";
#FQDN = "localhost";
};
AUSF :
{
IPV4_ADDRESS = "127.0.0.4";
PORT = 8003; # Default: 80
API_VERSION = "v1";
#FQDN = "localhost";
};
UDM :
{
IPV4_ADDRESS = "127.0.0.3";
PORT = 8002; # Default: 80
API_VERSION = "v2";
#FQDN = "localhost";
};
# NSSF :
# {
# IPV4_ADDRESS = "";
# PORT = @NSSF_PORT@; # Default: 80
# API_VERSION = "@NSSF_API_VERSION@";
# FQDN = "@NSSF_FQDN@"
# };
};
SUPPORT_FEATURES:
{
# STRING, {"yes", "no"},
NF_REGISTRATION = "no"; # Set to yes if AMF resgisters to an NRF
NRF_SELECTION = "no"; # Set to yes to enable NRF discovery and selection
EXTERNAL_NRF = "no"; # Set to yes if AMF works with an external NRF
SMF_SELECTION = "no"; # Set to yes to enable SMF discovery and selection
EXTERNAL_AUSF = "no"; # Set to yes if AMF works with an external AUSF
EXTERNAL_UDM = "no"; # Set to yes if AMF works with an external UDM
EXTERNAL_NSSF = "no"; # Set to yes if AMF works with an external NSSF
USE_FQDN_DNS = "no"; # Set to yes if AMF relies on a DNS to resolve NRF/SMF/UDM/AUSF's FQDN
USE_HTTP2 = "no"; # Set to yes to enable HTTP2 for AMF server
}
AUTHENTICATION:
{
## MySQL mandatory options
MYSQL_server = "172.11.200.10"; # MySQL Server address
MYSQL_user = "root"; # Database server login
MYSQL_pass = "123456"; # Database server password
MYSQL_db = "amfusers"; # Your database name
RANDOM = "true";
};
NAS:
{
ORDERED_SUPPORTED_INTEGRITY_ALGORITHM_LIST = [ "NIA2" , "NIA1" , "NIA0" ]; #Default [ "NIA0" , "NIA1" , "NIA2" ];
ORDERED_SUPPORTED_CIPHERING_ALGORITHM_LIST = [ "NEA0" , "NEA1" , "NEA2" ]; #Default [ "NEA0" , "NEA1" , "NEA2" ];
};
};
MODULES =
{
NGAP_MESSAGE = (
{MSG_NAME = "NGSetupRequest"; ProcedureCode = 21; TypeOfMessage = "initialMessage"}
);
};
mcc: '466' # Mobile Country Code value
mnc: '92' # Mobile Network Code value (2 or 3 digits)
nci: '0x000000010' # NR Cell Identity (36-bit)
idLength: 32 # NR gNB ID length in bits [22...32]
tac: 100 # Tracking Area Code
linkIp: 172.11.200.100 # gNB's local IP address for Radio Link Simulation (Usually same with local IP)
ngapIp: 172.11.200.100 # gNB's local IP address for N2 Interface (Usually same with local IP)
gtpIp: 172.11.200.100 # gNB's local IP address for N3 Interface (Usually same with local IP)
# List of AMF address information
amfConfigs:
- address: 172.11.200.14
port: 38412
# List of supported S-NSSAIs by this gNB
slices:
- sst: 1
# Indicates whether or not SCTP stream number errors should be ignored.
ignoreStreamIds: true
################################################################################
# Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The OpenAirInterface Software Alliance licenses this file to You under
# the OAI Public License, Version 1.1 (the "License"); you may not use this file
# except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.openairinterface.org/?page_id=698
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
# For more information about the OpenAirInterface (OAI) Software Alliance:
# contact@openairinterface.org
################################################################################
SMF =
{
# FQDN = "oai-smf-svc";
INSTANCE = 5; # 0 is the default
PID_DIRECTORY = "/var/run"; # /var/run is the default
INTERFACES :
{
N4 :
{
# SMF binded interface for N4 communication (UPF)
INTERFACE_NAME = "lo"; # YOUR NETWORK CONFIG HERE
IPV4_ADDRESS = "127.0.0.100/24";
};
SBI :
{
# SMF binded interface for SBI interface (e.g., communication with AMF, UDM)
INTERFACE_NAME = "lo"; # YOUR NETWORK CONFIG HERE
IPV4_ADDRESS = "127.0.0.6/24";
PORT = 8005; # YOUR NETWORK CONFIG HERE (default: 80)
HTTP2_PORT = 8405; # YOUR NETWORK CONFIG HERE
API_VERSION = "v1"; # YOUR SMF API VERSION CONFIG HERE
};
};
# DNN configurations with pool of UE assigned IP addresses
# Do not make IP pools overlap
# first IPv4 address X.Y.Z.1 is reserved for GTP network device on UPF
DNN_LIST = (
# PDU_SESSION_TYPE choice in {IPv4, IPv6, IPv4v6}
# DNN IP ADDRESS RANGE format is for example: "12.2.1.2 - 12.2.1.128"
{DNN_NI = "default"; PDU_SESSION_TYPE = "IPv4"; IPV4_RANGE = "192.169.0.3 - 192.169.199.253"; IPV6_PREFIX = "2001:1:2::/64"},
{DNN_NI = "ims"; PDU_SESSION_TYPE = "IPv4v6"; IPV4_RANGE = "192.169.200.2 - 192.169.255.253"; IPV6_PREFIX = "3001:1:2::/64"},
{DNN_NI = "ctnet"; PDU_SESSION_TYPE = "IPv4v6"; IPV4_RANGE = "192.169.0.3 - 192.169.199.253"; IPV6_PREFIX = "4001:1:2::/64"},
{DNN_NI = "internet"; PDU_SESSION_TYPE = "IPv4"; IPV4_RANGE = "192.169.0.3 - 192.169.199.253"; IPV6_PREFIX = "5001:1:2::/64"}
);
# DNS address communicated to UEs
DEFAULT_DNS_IPV4_ADDRESS = "114.114.114.114"; # YOUR DNS CONFIG HERE
DEFAULT_DNS_SEC_IPV4_ADDRESS = "8.8.8.8"; # YOUR DNS CONFIG HERE
DEFAULT_DNS_IPV6_ADDRESS = "2001:4860:4860::8888"; # YOUR DNS CONFIG HERE
DEFAULT_DNS_SEC_IPV6_ADDRESS = "2001:4860:4860::8844"; # YOUR DNS CONFIG HERE
#Default P-CSCF server
DEFAULT_CSCF_IPV4_ADDRESS = "127.0.0.1";
DEFAULT_CSCF_IPV6_ADDRESS = "fe80::7915:f408:1787:db8b";
#Default UE MTU
UE_MTU = 1500;
# SUPPORT FEATURES
SUPPORT_FEATURES:
{
# STRING, {"yes", "no"},
REGISTER_NRF = "no"; # Set to yes if SMF resgisters to an NRF
DISCOVER_UPF = "no"; # Set to yes to enable UPF discovery and selection
DISCOVER_PCF = "no";
FORCE_PUSH_PROTOCOL_CONFIGURATION_OPTIONS = "no"; # Non standard feature, normally should be set to "no",
# but you may need to set to yes for UE that do not explicitly request a PDN address through NAS signalling
USE_LOCAL_SUBSCRIPTION_INFO = "yes"; # Set to yes if SMF uses local subscription information instead of from an UDMa
USE_LOCAL_PCC_RULES = "yes";
USE_FQDN_DNS = "no"; # Set to yes if AMF/UDM/NRF/UPF will relying on a DNS to resolve FQDN
HTTP_VERSION = 1; # Default: 1
USE_NETWORK_INSTANCE = "no"; # Set yes if network instance is to be used for given UPF
ENABLE_USAGE_REPORTING = "no"; # Set yes if UE USAGE REPORTING is to be done at UPF
}
AMF :
{
IPV4_ADDRESS = "127.0.0.5"; # YOUR AMF CONFIG HERE
PORT = 8004; # YOUR AMF CONFIG HERE (default: 80)
API_VERSION = "v1"; # YOUR AMF API VERSION FOR SBI CONFIG HERE
# FQDN = "@AMF_FQDN@" # YOUR AMF FQDN CONFIG HERE
};
UDM :
{
IPV4_ADDRESS = "127.0.0.3"; # YOUR UDM CONFIG HERE
PORT = 8002; # YOUR UDM CONFIG HERE (default: 80)
API_VERSION = "v2"; # YOUR UDM API VERSION FOR SBI CONFIG HERE
# FQDN = "@UDM_FQDN@" # YOUR UDM FQDN CONFIG HERE
};
# NRF :
# {
# IPV4_ADDRESS = "@NRF_IPV4_ADDRESS@"; # YOUR NRF CONFIG HERE
# PORT = @NRF_PORT@; # YOUR NRF CONFIG HERE (default: 80)
# API_VERSION = "@NRF_API_VERSION@"; # YOUR NRF API VERSION FOR SBI CONFIG HERE
# FQDN = "@NRF_FQDN@" # YOUR NRF FQDN CONFIG HERE
# };
# PCF :
# {
# IPV4_ADDRESS = "127.0.0.20"; # YOUR UDM CONFIG HERE
# PORT = 8020; # YOUR UDM CONFIG HERE (default: 80)
# API_VERSION = "v2"; # YOUR UDM API VERSION FOR SBI CONFIG HERE
## FQDN = "@UDM_FQDN@" # YOUR UDM FQDN CONFIG HERE
# };
UPF_LIST = (
{
IPV4_ADDRESS = "127.0.0.1" ;
# FQDN = "localhost";
# NWI_LIST = ({DOMAIN_ACCESS = "@DOMAIN_ACCESS@", DOMAIN_CORE = "@DOMAIN_CORE@"})
} # YOUR UPF CONFIG HERE
); # NWI_LIST IS OPTIONAL PARAMETER
LOCAL_CONFIGURATION :
{
SESSION_MANAGEMENT_SUBSCRIPTION_LIST = (
{ NSSAI_SST = 1, NSSAI_SD = 0xFFFFFF, DNN = "default", DEFAULT_SESSION_TYPE = "IPv4", DEFAULT_SSC_MODE = 1,
QOS_PROFILE_5QI = 9, 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 = "1000Mbps", SESSION_AMBR_DL = "1000Mbps"},
{ NSSAI_SST = 1; NSSAI_SD = 0xFFFFFF, DNN = "ims", DEFAULT_SESSION_TYPE = "IPv4v6", DEFAULT_SSC_MODE = 1,
QOS_PROFILE_5QI = 5, 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 = "100Mbps", SESSION_AMBR_DL = "100Mbps"},
{ NSSAI_SST = 1; NSSAI_SD = 0xFFFFFF, DNN = "ctnet", DEFAULT_SESSION_TYPE = "IPv4v6", DEFAULT_SSC_MODE = 1,
QOS_PROFILE_5QI = 9, 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 = "1000Mbps", SESSION_AMBR_DL = "1000Mbps"},
{ NSSAI_SST = 1; NSSAI_SD = 0xFFFFFF, DNN = "internet", DEFAULT_SESSION_TYPE = "IPv4", DEFAULT_SSC_MODE = 1,
QOS_PROFILE_5QI = 9, 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 = "1000Mbps", SESSION_AMBR_DL = "1000Mbps"}
);
};
};
################################################################################
# Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The OpenAirInterface Software Alliance licenses this file to You under
# the OAI Public License, Version 1.1 (the "License"); you may not use this file
# except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.openairinterface.org/?page_id=698
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
# For more information about the OpenAirInterface (OAI) Software Alliance:
# contact@openairinterface.org
################################################################################
SPGW-U =
{
#FQDN = "upf"; # FQDN for 4G
INSTANCE = 6; # 0 is the default
PID_DIRECTORY = "/var/run"; # /var/run is the default
#ITTI_TASKS :
#{
#ITTI_TIMER_SCHED_PARAMS :
#{
#CPU_ID = 1;
#SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
#SCHED_PRIORITY = 85;
#};
#S1U_SCHED_PARAMS :
#{
#CPU_ID = 1;
#SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
#SCHED_PRIORITY = 84;
#};
#SX_SCHED_PARAMS :
#{
#CPU_ID = 1;
#SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
#SCHED_PRIORITY = 84;
#};
#ASYNC_CMD_SCHED_PARAMS :
#{
#CPU_ID = 1;
#SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
#SCHED_PRIORITY = 84;
#};
#};
INTERFACES :
{
S1U_S12_S4_UP :
{
# S-GW binded interface for S1-U communication (GTPV1-U) can be ethernet interface, virtual ethernet interface, we don't advise wireless interfaces
INTERFACE_NAME = "eth0"; # STRING, interface name, YOUR NETWORK CONFIG HERE
IPV4_ADDRESS = "read"; # STRING, CIDR or "read to let app read interface configured IP address
#PORT = 2152; # Default is 2152
SCHED_PARAMS :
{
#CPU_ID = 2;
SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
SCHED_PRIORITY = 80;
POOL_SIZE = 8; # NUM THREADS
};
};
SX :
{
# S/P-GW binded interface for SX communication
INTERFACE_NAME = "lo"; # STRING, interface name
IPV4_ADDRESS = "127.0.0.101/24"; # STRING, CIDR or "read" to let app read interface configured IP address
#PORT = 8805; # Default is 8805
SCHED_PARAMS :
{
#CPU_ID = 1;
SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
SCHED_PRIORITY = 81;
POOL_SIZE = 1; # NUM THREADS
};
};
SGI :
{
# No config to set, the software will set the SGi interface to the interface used for the default route.
INTERFACE_NAME = "eth0"; # STRING, interface name or "default_gateway"
IPV4_ADDRESS = "read"; # STRING, CIDR or "read" to let app read interface configured IP address
SCHED_PARAMS :
{
#CPU_ID = 3;
SCHED_POLICY = "SCHED_FIFO"; # Values in { SCHED_OTHER, SCHED_IDLE, SCHED_BATCH, SCHED_FIFO, SCHED_RR }
SCHED_PRIORITY = 80;
POOL_SIZE = 8; # NUM THREADS
};
};
#HTTP_SERVER:
#{
# INTERFACE_NAME = "ens32";
# IPV4_ADDRESS = "read";
# PORT = 5000;
#};
};
SNAT = "yes"; # SNAT Values in {yes, no}
PDN_NETWORK_LIST = (
{NETWORK_IPV4 = "192.169.0.0/16";} # 1 ITEM SUPPORTED ONLY
);
SPGW-C_LIST = (
{IPV4_ADDRESS="127.0.0.100" ;}
);
NON_STANDART_FEATURES :
{
BYPASS_UL_PFCP_RULES = "no"; # 'no' for standard features, yes for enhancing UL throughput
};
SUPPORT_5G_FEATURES:
{
# STRING, {"yes", "no"},
ENABLE_5G_FEATURES = "yes" # Set to 'yes' to support 5G Features
REGISTER_NRF = "no"; # Set to 'yes' if UPF resgisters to an NRF
USE_FQDN_NRF = "no"; # Set to 'yes' if UPF relies on a DNS/FQDN service to resolve NRF's FQDN
UPF_FQDN_5G = "no"; # Set FQDN of UPF
NRF :
{
IPV4_ADDRESS = "127.0.0.1"; # YOUR NRF CONFIG HERE
PORT = 8030; # YOUR NRF CONFIG HERE (default: 80)
HTTP_VERSION = 1; #Set HTTP version for NRF (1 or 2)Default 1
API_VERSION = "v1"; # YOUR NRF API VERSION HERE
#FQDN = "@NRF_FQDN@";
};
# Additional info to be sent to NRF for supporting Network Slicing
UPF_INFO = (
{ NSSAI_SST = 1; NSSAI_SD = "0"; DNN_LIST = ({DNN = "default";}); },
{ NSSAI_SST = 1; NSSAI_SD = "0"; DNN_LIST = ({DNN = "ims";}); },
{ NSSAI_SST = 1; NSSAI_SD = "0"; DNN_LIST = ({DNN = "ctnet";}); },
{ NSSAI_SST = 1; NSSAI_SD = "0"; DNN_LIST = ({DNN = "internet";}); }
);
}
};
#!/usr/bin/env python3
from jinja2 import Environment, FileSystemLoader
import socket
import os
import sys
CONFIG_FILE = str(os.getenv('CONFIG_FILE','/ueransim/etc/'))
def resolve(hostname):
try:
return socket.gethostbyname(hostname)
except socket.error:
print(f"Not able to resolve {hostname}")
def render(filepath,funcs,values):
env = Environment(loader=FileSystemLoader(os.path.dirname(filepath)))
jinja_template = env.get_template(os.path.basename(filepath))
jinja_template.globals.update(funcs)
template_string = jinja_template.render(env=values)
return template_string
env_variables = dict()
#list of all the environment variables
for name, value in os.environ.items():
env_variables.update({name:value})
if env_variables.get('UERANSIM_TYPE'):
if env_variables['UERANSIM_TYPE'] == 'GNB':
output = render(CONFIG_FILE + 'gnb.template',{"resolve":resolve},env_variables)
with open(CONFIG_FILE + 'gnb.yaml', "w") as fh:
fh.write(output)
print(f"Configuration file {CONFIG_FILE}gnb.yaml is ready")
elif env_variables['UERANSIM_TYPE'] == 'UE':
output = render(CONFIG_FILE + 'ue.template',{"resolve":resolve},env_variables)
with open(CONFIG_FILE + 'ue.yaml', "w") as fh:
fh.write(output)
print(f"Configuration file {CONFIG_FILE}ue.yaml is ready")
else :
print(f"Configuration file setup failed. (Unknown type: {env_variables['UERANSIM_TYPE']})")
else :
print(f"Configuration file setup failed. (not find env['UERANSIM_TYPE'])")
if len(sys.argv) == 1:
sys.exit(0)
#important for running the network function it works like exec $@
os.execvp(sys.argv[1], sys.argv[1:])
mcc: '{{ env["MCC"] }}' # Mobile Country Code value
mnc: '{{ env["MNC"] }}' # Mobile Network Code value (2 or 3 digits)
nci: '{{ env["NIC"] }}' # NR Cell Identity (36-bit)
idLength: 32 # NR gNB ID length in bits [22...32]
tac: {{ env["TAC"] }} # Tracking Area Code
linkIp: {{ env["GNB_IP"] }} # gNB's local IP address for Radio Link Simulation (Usually same with local IP)
ngapIp: {{ env["GNB_IP"] }} # gNB's local IP address for N2 Interface (Usually same with local IP)
gtpIp: {{ env["GNB_IP"] }} # gNB's local IP address for N3 Interface (Usually same with local IP)
coreIp: {{ env["COREIP"] }}
corePort: {{ env["COREPORT"] }}
gnbType: {{ env["GNBTYPE"] }}
upresourceAllocation : '{{ env["UPRESOURCEALLOCATION"] }}'
downresourceAllocation : '{{ env["DOWNRESOURCEALLOCATION"] }}'
upfrequencyMinimumResource : {{ env["UPFREQUENCYMINIMUMRESOURCE"] }}
uptimePeriod : {{ env["UPTIMEPERIOD"] }}
uptimeMinimumResource : {{ env["UPTIMEMINIMUMRESOURCE"] }}
uptotalNumberOfLines : {{ env["UPTOTALNUMBEROFLINES"] }}
downfrequencyMinimumResource : {{ env["DOWNFREQUENCYMINIMUMRESOURCE"] }}
downtimePeriod : {{ env["DOWNTIMEPERIOD"] }}
downtimeMinimumResource : {{ env["DOWNTIMEMINIMUMRESOURCE"] }}
downtotalNumberOfLines : {{ env["DOWNTOTALNUMBEROFLINES"] }}
ModualitionMode : {{ env["MODUALITIONMODE"] }}
EncondingMode : {{ env["ENCONDINGMODE"] }}
broadcastIp: {{ env["BROADCASTIP"] }}
broadcastPort: {{ env["BROADCASTPORT"] }}
# List of AMF address information
amfConfigs:
- address: {{ env["AMF_IP"] }}
port: 38412
# List of supported S-NSSAIs by this gNB
slices:
- sst: 1
# Indicates whether or not SCTP stream number errors should be ignored.
ignoreStreamIds: true
# IMSI number of the UE. IMSI = [MCC|MNC|MSISDN] (In total 15 digits)
supi: 'imsi-466920000000001'
supi: 'imsi-{{ env["IMSI"] }}'
# Mobile Country Code value of HPLMN
mcc: '466'
mcc: '{{ env["MCC"] }}'
# Mobile Network Code value of HPLMN (2 or 3 digits)
mnc: '92'
mnc: '{{ env["MNC"] }}'
# Permanent subscription key
key: '00112233445566778899aabbccddeeff'
key: '{{ env["KEY"] }}'
# Operator code (OP or OPC) of the UE
op: '000102030405060708090a0b0c0d0e0f'
op: '{{ env["OPC"] }}'
# This value specifies the OP type and it can be either 'OP' or 'OPC'
opType: 'OPC'
# Authentication Management Field (AMF) value
amf: '8000'
amf: '{{ env["AMF_VALUE"] }}'
# 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
......@@ -20,8 +20,10 @@ imeiSv: '4370816125816151'
# List of gNB IP addresses for Radio Link Simulation
gnbSearchList:
- 172.11.200.100
- {{ env["GNB_IP"] }}
controlPort: {{ env["CONTROLPORT"] }}
controlIp:
- {{ env["CONTROLIP"] }}
# UAC Access Identities Configuration
uacAic:
mps: false
......@@ -42,17 +44,14 @@ sessions:
apn: 'internet'
slice:
sst: 1
sd: 0
# Configured NSSAI for this UE by HPLMN
configured-nssai:
- sst: 1
sd: 0
# Default Configured NSSAI for this UE
default-nssai:
- sst: 1
sd: 0
# Supported integrity algorithms by this UE
integrity:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment