Intro: Osmocom Cellular Network Infrastructure

This is a project aiming to create a Free / Open Source Software, (A)GPL-licensed software implementations for the GSM/3GPP protocol stacks and network elements, preferably as pure software implementations running on general-purpose computers. All our software is available in source code form, to anyone.

This is very contrary to classic telecom vendors, where every network element is implemented as proprietary hardware and software, without the ability to understand or modify then, and where each and every feature is subject to license fees.

We had originally started with an A-bis (plus BSC/MSC/HLR) implementation for experimentation and research purpose (now called OpenBSC, but have since moved way beyond that and implemented many other interfaces and network elements of GSM, GPRS, EDGE and UMTS/HSPA networks.

At the heart of most installations is the OpenBSC project with its two flavors
  • OsmoNITB - a GSM network in a box software, implementing the minimal necessary parts to build a small, self-contained GSM network.
  • OsmoBSC - a pure GSM Base Station Controller with support for many different BTS vendors and models attached via Abis (over E1 and IP).

The actual radio interface of such a network can be provided by classic GSM BTS equipment from classic Vendors like Siemens, Nokia, Ericsson, ip.access. However, a variety of more modern BTS options are avalable, based on our OsmoBTS software using hardware from sysmocom (sysmoBTS), Fairwaves (UmTRX) or Ettus (USRP)

In addition, the Osmocom project also develops and maintains the OsmoPCU, OsmoSGSN and OpenGGSN programs for adding GPRS and EDGE capabilities.

Most recently, there is a project for adding 3G (UMTS, HSPA) support. Specifically, this is adding Iu-CS and Iu-PS support to OsmoNITB, as well as a new OsmoHNBGW to offer an Iuh interface towards hNodeBs (femtocells, small cells)

We are always looking for HardwareDonations of any kind of 2G / 3G / LTE related carrier equipment.

There is also work on creating SS7 / SIGTRAN / TCAP / MAP protocol stacks, both in the Erlang programming language as well as in Smalltalk.

There are many other side projects like the SIMtrace protocol tracer/sniffer for (U)SIM APDUs.

Overview Diagram

Please see the below overview diagram about common possible configurations of the Osmocom software.

Getting started

The recommended way of installing Osmocom software is by
Nightly Builds (for Debian and Ubuntu based systems).

The alternative is to Build from Source.

Once the Osmocom components are installed, take a look at the
Configuration Guide.


Software for a Base Transceiver Station

  • OsmoBTS -- A BTS implementation
  • OsmoPCU -- A packet control unit for GPRS/EDGE enabling the BTS.

Software for running a full minimal GSM Network in a Box

  • OsmoNITB -- A stand-alone gsm-network-in-a-box program implementing minimal subset of BSC, MSC, HLR, AuC and EIR.

Software for running in pure BSC only mode, attaching via A/SCCP to a MSC

Software for UMA/GAN (Unified Mobile Access)

Special purpose software for aggregating multiple A or Gb links

  • bsc_nat -- a BSC NAT/Multiplexer
  • osmo-gbproxy -- A proxy/gateway for aggregating multiple Gb links betwen BSS and SGSN
  • Testing -- Comments and what makes sense to test for releases

GPRS/EDGE related software

  • OsmoPCU -- A GPRS + EDGE RLC/MAC and PCU implementation to be used with OsmoBTS
  • OsmoSGSN -- A Serving GPRS Support Node
  • OpenGGSN -- A Gateway GPRS Support Node

There's also a tutorial at OpenBSC_GPRS explaining how to add data support to your OsmoNITB setup


Related projects


Please check the project/wiki pages of the respecitve sub-projects.

This Wiki

This wiki contains information that is shared by the various sub-projects.

A full list of wiki pages is listed below:

osmocom-gsm.png (99.6 KB) laforge, 02/21/2016 02:42 PM