OsmoNITB Migration Guide » History » Revision 10
Revision 9 (neels, 10/27/2017 02:36 AM) → Revision 10/26 (neels, 10/28/2017 11:26 PM)
{{>toc}}
h1. OsmoNITB Migration Guide
Historically, Osmocom offered the [[OsmoNITB:]] "Network-In-The-Box" as an actual single program. It was a useful simplification at the time, but in 2017, Osmocom have decided to split OsmoNITB into programs more closely resembling traditional network architecture. It is recommended to use the new separate components instead of the OsmoNITB, since active development focus has moved there.
Creating a new Network In The Box from scratch is described at [[Osmocom Network In The Box]], please refer to that page to complement the descriptions found here.
This page aims at describing the steps necessary to move from a working operation of osmo-nitb to the new split components.
h1. Subscriber Database
With OsmoHLR comes *@osmo-hlr-db-tool@*, which is capable of importing the most important subscriber data from a database that was used with OsmoNITB.
In a standard installation, the osmo-nitb database should be found at @/var/lib/osmocom/hlr.sqlite3@, and the osmo-hlr database is expected at @/var/lib/osmocom/hlr.db@. Hence the migration command becomes:
<pre>
osmo-hlr-db-tool --database /var/lib/osmocom/hlr.db --import-nitb-db /var/lib/osmocom/hlr.sqlite3
</pre>
If no @--database@ is passed, @./hlr.db@ is assumed.
If the target @hlr.db@ does not exist yet, it is created.
If no @--import-nitb-db@ is passed, a @hlr.db@ without any subscriber data is created.
You may repeat / combine imports to the same @hlr.db@; any subscribers that already exist will be skipped with an error message. It is possible to do an import while osmo-hlr is actively using the database, but that is not recommended.
Take care that the resulting hlr.db has the proper read and write permissions by the user that will run OsmoHLR. Probably, the same ownership and permissions that the previous OsmoNITB database had is the correct choice.
Note that not all information is copied to the hlr.db, just IMSI and 2G auth tokens.
To avoid future confusion, it may be desirable to remove the legacy hlr.sqlite3 from the system (i.e. backup to somewhere else), or rename it to something like @osmo-nitb.db@, so that it is not mistaken for the OsmoHLR database.
h1. Configuration Files
Most of the current OsmoNITB config options still exist, but are now moved to OsmoMSC or OsmoBSC. Few are required in both.
New configuration is available to set up:
* the GSUP connection from OsmoMSC to the OsmoHLR, and
* the SCCP connection for the A-interface between OsmoBSC and OsmoMSC, established via OsmoSTP.
Let's take this standard OsmoNITB configuration and split it up in OsmoBSC and OsmoMSC parts:
*OsmoNITB config*:
<pre>
e1_input
e1_line 0 driver ipa
ipa bind 10.42.42.2
network
network country code 901
mobile network code 70
short name osmo-gsm-tester-nitb
long name osmo-gsm-tester-nitb
auth policy closed
location updating reject cause 13
encryption a5 0
neci 1
rrlp mode none
mm info 1
handover 0
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
bts 0
type sysmobts
band GSM-1800
cell_identity 0
location_area_code 23
training_sequence_code 7
base_station_id_code 63
ms max power 33
cell reselection hysteresis 4
rxlev access min 0
channel allocator ascending
rach tx integer 9
rach max transmission 7
ip.access unit_id 1 0
oml ip.access stream_id 255 line 0
gprs mode none
trx 0
rf_locked 0
arfcn 868
nominal power 23
max_power_red 0
rsl e1 tei 0
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 TCH/F
timeslot 6
phys_chan_config TCH/F
timeslot 7
phys_chan_config TCH/F
smpp
local-tcp-ip 10.42.42.2 2775
system-id test-nitb
policy closed
ctrl
bind 10.42.42.2
</pre>
*OsmoBSC config*:
<pre>
e1_input
e1_line 0 driver ipa
ipa bind 10.42.42.5
cs7 instance 1
point-code 0.0.2
sccp-address bsc_local
point-code 0.0.2
routing-indicator PC
sccp-address msc_remote
point-code 0.0.1
routing-indicator PC
network
network country code 901
mobile network code 70
short name osmo-gsm-tester-msc
long name osmo-gsm-tester-msc
auth policy closed
location updating reject cause 13
encryption a5 0
authentication optional
neci 1
rrlp mode none
mm info 1
handover 0
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
bts 0
type sysmobts
band GSM-1800
cell_identity 0
location_area_code 23
training_sequence_code 7
base_station_id_code 63
ms max power 33
cell reselection hysteresis 4
rxlev access min 0
channel allocator ascending
rach tx integer 9
rach max transmission 7
ip.access unit_id 1 0
oml ip.access stream_id 255 line 0
gprs mode none
trx 0
rf_locked 0
arfcn 868
nominal power 23
max_power_red 0
rsl e1 tei 0
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 TCH/F
timeslot 6
phys_chan_config TCH/F
timeslot 7
phys_chan_config TCH/F
msc
token msc_token_23_42
core-mobile-country-code 901
core-mobile-network-code 70
ip.access rtp-base 8000
timeout-ping 1800
timeout-ping advanced
timeout-pong 60
codec-list hr3
dest 151.80.237.229 5000 184
amr-config 12_2k forbidden
amr-config 10_2k forbidden
amr-config 7_95k forbidden
amr-config 7_40k forbidden
amr-config 6_70k forbidden
amr-config 5_90k allowed
amr-config 5_15k forbidden
amr-config 4_75k forbidden
msc-addr msc_remote
bsc-addr bsc_local
</pre>
*OsmoMSC config*:
<pre>
network
network country code 901
mobile network code 70
short name osmo-gsm-tester-msc
long name osmo-gsm-tester-msc
auth policy closed
location updating reject cause 13
encryption a5 0
authentication optional
cs7 instance 0
point-code 0.0.1
msc
mgcpgw remote-ip 10.42.42.3
assign-tmsi
cs7-instance-iu 0
cs7-instance-a 0
ctrl
bind 10.42.42.4
smpp
local-tcp-ip 10.42.42.4 2775
system-id test-msc
policy closed
hlr
remote-ip 10.42.42.2
</pre>
h1. Service Files
TODO