Project

General

Profile

OsmoNITB Migration Guide » History » Version 10

neels, 10/28/2017 11:26 PM

1 3 neels
{{>toc}}
2
3 1 neels
h1. OsmoNITB Migration Guide
4
5 2 neels
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.
6
7
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.
8
9
This page aims at describing the steps necessary to move from a working operation of osmo-nitb to the new split components.
10
11
h1. Subscriber Database
12
13 4 neels
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.
14
15 5 neels
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:
16
17 1 neels
<pre>
18 8 neels
osmo-hlr-db-tool --database /var/lib/osmocom/hlr.db --import-nitb-db /var/lib/osmocom/hlr.sqlite3
19 4 neels
</pre>
20
21 8 neels
If no @--database@ is passed, @./hlr.db@ is assumed.
22 1 neels
If the target @hlr.db@ does not exist yet, it is created.
23 8 neels
If no @--import-nitb-db@ is passed, a @hlr.db@ without any subscriber data is created.
24
25
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.
26
27
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.
28 4 neels
29 1 neels
Note that not all information is copied to the hlr.db, just IMSI and 2G auth tokens.
30 5 neels
31
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.
32 2 neels
33
h1. Configuration Files
34
35 6 neels
Most of the current OsmoNITB config options still exist, but are now moved to OsmoMSC or OsmoBSC. Few are required in both.
36
37 9 neels
New configuration is available to set up:
38
* the GSUP connection from OsmoMSC to the OsmoHLR, and
39
* the SCCP connection for the A-interface between OsmoBSC and OsmoMSC, established via OsmoSTP.
40 2 neels
41 10 neels
Let's take this standard OsmoNITB configuration and split it up in OsmoBSC and OsmoMSC parts:
42
43
*OsmoNITB config*:
44
<pre>
45
e1_input
46
 e1_line 0 driver ipa
47
 ipa bind 10.42.42.2
48
network
49
 network country code 901
50
 mobile network code 70
51
 short name osmo-gsm-tester-nitb
52
 long name osmo-gsm-tester-nitb
53
 auth policy closed
54
 location updating reject cause 13
55
 encryption a5 0
56
 neci 1
57
 rrlp mode none
58
 mm info 1
59
 handover 0
60
 handover window rxlev averaging 10
61
 handover window rxqual averaging 1
62
 handover window rxlev neighbor averaging 10
63
 handover power budget interval 6
64
 handover power budget hysteresis 3
65
 handover maximum distance 9999
66
 bts 0
67
  type sysmobts
68
  band GSM-1800
69
  cell_identity 0
70
  location_area_code 23
71
  training_sequence_code 7
72
  base_station_id_code 63
73
  ms max power 33
74
  cell reselection hysteresis 4
75
  rxlev access min 0
76
  channel allocator ascending
77
  rach tx integer 9
78
  rach max transmission 7
79
  ip.access unit_id 1 0
80
  oml ip.access stream_id 255 line 0
81
  gprs mode none
82
  trx 0
83
   rf_locked 0
84
   arfcn 868
85
   nominal power 23
86
   max_power_red 0
87
   rsl e1 tei 0
88
   timeslot 0
89
    phys_chan_config CCCH+SDCCH4
90
   timeslot 1
91
    phys_chan_config SDCCH8
92
   timeslot 2
93
    phys_chan_config TCH/F
94
   timeslot 3
95
    phys_chan_config TCH/F
96
   timeslot 4
97
    phys_chan_config TCH/F
98
   timeslot 5
99
    phys_chan_config TCH/F
100
   timeslot 6
101
    phys_chan_config TCH/F
102
   timeslot 7
103
    phys_chan_config TCH/F
104
smpp
105
 local-tcp-ip 10.42.42.2 2775
106
 system-id test-nitb
107
 policy closed
108
ctrl
109
 bind 10.42.42.2
