diff --git a/demo/free5gc_setup/create_physical_bridge.sh b/demo/free5gc_setup/create_physical_bridge.sh new file mode 100755 index 0000000..ebb9d59 --- /dev/null +++ b/demo/free5gc_setup/create_physical_bridge.sh @@ -0,0 +1,5 @@ +docker network create \ + --driver bridge \ + --subnet=192.168.73.128/26 \ + --opt com.docker.network.bridge.name="ros_gz_net" \ + ros_gz_net \ No newline at end of file diff --git a/demo/free5gc_setup/docker-compose-gNB.yml b/demo/free5gc_setup/docker-compose-gNB.yml new file mode 100644 index 0000000..d0c061c --- /dev/null +++ b/demo/free5gc_setup/docker-compose-gNB.yml @@ -0,0 +1,43 @@ +services: + gNB: + image: oaisoftwarealliance/oai-gnb:2026.w04 + privileged: true + container_name : oai-gNB1 + environment: + USE_ADDITIONAL_OPTIONS: -E --rfsim --log_config.global_log_options level,nocolor,time + ASAN_OPTIONS: detect_leaks=0 + ports: + - 2021:2021 + cap_add: + - SYS_NICE + cap_drop: + - ALL + volumes: + - ./oai/gNB_config.yaml:/opt/oai-gnb/etc/gnb.yaml + healthcheck: + test: /bin/bash -c "pgrep nr-softmodem" + interval: 10s + timeout: 5s + retries: 5 + networks: + public_net: + ipv4_address : 192.168.70.160 + n3_net: + ipv4_address : 192.168.71.160 + entrypoint: + - /bin/bash + - -c + - | + /opt/oai-gnb/bin/nr-softmodem -O /opt/oai-gnb/etc/gnb.yaml -E --rfsim --log_config.global_log_options level,nocolor,time & + tail -f /dev/null + +networks: + public_net: + external: true + name : phine-net + n3_net: + external: true + name : demo-oai-n3-net + ros_gz_net: + external: + name : ros_gz_net diff --git a/demo/free5gc_setup/docker-compose-ue.yml b/demo/free5gc_setup/docker-compose-ue.yml new file mode 100644 index 0000000..eb44bde --- /dev/null +++ b/demo/free5gc_setup/docker-compose-ue.yml @@ -0,0 +1,103 @@ +services: + robot_1: + image: ue_amr + privileged: true + container_name: ${NAME_ROBOT_1} + environment: + USE_ADDITIONAL_OPTIONS: -E --sa --rfsim -r 106 --numerology 1 -C 361-90°9200000 --rfsimulator.serveraddr ${IP_GNB} --log_config.global_log_options level,nocolor,time + ROS_DOMAIN_ID: ${ROS_DOMAIN_ID} + IGN_PARTITION: ${IGN_PARTITION} + networks: + public_net: + ipv4_address: ${IP_ROBOT_1} + ros_gz_net: + ipv4_address: 192.168.73.150 + volumes: + - ./oai/UE_config.yaml:/opt/oai-nr-ue/etc/nr-ue.yaml + entrypoint: + - /bin/bash + - -c + - | + source /opt/ros/humble/setup.bash + source /app/gigabot_xRCC/install/setup.bash + export ROS_DISCOVERY_SERVER="192.168.70.159:11811" + export IGN_IP=192.168.73.150 + export FASTRTPS_DEFAULT_PROFILES_FILE=/app/dds.xml + /opt/oai-nr-ue/bin/nr-uesoftmodem -O /opt/oai-nr-ue/etc/nr-ue.yaml -E --rfsim -r 106 --numerology 1 -C 3319680000 --rfsimulator.serveraddr 192.168.70.160 & + sleep 5 + ros2 launch dmgmori_pkg test.launch.py & + sleep 20 + { + export FASTRTPS_DEFAULT_PROFILES_FILE=/app/dds_2d_camera.xml + ros2 run image_transport republish raw compressed --ros-args --remap in:=/camera_2d --remap out/compressed:=/camera_2d/compressed + } & + sleep 1 + { + export FASTRTPS_DEFAULT_PROFILES_FILE=/app/dds_depth_camera.xml + ros2 run image_transport republish raw compressed --ros-args --remap in:=/depth_camera_rgb --remap out/compressed:=/camera_depth/compressed + }& + tail -f /dev/null + healthcheck: + test: /bin/bash -c "pgrep nr-uesoftmodem" + interval: 10s + timeout: 5s + retries: 5 + + rcc: + image: rcc + privileged: true + container_name: rcc + environment: + - DISPLAY=${DISPLAY} + - QT_X11_NO_MITSHM=1 + - ROS_DOMAIN_ID=${ROS_DOMAIN_ID} + volumes: + - /tmp/.X11-unix:/tmp/.X11-unix:rw + stdin_open: true + tty: true + networks: + public_net: + ipv4_address: 192.168.70.151 + entrypoint: + - /bin/bash + - -c + - | + source /opt/ros/humble/setup.bash + source /app/rviz_rcc/install/setup.bash + export ROS_DISCOVERY_SERVER="192.168.70.159:11811" + ip route add 10.60.0.0/16 via 192.168.70.135 dev eth0 + sleep 10 + ros2 launch rviz_launch rviz_launch.launch.py & + tail -f /dev/null + + + dds_discovery_server: + image: dds_discovery_server + privileged: true + environment: + ROS_DOMAIN_ID: ${ROS_DOMAIN_ID} + container_name: discovery-server + networks: + public_net: + ipv4_address: 192.168.70.159 + ports: + - "11811:11811" + entrypoint: + - /bin/bash + - -c + - | + ip route add 10.60.0.0/24 via 192.168.70.135 dev eth0 + source /opt/ros/humble/setup.bash + fastdds discovery -i 0 -l 192.168.70.159 -p 11811 + + +networks: + public_net: + external: true + name : phine-net + n6_net: + external: true + name: demo-oai-n6-net + ros_gz_net: + external: + name: ros_gz_net diff --git a/demo/free5gc_setup/docker-compose.yml b/demo/free5gc_setup/docker-compose.yml new file mode 100644 index 0000000..7e88dbe --- /dev/null +++ b/demo/free5gc_setup/docker-compose.yml @@ -0,0 +1,309 @@ +services: + oai-upf: + container_name: "upf" + image: phinetech/oai-upf:f5gc-patch + expose: + - 2152/udp + - 8805/udp + - 8080/tcp + volumes: + - ./oai/oai_upf_config.yaml:/openair-upf/etc/config.yaml + - /sys/fs/bpf:/sys/fs/bpf + - /sys/kernel/debug:/sys/kernel/debug:rw + environment: + - TZ=Europe/Paris + depends_on: + - free5gc-nrf + cap_add: + - NET_ADMIN + - SYS_ADMIN + cap_drop: + - ALL + privileged: true + network_mode: host + extra_hosts: + - "oai-ext-dn:192.168.72.135" + - "oai-nrf:192.168.70.130" + + db: + container_name: mongodb + image: mongo:4.4 + command: mongod --port 27017 + expose: + - "27017" + volumes: + - ./free5gc/dump:/data/dump + - ./free5gc/mongorestore.sh:/docker-entrypoint-initdb.d/mongorestore.sh + networks: + public_net: + ipv4_address: 192.168.70.131 + aliases: + - db + + free5gc-nrf: + container_name: nrf + image: free5gc/nrf:v4.1.0 + command: ./nrf -c ./config/nrfcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/nrfcfg.yaml:/free5gc/config/nrfcfg.yaml + environment: + DB_URI: mongodb://db/free5gc + GIN_MODE: release + networks: + public_net: + aliases: + - nrf.free5gc.org + ipv4_address: 192.168.70.130 + depends_on: + - db + + free5gc-amf: + container_name: amf + image: free5gc/amf:v4.1.0 + command: ./amf -c ./config/amfcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/amfcfg.yaml:/free5gc/config/amfcfg.yaml + environment: + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.132 + aliases: + - amf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-ausf: + container_name: ausf + image: free5gc/ausf:v4.1.0 + command: ./ausf -c ./config/ausfcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/ausfcfg.yaml:/free5gc/config/ausfcfg.yaml + environment: + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.138 + aliases: + - ausf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-nssf: + container_name: nssf + image: free5gc/nssf:v4.1.0 + command: ./nssf -c ./config/nssfcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/nssfcfg.yaml:/free5gc/config/nssfcfg.yaml + environment: + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.146 + aliases: + - nssf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-pcf: + container_name: pcf + image: free5gc/pcf:v4.1.0 + command: ./pcf -c ./config/pcfcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/pcfcfg.yaml:/free5gc/config/pcfcfg.yaml + environment: + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.139 + aliases: + - pcf.free5gc.org + depends_on: + - free5gc-nrf + + free5gc-smf: + container_name: smf + image: free5gc/smf:v4.1.0 + command: ./smf -c ./config/smfcfg.yaml -u ./config/uerouting.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/smfcfg.yaml:/free5gc/config/smfcfg.yaml + - ./free5gc/config/uerouting.yaml:/free5gc/config/uerouting.yaml + environment: + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.133 + aliases: + - smf.free5gc.org + depends_on: + - free5gc-nrf + - oai-upf + + free5gc-udm: + container_name: udm + image: free5gc/udm:v4.1.0 + command: ./udm -c ./config/udmcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/udmcfg.yaml:/free5gc/config/udmcfg.yaml + environment: + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.137 + aliases: + - udm.free5gc.org + depends_on: + - db + - free5gc-nrf + + free5gc-udr: + container_name: udr + image: free5gc/udr:v4.1.0 + command: ./udr -c ./config/udrcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/udrcfg.yaml:/free5gc/config/udrcfg.yaml + environment: + DB_URI: mongodb://db/free5gc + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.136 + aliases: + - udr.free5gc.org + depends_on: + - db + - free5gc-nrf + + free5gc-chf: + container_name: chf + image: free5gc/chf:v4.1.0 + command: ./chf -c ./config/chfcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/chfcfg.yaml:/free5gc/config/chfcfg.yaml + - ./free5gc/cert:/free5gc/cert + environment: + DB_URI: mongodb://db/free5gc + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.154 + aliases: + - chf.free5gc.org + depends_on: + - db + - free5gc-nrf + - free5gc-webui + + free5gc-nef: + container_name: nef + image: free5gc/nef:v4.1.0 + command: ./nef -c ./config/nefcfg.yaml + expose: + - "8000" + volumes: + - ./free5gc/config/nefcfg.yaml:/free5gc/config/nefcfg.yaml + environment: + GIN_MODE: release + networks: + public_net: + ipv4_address: 192.168.70.142 + aliases: + - nef.free5gc.org + depends_on: + - db + - free5gc-nrf + + free5gc-webui: + # user: admin + # password: free5gc + container_name: webui + image: free5gc/webui:v4.1.0 + command: ./webui -c ./config/webuicfg.yaml + expose: + - "2121" + volumes: + - ./free5gc/config/webuicfg.yaml:/free5gc/config/webuicfg.yaml + environment: + - GIN_MODE=release + networks: + public_net: + ipv4_address: 192.168.70.161 + aliases: + - webui + ports: + - "5000:5000" + - "2122:2122" + - "2121:2121" + depends_on: + - db + - free5gc-nrf + + oai-ext-dn: + privileged: true + init: true + container_name: oai-ext-dn + image: oaisoftwarealliance/trf-gen-cn5g:latest + environment: + - EBPF_GW_SETUP=yes + - EBPF_GW_N6_IP_ADDR=192.168.72.135 + - GW_SGI_IP_ADDR=192.168.70.135 + - GW_N3_IP_ADDR=192.168.71.135 + - UE_IP_ADDRESS_POOL=10.60.0.0/24 + - N6_UPF_IP_ADDR=192.168.72.129 + - SGI_DEMO_OAI_ADDR=192.168.70.129 + healthcheck: + test: /bin/bash -c "ip r | grep 10.60.0" + interval: 10s + timeout: 5s + retries: 5 + networks: + public_net: + ipv4_address: 192.168.70.135 + n3_net: + ipv4_address: 192.168.71.135 + n6_net: + ipv4_address: 192.168.72.135 + +networks: + public_net: + driver: bridge + name: phine-net + ipam: + config: + - subnet: 192.168.70.128/26 + driver_opts: + com.docker.network.bridge.name: "phine-net" + n3_net: + driver: bridge + name: demo-oai-n3-net + ipam: + config: + - subnet: 192.168.71.128/26 + driver_opts: + com.docker.network.bridge.name: "demo-n3" + n6_net: + driver: bridge + name: demo-oai-n6-net + ipam: + config: + - subnet: 192.168.72.128/26 + driver_opts: + com.docker.network.bridge.name: "demo-n6" diff --git a/demo/free5gc_setup/free5gc/cert/chf.key b/demo/free5gc_setup/free5gc/cert/chf.key new file mode 100644 index 0000000..5728b62 --- /dev/null +++ b/demo/free5gc_setup/free5gc/cert/chf.key @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6iTvZu1HXW+vU +TrbTERb+WEuNk8GrrkYEEeJdnjPsA5bLGSN6gwJM9aWhiBHggwhtmpx6E6iIa65S +NFHughyPB6IF8rpMeYY9q9Wnbsjk7SuXxdtj0NOHC4KkZe9Xj/MiDhm0mirG6aXR +9gy3ay14mz+1b2LwmW97PD2+CX/fOHotEk32mnvYffNJvSL+TZrsbst0sfvcV6Pk +u8EziUlo1wMoKYHhss8PI1ucKCnZ2HNK9Kn8oJyXZiXY41lBQao3cSS+HDKASaEZ +N+1WLKgJ39hgkNui5IUK2cMHC/RiiCtSlTAPMhzQ3PoTSCaMFr6zUtZ+zY+BgrC4 +HQ93fr5TAgMBAAECggEBALiAQJiNdNekbdAiwyZlQu7z+lbgjLD4wPwJjHK4pfaN +XjsodDUbG81vMxJgef4s3Ms8IAWHKC03BMb+RQO54fF+xT1I5gf6M1MQgVUIeOAl +zfZilytVQ8PRGLjushtToFJQzBAcZK82LvNLgSxycBlYxVz5/UypFuE3poIu9zGb +AwYDBIk9Wdl0XPbv5pspMUIyzaUohZk4PtUTwdBa7DIYgOtbCpEJTlI8qnisegBj +oLQQdKX/VAskCSGcjpwJJU53AsZjp3TjcLn+GiiOLy8vwaIcJ1MlfzLKZJnVUqK4 +MCKS24xHVXFP8rYNgEHZ7+n2ERhJ+NAhBGnEXwHFlKECgYEA7weeV4cNaM/7vUvK +GMGyyeFpi7GpyiwWTwvMaE5F1A3nrNycAKPdZdsTCC16fKaXP+KUeo6LxA3xxJxZ +iSopfQjlSZJQAwr2z00WHpR8UihPDyuqU7/wYL5J1Sc8ClN8CJPD8Ce9CUGWujGA +g3a2+N5xHqDFUfCQ5+DdN8h+i8sCgYEAx8eJ/VKAKe+UeIAlTN9lDKnqWujJU5cR +PKgkrLz+aDdFKqoA+V7NfcHYx83oVBvodM0R3klQUmDO74fB6le4q3cmB+8+33u5 +x1eJyp+ApSE5ZKSOJ/giZPSbBWtA5revp/WZCwTSF0Lz/nFDnIvJ1+djWl7onkSM +4uMcI1PVVpkCgYBIe1XvkrtlOhRLLY1F/o6ZmynnO2OSM9Y7+Abu5jVUfTbweyEv +LIF5Xnoh87B91gJtU+bUVx9YvyW+Ce84oblc+fKVYbGzioKXD/gSI9KjEygOIJ6Q +sNZSb8FxymjxdKla7Hvw+gvfn6z2HwaqVrhbNRC2Segr1bgLKGvMe5asCwKBgQCK +gfhUjmdXK8h3BvlVY6iOcBuQLcavUpRbxoOu01Va8b7dhoIoYib8InJmjIagEb1H +hYn24EN06bNu9GNoUqsxDelrJN8lWIWEBFf/CDjLw84jzcbVRT6rWb9EsYiMrRt2 +ylrx/cSe5gd+CA8FMRGew8jpNdX3LLW09BplD9FgOQKBgG3kUcJJpf5EiQJuniSJ +sLJGAznDtS8m8E67bBK//5uHmWHNfFpjZLkB1Zr//AbjAqYqibxSGk5kUucNFZ9f +XYwUHSB8LvwYhZhzlRR9b5yiDMtZFWAZl3YCxyR8+kkcsG8U3jA/bqeL2Ke1lQrU +7WsjhKn3x8+McmXaZIb2Q4tQ +-----END PRIVATE KEY----- diff --git a/demo/free5gc_setup/free5gc/cert/chf.pem b/demo/free5gc_setup/free5gc/cert/chf.pem new file mode 100644 index 0000000..8333c58 --- /dev/null +++ b/demo/free5gc_setup/free5gc/cert/chf.pem @@ -0,0 +1,21 @@ +-----BEGIN CERTIFICATE----- +MIIDazCCAlOgAwIBAgIUeAP9uOZCMS0mlbnaNegzQcIwnNwwDQYJKoZIhvcNAQEL +BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM +GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMzA5MDgwNTEyNTZaFw0yMzEw +MDgwNTEyNTZaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw +HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB +AQUAA4IBDwAwggEKAoIBAQC6iTvZu1HXW+vUTrbTERb+WEuNk8GrrkYEEeJdnjPs +A5bLGSN6gwJM9aWhiBHggwhtmpx6E6iIa65SNFHughyPB6IF8rpMeYY9q9Wnbsjk +7SuXxdtj0NOHC4KkZe9Xj/MiDhm0mirG6aXR9gy3ay14mz+1b2LwmW97PD2+CX/f +OHotEk32mnvYffNJvSL+TZrsbst0sfvcV6Pku8EziUlo1wMoKYHhss8PI1ucKCnZ +2HNK9Kn8oJyXZiXY41lBQao3cSS+HDKASaEZN+1WLKgJ39hgkNui5IUK2cMHC/Ri +iCtSlTAPMhzQ3PoTSCaMFr6zUtZ+zY+BgrC4HQ93fr5TAgMBAAGjUzBRMB0GA1Ud +DgQWBBRVzQKLH7rtZPKPbbEQZllA0WhhHzAfBgNVHSMEGDAWgBRVzQKLH7rtZPKP +bbEQZllA0WhhHzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBW +GZ+5c5oKBz5oIQDkt/r2VJ82NceBEnEXUntkkK8N0xBPKMC5qoq2rF5PdwkSj3gY +qGBv1AQMD4xE7X275UAxmzDKaD/B8XrgcVqv32kSkjJmAqoQdP2iQP4ZjYh2Aikt +aG0WaD/ltIOETl/8It7WJ22qrm2NTE5Q0jY5w2L+HoxVum7vHmH6if25ppVuhlJE +UU7elyMxEqezf44JmZRGbKMarY4ALKXSoKXUjELNE0L2tJiRT3wKzg0p/9LA0Eq/ +3vhV6595ptADqzoaSVwtoLhyY+4l/DqdTLtgv6GIw3MZL6Hs0Sy0RDjvKHySjZkA +7jUQa9wARB3zRMgkPo0y +-----END CERTIFICATE----- diff --git a/demo/free5gc_setup/free5gc/config/amfcfg.yaml b/demo/free5gc_setup/free5gc/config/amfcfg.yaml new file mode 100644 index 0000000..085c49b --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/amfcfg.yaml @@ -0,0 +1,130 @@ +info: + version: 1.0.9 + description: AMF initial local configuration + +configuration: + amfName: AMF # the name of this AMF + ngapIpList: # the IP list of N2 interfaces on this AMF + - amf.free5gc.org + ngapPort: 38412 # the SCTP port listened by NGAP + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: amf.free5gc.org # IP used to register to NRF + bindingIPv4: amf.free5gc.org # IP used to bind the service + port: 8000 # port used to bind the service + serviceNameList: # the SBI services provided by this AMF, refer to TS 29.518 + - namf-comm # Namf_Communication service + - namf-evts # Namf_EventExposure service + - namf-mt # Namf_MT service + - namf-loc # Namf_Location service + - namf-oam # OAM service + servedGuamiList: # Guami (Globally Unique AMF ID) list supported by this AMF + # = + - plmnId: # Public Land Mobile Network ID, = + mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + amfId: cafe00 # AMF identifier (3 bytes hex string, range: 000000~FFFFFF) + supportTaiList: # the TAI (Tracking Area Identifier) list supported by this AMF + - plmnId: # Public Land Mobile Network ID, = + mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 000001 # Tracking Area Code (3 bytes hex string, range: 000000~FFFFFF) + plmnSupportList: # the PLMNs (Public land mobile network) list supported by this AMF + - plmnId: # Public Land Mobile Network ID, = + mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + snssaiList: # the S-NSSAI (Single Network Slice Selection Assistance Information) list supported by this AMF + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + supportDnnList: # the DNN (Data Network Name) list supported by this AMF + - internet + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + security: # NAS security parameters + integrityOrder: # the priority of integrity algorithms + - NIA2 + # - NIA0 + cipheringOrder: # the priority of ciphering algorithms + - NEA0 + # - NEA2 + networkName: # the name of this core network + full: free5GC + short: free + ngapIE: # Optional NGAP IEs + mobilityRestrictionList: # Mobility Restriction List IE, refer to TS 38.413 + enable: true # append this IE in related message or not + maskedIMEISV: # Masked IMEISV IE, refer to TS 38.413 + enable: true # append this IE in related message or not + redirectionVoiceFallback: # Redirection Voice Fallback IE, refer to TS 38.413 + enable: false # append this IE in related message or not + nasIE: # Optional NAS IEs + networkFeatureSupport5GS: # 5gs Network Feature Support IE, refer to TS 24.501 + enable: true # append this IE in Registration accept or not + length: 1 # IE content length (uinteger, range: 1~3) + imsVoPS: 0 # IMS voice over PS session indicator (uinteger, range: 0~1) + emc: 0 # Emergency service support indicator for 3GPP access (uinteger, range: 0~3) + emf: 0 # Emergency service fallback indicator for 3GPP access (uinteger, range: 0~3) + iwkN26: 0 # Interworking without N26 interface indicator (uinteger, range: 0~1) + mpsi: 0 # MPS indicator (uinteger, range: 0~1) + emcN3: 0 # Emergency service support indicator for Non-3GPP access (uinteger, range: 0~1) + mcsi: 0 # MCS indicator (uinteger, range: 0~1) + t3502Value: 720 # timer value (seconds) at UE side + t3512Value: 3600 # timer value (seconds) at UE side + non3gppDeregTimerValue: 3240 # timer value (seconds) at UE side + # retransmission timer for paging message + t3513: + enable: true # true or false + expireTime: 6s # default is 6 seconds + maxRetryTimes: 4 # the max number of retransmission + # retransmission timer for NAS Deregistration Request message + t3522: + enable: true # true or false + expireTime: 6s # default is 6 seconds + maxRetryTimes: 4 # the max number of retransmission + # retransmission timer for NAS Registration Accept message + t3550: + enable: true # true or false + expireTime: 6s # default is 6 seconds + maxRetryTimes: 4 # the max number of retransmission + # retransmission timer for NAS Configuration Update Command message + t3555: + enable: true # true or false + expireTime: 6s # default is 6 seconds + maxRetryTimes: 4 # the max number of retransmission + # retransmission timer for NAS Authentication Request/Security Mode Command message + t3560: + enable: true # true or false + expireTime: 6s # default is 6 seconds + maxRetryTimes: 4 # the max number of retransmission + # retransmission timer for NAS Notification message + t3565: + enable: true # true or false + expireTime: 6s # default is 6 seconds + maxRetryTimes: 4 # the max number of retransmission + # retransmission timer for NAS Identity Request message + t3570: + enable: true # true or false + expireTime: 6s # default is 6 seconds + maxRetryTimes: 4 # the max number of retransmission + locality: area1 # Name of the location where a set of AMF, SMF, PCF and UPFs are located + sctp: # set the sctp server setting , once this field is set, please also add maxInputStream, maxOsStream, maxAttempts, maxInitTimeOut + numOstreams: 3 # the maximum out streams of each sctp connection + maxInstreams: 5 # the maximum in streams of each sctp connection + maxAttempts: 2 # the maximum attempts of each sctp connection + maxInitTimeout: 2 # the maximum init timeout of each sctp connection + defaultUECtxReq: false # the default value of UE Context Request to decide when triggering Initial Context Setup procedure + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: amf.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/ausfcfg.yaml b/demo/free5gc_setup/free5gc/config/ausfcfg.yaml new file mode 100644 index 0000000..9775456 --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/ausfcfg.yaml @@ -0,0 +1,34 @@ +info: + version: 1.0.3 + description: AUSF initial local configuration + +configuration: + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: ausf.free5gc.org # IP used to register to NRF + bindingIPv4: ausf.free5gc.org # IP used to bind the service + port: 8000 # Port used to bind the service + serviceNameList: # the SBI services provided by this AUSF, refer to TS 29.509 + - nausf-auth # Nausf_UEAuthentication service + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + plmnSupportList: # the PLMNs (Public Land Mobile Network) list supported by this AUSF + - mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + - mcc: 123 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 45 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + groupId: ausfGroup001 # ID for the group of the AUSF + eapAkaSupiImsiPrefix: false # including "imsi-" prefix or not when using the SUPI to do EAP-AKA' authentication + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: ausf.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/chfcfg.yaml b/demo/free5gc_setup/free5gc/config/chfcfg.yaml new file mode 100644 index 0000000..bff20bb --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/chfcfg.yaml @@ -0,0 +1,61 @@ +info: + version: 1.0.3 + description: CHF initial local configuration + +configuration: + chfName: CHF # the name of this CHF + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: chf.free5gc.org # IP used to register to NRF + bindingIPv4: chf.free5gc.org # IP used to bind the service + port: 8000 # port used to bind the service + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + serviceNameList: # the SBI services provided by this CHF, refer to TS 32.291 + - nchf-convergedcharging # Nchf_AMPolicyControl service + mongodb: # the mongodb connected by this CHF + name: free5gc # name of the mongodb + url: mongodb://db:27017 # a valid URL of the mongodb + quotaValidityTime: 10000 + volumeLimit: 50000 + volumeLimitPDU: 10000 + volumeThresholdRate: 0.8 + cgf: + enable: true + hostIPv4: webui + port: 2121 + listenPort: 2122 + passiveTransferPortRange: + start: 2123 + end: 2130 + tls: + pem: cert/chf.pem + key: cert/chf.key + cdrFilePath: /tmp + abmfDiameter: + protocol: tcp + hostIPv4: chf.free5gc.org + port: 3868 + tls: + pem: cert/chf.pem + key: cert/chf.key + rfDiameter: + protocol: tcp + hostIPv4: chf.free5gc.org + port: 3869 + tls: + pem: cert/chf.pem # CHF TLS Certificate + key: cert/chf.key # CHF TLS Private key + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: chf.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/nefcfg.yaml b/demo/free5gc_setup/free5gc/config/nefcfg.yaml new file mode 100644 index 0000000..dd48a95 --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/nefcfg.yaml @@ -0,0 +1,19 @@ +info: + version: 1.0.1 + description: NEF initial local configuration + +configuration: + sbi: + scheme: http # The protocol for sbi (http or https) + registerIPv4: nef.free5gc.org # IP used to register to NRF + bindingIPv4: nef.free5gc.org # IP used to bind the service + port: 8000 # port used to bind the service + nrfUri: http://nrf.free5gc.org:8000 # A valid URI of NRF + serviceList: # the SBI services provided by this NEF + - serviceName: nnef-pfdmanagement # Nnef_PFDManagement Service + - serviceName: nnef-oam # OAM service + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/nrfcfg.yaml b/demo/free5gc_setup/free5gc/config/nrfcfg.yaml new file mode 100644 index 0000000..649f23b --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/nrfcfg.yaml @@ -0,0 +1,33 @@ +info: + version: 1.0.2 + description: NRF initial local configuration + +configuration: + MongoDBName: free5gc # database name in MongoDB + MongoDBUrl: mongodb://db:27017 # a valid URL of the mongodb + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: nrf.free5gc.org # IP used to serve NFs or register to another NRF + bindingIPv4: nrf.free5gc.org # IP used to bind the service + port: 8000 # port used to bind the service + oauth: false + DefaultPlmnId: + mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + serviceNameList: # the SBI services provided by this NRF, refer to TS 29.510 + - nnrf-nfm # Nnrf_NFManagement service + - nnrf-disc # Nnrf_NFDiscovery service + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: nrf.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/nssfcfg.yaml b/demo/free5gc_setup/free5gc/config/nssfcfg.yaml new file mode 100644 index 0000000..ee1dc14 --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/nssfcfg.yaml @@ -0,0 +1,358 @@ +info: + version: 1.0.2 + description: NSSF initial local configuration + +configuration: + nssfName: NSSF # the name of this NSSF + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: nssf.free5gc.org # IP used to register to NRF + bindingIPv4: nssf.free5gc.org # IP used to bind the service + port: 8000 # Port used to bind the service + serviceNameList: # the SBI services provided by this SMF, refer to TS 29.531 + - nnssf-nsselection # Nnssf_NSSelection service + - nnssf-nssaiavailability # Nnssf_NSSAIAvailability service + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + supportedPlmnList: # the PLMNs (Public land mobile network) list supported by this NSSF + - mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + supportedNssaiInPlmnList: # Supported S-NSSAI List for each PLMN + - plmnId: # Public Land Mobile Network ID, = + mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + supportedSnssaiList: # Supported S-NSSAIs of the PLMN + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + nsiList: # List of available Network Slice Instance (NSI) + - snssai: # S-NSSAI of this NSI + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 10 + - snssai: # S-NSSAI of this NSI + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 11 + - snssai: # S-NSSAI of this NSI + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 12 + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 12 + - snssai: # S-NSSAI of this NSI + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 13 + - snssai: # S-NSSAI of this NSI + sst: 2 # Slice/Service Type (uinteger, range: 0~255) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 20 + - snssai: # S-NSSAI of this NSI + sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 21 + - snssai: # S-NSSAI of this NSI + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 22 + - snssai: # S-NSSAI of this NSI + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + nsiInformationList: # Information list of this NSI + # the NRF to be used to select the NFs/services within the selected NSI, and an optonal ID + - nrfId: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + nsiId: 23 + amfSetList: # List of AMF Sets that my be assigned by this NSSF + - amfSetId: 1 # the AMF Set identifier + amfList: # Instance ID of the AMFs in this set + - ffa2e8d7-3275-49c7-8631-6af1df1d9d26 + - 0e8831c3-6286-4689-ab27-1e2161e15cb1 + - a1fba9ba-2e39-4e22-9c74-f749da571d0d + # URI of the NRF used to determine the list of candidate AMF(s) from the AMF Set + nrfAmfSet: http://nrf.free5gc.org:8000/nnrf-nfm/v1/nf-instances + # the Nssai availability data information per TA supported by the AMF + supportedNssaiAvailabilityData: + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33456 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33457 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - amfSetId: 2 # the AMF Set identifier + # URI of the NRF used to determine the list of candidate AMF(s) from the AMF Set + nrfAmfSet: http://nrf.free5gc.org:8084/nnrf-nfm/v1/nf-instances + # the Nssai availability data information per TA supported by the AMF + supportedNssaiAvailabilityData: + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33456 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33458 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + amfList: # List of AMFs that may be assigned by this NSSF + - nfId: 469de254-2fe5-4ca0-8381-af3f500af77c # ID of this AMF + # The NSSAI availability data information per TA supported by the AMF + supportedNssaiAvailabilityData: + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33456 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33457 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - nfId: fbe604a8-27b2-417e-bd7c-8a7be2691f8d # ID of this AMF + # The NSSAI availability data information per TA supported by the AMF + supportedNssaiAvailabilityData: + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33458 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33459 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - nfId: b9e6e2cb-5ce8-4cb6-9173-a266dd9a2f0c # ID of this AMF + # The NSSAI availability data information per TA supported by the AMF + supportedNssaiAvailabilityData: + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33456 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33458 # Tracking Area Code (uinteger, range: 0~16777215) + supportedSnssaiList: # Supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + taList: # List of supported tracking area and their related information of this NSSF instance + - tai: # Tracking Area Identity + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33456 # Tracking Area Code (uinteger, range: 0~16777215) + accessType: 3GPP_ACCESS # Access type of the tracking area + supportedSnssaiList: # List of supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - tai: # Tracking Area Identity + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33457 # Tracking Area Code (uinteger, range: 0~16777215) + accessType: 3GPP_ACCESS # Access type of the tracking area + supportedSnssaiList: # List of supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33458 # Tracking Area Code (uinteger, range: 0~16777215) + accessType: 3GPP_ACCESS # Access type of the tracking area + supportedSnssaiList: # List of supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + restrictedSnssaiList: # List of restricted S-NSSAIs of the tracking area + - homePlmnId: # Home PLMN identifier + mcc: 310 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 560 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + sNssaiList: # the S-NSSAIs List + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - tai: # Tracking Area Identifier + plmnId: # Public Land Mobile Network ID, = + mcc: 466 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 92 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + tac: 33459 # Tracking Area Code (uinteger, range: 0~16777215) + accessType: 3GPP_ACCESS # Access type of the tracking area + supportedSnssaiList: # List of supported S-NSSAIs of the tracking area + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + - sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + restrictedSnssaiList: # List of restricted S-NSSAIs of the tracking area + - homePlmnId: # Home PLMN identifier + mcc: 310 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 560 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + sNssaiList: # the S-NSSAIs List + - sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + # List of mappings of S-NSSAI in the serving network and the value of the home network + mappingListFromPlmn: + - operatorName: NTT Docomo # Home PLMN name + homePlmnId: # Home PLMN identifier + mcc: 440 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 10 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + mappingOfSnssai: # List of S-NSSAIs mapping + - servingSnssai: # S-NSSAI in the serving network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + homeSnssai: # S-NSSAI in the home network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 1 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - servingSnssai: # S-NSSAI in the serving network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + homeSnssai: # S-NSSAI in the home network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - servingSnssai: # S-NSSAI in the serving network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + homeSnssai: # S-NSSAI in the home network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000004 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - servingSnssai: # S-NSSAI in the serving network + sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + homeSnssai: # S-NSSAI in the home network + sst: 2 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - operatorName: AT&T Mobility # Home PLMN name + homePlmnId: # Home PLMN identifier + mcc: 310 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 560 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + mappingOfSnssai: + - servingSnssai: # S-NSSAI in the serving network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000001 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + homeSnssai: # S-NSSAI in the home network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + - servingSnssai: # S-NSSAI in the serving network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000002 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + homeSnssai: # S-NSSAI in the home network + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 000003 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: nssf.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/pcfcfg.yaml b/demo/free5gc_setup/free5gc/config/pcfcfg.yaml new file mode 100644 index 0000000..1bc841b --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/pcfcfg.yaml @@ -0,0 +1,41 @@ +info: + version: 1.0.2 + description: PCF initial local configuration + +configuration: + pcfName: PCF # the name of this PCF + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: pcf.free5gc.org # IP used to register to NRF + bindingIPv4: pcf.free5gc.org # IP used to bind the service + port: 8000 # port used to bind the service + timeFormat: 2019-01-02 15:04:05 # time format of this PCF + defaultBdtRefId: BdtPolicyId- # BDT Reference ID, indicating transfer policies of background data transfer. + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + serviceList: # the SBI services provided by this PCF, refer to TS 29.507 + - serviceName: npcf-am-policy-control # Npcf_AMPolicyControl service + - serviceName: npcf-smpolicycontrol # Npcf_SMPolicyControl service + suppFeat: 3fff # the features supported by Npcf_SMPolicyControl, name defined in TS 29.512 5.8-1, value defined in TS 29.571 5.2.2 + - serviceName: npcf-bdtpolicycontrol # Npcf_BDTPolicyControl service + - serviceName: npcf-policyauthorization # Npcf_PolicyAuthorization service + suppFeat: 3 # the features supported by Npcf_PolicyAuthorization, name defined in TS 29.514 5.8-1, value defined in TS 29.571 5.2.2 + - serviceName: npcf-eventexposure # Npcf_EventExposure service + - serviceName: npcf-ue-policy-control # Npcf_UEPolicyControl service + mongodb: # the mongodb connected by this PCF + name: free5gc # name of the mongodb + url: mongodb://db:27017 # a valid URL of the mongodb + locality: area1 # Name of the location where a set of AMF, SMF, PCF and UPFs are located + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: pcf.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: trace # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/smfcfg.yaml b/demo/free5gc_setup/free5gc/config/smfcfg.yaml new file mode 100644 index 0000000..ba80d73 --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/smfcfg.yaml @@ -0,0 +1,105 @@ +info: + version: 1.0.7 + description: SMF initial local configuration + +configuration: + smfName: SMF # the name of this SMF + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: smf.free5gc.org # IP used to register to NRF + bindingIPv4: smf.free5gc.org # IP used to bind the service + port: 8000 # Port used to bind the service + serviceNameList: # the SBI services provided by this SMF, refer to TS 29.502 + - nsmf-pdusession # Nsmf_PDUSession service + - nsmf-event-exposure # Nsmf_EventExposure service + - nsmf-oam # OAM service + snssaiInfos: # the S-NSSAI (Single Network Slice Selection Assistance Information) list supported by this AMF + - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information) + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + dnnInfos: # DNN information list + - dnn: internet # Data Network Name + dns: # the IP address of DNS + ipv4: 8.8.8.8 + ipv6: 2001:4860:4860::8888 + - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information) + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + dnnInfos: # DNN information list + - dnn: internet # Data Network Name + dns: # the IP address of DNS + ipv4: 8.8.8.8 + ipv6: 2001:4860:4860::8888 + plmnList: # the list of PLMN IDs that this SMF belongs to (optional, remove this key when unnecessary) + - mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9) + mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9) + locality: area1 # Name of the location where a set of AMF, SMF, PCF and UPFs are located + pfcp: # the IP address of N4 interface on this SMF (PFCP) + # addr config is deprecated in smf config v1.0.3, please use the following config + nodeID: smf.free5gc.org # the Node ID of this SMF + listenAddr: smf.free5gc.org # the IP/FQDN of N4 interface on this SMF (PFCP) + externalAddr: smf.free5gc.org # the IP/FQDN of N4 interface on this SMF (PFCP) + userplaneInformation: # list of userplane information + upNodes: # information of userplane node (AN or UPF) + gNB1: # the name of the node + type: AN # the type of the node (AN or UPF) + UPF: # the name of the node + type: UPF # the type of the node (AN or UPF) + nodeID: 192.168.70.129 # the Node ID of this UPF + addr: 192.168.70.129 # the IP/FQDN of N4 interface on this UPF (PFCP) + sNssaiUpfInfos: # S-NSSAI information list for this UPF + - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information) + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 010203 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + dnnUpfInfoList: # DNN information list for this S-NSSAI + - dnn: internet + pools: + - cidr: 10.60.0.0/16 + staticPools: + - cidr: 10.60.100.0/24 + - sNssai: # S-NSSAI (Single Network Slice Selection Assistance Information) + sst: 1 # Slice/Service Type (uinteger, range: 0~255) + sd: 112233 # Slice Differentiator (3 bytes hex string, range: 000000~FFFFFF) + dnnUpfInfoList: # DNN information list for this S-NSSAI + - dnn: internet + pools: + - cidr: 10.61.0.0/16 + staticPools: + - cidr: 10.61.100.0/24 + interfaces: # Interface list for this UPF + - interfaceType: N3 # the type of the interface (N3 or N9) + endpoints: # the IP address of this N3/N9 interface on this UPF + - 192.168.71.129 + networkInstances: # Data Network Name (DNN) + - internet + links: # the topology graph of userplane, A and B represent the two nodes of each link + - A: gNB1 + B: UPF + # retransmission timer for pdu session modification command + t3591: + enable: true # true or false + expireTime: 16s # default is 6 seconds + maxRetryTimes: 3 # the max number of retransmission + # retransmission timer for pdu session release command + t3592: + enable: true # true or false + expireTime: 16s # default is 6 seconds + maxRetryTimes: 3 # the max number of retransmission + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + urrPeriod: 10 # default usage report period in seconds + urrThreshold: 1000 # default usage report threshold in bytes + requestedUnit: 1000 + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: smf.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: trace # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/udmcfg.yaml b/demo/free5gc_setup/free5gc/config/udmcfg.yaml new file mode 100644 index 0000000..c7cd22b --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/udmcfg.yaml @@ -0,0 +1,40 @@ +info: + version: 1.0.3 + description: UDM initial local configuration + +configuration: + serviceNameList: # the SBI services provided by this UDM, refer to TS 29.503 + - nudm-sdm # Nudm_SubscriberDataManagement service + - nudm-uecm # Nudm_UEContextManagement service + - nudm-ueau # Nudm_UEAuthenticationManagement service + - nudm-ee # Nudm_EventExposureManagement service + - nudm-pp # Nudm_ParameterProvisionDataManagement service + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: udm.free5gc.org # IP used to register to NRF + bindingIPv4: udm.free5gc.org # IP used to bind the service + port: 8000 # Port used to bind the service + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + + # test data set from TS33501-f60 Annex C.4 + SuciProfile: # Home Network Public Key ID = slice index +1 + - ProtectionScheme: 1 # Protect Scheme: Profile A + PrivateKey: c53c22208b61860b06c62e5406a7b330c2b577aa5558981510d128247d38bd1d + PublicKey: 5a8d38864820197c3394b92613b20b91633cbd897119273bf8e4a6f4eec0a650 + - ProtectionScheme: 2 # Protect Scheme: Profile B + PrivateKey: F1AB1074477EBCC7F554EA1C5FC368B1616730155E0041AC447D6301975FECDA + PublicKey: 0472DA71976234CE833A6907425867B82E074D44EF907DFB4B3E21C1C2256EBCD15A7DED52FCBB097A4ED250E036C7B9C8C7004C4EEDC4F068CD7BF8D3F900E3B4 + + # Metrics configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: udm.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/udrcfg.yaml b/demo/free5gc_setup/free5gc/config/udrcfg.yaml new file mode 100644 index 0000000..51827e9 --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/udrcfg.yaml @@ -0,0 +1,29 @@ +info: + version: 1.1.0 + description: UDR initial local configuration + +configuration: + sbi: # Service-based interface information + scheme: http # the protocol for sbi (http or https) + registerIPv4: udr.free5gc.org # IP used to register to NRF + bindingIPv4: udr.free5gc.org # IP used to bind the service + port: 8000 # port used to bind the service + dbConnectorType: mongodb + mongodb: + name: free5gc # Database name in MongoDB + url: mongodb://db:27017 # URL of MongoDB + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + + # Metrics Configuration + # If using the same bindingIPv4 as the sbi server, make sure that the ports are different + metrics: + enable: false # (Optional, default false) + scheme: http # (Required) the protocol for metrics (http or https, default https) + bindingIPv4: udr.free5gc.org # (Required) IP used to bind the metrics endpoint (default 0.0.0.0) + port: 9091 # (Optional, default 9091) port used to bind the service + namespace: free5gc # (Optional, default free5gc) + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/config/uerouting.yaml b/demo/free5gc_setup/free5gc/config/uerouting.yaml new file mode 100644 index 0000000..6ee5e94 --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/uerouting.yaml @@ -0,0 +1,48 @@ +info: + version: 1.0.7 + description: Routing information for UE + +ueRoutingInfo: # the list of UE routing information + UE1: # Group Name + members: + - imsi-208930000000001 # Subscription Permanent Identifier of the UE + - imsi-208930000007487 # Subscription Permanent Identifier of the UE + topology: # Network topology for this group (Uplink: A->B, Downlink: B->A) + # default path derived from this topology + # node name should be consistent with smfcfg.yaml + - A: gNB1 + B: I-UPF + - A: I-UPF + B: PSA-UPF + specificPath: + - dest: 10.60.0.103/32 # the destination IP address on Data Network (DN) + # the order of UPF nodes in this path. We use the UPF's name to represent each UPF node. + # The UPF's name should be consistent with smfcfg.yaml + path: [I-UPF] + + UE2: # Group Name + members: + - imsi-208930000007486 # Subscription Permanent Identifier of the UE + topology: # Network topology for this group (Uplink: A->B, Downlink: B->A) + # default path derived from this topology + # node name should be consistent with smfcfg.yaml + - A: gNB1 + B: BranchingUPF + - A: BranchingUPF + B: AnchorUPF1 + specificPath: + - dest: 10.0.0.11/32 # the destination IP address on Data Network (DN) + # the order of UPF nodes in this path. We use the UPF's name to represent each UPF node. + # The UPF's name should be consistent with smfcfg.yaml + path: [BranchingUPF, AnchorUPF2] + +routeProfile: # Maintains the mapping between RouteProfileID and ForwardingPolicyID of UPF + MEC1: # Route Profile identifier + forwardingPolicyID: 10 # Forwarding Policy ID of the route profile + +pfdDataForApp: # PFDs for an Application + - applicationId: edge # Application identifier + pfds: # PFDs for the Application + - pfdID: pfd1 # PFD identifier + flowDescriptions: # Represents a 3-tuple with protocol, server ip and server port for UL/DL application traffic + - permit out ip from 10.60.0.1 8080 to any diff --git a/demo/free5gc_setup/free5gc/config/webuicfg.yaml b/demo/free5gc_setup/free5gc/config/webuicfg.yaml new file mode 100644 index 0000000..383d34f --- /dev/null +++ b/demo/free5gc_setup/free5gc/config/webuicfg.yaml @@ -0,0 +1,30 @@ +info: + version: 1.0.3 + description: WebUI initial local configuration + +configuration: + mongodb: # the mongodb connected by this webui + name: free5gc # name of the mongodb + url: mongodb://db:27017 # a valid URL of the mongodb + nrfUri: http://nrf.free5gc.org:8000 # a valid URI of NRF + webServer: + scheme: http + ipv4Address: 0.0.0.0 + port: 5000 + billingServer: + enable: true + hostIPv4: webui + listenPort: 2121 + portRange: # passive port range + start: 2123 + end: 2130 + basePath: /tmp/webconsole + port: 2122 + tls: + pem: cert/chf.pem + key: cert/chf.key + +logger: # log output setting + enable: true # true or false + level: info # how detailed to output, value: trace, debug, info, warn, error, fatal, panic + reportCaller: false # enable the caller report or not, value: true or false diff --git a/demo/free5gc_setup/free5gc/dump/admin/system.version.bson b/demo/free5gc_setup/free5gc/dump/admin/system.version.bson new file mode 100644 index 0000000..df4849a Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/admin/system.version.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/admin/system.version.metadata.json b/demo/free5gc_setup/free5gc/dump/admin/system.version.metadata.json new file mode 100644 index 0000000..40cd0e8 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/admin/system.version.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"116d2dd5872748a39cb9275abcb22d64","collectionName":"system.version","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/NfProfile.bson b/demo/free5gc_setup/free5gc/dump/free5gc/NfProfile.bson new file mode 100644 index 0000000..41de2ef Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/NfProfile.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/NfProfile.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/NfProfile.metadata.json new file mode 100644 index 0000000..d7c9b16 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/NfProfile.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"9851be75e1f843338a237a571f423ac8","collectionName":"NfProfile","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.amData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.amData.bson new file mode 100644 index 0000000..5f2a389 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.amData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.amData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.amData.metadata.json new file mode 100644 index 0000000..b995da9 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.amData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"a3c18e2378304db8b571d49c953c5a4f","collectionName":"policyData.ues.amData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.chargingData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.chargingData.bson new file mode 100644 index 0000000..486c41b Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.chargingData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.chargingData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.chargingData.metadata.json new file mode 100644 index 0000000..70073fb --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.chargingData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"64cd40d36b5649238e1f2dc6aa708188","collectionName":"policyData.ues.chargingData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.flowRule.bson b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.flowRule.bson new file mode 100644 index 0000000..e69de29 diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.flowRule.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.flowRule.metadata.json new file mode 100644 index 0000000..c33f186 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.flowRule.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"58f0ce1843d1437f9e20ed5d69a0ae8d","collectionName":"policyData.ues.flowRule","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.qosFlow.bson b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.qosFlow.bson new file mode 100644 index 0000000..e69de29 diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.qosFlow.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.qosFlow.metadata.json new file mode 100644 index 0000000..8c8f944 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.qosFlow.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"44fb546b8c54426dbb207a0f8ba09b9e","collectionName":"policyData.ues.qosFlow","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.smData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.smData.bson new file mode 100644 index 0000000..ef27a25 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.smData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.smData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.smData.metadata.json new file mode 100644 index 0000000..2c024b7 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/policyData.ues.smData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"0c9960fab60a49c293442a77ee25e846","collectionName":"policyData.ues.smData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.authenticationSubscription.bson b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.authenticationSubscription.bson new file mode 100644 index 0000000..3ba2e81 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.authenticationSubscription.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.authenticationSubscription.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.authenticationSubscription.metadata.json new file mode 100644 index 0000000..605e358 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.authenticationSubscription.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"bb2c89455c1141c89473494b737de951","collectionName":"subscriptionData.authenticationData.authenticationSubscription","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.webAuthenticationSubscription.bson b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.webAuthenticationSubscription.bson new file mode 100644 index 0000000..b02aea5 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.webAuthenticationSubscription.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.webAuthenticationSubscription.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.webAuthenticationSubscription.metadata.json new file mode 100644 index 0000000..7913dce --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.authenticationData.webAuthenticationSubscription.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"21b50689cc864d17a482d65323c8be8d","collectionName":"subscriptionData.authenticationData.webAuthenticationSubscription","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.identityData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.identityData.bson new file mode 100644 index 0000000..f8635bf Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.identityData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.identityData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.identityData.metadata.json new file mode 100644 index 0000000..68525f0 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.identityData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"f406bc29302d47b4a646bcee24d511c0","collectionName":"subscriptionData.identityData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.amData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.amData.bson new file mode 100644 index 0000000..d0880b5 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.amData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.amData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.amData.metadata.json new file mode 100644 index 0000000..635e960 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.amData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"e94d4a8e3813418b8821841c782f28e7","collectionName":"subscriptionData.provisionedData.amData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smData.bson new file mode 100644 index 0000000..cec4dd9 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smData.metadata.json new file mode 100644 index 0000000..656312f --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"31c03cc4f5d54e92a35cffcdff65eea0","collectionName":"subscriptionData.provisionedData.smData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smfSelectionSubscriptionData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smfSelectionSubscriptionData.bson new file mode 100644 index 0000000..68be7d6 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smfSelectionSubscriptionData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smfSelectionSubscriptionData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smfSelectionSubscriptionData.metadata.json new file mode 100644 index 0000000..7e91bad --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/subscriptionData.provisionedData.smfSelectionSubscriptionData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"db898630db85438885ca4f23b25988cd","collectionName":"subscriptionData.provisionedData.smfSelectionSubscriptionData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/tenantData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/tenantData.bson new file mode 100644 index 0000000..0ec4f34 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/tenantData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/tenantData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/tenantData.metadata.json new file mode 100644 index 0000000..cc77351 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/tenantData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"23e0684d7e9548448fb786b36feb1d30","collectionName":"tenantData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/urilist.bson b/demo/free5gc_setup/free5gc/dump/free5gc/urilist.bson new file mode 100644 index 0000000..eb99680 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/urilist.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/urilist.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/urilist.metadata.json new file mode 100644 index 0000000..0480f02 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/urilist.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"efa18a790b7e4e9294a08ec55712554b","collectionName":"urilist","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/userData.bson b/demo/free5gc_setup/free5gc/dump/free5gc/userData.bson new file mode 100644 index 0000000..b6f9fd6 Binary files /dev/null and b/demo/free5gc_setup/free5gc/dump/free5gc/userData.bson differ diff --git a/demo/free5gc_setup/free5gc/dump/free5gc/userData.metadata.json b/demo/free5gc_setup/free5gc/dump/free5gc/userData.metadata.json new file mode 100644 index 0000000..8ad4b10 --- /dev/null +++ b/demo/free5gc_setup/free5gc/dump/free5gc/userData.metadata.json @@ -0,0 +1 @@ +{"indexes":[{"v":{"$numberInt":"2"},"key":{"_id":{"$numberInt":"1"}},"name":"_id_"}],"uuid":"2f98f69bf0fd44a5bcae2a58c9eb1ccc","collectionName":"userData","type":"collection"} \ No newline at end of file diff --git a/demo/free5gc_setup/free5gc/mongorestore.sh b/demo/free5gc_setup/free5gc/mongorestore.sh new file mode 100755 index 0000000..4838f6b --- /dev/null +++ b/demo/free5gc_setup/free5gc/mongorestore.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +mongorestore /data/dump \ No newline at end of file diff --git a/demo/free5gc_setup/oai/UE_config.yaml b/demo/free5gc_setup/oai/UE_config.yaml new file mode 100644 index 0000000..6d4210b --- /dev/null +++ b/demo/free5gc_setup/oai/UE_config.yaml @@ -0,0 +1,7 @@ +uicc0: + dnn: internet + imsi: 208930000000001 + key: 8baf473f2f8fd09487cccbd7097c6862 + nssai_sd: 66051 + nssai_sst: 1 + opc: 8e27b6af0e692e750f32667a3b14605d \ No newline at end of file diff --git a/demo/free5gc_setup/oai/gNB_config.yaml b/demo/free5gc_setup/oai/gNB_config.yaml new file mode 100644 index 0000000..4ab5140 --- /dev/null +++ b/demo/free5gc_setup/oai/gNB_config.yaml @@ -0,0 +1,120 @@ +Active_gNBs: +- gnb-rfsim +Asn1_verbosity: none +L1s: +- num_cc: 1 + prach_dtx_threshold: 200 + tr_n_preference: local_mac +MACRLCs: +- num_cc: 1 + pucch_TargetSNRx10: 200 + pusch_TargetSNRx10: 200 + tr_n_preference: local_RRC + tr_s_preference: local_L1 +RUs: +- att_rx: 0 + att_tx: 0 + bands: + - 78 + eNB_instances: + - 0 + local_rf: 'yes' + max_pdschReferenceSignalPower: -27 + max_rxgain: 75 + nb_rx: 1 + nb_tx: 1 + sdr_addrs: serial=XXXXXXX + sf_extension: 0 +gNBs: +- NETWORK_INTERFACES: + GNB_IPV4_ADDRESS_FOR_NG_AMF: 192.168.70.160 + GNB_IPV4_ADDRESS_FOR_NGU: 192.168.71.160 + GNB_PORT_FOR_S1U: 2152 + SCTP: + SCTP_INSTREAMS: 2 + SCTP_OUTSTREAMS: 2 + amf_ip_address: + - ipv4: 192.168.70.132 + gNB_ID: 3584 + gNB_name: gnb-rfsim + min_rxtxtime: 6 + nr_cellid: 16 + plmn_list: + - mcc: 208 + mnc: 93 + mnc_length: 2 + snssaiList: + - sd: 66051 + sst: 1 + - sd: 1122867 + sst: 1 + servingCellConfigCommon: + - absoluteFrequencySSB: 621312 + dl_UL_TransmissionPeriodicity: 6 + dl_absoluteFrequencyPointA: 620040 + dl_carrierBandwidth: 106 + dl_offstToCarrier: 0 + dl_subcarrierSpacing: 1 + dmrs_TypeA_Position: 0 + hoppingId: 40 + initialDLBWPcontrolResourceSetZero: 11 + initialDLBWPlocationAndBandwidth: 28875 + initialDLBWPsearchSpaceZero: 0 + initialDLBWPsubcarrierSpacing: 1 + initialULBWPlocationAndBandwidth: 28875 + initialULBWPsubcarrierSpacing: 1 + msg1_SubcarrierSpacing: 1 + msg3_DeltaPreamble: 1 + nrofDownlinkSlots: 7 + nrofDownlinkSymbols: 6 + nrofUplinkSlots: 2 + nrofUplinkSymbols: 4 + p0_NominalWithGrant: -90 + p0_nominal: -90 + pMax: 20 + physCellId: 0 + powerRampingStep: 1 + prach_ConfigurationIndex: 98 + prach_RootSequenceIndex: 1 + prach_RootSequenceIndex_PR: 2 + prach_msg1_FDM: 0 + prach_msg1_FrequencyStart: 0 + preambleReceivedTargetPower: -104 + preambleTransMax: 6 + pucchGroupHopping: 0 + ra_ContentionResolutionTimer: 7 + referenceSubcarrierSpacing: 1 + restrictedSetConfig: 0 + rsrp_ThresholdSSB: 19 + ssPBCH_BlockPower: -25 + ssb_PositionsInBurst_Bitmap: 1 + ssb_perRACH_OccasionAndCB_PreamblesPerSSB: 15 + ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR: 4 + ssb_periodicityServingCell: 2 + subcarrierSpacing: 1 + ul_carrierBandwidth: 106 + ul_frequencyBand: 78 + ul_offstToCarrier: 0 + ul_subcarrierSpacing: 1 + zeroCorrelationZoneConfig: 12 + tracking_area_code: 1 +log_config: + f1ap_log_level: debug + global_log_level: info + hw_log_level: info + mac_log_level: info + ngap_log_level: debug + pdcp_log_level: info + phy_log_level: info + rlc_log_level: info + rrc_log_level: info +rfsimulator: + serveraddr: server +security: + ciphering_algorithms: + - nea0 + drb_ciphering: 'yes' + drb_integrity: 'no' + integrity_algorithms: + - nia2 + - nia0 diff --git a/demo/free5gc_setup/oai/oai_upf_config.yaml b/demo/free5gc_setup/oai/oai_upf_config.yaml new file mode 100644 index 0000000..2f4dd0b --- /dev/null +++ b/demo/free5gc_setup/oai/oai_upf_config.yaml @@ -0,0 +1,135 @@ +################################################################################ +# 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 +################################################################################ + +# OAI CN Configuration File +### This file can be used by all OAI NFs +### Some fields are specific to an NF and will be ignored by other NFs + +## NOTE ON YAML ANCHORS ## +# We use YAML anchors to ease the configuration and to avoid duplicating parts of the configuration. +# This is especially true for the SNSSAIs, as we have to define them for multiple NFs. +# Please note that the use of anchors is not mandatory, and you can define the SNSSAI in each NF yourself. +# You can read more about anchors here: https://yaml.org/spec/1.2.2/#anchors-and-aliases + +############# Common configuration + +# Log level for all the NFs +log_level: + general: debug + +# If you enable registration, the other NFs will use the NRF discovery mechanism +register_nf: + general: yes + +http_version: 2 + +############## SBI Interfaces +### Each NF takes its local SBI interfaces and remote interfaces from here, unless it gets them using NRF discovery mechanisms +nfs: + smf: + host: smf.free5gc.org + sbi: + port: 8000 + api_version: v1 + interface_name: eth0 + n4: + interface_name: eth0 + port: 8805 + upf: + host: oai-upf + sbi: + port: 8080 + api_version: v1 + interface_name: phine-net + n3: + interface_name: demo-n3 + port: 2152 + n4: + interface_name: phine-net + port: 8805 + n6: + interface_name: demo-n6 + n9: + interface_name: demo-n9 + port: 2152 + nrf: + host: 192.168.70.130 + sbi: + port: 8000 + api_version: v1 + interface_name: eth0 + +## general single_nssai configuration +## Defines YAML anchors, which are reused in the config file +snssais: + - &embb_slice1 + sst: 1 + - &embb_slice2 + sst: 1 + sd: 000001 # in hex + - &custom_slice + sst: 222 + sd: 00007B # in hex + - &free5gc_slice + sst: 1 + sd: 010203 # in hex + +############## NF-specific configuration +upf: + support_features: + enable_bpf_datapath: yes # If "on": BPF is used as datapath else simpleswitch is used, DEFAULT= off + enable_qos: yes + remote_n6_gw: oai-ext-dn + upf_info: + sNssaiUpfInfoList: + - sNssai: *embb_slice1 + dnnUpfInfoList: + - dnn: "oai" + - sNssai: *embb_slice2 + dnnUpfInfoList: + - dnn: "oai.ipv4" + - sNssai: *custom_slice + dnnUpfInfoList: + - dnn: "default" + - sNssai: *free5gc_slice + dnnUpfInfoList: + - dnn: "internet" + +## DNN configuration +dnns: + - dnn: "oai" + pdu_session_type: "IPV4" + ipv4_subnet: "12.1.1.128/25" + - dnn: "oai.ipv4" + pdu_session_type: "IPV4" + ipv4_subnet: "12.1.1.64/26" + - dnn: "default" + pdu_session_type: "IPV4" + ipv4_subnet: "12.1.1.0/26" + - dnn: "ims" + pdu_session_type: "IPV4V6" + ipv4_subnet: "14.1.1.2/24" + - dnn: "internet" + pdu_session_type: "IPV4" + ipv4_subnet: "10.60.0.0/16" + - dnn: "internet" + pdu_session_type: "IPV4" + ipv4_subnet: "10.61.0.0/16" \ No newline at end of file diff --git a/demo/images/ue_amr/Dockerfile b/demo/images/ue_amr/Dockerfile index fcbfc05..ecb2308 100644 --- a/demo/images/ue_amr/Dockerfile +++ b/demo/images/ue_amr/Dockerfile @@ -1,5 +1,5 @@ # Use the OAI NR UE base image as the starting point -FROM oaisoftwarealliance/oai-nr-ue:2024.w44 +FROM phinetech/oai-ue:2026.w04.u22 ARG ROBOT_PROJECT_NAME ROS_DISCOVERY_SERVER # Set environment variables for ROS 2 installation diff --git a/demo/oai_setup/conf/ue2.conf b/demo/oai_setup/conf/ue2.conf deleted file mode 100644 index 9e36b77..0000000 --- a/demo/oai_setup/conf/ue2.conf +++ /dev/null @@ -1,7 +0,0 @@ -uicc0 = { - imsi = "001010000000102"; - key = "fec86ba6eb707ed08905757b1bb44b8f"; - opc= "C42449363BBAD02B66D16BC975D77CC1"; - dnn= "oai"; - nssai_sst=1; -} diff --git a/demo/oai_setup/conf/ue3.conf b/demo/oai_setup/conf/ue3.conf deleted file mode 100644 index 065565a..0000000 --- a/demo/oai_setup/conf/ue3.conf +++ /dev/null @@ -1,7 +0,0 @@ -uicc0 = { - imsi = "001010000000103"; - key = "fec86ba6eb707ed08905757b1bb44b8f"; - opc= "C42449363BBAD02B66D16BC975D77CC1"; - dnn= "oai"; - nssai_sst=1; -}