OsmoBTS is a software implementation of Layer2/3 of a BTS. It implements the follwing protocols/interfaces:

  • LAPDm (GSM 04.06)
  • RTP
  • A-bis/IP in IPA multiplex
  • OML (GSM TS 12.21)
  • RSL (GSM TS 08.58)

OsmoBTS is building up on work done previosuly for OpenBSC (RSL, OML, RTP) and OsmocomBB (LAPDm). The Abis/IP protocol staking is inspired by ip.access A-bis/IP, sometimes called IPA multiplex.

Backends / Hardware support

OsmoBTS is modular and has support for multiple back-ends. A back-end talks to a specific L1/PHY implementation of the respective BTS hardware. Based on this architecture, it should be relatively easy to add a new back-end to support so-far unsupported GSM PHY/L1 and associated hardware.

So far OsmoBTS has been integrated with several different L1/PHY and hardware systems. The backends are:

  • osmo-bts-sysmo
  • osmo-bts-trx
    • Wideband SDR transceiver hardware supported by OpenBTS transceiver or [OsmoTRX] PHY layer software, including the UmTRX, the USRP family, etc.
    • Multiple indoor and outdoor fairwaves BTSs, like UmDESK and UmSITE
  • osmo-bts-bb
    • 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.


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:

Authors / Credits

OsmoBTS was originally developed in 2011 by Andreas Eversberg and Harald Welte.

Today it is mostly maintained by Harald Welte and Holger Freyther at sysmocom. Exception is the osmo-bts-trx back-end which is maintained by Fairwaves.

Last modified 7 weeks ago Last modified on Oct 16, 2015, 11:34:59 AM