OsmoBSC> enable

OsmoBSC# list
...
  bts <0-255> trx <0-255> timeslot <0-7> sub-slot <0-7> modify (vamos|non-vamos) [tsc] [<1-4>] [<0-7>]
...

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ?
  activate        Manual Channel Activation (e.g. for BER test)
  activate-vamos  Manual Channel Activation, in VAMOS mode
  deactivate      Manual Channel Deactivation (e.g. for BER test)
  modify          Manually send Channel Mode Modify (for debugging)
  mdcx            Modify RTP Connection
  reassign-to     Trigger Assignment to an unused lchan on the same cell
  ms-power        Manually force MS Uplink Power Level in dBm on the lchan (for testing)
  handover        Manually trigger handover (for debugging)
  assignment      Manually trigger assignment (for debugging)

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify ?
  vamos      Enable VAMOS channel mode
  non-vamos  Disable VAMOS channel mode

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos ?
  [tsc]  Provide specific TSC Set and Training Sequence Code

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc ?
  [<1-4>]  TSC Set

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc 1 ?
  [<0-7>]  Training Sequence Code

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 modify vamos tsc 1 0 ?
  <cr>  


OsmoBSC# list
...
  bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> (activate|activate-vamos) (hr|fr|efr|amr|sig) [<0-7>]
  bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> deactivate
...

OsmoBSC# bts?
  bts  BTS Specific Commands

OsmoBSC# bts ?
  <0-255>  BTS Number

OsmoBSC# bts 0 ?
  unblock-setup-ramping          Unblock and allow to configure a BTS if kept back by BTS ramping
  resend-system-information      Re-generate + re-send BCCH SYSTEM INFORMATION
  resend-power-control-defaults  Re-generate + re-send default MS/BS Power control parameters
  c0-power-reduction             BCCH carrier power reduction operation
  trx                            TRX for manual command
  oml                            Manipulate the OML managed objects
  om2000                         Manipulate the OM2000 managed objects

OsmoBSC# bts 0 c0-power-reduction ?
  <0-6>  Power reduction value (in dB, even numbers only)

OsmoBSC# bts 0 trx ?
  <0-255>  TRX Number

OsmoBSC# bts 0 trx 0 ?
  timeslot  Timeslot for manual command

OsmoBSC# bts 0 trx 0 timeslot ?
  <0-7>  Timeslot Number

OsmoBSC# bts 0 trx 0 timeslot 0 ?
  pdch            Packet Data Channel
  sub-slot        Primary sub-slot
  vamos-sub-slot  VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot ?
  <0-7>  Sub-slot Number

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 ?
  activate        Manual Channel Activation (e.g. for BER test)
  activate-vamos  Manual Channel Activation, in VAMOS mode
  deactivate      Manual Channel Deactivation (e.g. for BER test)
  modify          Manually send Channel Mode Modify (for debugging)
  mdcx            Modify RTP Connection
  reassign-to     Trigger Assignment to an unused lchan on the same cell
  ms-power        Manually force MS Uplink Power Level in dBm on the lchan (for testing)
  handover        Manually trigger handover (for debugging)
  assignment      Manually trigger assignment (for debugging)

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate ?
  hr   Half-Rate v1
  fr   Full-Rate
  efr  Enhanced Full Rate
  amr  Adaptive Multi-Rate
  sig  Signalling

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr ?
  [<0-7>]  AMR Mode

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 activate fr 0 ?
  <cr>  

OsmoBSC# list
...
  bts <0-255> trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> reassign-to trx <0-255> timeslot <0-7> (sub-slot|vamos-sub-slot) <0-7> [tsc] [<1-4>] [<0-7>]
...

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to ?
  trx  Target TRX

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx ?
  <0-255>  TRX nr

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 ?
  timeslot  Target timeslot

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot ?
  <0-7>  timeslot nr

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 ?
  sub-slot        Primary sub-slot
  vamos-sub-slot  VAMOS secondary shadow subslot, range <0-1>, only valid for TCH type timeslots

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot ?
  <0-7>  Sub-slot Number

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 ?
  [tsc]  Provide specific TSC Set and Training Sequence Code

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 tsc ?
  [<1-4>]  TSC Set

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 tsc 1 ?
  [<0-7>]  Training Sequence Code

OsmoBSC# bts 0 trx 0 timeslot 0 sub-slot 0 reassign-to trx 0 timeslot 0 vamos-sub-slot 0 tsc 1 0 ?
  <cr>  

OsmoBSC# configure terminal
OsmoBSC(config)# network
OsmoBSC(config-net)# list
...
  meas-feed destination ADDR <0-65535>
  meas-feed scenario NAME
...

OsmoBSC(config-net)# meas-feed destination 127.0.0.23 4223
OsmoBSC(config-net)# meas-feed scenario foo23
OsmoBSC(config-net)# show running-config
...
network
...
 meas-feed destination 127.0.0.23 4223
 meas-feed scenario foo23
...


OsmoBSC(config-net)# bts 0

OsmoBSC(config-net-bts)# list
...
  channel allocator avoid-interference (0|1)
...

OsmoBSC(config-net-bts)# channel?
  channel  Channel Allocator

OsmoBSC(config-net-bts)# channel ?
  allocator  Channel Allocator

OsmoBSC(config-net-bts)# channel allocator ?
  mode                   Channel allocation mode
  dynamic-param          Parameters for dynamic channel allocation mode
  avoid-interference     Configure whether reported interference levels from RES IND are used in channel allocation
  tch-signalling-policy  Configure when TCH/H or TCH/F channels can be used to serve signalling if SDCCHs are exhausted

