Project

General

Profile

Actions

Multi-BTS with handover » History » Revision 3

« Previous | Revision 3/13 (diff) | Next »
Anonymous, 02/19/2016 10:48 PM


PageOutline
Configuring OpenBSC with muiltiple BTS and in-call handover

=== Prerequisites ===

It is assumed that you already have a functioning [wiki:osmo-nitb OpenBSC NITB] and two or more BTS available.

Note that if you are using BTS based on OsmoBTS/OsmoTRX handover requires:

=== Example network architecture ===

In this example we have one system running the NITB software and two BTS that are built on the [wiki:OsmoBTS] software.

{{{
#!graphviz
digraph G {
rankdir = LR;
BSC -> BTS0 [ label = "A-bis" dir=both ];
BSC -> BTS1 [ label = "A-bis" dir=both ];
BSC [ shape = square label = "BSC\n172.30.1.10" ];
BTS0 [ shape = square label = "BTS 0\n172.30.1.11" ];
BTS1 [ shape = square label = "BTS 1\n172.30.1.12" ];
}
}}}

=== BTS configuration ===

There are three OsmoBTS parameters in particular which must be correctly configured:

  • '''band''' - the band in which the BTS will operate
  • '''ipa unit-id''' - each BTS must use a unique value
  • '''oml remote-ip''' - this is the BSC IP address

The example configuration that follows is for two BTS both on the GSM900 band.

==== BTS 0 ====

Find the aforementioned parameters and ensure that they are correctly set.

{{{
bts 0
band GSM900
ipa unit-id 1801 0
oml remote-ip 172.30.1.10
...
}}}

==== BTS 1 ====

Ensure that the second BTS has a different '''ipa unit-id''' configured from the first.

{{{
bts 1
band GSM900
ipa unit-id 1802 0
oml remote-ip 172.30.1.10
...
}}}

=== BSC configuration ===

