# Osmocom

Osmocom (open source mobile communications) is an open-source software project that implements multiple mobile communication standards, including GSM, DECT, TETRA and others.

## History and usage

In 2008 Harald Welte and Dieter Spaar experimented with a base transceiver station (BTS) from Siemens that was end-of-life and implemented the BSC side of the A-bis protocol, which eventually turned into OpenBSC. After attracting more interest, support for other BTS models was added. The first release of the OpenBSC project took place at the 25th Chaos Communication Congress held in December 2008.
In the following years, the software has been used at various hacker cons such as the Chaos Communication Congress, Chaos Communication Camp and Electromagnetic Field to provide a cellular network.
In 2010, a telephone-side implementation of the GSM stack was developed, named OsmocomBB. Together with OpenBSC, these projects became part of the new Osmocom umbrella project.
The Sysmocom GmbH company was founded by Welte and Holger Freyther in 2011 to provide commercial support.
Since 2018 Osmocom software and Sysmocom hardware has been used in Villa Talea de Castro in Mexico to provide a cellular network to around 3500 people.
Osmocom software has been used in research projects.

## Projects
### OpenBSC

OpenBSC was a project to develop a free software implementation of GSM protocol stack and elements. It runs on Linux and requires an E1 interface (ISDN Primary Rate Interface, via mISDN). It is written in C and licensed using the GPL (≥v2) license.
The first version implemented the GSM specification 21.12 and 08.5x, and worked for a specific Base Transceiver Station (Siemens BS11 MicroBTS).
OpenBSC implemented several MSC components, including the A-bis protocol (the protocol between the BTS and the BSC), AUC, HLR, VLR (both using SQL tables), and a SMS Switching Center. OpenBSC can be accessed using telnet.
OpenBSC supported the following BTS devices:
* Siemens BS11 (microBTS) (E1 Primary Rate interface)
* ip.access nano BTS (PoE-interface)
OpenBSC is now considered legacy and the features have been split into different projects: OsmoBSC, OsmoMSC and OsmoHLR.

### SDR

rtl-sdr was discovered by Steve Markgraf, who also created osmo-fl2k for radio transmissions. These projects deprecated the use of OsmoSDR.

### OsmoTETRA

The OsmoTETRA project implements the TETRA protocol. Osmo-tetra implements the lower layer of the protocol. Some conducted research revealed that some government traffic is not properly secured.

### OsmocomBB

OsmocomBB is a free firmware for the baseband processor of mobile phones which handles the encoding and radio communication of both voice and data. OsmocomBB is the only existing free implementation of baseband firmware, excluding failed projects like TSM30 from THC and MadOS.
OsmocomBB implements the GSM protocol stack's three lowest OSI Layers of the client side GSM protocol and device drivers. The protocol layers forming the kernel exists on the baseband processor, typically consisting of an ARM processor and a digital signal processor.
It has support for the Calypso chipset produced by Texas Instruments.
Karsten Nohl has extended OsmocomBB to be able to detect IMSI catchers.