OsmoBSC is an implementation of a GSM BSC (Base Station Controller), i.e. it offers the following interfaces:
  • A-bis (IP and E1) interface towards the Base Transceiver Stations (BTSs)
  • A-over-IP (AoIP) interface towards an Mobile Switching Centre (MSC) (e.g. OsmoMSC).
  • Media Gateway Control Protocol (MGCP) interface towards a Media Gateway (MGW) (e.g. OsmoMGW for handling the RTP user plane (voice call codec frames)
  • Lb interface towards a Serving Mobile Location Centre (SMLC) (e.g. OsmoSMLC)
  • CBSP interface towards a Cell Broadcast Centre (CBC) (e.g. OsmoCBC)
  • Custom unix domain socket interface to run OsmoPCU in co location with OsmoBSC
OsmoBSC started as a very humble implementation, but by now is a rather feature-complete Base Station Controller with support for (example)
  • intra-BSC, inter-BSC, inter-MSC, inter-PLMN hand-over
  • interference, power and load based hand-over
  • circuit-switched fallback (CSFB) from LTE/E-UTRAN with fast return
  • dynamic timeslot usage (SDCCH/TCH/PDCH) - depending on BTS support
  • MSC pooling
  • Cell Broadcast (CBS) / Emergency Broadcast (ETWS)
  • Location Services
  • SACCH Repetition
  • Basic VAMOS support - depending on BTS support

OsmoBSC in the Osmocom architecture

Signaling Plane only

Signaling + User (Media) Plane

BTS Support

OsmoBSC supports currently all BTSs running the OsmoBTS software (such as sysmoBTS), as well as ip.access nanoBTS devices and legacy E1/TDM based BTSs (such as Ericson RBS2000/RBS6000) Other Abis/IP or Abis/E1 devices may be supported.

Note: The L2TPD/Ericsson SIU path depicted above relates to an experimental setup, which is not actively supported since it has been superseded by a direct Abis/E1 + TRAU interface towards OsmoBSC, OsmoMGW and OsmoPCU.

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

User Manuals

Source code

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

Public read-only access is available via

git clone

You can browse it via gitea:

Contributions are welcome via Gerrit.

Test Suite

We have a TTCN-3 test suite as part of our Titan_TTCN3_Testsuites

Contact / Getting Help

Contact us via the openbsc@ mailing list, see Mailing Lists.

You can file issues (bugs / feature requests) using the redmine project you're currently viewing.

Authors / Credit

The old OsmoBSC-SCCPlite was created by Holger Freyther based on the earler OpenBSC/OsmoNITB code by Dieter Spaar, Harald Welte, Holger Freyther and contributors.

3GPP AoIP support was developed by sysmocom. Today, OsmoBSC is maintained by Harald Welte and his team at sysmocom.

History / Naming / SCCPlite

Until 2017, we used to have an osmo-bsc part of the old openbsc.git repository which implemented a smaller sub-set of the BSC functionality with an SCCPLite based A interface. This legacy program is now called osmo-bsc-sccplite and continues to be available for legacy users. However, it is not actively developed anymore. SCCPlite protocol support has been re-introduced in the new osmo-bsc from osmo-bsc.git. Users should not use the obsolete and unmaintained osmo-bsc-sccplite anymore.

Commercial Support

Commercial support as well as development, system integration and training services for this project are available from sysmocom

Files (0)

Updated by dexter 11 months ago ยท 28 revisions

Add picture from clipboard (Maximum size: 48.8 MB)