110
</pre>
111
112
*OsmoBSC config*:
113
<pre>
114
e1_input
115
 e1_line 0 driver ipa
116
 ipa bind 10.42.42.5
117
cs7 instance 1
118
 point-code 0.0.2
119
 sccp-address bsc_local
120
  point-code 0.0.2
121
  routing-indicator PC
122
 sccp-address msc_remote
123
  point-code 0.0.1
124
  routing-indicator PC
125
network
126
 network country code 901
127
 mobile network code 70
128
 short name osmo-gsm-tester-msc
129
 long name osmo-gsm-tester-msc
130
 auth policy closed
131
 location updating reject cause 13
132
 encryption a5 0
133
 authentication optional
134
 neci 1
135
 rrlp mode none
136
 mm info 1
137
 handover 0
138
 handover window rxlev averaging 10
139
 handover window rxqual averaging 1
140
 handover window rxlev neighbor averaging 10
141
 handover power budget interval 6
142
 handover power budget hysteresis 3
143
 handover maximum distance 9999
144
 bts 0
145
  type sysmobts
146
  band GSM-1800
147
  cell_identity 0
148
  location_area_code 23
149
  training_sequence_code 7
150
  base_station_id_code 63
151
  ms max power 33
152
  cell reselection hysteresis 4
153
  rxlev access min 0
154
  channel allocator ascending
155
  rach tx integer 9
156
  rach max transmission 7
157
  ip.access unit_id 1 0
158
  oml ip.access stream_id 255 line 0
159
  gprs mode none
160
  trx 0
161
   rf_locked 0
162
   arfcn 868
163
   nominal power 23
164
   max_power_red 0
165
   rsl e1 tei 0
166
   timeslot 0
167
    phys_chan_config CCCH+SDCCH4
168
   timeslot 1
169
    phys_chan_config SDCCH8
170
   timeslot 2
171
    phys_chan_config TCH/F
172
   timeslot 3
173
    phys_chan_config TCH/F
174
   timeslot 4
175
    phys_chan_config TCH/F
176
   timeslot 5
177
    phys_chan_config TCH/F
178
   timeslot 6
179
    phys_chan_config TCH/F
180
   timeslot 7
181
    phys_chan_config TCH/F
182
msc
183
 token msc_token_23_42
184
 core-mobile-country-code 901
185
 core-mobile-network-code 70
186
 ip.access rtp-base 8000
187
 timeout-ping 1800
188
 timeout-ping advanced
189
 timeout-pong 60
190
 codec-list hr3
191
 dest 151.80.237.229 5000 184
192
 amr-config 12_2k forbidden
193
 amr-config 10_2k forbidden
194
 amr-config 7_95k forbidden
195
 amr-config 7_40k forbidden
196
 amr-config 6_70k forbidden
197
 amr-config 5_90k allowed
198
 amr-config 5_15k forbidden
199
 amr-config 4_75k forbidden
200
 msc-addr msc_remote
201
 bsc-addr bsc_local
202
</pre>
203
204
*OsmoMSC config*:
205
<pre>
206
network
207
 network country code 901
208
 mobile network code 70
209
 short name osmo-gsm-tester-msc
210
 long name osmo-gsm-tester-msc
211
 auth policy closed
212
 location updating reject cause 13
213
 encryption a5 0
214
 authentication optional
215
cs7 instance 0
216
 point-code 0.0.1
217
msc
218
 mgcpgw remote-ip 10.42.42.3
219
 assign-tmsi
220
 cs7-instance-iu 0
221
 cs7-instance-a 0
222
ctrl
223
 bind 10.42.42.4
224
smpp
225
 local-tcp-ip 10.42.42.4 2775
226
 system-id test-msc
227
 policy closed
228
hlr
229
 remote-ip 10.42.42.2
230
</pre>
231
232 2 neels
h1. Service Files
233
234
TODO
Add picture from clipboard (Maximum size: 48.8 MB)