Project

General

Profile

Multi-BTS with handover » History » Version 11

Anonymous, 02/19/2016 10:48 PM

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