OsmoBSC> ### Neighbor-BSS Cell Identifier List config

OsmoBSC> list
...
  show bts <0-255> neighbor arfcn <0-1023> bsic (<0-63>|any)
...

OsmoBSC> enable
OsmoBSC# list
...
  show bts <0-255> neighbor arfcn <0-1023> bsic (<0-63>|any)
...

OsmoBSC# configure terminal
OsmoBSC(config)# network


OsmoBSC(config-net)# neighbor-resolution bind 1.2.3.4 ?
  [<0-65535>]  Port to bind the service to [defaults to 4248 if not provided]

OsmoBSC(config-net)# bts 0
OsmoBSC(config-net-bts)# type osmo-bts
OsmoBSC(config-net-bts)# base_station_id_code 10
OsmoBSC(config-net-bts)# location_area_code 0x0014
OsmoBSC(config-net-bts)# cell_identity 30
OsmoBSC(config-net-bts)# trx 0
OsmoBSC(config-net-bts-trx)# arfcn 40
OsmoBSC(config-net-bts-trx)# exit
OsmoBSC(config-net-bts)# exit

OsmoBSC(config-net)# bts 1
OsmoBSC(config-net-bts)# type osmo-bts
OsmoBSC(config-net-bts)# base_station_id_code 11
OsmoBSC(config-net-bts)# location_area_code 0x0015
OsmoBSC(config-net-bts)# cell_identity 31
OsmoBSC(config-net-bts)# trx 0
OsmoBSC(config-net-bts-trx)# arfcn 41
OsmoBSC(config-net-bts-trx)# exit
OsmoBSC(config-net-bts)# exit

OsmoBSC(config-net)# bts 2
OsmoBSC(config-net-bts)# type osmo-bts
OsmoBSC(config-net-bts)# base_station_id_code 12
OsmoBSC(config-net-bts)# location_area_code 0x0016
OsmoBSC(config-net-bts)# cell_identity 65535
OsmoBSC(config-net-bts)# trx 0
OsmoBSC(config-net-bts-trx)# arfcn 42
OsmoBSC(config-net-bts-trx)# exit
OsmoBSC(config-net-bts)# exit

OsmoBSC(config-net)# show running-config
...
 bts 0
...
  cell_identity 30
  location_area_code 0x0014
  base_station_id_code 10
...
  trx 0
...
   arfcn 40
...
 bts 1
...
  cell_identity 31
  location_area_code 0x0015
  base_station_id_code 11
...
  trx 0
...
   arfcn 41
...
 bts 2
...
  cell_identity 65535
  location_area_code 0x0016
  base_station_id_code 12
...
  trx 0
...
   arfcn 42
...

OsmoBSC(config-net)# bts 0
OsmoBSC(config-net-bts)# list
...
  neighbor bts <0-255>
  neighbor lac <0-65535>
  neighbor lac-ci <0-65535> <0-65535>
  neighbor cgi <0-999> <0-999> <0-65535> <0-65535>
  neighbor cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535>
  neighbor lac <0-65535> arfcn <0-1023> bsic (<0-63>|any)
  neighbor lac-ci <0-65535> <0-65535> arfcn <0-1023> bsic (<0-63>|any)
  neighbor cgi <0-999> <0-999> <0-65535> <0-65535> arfcn <0-1023> bsic (<0-63>|any)
  neighbor cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535> arfcn <0-1023> bsic (<0-63>|any)
  no neighbor bts <0-255>
  no neighbor lac <0-65535>
  no neighbor lac-ci <0-65535> <0-65535>
  no neighbor cgi <0-999> <0-999> <0-65535> <0-65535>
  no neighbor cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535>
  no neighbor arfcn <0-1023> bsic (<0-63>|any)
  no neighbors
...

OsmoBSC(config-net-bts)# neighbor?
  neighbor  Manage local and remote-BSS neighbor cells

OsmoBSC(config-net-bts)# neighbor ?
  bts     Add Neighbor cell by local BTS number
  lac     Add Neighbor cell by LAC
  lac-ci  Add Neighbor cell by LAC and CI
  cgi     Add Neighbor cell by cgi
  cgi-ps  Add Neighbor cell by cgi (Packet Switched, with RAC)

OsmoBSC(config-net-bts)# neighbor bts ?
  <0-255>  BTS number
OsmoBSC(config-net-bts)# neighbor bts 0 ?
  <cr>  

OsmoBSC(config-net-bts)# neighbor lac ?
  <0-65535>  LAC
OsmoBSC(config-net-bts)# neighbor lac 0 ?
  arfcn  ARFCN of neighbor cell
  <cr>   
OsmoBSC(config-net-bts)# neighbor lac 0 arfcn ?
  <0-1023>  ARFCN value
OsmoBSC(config-net-bts)# neighbor lac 0 arfcn 0 ?
  bsic  BSIC of neighbor cell