OsmoBSC(config-net-bts)# channel allocator mode ?
  set-all     Set a single mode for all variants
  chan-req    Channel allocation for CHANNEL REQUEST (RACH)
  assignment  Channel allocation for assignment
  handover    Channel allocation for handover
  vgcs-vbs    Channel allocation for VGCS/VBS

OsmoBSC(config-net-bts)# channel allocator mode set-all ?
  ascending   Allocate Timeslots and Transceivers in ascending order
  descending  Allocate Timeslots and Transceivers in descending order

OsmoBSC(config-net-bts)# channel allocator mode handover ?
  ascending   Allocate Timeslots and Transceivers in ascending order
  descending  Allocate Timeslots and Transceivers in descending order

OsmoBSC(config-net-bts)# channel allocator mode assignment ?
  ascending   Allocate Timeslots and Transceivers in ascending order
  descending  Allocate Timeslots and Transceivers in descending order
  dynamic     Dynamic lchan selection based on configured parameters

OsmoBSC(config-net-bts)# channel allocator mode vgcs-vbs ?
  ascending   Allocate Timeslots and Transceivers in ascending order
  descending  Allocate Timeslots and Transceivers in descending order

OsmoBSC(config-net-bts)# channel allocator dynamic-param ?
  sort-by-trx-power  Whether to sort TRX instances by their respective power levels
  ul-rxlev           Uplink RxLev
  c0-chan-load       C0 (BCCH carrier) channel load

OsmoBSC(config-net-bts)# channel allocator dynamic-param sort-by-trx-power ?
  0  Do not sort, use the same order as in the configuration file
  1  Sort TRX instances by their power levels in descending order

OsmoBSC(config-net-bts)# channel allocator dynamic-param ul-rxlev thresh ?
  <0-63>  Uplink RxLev threshold
OsmoBSC(config-net-bts)# channel allocator dynamic-param ul-rxlev thresh 50 avg-num ?
  <1-10>  Minimum number of RxLev samples for averaging
OsmoBSC(config-net-bts)# channel allocator dynamic-param c0-chan-load thresh ?
  <0-100>  Channel load threshold (in %)

OsmoBSC(config-net-bts)# channel allocator avoid-interference ?
  0  Ignore interference levels (default). Always assign lchans in a deterministic order.
  1  In channel allocation, prefer lchans with less interference.

OsmoBSC(config-net-bts)# channel allocator tch-signalling-policy ?
  never      Never allow TCH for signalling purposes
  emergency  Only allow TCH for signalling purposes when establishing an emergency call
  voice      Allow TCH for signalling purposes when establishing any voice call
  always     Always allow TCH for signalling purposes (default)

OsmoBSC(config-net-bts)# show running-config
... !channel allocator avoid-interference
OsmoBSC(config-net-bts)# channel allocator avoid-interference 1
OsmoBSC(config-net-bts)# show running-config
...
 bts 0
...
  channel allocator avoid-interference 1
...

OsmoBSC(config-net-bts)# channel allocator avoid-interference 0
OsmoBSC(config-net-bts)# show running-config
... !channel allocator avoid-interference

OsmoBSC(config-net-bts)# show running-config
... !channel allocator tch-signalling-policy
OsmoBSC(config-net-bts)# channel allocator tch-signalling-policy never
OsmoBSC(config-net-bts)# show running-config
...
 bts 0
...
  channel allocator tch-signalling-policy never
...

OsmoBSC(config-net-bts)# channel allocator tch-signalling-policy emergency
OsmoBSC(config-net-bts)# show running-config
...
 bts 0
...
  channel allocator tch-signalling-policy emergency
...

OsmoBSC(config-net-bts)# channel allocator tch-signalling-policy voice
OsmoBSC(config-net-bts)# show running-config
...
 bts 0
...
  channel allocator tch-signalling-policy voice
...

OsmoBSC(config-net-bts)# channel allocator tch-signalling-policy always
OsmoBSC(config-net-bts)# show running-config
... !channel allocator tch-signalling-policy

OsmoBSC(config-net-bts)# immediate-assignment?
  immediate-assignment  Configure time of Immediate Assignment after ChanRqd RACH (Abis optimization)
OsmoBSC(config-net-bts)# immediate-assignment ?
  post-chan-ack  Send the Immediate Assignment after the Channel Activation ACK (normal sequence)
  pre-chan-ack   Send the Immediate Assignment directly after Channel Activation (early), without waiting for the ACK; This may help with double allocations on high latency Abis links
  pre-ts-ack     EXPERIMENTAL: If a dynamic timeslot switch is necessary, send the Immediate Assignment even before the timeslot is switched, i.e. even before the Channel Activation is sent (very early)
OsmoBSC(config-net-bts)# show running-config
... !immediate-assignment
OsmoBSC(config-net-bts)# immediate-assignment pre-chan-ack
OsmoBSC(config-net-bts)# show running-config
...
 bts 0
...
  immediate-assignment pre-chan-ack
...
OsmoBSC(config-net-bts)# immediate-assignment pre-ts-ack
OsmoBSC(config-net-bts)# show running-config
...
 bts 0
...
  immediate-assignment pre-ts-ack
...
OsmoBSC(config-net-bts)# immediate-assignment post-chan-ack
OsmoBSC(config-net-bts)# show running-config
... !immediate-assignment
