Configuration Commands

From YateBTS
Jump to: navigation, search

Using the rmanager interface

YateBTS inherits Yate's rmanager interface. It is a module that allows controlling Yate using a simple Telnet client. Users have access to Yate's rmanager options and also new ones added for MBTS and YBTS. This is the main reason why each configuration command will be called by simply writing mbts before each command name, as seen in the examples below:

mbts power
mbts config
mbts stats

The first step in accessing the rmanager interface, is connecting to YateBTS via the telnet command below:

telnet 0 5038

List of mbts commands

To see the mbts commands when connected, just type "mbts" after connecting and press Tab after it. Yate will respond with the available mbts commands.


This command lists the latest alarms.


This command goes through the current configuration and reports the issues discovered. The command provides the following diagnosis information:

  • ERROR -- referring to keys with invalid values
  • WARNING -- referring to key values that are different from the factory radio calibration values
  • WARNING -- referring to interacting values that might lead to errors
  • WARNING -- referring to site values that are still default
  • INFO -- referring to non-default values
  • INFO -- referring to custom/deprecated key/value pairs

Below you can see a WARNING output example:

| WARNING : Site Values Which Are Still Default [key current-value]   | 
|   These should be set to fit your installation: config key value    | 
GSM.Identity.BSIC.BCC "2" 
GSM.Identity.BSIC.NCC "0" 
GSM.Identity.CI "10" 
GSM.Identity.LAC "1000" 
GSM.Identity.MCC "001" 
GSM.Identity.ShortName "YateBTS" 


This command displays the following identity parameters:

  • MCC -- Mobile Country Code, formed from three digits
  • MNC -- Mobile Network Code, formed from two or three digits
  • LAC -- Location Area Code, containing 16 bits, any from 0 to 65520 being valid values (note that values 0xFFxx are reserved)
  • CI -- Cell Identity, containing 16 bits, any from 0 to 65535 being valid values

With arguments:

mbts cellid <MCC> <MNC> <LAC> <CI>

the command will set the given values and will update the GSM Identity configuration parameters table. This command will also clear the TMSI Table.

Without arguments, the cellid command will simply display the current values of MCC, MNC, LAC, and CI.

To modify the identity parameters you must do so in the configuration parameters file.


This command displays the physical channel status for active dedicated channels from the channel table. The generated values are the following:

  • TN – the Timeslot Number
  • chan type – the type of the dedicated channel
  • transaction ID – the key for the corresponding entry in the transaction table that is currently using the channel
  • RSSI dB – the uplink RSSI at the basestation with a value expressed in dB according to the full scale
  • UPFER pct – the uplink frame erasure rate expressed as a percentage
  • TXPWR dBm – the current transmitter power from the mobile station, expressed in dBm
  • TXTA sym – thr timing advance in symbol periods
  • DNLEV dBM – the downlink RSSI with a value expressed in dBm, measured by the mobile station
  • DNBER pct – the downlink bit error rate expressed as percentage

You can see an output example below:

CN TN chan      transaction active recyc UPFER RSSI TXPWR TXTA DNLEV DNBER Neighbor Neighbor 
CN TN type      id                       pct    dB   dBm  sym   dBm   pct    ARFCN    dBm 


This command displays and modifies parameters in the configuration table. It is highly useful when operating the mbts interface and is typically used to create, check or modify a value in the configuration table.

mbts config <pattern>

– lists all the configuration values containing a particular pattern.

mbts config <key> <value>

– creates or sets the given key-value pair in the configuration table.


This command turns off and restarts the MBTS without actually turning off Yate. See the output below:

