Refactor to facilitate deployment of multiple instances of a service

This commit is contained in:
herlesupreeth
2025-01-17 18:14:21 +01:00
parent fa9a7983fa
commit 661def8dd2
31 changed files with 2563 additions and 198 deletions

View File

@@ -42,7 +42,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=hss-1
- COMPONENT_NAME=hss
volumes:
- ./hss:/mnt/hss
- ./log:/open5gs/install/var/log/open5gs
@@ -67,7 +67,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=sgwc-1
- COMPONENT_NAME=sgwc
volumes:
- ./sgwc:/mnt/sgwc
- ./log:/open5gs/install/var/log/open5gs
@@ -88,7 +88,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=sgwu-1
- COMPONENT_NAME=sgwu
volumes:
- ./sgwu:/mnt/sgwu
- ./log:/open5gs/install/var/log/open5gs
@@ -108,7 +108,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smf-1
- COMPONENT_NAME=smf
- DEPLOY_MODE=4G
volumes:
- ./smf:/mnt/smf
@@ -135,7 +135,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=upf-1
- COMPONENT_NAME=upf
volumes:
- ./upf:/mnt/upf
- ./log:/open5gs/install/var/log/open5gs
@@ -165,7 +165,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=mme-1
- COMPONENT_NAME=mme
volumes:
- ./mme:/mnt/mme
- ./log:/open5gs/install/var/log/open5gs
@@ -190,7 +190,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcrf-1
- COMPONENT_NAME=pcrf
depends_on:
- mongo
volumes:
@@ -275,7 +275,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=osmomsc-1
- COMPONENT_NAME=osmomsc
depends_on:
- osmohlr
expose:
@@ -295,7 +295,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=osmohlr-1
- COMPONENT_NAME=osmohlr
expose:
- "4222/tcp"
networks:

View File

@@ -42,7 +42,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=hss-1
- COMPONENT_NAME=hss
volumes:
- ./hss:/mnt/hss
- ./log:/open5gs/install/var/log/open5gs
@@ -69,7 +69,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=sgwc-1
- COMPONENT_NAME=sgwc
volumes:
- ./sgwc:/mnt/sgwc
- ./log:/open5gs/install/var/log/open5gs
@@ -90,7 +90,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=sgwu-1
- COMPONENT_NAME=sgwu
volumes:
- ./sgwu:/mnt/sgwu
- ./log:/open5gs/install/var/log/open5gs
@@ -110,7 +110,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smf-1
- COMPONENT_NAME=smf
- DEPLOY_MODE=4G
volumes:
- ./smf:/mnt/smf
@@ -139,7 +139,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=upf-1
- COMPONENT_NAME=upf
volumes:
- ./upf:/mnt/upf
- ./log:/open5gs/install/var/log/open5gs
@@ -170,7 +170,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=mme-1
- COMPONENT_NAME=mme
volumes:
- ./mme:/mnt/mme
- ./log:/open5gs/install/var/log/open5gs
@@ -197,7 +197,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcrf-1
- COMPONENT_NAME=pcrf
depends_on:
- mongo
volumes:
@@ -308,7 +308,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=icscf-1
- COMPONENT_NAME=icscf
depends_on:
- dns
- mysql
@@ -332,7 +332,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=scscf-1
- COMPONENT_NAME=scscf
depends_on:
- dns
- mysql
@@ -359,7 +359,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcscf-1
- COMPONENT_NAME=pcscf
- DEPLOY_MODE=4G
depends_on:
- dns
@@ -390,7 +390,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smsc-1
- COMPONENT_NAME=smsc
depends_on:
- dns
- mysql
@@ -411,7 +411,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=osmomsc-1
- COMPONENT_NAME=osmomsc
depends_on:
- osmohlr
expose:
@@ -431,7 +431,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=osmohlr-1
- COMPONENT_NAME=osmohlr
expose:
- "4222/tcp"
networks:

View File

