aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-03-04 00:39:32 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2019-03-07 16:28:06 +0100
commitcbdd7180a667c2b536ce13d06fa43f61eba215b0 (patch)
tree34ef2cebf01cea7d7c09570571500bed5bd42c3d
parent3ad6817cd1c8b3ecd23ce8a8d1a9eece831f487f (diff)
net/: refactor cfg templates
Adopt "foreach" and "common_" features and generally take in the improved templates as used at 35c3. If your config file relies on the tmpl_std that is now removed, you can locally resurrect it with git checkout 2c6a55baa72de0e -- tmpl_std but it's probably better to make a new copy of config_2g3g and insert your local config there. Change-Id: Ie6352c584c0fce57c617387160c285abf40a5f90
-rw-r--r--.gitignore3
-rw-r--r--net/README26
-rw-r--r--net/common_bsc_logging11
-rw-r--r--net/common_logging23
-rw-r--r--net/config_2g3g141
-rw-r--r--net/templates/Makefile (renamed from net/tmpl_std/Makefile)0
-rw-r--r--net/templates/common_logging8
-rw-r--r--net/templates/common_statsd8
-rw-r--r--net/templates/common_template_warning2
-rw-r--r--net/templates/kamailio.cfg (renamed from net/tmpl_std/kamailio.cfg)0
-rw-r--r--net/templates/nano3G_dmi.txt20
-rw-r--r--net/templates/osmo-bsc.cfg109
-rw-r--r--net/templates/osmo-gbproxy.cfg (renamed from net/tmpl_std/osmo-gbproxy.cfg)6
-rw-r--r--net/templates/osmo-ggsn.cfg (renamed from net/tmpl_std/osmo-ggsn.cfg)16
-rw-r--r--net/templates/osmo-hlr.cfg14
-rw-r--r--net/templates/osmo-hnbgw.cfg15
-rw-r--r--net/templates/osmo-mgw-for-bsc.cfg16
-rw-r--r--net/templates/osmo-mgw-for-msc.cfg16
-rw-r--r--net/templates/osmo-msc.cfg37
-rw-r--r--net/templates/osmo-sgsn.cfg21
-rw-r--r--net/templates/osmo-sip-connector.cfg (renamed from net/tmpl_std/osmo-sip-connector.cfg)6
-rw-r--r--net/templates/osmo-stp.cfg15
-rwxr-xr-xnet/templates/run.sh (renamed from net/tmpl_std/run.sh)19
-rw-r--r--net/tmpl_std/nano3G.txt18
-rw-r--r--net/tmpl_std/nano3G2.txt18
-rw-r--r--net/tmpl_std/osmo-bsc.cfg86
-rw-r--r--net/tmpl_std/osmo-hlr.cfg7
-rw-r--r--net/tmpl_std/osmo-hnbgw.cfg5
-rw-r--r--net/tmpl_std/osmo-mgw-for-bsc.cfg11
-rw-r--r--net/tmpl_std/osmo-mgw-for-msc.cfg8
-rw-r--r--net/tmpl_std/osmo-msc.cfg18
-rw-r--r--net/tmpl_std/osmo-sgsn.cfg12
-rw-r--r--net/tmpl_std/osmo-stp.cfg6
33 files changed, 413 insertions, 308 deletions
diff --git a/.gitignore b/.gitignore
index b6d7fe7..1cfde3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,8 +10,7 @@ src/*
!src/osmo-add-gerrit-hooks.sh
!src/README
net/*
-!net/tmpl_*
+!net/templates*
!net/config_2g3g
-!net/common_*
!net/README
!net/fill_config.py
diff --git a/net/README b/net/README
index 1d07775..73a8d2f 100644
--- a/net/README
+++ b/net/README
@@ -16,7 +16,7 @@ $EDITOR config_mine
mkdir my_network
cd my_network
-../fill_config.py ../config_mine ../tmpl_std
+../fill_config.py ../config_mine ../templates
./run.sh
# Launches numerous x-terminals with one component running in each.
@@ -31,27 +31,27 @@ Then possibly modify the config and refresh:
# tweak config?
$EDITOR ../config_mine
../fill_config.py
-# picks up same ../config_mine and ../tmpl_std from last time
+# picks up same ../config_mine and ../templates from last time
# own templates?
-cp -r ../tmpl_std ../tmpl_mine
-$EDITOR ../tmpl_mine/*
-../fill_config.py ../tmpl_mine
-# picks up same ../config_mine from last time, and ../tmpl_mine from cmdline
+cp -r ../templates ../templates_mine
+$EDITOR ../templates_mine/*
+../fill_config.py ../templates_mine
+# picks up same ../config_mine from last time, and ../templates_mine from cmdline
If you wanted to change to dynamic timeslots, you can:
cd ..
-mkdir tmpl_dyn
-cd tmpl_dyn
-ln -s ../tmpl_std/* .
+mkdir templates_dyn
+cd templates_dyn
+ln -s ../templates/* .
rm ./osmo-bsc.cfg
-cp ../tmpl_std/osmo-bsc.cfg .
+cp ../templates/osmo-bsc.cfg .
sed -i 's#TCH/F#TCH/F_TCH/H_PDCH#' osmo-bsc.cfg
cd ../my_network
-../fill_config.py ../tmpl_dyn
+../fill_config.py ../templates_dyn
If you moved your laptop to a different location, you can:
@@ -64,7 +64,7 @@ $EDITOR ../config_foo # set new IP address(es)
=== Config file templates
A *directory* contains template files that are filled with specific values by the
-fill_config.py script. See e.g. tmpl_std/.
+fill_config.py script. See e.g. templates/.
A *file* contains local config items as name=val pairs that are put into the
templates. See e.g. config_2g3g.
@@ -83,7 +83,7 @@ network config.
=== Launch
-A run.sh script template (tmpl_std/run.sh) also gets filled with specifics and
+A run.sh script template (templates/run.sh) also gets filled with specifics and
placed next to the .cfg files.
run.sh uses sudo to start tcpdump, configure ip forwarding and masquerading
diff --git a/net/common_bsc_logging b/net/common_bsc_logging
deleted file mode 100644
index 2f891c7..0000000
--- a/net/common_bsc_logging
+++ /dev/null
@@ -1,11 +0,0 @@
-${include(common_logging)}
-log stderr
- logging level lsua notice
- logging level lss7 notice
- logging level linp notice
- logging level hodec notice
-log gsmtap 127.0.0.1
- logging level lsua notice
- logging level lss7 notice
- logging level linp notice
- logging level hodec notice
diff --git a/net/common_logging b/net/common_logging
deleted file mode 100644
index 8d074ab..0000000
--- a/net/common_logging
+++ /dev/null
@@ -1,23 +0,0 @@
-log stderr
- logging filter all 1
- logging color 1
- logging print level 1
- logging print category 1
- logging print category-hex 0
- logging print file basename last
- #logging print timestamp date
- logging print extended-timestamp 1
- logging level set-all debug
-log file current_log/${_name}.log
- logging filter all 1
- logging color 1
- logging print level 1
- logging print category 1
- logging print category-hex 0
- logging print file basename last
- #logging print timestamp date
- logging print extended-timestamp 1
- logging level set-all debug
-log gsmtap 127.0.0.1
- logging filter all 1
- logging level set-all debug
diff --git a/net/config_2g3g b/net/config_2g3g
index 622a4be..be55896 100644
--- a/net/config_2g3g
+++ b/net/config_2g3g
@@ -1,81 +1,116 @@
ETH_DEV=eth0
APN_DEV=apn0
-PUBLIC_IP="192.168.0.23"
-PUBLIC_IP2="192.168.0.42"
+TO_RAN_IP="192.168.0.3"
+TO_RAN_IU_IP="192.168.0.4"
+TO_SIP_IP="127.0.0.2"
+
+STATSD_IP="127.0.0.1"
MCC=001
MNC=01
-BTS0_BAND=GSM-1800
-BTS0_LAC=23
-BTS0_CI=5
-BTS0_ARFCN=860
-BTS0_MAX_POWER_RED=21
-BTS0_IPA_UNIT="1234 0"
-BTS0_NSVCI=1234
-BTS0_NSEI="${BTS0_NSVCI}"
-BTS0_BVCI="${BTS0_NSVCI}"
-
-BTS1_BAND=GSM-1800
-BTS1_LAC=42
-BTS1_CI=13
-BTS1_ARFCN=862
-BTS1_MAX_POWER_RED=21
-BTS1_IPA_UNIT="1235 0"
-BTS1_NSVCI=1235
-BTS1_NSEI="${BTS1_NSVCI}"
-BTS1_BVCI="${BTS1_NSVCI}"
-
-HLR_IP="127.0.0.1"
+TCH_TYPE=TCH/H
+
+BTS_BAND=GSM-1800
+BTS_LAC=23
+BTS_MAX_POWER_RED=21
+BTS_CODEC_SUPPORT=fr amr
+BTS_200mW=23
+
+BTS0_DESCRIPTION="my test BTS 0"
+BTS0_IPA_UNIT="0 0"
+BTS0_ARFCN=123
+BTS0_CI=${BTSn}
+BTS0_BSIC=${BTSn}
+BTS0_GPRS_MODE=gprs
+BTS0_GB_REMOTE_IP=${SGSN_IP}
+BTS0_GB_REMOTE_PORT=${SGSN_GB_PORT}
+BTS0_NSVCI=${BTSn}
+BTS0_NSEI="${BTSn_NSVCI}"
+# according to osmo-bsc vty, BVCI must be >= 2
+BTS0_BVCI="100${BTSn}"
+BTS0_BAND=${BTS_BAND}
+BTS0_LAC=${BTS_LAC}
+BTS0_MAX_POWER_RED=${BTS_MAX_POWER_RED}
+BTS0_NOMINAL_POWER=${BTS_200mW}
+BTS0_CODEC_SUPPORT=${BTS_CODEC_SUPPORT}
+
+BTS1_DESCRIPTION="my test BTS 1"
+BTS1_IPA_UNIT="1 0"
+BTS1_ARFCN=125
+BTS1_CI=${BTSn}
+BTS1_BSIC=${BTSn}
+BTS1_GPRS_MODE=gprs
+BTS1_GB_REMOTE_IP=${GBPROXY_IP}
+BTS1_GB_REMOTE_PORT=${GBPROXY_GB_PORT}
+BTS1_NSVCI=${BTSn}
+BTS1_NSEI="${BTSn_NSVCI}"
+BTS1_BVCI="100${BTSn}"
+BTS1_BAND=${BTS_BAND}
+BTS1_LAC=${BTS_LAC}
+BTS1_MAX_POWER_RED=${BTS_MAX_POWER_RED}
+BTS1_NOMINAL_POWER=${BTS_200mW}
+BTS1_CODEC_SUPPORT=${BTS_CODEC_SUPPORT}
+
+HLR_IP=127.0.0.1
MSC_PC="0.23.1"
-MSC_MNCC_SOCKET="${NET_DIR}/msc_mncc_socket"
+MSC_MNCC_SOCKET="/tmp/mncc_socket"
+MSC_MNCC="internal"
+# MSC_MNCC="external ${MSC_MNCC_SOCKET}"
-AUTH=optional
-ENCR_A5=0
+AUTH=required
+ENCR_A5=1
-SGSN_IP="${PUBLIC_IP}"
+SGSN_IP="${TO_RAN_IP}"
SGSN_PC="0.23.2"
SGSN_GB_PORT=23000
-GBPROXY_IP="${PUBLIC_IP}"
+GBPROXY_IP="${TO_RAN_IP}"
GBPROXY_GB_PORT=7777
-PCU_GB_PORT=23000
+PCU_GB_LOCAL_PORT=23000
-MGW4MSC_IP="${PUBLIC_IP}"
+MGW4MSC_IP="${TO_RAN_IU_IP}"
+MGW4MSC_PORT="2427"
MGW4MSC_VTY_IP="127.0.0.1"
-BSC_IP="${PUBLIC_IP}"
-BSC_PC="0.42.0"
-BSC_CODEC_LIST="fr1 hr1"
-MGW4BSC_IP="${PUBLIC_IP2}"
+MGW4BSC_IP="${TO_RAN_IP}"
MGW4BSC_PORT="2427"
MGW4BSC_VTY_IP="127.0.0.2"
+BSC_IP="${TO_RAN_IP}"
+BSC_PC="0.23.3"
+BSC_CODEC_LIST="hr3"
+
HNBGW_PC="0.3.0"
-HNBGW_IP="${PUBLIC_IP}"
+HNBGW_IP="${TO_RAN_IP}"
+
+HNODEB0_IP="192.168.0.124"
+HNODEB0_UARFCN=4357
+HNODEB0_SCRAMBLE=157
+HNODEB0_LAC=1${HNODEB0_UARFCN}
+HNODEB0_RAC=11
-GGSN_IP="${PUBLIC_IP2}"
+HNODEB1_IP="192.168.0.23"
+HNODEB1_UARFCN=4358
+HNODEB1_SCRAMBLE=258
+HNODEB1_LAC=1${HNODEB1_UARFCN}
+HNODEB1_RAC=22
+
+GGSN_IP="${TO_RAN_IU_IP}"
GGSN_DNS0="192.168.0.1"
GGSN_DNS1="9.9.9.9"
GGSN_NET="192.168.42.0/24"
+GGSN_GTP_STATE_DIR=/tmp
+
+# Enabled only when MSC_MNCC != "internal"
+SIPCON_LOCAL="${TO_SIP_IP}"
+SIPCON_LOCAL_PORT="5060"
+SIPCON_REMOTE="127.0.0.1"
+SIPCON_REMOTE_PORT="5069"
-HNODEB_IP="192.168.0.124"
-UARFCN=4357
-SCRAMBLE=157
-LAC=1${UARFCN}
-RAC=11
-
-HNODEB_IP2="192.168.0.23"
-UARFCN2=4358
-SCRAMBLE2=258
-LAC2=2${UARFCN2}
-RAC2=22
-
-SIPCON_ENABLE="false"
-SIPCON_LOCAL="${PUBLIC_IP}"
-SIPCON_LOCAL_PORT="5069"
-SIPCON_REMOTE="${PUBLIC_IP}"
-SIPCON_REMOTE_PORT="5060"
+LOG_OUTPUT0_TYPE=stderr
+LOG_OUTPUT1_TYPE=file current_log/${_name}.log
+LOG_OUTPUT2_TYPE=gsmtap 127.0.0.1
diff --git a/net/tmpl_std/Makefile b/net/templates/Makefile
index 62ae7a7..62ae7a7 100644
--- a/net/tmpl_std/Makefile
+++ b/net/templates/Makefile
diff --git a/net/templates/common_logging b/net/templates/common_logging
new file mode 100644
index 0000000..57cf16e
--- /dev/null
+++ b/net/templates/common_logging
@@ -0,0 +1,8 @@
+ logging filter all 1
+ logging color 1
+ logging print level 1
+ logging print category 1
+ logging print category-hex 0
+ logging print file basename last
+ logging print extended-timestamp 1
+ logging level set-all debug
diff --git a/net/templates/common_statsd b/net/templates/common_statsd
new file mode 100644
index 0000000..1c35610
--- /dev/null
+++ b/net/templates/common_statsd
@@ -0,0 +1,8 @@
+stats reporter statsd
+ disable
+ remote-ip ${STATSD_IP}
+ remote-port 9125
+ level global
+ no prefix
+ enable
+stats interval 5
diff --git a/net/templates/common_template_warning b/net/templates/common_template_warning
new file mode 100644
index 0000000..e808965
--- /dev/null
+++ b/net/templates/common_template_warning
@@ -0,0 +1,2 @@
+# DO NET EDIT THIS FILE DIRECTLY!
+# This is generated from templates, and manual edits will be overwritten.
diff --git a/net/tmpl_std/kamailio.cfg b/net/templates/kamailio.cfg
index c5b0bf2..c5b0bf2 100644
--- a/net/tmpl_std/kamailio.cfg
+++ b/net/templates/kamailio.cfg
diff --git a/net/templates/nano3G_dmi.txt b/net/templates/nano3G_dmi.txt
new file mode 100644
index 0000000..ea47f29
--- /dev/null
+++ b/net/templates/nano3G_dmi.txt
@@ -0,0 +1,20 @@
+${foreach(HNODEB)}
+
+### nano3G ${HNODEBn}
+ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEBn_IP}
+telnet ${HNODEBn_IP} 8090
+
+set rfParamsCandidateList=({${HNODEBn_UARFCN}, ${HNODEBn_SCRAMBLE}, 1})
+set lacRacCandidateList=({${HNODEBn_LAC}, (${HNODEBn_RAC})})
+set hnbGwAddress="${HNBGW_IP}"
+set mcc="${MCC}"
+set mnc="${MNC}"
+action 2061
+action 1216
+action establishPermanentHnbGwConnection
+set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS
+set accessControlList = ({"901700000014701",1,"14701"},{"901700000014701",1,"14701"},{"901700000014705",1,"14705"},{"901700000014706",1,"14706"},{"204046848488900",1,"88900"},{"204046848488903",1,"88903"})
+
+${foreach_end}
+
+set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS
diff --git a/net/templates/osmo-bsc.cfg b/net/templates/osmo-bsc.cfg
new file mode 100644
index 0000000..7741b26
--- /dev/null
+++ b/net/templates/osmo-bsc.cfg
@@ -0,0 +1,109 @@
+${include(common_template_warning)}
+stats interval 5
+!
+stats reporter statsd
+ disable
+ remote-ip ${STATSD_IP}
+ remote-port 9125
+ level global
+ no prefix
+ enable
+!
+line vty
+ no login
+!
+e1_input
+ e1_line 0 driver ipa
+ e1_line 0 port 0
+ no e1_line 0 keepalive
+ ipa bind ${BSC_IP}
+cs7 instance 0
+ point-code ${BSC_PC}
+ asp asp-clnt-msc-0 2905 0 m3ua
+ as as-clnt-msc-0 m3ua
+ asp asp-clnt-msc-0
+ routing-key 4 ${BSC_PC}
+network
+ network country code ${MCC}
+ mobile network code ${MNC}
+ encryption a5 ${ENCR_A5}
+ neci 1
+ paging any use tch 0
+ handover 0
+ periodic location update 12
+ meas-feed destination 127.0.0.1 8888
+
+${foreach(BTS)}
+ bts ${BTSn}
+ description ${BTSn_DESCRIPTION}
+ type sysmobts
+ band ${BTS_BAND}
+ ip.access unit_id ${BTSn_IPA_UNIT}
+ location_area_code ${BTSn_LAC}
+ cell_identity ${BTSn_CI}
+ base_station_id_code ${BTSn_BSIC}
+ codec-support ${BTSn_CODEC_SUPPORT}
+ amr tch-f modes 3
+ amr tch-f start-mode 3
+ amr tch-h modes 3
+ amr tch-h start-mode 3
+ gprs mode ${BTSn_GPRS_MODE}
+ gprs nsvc 0 remote ip ${BTSn_GB_REMOTE_IP}
+ gprs nsvc 0 remote udp port ${BTSn_GB_REMOTE_PORT}
+ gprs nsvc 0 local udp port ${PCU_GB_LOCAL_PORT}
+ gprs nsvc 0 nsvci ${BTSn_NSVCI}
+ gprs nsei ${BTSn_NSEI}
+ gprs cell bvci ${BTSn_BVCI}
+ trx 0
+ arfcn ${BTSn_ARFCN}
+ description ${BTSn_DESCRIPTION}
+ rf_locked 0
+ nominal power ${BTSn_NOMINAL_POWER}
+ max_power_red ${BTSn_MAX_POWER_RED}
+ timeslot 0
+ phys_chan_config CCCH+SDCCH4
+ timeslot 1
+ phys_chan_config SDCCH8
+ timeslot 2
+ phys_chan_config ${TCH_TYPE}
+ timeslot 3
+ phys_chan_config ${TCH_TYPE}
+ timeslot 4
+ phys_chan_config ${TCH_TYPE}
+ timeslot 5
+ phys_chan_config ${TCH_TYPE}
+ timeslot 6
+ phys_chan_config ${TCH_TYPE}
+ timeslot 7
+ phys_chan_config PDCH
+${foreach_end}
+
+msc 0
+ mgw remote-ip ${MGW4BSC_IP}
+ mgw remote-port ${MGW4BSC_PORT}
+ mgw endpoint-domain bsc
+ allow-emergency deny
+ codec-list ${BSC_CODEC_LIST}
+ amr-config 12_2k forbidden
+ amr-config 10_2k forbidden
+ amr-config 7_95k forbidden
+ amr-config 7_40k forbidden
+ amr-config 6_70k allowed
+ amr-config 5_90k allowed
+ amr-config 5_15k forbidden
+ amr-config 4_75k forbidden
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+ logging level hodec info
+ logging level ho info
+ logging level nm info
+ logging level meas info
+ logging level lmi info
+ logging level linp notice
+ logging level lss7 notice
+ logging level lsccp notice
+ logging level lsua notice
+ logging level lm3ua notice
+${foreach_end}
diff --git a/net/tmpl_std/osmo-gbproxy.cfg b/net/templates/osmo-gbproxy.cfg
index 3bc075d..60e1ece 100644
--- a/net/tmpl_std/osmo-gbproxy.cfg
+++ b/net/templates/osmo-gbproxy.cfg
@@ -1,3 +1,4 @@
+${include(common_template_warning)}
gbproxy
sgsn nsei 101
ns
@@ -18,4 +19,7 @@ ns
encapsulation udp local-ip ${GBPROXY_IP}
encapsulation udp local-port ${GBPROXY_GB_PORT}
-${include(../common_logging)}
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+${foreach_end}
diff --git a/net/tmpl_std/osmo-ggsn.cfg b/net/templates/osmo-ggsn.cfg
index 1e69f65..4de28a7 100644
--- a/net/tmpl_std/osmo-ggsn.cfg
+++ b/net/templates/osmo-ggsn.cfg
@@ -1,17 +1,21 @@
-log stderr
- logging level all debug
- logging filter all 1
- logging print category 1
+${include(common_template_warning)}
ggsn ggsn0
+ gtp state-dir ${GGSN_GTP_STATE_DIR}
gtp bind-ip ${GGSN_IP}
apn internet
+ gtpu-mode tun
tun-device ${APN_DEV}
type-support v4
ip dns 0 ${GGSN_DNS0}
ip dns 1 ${GGSN_DNS1}
- #ip ifconfig ${GGSN_NET}
ip prefix dynamic ${GGSN_NET}
no shutdown
default-apn internet
no shutdown ggsn
-${include(../common_logging)}
+
+${include(common_statsd)}
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+${foreach_end}
diff --git a/net/templates/osmo-hlr.cfg b/net/templates/osmo-hlr.cfg
new file mode 100644
index 0000000..969cc0a
--- /dev/null
+++ b/net/templates/osmo-hlr.cfg
@@ -0,0 +1,14 @@
+${include(common_template_warning)}
+hlr
+ gsup
+ bind ip ${HLR_IP}
+ ussd route prefix *0# internal own-msisdn
+ ussd route prefix *1# internal own-imsi
+ ussd route prefix *#100# internal own-msisdn
+ ussd route prefix *#101# internal own-imsi
+ store-imei
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+${foreach_end}
diff --git a/net/templates/osmo-hnbgw.cfg b/net/templates/osmo-hnbgw.cfg
new file mode 100644
index 0000000..5559bdc
--- /dev/null
+++ b/net/templates/osmo-hnbgw.cfg
@@ -0,0 +1,15 @@
+${include(common_template_warning)}
+hnbgw
+ iuh
+ local-ip ${HNBGW_IP}
+ hnbap-allow-tmsi 1
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+ logging level linp notice
+ logging level lss7 notice
+ logging level lsccp notice
+ logging level lsua notice
+ logging level lm3ua notice
+${foreach_end}
diff --git a/net/templates/osmo-mgw-for-bsc.cfg b/net/templates/osmo-mgw-for-bsc.cfg
new file mode 100644
index 0000000..ba7e044
--- /dev/null
+++ b/net/templates/osmo-mgw-for-bsc.cfg
@@ -0,0 +1,16 @@
+${include(common_template_warning)}
+mgcp
+ domain bsc
+ bind ip ${MGW4BSC_IP}
+ bind port ${MGW4BSC_PORT}
+ rtp net-range 50004 60000
+ number endpoints 1024
+line vty
+ bind ${MGW4BSC_VTY_IP}
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+ logging level rtp info
+ logging level lmgcp info
+${foreach_end}
diff --git a/net/templates/osmo-mgw-for-msc.cfg b/net/templates/osmo-mgw-for-msc.cfg
new file mode 100644
index 0000000..dc3ada1
--- /dev/null
+++ b/net/templates/osmo-mgw-for-msc.cfg
@@ -0,0 +1,16 @@
+${include(common_template_warning)}
+mgcp
+ domain msc
+ bind ip ${MGW4MSC_IP}
+ bind port ${MGW4MSC_PORT}
+ rtp net-range 50004 60000
+ number endpoints 1024
+line vty
+ bind ${MGW4MSC_VTY_IP}
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+ logging level rtp info
+ logging level lmgcp info
+${foreach_end}
diff --git a/net/templates/osmo-msc.cfg b/net/templates/osmo-msc.cfg
new file mode 100644
index 0000000..00bf182
--- /dev/null
+++ b/net/templates/osmo-msc.cfg
@@ -0,0 +1,37 @@
+${include(common_template_warning)}
+network
+ network country code ${MCC}
+ mobile network code ${MNC}
+ authentication ${AUTH}
+ encryption a5 ${ENCR_A5}
+ short name 35c3
+ long name 35c3
+ mm info 1
+msc
+ mncc ${MSC_MNCC}
+ mgw remote-ip ${MGW4MSC_IP}
+ mgw remote-port ${MGW4MSC_PORT}
+ mgw endpoint-domain msc
+ check-imei-rqd 1
+ # For nano3G:
+ iu rab-assign-addr-enc x213
+mncc-int
+ default-codec tch-f fr
+ default-codec tch-h amr
+smpp
+ local-tcp-ip 127.0.0.1 2775
+ system-id test-msc
+ policy closed
+ no smpp-first
+hlr
+ remote-ip ${HLR_IP}
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+ logging level linp notice
+ logging level lss7 notice
+ logging level lsccp notice
+ logging level lsua notice
+ logging level lm3ua notice
+${foreach_end}
diff --git a/net/templates/osmo-sgsn.cfg b/net/templates/osmo-sgsn.cfg
new file mode 100644
index 0000000..542eb95
--- /dev/null
+++ b/net/templates/osmo-sgsn.cfg
@@ -0,0 +1,21 @@
+${include(common_template_warning)}
+sgsn
+ gtp local-ip ${SGSN_IP}
+ ggsn 0 remote-ip ${GGSN_IP}
+ ggsn 0 gtp-version 1
+ auth-policy remote
+ gsup remote-ip ${HLR_IP}
+ns
+ encapsulation udp local-ip ${SGSN_IP}
+ encapsulation udp local-port ${SGSN_GB_PORT}
+ encapsulation framerelay-gre enabled 0
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+ logging level linp notice
+ logging level lss7 notice
+ logging level lsccp notice
+ logging level lsua notice
+ logging level lm3ua notice
+${foreach_end}
diff --git a/net/tmpl_std/osmo-sip-connector.cfg b/net/templates/osmo-sip-connector.cfg
index 953eccd..5f067ef 100644
--- a/net/tmpl_std/osmo-sip-connector.cfg
+++ b/net/templates/osmo-sip-connector.cfg
@@ -1,6 +1,12 @@
+${include(common_template_warning)}
app
mncc
socket-path ${MSC_MNCC_SOCKET}
sip
local ${SIPCON_LOCAL} ${SIPCON_LOCAL_PORT}
remote ${SIPCON_REMOTE} ${SIPCON_REMOTE_PORT}
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+${foreach_end}
diff --git a/net/templates/osmo-stp.cfg b/net/templates/osmo-stp.cfg
new file mode 100644
index 0000000..d7d1515
--- /dev/null
+++ b/net/templates/osmo-stp.cfg
@@ -0,0 +1,15 @@
+${include(common_template_warning)}
+cs7 instance 0
+ xua rkm routing-key-allocation dynamic-permitted
+ listen m3ua 2905
+ accept-asp-connections dynamic-permitted
+
+${foreach(LOG_OUTPUT)}
+log ${LOG_OUTPUTn_TYPE}
+${include(common_logging)}
+ logging level linp notice
+ logging level lss7 notice
+ logging level lsccp notice
+ logging level lsua notice
+ logging level lm3ua notice
+${foreach_end}
diff --git a/net/tmpl_std/run.sh b/net/templates/run.sh
index 03f75c1..804262a 100755
--- a/net/tmpl_std/run.sh
+++ b/net/templates/run.sh
@@ -9,7 +9,6 @@ if ! ../fill_config.py --check-stale; then
fi
dev="${ETH_DEV}"
-ip2="${PUBLIC_IP2}"
apn="${APN_DEV}"
sudo true || exit 1
@@ -28,14 +27,14 @@ if [ -z "$(ip tuntap show | grep $apn)" ]; then
sudo ip link set $apn up
fi
-if [ -z "$(ip addr show | grep "$PUBLIC_IP")" ]; then
- echo "No interface has IP address $PUBLIC_IP! Hit enter to continue anyway."
+if [ -z "$(ip addr show | grep "$TO_RAN_IP")" ]; then
+ echo "No interface has IP address $TO_RAN_IP! Hit enter to continue anyway."
read enter_to_continue
fi
-if [ -z "$(ip addr show | grep "$ip2")" ]; then
- echo "No interface has IP address $ip2! Hit enter to 'ip addr add $ip2/32 dev $dev'"
+if [ -z "$(ip addr show | grep "$TO_RAN_IU_IP")" ]; then
+ echo "No interface has IP address $TO_RAN_IU_IP! Hit enter to 'ip addr add $TO_RAN_IU_IP/32 dev $dev'"
read enter_to_continue
- sudo ip addr add $ip2/32 dev $dev
+ sudo ip addr add $TO_RAN_IU_IP/32 dev $dev
fi
logdir="current_log"
@@ -78,14 +77,14 @@ hlr="LD_LIBRARY_PATH=/usr/local/lib gdb -ex run --args osmo-hlr --db-upgrade"
stp="osmo-stp"
bsc="LD_LIBRARY_PATH=/usr/local/lib gdb -ex run --args osmo-bsc -c osmo-bsc.cfg"
-if [ "${SIPCON_ENABLE}" == "true" ]; then
+if [ "x${MSC_MNCC}" != "xinternal" ]; then
sipcon="osmo-sip-connector -c osmo-sip-connector.cfg"
msc="$msc -M ${MSC_MNCC_SOCKET}"
# Require kamailio (PATH hack is needed for Debian)
kamailio="$(PATH="$PATH:/usr/sbin:/sbin" which kamailio)"
if [ -z "$kamailio" ]; then
- echo "ERROR: kamailio is not installed, but it's required for SIPCON_ENABLE."
+ echo "ERROR: kamailio is not installed, but it's required for external MNCC."
echo "After installing it, make sure that it does *not* run as daemon."
exit 1
fi
@@ -115,7 +114,7 @@ term "$hnbgw" HNBGW &
sleep .2
term "$bsc" BSC &
-if [ "${SIPCON_ENABLE}" == "true" ]; then
+if [ "x${MSC_MNCC}" != "xinternal" ]; then
sleep .2
term "$sipcon" SIPCON &
sleep .2
@@ -129,7 +128,7 @@ echo enter to close
read enter_to_close
echo Closing...
-if [ "${SIPCON_ENABLE}" == "true" ]; then
+if [ "x${MSC_MNCC}" != "xinternal" ]; then
kill %13 %14
killall osmo-sip-connector
killall kamailio
diff --git a/net/tmpl_std/nano3G.txt b/net/tmpl_std/nano3G.txt
deleted file mode 100644
index df6feb6..0000000
--- a/net/tmpl_std/nano3G.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEB_IP}
-
-telnet ${HNODEB_IP} 8090
-
-set mcc="${MCC}"
-set mnc="${MNC}"
-set rfParamsCandidateList=({${UARFCN}, ${SCRAMBLE}, 1})
-set lacRacCandidateList=({${LAC}, (${RAC})})
-set hnbGwAddress="${HNBGW_IP}"
-action 2061
-action 1216
-action establishPermanentHnbGwConnection
-set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS
-set accessControlList = ({"901700000014701",1,"14701"})
-
-set accessControlList = ({"901700000014701",1,"14701"},{"901700000014702",1,"14702"})
-
-set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS
diff --git a/net/tmpl_std/nano3G2.txt b/net/tmpl_std/nano3G2.txt
deleted file mode 100644
index a5be62d..0000000
--- a/net/tmpl_std/nano3G2.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes128-cbc root@${HNODEB_IP2}
-
-telnet ${HNODEB_IP2} 8090
-
-set mcc="${MCC}"
-set mnc="${MNC}"
-set rfParamsCandidateList=({${UARFCN2}, ${SCRAMBLE2}, 1})
-set lacRacCandidateList=({${LAC2}, (${RAC2})})
-set hnbGwAddress="${HNBGW_IP}"
-action 2061
-action 1216
-action establishPermanentHnbGwConnection
-set csgAccessMode=CSG_ACCESS_MODE_CLOSED_ACCESS
-set accessControlList = ({"901700000014702",1,"14702"})
-
-set accessControlList = ({"901700000014701",1,"14701"},{"901700000014702",1,"14702"})
-
-set csgAccessMode=CSG_ACCESS_MODE_OPEN_ACCESS
diff --git a/net/tmpl_std/osmo-bsc.cfg b/net/tmpl_std/osmo-bsc.cfg
deleted file mode 100644
index cfaf8b7..0000000
--- a/net/tmpl_std/osmo-bsc.cfg
+++ /dev/null
@@ -1,86 +0,0 @@
-network
- #meas-feed destination 172.18.18.18 8888
- #meas-feed scenario foo23
- network country code ${MCC}
- mobile network code ${MNC}
- encryption a5 ${ENCR_A5}
- bts 0
- type sysmobts
- band ${BTS0_BAND}
- location_area_code ${BTS0_LAC}
- cell_identity ${BTS0_CI}
- cell reselection hysteresis 14
- ip.access unit_id ${BTS0_IPA_UNIT}
- gprs mode gprs
- gprs nsvc 0 remote ip ${GBPROXY_IP}
- gprs nsvc 0 remote udp port ${GBPROXY_GB_PORT}
- gprs nsvc 0 local udp port ${PCU_GB_PORT}
- gprs nsvc 0 nsvci ${BTS0_NSVCI}
- gprs nsei ${BTS0_NSEI}
- gprs cell bvci ${BTS0_BVCI}
- trx 0
- rf_locked 0
- arfcn ${BTS0_ARFCN}
- nominal power 23
- max_power_red ${BTS0_MAX_POWER_RED}
- timeslot 0
- phys_chan_config CCCH+SDCCH4
- timeslot 1
- phys_chan_config SDCCH8
- timeslot 2
- phys_chan_config TCH/F
- timeslot 3
- phys_chan_config TCH/F
- timeslot 4
- phys_chan_config TCH/F
- timeslot 5
- phys_chan_config PDCH
- timeslot 6
- phys_chan_config PDCH
- timeslot 7
- phys_chan_config PDCH
- bts 1
- type sysmobts
- band ${BTS1_BAND}
- location_area_code ${BTS1_LAC}
- cell_identity ${BTS1_CI}
- cell reselection hysteresis 14
- ip.access unit_id ${BTS1_IPA_UNIT}
- gprs mode gprs
- gprs nsvc 0 remote ip ${GBPROXY_IP}
- gprs nsvc 0 remote udp port ${GBPROXY_GB_PORT}
- gprs nsvc 0 local udp port ${PCU_GB_PORT}
- gprs nsvc 0 nsvci ${BTS1_NSVCI}
- gprs nsei ${BTS1_NSEI}
- gprs cell bvci ${BTS1_BVCI}
- trx 0
- rf_locked 0
- arfcn ${BTS1_ARFCN}
- nominal power 23
- max_power_red ${BTS1_MAX_POWER_RED}
- timeslot 0
- phys_chan_config CCCH+SDCCH4
- timeslot 1
- phys_chan_config SDCCH8
- timeslot 2
- phys_chan_config TCH/F
- timeslot 3
- phys_chan_config TCH/F
- timeslot 4
- phys_chan_config TCH/F
- timeslot 5
- phys_chan_config PDCH
- timeslot 6
- phys_chan_config PDCH
- timeslot 7
- phys_chan_config PDCH
-e1_input
- e1_line 0 driver ipa
-msc 0
- mgw remote-ip ${MGW4BSC_IP}
- mgw remote-port ${MGW4BSC_PORT}
- mgw endpoint-range 33 64
- allow-emergency deny
- codec-list ${BSC_CODEC_LIST}
-
-${include(../common_bsc_logging)}
diff --git a/net/tmpl_std/osmo-hlr.cfg b/net/tmpl_std/osmo-hlr.cfg
deleted file mode 100644
index 4f8a14a..0000000
--- a/net/tmpl_std/osmo-hlr.cfg
+++ /dev/null
@@ -1,7 +0,0 @@
-hlr
- ussd route prefix *1# internal own-msisdn
- ussd route prefix *2# internal own-imsi
- ussd route prefix *#100# internal own-msisdn
- ussd route prefix *#101# internal own-imsi
- store-imei
-${include(../common_logging)}
diff --git a/net/tmpl_std/osmo-hnbgw.cfg b/net/tmpl_std/osmo-hnbgw.cfg
deleted file mode 100644
index a918b10..0000000
--- a/net/tmpl_std/osmo-hnbgw.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-hnbgw
- iuh
- local-ip ${HNBGW_IP}
-
-${include(../common_logging)}
diff --git a/net/tmpl_std/osmo-mgw-for-bsc.cfg b/net/tmpl_std/osmo-mgw-for-bsc.cfg
deleted file mode 100644
index a6eddbf..0000000
--- a/net/tmpl_std/osmo-mgw-for-bsc.cfg
+++ /dev/null
@@ -1,11 +0,0 @@
-mgcp
- bind ip ${MGW4BSC_IP}
- # default port is 2427 (is used for MSC's MGW)
- bind port ${MGW4BSC_PORT}
- number endpoints 64
-line vty
- # default VTY interface is on 127.0.0.1 (used for MSC's MGW)
- bind ${MGW4BSC_VTY_IP}
-
-${include(../common_logging)}
- logging level all info
diff --git a/net/tmpl_std/osmo-mgw-for-msc.cfg b/net/tmpl_std/osmo-mgw-for-msc.cfg
deleted file mode 100644
index 5803932..0000000
--- a/net/tmpl_std/osmo-mgw-for-msc.cfg
+++ /dev/null
@@ -1,8 +0,0 @@
-mgcp
- bind ip ${MGW4MSC_IP}
- number endpoints 64
-line vty
- bind ${MGW4MSC_VTY_IP}
-
-${include(../common_logging)}
- logging level all info
diff --git a/net/tmpl_std/osmo-msc.cfg b/net/tmpl_std/osmo-msc.cfg
deleted file mode 100644
index 99c1b00..0000000
--- a/net/tmpl_std/osmo-msc.cfg
+++ /dev/null
@@ -1,18 +0,0 @@
-network
- network country code ${MCC}
- mobile network code ${MNC}
- authentication ${AUTH}
- encryption a5 ${ENCR_A5}
-msc
- mgw remote-ip ${MGW4MSC_IP}
- # For nano3G:
- iu rab-assign-addr-enc x213
-
- check-imei-rqd 1
-
-${include(../common_logging)}
- logging level ref debug
- logging level vlr debug
-log stderr
- logging level ref debug
- logging level vlr debug
diff --git a/net/tmpl_std/osmo-sgsn.cfg b/net/tmpl_std/osmo-sgsn.cfg
deleted file mode 100644
index 3b61ef3..0000000
--- a/net/tmpl_std/osmo-sgsn.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-sgsn
- gtp local-ip ${SGSN_IP}
- ggsn 0 remote-ip ${GGSN_IP}
- ggsn 0 gtp-version 1
- auth-policy remote
- gsup remote-ip ${HLR_IP}
-ns
- encapsulation udp local-ip ${SGSN_IP}
- encapsulation udp local-port ${SGSN_GB_PORT}
- encapsulation framerelay-gre enabled 0
-
-${include(../common_logging)}
diff --git a/net/tmpl_std/osmo-stp.cfg b/net/tmpl_std/osmo-stp.cfg
deleted file mode 100644
index 093bf86..0000000
--- a/net/tmpl_std/osmo-stp.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-cs7 instance 0
- xua rkm routing-key-allocation dynamic-permitted
- listen m3ua 2905
- accept-asp-connections dynamic-permitted
-
-${include(../common_logging)}