mbts crashme 
<ybts:NOTE> Peer pid 32033 vanished
<ybts:ALL> Restart scheduled in 1ms [0x7f758bd26460]
<ybts:ALL> Scheduled stop in 0ms
<ybts:ALL> Stopping ...
<ybts-signalling:ALL> Worker thread terminated [0xf6a520]
<ybts-signalling:INFO> Stopped [0xf6a520]
<ybts-media:ALL> Worker thread terminated [0xf6a300]
<ybts-media:INFO> Stopped [0xf6a300]
<ybts:INFO> Peer pid 32033 terminated
<ybts-command:INFO> Stopped [0xf6a1a0]
<transceiver:ALL> Worker thread terminated [0xf69de0]
<transceiver:INFO> Stopped [0xf69de0]
<mbts:ALL> Worker thread terminated [0xf69fc0]
<mbts:INFO> Stopped [0xf69fc0]
<ybts:NOTE> State changed RadioUp -> Idle
<ybts:NOTE> State changed Idle -> Starting restart counter 1/10
<transceiver:ALL> Started worker thread [0xf69de0]
<transceiver:INFO> Started [0xf69de0]
<mbts:ALL> Started worker thread [0xf69fc0]
<mbts:INFO> Started [0xf69fc0]
<ybts-command:INFO> Started [0xf6a1a0]
<ybts-signalling:ALL> Started worker thread [0xf6a520]
<ybts-signalling:INFO> Started [0xf6a520]
<ybts-media:ALL> Started worker thread [0xf6a300]
<ybts-media:INFO> Started [0xf6a300]
<ybts:ALL> Starting peer '/usr/local/lib/yate/server/bts/mbts' '(null)'
<ybts:INFO> Started peer pid=32191
<ybts:NOTE> State changed Starting -> WaitHandshake
<ybts:ALL> Restart scheduled in 120000ms [0x7f758bd26460]
MBTS connected to YBTS 


This command allows the configuration of certain parameters that are not commonly meant to be modified in a normal environment. However, when necessary, the devconfig command displays these parameters and allows them to be changed. Among them are the Control, GGSN, GPRS, GSM, SGSN, Log or TRX related parameters.

Below you can see a part of a possible output:

Control.GSMTAP.GPRS no     [default] 
Control.GSMTAP.GSM no     [default] 
Control.GSMTAP.TargetIP     [default] 
Control.LUR.AttachDetach yes     [default] 
Control.Reporting.PhysStatusTable (disabled)     [default] 
Control.Reporting.StatsTable (disabled)     [default] 
Control.SACCHTimeout.BumpDown 1     [default] 
Control.SMSCB.Table (disabled)     [default] 
Control.VEA yes     [default] 
GGSN.DNS (disabled)     [default] 
GGSN.Firewall.Enable 1     [default] 
GGSN.IP.MaxPacketSize 1520     [default] 
GGSN.IP.ReuseTimeout 180     [default] 
GGSN.IP.TossDuplicatePackets no     [default] 
GGSN.Logfile.Name ggsn.log 
GGSN.MS.IP.Base     [default] 
GGSN.MS.IP.MaxCount 254     [default] 
GGSN.MS.IP.Route (disabled)     [default] 


This command identifies the radio frequency offset and allows it to be modified. The output typically looks as follows:

mbts freqcorr
current freq. offset is xxx


This command enables access to a series of subcommands that control the GPRS radio mode.

The syntax is the following mbts gprs <subcommand> <options...>.


mbts gprs list [ms|tbf|ch] [-v] [-x] [-c] [id] 

These are the subcommands:

  • it lists active objects of a specified type. When the [id] is specified it refers to an id number of a mobile station or a temporary block flow (TBF).

The listing can:

  • [-v] – be verbose
  • [-x] – include expired rather than active entities
  • [-c] – include MS capabilities

A detailed description of the parameters reported by this command and how to interpret them can be found on the mbts gprs list page.


mbts gprs stat
  • shows GPRS statistics (number of channels, allocated TBF, mobile stations etc.).


mbts gprs free ms|tbf|ch id
  • deletes parameters from one entity.


mbts gprs freex
  • deletes expired mobile stations and TBF structs.


mbts gprs debug [level]
  • sets debug level, 0 turns off.


mbts gprs start [step]
  • starts GPRS and can optionally start it in a single-step-mode.


mbts gprs stop [-c]
  • stops GPRS threads; it releases channels with the [-c] option.


mbts gprs step
  • performs single step in the MAC service loop and requires a start step.


mbts gprs set <name> [val] 
  • prints and optionally sets a variable (see the source for names).


mbts gprs rach
  • simulates a RACH that starts the GPRS service.


mbts gprs testbsn
  • tests bsn<->frame number functions.


mbts gprs console [0|1]
  • sends messages to console (default=1 for debugging).


mbts gprs mem
  • acts as a memory leak detector and prints the numbers of structs in use.


This command lists all the mbts commands available. help followed by the name of a particular command gives more details about its role and functions.


