OsmoBTS is a software implementation of a GSM BTS.It implements the follwing protocols/interfaces:
- LAPDm (GSM 04.06)
- 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¶
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:
- 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.
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
- User Manual: http://ftp.osmocom.org/docs/latest/osmobts-usermanual.pdf
- VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf
- Abis Protocol Manual: http://ftp.osmocom.org/docs/latest/osmobts-abis.pdf
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.
The source code is available from git.osmocom.org (module osmo-bts).
Public read-only access is available via
git clone git://git.osmocom.org/osmo-bts.git
You can browse it via cgit: http://cgit.osmocom.org/cgit/osmo-bts/
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.