OsmoBSC> show network
...
  Handover: Off
...
OsmoBSC> enable

OsmoBSC# ### No handover config present
OsmoBSC# show running-config
... !handover

OsmoBSC# ### Toggling handover on network level affects 'show network':
OsmoBSC# configure terminal
OsmoBSC(config)# network
OsmoBSC(config-net)# do show network
...
  Handover: Off
...
OsmoBSC(config-net)# handover 1
OsmoBSC(config-net)# do show network
...
  Handover: On
...

OsmoBSC(config-net)# ### If network level default is 'on', bts level can still override to 'off':
OsmoBSC(config-net)# bts 0
OsmoBSC(config-net-bts)# handover 0
OsmoBSC(config-net-bts)# do show network
...
  Handover: Off
...
OsmoBSC(config-net-bts)# exit

OsmoBSC(config-net)# ### Create a *second* BTS that is not explicitly 'off':
OsmoBSC(config-net)# bts 1
OsmoBSC(config-net-bts)# do show network
...
  Handover: On at 1 BTS, Off at 1 BTS
...

OsmoBSC(config-net-bts)# ### Add arbitrary handover config item for bts 1:
OsmoBSC(config-net-bts)# handover1 power budget interval 23
OsmoBSC(config-net-bts)# exit
OsmoBSC(config-net)# ### HO is 'on' globally, bts 0 disables it, bts 1 tweaks a param:
OsmoBSC(config-net)# show running-config
...
network
... !handover
 handover 1
... !handover
 bts 0
... !handover
  handover 0
... !handover
 bts 1
... !handover
  handover1 power budget interval 23
... !handover

OsmoBSC(config-net)# ### Set global default to 'off', now bts 1 also uses the global default of 'off':
OsmoBSC(config-net)# handover 0
OsmoBSC(config-net)# do show network
...
  Handover: Off
...
OsmoBSC(config-net)# show running-config
...
network
... !handover
 handover 0
... !handover
 bts 0
... !handover
  handover 0
... !handover
 bts 1
... !handover
  handover1 power budget interval 23
... !handover

OsmoBSC(config-net)# ### Remove the global setting, i.e. use the factory default net level, with same effect:
OsmoBSC(config-net)# handover default
% 'handover' setting removed, now is 0
OsmoBSC(config-net)# handover default
% 'handover' already was unset, still is 0
OsmoBSC(config-net)# do show network
...
  Handover: Off
...
OsmoBSC(config-net)# show running-config
...
network
... !handover
 bts 0
... !handover
  handover 0
... !handover
 bts 1
... !handover
  handover1 power budget interval 23
... !handover

OsmoBSC(config-net)# ### Re-enable net-level handover, but bts 0 remains disabled explicitly
OsmoBSC(config-net)# handover 1
OsmoBSC(config-net)# do show network
...
  Handover: On at 1 BTS, Off at 1 BTS
...
OsmoBSC(config-net)# show running-config
...
network
... !handover
 handover 1
... !handover
 bts 0
... !handover
  handover 0
... !handover
 bts 1
... !handover
  handover1 power budget interval 23
... !handover

OsmoBSC(config-net)# ### Remove explicit setting of bts 0 to also use the global setting:
OsmoBSC(config-net)# bts 0
OsmoBSC(config-net-bts)# handover default
% 'handover' setting removed, now is 1 (set on higher level node)
OsmoBSC(config-net-bts)# handover default
% 'handover' already was unset, still is 1 (set on higher level node)
OsmoBSC(config-net-bts)# do show network
...
  Handover: On
...
OsmoBSC(config-net-bts)# show running-config
...
network
... !handover
 handover 1
... !handover
 bts 0
... !handover
 bts 1
... !handover
  handover1 power budget interval 23
... !handover

OsmoBSC(config-net-bts)# ### Verify that 'min rxlev' value range stops at -50
OsmoBSC(config-net-bts)# handover2 min rxlev ?
  <-110--50>  minimum RxLev (dBm; note: negative values)
  default     Use default (-100), remove explicit setting on this node
OsmoBSC(config-net-bts)# handover2 min rxlev -111
% Unknown command.
OsmoBSC(config-net-bts)# handover2 min rxlev -110
OsmoBSC(config-net-bts)# handover2 min rxlev -50
OsmoBSC(config-net-bts)# handover2 min rxlev -49
% Unknown command.
OsmoBSC(config-net-bts)# handover2 min rxlev 50
% Unknown command.
OsmoBSC(config-net-bts)# handover2 min rxlev default
% 'handover2 min rxlev' setting removed, now is -100