There are a number of OpenBSC NITB parameters that you must pay particular attention to:

  • '''BTS ''n''' * '''band''' - as configured in the BTS * '''base_station_id_code''' - should be unique in location area * '''ip.access unit_id''' - as configured in the BTS * '''trx ''n'' * '''arfcn''' - this must be frequencies that you have a licence for and the
  • '''neighbor-list mode automatic'''

Configure the first BTS within OpenBSC NITB:

{{{
bts 0
...
band GSM900
...
base_station_id_code 63
...
ip.access unit_id 1801 0
...
neighbor-list mode automatic
...
trx 0
rf_locked 0
arfcn 74
...
trx 1
rf_locked 0
arfcn 84
...
}}}

Ensuring that you have set the correct '''band''' and '''ip.access unit_id''', and an appropriate '''arfcn''' for each TRX.

Next configure the second BTS:

{{{
bts 1
...
band GSM900
...
base_station_id_code 62
...
ip.access unit_id 1802 0
...
neighbor-list mode automatic
...
trx 0
rf_locked 0
arfcn 111
...
trx 1
rf_locked 0
arfcn 122
...
}}}

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.

Of course, there are many other core parameters that can be set and which may be important to your installation. For details of all the configuration options please see the [wiki:osmo-nitb_VTY NITB VTY reference].

==== Handover ====

The following parameters must also be configured in order to enable handover:

  • '''handover 1''' * ''Enable in-call handover between multiple BTS.''
  • '''handover window rxlev averaging 10''' * ''The receive level of the serving cell should be averaged over 10 SACCH frames.''
  • '''handover window rxqual averaging 1''' * ''The receive quality of the serving cell should be averaged over 1 SACCH frame.''
  • '''handover window rxlev neighbor averaging 10''' * ''The Rx Level of a neighbour cell should be averaged over 10 SACCH frames.''
  • '''handover power budget interval 6''' * ''Consider performing a power budget (Rx level) handover every 6 SACCH frames.''
  • '''handover power budget hysteresis 3''' * ''Set hysteresis (prevents continuous handover back and forth) to 3.''
  • '''handover maximum distance 9999''' * ''When the distance from the BTS is greater than 9999 attempt a distance handover.''

These parameters must be set within the '''network''' section of the OpenBSC NITB configuration:

{{{
network
network country code 1
...
handover 1
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
}}}

Values can be tuned to modify the behaviour of handover.

=== Complete configurations ===

Complete example configs are included for reference and should not be used without modification, unless you happen to have a licence for those particular frequencies.

==== BTS 0 ====

{{{
bts 0
band GSM900
ipa unit-id 1801 0
oml remote-ip 172.30.1.10
rtp jitter-buffer 0
paging lifetime 0
gsmtap-sapi bcch
gsmtap-sapi ccch
gsmtap-sapi rach
gsmtap-sapi agch
gsmtap-sapi pch
gsmtap-sapi sdcch
gsmtap-sapi pacch
gsmtap-sapi pdtch
gsmtap-sapi sacch
fn-advance 20
ms-power-loop -10
timing-advance-loop
trx 0
rxgain 12
power 0
trx 1
rxgain 12
power 0
}}}

==== BTS 1 ====

{{{
bts 1
band GSM900
ipa unit-id 1802 0
oml remote-ip 172.30.1.10
rtp jitter-buffer 0
paging lifetime 0
gsmtap-sapi bcch
gsmtap-sapi ccch
gsmtap-sapi rach
gsmtap-sapi agch
gsmtap-sapi pch
gsmtap-sapi sdcch
gsmtap-sapi pacch
gsmtap-sapi pdtch
gsmtap-sapi sacch
fn-advance 20
ms-power-loop -10
timing-advance-loop
trx 0
rxgain 12
power 0
trx 1
rxgain 12
power 0
}}}

==== OpenBSC NITB ====

{{{
!
! OpenBSC (UNKNOWN) configuration saved from vty
!!
password foo
!
line vty
no login
!
e1_input
e1_line 0 driver ipa
e1_line 0 port 0
no e1_line 0 keepalive
network
network country code 1
mobile network code 1
short name Osmocom
long name Osmocom
auth policy accept-all
location updating reject cause 13
encryption a5 0
neci 1
paging any use tch 0
rrlp mode none
mm info 1
handover 1
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
timer t3101 10
timer t3103 0
timer t3105 0
timer t3107 0
timer t3109 4
timer t3111 0
timer t3113 60
timer t3115 0
timer t3117 0
timer t3119 0
timer t3122 10
timer t3141 0
dtx-used 0
subscriber-keep-in-ram 0
bts 0
type sysmobts
band GSM900
cell_identity 0
location_area_code 1
base_station_id_code 63
ms max power 15
cell reselection hysteresis 4
rxlev access min 0
periodic location update 30
radio-link-timeout 32
channel allocator ascending
rach tx integer 9
rach max transmission 7
channel-descrption attach 1
channel-descrption bs-pa-mfrms 5
channel-descrption bs-ag-blks-res 1
ip.access unit_id 1801 0
oml ip.access stream_id 255 line 0
neighbor-list mode automatic
gprs mode none
no force-combined-si
trx 0
rf_locked 0
arfcn 74
nominal power 23
max_power_red 0
rsl e1 tei 0
timeslot 0
phys_chan_config CCCH+SDCCH4
hopping enabled 0
timeslot 1
phys_chan_config SDCCH8
hopping enabled 0
timeslot 2
phys_chan_config TCH/F
hopping enabled 0
timeslot 3
phys_chan_config TCH/F
hopping enabled 0
timeslot 4
phys_chan_config TCH/F
hopping enabled 0
timeslot 5
phys_chan_config TCH/F
hopping enabled 0
timeslot 6
phys_chan_config TCH/F
hopping enabled 0
timeslot 7
phys_chan_config TCH/F
hopping enabled 0
trx 1
rf_locked 0
arfcn 84
nominal power 23
max_power_red 0
rsl e1 tei 0
timeslot 0
phys_chan_config TCH/F
hopping enabled 0
timeslot 1
phys_chan_config TCH/F
hopping enabled 0
timeslot 2
phys_chan_config TCH/F
hopping enabled 0
timeslot 3
phys_chan_config TCH/F
hopping enabled 0
timeslot 4
phys_chan_config TCH/F
hopping enabled 0
timeslot 5
phys_chan_config TCH/F
hopping enabled 0
timeslot 6
phys_chan_config TCH/F
hopping enabled 0
timeslot 7
phys_chan_config TCH/F
hopping enabled 0
bts 1
type sysmobts
band GSM900
cell_identity 0
location_area_code 1
base_station_id_code 62
ms max power 15
cell reselection hysteresis 4
rxlev access min 0
periodic location update 30
radio-link-timeout 32
channel allocator ascending
rach tx integer 9
rach max transmission 7
channel-descrption attach 1
channel-descrption bs-pa-mfrms 5
channel-descrption bs-ag-blks-res 1
ip.access unit_id 1802 0
oml ip.access stream_id 255 line 0
neighbor-list mode automatic
gprs mode none
no force-combined-si
trx 0
rf_locked 0
arfcn 111
nominal power 23
max_power_red 0
rsl e1 tei 0
timeslot 0
phys_chan_config CCCH+SDCCH4
hopping enabled 0
timeslot 1
phys_chan_config SDCCH8
hopping enabled 0
timeslot 2
phys_chan_config TCH/F
hopping enabled 0
timeslot 3
phys_chan_config TCH/F
hopping enabled 0
timeslot 4
phys_chan_config TCH/F
hopping enabled 0
timeslot 5
phys_chan_config TCH/F
hopping enabled 0
timeslot 6
phys_chan_config TCH/F
hopping enabled 0
timeslot 7
phys_chan_config TCH/F
hopping enabled 0
trx 1
rf_locked 0
arfcn 122
nominal power 23
max_power_red 0
rsl e1 tei 0
timeslot 0
phys_chan_config TCH/F
hopping enabled 0
timeslot 1
phys_chan_config TCH/F
hopping enabled 0
timeslot 2
phys_chan_config TCH/F
hopping enabled 0
timeslot 3
phys_chan_config TCH/F
hopping enabled 0
timeslot 4
phys_chan_config TCH/F
hopping enabled 0
timeslot 5
phys_chan_config TCH/F
hopping enabled 0
timeslot 6
phys_chan_config TCH/F
hopping enabled 0
timeslot 7
phys_chan_config TCH/F
hopping enabled 0
}}}

Files (0)

Updated by about 8 years ago · 3 revisions

Add picture from clipboard (Maximum size: 48.8 MB)