This command lists the current basestation load of active channels and queue lengths.

mbts load 

will generate the following results:

  • SDCCH load – the number of active SDCCHs from the total available
  • TCH/F load – the number of TCH/Fs from the total available
  • AGCH/PCH load – the number of queued messages waiting to be transmitted on the AGCH or PCH
  • Paging table sizes – the number of mobile stations being paged
  • Transactions/TMSIs – the number of active transactions in the basestation and the size of the TMSI Table
  • T3122 – the value of the T3122 hold-off timer expressed in seconds
  • current PDCHs – active GPRS channels
  • utilization % – the GPRS channel utilization


This command generates the current level of receive noise in the RSSI dB as seen in the example below:

mbts noise
noise RSSI is -42 dB wrt full scale
MS RSSI target is -40 dB wrt full scale


This command prints the legal and copyright notices associated to the version of the installed YateBTS, as seen below.

Yate-BTS MBTS Component 
Copyright 2008, 2009, 2010 Free Software Foundation, Inc. 
Copyright 2010 Kestrel Signal Processing, Inc. 
Copyright 2011, 2012, 2013 Range Networks, Inc. 
Copyright 2013, 2014 Null Team Impex SRL 
Copyright 2014 Legba, Inc. 
"OpenBTS" is a registered trademark of Range Networks, Inc. 

  SC Null Team Impex SRL: 
    Paul Chitescu 
  Legba, Inc. 
    David Burgess 
  Range Networks, Inc.: 
    David Burgess, Harvind Samra, Donald Kirker, Doug Brown, 
    Pat Thompson, Kurtis Heimerl 
  Kestrel Signal Processing, Inc.: 
    David Burgess, Harvind Samra, Raffi Sevlian, Roshan Baliga 
  GNU Radio: 
    Johnathan Corgan 
    Anne Kwong, Jacob Appelbaum, Joshua Lackey, Alon Levy 
    Alexander Chemeris, Alberto Escudero-Pascual 
Incorporated L/GPL libraries and components: 
  libusb, LGPL 2.1, various copyright holders, 
Incorporated BSD/MIT-style libraries and components: 
  A5/1 Pedagogical Implementation, Simplified BSD License, 
    Copyright 1998-1999 Marc Briceno, Ian Goldberg, and David Wagner 
Incorporated public domain libraries and components: 
  sqlite3, released to public domain 15 Sept 2001, 

This program comes with ABSOLUTELY NO WARRANTY. 

Use of this software may be subject to other legal restrictions, 
including patent licensing and radio spectrum licensing. 
All users of this software are expected to comply with applicable 
regulations and laws.  See the LEGAL file in the source code for 
more information. 


This command allows viewing or modifying the downlink power parameters. With arguments:

mbts power <minAtten> <maxAtten>

the command changes the power control limits. Without arguments, the command simply displays the current power settings and limits.


This command is similar to the config command, but has more features than the latter. It can be used to define and modify custom key-value pairs in the configuration table. Additionally, it allows experimental values to be added for existing configuration keys. The rawconfig command is typically used to set custom log levels for system components in troubleshooting cases.

mbts rawconfig
Control.GSMTAP.GPRS no
Control.GSMTAP.GSM yes
Control.GSMTAP.TargetPort (disabled)
Control.LUR.AttachDetach yes
Control.Reporting.PhysStatusTable (disabled)
Control.Reporting.StatsTable (disabled)
Control.SMSCB.Table (disabled)
Control.VEA yes


This command prints or sets the registration timer GSM T3212 and SIP registration period. To change these two parameters, type:

mbts regperiod [GSM] [SIP]

The [GSM] stands for the value of GSM T3212 expressed in minutes and [SIP] is the value of the SIP registration period is also expressed in minutes. The [SIP] value has to be a factor of 6 and needs to be smaller than the value of the [GSM]. If it is set to \0", the periodic registration is disabled. Below you can find an example:

mbts regperiod
T3212 is 24 minutes


This command reloads the configuration table. Some parameters can by modified with this command, while others can be modified only after restarting the configuration. Use this command if the parameter you wish to change accepts being reloaded. Otherwise, restart the configuration. See an example below:

<mbts:NOTE> GSMConfig.cpp:80:regenerateBeacon: regenerating system information messages, changemark 2


