Advertisement

Osmocom

Communauté Osmocom, avec sysmocom - systems for mobile communications GmbH Telecom & VoIP Open source

Osmocom is a free software suite for building a 2G and 3G mobile network, from base station to core, aimed at labs and private networks on Linux.

Official links only, checked on October 11, 2026

Table of contents
  1. What Osmocom is for
  2. Who is it for?
  3. Download Osmocom safely
  4. Frequently asked questions

Osmocom, short for Open Source Mobile Communications, is a family of free software projects for mobile networks rather than a single program. Its best known branch, which the community calls Cellular Network Infrastructure, provides everything needed to run a complete GSM, GPRS, EDGE and UMTS network, from the radio site to the core. The main components are licensed under the GNU AGPL v3, while a few libraries such as libosmocore and the OsmoGGSN gateway remain under the GPL v2.

It all started in 2008, when Harald Welte and Dieter Spaar managed to drive an old Siemens BS-11 base station from a PC. The code that grew out of those experiments became OpenBSC in December of that year. In 2010 Osmocom was set up as an umbrella project hosting OpenBSC alongside OsmocomBB, a GSM stack for handsets. A year later, two core developers founded sysmocom to fund and support the work without claiming ownership of the code, as Harald Welte explained in a talk at OsmoCon 2017.

Advertisement

What Osmocom is for

Each component mirrors a standardised element of an operator network. OsmoBTS acts as the GSM base station, running on dedicated hardware such as sysmoBTS units or on a software-defined radio like the USRP B210 or LimeSDR. OsmoBSC controls those base stations, OsmoMSC switches calls, text messages and USSD services, and OsmoHLR keeps the subscriber register. For mobile data, OsmoSGSN handles GPRS and 3G packet traffic, while OsmoGGSN, the successor of the OpenGGSN project, provides the exit to the Internet.

This modular layout dates from 2017. Until then, most features lived in an all-in-one program, OsmoNITB, derived from OpenBSC. The arrival of SIGTRAN signalling and 3G support led the team to split it into independent programs linked by standard interfaces: A over IP between BSC and MSC, IuCS and IuPS towards 3G femtocell gateways, and GTP between SGSN and GGSN. One exception is worth knowing about. OsmoHLR does not speak the 3GPP MAP protocol but GSUP, a simpler in-house protocol, so according to its repository it only works with other Osmocom components.

Around these building blocks sit other programs found in the project’s package list: OsmoMGW for voice streams, OsmoPCU for the GPRS radio layer, OsmoHNBGW for 3G femtocells and osmo-sip-connector to hand calls over to a SIP PBX. The project also publishes side tools such as pySim, used to program SIM cards. The Osmocom build servers even produce Open5GS packages, which makes it possible to put together a network spanning 2G to 5G.

The line between Osmocom and Open5GS, also covered in our software library, is mostly about generations. Open5GS targets 4G and 5G, while Osmocom handles GSM and UMTS, technologies still in service in many countries and inside countless machine-to-machine modules. The suite is used by security researchers who want to watch a phone react to a network they control, by IoT test benches and by small networks serving remote areas.

Who is it for?

Osmocom suits telecom engineers, researchers, universities teaching mobile networks, manufacturers testing 2G modules and operators of small private networks. Each component comes with its own PDF manual.

Getting a network on air is another matter. You need a supported base station or a well-tuned software-defined radio, programmable SIM cards, and the patience to configure each component separately, through text files or a telnet console specific to each program. Transmitting on a cellular band without a licence is illegal in most countries, so tests often stay inside a Faraday cage or over cabled links. For 4G and 5G, Open5GS is the right tool, and for decoding signalling messages without building a network, the Pycrate library is enough.

Advertisement

Download Osmocom safely

Official packages are documented on the Binary Packages page of the osmocom.org wiki. They are built on the Open Build Service for Debian, Ubuntu, Raspbian and AlmaLinux, in two feeds: latest, which follows tagged releases, and nightly, rebuilt every night from current code. The osmocom-latest and osmocom-nightly meta-packages pull in the whole stack at once. The reference code lives on gitea.osmocom.org, mirrored on github.com/osmocom. The latest round of releases, published on 20 August 2026, includes OsmoBSC 1.15.0 and OsmoBTS 1.12.0.

All the software in the suite is free of charge. sysmocom sells hardware, custom development, consulting and training, none of which is required to use the code. Turnkey images and kits sold by third parties often bundle outdated versions with questionable radio settings, so the official packages are the safer starting point.

Frequently asked questions

Is Osmocom a single program?

No. It is a collection of several dozen projects, each with its own repository and version numbers. The cellular part includes OsmoBTS, OsmoBSC, OsmoMSC, OsmoHLR, OsmoSGSN and OsmoGGSN.

Does Osmocom support 4G?

The main suite covers 2G and 3G. The project does build Open5GS packages and develops a few 4G-related pieces such as osmo-s1gw and osmo-epdg, but a full 4G and 5G core comes from Open5GS.

Is Osmocom free?

Yes. The components are licensed under the AGPL v3 or GPL v2, with no paid edition. Only hardware, support and services from sysmocom or other companies are charged for.

Our opinion

We like

  • Free end-to-end 2G and 3G network stack
  • Separate components close to the standards
  • Official Debian, Ubuntu and Raspbian packages
  • Active development backed by sysmocom
  • Works with software-defined radios

We like less

  • No 4G or 5G in the main suite
  • OsmoHLR only talks to other Osmocom parts
  • Many components to configure one by one
  • Spectrum licence needed to transmit

Technical sheet

PublisherCommunauté Osmocom, avec sysmocom - systems for mobile communications GmbH
LicenceOpen source
PriceFree
Updated onAugust 20, 2026
RequiresLinux (paquets officiels pour Debian, Ubuntu, Raspbian et AlmaLinux) ; matériel radio compatible pour OsmoBTS (sysmoBTS, radio logicielle USRP B210, LimeSDR…)
PlatformsLinux

Alternatives

Jean Mathieu

Written by

Jean Mathieu

An engineer and passionate web writer since 2018, I combine technical expertise with a love for writing to share practical insights, news, and tips with the community.