Intro: Osmocom Cellular Network Infrastructure¶
- Table of contents
- Intro: Osmocom Cellular Network Infrastructure
- Overview Diagram
- Getting started
- Software for a Base Transceiver Station
- Software for running a full minimal GSM Network in a Box
- 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
- GPRS/EDGE related software
- Commercial Support
- Related projects
- This Wiki
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 them, 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.
While previous installations mostly used OsmoNITB from the OpenBSC project as a monolithic core development has now shifted to individual projects performing the different tasks that were previously united inside the OsmoNITB, such as:
- OsmoMSC - a GSM/UMTS Mobile Switching Center with support for AoIP as well as IuCS. SCCPlite support is work in progress
- OsmoBSC - a GSM Base Station Controller with support for many different BTS vendors and models attached via Abis (over E1 and IP).
- OsmoSTP - a SS7 Transfer Point to connect MSC and BSC
- OsmoHLR - a minimal implementation of a Home Location Register
- OsmoMGW - Media GateWay to relay RTP streams
This is more in line with the way a traditional GSM network is operated.
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 available, 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 OsmoGGSN 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 OsmoMSC and OsmoSGSN, 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.
Please see the below overview diagram about common possible configurations of the Osmocom software. If you are overwhelmed by all the abbreviations, have a look at the glossary.
A self-contained setup with minimal config of your core network is described at Osmocom Network In The Box.
For a more general overview of your options, take a look at the Configuration Guide.
If you have an OsmoNITB installation and would like to move to separate OsmoMSC and OsmoBSC with the new M3UA SIGTRAN, see the OsmoNITB Migration 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¶
These circuit-switched (voice) related core network components can all run on the same box:
They replace the old
- 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¶
- OsmoBSC -- OpenBSC in BSC-only mode (with external MSC)
- osmo-bsc_mgcp -- A stupid MediaGatewayControlProtocol (MGCP) gateway for OsmoBSC
Software for UMA/GAN (Unified Mobile Access)¶
Special purpose software for aggregating multiple A or Gb links¶
- osmo-bscnat -- a BSC NAT/Multiplexer
- osmo-gbproxy -- A proxy/gateway for aggregating multiple Gb links between 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
- OsmoGGSN -- A Gateway GPRS Support Node
There's also a tutorial at OpenBSC_GPRS explaining how to add data support to your OsmoNITB setup
- Important legal information on SoftwareLicensing
- meas_web -- Web based measurement utility for OpenBSC
- Browse the repositories at https://gitea.osmocom.org/
- Mailinglists at https://lists.osmocom.org/mailman/listinfo/
- Jenkins (continuous integration) at https://jenkins.osmocom.org/jenkins/
- Wiki is right here ;)
- Developer conferences: OsmoDevCon
- Tasks -- Tasks/Internships/Junior Jobs for OpenBSC and Osmocom
- Devtools -- Various tools to find/fix errors, send patches, etc
- Coding_standards -- Coding standards
- Make a new release
Commercial support as well as development, system integration and training services for this project are available from sysmocom
- OsmocomBB - Free Software GSM protocol stack for mobile phones
- The THC GSM project
- Homepage of Dr.-Ing. Joachim Goeller
- to On-Waves ehf and sysmocom GmbH for funding part of the development and maintenance
- to http://junghanns.net for supporting us with discounted E1 boards
- to Netzing AG for funding part of the earlier OpenBSC development
- to Kevin Redon for the Osmocom logo
Please check the project/wiki pages of the respecitve sub-projects.
This wiki contains information that is shared by the various sub-projects.
A full list of wiki pages is listed below:
- Accelerate3g5 -- alteholz
- Accelerate3g5 -- andreas
- Accelerate3g5 -- benoit
- Accelerate3g5 -- blobb
- Accelerate3g5 -- dima
- Accelerate3g5 -- encrypt
- Accelerate3g5 -- escogido
- Accelerate3g5 -- meathbroadband
- Accelerate3g5 -- neels
- Accelerate3g5 -- theresa
- Accelerate3g5 -- unicornteam
- Accelerate3g5 -- unrznbl
- Accelerate3g5 -- vbohinc
- Binary Packages
- Build from Source
- Configuration Guide
- Coding standards
- Git infrastructure
- Simulate Network Latency
- Emergency Warning
- Free Open Source Software
- Graphing osmo-* KPI with grafana
- IRC Channel
- Letters of Support
- List of Timer numbers
- Mailing List Rules
- Make a new release
- Osmocom Manuals
- Port Numbers
- Public Warning System
- Review 2017
- SIM Cards
- Titan TTCN3 Notes
- User-Contributed Tutorials
- Videos of Presentations
- Virtual GSM Load Testing
- Virtual Um
- Weekly BTS Tests
Updated by laforge 10 months ago · 41 revisions