OsmoBSC(config-net-bts)# neighbor lac 0 arfcn 0 bsic ?
  <0-63>  BSIC value
  any     for all BSICs / use any BSIC in this ARFCN
OsmoBSC(config-net-bts)# neighbor lac 0 arfcn 0 bsic 0 ?
  <cr>  

OsmoBSC(config-net-bts)# neighbor lac-ci ?
  <0-65535>  LAC
OsmoBSC(config-net-bts)# neighbor lac-ci 0 ?
  <0-65535>  CI
OsmoBSC(config-net-bts)# neighbor lac-ci 0 0 ?
  arfcn  ARFCN of neighbor cell
  <cr>   
OsmoBSC(config-net-bts)# neighbor lac-ci 0 0 arfcn ?
  <0-1023>  ARFCN value
OsmoBSC(config-net-bts)# neighbor lac-ci 0 0 arfcn 0 ?
  bsic  BSIC of neighbor cell
OsmoBSC(config-net-bts)# neighbor lac-ci 0 0 arfcn 0 bsic ?
  <0-63>  BSIC value
  any     for all BSICs / use any BSIC in this ARFCN
OsmoBSC(config-net-bts)# neighbor lac-ci 0 0 arfcn 0 bsic 0 ?
  <cr>  

OsmoBSC(config-net-bts)# neighbor cgi ?
  <0-999>  MCC
OsmoBSC(config-net-bts)# neighbor cgi 0 ?
  <0-999>  MNC
OsmoBSC(config-net-bts)# neighbor cgi 0 0 ?
  <0-65535>  LAC
OsmoBSC(config-net-bts)# neighbor cgi 0 0 0 ?
  <0-65535>  CI
OsmoBSC(config-net-bts)# neighbor cgi 0 0 0 0 ?
  arfcn  ARFCN of neighbor cell
  <cr>   
OsmoBSC(config-net-bts)# neighbor cgi 0 0 0 0 arfcn ?
  <0-1023>  ARFCN value
OsmoBSC(config-net-bts)# neighbor cgi 0 0 0 0 arfcn 0 ?
  bsic  BSIC of neighbor cell
OsmoBSC(config-net-bts)# neighbor cgi 0 0 0 0 arfcn 0 bsic ?
  <0-63>  BSIC value
  any     for all BSICs / use any BSIC in this ARFCN
OsmoBSC(config-net-bts)# neighbor cgi 0 0 0 0 arfcn 0 bsic 0 ?
  <cr>  

OsmoBSC(config-net-bts)# no neighbors?
  neighbors  Remove all local and remote-BSS neighbor config for this cell. Note that this falls back to the legacy behavior of regarding all local cells as neighbors.

OsmoBSC(config-net-bts)# no neighbor?
  neighbor  Remove local or remote-BSS neighbor cell

OsmoBSC(config-net-bts)# no neighbor ?
  bts     Neighbor cell by local BTS number
  lac     Neighbor cell by LAC
  lac-ci  Neighbor cell by LAC and CI
  cgi     Neighbor cell by cgi
  cgi-ps  Neighbor cell by cgi (Packet Switched, with RAC)
  arfcn   ARFCN of neighbor cell

OsmoBSC(config-net-bts)# no neighbor bts ?
  <0-255>  BTS number
OsmoBSC(config-net-bts)# no neighbor bts 0 ?
  <cr>  

OsmoBSC(config-net-bts)# no neighbor arfcn ?
  <0-1023>  ARFCN value
OsmoBSC(config-net-bts)# no neighbor arfcn 0 ?
  bsic  BSIC of neighbor cell
OsmoBSC(config-net-bts)# no neighbor arfcn 0 bsic ?
  <0-63>  BSIC value
  any     for all BSICs / use any BSIC in this ARFCN
OsmoBSC(config-net-bts)# no neighbor arfcn 0 bsic 0 ?
  <cr>  

OsmoBSC(config-net-bts)# show running-config
... !neighbor 

OsmoBSC(config-net-bts)# ! BSIC out of range
OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 64
% Unknown command.

OsmoBSC(config-net-bts)# neighbor bts 0
OsmoBSC(config-net-bts)# no neighbor bts 0

OsmoBSC(config-net-bts)# show running-config
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor bts 1
% Error: no such neighbor on BTS 0: BTS 1

OsmoBSC(config-net-bts)# ### Add non-existing BTS nr -- is allowed, checking plausibility at runtime
OsmoBSC(config-net-bts)# neighbor bts 123

OsmoBSC(config-net-bts)# ### A neighbor by LAC and by BTS number are two distinct neighbor entries, resolved at runtime
OsmoBSC(config-net-bts)# neighbor lac 22
OsmoBSC(config-net-bts)# no neighbor bts 2
% Error: no such neighbor on BTS 0: BTS 2
OsmoBSC(config-net-bts)# no neighbor lac 22

OsmoBSC(config-net-bts)# neighbor cgi 901 70 22 65535

OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42

OsmoBSC(config-net-bts)# ### adding the same entry again results in no change
OsmoBSC(config-net-bts)# neighbor bts 123
% BTS 0 already had neighbor BTS 123

OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 41 bsic 11
OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 41 bsic 11
% BTS 0 already had neighbor LAC-CI:21-31 ARFCN-BSIC:41-11
OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 22 bsic 32
% BTS 0 already had neighbor LAC-CI:21-31 ARFCN-BSIC:41-11
% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:21-31 ARFCN-BSIC:22-32
OsmoBSC(config-net-bts)# show running-config
...
  neighbor lac-ci 21 31 arfcn 41 bsic 11
...

OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42
% BTS 0 already had neighbor CGI:023-42-423-5 ARFCN-BSIC:23-42

OsmoBSC(config-net-bts)# neighbor cgi 23 042 423 5 arfcn 23 bsic 42
% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 -> CGI:023-42-423-5 ARFCN-BSIC:23-42

OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 6 arfcn 23 bsic 42
% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 -> CGI:023-42-423-5 ARFCN-BSIC:23-42

OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 6 arfcn 42 bsic 1

OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45

OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any

OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 63
% BTS 0 already had neighbor LAC-CI:789-10 ARFCN-BSIC:423-any
% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:789-10 ARFCN-BSIC:423-63

OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 1
% BTS 0 already had neighbor LAC-CI:789-10 ARFCN-BSIC:423-any
% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:789-10 ARFCN-BSIC:423-1

OsmoBSC(config-net-bts)# show running-config
...
network
... !neighbor 
 bts 0
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor cgi 023 42 423 5 arfcn 23 bsic 42
  neighbor lac-ci 21 31 arfcn 41 bsic 11
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
  neighbor lac 456 arfcn 123 bsic 45
  neighbor lac-ci 789 10 arfcn 423 bsic any
... !neighbor 

OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 99 bsic any
% No entry for BTS 0 -> ARFCN-BSIC:99-any

OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 41 bsic any
% BTS 0 -> ARFCN-BSIC:41-any resolves to local BTS 1 lac-ci 21 31

OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 423 bsic 1
% BTS 0 -> ARFCN-BSIC:423-1 resolves to remote-BSS neighbors: LAC-CI[1]:{789-10}

OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 423 bsic 23
% BTS 0 -> ARFCN-BSIC:423-23 resolves to remote-BSS neighbors: LAC-CI[1]:{789-10}

OsmoBSC(config-net-bts)# no neighbor arfcn 99 bsic 7
% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:99-7

OsmoBSC(config-net-bts)# no neighbor arfcn 23 bsic 42

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor lac-ci 21 31 arfcn 41 bsic 11
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
  neighbor lac 456 arfcn 123 bsic 45
  neighbor lac-ci 789 10 arfcn 423 bsic any
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor arfcn 123 bsic 45

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor lac-ci 21 31 arfcn 41 bsic 11
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
  neighbor lac-ci 789 10 arfcn 423 bsic any
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic any

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor lac-ci 21 31 arfcn 41 bsic 11
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 63
% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:423-63

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor lac-ci 21 31 arfcn 41 bsic 11
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 1
% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:423-1

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor lac-ci 21 31 arfcn 41 bsic 11
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor arfcn 41 bsic any

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor arfcn 41 bsic any
% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:41-any

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
  neighbor bts 123
  neighbor cgi 901 70 22 65535
  neighbor cgi 023 42 423 6 arfcn 42 bsic 1
... !neighbor 

OsmoBSC(config-net-bts)# no neighbor bts 123
OsmoBSC(config-net-bts)# no neighbor cgi 901 70 22 65535
OsmoBSC(config-net-bts)# no neighbor arfcn 42 bsic 1

OsmoBSC(config-net-bts)# show running-config
... !neighbor 

OsmoBSC(config-net-bts)# neighbor bts 1
OsmoBSC(config-net-bts)# neighbor bts 2
OsmoBSC(config-net-bts)# neighbor cgi 023 42 423 5 arfcn 23 bsic 42
OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45
OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any
OsmoBSC(config-net-bts)# neighbor cgi-ps 23 42 423 2 5 arfcn 23 bsic 32

OsmoBSC(config-net-bts)# no neighbors
% Removed neighbor: BTS 0 to BTS 1
% Removed neighbor: BTS 0 to BTS 2
% Removed neighbor: BTS 0 to CGI:023-42-423-5 ARFCN-BSIC:23-42
% Removed neighbor: BTS 0 to LAC:456 ARFCN-BSIC:123-45
% Removed neighbor: BTS 0 to LAC-CI:789-10 ARFCN-BSIC:423-any
% Removed neighbor: BTS 0 to CGI-PS:023-42-423-2-5 ARFCN-BSIC:23-32

OsmoBSC(config-net-bts)# show running-config
... !neighbor 