@@ -11,8 +11,8 @@
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# 2. Redistributions in binary form must reproduce the above copyright notice, this
# list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
@@ -30,69 +30,69 @@ export LD_LIBRARY_PATH=/open5gs/install/lib/$(uname -m)-linux-gnu
if [[ -z "$COMPONENT_NAME" ]]; then
echo "Error: COMPONENT_NAME environment variable not set"; exit 1;
elif [[ "$COMPONENT_NAME" =~ ^(amf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(amf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/amf/amf_init.sh && \
/mnt/amf/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-amfd
elif [[ "$COMPONENT_NAME" =~ ^(ausf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(ausf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/ausf/ausf_init.sh && \
/mnt/ausf/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-ausfd
elif [[ "$COMPONENT_NAME" =~ ^(bsf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(bsf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/bsf/bsf_init.sh && sleep 10 && \
/mnt/bsf/${COMPONENT_NAME}_init.sh && sleep 10 && \
cd install/bin && ./open5gs-bsfd
elif [[ "$COMPONENT_NAME" =~ ^(hss-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(hss[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/hss/hss_init.sh && \
/mnt/hss/${COMPONENT_NAME}_init.sh && \
cd install/bin && sleep 10 && ./open5gs-hssd
elif [[ "$COMPONENT_NAME" =~ ^(mme-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(mme[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/mme/mme_init.sh && \
/mnt/mme/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-mmed
elif [[ "$COMPONENT_NAME" =~ ^(nrf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(nrf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/nrf/nrf_init.sh && \
/mnt/nrf/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-nrfd
elif [[ "$COMPONENT_NAME" =~ ^(scp-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(scp[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/scp/scp_init.sh && \
/mnt/scp/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-scpd
elif [[ "$COMPONENT_NAME" =~ ^(nssf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(nssf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/nssf/nssf_init.sh && \
/mnt/nssf/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-nssfd
elif [[ "$COMPONENT_NAME" =~ ^(pcf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(pcf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/pcf/pcf_init.sh && sleep 10 && \
/mnt/pcf/${COMPONENT_NAME}_init.sh && sleep 10 && \
cd install/bin && ./open5gs-pcfd
elif [[ "$COMPONENT_NAME" =~ ^(pcrf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(pcrf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/pcrf/pcrf_init.sh && sleep 10 && \
/mnt/pcrf/${COMPONENT_NAME}_init.sh && sleep 10 && \
cd install/bin && ./open5gs-pcrfd
elif [[ "$COMPONENT_NAME" =~ ^(sgwc-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(sgwc[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/sgwc/sgwc_init.sh && \
/mnt/sgwc/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-sgwcd
elif [[ "$COMPONENT_NAME" =~ ^(sgwu-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(sgwu[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/sgwu/sgwu_init.sh && \
/mnt/sgwu/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-sgwud
elif [[ "$COMPONENT_NAME" =~ ^(smf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(smf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/smf/smf_init.sh && \
/mnt/smf/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-smfd
elif [[ "$COMPONENT_NAME" =~ ^(udm-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(udm[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/udm/udm_init.sh && \
/mnt/udm/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-udmd
elif [[ "$COMPONENT_NAME" =~ ^(udr-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(udr[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/udr/udr_init.sh && sleep 10 && \
/mnt/udr/${COMPONENT_NAME}_init.sh && sleep 10 && \
cd install/bin && ./open5gs-udrd
elif [[ "$COMPONENT_NAME" =~ ^(upf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(upf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/upf/upf_init.sh && \
/mnt/upf/${COMPONENT_NAME}_init.sh && \
cd install/bin && ./open5gs-upfd
elif [[ "$COMPONENT_NAME" =~ ^(webui) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"

View File

@@ -12,7 +12,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=ueransim-gnb-1
- COMPONENT_NAME=ueransim-gnb
expose:
- "38412/sctp"
- "2152/udp"

View File

@@ -12,7 +12,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=ueransim-ue-1
- COMPONENT_NAME=ueransim-ue
expose:
- "4997/udp"
cap_add:

View File

@@ -42,7 +42,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=nrf-1
- COMPONENT_NAME=nrf
volumes:
- ../../nrf:/mnt/nrf
- ../../log:/open5gs/install/var/log/open5gs
@@ -59,7 +59,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=scp-1
- COMPONENT_NAME=scp
volumes:
- ../../scp:/mnt/scp
- ../../log:/open5gs/install/var/log/open5gs
@@ -79,7 +79,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=ausf-1
- COMPONENT_NAME=ausf
volumes:
- ../../ausf:/mnt/ausf
- ../../log:/open5gs/install/var/log/open5gs
@@ -100,7 +100,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=udr-1
- COMPONENT_NAME=udr
volumes:
- ../../udr:/mnt/udr
- ../../log:/open5gs/install/var/log/open5gs
@@ -120,7 +120,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=udm-1
- COMPONENT_NAME=udm
volumes:
- ../../udm:/mnt/udm
- ../../log:/open5gs/install/var/log/open5gs
@@ -141,7 +141,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=smf-1
- COMPONENT_NAME=smf
- DEPLOY_MODE=5G
volumes:
- ../../smf:/mnt/smf
@@ -172,7 +172,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=eupf-1
- COMPONENT_NAME=eupf
volumes:
- ../../eupf:/mnt/eupf
- /sys/fs/bpf:/sys/fs/bpf
@@ -228,7 +228,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=amf-1
- COMPONENT_NAME=amf
volumes:
- ../../amf:/mnt/amf
- ../../log:/open5gs/install/var/log/open5gs
@@ -253,7 +253,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=pcf-1
- COMPONENT_NAME=pcf
volumes:
- ../../pcf:/mnt/pcf
- ../../log:/open5gs/install/var/log/open5gs
@@ -275,7 +275,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=bsf-1
- COMPONENT_NAME=bsf
volumes:
- ../../bsf:/mnt/bsf
- ../../log:/open5gs/install/var/log/open5gs
@@ -296,7 +296,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=nssf-1
- COMPONENT_NAME=nssf
volumes:
- ../../nssf:/mnt/nssf
- ../../log:/open5gs/install/var/log/open5gs

View File

@@ -42,7 +42,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=nrf-1
- COMPONENT_NAME=nrf
volumes:
- ../../nrf:/mnt/nrf
- ../../log:/open5gs/install/var/log/open5gs
@@ -59,7 +59,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=scp-1
- COMPONENT_NAME=scp
volumes:
- ../../scp:/mnt/scp
- ../../log:/open5gs/install/var/log/open5gs
@@ -79,7 +79,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=ausf-1
- COMPONENT_NAME=ausf
volumes:
- ../../ausf:/mnt/ausf
- ../../log:/open5gs/install/var/log/open5gs
@@ -100,7 +100,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=udr-1
- COMPONENT_NAME=udr
volumes:
- ../../udr:/mnt/udr
- ../../log:/open5gs/install/var/log/open5gs
@@ -120,7 +120,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=udm-1
- COMPONENT_NAME=udm
volumes:
- ../../udm:/mnt/udm
- ../../log:/open5gs/install/var/log/open5gs
@@ -141,7 +141,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=smf-1
- COMPONENT_NAME=smf
- DEPLOY_MODE=5G
volumes:
- ../../smf:/mnt/smf
@@ -172,7 +172,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=eupf-1
- COMPONENT_NAME=eupf
volumes:
- ../../eupf:/mnt/eupf
- /sys/fs/bpf:/sys/fs/bpf
@@ -228,7 +228,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=amf-1
- COMPONENT_NAME=amf
volumes:
- ../../amf:/mnt/amf
- ../../log:/open5gs/install/var/log/open5gs
@@ -253,7 +253,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=pcf-1
- COMPONENT_NAME=pcf
volumes:
- ../../pcf:/mnt/pcf
- ../../log:/open5gs/install/var/log/open5gs
@@ -275,7 +275,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=bsf-1
- COMPONENT_NAME=bsf
volumes:
- ../../bsf:/mnt/bsf
- ../../log:/open5gs/install/var/log/open5gs
@@ -296,7 +296,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=nssf-1
- COMPONENT_NAME=nssf
volumes:
- ../../nssf:/mnt/nssf
- ../../log:/open5gs/install/var/log/open5gs
@@ -417,7 +417,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=icscf-1
- COMPONENT_NAME=icscf
depends_on:
- dns
- mysql
@@ -441,7 +441,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=scscf-1
- COMPONENT_NAME=scscf
depends_on:
- dns
- mysql
@@ -468,7 +468,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=pcscf-1
- COMPONENT_NAME=pcscf
- DEPLOY_MODE=5G
depends_on:
- dns
@@ -499,7 +499,7 @@ services:
env_file:
- .custom_env
environment:
- COMPONENT_NAME=smsc-1
- COMPONENT_NAME=smsc
depends_on:
- dns
- mysql

View File

@@ -42,7 +42,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=nrf-1
- COMPONENT_NAME=nrf
volumes:
- ./nrf:/mnt/nrf
- ./log:/open5gs/install/var/log/open5gs
@@ -59,7 +59,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=scp-1
- COMPONENT_NAME=scp
volumes:
- ./scp:/mnt/scp
- ./log:/open5gs/install/var/log/open5gs
@@ -79,7 +79,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=ausf-1
- COMPONENT_NAME=ausf
volumes:
- ./ausf:/mnt/ausf
- ./log:/open5gs/install/var/log/open5gs
@@ -100,7 +100,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=udr-1
- COMPONENT_NAME=udr
volumes:
- ./udr:/mnt/udr
- ./log:/open5gs/install/var/log/open5gs
@@ -120,7 +120,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=udm-1
- COMPONENT_NAME=udm
volumes:
- ./udm:/mnt/udm
- ./log:/open5gs/install/var/log/open5gs
@@ -141,7 +141,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcf-1
- COMPONENT_NAME=pcf
volumes:
- ./pcf:/mnt/pcf
- ./log:/open5gs/install/var/log/open5gs
@@ -163,7 +163,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=bsf-1
- COMPONENT_NAME=bsf
volumes:
- ./bsf:/mnt/bsf
- ./log:/open5gs/install/var/log/open5gs
@@ -184,7 +184,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=nssf-1
- COMPONENT_NAME=nssf
volumes:
- ./nssf:/mnt/nssf
- ./log:/open5gs/install/var/log/open5gs
@@ -201,7 +201,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=hss-1
- COMPONENT_NAME=hss
volumes:
- ./hss:/mnt/hss
- ./log:/open5gs/install/var/log/open5gs
@@ -228,7 +228,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=sgwc-1
- COMPONENT_NAME=sgwc
volumes:
- ./sgwc:/mnt/sgwc
- ./log:/open5gs/install/var/log/open5gs
@@ -249,7 +249,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=sgwu-1
- COMPONENT_NAME=sgwu
volumes:
- ./sgwu:/mnt/sgwu
- ./log:/open5gs/install/var/log/open5gs
@@ -273,7 +273,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smf-1
- COMPONENT_NAME=smf
- DEPLOY_MODE=ALL
volumes:
- ./smf:/mnt/smf
@@ -304,7 +304,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=upf-1
- COMPONENT_NAME=upf
volumes:
- ./upf:/mnt/upf
- ./log:/open5gs/install/var/log/open5gs
@@ -339,7 +339,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=amf-1
- COMPONENT_NAME=amf
volumes:
- ./amf:/mnt/amf
- ./log:/open5gs/install/var/log/open5gs
@@ -367,7 +367,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=mme-1
- COMPONENT_NAME=mme
volumes:
- ./mme:/mnt/mme
- ./log:/open5gs/install/var/log/open5gs
@@ -394,7 +394,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcrf-1
- COMPONENT_NAME=pcrf
depends_on:
- mongo
volumes:
@@ -507,7 +507,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=icscf-1
- COMPONENT_NAME=icscf
depends_on:
- dns
- mysql
@@ -531,7 +531,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=scscf-1
- COMPONENT_NAME=scscf
depends_on:
- dns
- mysql
@@ -558,7 +558,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcscf-1
- COMPONENT_NAME=pcscf
- DEPLOY_MODE=ALL
depends_on:
- dns
@@ -598,7 +598,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smsc-1
- COMPONENT_NAME=smsc
depends_on:
- dns
- mysql
@@ -619,7 +619,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=osmomsc-1
- COMPONENT_NAME=osmomsc
depends_on:
- osmohlr
expose:
@@ -639,7 +639,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=osmohlr-1
- COMPONENT_NAME=osmohlr
expose:
- "4222/tcp"
networks:

View File

@@ -28,27 +28,27 @@
if [[ -z "$COMPONENT_NAME" ]]; then
echo "Error: COMPONENT_NAME environment variable not set"; exit 1;
elif [[ "$COMPONENT_NAME" =~ ^(icscf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(icscf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/icscf/icscf_init.sh && \
/mnt/icscf/${COMPONENT_NAME}_init.sh && \
mkdir -p /var/run/kamailio_icscf && \
rm -f /kamailio_icscf.pid && \
kamailio -f /etc/kamailio_icscf/kamailio_icscf.cfg -P /kamailio_icscf.pid -DD -E -e
elif [[ "$COMPONENT_NAME" =~ ^(scscf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(scscf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/scscf/scscf_init.sh && \
/mnt/scscf/${COMPONENT_NAME}_init.sh && \
mkdir -p /var/run/kamailio_scscf && \
rm -f /kamailio_scscf.pid && \
kamailio -f /etc/kamailio_scscf/kamailio_scscf.cfg -P /kamailio_scscf.pid -DD -E -e
elif [[ "$COMPONENT_NAME" =~ ^(pcscf-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(pcscf[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/pcscf/pcscf_init.sh && \
/mnt/pcscf/${COMPONENT_NAME}_init.sh && \
mkdir -p /var/run/kamailio_pcscf && \
rm -f /kamailio_pcscf.pid && \
kamailio -f /etc/kamailio_pcscf/kamailio_pcscf.cfg -P /kamailio_pcscf.pid -DD -E -e
elif [[ "$COMPONENT_NAME" =~ ^(smsc-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(smsc[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/smsc/smsc_init.sh && \
/mnt/smsc/${COMPONENT_NAME}_init.sh && \
mkdir -p /var/run/kamailio_smsc && \
rm -f /kamailio_smsc.pid && \
kamailio -f /etc/kamailio_smsc/kamailio_smsc.cfg -P /kamailio_smsc.pid -DD -E -e

View File

@@ -12,7 +12,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=ueransim-gnb-1
- COMPONENT_NAME=ueransim-gnb
expose:
- "38412/sctp"
- "2152/udp"

View File

@@ -12,7 +12,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=ueransim-ue-1
- COMPONENT_NAME=ueransim-ue
expose:
- "4997/udp"
cap_add:

View File

@@ -42,7 +42,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=nrf-1
- COMPONENT_NAME=nrf
volumes:
- ./nrf:/mnt/nrf
- ./log:/open5gs/install/var/log/open5gs
@@ -59,7 +59,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=scp-1
- COMPONENT_NAME=scp
volumes:
- ./scp:/mnt/scp
- ./log:/open5gs/install/var/log/open5gs
@@ -79,7 +79,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=ausf-1
- COMPONENT_NAME=ausf
volumes:
- ./ausf:/mnt/ausf
- ./log:/open5gs/install/var/log/open5gs
@@ -100,7 +100,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=udr-1
- COMPONENT_NAME=udr
volumes:
- ./udr:/mnt/udr
- ./log:/open5gs/install/var/log/open5gs
@@ -120,7 +120,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=udm-1
- COMPONENT_NAME=udm
volumes:
- ./udm:/mnt/udm
- ./log:/open5gs/install/var/log/open5gs
@@ -141,7 +141,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smf-1
- COMPONENT_NAME=smf
- DEPLOY_MODE=5G
volumes:
- ./smf:/mnt/smf
@@ -172,7 +172,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=upf-1
- COMPONENT_NAME=upf
volumes:
- ./upf:/mnt/upf
- ./log:/open5gs/install/var/log/open5gs
@@ -207,7 +207,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=amf-1
- COMPONENT_NAME=amf
volumes:
- ./amf:/mnt/amf
- ./log:/open5gs/install/var/log/open5gs
@@ -232,7 +232,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcf-1
- COMPONENT_NAME=pcf
volumes:
- ./pcf:/mnt/pcf
- ./log:/open5gs/install/var/log/open5gs
@@ -254,7 +254,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=bsf-1
- COMPONENT_NAME=bsf
volumes:
- ./bsf:/mnt/bsf
- ./log:/open5gs/install/var/log/open5gs
@@ -275,7 +275,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=nssf-1
- COMPONENT_NAME=nssf
volumes:
- ./nssf:/mnt/nssf
- ./log:/open5gs/install/var/log/open5gs

View File

@@ -42,7 +42,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=nrf-1
- COMPONENT_NAME=nrf
volumes:
- ./nrf:/mnt/nrf
- ./log:/open5gs/install/var/log/open5gs
@@ -59,7 +59,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=scp-1
- COMPONENT_NAME=scp
volumes:
- ./scp:/mnt/scp
- ./log:/open5gs/install/var/log/open5gs
@@ -79,7 +79,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=ausf-1
- COMPONENT_NAME=ausf
volumes:
- ./ausf:/mnt/ausf
- ./log:/open5gs/install/var/log/open5gs
@@ -100,7 +100,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=udr-1
- COMPONENT_NAME=udr
volumes:
- ./udr:/mnt/udr
- ./log:/open5gs/install/var/log/open5gs
@@ -120,7 +120,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=udm-1
- COMPONENT_NAME=udm
volumes:
- ./udm:/mnt/udm
- ./log:/open5gs/install/var/log/open5gs
@@ -141,7 +141,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smf-1
- COMPONENT_NAME=smf
- DEPLOY_MODE=5G
volumes:
- ./smf:/mnt/smf
@@ -172,7 +172,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=upf-1
- COMPONENT_NAME=upf
volumes:
- ./upf:/mnt/upf
- ./log:/open5gs/install/var/log/open5gs
@@ -207,7 +207,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=amf-1
- COMPONENT_NAME=amf
volumes:
- ./amf:/mnt/amf
- ./log:/open5gs/install/var/log/open5gs
@@ -232,7 +232,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcf-1
- COMPONENT_NAME=pcf
volumes:
- ./pcf:/mnt/pcf
- ./log:/open5gs/install/var/log/open5gs
@@ -254,7 +254,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=bsf-1
- COMPONENT_NAME=bsf
volumes:
- ./bsf:/mnt/bsf
- ./log:/open5gs/install/var/log/open5gs
@@ -275,7 +275,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=nssf-1
- COMPONENT_NAME=nssf
volumes:
- ./nssf:/mnt/nssf
- ./log:/open5gs/install/var/log/open5gs
@@ -396,7 +396,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=icscf-1
- COMPONENT_NAME=icscf
depends_on:
- dns
- mysql
@@ -420,7 +420,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=scscf-1
- COMPONENT_NAME=scscf
depends_on:
- dns
- mysql
@@ -447,7 +447,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=pcscf-1
- COMPONENT_NAME=pcscf
- DEPLOY_MODE=5G
depends_on:
- dns
@@ -478,7 +478,7 @@ services:
env_file:
- .env
environment:
- COMPONENT_NAME=smsc-1
- COMPONENT_NAME=smsc
depends_on:
- dns
- mysql

435
srslte/gnb.conf Normal file
View File

@@ -0,0 +1,435 @@
#####################################################################
# srsENB configuration file
#####################################################################
#####################################################################
# eNB configuration
#
# enb_id: 20-bit eNB identifier.
# mcc: Mobile Country Code
# mnc: Mobile Network Code
# mme_addr: IP address of MME for S1 connnection
# gtp_bind_addr: Local IP address to bind for GTP connection
# gtp_advertise_addr: IP address of eNB to advertise for DL GTP-U Traffic
# s1c_bind_addr: Local IP address to bind for S1AP connection
# s1c_bind_port: Source port for S1AP connection (0 means any)
# n_prb: Number of Physical Resource Blocks (6,15,25,50,75,100)
# tm: Transmission mode 1-4 (TM1 default)
# nof_ports: Number of Tx ports (1 port default, set to 2 for TM2/3/4)
#
#####################################################################
[enb]
enb_id = 0x19B
mcc = MCC
mnc = MNC
mme_addr = MME_IP
gtp_bind_addr = SRS_ENB_IP
s1c_bind_addr = SRS_ENB_IP
s1c_bind_port = 0
n_prb = 50
#tm = 4
#nof_ports = 2
#####################################################################
# eNB configuration files
#
# sib_config: SIB1, SIB2 and SIB3 configuration file
# note: When enabling MBMS, use the sib.conf.mbsfn configuration file which includes SIB13
# rr_config: Radio Resources configuration file
# rb_config: SRB/DRB configuration file
#####################################################################
[enb_files]
sib_config = /etc/srsran/sib.conf
rr_config = /etc/srsran/rr.conf
rb_config = /etc/srsran/rb.conf
#####################################################################
# RF configuration
#
# dl_earfcn: EARFCN code for DL (only valid if a single cell is configured in rr.conf)
# tx_gain: Transmit gain (dB).
# rx_gain: Optional receive gain (dB). If disabled, AGC if enabled
#
# Optional parameters:
# dl_freq: Override DL frequency corresponding to dl_earfcn
# ul_freq: Override UL frequency corresponding to dl_earfcn (must be set if dl_freq is set)
# device_name: Device driver family
# Supported options: "auto" (uses first driver found), "UHD", "bladeRF", "soapy", "zmq" or "Sidekiq"
# device_args: Arguments for the device driver. Options are "auto" or any string.
# Default for UHD: "recv_frame_size=9232,send_frame_size=9232"
# Default for bladeRF: ""
# time_adv_nsamples: Transmission time advance (in number of samples) to compensate for RF delay
# from antenna to timestamp insertion.
# Default "auto". B210 USRP: 100 samples, bladeRF: 27
#####################################################################
[rf]
#dl_earfcn = 3150
tx_gain = 80
rx_gain = 40
#tx_gain = 56
#rx_gain = 38
#device_name = soapy
#device_args = id=1
#device_args = id=1,rxant=LNAW,txant=BAND2
#device_name = lime
#device_args = index=0,cal=all,refclk=10e6
#device_args = index=0,cal=none,refclk=10e6
#device_args = clock=external
#device_name = auto
# For best performance in 2x2 MIMO and >= 15 MHz use the following device_args settings:
# USRP B210: num_recv_frames=64,num_send_frames=64
# And for 75 PRBs, also append ",master_clock_rate=15.36e6" to the device args
# For best performance when BW<5 MHz (25 PRB), use the following device_args settings:
# USRP B210: send_frame_size=512,recv_frame_size=512
#device_args = auto
#time_adv_nsamples = auto
# Example for ZMQ-based operation with TCP transport for I/Q samples
#device_name = zmq
#device_args = fail_on_disconnect=true,tx_port=tcp://*:2000,rx_port=tcp://localhost:2001,id=enb,base_srate=23.04e6
#####################################################################
# Packet capture configuration
#
# MAC-layer packets are captured to a file in the compact format which can
# be decoded by Wireshark. For decoding, use the UDP dissector and the UDP
# heuristic dissection. Edit the preferences (Edit > Preferences >
# Protocols > DLT_USER) for DLT_USER to add an entry for DLT=149 with
# Protocol=udp. Further, enable the heuristic dissection in UDP under:
# Analyze > Enabled Protocols > MAC-LTE > mac_lte_udp and MAC-NR > mac_nr_udp
# For more information see: https://wiki.wireshark.org/MAC-LTE
# Configuring this Wireshark preferences is needed for decoding the MAC PCAP
# files as well as for the live network capture option.
#
# Please note that this setting will by default only capture MAC
# frames on dedicated channels, and not SIB. You have to build with
# WRITE_SIB_PCAP enabled in srsenb/src/stack/mac/mac.cc if you want
# SIB to be part of the MAC pcap file.
#
# S1AP Packets are captured to a file in the compact format which can
# be decoded by the Wireshark s1ap dissector with DLT 150.
# To use the dissector, edit the preferences for DLT_USER to
# add an entry with DLT=150, Payload Protocol=s1ap.
#
# mac_enable: Enable MAC layer packet captures (true/false)
# filename: File path to use for LTE MAC packet captures
# nr_filename: File path to use for NR MAC packet captures
# s1ap_enable: Enable or disable the PCAP.
# s1ap_filename: File name where to save the PCAP.
#
# mac_net_enable: Enable MAC layer packet captures sent over the network (true/false default: false)
# bind_ip: Bind IP address for MAC network trace (default: "0.0.0.0")
# bind_port: Bind port for MAC network trace (default: 5687)
# client_ip: Client IP address for MAC network trace (default: "127.0.0.1")
# client_port Client IP address for MAC network trace (default: 5847)
#####################################################################
[pcap]
#enable = false
#filename = /mnt/srslte/enb_mac.pcap
#nr_filename = /mnt/srslte/enb_mac_nr.pcap
#s1ap_enable = false
#s1ap_filename = /mnt/srslte/enb_s1ap.pcap
#mac_net_enable = false
#bind_ip = 0.0.0.0
#bind_port = 5687
#client_ip = 127.0.0.1
#client_port = 5847
#####################################################################
# Log configuration
#
# Log levels can be set for individual layers. "all_level" sets log
# level for all layers unless otherwise configured.
# Format: e.g. phy_level = info
#
# In the same way, packet hex dumps can be limited for each level.
# "all_hex_limit" sets the hex limit for all layers unless otherwise
# configured.
# Format: e.g. phy_hex_limit = 32
#
# Logging layers: rf, phy, phy_lib, mac, rlc, pdcp, rrc, gtpu, s1ap, stack, all
# Logging levels: debug, info, warning, error, none
#
# filename: File path to use for log output. Can be set to stdout
# to print logs to standard output
# file_max_size: Maximum file size (in kilobytes). When passed, multiple files are created.
# If set to negative, a single log file will be created.
#####################################################################
[log]
all_level = warning
all_hex_limit = 32
filename = /mnt/srslte/enb.log
file_max_size = -1
[gui]
enable = false
#####################################################################
# Scheduler configuration options
#
# sched_policy: User MAC scheduling policy (E.g. time_rr, time_pf)
# min_aggr_level: Optional minimum aggregation level index (l=log2(L) can be 0, 1, 2 or 3)
# max_aggr_level: Optional maximum aggregation level index (l=log2(L) can be 0, 1, 2 or 3)
# adaptive_aggr_level: Boolean flag to enable/disable adaptive aggregation level based on target BLER
# pdsch_mcs: Optional fixed PDSCH MCS (ignores reported CQIs if specified)
# pdsch_max_mcs: Optional PDSCH MCS limit
# pusch_mcs: Optional fixed PUSCH MCS (ignores reported CQIs if specified)
# pusch_max_mcs: Optional PUSCH MCS limit
# min_nof_ctrl_symbols: Minimum number of control symbols
# max_nof_ctrl_symbols: Maximum number of control symbols
# pucch_multiplex_enable: Allow PUCCH HARQ to collide with PUSCH and other PUCCH
# pucch_harq_max_rb: Maximum number of RB to be used for PUCCH on the edges of the grid.
# If defined and greater than 0, the scheduler will avoid DL PDCCH allocations if
# PUCCH HARQ falls outside this region
# target_bler: Target BLER (in decimal) to achieve via adaptive link
# max_delta_dl_cqi: Maximum shift in CQI for adaptive DL link
# max_delta_ul_snr: Maximum shift in UL SNR for adaptive UL link
# adaptive_dl_mcs_step_size: Step size or learning rate used in adaptive DL MCS link
# adaptive_ul_mcs_step_size: Step size or learning rate used in adaptive UL MCS link
# min_tpc_tti_interval: Minimum TTI interval between TPCs different than 1
# ul_snr_avg_alpha: Exponential Average alpha coefficient used in estimation of UL SNR
# init_ul_snr_value: Initial UL SNR value used for computing MCS in the first UL grant
# init_dl_cqi: DL CQI value used before any CQI report is available to the eNB
# max_sib_coderate: Upper bound on SIB and RAR grants coderate
# pdcch_cqi_offset: CQI offset in derivation of PDCCH aggregation level
# nr_pdsch_mcs: Optional fixed NR PDSCH MCS (ignores reported CQIs if specified)
# nr_pusch_mcs: Optional fixed NR PUSCH MCS (ignores reported CQIs if specified)
#
#####################################################################
[scheduler]
#policy = time_pf
#policy_args = 2
#min_aggr_level = 0
#max_aggr_level = 3
#adaptive_aggr_level = false
#pdsch_mcs = -1
#pdsch_max_mcs = -1
#pusch_mcs = -1
#pusch_max_mcs = 16
#min_nof_ctrl_symbols = 1
#max_nof_ctrl_symbols = 3
#pucch_multiplex_enable = false
#pucch_harq_max_rb = 0
#target_bler = 0.05
#max_delta_dl_cqi = 5
#max_delta_ul_snr = 5
#adaptive_dl_mcs_step_size = 0.001
#adaptive_ul_mcs_step_size = 0.001
#min_tpc_tti_interval = 1
#ul_snr_avg_alpha=0.05
#init_ul_snr_value=5
#init_dl_cqi=5
#max_sib_coderate=0.3
#pdcch_cqi_offset=0
#nr_pdsch_mcs=15
#nr_pusch_mcs=12
#####################################################################
# eMBMS configuration options
#
# enable: Enable MBMS transmission in the eNB
# m1u_multiaddr: Multicast address the M1-U socket will register to
# m1u_if_addr: Address of the interface the M1-U interface will listen to for multicast packets
# mcs: Modulation and Coding scheme for MBMS traffic
#
#####################################################################
[embms]
#enable = false
#m1u_multiaddr = 239.255.0.1
#m1u_if_addr = 127.0.1.201
#mcs = 20
#####################################################################
# Channel emulator options:
# enable: Enable/disable internal Downlink/Uplink channel emulator
#
# -- AWGN Generator
# awgn.enable: Enable/disable AWGN generator
# awgn.snr: Target SNR in dB
#
# -- Fading emulator
# fading.enable: Enable/disable fading simulator
# fading.model: Fading model + maximum doppler (E.g. none, epa5, eva70, etu300, etc)
#
# -- Delay Emulator delay(t) = delay_min + (delay_max - delay_min) * (1 + sin(2pi*t/period)) / 2
# Maximum speed [m/s]: (delay_max - delay_min) * pi * 300 / period
# delay.enable: Enable/disable delay simulator
# delay.period_s: Delay period in seconds
# delay.init_time_s: Delay initial time in seconds
# delay.maximum_us: Maximum delay in microseconds
# delay.minumum_us: Minimum delay in microseconds
#
# -- Radio-Link Failure (RLF) Emulator
# rlf.enable: Enable/disable RLF simulator
# rlf.t_on_ms: Time for On state of the channel (ms)
# rlf.t_off_ms: Time for Off state of the channel (ms)
#
# -- High Speed Train Doppler model simulator
# hst.enable: Enable/disable HST simulator
# hst.period_s: HST simulation period in seconds
# hst.fd_hz: Doppler frequency in Hz
# hst.init_time_s: Initial time in seconds
#####################################################################
[channel.dl]
#enable = false
[channel.dl.awgn]
#enable = false
#snr = 30
[channel.dl.fading]
#enable = false
#model = none
[channel.dl.delay]
#enable = false
#period_s = 3600
#init_time_s = 0
#maximum_us = 100
#minimum_us = 10
[channel.dl.rlf]
#enable = false
#t_on_ms = 10000
#t_off_ms = 2000
[channel.dl.hst]
#enable = false
#period_s = 7.2
#fd_hz = 750.0
#init_time_s = 0.0
[channel.ul]
#enable = false
[channel.ul.awgn]
#enable = false
#n0 = -30
[channel.ul.fading]
#enable = false
#model = none
[channel.ul.delay]
#enable = false
#period_s = 3600
#init_time_s = 0
#maximum_us = 100
#minimum_us = 10
[channel.ul.rlf]
#enable = false
#t_on_ms = 10000
#t_off_ms = 2000
[channel.ul.hst]
#enable = false
#period_s = 7.2
#fd_hz = -750.0
#init_time_s = 0.0
#####################################################################
# CFR configuration options
#
# The CFR module provides crest factor reduction for the transmitted signal.
#
# enable: Enable or disable the CFR. Default: disabled
#
# mode: manual: CFR threshold is set by cfr_manual_thres (default).
# auto_ema: CFR threshold is adaptive based on the signal PAPR. Power avg. with Exponential Moving Average.
# The time constant of the averaging can be tweaked with the ema_alpha parameter.
# auto_cma: CFR threshold is adaptive based on the signal PAPR. Power avg. with Cumulative Moving Average.
# Use with care, as CMA's increasingly slow response may be unsuitable for most use cases.
#
# strength: Ratio between amplitude-limited vs unprocessed signal (0 to 1). Default: 1
# manual_thres: Fixed manual clipping threshold for CFR manual mode. Default: 0.5
# auto_target_papr: Signal PAPR target (in dB) in CFR auto modes. output PAPR can be higher due to peak smoothing. Default: 8
# ema_alpha: Alpha coefficient for the power average in auto_ema mode. Default: 1/7
#
#####################################################################
[cfr]
#enable = false
#mode = manual
#manual_thres = 0.5
#strength = 1
#auto_target_papr = 8
#ema_alpha = 0.0143
#####################################################################
# Expert configuration options
#
# pusch_max_its: Maximum number of turbo decoder iterations (default: 4)
# nr_pusch_max_its: Maximum number of LDPC iterations for NR (Default 10)
# pusch_8bit_decoder: Use 8-bit for LLR representation and turbo decoder trellis computation (experimental)
# nof_phy_threads: Selects the number of PHY threads (maximum: 4, minimum: 1, default: 3)
# metrics_period_secs: Sets the period at which metrics are requested from the eNB
# metrics_csv_enable: Write eNB metrics to CSV file.
# metrics_csv_filename: File path to use for CSV metrics
# report_json_enable: Write eNB report to JSON file (default: disabled)
# report_json_filename: Report JSON filename (default: /mnt/srslte/enb_report.json)
# report_json_asn1_oct: Prints ASN1 messages encoded as an octet string instead of plain text in the JSON report file
# alarms_log_enable: Enable Alarms logging (default: disabled)
# alarms_filename: Alarms logging filename (default: /mnt/srslte/alarms.log)
# tracing_enable: Write source code tracing information to a file
# tracing_filename: File path to use for tracing information
# tracing_buffcapacity: Maximum capacity in bytes the tracing framework can store
# stdout_ts_enable: Prints once per second the timestamp into stdout
# tx_amplitude: Transmit amplitude factor (set 0-1 to reduce PAPR)
# rrc_inactivity_timer Inactivity timeout used to remove UE context from RRC (in milliseconds)
# max_mac_dl_kos: Maximum number of consecutive KOs in DL before triggering the UE's release (default: 100)
# max_mac_ul_kos: Maximum number of consecutive KOs in UL before triggering the UE's release (default: 100)
# max_prach_offset_us: Maximum allowed RACH offset (in us)
# nof_prealloc_ues: Number of UE memory resources to preallocate during eNB initialization for faster UE creation (default: 8)
# rlf_release_timer_ms: Time taken by eNB to release UE context after it detects an RLF
# eea_pref_list: Ordered preference list for the selection of encryption algorithm (EEA) (default: EEA0, EEA2, EEA1)
# eia_pref_list: Ordered preference list for the selection of integrity algorithm (EIA) (default: EIA2, EIA1, EIA0)
# gtpu_tunnel_timeout: Time that GTPU takes to release indirect forwarding tunnel since the last received GTPU PDU (0 for no timer)
# ts1_reloc_prep_timeout: S1AP TS 36.413 TS1RelocPrep Expiry Timeout value in milliseconds
# ts1_reloc_overall_timeout: S1AP TS 36.413 TS1RelocOverall Expiry Timeout value in milliseconds
# rlf_release_timer_ms: Time taken by eNB to release UE context after it detects a RLF
# rlf_min_ul_snr_estim: SNR threshold in dB below which the enb is notified with RLF ko
# s1_setup_max_retries: Maximum amount of retries to setup the S1AP connection. If this value is exceeded, an alarm is written to the log. -1 means infinity.
# rx_gain_offset: RX Gain offset to add to rx_gain to calibrate RSRP readings
#####################################################################
[expert]
#pusch_max_its = 8 # These are half iterations
#nr_pusch_max_its = 10
#pusch_8bit_decoder = false
#nof_phy_threads = 3
#metrics_period_secs = 1
#metrics_csv_enable = false
#metrics_csv_filename = /mnt/srslte/enb_metrics.csv
#report_json_enable = true
#report_json_filename = /mnt/srslte/enb_report.json
#report_json_asn1_oct = false
#alarms_log_enable = true
#alarms_filename = /mnt/srslte/enb_alarms.log
#tracing_enable = true
#tracing_filename = /mnt/srslte/enb_tracing.log
#tracing_buffcapacity = 1000000
#stdout_ts_enable = false
#tx_amplitude = 0.6
#rrc_inactivity_timer = 30000
#max_mac_dl_kos = 100
#max_mac_ul_kos = 100
#max_prach_offset_us = 30
#nof_prealloc_ues = 8
#rlf_release_timer_ms = 4000
#lcid_padding = 3
#eea_pref_list = EEA0, EEA2, EEA1
#eia_pref_list = EIA2, EIA1, EIA0
#gtpu_tunnel_timeout = 0
#extended_cp = false
#ts1_reloc_prep_timeout = 10000
#ts1_reloc_overall_timeout = 10000
#rlf_release_timer_ms = 4000
#rlf_min_ul_snr_estim = -2
#s1_setup_max_retries = -1
#rx_gain_offset = 62

310
srslte/rb_enb_zmq.conf Normal file
View File

@@ -0,0 +1,310 @@
// All times are in ms. Use -1 for infinity, where available
// 4G Section
// srb1_config = {
// rlc_config = {
// ul_am = {
// t_poll_retx = 45;
// poll_pdu = -1;
// poll_byte = -1;
// max_retx_thresh = 4;
// };
// dl_am = {
// t_reordering = 35;
// t_status_prohibit = 0;
// };
// enb_specific = {
// dl_max_retx_thresh = 32;
// };
// };
// }
// srb2_config = {
// rlc_config = {
// ul_am = {
// t_poll_retx = 45;
// poll_pdu = -1;
// poll_byte = -1;
// max_retx_thresh = 4;
// };
// dl_am = {
// t_reordering = 35;
// t_status_prohibit = 0;
// };
// enb_specific = {
// dl_max_retx_thresh = 32;
// };
// };
// }
qci_config = (
{
qci=1;
pdcp_config = {
discard_timer = 100;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 50;
};
};
logical_channel_config = {
priority = 2;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 1;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci=2;
pdcp_config = {
discard_timer = 100;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 50;
};
};
logical_channel_config = {
priority = 4;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 1;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci=5;
pdcp_config = {
discard_timer = -1;
status_report_required = true;
}
rlc_config = {
ul_am = {
t_poll_retx = 80;
poll_pdu = 128;
poll_byte = 125;
max_retx_thresh = 4;
};
dl_am = {
t_reordering = 80;
t_status_prohibit = 60;
};
};
logical_channel_config = {
priority = 11;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 2;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci = 7;
pdcp_config = {
discard_timer = -1;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 45;
};
};
logical_channel_config = {
priority = 13;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 2;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci = 9;
pdcp_config = {
discard_timer = 150;
status_report_required = true;
}
rlc_config = {
ul_am = {
t_poll_retx = 120;
poll_pdu = 64;
poll_byte = 750;
max_retx_thresh = 16;
};
dl_am = {
t_reordering = 50;
t_status_prohibit = 50;
};
};
logical_channel_config = {
priority = 11;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 3;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
}
);
// 5G Section
srb1_5g_config = {
rlc_config = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 45;
poll_pdu = -1;
poll_byte = -1;
max_retx_thres = 8;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 35;
t_status_prohibit = 10;
};
};
}
srb2_5g_config = {
rlc_config = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 45;
poll_pdu = -1;
poll_byte = -1;
max_retx_thres = 8;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 35;
t_status_prohibit = 10;
};
};
}
five_qi_config = (
{
five_qi = 2;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
um_bi_dir = {
ul_um = {
sn_field_len = 12;
};
dl_um = {
sn_field_len = 12;
t_reassembly = 50;
};
};
};
},
{
five_qi = 5;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
am = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 50;
poll_pdu = 4;
poll_byte = 3000;
max_retx_thres = 4;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 50;
t_status_prohibit = 50;
};
};
};
},
{
five_qi = 7;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
um_bi_dir = {
ul_um = {
sn_field_len = 12;
};
dl_um = {
sn_field_len = 12;
t_reassembly = 50;
};
};
};
},
{
five_qi = 9;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
am = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 50;
poll_pdu = 4;
poll_byte = 3000;
max_retx_thres = 4;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 50;
t_status_prohibit = 50;
};
};
};
}
);

310
srslte/rb_gnb.conf Normal file
View File

@@ -0,0 +1,310 @@
// All times are in ms. Use -1 for infinity, where available
// 4G Section
// srb1_config = {
// rlc_config = {
// ul_am = {
// t_poll_retx = 45;
// poll_pdu = -1;
// poll_byte = -1;
// max_retx_thresh = 4;
// };
// dl_am = {
// t_reordering = 35;
// t_status_prohibit = 0;
// };
// enb_specific = {
// dl_max_retx_thresh = 32;
// };
// };
// }
// srb2_config = {
// rlc_config = {
// ul_am = {
// t_poll_retx = 45;
// poll_pdu = -1;
// poll_byte = -1;
// max_retx_thresh = 4;
// };
// dl_am = {
// t_reordering = 35;
// t_status_prohibit = 0;
// };
// enb_specific = {
// dl_max_retx_thresh = 32;
// };
// };
// }
qci_config = (
{
qci=1;
pdcp_config = {
discard_timer = 100;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 50;
};
};
logical_channel_config = {
priority = 2;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 1;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci=2;
pdcp_config = {
discard_timer = 100;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 50;
};
};
logical_channel_config = {
priority = 4;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 1;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci=5;
pdcp_config = {
discard_timer = -1;
status_report_required = true;
}
rlc_config = {
ul_am = {
t_poll_retx = 80;
poll_pdu = 128;
poll_byte = 125;
max_retx_thresh = 4;
};
dl_am = {
t_reordering = 80;
t_status_prohibit = 60;
};
};
logical_channel_config = {
priority = 11;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 2;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci = 7;
pdcp_config = {
discard_timer = -1;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 45;
};
};
logical_channel_config = {
priority = 13;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 2;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci = 9;
pdcp_config = {
discard_timer = 150;
status_report_required = true;
}
rlc_config = {
ul_am = {
t_poll_retx = 120;
poll_pdu = 64;
poll_byte = 750;
max_retx_thresh = 16;
};
dl_am = {
t_reordering = 50;
t_status_prohibit = 50;
};
};
logical_channel_config = {
priority = 11;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 3;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
}
);
// 5G Section
srb1_5g_config = {
rlc_config = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 45;
poll_pdu = -1;
poll_byte = -1;
max_retx_thres = 8;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 35;
t_status_prohibit = 10;
};
};
}
srb2_5g_config = {
rlc_config = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 45;
poll_pdu = -1;
poll_byte = -1;
max_retx_thres = 8;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 35;
t_status_prohibit = 10;
};
};
}
five_qi_config = (
{
five_qi = 2;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
um_bi_dir = {
ul_um = {
sn_field_len = 12;
};
dl_um = {
sn_field_len = 12;
t_reassembly = 50;
};
};
};
},
{
five_qi = 5;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
am = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 50;
poll_pdu = 4;
poll_byte = 3000;
max_retx_thres = 4;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 50;
t_status_prohibit = 50;
};
};
};
},
{
five_qi = 7;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
um_bi_dir = {
ul_um = {
sn_field_len = 12;
};
dl_um = {
sn_field_len = 12;
t_reassembly = 50;
};
};
};
},
{
five_qi = 9;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
am = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 50;
poll_pdu = 4;
poll_byte = 3000;
max_retx_thres = 4;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 50;
t_status_prohibit = 50;
};
};
};
}
);

310
srslte/rb_gnb_zmq.conf Normal file
View File

@@ -0,0 +1,310 @@
// All times are in ms. Use -1 for infinity, where available
// 4G Section
// srb1_config = {
// rlc_config = {
// ul_am = {
// t_poll_retx = 45;
// poll_pdu = -1;
// poll_byte = -1;
// max_retx_thresh = 4;
// };
// dl_am = {
// t_reordering = 35;
// t_status_prohibit = 0;
// };
// enb_specific = {
// dl_max_retx_thresh = 32;
// };
// };
// }
// srb2_config = {
// rlc_config = {
// ul_am = {
// t_poll_retx = 45;
// poll_pdu = -1;
// poll_byte = -1;
// max_retx_thresh = 4;
// };
// dl_am = {
// t_reordering = 35;
// t_status_prohibit = 0;
// };
// enb_specific = {
// dl_max_retx_thresh = 32;
// };
// };
// }
qci_config = (
{
qci=1;
pdcp_config = {
discard_timer = 100;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 50;
};
};
logical_channel_config = {
priority = 2;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 1;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci=2;
pdcp_config = {
discard_timer = 100;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 50;
};
};
logical_channel_config = {
priority = 4;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 1;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci=5;
pdcp_config = {
discard_timer = -1;
status_report_required = true;
}
rlc_config = {
ul_am = {
t_poll_retx = 80;
poll_pdu = 128;
poll_byte = 125;
max_retx_thresh = 4;
};
dl_am = {
t_reordering = 80;
t_status_prohibit = 60;
};
};
logical_channel_config = {
priority = 11;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 2;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci = 7;
pdcp_config = {
discard_timer = -1;
pdcp_sn_size = 12;
}
rlc_config = {
ul_um = {
sn_field_length = 10;
};
dl_um = {
sn_field_length = 10;
t_reordering = 45;
};
};
logical_channel_config = {
priority = 13;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 2;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
},
{
qci = 9;
pdcp_config = {
discard_timer = 150;
status_report_required = true;
}
rlc_config = {
ul_am = {
t_poll_retx = 120;
poll_pdu = 64;
poll_byte = 750;
max_retx_thresh = 16;
};
dl_am = {
t_reordering = 50;
t_status_prohibit = 50;
};
};
logical_channel_config = {
priority = 11;
prioritized_bit_rate = -1;
bucket_size_duration = 100;
log_chan_group = 3;
};
enb_specific = {
dl_max_retx_thresh = 32;
};
}
);
// 5G Section
srb1_5g_config = {
rlc_config = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 45;
poll_pdu = -1;
poll_byte = -1;
max_retx_thres = 8;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 35;
t_status_prohibit = 10;
};
};
}
srb2_5g_config = {
rlc_config = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 45;
poll_pdu = -1;
poll_byte = -1;
max_retx_thres = 8;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 35;
t_status_prohibit = 10;
};
};
}
five_qi_config = (
{
five_qi = 2;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
um_bi_dir = {
ul_um = {
sn_field_len = 12;
};
dl_um = {
sn_field_len = 12;
t_reassembly = 50;
};
};
};
},
{
five_qi = 5;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
am = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 50;
poll_pdu = 4;
poll_byte = 3000;
max_retx_thres = 4;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 50;
t_status_prohibit = 50;
};
};
};
},
{
five_qi = 7;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
um_bi_dir = {
ul_um = {
sn_field_len = 12;
};
dl_um = {
sn_field_len = 12;
t_reassembly = 50;
};
};
};
},
{
five_qi = 9;
pdcp_nr_config = {
drb = {
discard_timer = 50;
pdcp_sn_size_ul = 18;
pdcp_sn_size_dl = 18;
};
t_reordering = 50;
};
rlc_config = {
am = {
ul_am = {
sn_field_len = 12;
t_poll_retx = 50;
poll_pdu = 4;
poll_byte = 3000;
max_retx_thres = 4;
};
dl_am = {
sn_field_len = 12;
t_reassembly = 50;
t_status_prohibit = 50;
};
};
};
}
);

118
srslte/rr_enb.conf Normal file
View File

@@ -0,0 +1,118 @@
mac_cnfg =
{
phr_cnfg =
{
dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY
periodic_phr_timer = 50;
prohibit_phr_timer = 0;
};
ulsch_cnfg =
{
max_harq_tx = 4;
periodic_bsr_timer = 20; // in ms
retx_bsr_timer = 320; // in ms
};
time_alignment_timer = -1; // -1 is infinity
};
phy_cnfg =
{
phich_cnfg =
{
duration = "Normal";
resources = "1/6";
};
pusch_cnfg_ded =
{
beta_offset_ack_idx = 6;
beta_offset_ri_idx = 6;
beta_offset_cqi_idx = 6;
};
// PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource.
sched_request_cnfg =
{
dsr_trans_max = 64;
period = 20; // in ms
//subframe = [1, 11]; // Optional vector of subframe indices allowed for SR transmissions (default uses all)
nof_prb = 1; // number of PRBs on each extreme used for SR (total prb is twice this number)
};
cqi_report_cnfg =
{
mode = "periodic";
simultaneousAckCQI = true;
period = 40; // in ms
//subframe = [0, 10, 20, 30]; // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all)
m_ri = 8; // RI period in CQI period
//subband_k = 1; // If enabled and > 0, configures sub-band CQI reporting and defines K (see 36.213 7.2.2). If disabled, configures wideband CQI
};
};
cell_list =
(
{
// rf_port = 0;
cell_id = 0x01;
tac = 0x0001;
pci = 1;
// root_seq_idx = 204;
dl_earfcn = 3350;
//dl_earfcn = 6300;
//ul_earfcn = 21400;
ho_active = false;
//meas_gap_period = 0; // 0 (inactive), 40 or 80
//meas_gap_offset_subframe = [6, 12, 18, 24, 30];
// target_pusch_sinr = -1;
// target_pucch_sinr = -1;
// enable_phr_handling = false;
// min_phr_thres = 0;
// allowed_meas_bw = 6;
// t304 = 2000; // in msec. possible values: 50, 100, 150, 200, 500, 1000, 2000
// CA cells
scell_list = (
// {cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true}
)
// Cells available for handover
meas_cell_list =
(
{
eci = 0x19C02;
dl_earfcn = 2850;
pci = 2;
//direct_forward_path_available = false;
//allowed_meas_bw = 6;
//cell_individual_offset = 0;
}
);
// Select measurement report configuration (all reports are combined with all measurement objects)
meas_report_desc =
(
{
eventA = 3
a3_offset = 6;
hysteresis = 0;
time_to_trigger = 480;
trigger_quant = "RSRP";
max_report_cells = 1;
report_interv = 120;
report_amount = 1;
}
);
meas_quant_desc = {
// averaging filter coefficient
rsrq_config = 4;
rsrp_config = 4;
};
}
// Add here more cells
);
nr_cell_list =
(
// no NR cells
);

294
srslte/sib_enb_zmq.conf Normal file
View File

@@ -0,0 +1,294 @@
sib1 =
{
intra_freq_reselection = "Allowed";
q_rx_lev_min = -65;
//p_max = 3;
cell_barred = "NotBarred"
si_window_length = 20;
sched_info =
(
{
si_periodicity = 16;
// comma-separated array of SIB-indexes (from 3 to 13), leave empty or commented to just scheduler sib2
si_mapping_info = [ 3 ];
}
);
system_info_value_tag = 0;
};
sib2 =
{
rr_config_common_sib =
{
rach_cnfg =
{
num_ra_preambles = 52;
preamble_init_rx_target_pwr = -104;
pwr_ramping_step = 6; // in dB
preamble_trans_max = 10;
ra_resp_win_size = 10; // in ms
mac_con_res_timer = 64; // in ms
max_harq_msg3_tx = 4;
};
bcch_cnfg =
{
modification_period_coeff = 16; // in ms
};
pcch_cnfg =
{
default_paging_cycle = 32; // in rf
nB = "1";
};
prach_cnfg =
{
root_sequence_index = 128;
prach_cnfg_info =
{
high_speed_flag = false;
prach_config_index = 3;
prach_freq_offset = 4;
zero_correlation_zone_config = 5;
};
};
pdsch_cnfg =
{
/* Warning: Currently disabled and forced to p_b=1 for TM2/3/4 and p_b=0 for TM1
*/
p_b = 1;
rs_power = 0;
};
pusch_cnfg =
{
n_sb = 1;
hopping_mode = "inter-subframe";
pusch_hopping_offset = 2;
enable_64_qam = false; // 64QAM PUSCH is not currently enabled
ul_rs =
{
cyclic_shift = 0;
group_assignment_pusch = 0;
group_hopping_enabled = false;
sequence_hopping_enabled = false;
};
};
pucch_cnfg =
{
delta_pucch_shift = 1;
n_rb_cqi = 1;
n_cs_an = 0;
n1_pucch_an = 12;
};
ul_pwr_ctrl =
{
p0_nominal_pusch = -85;
alpha = 0.7;
p0_nominal_pucch = -107;
delta_flist_pucch =
{
format_1 = 0;
format_1b = 3;
format_2 = 1;
format_2a = 2;
format_2b = 2;
};
delta_preamble_msg3 = 6;
};
ul_cp_length = "len1";
};
ue_timers_and_constants =
{
t300 = 2000; // in ms
t301 = 100; // in ms
t310 = 200; // in ms
n310 = 1;
t311 = 10000; // in ms
n311 = 1;
};
freqInfo =
{
ul_carrier_freq_present = true;
ul_bw_present = true;
additional_spectrum_emission = 1;
};
time_alignment_timer = "INFINITY"; // use "sf500", "sf750", etc.
};
sib3 =
{
cell_reselection_common = {
q_hyst = 2; // in dB
},
cell_reselection_serving = {
s_non_intra_search = 3,
thresh_serving_low = 2,
cell_resel_prio = 6
},
intra_freq_reselection = {
q_rx_lev_min = -61,
p_max = 23,
s_intra_search = 5,
presence_ant_port_1 = true,
neigh_cell_cnfg = 1,
t_resel_eutra = 1
}
};
#####################################################################
# sib5 configuration options (See TS 36.331)
# Contains information relevant for inter-frequency cell re-selection.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# inter_freq_carrier_freq_list: A list of neighbouring inter-frequencies.
# dl_carrier_freq: The EARFCN for the EUTRA carrier frequency.
# q_rx_lev_min: Minimum received RSRP level in the E-UTRA cell, ([field_val] * 2) = [level in dBm].
# p_max: Optional maximum allowed transmission power for the neighbouring E-UTRA cells on this carrier frequency.
# t_resel_eutra: Cell reselection timer (seconds).
# t_resel_eutra_sf: Optional speed dependent ScalingFactor for t_resel_eutra.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency.
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency.
# allowed_meas_bw: Maximum allowed measurement bandwidth on a carrier frequency .
# presence_ant_port_1: whether all the neighbouring cells use Antenna Port 1.
# cell_resel_prio: Optional absolute priority of the carrier frequency group.
# neigh_cell_cfg: Information related to MBSFN and TDD UL/DL configuration of neighbour cells.
# q_offset_freq: Frequency specific offset for equal priority E-UTRAN frequencies.
# inter_freq_neigh_cell_list: A List of inter-frequency neighbouring cells with specific cell re-selection parameters.
# phys_cell_id: Physical layer identity of the cell.
# q_offset_cell: Cell spcific offset.
# inter_freq_black_cell_list: A List of blacklisted inter-frequency neighbouring cells.
# start: The lowest physical cell identity in the range.
# range: The number of physical cell identities in the range.
#
#####################################################################
sib5 =
{
inter_freq_carrier_freq_list =
(
{
dl_carrier_freq = 1450;
q_rx_lev_min = -70;
t_resel_eutra = 2;
t_resel_eutra_sf = {
sf_medium = "0.25";
sf_high = "1.0";
};
thresh_x_high = 3;
thresh_x_low = 2;
allowed_meas_bw = 75;
presence_ant_port_1 = True;
cell_resel_prio = 4;
neigh_cell_cfg = 2;
q_offset_freq = -6;
inter_freq_neigh_cell_list =
(
{
phys_cell_id = 500;
q_offset_cell = 2;
}
);
inter_freq_black_cell_list =
(
{
start = 123;
range = 4;
}
);
}
);
};
#####################################################################
# sib6 configuration options (See TS 36.331)
# Contains UTRA neighbor information for inter-rat handover.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# t_resel_utra: Cell reselection timer (seconds)
# t_resel_utra_sf: Optional speed dependent ScalingFactor for t_resel_utra.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# carrier_freq_list_utra_fdd / carrier_freq_list_utra_tdd: A list of carrier frequencies of UTRA FDD / TDD.
# carrier_freq: The UARFCN for the UTRA carrier frequency.
# cell_resel_prio: Optional absolute priority of the carrier frequency group.
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency.
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency.
# q_rx_lev_min: Minimum receive level in UTRA cell, ([field_val] * 2) + 1 = [level in dBm].
# p_max_utra: The maximum allowed transmission power on the (uplink) carrier frequency.
# q_qual_min: Minimum required quality leve in UTRA cell, applicable only for FDD cells.
#
#####################################################################
sib6 =
{
t_resel_utra = 1;
t_resel_utra_sf = {
sf_medium = "0.25";
sf_high = "1.0";
}
carrier_freq_list_utra_fdd =
(
{
carrier_freq = 9613;
cell_resel_prio = 6;
thresh_x_high = 3;
thresh_x_low = 2;
q_rx_lev_min = -50;
p_max_utra = 4;
q_qual_min = -10;
}
);
carrier_freq_list_utra_tdd =
(
{
carrier_freq = 9505;
thresh_x_high = 1;
thresh_x_low = 2;
q_rx_lev_min = -50;
p_max_utra = -3;
}
);
};
#####################################################################
# sib7 configuration options (See TS 36.331)
# Contains GERAN neighbor information for CSFB and inter-rat handover.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# t_resel_geran: Cell reselection timer (seconds)
# t_resel_geran_sf: Optional speed dependent ScalingFactor for t_resel_geran.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# carrier_freqs_info_list: A list of carrier frequency groups.
# cell_resel_prio: Absolute priority of the carrier frequency group
# ncc_permitted: 8-bit bitmap of NCC carriers permitted for monitoring
# q_rx_lev_min: Minimum receive level in gsm cell, ([field_val] * 2) - 115 = [level in dBm]
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency
# start_arfcn: Initial search ARFCN value
# band_ind: One of "dcs1800" or "pcs1900" Disambiguates ARFCNs in these bands, has no meaning for other ARFCNs.
# explicit_list_of_arfcns: List of ARFCN numbers in the group
#
#####################################################################
sib7 =
{
t_resel_geran = 1;
carrier_freqs_info_list =
(
{
cell_resel_prio = 0;
ncc_permitted = 255;
q_rx_lev_min = 0;
thresh_x_high = 2;
thresh_x_low = 2;
start_arfcn = 871;
band_ind = "dcs1800";
explicit_list_of_arfcns = (
871
);
}
);
};

294
srslte/sib_gnb.conf Normal file
View File

@@ -0,0 +1,294 @@
sib1 =
{
intra_freq_reselection = "Allowed";
q_rx_lev_min = -65;
//p_max = 3;
cell_barred = "NotBarred"
si_window_length = 20;
sched_info =
(
{
si_periodicity = 16;
// comma-separated array of SIB-indexes (from 3 to 13), leave empty or commented to just scheduler sib2
si_mapping_info = [ 3 ];
}
);
system_info_value_tag = 0;
};
sib2 =
{
rr_config_common_sib =
{
rach_cnfg =
{
num_ra_preambles = 52;
preamble_init_rx_target_pwr = -104;
pwr_ramping_step = 6; // in dB
preamble_trans_max = 10;
ra_resp_win_size = 10; // in ms
mac_con_res_timer = 64; // in ms
max_harq_msg3_tx = 4;
};
bcch_cnfg =
{
modification_period_coeff = 16; // in ms
};
pcch_cnfg =
{
default_paging_cycle = 32; // in rf
nB = "1";
};
prach_cnfg =
{
root_sequence_index = 128;
prach_cnfg_info =
{
high_speed_flag = false;
prach_config_index = 3;
prach_freq_offset = 4;
zero_correlation_zone_config = 5;
};
};
pdsch_cnfg =
{
/* Warning: Currently disabled and forced to p_b=1 for TM2/3/4 and p_b=0 for TM1
*/
p_b = 1;
rs_power = 0;
};
pusch_cnfg =
{
n_sb = 1;
hopping_mode = "inter-subframe";
pusch_hopping_offset = 2;
enable_64_qam = false; // 64QAM PUSCH is not currently enabled
ul_rs =
{
cyclic_shift = 0;
group_assignment_pusch = 0;
group_hopping_enabled = false;
sequence_hopping_enabled = false;
};
};
pucch_cnfg =
{
delta_pucch_shift = 1;
n_rb_cqi = 1;
n_cs_an = 0;
n1_pucch_an = 12;
};
ul_pwr_ctrl =
{
p0_nominal_pusch = -85;
alpha = 0.7;
p0_nominal_pucch = -107;
delta_flist_pucch =
{
format_1 = 0;
format_1b = 3;
format_2 = 1;
format_2a = 2;
format_2b = 2;
};
delta_preamble_msg3 = 6;
};
ul_cp_length = "len1";
};
ue_timers_and_constants =
{
t300 = 2000; // in ms
t301 = 100; // in ms
t310 = 200; // in ms
n310 = 1;
t311 = 10000; // in ms
n311 = 1;
};
freqInfo =
{
ul_carrier_freq_present = true;
ul_bw_present = true;
additional_spectrum_emission = 1;
};
time_alignment_timer = "INFINITY"; // use "sf500", "sf750", etc.
};
sib3 =
{
cell_reselection_common = {
q_hyst = 2; // in dB
},
cell_reselection_serving = {
s_non_intra_search = 3,
thresh_serving_low = 2,
cell_resel_prio = 6
},
intra_freq_reselection = {
q_rx_lev_min = -61,
p_max = 23,
s_intra_search = 5,
presence_ant_port_1 = true,
neigh_cell_cnfg = 1,
t_resel_eutra = 1
}
};
#####################################################################
# sib5 configuration options (See TS 36.331)
# Contains information relevant for inter-frequency cell re-selection.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# inter_freq_carrier_freq_list: A list of neighbouring inter-frequencies.
# dl_carrier_freq: The EARFCN for the EUTRA carrier frequency.
# q_rx_lev_min: Minimum received RSRP level in the E-UTRA cell, ([field_val] * 2) = [level in dBm].
# p_max: Optional maximum allowed transmission power for the neighbouring E-UTRA cells on this carrier frequency.
# t_resel_eutra: Cell reselection timer (seconds).
# t_resel_eutra_sf: Optional speed dependent ScalingFactor for t_resel_eutra.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency.
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency.
# allowed_meas_bw: Maximum allowed measurement bandwidth on a carrier frequency .
# presence_ant_port_1: whether all the neighbouring cells use Antenna Port 1.
# cell_resel_prio: Optional absolute priority of the carrier frequency group.
# neigh_cell_cfg: Information related to MBSFN and TDD UL/DL configuration of neighbour cells.
# q_offset_freq: Frequency specific offset for equal priority E-UTRAN frequencies.
# inter_freq_neigh_cell_list: A List of inter-frequency neighbouring cells with specific cell re-selection parameters.
# phys_cell_id: Physical layer identity of the cell.
# q_offset_cell: Cell spcific offset.
# inter_freq_black_cell_list: A List of blacklisted inter-frequency neighbouring cells.
# start: The lowest physical cell identity in the range.
# range: The number of physical cell identities in the range.
#
#####################################################################
sib5 =
{
inter_freq_carrier_freq_list =
(
{
dl_carrier_freq = 1450;
q_rx_lev_min = -70;
t_resel_eutra = 2;
t_resel_eutra_sf = {
sf_medium = "0.25";
sf_high = "1.0";
};
thresh_x_high = 3;
thresh_x_low = 2;
allowed_meas_bw = 75;
presence_ant_port_1 = True;
cell_resel_prio = 4;
neigh_cell_cfg = 2;
q_offset_freq = -6;
inter_freq_neigh_cell_list =
(
{
phys_cell_id = 500;
q_offset_cell = 2;
}
);
inter_freq_black_cell_list =
(
{
start = 123;
range = 4;
}
);
}
);
};
#####################################################################
# sib6 configuration options (See TS 36.331)
# Contains UTRA neighbor information for inter-rat handover.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# t_resel_utra: Cell reselection timer (seconds)
# t_resel_utra_sf: Optional speed dependent ScalingFactor for t_resel_utra.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# carrier_freq_list_utra_fdd / carrier_freq_list_utra_tdd: A list of carrier frequencies of UTRA FDD / TDD.
# carrier_freq: The UARFCN for the UTRA carrier frequency.
# cell_resel_prio: Optional absolute priority of the carrier frequency group.
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency.
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency.
# q_rx_lev_min: Minimum receive level in UTRA cell, ([field_val] * 2) + 1 = [level in dBm].
# p_max_utra: The maximum allowed transmission power on the (uplink) carrier frequency.
# q_qual_min: Minimum required quality leve in UTRA cell, applicable only for FDD cells.
#
#####################################################################
sib6 =
{
t_resel_utra = 1;
t_resel_utra_sf = {
sf_medium = "0.25";
sf_high = "1.0";
}
carrier_freq_list_utra_fdd =
(
{
carrier_freq = 9613;
cell_resel_prio = 6;
thresh_x_high = 3;
thresh_x_low = 2;
q_rx_lev_min = -50;
p_max_utra = 4;
q_qual_min = -10;
}
);
carrier_freq_list_utra_tdd =
(
{
carrier_freq = 9505;
thresh_x_high = 1;
thresh_x_low = 2;
q_rx_lev_min = -50;
p_max_utra = -3;
}
);
};
#####################################################################
# sib7 configuration options (See TS 36.331)
# Contains GERAN neighbor information for CSFB and inter-rat handover.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# t_resel_geran: Cell reselection timer (seconds)
# t_resel_geran_sf: Optional speed dependent ScalingFactor for t_resel_geran.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# carrier_freqs_info_list: A list of carrier frequency groups.
# cell_resel_prio: Absolute priority of the carrier frequency group
# ncc_permitted: 8-bit bitmap of NCC carriers permitted for monitoring
# q_rx_lev_min: Minimum receive level in gsm cell, ([field_val] * 2) - 115 = [level in dBm]
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency
# start_arfcn: Initial search ARFCN value
# band_ind: One of "dcs1800" or "pcs1900" Disambiguates ARFCNs in these bands, has no meaning for other ARFCNs.
# explicit_list_of_arfcns: List of ARFCN numbers in the group
#
#####################################################################
sib7 =
{
t_resel_geran = 1;
carrier_freqs_info_list =
(
{
cell_resel_prio = 0;
ncc_permitted = 255;
q_rx_lev_min = 0;
thresh_x_high = 2;
thresh_x_low = 2;
start_arfcn = 871;
band_ind = "dcs1800";
explicit_list_of_arfcns = (
871
);
}
);
};

294
srslte/sib_gnb_zmq.conf Normal file
View File

@@ -0,0 +1,294 @@
sib1 =
{
intra_freq_reselection = "Allowed";
q_rx_lev_min = -65;
//p_max = 3;
cell_barred = "NotBarred"
si_window_length = 20;
sched_info =
(
{
si_periodicity = 16;
// comma-separated array of SIB-indexes (from 3 to 13), leave empty or commented to just scheduler sib2
si_mapping_info = [ 3 ];
}
);
system_info_value_tag = 0;
};
sib2 =
{
rr_config_common_sib =
{
rach_cnfg =
{
num_ra_preambles = 52;
preamble_init_rx_target_pwr = -104;
pwr_ramping_step = 6; // in dB
preamble_trans_max = 10;
ra_resp_win_size = 10; // in ms
mac_con_res_timer = 64; // in ms
max_harq_msg3_tx = 4;
};
bcch_cnfg =
{
modification_period_coeff = 16; // in ms
};
pcch_cnfg =
{
default_paging_cycle = 32; // in rf
nB = "1";
};
prach_cnfg =
{
root_sequence_index = 128;
prach_cnfg_info =
{
high_speed_flag = false;
prach_config_index = 3;
prach_freq_offset = 4;
zero_correlation_zone_config = 5;
};
};
pdsch_cnfg =
{
/* Warning: Currently disabled and forced to p_b=1 for TM2/3/4 and p_b=0 for TM1
*/
p_b = 1;
rs_power = 0;
};
pusch_cnfg =
{
n_sb = 1;
hopping_mode = "inter-subframe";
pusch_hopping_offset = 2;
enable_64_qam = false; // 64QAM PUSCH is not currently enabled
ul_rs =
{
cyclic_shift = 0;
group_assignment_pusch = 0;
group_hopping_enabled = false;
sequence_hopping_enabled = false;
};
};
pucch_cnfg =
{
delta_pucch_shift = 1;
n_rb_cqi = 1;
n_cs_an = 0;
n1_pucch_an = 12;
};
ul_pwr_ctrl =
{
p0_nominal_pusch = -85;
alpha = 0.7;
p0_nominal_pucch = -107;
delta_flist_pucch =
{
format_1 = 0;
format_1b = 3;
format_2 = 1;
format_2a = 2;
format_2b = 2;
};
delta_preamble_msg3 = 6;
};
ul_cp_length = "len1";
};
ue_timers_and_constants =
{
t300 = 2000; // in ms
t301 = 100; // in ms
t310 = 200; // in ms
n310 = 1;
t311 = 10000; // in ms
n311 = 1;
};
freqInfo =
{
ul_carrier_freq_present = true;
ul_bw_present = true;
additional_spectrum_emission = 1;
};
time_alignment_timer = "INFINITY"; // use "sf500", "sf750", etc.
};
sib3 =
{
cell_reselection_common = {
q_hyst = 2; // in dB
},
cell_reselection_serving = {
s_non_intra_search = 3,
thresh_serving_low = 2,
cell_resel_prio = 6
},
intra_freq_reselection = {
q_rx_lev_min = -61,
p_max = 23,
s_intra_search = 5,
presence_ant_port_1 = true,
neigh_cell_cnfg = 1,
t_resel_eutra = 1
}
};
#####################################################################
# sib5 configuration options (See TS 36.331)
# Contains information relevant for inter-frequency cell re-selection.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# inter_freq_carrier_freq_list: A list of neighbouring inter-frequencies.
# dl_carrier_freq: The EARFCN for the EUTRA carrier frequency.
# q_rx_lev_min: Minimum received RSRP level in the E-UTRA cell, ([field_val] * 2) = [level in dBm].
# p_max: Optional maximum allowed transmission power for the neighbouring E-UTRA cells on this carrier frequency.
# t_resel_eutra: Cell reselection timer (seconds).
# t_resel_eutra_sf: Optional speed dependent ScalingFactor for t_resel_eutra.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency.
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency.
# allowed_meas_bw: Maximum allowed measurement bandwidth on a carrier frequency .
# presence_ant_port_1: whether all the neighbouring cells use Antenna Port 1.
# cell_resel_prio: Optional absolute priority of the carrier frequency group.
# neigh_cell_cfg: Information related to MBSFN and TDD UL/DL configuration of neighbour cells.
# q_offset_freq: Frequency specific offset for equal priority E-UTRAN frequencies.
# inter_freq_neigh_cell_list: A List of inter-frequency neighbouring cells with specific cell re-selection parameters.
# phys_cell_id: Physical layer identity of the cell.
# q_offset_cell: Cell spcific offset.
# inter_freq_black_cell_list: A List of blacklisted inter-frequency neighbouring cells.
# start: The lowest physical cell identity in the range.
# range: The number of physical cell identities in the range.
#
#####################################################################
sib5 =
{
inter_freq_carrier_freq_list =
(
{
dl_carrier_freq = 1450;
q_rx_lev_min = -70;
t_resel_eutra = 2;
t_resel_eutra_sf = {
sf_medium = "0.25";
sf_high = "1.0";
};
thresh_x_high = 3;
thresh_x_low = 2;
allowed_meas_bw = 75;
presence_ant_port_1 = True;
cell_resel_prio = 4;
neigh_cell_cfg = 2;
q_offset_freq = -6;
inter_freq_neigh_cell_list =
(
{
phys_cell_id = 500;
q_offset_cell = 2;
}
);
inter_freq_black_cell_list =
(
{
start = 123;
range = 4;
}
);
}
);
};
#####################################################################
# sib6 configuration options (See TS 36.331)
# Contains UTRA neighbor information for inter-rat handover.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# t_resel_utra: Cell reselection timer (seconds)
# t_resel_utra_sf: Optional speed dependent ScalingFactor for t_resel_utra.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# carrier_freq_list_utra_fdd / carrier_freq_list_utra_tdd: A list of carrier frequencies of UTRA FDD / TDD.
# carrier_freq: The UARFCN for the UTRA carrier frequency.
# cell_resel_prio: Optional absolute priority of the carrier frequency group.
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency.
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency.
# q_rx_lev_min: Minimum receive level in UTRA cell, ([field_val] * 2) + 1 = [level in dBm].
# p_max_utra: The maximum allowed transmission power on the (uplink) carrier frequency.
# q_qual_min: Minimum required quality leve in UTRA cell, applicable only for FDD cells.
#
#####################################################################
sib6 =
{
t_resel_utra = 1;
t_resel_utra_sf = {
sf_medium = "0.25";
sf_high = "1.0";
}
carrier_freq_list_utra_fdd =
(
{
carrier_freq = 9613;
cell_resel_prio = 6;
thresh_x_high = 3;
thresh_x_low = 2;
q_rx_lev_min = -50;
p_max_utra = 4;
q_qual_min = -10;
}
);
carrier_freq_list_utra_tdd =
(
{
carrier_freq = 9505;
thresh_x_high = 1;
thresh_x_low = 2;
q_rx_lev_min = -50;
p_max_utra = -3;
}
);
};
#####################################################################
# sib7 configuration options (See TS 36.331)
# Contains GERAN neighbor information for CSFB and inter-rat handover.
# Must be added to sib1::sched_info::si_mapping_info array parameter to be transmitted
#
# t_resel_geran: Cell reselection timer (seconds)
# t_resel_geran_sf: Optional speed dependent ScalingFactor for t_resel_geran.
# sf_medium: Scaling factor if the UE is in Medium Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# sf_high: Scaling factor if the UE is in High Mobility state, one of "0.25", "0.5", "0.75" or "1.0".
# carrier_freqs_info_list: A list of carrier frequency groups.
# cell_resel_prio: Absolute priority of the carrier frequency group
# ncc_permitted: 8-bit bitmap of NCC carriers permitted for monitoring
# q_rx_lev_min: Minimum receive level in gsm cell, ([field_val] * 2) - 115 = [level in dBm]
# thresh_x_high: Srclev threshold (dB) to select to a higher-priority RAT/Frequency
# thresh_x_low: Srclev threshold (dB) to select to a lower-priority RAT/Frequency
# start_arfcn: Initial search ARFCN value
# band_ind: One of "dcs1800" or "pcs1900" Disambiguates ARFCNs in these bands, has no meaning for other ARFCNs.
# explicit_list_of_arfcns: List of ARFCN numbers in the group
#
#####################################################################
sib7 =
{
t_resel_geran = 1;
carrier_freqs_info_list =
(
{
cell_resel_prio = 0;
ncc_permitted = 255;
q_rx_lev_min = 0;
thresh_x_high = 2;
thresh_x_low = 2;
start_arfcn = 871;
band_ind = "dcs1800";
explicit_list_of_arfcns = (
871
);
}
);
};

View File

@@ -30,37 +30,37 @@ export IP_ADDR=$(awk 'END{print $1}' /etc/hosts)
mkdir -p /etc/srsran
cp /mnt/srslte/rb.conf /etc/srsran
cp /mnt/srslte/sib.conf /etc/srsran
cp /mnt/srslte/rb_${COMPONENT_NAME}.conf /etc/srsran/rb.conf
cp /mnt/srslte/sib_${COMPONENT_NAME}.conf /etc/srsran/sib.conf
if [[ -z "$COMPONENT_NAME" ]]; then
echo "Error: COMPONENT_NAME environment variable not set"; exit 1;
elif [[ "$COMPONENT_NAME" =~ ^(gnb$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(gnb[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srslte/rr_gnb.conf /etc/srsran/rr.conf
cp /mnt/srslte/enb.conf /etc/srsran
cp /mnt/srslte/rr_${COMPONENT_NAME}.conf /etc/srsran/rr.conf
cp /mnt/srslte/${COMPONENT_NAME}.conf /etc/srsran/enb.conf
sed -i 's|MME_IP|'$AMF_IP'|g' /etc/srsran/enb.conf
elif [[ "$COMPONENT_NAME" =~ ^(enb$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(enb[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srslte/rr.conf /etc/srsran
cp /mnt/srslte/enb.conf /etc/srsran
cp /mnt/srslte/rr_${COMPONENT_NAME}.conf /etc/srsran/rr.conf
cp /mnt/srslte/${COMPONENT_NAME}.conf /etc/srsran/enb.conf
sed -i 's|MME_IP|'$MME_IP'|g' /etc/srsran/enb.conf
elif [[ "$COMPONENT_NAME" =~ ^(enb_zmq$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(enb_zmq[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srslte/rr.conf /etc/srsran
cp /mnt/srslte/enb_zmq.conf /etc/srsran/enb.conf
cp /mnt/srslte/rr_${COMPONENT_NAME}.conf /etc/srsran/rr.conf
cp /mnt/srslte/${COMPONENT_NAME}.conf /etc/srsran/enb.conf
sed -i 's|MME_IP|'$MME_IP'|g' /etc/srsran/enb.conf
elif [[ "$COMPONENT_NAME" =~ ^(gnb_zmq$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(gnb_zmq[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srslte/rr_gnb_zmq.conf /etc/srsran/rr.conf
cp /mnt/srslte/gnb_zmq.conf /etc/srsran/enb.conf
cp /mnt/srslte/rr_${COMPONENT_NAME}.conf /etc/srsran/rr.conf
cp /mnt/srslte/${COMPONENT_NAME}.conf /etc/srsran/enb.conf
sed -i 's|MME_IP|'$AMF_IP'|g' /etc/srsran/enb.conf
elif [[ "$COMPONENT_NAME" =~ ^(ue_zmq$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(ue_zmq[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srslte/ue_zmq.conf /etc/srsran/ue.conf
elif [[ "$COMPONENT_NAME" =~ ^(ue_5g_zmq$) ]]; then
cp /mnt/srslte/${COMPONENT_NAME}.conf /etc/srsran/ue.conf
elif [[ "$COMPONENT_NAME" =~ ^(ue_5g_zmq[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srslte/ue_5g_zmq.conf /etc/srsran/ue.conf
cp /mnt/srslte/${COMPONENT_NAME}.conf /etc/srsran/ue.conf
else
echo "Error: Invalid component name: '$COMPONENT_NAME'"
fi
@@ -81,10 +81,10 @@ service dbus start && service avahi-daemon start
if [[ -z "$COMPONENT_NAME" ]]; then
echo "Error: COMPONENT_NAME environment variable not set"; exit 1;
elif [[ "$COMPONENT_NAME" =~ ^(gnb$) || "$COMPONENT_NAME" =~ ^(enb$) || "$COMPONENT_NAME" =~ ^(enb_zmq$) || "$COMPONENT_NAME" =~ ^(gnb_zmq$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(gnb[[:digit:]]*$) || "$COMPONENT_NAME" =~ ^(enb[[:digit:]]*$) || "$COMPONENT_NAME" =~ ^(enb_zmq[[:digit:]]*$) || "$COMPONENT_NAME" =~ ^(gnb_zmq[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/usr/local/bin/srsenb
elif [[ "$COMPONENT_NAME" =~ ^(ue_zmq$) || "$COMPONENT_NAME" =~ ^(ue_5g_zmq$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(ue_zmq[[:digit:]]*$) || "$COMPONENT_NAME" =~ ^(ue_5g_zmq[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/usr/local/bin/srsue
else

View File

@@ -32,12 +32,12 @@ mkdir -p /etc/srsran
if [[ -z "$COMPONENT_NAME" ]]; then
echo "Error: COMPONENT_NAME environment variable not set"; exit 1;
elif [[ "$COMPONENT_NAME" =~ ^(gnb$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(gnb[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srsran/gnb.yml /etc/srsran/gnb.yml
elif [[ "$COMPONENT_NAME" =~ ^(gnb_zmq$) ]]; then
cp /mnt/srsran/${COMPONENT_NAME}.yml /etc/srsran/gnb.yml
elif [[ "$COMPONENT_NAME" =~ ^(gnb_zmq[[:digit:]]*$) ]]; then
echo "Configuring component: '$COMPONENT_NAME'"
cp /mnt/srsran/gnb_zmq.yml /etc/srsran/gnb.yml
cp /mnt/srsran/${COMPONENT_NAME}.yml /etc/srsran/gnb.yml
else
echo "Error: Invalid component name: '$COMPONENT_NAME'"
fi

View File

@@ -28,12 +28,12 @@
export IP_ADDR=$(awk 'END{print $1}' /etc/hosts)
cp /mnt/ueransim/open5gs-gnb.yaml /UERANSIM/config/open5gs-gnb.yaml
cp /mnt/ueransim/${COMPONENT_NAME}.yaml /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|MNC|'$MNC'|g' /UERANSIM/config/open5gs-gnb.yaml
sed -i 's|MCC|'$MCC'|g' /UERANSIM/config/open5gs-gnb.yaml
sed -i 's|NR_GNB_IP|'$NR_GNB_IP'|g' /UERANSIM/config/open5gs-gnb.yaml
sed -i 's|AMF_IP|'$AMF_IP'|g' /UERANSIM/config/open5gs-gnb.yaml
sed -i 's|MNC|'$MNC'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|MCC|'$MCC'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|NR_GNB_IP|'$NR_GNB_IP'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|AMF_IP|'$AMF_IP'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
# Sync docker time
#ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

View File

@@ -28,17 +28,17 @@
export IP_ADDR=$(awk 'END{print $1}' /etc/hosts)
cp /mnt/ueransim/open5gs-ue.yaml /UERANSIM/config/open5gs-ue.yaml
sed -i 's|MNC|'$MNC'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|MCC|'$MCC'|g' /UERANSIM/config/open5gs-ue.yaml
cp /mnt/ueransim/${COMPONENT_NAME}.yaml /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|MNC|'$MNC'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|MCC|'$MCC'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|UE1_KI|'$UE1_KI'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|UE1_OP|'$UE1_OP'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|UE1_AMF|'$UE1_AMF'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|UE1_IMEISV|'$UE1_IMEISV'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|UE1_IMEI|'$UE1_IMEI'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|UE1_IMSI|'$UE1_IMSI'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|NR_GNB_IP|'$NR_GNB_IP'|g' /UERANSIM/config/open5gs-ue.yaml
sed -i 's|UE1_KI|'$UE1_KI'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|UE1_OP|'$UE1_OP'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|UE1_AMF|'$UE1_AMF'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|UE1_IMEISV|'$UE1_IMEISV'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|UE1_IMEI|'$UE1_IMEI'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|UE1_IMSI|'$UE1_IMSI'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
sed -i 's|NR_GNB_IP|'$NR_GNB_IP'|g' /UERANSIM/config/${COMPONENT_NAME}.yaml
# Sync docker time
#ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

View File

@@ -28,15 +28,15 @@
if [[ -z "$COMPONENT_NAME" ]]; then
echo "Error: COMPONENT_NAME environment variable not set"; exit 1;
elif [[ "$COMPONENT_NAME" =~ ^(ueransim-gnb-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(ueransim-gnb[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/ueransim/open5gs_gnb_init.sh && \
./nr-gnb -c ../config/open5gs-gnb.yaml & \
/mnt/ueransim/${COMPONENT_NAME}_init.sh && \
./nr-gnb -c ../config/${COMPONENT_NAME}.yaml & \
bash
elif [[ "$COMPONENT_NAME" =~ ^(ueransim-ue-[[:digit:]]+$) ]]; then
elif [[ "$COMPONENT_NAME" =~ ^(ueransim-ue[[:digit:]]*$) ]]; then
echo "Deploying component: '$COMPONENT_NAME'"
/mnt/ueransim/open5gs_ue_init.sh && \
./nr-ue -c ../config/open5gs-ue.yaml & \
/mnt/ueransim/${COMPONENT_NAME}_init.sh && \
./nr-ue -c ../config/${COMPONENT_NAME}.yaml & \
bash
else
echo "Error: Invalid component name: '$COMPONENT_NAME'"