Project

General

Profile

Multi-BTS with handover » History » Version 13

laforge, 03/23/2018 12:56 PM
legacy

1 13 laforge
{{include(cellular-infrastructure:MacroLegacy)}}
2
3 11
{{>toc}}
4 1
5 11
h2. Configuring [[OpenBSC]] with muiltiple BTS and in-call handover
6 1
7 11
8
9
h3. Prerequisites
10
11
12 1
It is assumed that you already have a functioning BSC/NITB, and two or more BTS available.
13
14 11
Note that if you are using BTS based on [[OsmoBTS]]/OsmoTRX handover requires:
15 1
16 11
* osmo-bts package version >= fw-5 (this "fix":http://cgit.osmocom.org/osmo-bts/commit/?h=fairwaves/master&id=a6ad0b44ae45a2fd51b6a55507e8295605431e92 is included)
17
* osmo-trx package version >= 0.2.0 (this "patch":http://cgit.osmocom.org/osmo-trx/commit/?h=fairwaves/master&id=19c392df82fe7acd303e4340059c87c432623881 is included)
18 1
19
20 11
h3. Example network architecture
21 1
22 11
23
In this example we have one system running the BSC/NITB software and two BTS that are built on the [[OsmoBTS]] software.
24
25 12 laforge
{{graphviz_link()
26 1
digraph G {
27
  rankdir = LR;
28
  BSC -> BTS0 [ label = "A-bis" dir=both ];
29
  BSC -> BTS1 [ label = "A-bis" dir=both ];
30
  BSC [ shape = square label = "BSC\n172.30.1.10" ];
31
  BTS0 [ shape = square label = "BTS 0\n172.30.1.11" ];
32
  BTS1 [ shape = square label = "BTS 1\n172.30.1.12" ];
33
  }
34 12 laforge
}}
35 8 ipse
36 1
37 11
h3. BTS configuration
38 1
39
40 11
There are three [[OsmoBTS]] parameters in particular which must be correctly configured:
41
42
* *bts* - BTS number in a config file, always 0 for a BTS configuration file, 0..n for the NITB configuration file
43
* *band* - the band in which the BTS will operate
44
* *ipa unit-id* - each BTS must use a unique value
45
* *oml remote-ip* - this is the BSC IP address
46
47 3
The example configuration that follows is for two BTS both on the GSM900 band.
48
49
50 11
h4. BTS 0
51
52
53 1
Find the aforementioned parameters and ensure that they are correctly set.
54
55 11
<pre>
56 1
bts 0
57
 band GSM900
58
 ipa unit-id 1801 0
59
 oml remote-ip 172.30.1.10
60 3
 ...
61 11
</code></pre>
62 3
63 1
64 11
h4. BTS 1
65 3
66 11
67
Ensure that the second BTS has a different *ipa unit-id* configured from the first.
68
69
<pre>
70 7
bts 0
71 3
 band GSM900
72
 ipa unit-id 1802 0
73
 oml remote-ip 172.30.1.10
74
 ...
75 11
</code></pre>
76 3
77 1
78 11
h3. BSC configuration
79
80
81 3
There are a number of BSC/NITB parameters that you must pay particular attention to:
82
83 11
* *BTS _n*
84
*** *band* - as configured in the BTS
85
*** *base_station_id_code* - should be unique in location area
86
*** *ip.access unit_id* - as configured in the BTS
87
*** *trx _n_
88
****** *arfcn* - this must be frequencies that you have a licence for and unique across all neighbouring BTS
89
* *neighbor-list mode automatic*
90 3
91 11
Configure the first BTS within the BSC/NITB, ensuring that you have set the correct *band* and *ip.access unit_id*, and an appropriate *arfcn* for each TRX.
92 3
93 11
<pre>
94 10
bts 0
95 3
  ...
96
  band GSM900
97 1
  ...
98
  base_station_id_code 63
99 3
  ...
100 1
  ip.access unit_id 1801 0
101
  ...
102
  neighbor-list mode automatic
103
  ...
104
  trx 0
105
   rf_locked 0
106
   arfcn 74
107
   ...
108
  trx 1
109
   rf_locked 0
110
   arfcn 84
111
   ...
112 11
</code></pre>
113 3
114 11
Next configure the second BTS, ensuring that a different *base_station_id_code* is used this time, once again the correct *ip.access unit_id* is set, and an appropriate *arfcn* for each TRX:
115 3
116 11
<pre>
117 3
bts 1
118
  ...
119
  band GSM900
120 4 ipse
  ...
121 3
  base_station_id_code 62
122 1
  ...
123 3
  ip.access unit_id 1802 0
124
  ...
125
  neighbor-list mode automatic
126 1
  ...
127
  trx 0
128
   rf_locked 0
129 3
   arfcn 111
130
   ...
131
  trx 1
132
   rf_locked 0
133 1
   arfcn 122
134
   ...
135 11
</code></pre>
136 3
137 11
For details of all the configuration options please see the [[osmo-nitb_VTY|NITB VTY reference]].
138 1
139
140 11
h4. Handover
141
142
143 3
The following parameters must also be configured in order to enable handover:
144
145 11
* *handover 1*
146
*** _Enable in-call handover between multiple BTS._
147 3
148 11
* *handover window rxlev averaging 10*
149
*** _The receive level of the serving cell should be averaged over 10 SACCH frames._
150 3
151 11
* *handover window rxqual averaging 1*
152
*** _The receive quality of the serving cell should be averaged over 1 SACCH frame._
153 3
154 11
* *handover window rxlev neighbor averaging 10*
155
*** _The Rx Level of a neighbour cell should be averaged over 10 SACCH frames._
156 3
157 11
* *handover power budget interval 6*
158
*** _Consider performing a power budget (Rx level) handover every 6 SACCH frames._
159 3
160 11
* *handover power budget hysteresis 3*
161
*** _Set hysteresis (prevents continuous handover back and forth) to 3._
162 3
163 11
* *handover maximum distance 9999*
164
*** _When the distance from the BTS is greater than 9999 attempt a distance handover._
165 1
166 11
These parameters must be set within the *network* section of the BSC/NITB configuration: 
167 1
168 11
<pre>
169 3
network
170
 network country code 1
171
 ...
172
 handover 1
173 9 ipse
 handover window rxlev averaging 10
174
 handover window rxqual averaging 1
175
 handover window rxlev neighbor averaging 10
176
 handover power budget interval 6
177
 handover power budget hysteresis 3
178
 handover maximum distance 9999
179 11
</code></pre>
180 3
181 7
Values can be tuned to modify the behaviour of handover.
182 3
183
184 11
h3. Testing handover
185
186
187 3
To test handover you have two options:
188
189
1. Physically move a phone to trigger handover decision.
190 1
2. Use "subscriber ID handover BTS_NR" command in the NITB VTY to force handover.
191
192 11
h3. Complete configurations
193
194
195 1
Complete example configs are included here for reference only and should not be used without modification, unless you happen to have a licence for those particular frequencies.
196
197
198 11
h4. BTS 0
199
200
201
<pre>
202 1
bts 0
203
 band GSM900
204
 ipa unit-id 1801 0
205
 oml remote-ip 172.30.1.10
206
 rtp jitter-buffer 0
207
 paging lifetime 0
208
 gsmtap-sapi bcch
209
 gsmtap-sapi ccch
210
 gsmtap-sapi rach
211
 gsmtap-sapi agch
212
 gsmtap-sapi pch
213
 gsmtap-sapi sdcch
214
 gsmtap-sapi pacch
215
 gsmtap-sapi pdtch
216
 gsmtap-sapi sacch
217
 fn-advance 20
218
 ms-power-loop -10
219
 timing-advance-loop
220
 trx 0
221 8 ipse
  rxgain 12
222 1
  power 0
223
 trx 1
224 3
  rxgain 12
225 1
  power 0
226 11
</code></pre>
227 1
228
229 11
h4. BTS 1
230
231
232
<pre>
233 1
bts 0
234
 band GSM900
235
 ipa unit-id 1802 0
236
 oml remote-ip 172.30.1.10
237
 rtp jitter-buffer 0
238
 paging lifetime 0
239
 gsmtap-sapi bcch
240
 gsmtap-sapi ccch
241
 gsmtap-sapi rach
242
 gsmtap-sapi agch
243
 gsmtap-sapi pch
244
 gsmtap-sapi sdcch
245
 gsmtap-sapi pacch
246
 gsmtap-sapi pdtch
247
 gsmtap-sapi sacch
248 7
 fn-advance 20
249
 ms-power-loop -10
250 1
 timing-advance-loop
251
 trx 0
252
  rxgain 12
253
  power 0
254
 trx 1
255
  rxgain 12
256
  power 0
257 11
</code></pre>
258 1
259
260 11
h4. [[OpenBSC]] NITB
261 1
262 11
263
Note that whilst this configuration is for NITB operation, the updates describe above could equally be applied to [[OpenBSC]] configured in BSC-only mode and with an external MSC etc.
264
265
<pre>
266 1
!
267
! OpenBSC (UNKNOWN) configuration saved from vty
268
!!
269
password foo
270
!
271
line vty
272
 no login
273
!
274
e1_input
275
 e1_line 0 driver ipa
276
 e1_line 0 port 0
277
 no e1_line 0 keepalive
278
network
279
 network country code 1
280
 mobile network code 1
281
 short name Osmocom
282
 long name Osmocom
283
 auth policy accept-all
284
 location updating reject cause 13
285
 encryption a5 0
286
 neci 1
287
 paging any use tch 0
288
 rrlp mode none
289
 mm info 1
290
 handover 1
291
 handover window rxlev averaging 10
292
 handover window rxqual averaging 1
293
 handover window rxlev neighbor averaging 10
294
 handover power budget interval 6
295
 handover power budget hysteresis 3
296
 handover maximum distance 9999
297
 timer t3101 10
298
 timer t3103 0
299
 timer t3105 0
300
 timer t3107 0
301
 timer t3109 4
302
 timer t3111 0
303
 timer t3113 60
304
 timer t3115 0
305
 timer t3117 0
306
 timer t3119 0
307
 timer t3122 10
308
 timer t3141 0
309
 dtx-used 0
310
 subscriber-keep-in-ram 0
311
 bts 0
312
  type sysmobts
313
  band GSM900
314
  cell_identity 0
315
  location_area_code 1
316
  base_station_id_code 63
317
  ms max power 15
318
  cell reselection hysteresis 4
319
  rxlev access min 0
320
  periodic location update 30
321
  radio-link-timeout 32
322
  channel allocator ascending
323
  rach tx integer 9
324
  rach max transmission 7
325
  channel-descrption attach 1
326
  channel-descrption bs-pa-mfrms 5
327
  channel-descrption bs-ag-blks-res 1
328
  ip.access unit_id 1801 0
329
  oml ip.access stream_id 255 line 0
330
  neighbor-list mode automatic
331
  gprs mode none
332
  no force-combined-si
333
  trx 0
334
   rf_locked 0
335
   arfcn 74
336
   nominal power 23
337
   max_power_red 0
338
   rsl e1 tei 0
339
    timeslot 0
340
     phys_chan_config CCCH+SDCCH4
341
     hopping enabled 0
342
    timeslot 1
343
     phys_chan_config SDCCH8
344
     hopping enabled 0
345
    timeslot 2
346
     phys_chan_config TCH/F
347
     hopping enabled 0
348
    timeslot 3
349
     phys_chan_config TCH/F
350
     hopping enabled 0
351
    timeslot 4
352
     phys_chan_config TCH/F
353
     hopping enabled 0
354
    timeslot 5
355
     phys_chan_config TCH/F
356
     hopping enabled 0
357
    timeslot 6
358
     phys_chan_config TCH/F
359
     hopping enabled 0
360
    timeslot 7
361
     phys_chan_config TCH/F
362
     hopping enabled 0
363
  trx 1
364
   rf_locked 0
365
   arfcn 84
366
   nominal power 23
367
   max_power_red 0
368
   rsl e1 tei 0
369
    timeslot 0
370
     phys_chan_config TCH/F
371
     hopping enabled 0
372
    timeslot 1
373
     phys_chan_config TCH/F
374
     hopping enabled 0
375
    timeslot 2
376
     phys_chan_config TCH/F
377
     hopping enabled 0
378
    timeslot 3
379
     phys_chan_config TCH/F
380
     hopping enabled 0
381
    timeslot 4
382
     phys_chan_config TCH/F
383
     hopping enabled 0
384
    timeslot 5
385
     phys_chan_config TCH/F
386
     hopping enabled 0
387
    timeslot 6
388
     phys_chan_config TCH/F
389
     hopping enabled 0
390
    timeslot 7
391
     phys_chan_config TCH/F
392
     hopping enabled 0
393
 bts 1
394
  type sysmobts
395
  band GSM900
396
  cell_identity 0
397
  location_area_code 1
398
  base_station_id_code 62
399
  ms max power 15
400
  cell reselection hysteresis 4
401
  rxlev access min 0
402
  periodic location update 30
403
  radio-link-timeout 32
404
  channel allocator ascending
405
  rach tx integer 9
406
  rach max transmission 7
407
  channel-descrption attach 1
408
  channel-descrption bs-pa-mfrms 5
409
  channel-descrption bs-ag-blks-res 1
410
  ip.access unit_id 1802 0
411
  oml ip.access stream_id 255 line 0
412
  neighbor-list mode automatic
413
  gprs mode none
414
  no force-combined-si
415
  trx 0
416
   rf_locked 0
417
   arfcn 111
418
   nominal power 23
419
   max_power_red 0
420
   rsl e1 tei 0
421
    timeslot 0
422
     phys_chan_config CCCH+SDCCH4
423
     hopping enabled 0
424
    timeslot 1
425
     phys_chan_config SDCCH8
426
     hopping enabled 0
427
    timeslot 2
428
     phys_chan_config TCH/F
429
     hopping enabled 0
430
    timeslot 3
431
     phys_chan_config TCH/F
432
     hopping enabled 0
433
    timeslot 4
434
     phys_chan_config TCH/F
435
     hopping enabled 0
436
    timeslot 5
437
     phys_chan_config TCH/F
438
     hopping enabled 0
439
    timeslot 6
440
     phys_chan_config TCH/F
441
     hopping enabled 0
442
    timeslot 7
443
     phys_chan_config TCH/F
444
     hopping enabled 0
445
  trx 1
446
   rf_locked 0
447 2
   arfcn 122
448 1
   nominal power 23
449
   max_power_red 0
450
   rsl e1 tei 0
451
    timeslot 0
452
     phys_chan_config TCH/F
453
     hopping enabled 0
454
    timeslot 1
455
     phys_chan_config TCH/F
456
     hopping enabled 0
457
    timeslot 2
458
     phys_chan_config TCH/F
459
     hopping enabled 0
460
    timeslot 3
461
     phys_chan_config TCH/F
462
     hopping enabled 0
463
    timeslot 4
464
     phys_chan_config TCH/F
465
     hopping enabled 0
466
    timeslot 5
467
     phys_chan_config TCH/F
468
     hopping enabled 0
469
    timeslot 6
470
     phys_chan_config TCH/F
471
     hopping enabled 0
472
    timeslot 7
473
     phys_chan_config TCH/F
474
     hopping enabled 0
475 11
</code></pre>
Add picture from clipboard (Maximum size: 48.8 MB)