Project

General

Profile

OsmoNITB Migration Guide » History » Version 14

lynxis, 11/07/2017 04:22 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 14 lynxis
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 13 neels
Note that not all information is copied to the hlr.db, so far just IMSI, MSISDN and 2G auth tokens are migrated -- check the @osmo-hlr-db-tool@ cmdline help to find out what exactly is migrated at the time you're reading this.
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 11 neels
# ---------- to OsmoBSC:
46 10 neels
e1_input
47
 e1_line 0 driver ipa
48
 ipa bind 10.42.42.2
49 11 neels
# ---------- to both OsmoBSC and OsmoMSC:
50 10 neels
network
51
 network country code 901
52
 mobile network code 70
53
 short name osmo-gsm-tester-nitb
54
 long name osmo-gsm-tester-nitb
55
 auth policy closed
56
 location updating reject cause 13
57
 encryption a5 0
58 11 neels
 # ---------- to OsmoBSC:
59 10 neels
 neci 1
60
 rrlp mode none
61
 mm info 1
62
 handover 0
63
 handover window rxlev averaging 10
64
 handover window rxqual averaging 1
65
 handover window rxlev neighbor averaging 10
66
 handover power budget interval 6
67
 handover power budget hysteresis 3
68
 handover maximum distance 9999
69
 bts 0
70
  type sysmobts
71
  band GSM-1800
72
  cell_identity 0
73
  location_area_code 23
74
  training_sequence_code 7
75
  base_station_id_code 63
76
  ms max power 33
77
  cell reselection hysteresis 4
78
  rxlev access min 0
79
  channel allocator ascending
80
  rach tx integer 9
81
  rach max transmission 7
82
  ip.access unit_id 1 0
83
  oml ip.access stream_id 255 line 0
84
  gprs mode none
85
  trx 0
86
   rf_locked 0
87
   arfcn 868
88
   nominal power 23
89
   max_power_red 0
90
   rsl e1 tei 0
91
   timeslot 0
92
    phys_chan_config CCCH+SDCCH4
93
   timeslot 1
94
    phys_chan_config SDCCH8
95
   timeslot 2
96
    phys_chan_config TCH/F
97
   timeslot 3
98
    phys_chan_config TCH/F
99
   timeslot 4
100
    phys_chan_config TCH/F
101
   timeslot 5
102
    phys_chan_config TCH/F
103
   timeslot 6
104
    phys_chan_config TCH/F
105
   timeslot 7
106
    phys_chan_config TCH/F
107 11 neels
# ---------- to OsmoMSC:
108 10 neels
smpp
109
 local-tcp-ip 10.42.42.2 2775
110
 system-id test-nitb
111
 policy closed
112 1 neels
</pre>
113
114 11 neels
h2. OsmoBSC config
115
116
To above snippets from the OsmoNITB config, you may want to add a 'cs7 instance' section to configure the SCCP point codes and connection to the OsmoSTP. Note that if omitted, default values apply.
117
118
You also need to add an 'msc' section to tell OsmoBSC where to reach the MSC.
119
120
*additions to OsmoBSC's config*:
121
<pre>
122
cs7 instance 0
123
 point-code 0.0.2
124
 sccp-address msc_remote
125
  point-code 0.0.1
126
msc
127
 msc-addr msc_remote
128
</pre>
129
130
This should give you an OsmoBSC config file like:
131
132 10 neels
*OsmoBSC config*:
133
<pre>
134
e1_input
135 1 neels
 e1_line 0 driver ipa
136
 ipa bind 10.42.42.5
137
cs7 instance 1
138 10 neels
 point-code 0.0.2
139
 sccp-address msc_remote
140
  point-code 0.0.1
141 11 neels
msc
142
 ! 'msc_remote' is an address book entry defined above under 'cs7'
143
 msc-addr msc_remote
144 10 neels
network
145
 network country code 901
146
 mobile network code 70
147
 short name osmo-gsm-tester-msc
148
 long name osmo-gsm-tester-msc
149
 auth policy closed
150
 location updating reject cause 13
151
 encryption a5 0
152
 authentication optional
153
 neci 1
154
 rrlp mode none
155
 mm info 1
156
 handover 0
157
 handover window rxlev averaging 10
158
 handover window rxqual averaging 1
159
 handover window rxlev neighbor averaging 10
160
 handover power budget interval 6
161
 handover power budget hysteresis 3
162
 handover maximum distance 9999
163
 bts 0
164
  type sysmobts
165
  band GSM-1800
166
  cell_identity 0
167
  location_area_code 23
168
  training_sequence_code 7
169
  base_station_id_code 63
170
  ms max power 33
171
  cell reselection hysteresis 4
172
  rxlev access min 0
173
  channel allocator ascending
174
  rach tx integer 9
175
  rach max transmission 7
176
  ip.access unit_id 1 0
177
  oml ip.access stream_id 255 line 0
178
  gprs mode none
179
  trx 0
180
   rf_locked 0
181
   arfcn 868
182
   nominal power 23
183
   max_power_red 0
184
   rsl e1 tei 0
185
   timeslot 0
186
    phys_chan_config CCCH+SDCCH4
187
   timeslot 1
188
    phys_chan_config SDCCH8
189
   timeslot 2
190
    phys_chan_config TCH/F
191
   timeslot 3
192 1 neels
    phys_chan_config TCH/F
193 10 neels
   timeslot 4
194
    phys_chan_config TCH/F
195 1 neels
   timeslot 5
196
    phys_chan_config TCH/F
197
   timeslot 6
198
    phys_chan_config TCH/F
199
   timeslot 7
200
    phys_chan_config TCH/F
201 11 neels
</pre>
202
203
h2. OsmoMSC config
204
205
To the MSC bits copied from OsmoNITB, you may want to add:
206
207
* a 'cs7 instance' section to configure the SCCP point codes and connection to the OsmoSTP. Note that if omitted, default values apply.
208
* an 'hlr' section if your OsmoHLR is not running on localhost.
209
* an 'msc' section to indicate where to reach the MGW, if it is not on localhost.
210
211
<pre>
212
cs7 instance 0
213
 point-code 0.0.1
214
hlr
215
 remote-ip 10.42.42.2
216 10 neels
msc
217 11 neels
 mgcpgw remote-ip 10.42.42.3
218 10 neels
</pre>
219
220 11 neels
This should give you an OsmoMSC config file like:
221
222 10 neels
*OsmoMSC config*:
223 11 neels
224 10 neels
<pre>
225 12 neels
cs7 instance 0
226
 point-code 0.0.1
227
msc
228
 mgcpgw remote-ip 10.42.42.3
229
hlr
230
 remote-ip 10.42.42.2
231 10 neels
network
232
 network country code 901
233
 mobile network code 70
234
 short name osmo-gsm-tester-msc
235
 long name osmo-gsm-tester-msc
236
 auth policy closed
237
 location updating reject cause 13
238
 encryption a5 0
239
 authentication optional
240
smpp
241
 local-tcp-ip 10.42.42.4 2775
242
 system-id test-msc
243 2 neels
 policy closed
244
</pre>
245
246 1 neels
h1. Service Files
247
248
TODO
Add picture from clipboard (Maximum size: 48.8 MB)