![]() | |
Original author(s) | Harald Welte |
---|---|
Developer(s) | Osmocom open source community |
Repository | git |
Written in | C,C++ |
Type | Telecommunication software |
License | Affero GPLv3 for all cellular software,GPLv2+ for some remaining software (libosmocore, OsmoPCU, OsmoSTP, OsmoGGSN)[1] |
Website | osmocom |
Osmocom (open source mobile communications) is anopen-source software project that implements multiple mobile communication standards, includingGSM,DECT,TETRA and others.[2]
In 2008Harald Welte andDieter Spaar experimented with abase transceiver station (BTS) fromSiemens that wasend-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.[3] The first release of the OpenBSC project took place at the 25thChaos Communication Congress held in December 2008.[4]
In the following years, the software has been used at varioushacker cons such as the Chaos Communication Congress,Chaos Communication Camp andElectromagnetic Field to provide acellular network.[5][6][7]
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.[3]
The SysmocomGmbH company was founded by Welte and Holger Freyther[8] in 2011 to provide commercial support.[9][10]
Since 2018 Osmocom software and Sysmocom hardware has been used inVilla Talea de Castro inMexico to provide a cellular network to around 3500 people.[11][12]
Osmocom software has been used in research projects.[13][14]
OpenBSC was a project to develop afree software implementation ofGSM protocol stack and elements. It runs on Linux and requires an E1 interface (ISDNPrimary Rate Interface, viamISDN). 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 severalMSC components, including the A-bis protocol (the protocol between theBTS and theBSC),AUC,HLR,VLR (both usingSQL tables), and aSMS Switching Center. OpenBSC can be accessed usingtelnet.
OpenBSC supported the following BTS devices:
OpenBSC is now considered legacy and the features have been split into different projects: OsmoBSC, OsmoMSC and OsmoHLR.[15]
rtl-sdr[16] was discovered by Steve Markgraf, who also created osmo-fl2k for radio transmissions. These projects deprecated the use of OsmoSDR.[17]
The OsmoTETRA project implements the TETRA protocol.[18][19][20] Osmo-tetra implements the lower layer of the protocol.[21] Some conducted research revealed that some government traffic is not properly secured.[20]
OsmocomBB is a free firmware for thebaseband 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 fromTHC and MadOS.[22]
OsmocomBB implements the GSMprotocol stack's three lowestOSI Layers of the client side GSM protocol anddevice drivers. The protocol layers forming the kernel exists on the baseband processor, typically consisting of anARM processor and adigital signal processor.
It has support for the Calypso chipset produced byTexas Instruments.[23]
Karsten Nohl has extended OsmocomBB to be able to detectIMSI catchers.[24]