Wiki » History » Version 6

Version 5 (laforge, 02/21/2016 02:43 PM) → Version 6/35 (laforge, 02/21/2016 03:12 PM)


h1. Osmocom Cellular Network Infrastructure

This is a project aiming to create a Free Software, (A)GPL-licensed software implementations for the GSM/3GPP protocol stacks and network elements.

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.

What this means: [[OpenBSC]] is not just a standard BSC, but a _GSM network in a box_ software, implementing the minimal necessary parts to build a small, self-contained GSM network.

[[OpenBSC]] includes functionality normally performed by the following components of a GSM network: BSC (Base Station Controller), MSC (Mobile Switching Center), HLR (Home Location Register), AuC (Authentication Center), VLR (Visitor Location Register), EIR (Equipment Identity Register).

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

We have started with the Siemens BS11 microBTS, mainly targetted the ip.access nanoBTS for some years, but has since been extended to support a variety of other [[BTS]] equipment like the Ericsson RBS 2000 family. Today, most of the users and active developers work not with proprietary BTSs, but with BTSs running our [[OsmoBTS]] software, i.e. either the "sysmoBTS": family of hardware or SDR based hardware with [[OsmoTRX]] like the "UmSITE":

_We are always looking for [[HardwareDonations]] of any kind of GSM / 3G related carrier equipment._


There is also continued work on creating a Free Software / Open Source software SS7 (M3UA, SUA, SCCP, TCAP, MAP) protocol stack in Erlang, as well as a number of other side projects like the "SIMtrace": protocol tracer/sniffer for (U)SIM APDUs.

h1. Overview Diagram

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


h2. Getting started

[[UnderstandingOpenBSC]] -- Where to start learning about [[OpenBSC]], what it does, and how.

h2. Software

h3. Software for a Base Transceiver Station

* [[OsmoBTS:]] -- A BTS implementation
** [[OsmoTRX:]] -- A transceiver for [[OsmoBTS:]] to use with SDR hardware
* [[OsmoPCU::]] -- A packet control unit for GPRS/EDGE enabling the BTS.

h3. 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.

h3. Software for running in pure _BSC only_ mode, attaching via A/SCCP to a MSC

* [[OsmoBSC:]] -- [[OpenBSC]] in BSC-only mode
** [[OpenBSCWithSCCP]] -- Howto use [[OpenBSC]] with a separate/real MSC
* [[bsc_mgcp]] -- A stupid [[MediaGatewayControlProtocol]] (MGCP) gateway
** [[bsc_mgcp_VTY]] -- Reference for the interactive command line and config file

h3. Software for UMA/GAN (Unified Mobile Access)

* [[osmo-ganc]] -- [[OpenBSC]] in GANC mode

h3. Special purpose software for aggregating multiple A or Gb links

** [[bsc_nat]] -- a BSC NAT/Multiplexer
*** [[bsc_nat_VTY]] -- Reference for the interactive command line and config file
*** [[bsc_nat_release]] -- Release testing for the BSC NAT.
** [[osmo-gbproxy]] -- A proxy/gateway for aggregating multiple Gb links betwen BSS and SGSN
*** [[osmo-gbproxy_VTY]] -- Reference for the interactive command line and config file
** [[release-testing|Testing]] -- Comments and what makes sense to test for releases

h3. GPRS/EDGE related software

* [[OsmoSGSN:]] -- A work-in-progress SGSN
** [[OsmoSGSN:osmo-sgsn_VTY]] -- Reference for the interactive command line and config file
** [[OpenBSC_GPRS]] -- Howto add data support to your [[OpenBSC]] setup
** [[OsmoPCU:]] -- A work-in-progress RLC/MAC and PCU implementation

* Important legal information on [[SoftwareLicensing]]
* [[meas_web]] -- Web based measurement utility for [[OpenBSC]]

* Software utilities for BTS configuration, provisioning and the like
** [[bs11_config]] -- A small tool for configuring the BS-11 using RS232
** [[ipaccess-find]] -- A small tool to find nanoBTS in your network
** [[ipaccess-config]] -- A small tool to set NVRAM configuration of the nanoBTS
** [[isdnsync]] -- A small tool to use the PSTN as frequency standard

h2. Developers

* Browse the repositories at
* Mailinglist is at "* [[Jenkins|Continuous Integration efforts"httplistsgnumonksorgmailmanlistinfoopenbsc]]
* Wiki is right here ;)
* Developer conferences: [[OsmoDevCon2016]], [[OsmoDevCon2015]], [[OsmoDevCon2014]], [[OsmoDevCon2013]], [[OsmoDevCon2012]]
* [[Tasks]] -- Tasks/Internships/Junior Jobs for [[OpenBSC]] and Osmocom
* [[Devtools]] -- Various tools to find/fix errors, send patches, etc
* [[Coding_standards]] -- Coding standards

h3. Tools for developers

* [[WandelGoltermannMA10]] -- a GSM protocol analyzer ISA card
* [[TektronixK1103]] -- GSM protocol tester and analyzer
* [[PacketDump]] -- Using wireshark on PCAP files
* [[MagicSIM]] -- SIM cards where you can program the Ki

h2. Related projects

* [[OsmocomBB:]] - Free Software GSM protocol stack for mobile phones
* [ [[OpenBTS]]":]
* "The THC GSM project":
* "":
* "Homepage of Dr.-Ing. Joachim Goeller":

h2. Thanks

* to "for funding part of the [[OpenBSC:]] development
* to [":] for supporting us with discounted E1 boards
* to "for funding part of the [[OpenBSC:]] development
* to Kevin Redon for the Osmocom logo


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

h2. This Wiki

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

A full list of wiki pages is listed below:

Add picture from clipboard (Maximum size: 48.8 MB)