Project

General

Profile

OsmoNITB Migration Guide » History » Version 10

neels, 10/28/2017 11:26 PM

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