OsmoBSC(config-net-bts)# ### Checking online help
OsmoBSC(config-net-bts)# exit
OsmoBSC(config-net)# list
...
  handover (0|1|default)
  handover algorithm (1|2|default)
  handover1 window rxlev averaging (<1-10>|default)
  handover1 window rxqual averaging (<1-10>|default)
  handover1 window rxlev neighbor averaging (<1-10>|default)
  handover1 power budget interval (<1-99>|default)
  handover1 power budget hysteresis (<0-999>|default)
  handover1 maximum distance (<0-9999>|default)
  handover2 window rxlev averaging (<1-10>|default)
  handover2 window rxqual averaging (<1-10>|default)
  handover2 window rxlev neighbor averaging (<1-10>|default)
  handover2 power budget interval (<1-99>|default)
  handover2 power budget hysteresis (<0-999>|default)
  handover2 maximum distance (<0-9999>|default)
  handover2 assignment (0|1|default)
  handover2 tdma-measurement (full|subset|default)
  handover2 min rxlev (<-110--50>|default)
  handover2 min rxqual (<0-7>|default)
  handover2 afs-bias rxlev (<0-20>|default)
  handover2 afs-bias rxqual (<0-7>|default)
  handover2 min-free-slots tch/f (<0-9999>|default)
  handover2 min-free-slots tch/h (<0-9999>|default)
  handover2 max-handovers (<1-9999>|default)
  handover2 penalty-time max-distance (<0-99999>|default)
  handover2 penalty-time failed-ho (<0-99999>|default)
  handover2 penalty-time failed-assignment (<0-99999>|default)
  handover2 retries (<0-9>|default)
  handover2 congestion-check (disabled|<1-999>|now)
...

OsmoBSC(config-net)# handover?
  handover  Handover general config

OsmoBSC(config-net)# handover1?
  handover1  Handover options for handover decision algorithm 1

OsmoBSC(config-net)# handover2?
  handover2  Handover options for handover decision algorithm 2

OsmoBSC(config-net)# handover ?
  0          Disable in-call handover
  1          Enable in-call handover
  default    Enable/disable handover: Use default (0), remove explicit setting on this node
  algorithm  Choose algorithm for handover decision
...

OsmoBSC(config-net)# handover1 ?
  window   Measurement averaging settings
  power    Neighbor cell power triggering
  maximum  Maximum Timing-Advance value (i.e. MS distance) before triggering HO

OsmoBSC(config-net)# handover2 ?
  window            Measurement averaging settings
  power             Neighbor cell power triggering
  maximum           Maximum Timing-Advance value (i.e. MS distance) before triggering HO
  assignment        Enable or disable in-call channel re-assignment within the same cell
  tdma-measurement  Define measurement set of TDMA frames
  min               Minimum Level/Quality thresholds before triggering HO
  afs-bias          Configure bias to prefer AFS (AMR on TCH/F) over other codecs
  min-free-slots    Minimum free TCH timeslots before cell is considered congested
  max-handovers     Maximum number of concurrent handovers allowed per cell
  penalty-time      Set penalty times to wait between repeated handovers
  retries           Number of times to immediately retry a failed handover/assignment, before a penalty time is applied
  congestion-check  Configure congestion check interval

OsmoBSC(config-net)# handover algorithm ?
  1        Algorithm 1: trigger handover based on comparing current cell and neighbor RxLev and RxQual, only.
  2        Algorithm 2: trigger handover on RxLev/RxQual, and also to balance the load across several cells. Consider available codecs. Prevent repeated handover by penalty timers.
  default  Use default (1), remove explicit setting on this node

OsmoBSC(config-net)# handover1 window ?
  rxlev   Received-Level averaging
  rxqual  Received-Quality averaging

OsmoBSC(config-net)# handover1 window rxlev ?
  averaging  How many RxLev measurements to use for averaging
  neighbor   How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net)# handover1 window rxlev averaging ?
  <1-10>   RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net)# handover1 window rxlev neighbor ?
  averaging  How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net)# handover1 window rxlev neighbor averaging ?
  <1-10>   Neighbor RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net)# handover1 window rxqual ?
  averaging  How many RxQual measurements to use for averaging

OsmoBSC(config-net)# handover1 window rxqual averaging ?
  <1-10>   RxQual averaging: Number of values to average over
  default  Use default (1), remove explicit setting on this node

OsmoBSC(config-net)# handover1 power ?
  budget  Neighbor cell power triggering

OsmoBSC(config-net)# handover1 power budget ?
  interval    How often to check for a better cell (SACCH frames)
  hysteresis  How many dB stronger must a neighbor be to become a HO candidate

