Project

General

Profile

Multi-BTS with handover » History » Version 12

laforge, 02/21/2016 07:50 AM

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