Wiki » History » Version 20

« Previous - Version 20/25 (diff) - Next » - Current version
laforge, 03/05/2018 03:34 PM
add binary package link; remove status to non-existant README file


OsmoBTS is a software implementation of a GSM 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 (e.g. RSL, OML, RTP) and OsmocomBB (e.g. LAPDm). The Abis/IP protocol staking is inspired by ip.access A-bis/IP, sometimes called IPA multiplex.

OsmoBTS in the Osmocom architecture

OsmoBTS in a GSM + GPRS/EDGE network using OsmoNITB

OsmoBTS in a GSM + GPRS/EDGE network using OsmoBSC and OsmoMSC

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-litecell15
  • osmo-bts-octphy
  • 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.

Binary Packages

Osmocom provides binary packages for several flavors of Debian and Ubuntu GNU/Linux on a variety of architectures (i586, x86_64, armhf, armv7l). Unless you are a software developer interested in developing on Osmocom, it is recommended you use those packages instead of building from source.

For more details see Binary_Packages


GPRS support

In the GSM architecture, the BTS is an element in the circuit-switched domain only.

For packet-switched support, OsmoBTS provides a socket interface towards OsmoPCU. This adds GPRS and 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.

Add picture from clipboard (Maximum size: 48.8 MB)