OsmoBSC(config-net)# handover1 power budget interval ?
  <1-99>   Check for stronger neighbor every N number of SACCH frames
  default  Use default (6), remove explicit setting on this node

OsmoBSC(config-net)# handover1 power budget hysteresis ?
  <0-999>  Neighbor's strength difference in dB
  default  Use default (3), remove explicit setting on this node

OsmoBSC(config-net)# handover1 maximum ?
  distance  Maximum Timing-Advance value (i.e. MS distance) before triggering HO

OsmoBSC(config-net)# handover1 maximum distance ?
  <0-9999>  Maximum Timing-Advance value (i.e. MS distance) before triggering HO
  default   Use default (9999), remove explicit setting on this node

OsmoBSC(config-net)# handover2 window ?
  rxlev   Received-Level averaging
  rxqual  Received-Quality averaging

OsmoBSC(config-net)# handover2 window rxlev ?
  averaging  How many RxLev measurements to use for averaging
  neighbor   How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net)# handover2 window rxlev averaging ?
  <1-10>   RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net)# handover2 window rxlev neighbor ?
  averaging  How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net)# handover2 window rxlev neighbor averaging ?
  <1-10>   Neighbor RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net)# handover2 window rxqual ?
  averaging  How many RxQual measurements to use for averaging

OsmoBSC(config-net)# handover2 window rxqual averaging ?
  <1-10>   RxQual averaging: Number of values to average over
  default  Use default (1), remove explicit setting on this node

OsmoBSC(config-net)# handover2 power ?
  budget  Neighbor cell power triggering

OsmoBSC(config-net)# handover2 power budget ?
  interval    How often to check for a better cell (SACCH frames)
  hysteresis  How many dB stronger must a neighbor be to become a HO candidate

OsmoBSC(config-net)# handover2 power budget interval ?
  <1-99>   Check for stronger neighbor every N number of SACCH frames
  default  Use default (6), remove explicit setting on this node

OsmoBSC(config-net)# handover2 power budget hysteresis ?
  <0-999>  Neighbor's strength difference in dB
  default  Use default (3), remove explicit setting on this node

OsmoBSC(config-net)# handover2 maximum ?
  distance  Maximum Timing-Advance value (i.e. MS distance) before triggering HO

OsmoBSC(config-net)# handover2 maximum distance ?
  <0-9999>  Maximum Timing-Advance value (i.e. MS distance) before triggering HO
  default   Use default (9999), remove explicit setting on this node

OsmoBSC(config-net)# handover2 assignment ?
  0        Disable in-call assignment
  1        Enable in-call assignment
  default  Use default (0), remove explicit setting on this node

OsmoBSC(config-net)# handover2 tdma-measurement ?
  full     Full set of 102/104 TDMA frames
  subset   Sub set of 4 TDMA frames (SACCH)
  default  Use default (subset), remove explicit setting on this node

OsmoBSC(config-net)# handover2 min ?
  rxlev   How weak may RxLev of an MS become before triggering HO
  rxqual  How bad may RxQual of an MS become before triggering HO

OsmoBSC(config-net)# handover2 min rxlev ?
  <-110--50>  minimum RxLev (dBm; note: negative values)
  default     Use default (-100), remove explicit setting on this node

OsmoBSC(config-net)# handover2 min rxqual ?
  <0-7>    minimum RxQual
  default  Use default (5), remove explicit setting on this node

OsmoBSC(config-net)# handover2 afs-bias ?
  rxlev   RxLev improvement bias for AFS over other codecs
  rxqual  RxQual improvement bias for AFS over other codecs

OsmoBSC(config-net)# handover2 afs-bias rxlev ?
  <0-20>   Virtual RxLev improvement (dB)
  default  Use default (0), remove explicit setting on this node

OsmoBSC(config-net)# handover2 afs-bias rxqual ?
  <0-7>    Virtual RxQual improvement
  default  Use default (0), remove explicit setting on this node

OsmoBSC(config-net)# handover2 min-free-slots ?
  tch/f  Minimum free TCH/F timeslots before cell is considered congested
  tch/h  Minimum free TCH/H timeslots before cell is considered congested

OsmoBSC(config-net)# handover2 min-free-slots tch/f ?
  <0-9999>  Number of TCH/F slots
  default   Use default (0), remove explicit setting on this node

OsmoBSC(config-net)# handover2 min-free-slots TCH/F ?
% There is no matched command.