This command followed by a key will revert the parameter to its default value. If what follows after the command is a custom key, then the configuration parameter will be removed from the configuration table.

mbts rmconfig <key>

Below is an example for reverting the GSM.Timer.T3212 to its default value:

mbts rmconfig GSM.Timer.T3212
GSM.Timer.T3212 set back to its default value


This command displays or sets the receiver gain. If it is used without parameters, the command displays the current Rx gain, expressed in dB, stored in the GSM.Radio.RxGain parameter.

mbts rxgain
current RX gain is 48 dB

This command can modify the Rx gain in real time.


This command allows access to control the SGSN/GGSN sub-commands. The syntax is the following mbts sgsn <subcommand> <options...>. These are the subcommands:

  • free (imsi|tlli) id
  • help – displays help options
  • list [(imsi|tlli) id – displays a list of current GPRS sessions tracked by the SGSN


This command shuts down the YateBTS processes immediately. When arguments are provided, the command will wait for a short amount of time to end in-progress calls and transactions before shutting down YateBTS. During this time no other calls or transactions will be started.


This command displays performance counters. If a pattern is added, the command will display only the counters matching the pattern. With the "clear" argument, all counters will be cleared.

mbts stats [patt] | clear


This command displays the current system information messages.

You can see an output example below:

RR System Information Type 1 cellChannelDescription=() RACHControlParameters=(maxRetrans=1 txInteger=14 cellBarAccess=0 RE=1 AC=0x400) 
RR System Information Type 2 BCCHFrequencyList=(EXT-IND=0 BA-IND=0  ARFCNs=(576 )) NCCPermitted=(0x1) RACHControlParameters=(maxRetrans=1 txInteger=14 cellBarAccess=0 RE=1 AC=0x400) 
RR System Information Type 3 LAI=(MCC=001 MNC=02 LAC=0x3e8) CI=10 controlChannelDescription=(ATT=1 BS_AG_BLKS_RES=2 CCCH_CONF=1 BS_PA_MFRMS=0 T3212=4) cellOptions=(PWRC=0 DTX=2 RADIO_LINK_TIMEOUT=15) cellSelectionParameters=(CELL-RESELECT-HYSTERESIS=3 MS-TXPWR-MAX-CCH=0 ACS=0 NECI=1 RXLEV-ACCESS-MIN=0) RACHControlParameters=(maxRetrans=1 txInteger=14 cellBarAccess=0 RE=1 AC=0x400) SI3RO=( RA_COLOUR=0) 
RR System Information Type 4 LAI=(MCC=001 MNC=02 LAC=0x3e8) cellSelectionParameters=(CELL-RESELECT-HYSTERESIS=3 MS-TXPWR-MAX-CCH=0 ACS=0 NECI=1 RXLEV-ACCESS-MIN=0) RACHControlParameters=(maxRetrans=1 txInteger=14 cellBarAccess=0 RE=1 AC=0x400)GPRS enabled; RA_COLOUR=(0) 
RR System Information Type 5 BCCHFrequencyList=(EXT-IND=0 BA-IND=0  ARFCNs=(576 )) 
RR System Information Type 6 CI=10 LAI=(MCC=001 MNC=02 LAC=0x3e8) cellOptions=(PWRC=0 DTX=2 RADIO_LINK_TIMEOUT=15) NCCPermitted=(0x1) 


This command displays the following information stored in the radio, in the factory:

  • SDR Serial Number
  • GSM.Radio.Band
  • TRX.RadioFrequencyOffset
  • GSM.Radio.RxGain
  • TRX.TxAttenOffset
  • RF Serial Number


This command displays the transmitter attenuation, expressed in dB, when used without parameters. When used with parameters, the command will set the attenuation to the corresponding value.

mbts txatten
current TX attenuation is 1 dB


This command sets the value associated with the key given to an empty string in the configuration table, resulting in disabling it.

mbts unconfig <key>

– removes the associated key values from the configuration table.


This command displays the basestation uptime and the frame number. Please see an example below:

Unix time 1415708851, Tue Nov 11 14:27:31 2014
uptime 2 minutes, frame 0:1309004


This command prints the information about the the version of the installed YateBTS.

For example:

release 4.0.1 built Aug 29 2014 rev