Multi-BTS with handover » History » Revision 2
Revision 1 (Anonymous, 02/19/2016 10:48 PM) → Revision 2/13 (Anonymous, 02/19/2016 10:48 PM)
[[PageOutline]] == Configuring OpenBSC for use with more than one BTS == This short how-to guide assumes that you already have a functioning [wiki:osmo-nitb] and two or more BTS available. Note that if you are using BTS based on OsmoBTS/OsmoTRX handover requires: * osmo-bts package version >= fw-5 (this [http://cgit.osmocom.org/osmo-bts/commit/?h=fairwaves/master&id=a6ad0b44ae45a2fd51b6a55507e8295605431e92 fix] is included) * osmo-trx package version >= 0.2.0 (this [http://cgit.osmocom.org/osmo-trx/commit/?h=fairwaves/master&id=19c392df82fe7acd303e4340059c87c432623881 patch] is included) === 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 two OsmoBTS parameters in particular which must be correctly configured: * '''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 ==== {{{ bts 0 band GSM900 ipa unit-id 1801 0 oml remote-ip 172.30.1.11 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.12 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 }}} === BSC configuration === There are a number of 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 channels used must be unique across all TRX and BTS * '''neighbor-list mode automatic''' Of course, there are many other 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]. {{{ ! ! 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 }}} ==== Handover ==== In the above NITB configuration you will see that handover has been enabled and associated parameters configured. These are: * '''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 how 1 SACCH frame.'' frames.'' * '''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 values can be tuned to modify the behaviour of handover.