OsmoBSC(config-net)# handover2 min-free-slots tch/h ?
  <0-9999>  Number of TCH/H slots
  default   Use default (0), remove explicit setting on this node

OsmoBSC(config-net)# handover2 max-handovers ?
  <1-9999>  Number
  default   Use default (9999), remove explicit setting on this node

OsmoBSC(config-net)# handover2 penalty-time ?
  max-distance       Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries'
  failed-ho          Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries'
  failed-assignment  Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries'

OsmoBSC(config-net)# handover2 penalty-time max-distance ?
  <0-99999>  Seconds
  default    Use default (300), remove explicit setting on this node

OsmoBSC(config-net)# handover2 penalty-time failed-ho ?
  <0-99999>  Seconds
  default    Use default (60), remove explicit setting on this node

OsmoBSC(config-net)# handover2 penalty-time failed-assignment ?
  <0-99999>  Seconds
  default    Use default (60), remove explicit setting on this node

OsmoBSC(config-net)# handover2 retries ?
  <0-9>    Number of retries
  default  Use default (0), remove explicit setting on this node

OsmoBSC(config-net)# handover2 congestion-check ?
  disabled  Disable congestion checking, do not handover based on cell load. Note: there is one global congestion check interval, i.e. contrary to other handover2 settings, this is not configurable per individual cell.
  <1-999>   Congestion check interval in seconds (default 10)
  now       Manually trigger a congestion check to run right now


OsmoBSC(config-net)# ### Same on BTS level, except for the congestion-check
OsmoBSC(config-net)# bts 0

OsmoBSC(config-net-bts)# handover?
  handover  Handover general config

OsmoBSC(config-net-bts)# handover1?
  handover1  Handover options for handover decision algorithm 1

OsmoBSC(config-net-bts)# handover2?
  handover2  Handover options for handover decision algorithm 2

OsmoBSC(config-net-bts)# handover ?
  0          Disable in-call handover
  1          Enable in-call handover
  default    Enable/disable handover: Use default (0), remove explicit setting on this node
  algorithm  Choose algorithm for handover decision
...

OsmoBSC(config-net-bts)# handover1 ?
  window   Measurement averaging settings
  power    Neighbor cell power triggering
  maximum  Maximum Timing-Advance value (i.e. MS distance) before triggering HO

OsmoBSC(config-net-bts)# handover2 ?
  window            Measurement averaging settings
  power             Neighbor cell power triggering
  maximum           Maximum Timing-Advance value (i.e. MS distance) before triggering HO
  assignment        Enable or disable in-call channel re-assignment within the same cell
  tdma-measurement  Define measurement set of TDMA frames
  min               Minimum Level/Quality thresholds before triggering HO
  afs-bias          Configure bias to prefer AFS (AMR on TCH/F) over other codecs
  min-free-slots    Minimum free TCH timeslots before cell is considered congested
  max-handovers     Maximum number of concurrent handovers allowed per cell
  penalty-time      Set penalty times to wait between repeated handovers
  retries           Number of times to immediately retry a failed handover/assignment, before a penalty time is applied

OsmoBSC(config-net-bts)# handover algorithm ?
  1        Algorithm 1: trigger handover based on comparing current cell and neighbor RxLev and RxQual, only.
  2        Algorithm 2: trigger handover on RxLev/RxQual, and also to balance the load across several cells. Consider available codecs. Prevent repeated handover by penalty timers.
  default  Use default (1), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover1 window ?
  rxlev   Received-Level averaging
  rxqual  Received-Quality averaging

OsmoBSC(config-net-bts)# handover1 window rxlev ?
  averaging  How many RxLev measurements to use for averaging
  neighbor   How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net-bts)# handover1 window rxlev averaging ?
  <1-10>   RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover1 window rxlev neighbor ?
  averaging  How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net-bts)# handover1 window rxlev neighbor averaging ?
  <1-10>   Neighbor RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover1 window rxqual ?
  averaging  How many RxQual measurements to use for averaging

OsmoBSC(config-net-bts)# handover1 window rxqual averaging ?
  <1-10>   RxQual averaging: Number of values to average over
  default  Use default (1), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover1 power ?
  budget  Neighbor cell power triggering

OsmoBSC(config-net-bts)# handover1 power budget ?
  interval    How often to check for a better cell (SACCH frames)
  hysteresis  How many dB stronger must a neighbor be to become a HO candidate

OsmoBSC(config-net-bts)# handover1 power budget interval ?
  <1-99>   Check for stronger neighbor every N number of SACCH frames
  default  Use default (6), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover1 power budget hysteresis ?
  <0-999>  Neighbor's strength difference in dB
  default  Use default (3), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover1 maximum ?
  distance  Maximum Timing-Advance value (i.e. MS distance) before triggering HO

