OsmoBTS is a software part of a BTS, which implements Layer 1, Layer 2 and Layer 3:

  • LAPDm (GSM 04.06)
  • RTP
  • A-bis/IP (similar to ip.access nanoBTS)
  • OML (GSM 12.21)
  • RSL (GSM 08.58)

OsmoBTS is building up on work done previosuly for OpenBSC (RSL, OML, RTP) and OsmocomBB (LAPDm). A-bis/IP implementation is heavily inspired by ip.access nanoBTS A-bis/IP implementation.

OsmoBTS is written in a re-targettable way, i.e. it should be relatively easy to target a new BTS hardware (i.e. BTS-side Layer 0 or Layer 1) with it.

Hardware support

So far OsmoBTS supports a number of hardware options:

  • Quad-band femto-BTS product called sysmoBTS which is sold by sysmocom
  • Multiple indoor and outdoor fairwaves BTSs, like UmDESK and UmSITE.
  • Wideband SDR transceiver hardware like Fairwaves UmTRX and a number of other SDR transceivers, using OpenBTS transceiver software.
  • A pretty crazy experimental BTS hardware based on two OsmocomBB phones had originally been supported, but needs to be re-integrated with core code changes.

Check out network_from_scratch page for more information how to run OsmoBTS with UmTRX (using the OpenBTS transceiver software) or OsmocomBB phones.


The source code includes a file with current status information

GPRS support

osmo-bts has recently been extended with a socket interface towards osmo-pcu. This adds GPRS (and later EDGE) support to it.

Source code

The source code is available from (module osmo-bts).

Public read-only access is available via

git clone git://

You can browse it via cgit:


OsmoBTS was developed mainly by Andreas Eversberg and Harald Welte.

Last modified 10 months ago Last modified on Dec 29, 2014, 4:04:44 AM