Project

General

Profile

Multi-BTS with handover » History » Version 8

ipse, 02/19/2016 10:48 PM
fix BTS number configuration

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