OsmoBSC(config-net-bts)# handover1 maximum distance ?
  <0-9999>  Maximum Timing-Advance value (i.e. MS distance) before triggering HO
  default   Use default (9999), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 window ?
  rxlev   Received-Level averaging
  rxqual  Received-Quality averaging

OsmoBSC(config-net-bts)# handover2 window rxlev ?
  averaging  How many RxLev measurements to use for averaging
  neighbor   How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net-bts)# handover2 window rxlev averaging ?
  <1-10>   RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 window rxlev neighbor ?
  averaging  How many Neighbor RxLev measurements to use for averaging

OsmoBSC(config-net-bts)# handover2 window rxlev neighbor averaging ?
  <1-10>   Neighbor RxLev averaging: Number of values to average over
  default  Use default (10), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 window rxqual ?
  averaging  How many RxQual measurements to use for averaging

OsmoBSC(config-net-bts)# handover2 window rxqual averaging ?
  <1-10>   RxQual averaging: Number of values to average over
  default  Use default (1), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 power ?
  budget  Neighbor cell power triggering

OsmoBSC(config-net-bts)# handover2 power budget ?
  interval    How often to check for a better cell (SACCH frames)
  hysteresis  How many dB stronger must a neighbor be to become a HO candidate

OsmoBSC(config-net-bts)# handover2 power budget interval ?
  <1-99>   Check for stronger neighbor every N number of SACCH frames
  default  Use default (6), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 power budget hysteresis ?
  <0-999>  Neighbor's strength difference in dB
  default  Use default (3), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 maximum ?
  distance  Maximum Timing-Advance value (i.e. MS distance) before triggering HO

OsmoBSC(config-net-bts)# handover2 maximum distance ?
  <0-9999>  Maximum Timing-Advance value (i.e. MS distance) before triggering HO
  default   Use default (9999), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 assignment ?
  0        Disable in-call assignment
  1        Enable in-call assignment
  default  Use default (0), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 tdma-measurement ?
  full     Full set of 102/104 TDMA frames
  subset   Sub set of 4 TDMA frames (SACCH)
  default  Use default (subset), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 min ?
  rxlev   How weak may RxLev of an MS become before triggering HO
  rxqual  How bad may RxQual of an MS become before triggering HO

OsmoBSC(config-net-bts)# handover2 min rxlev ?
  <-110--50>  minimum RxLev (dBm; note: negative values)
  default     Use default (-100), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 min rxqual ?
  <0-7>    minimum RxQual
  default  Use default (5), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 afs-bias ?
  rxlev   RxLev improvement bias for AFS over other codecs
  rxqual  RxQual improvement bias for AFS over other codecs

OsmoBSC(config-net-bts)# handover2 afs-bias rxlev ?
  <0-20>   Virtual RxLev improvement (dB)
  default  Use default (0), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 afs-bias rxqual ?
  <0-7>    Virtual RxQual improvement
  default  Use default (0), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 min-free-slots ?
  tch/f  Minimum free TCH/F timeslots before cell is considered congested
  tch/h  Minimum free TCH/H timeslots before cell is considered congested

OsmoBSC(config-net-bts)# handover2 min-free-slots tch/f ?
  <0-9999>  Number of TCH/F slots
  default   Use default (0), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 min-free-slots TCH/F ?
% There is no matched command.

OsmoBSC(config-net-bts)# handover2 min-free-slots tch/h ?
  <0-9999>  Number of TCH/H slots
  default   Use default (0), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 max-handovers ?
  <1-9999>  Number
  default   Use default (9999), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 penalty-time ?
  max-distance       Time to suspend handover for a subscriber after leaving this cell due to exceeding max distance; see also 'handover2 retries'
  failed-ho          Time to suspend handover for a subscriber after a failed handover into this cell; see also 'handover2 retries'
  failed-assignment  Time to suspend handover for a subscriber after a failed re-assignment within this cell; see also 'handover2 retries'

OsmoBSC(config-net-bts)# handover2 penalty-time max-distance ?
  <0-99999>  Seconds
  default    Use default (300), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 penalty-time failed-ho ?
  <0-99999>  Seconds
  default    Use default (60), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 penalty-time failed-assignment ?
  <0-99999>  Seconds
  default    Use default (60), remove explicit setting on this node

OsmoBSC(config-net-bts)# handover2 retries ?
  <0-9>    Number of retries
  default  Use default (0), remove explicit setting on this node
