Project Osmocom

Osmocom (*O*pen *S*ource *Mo*bile *Com*munication) is a collection of Free Software / Open Source Software projects in the area of mobile communications.

Our member projects implement a variety of public and private communications systems, ranging from GSM/GPRS mobile telephony to TETRA private mobile radio, DECT cordless telephony, GMR satellite telephony and many others.

The goal of those implementations is to provide free software implementations available in source code, which we believe are key aspects
  • to encourage research, innovation and experimentation on widespread communications systems
  • to help interested engineers and students with practical insight into systems they normally only read about in books
  • to ensure that technical and implementation details of such vital communications systems are known outside the small group of manufacturers who push them into the market

The status, quality and completion grade differs from project to project. Some are used even in commercial production networks, others are primarily used in research and education.

The people behind Osmocom are putting together those projects in collaborative, distributed Free Software projects in the spirit of much larger and more established/deployed projects like the Linux kernel, the GNU project. Our software is primarily written by developers for other developers. If you are unfamiliar with standard tools and practises of C-language programming in a GNU/Linux environment, you will have a very hard time making any use of our work. You have been warned ;)

Individual Projects

  • General purpose stuff
    • libosmocore -- Various utility functions that are used in many other Osmocom projects. Contains libosmo{core,vty,gsm}.
  • GSM related
    • libosmo-abis -- low-level access library for A-bis interfaces on E1 as well as over IP
    • libosmo-sccp -- SCCP, SUA, M3UA and SIGTRAN library, includes OsmoSTP
    • network side
      • OsmoBTS -- GSM BTS Layer 2 + A-bis implementation with various hardware/L1 support
      • OpenBSC -- GSM Base Station Controller (]) + Network In The Box ([[osmonitb:)
      • OsmoSGSN -- Minimal GPRS/EDGE/UMTS Serving GPRS Support Node
      • OsmoGGSN -- GPRS/EDGE/UMTS Gateway GPRS Support Node
      • Bsc_nat -- Network Address Translation for making many BSCs appear as one BSC to a MSC
      • osmo-gbproxy -- GPRS/EDGE Gb interface proxy / aggregator / converter (NS/IP vs. NS/FR)
      • [[cellmgr_ng:]] -- A type of STP / media gateway between circuit-switched SS7 and SIGTRAN
      • osmocom-lcs -- Tools for Location Service (RRLP / SMLC)
    • telephone side
      • OsmocomBB -- MS-side GSM protocol stack and baseband processor firmware / drivers
      • uboot-mt623x -- u-boot implementation for MT623x baseband processor
      • linux-mt623x -- Linux kernel port for MT623x baseband processor
    • SIM/USIM/UICC card related
      • SIMtrace: -- Hardware APDU tracer/logger for ISO 7816-3 smart-cards such as GSM SIM / UMTS UICC
      • cos -- upcoming implementation of a SIM card OS (COS)
      • osmo-sim-auth -- command line tool for authenticating against SIM/USIM in a smart card reader
      • pysim -- python tool to program a variety of SIM/USIM cards with Ki/ICCID/IMSI/...
      • softsim -- software SIM emulation
  • Other communication systems
    • OsmocomDECT -- DECT (Digital European Cordless Telephony) stack + drivers for Linux
    • tetra -- TETRA SDR receiver, PHY and lower MAC layer
    • gmr -- GMR (Geo Mobile Radio) / Thuraya SDR receiver/decoder/demodulator/dissector
    • [[op15:]] -- SDR receiver/decoder for the APCO Project 25 trunked digital radio system
  • SDR hardware
    • osmosdr -- USB based SDR receiver with FOSS hardware/firmware
    • rtl-sdr -- turning a consumer-grade USB DVB-T stick into a least-cost SDR
    • libosmo-dsp -- library with SDR primitives
    • gr-osmosdr -- gnuradio block for OsmoSDR and rtl-sdr
    • UmTRX -- dual-channel wide-band SDR transceiver
  • Miscellaneous hardware
    • osmo-e1-xcvr -- An E1 transceiver + LIO block
    • osmo-nvs-gps -- GNSS receiver (GPS/Glonass/Galileo) block using NVS module
    • osmo-lea6t-gps -- Evaluation board for the u-blox LEA-6T GPS timing module
    • osmo-ocxo -- precision clock source using Pletronics OHM4 OCXO
  • Miscellaneous tools
    • gen_ladder -- A tool to generate ladder diagrams used in documentation
    • dct3-gsmtap -- A tool to obtain GSMTAP messages for SIM and GSM from Nokia DCT3 phones

Other Osmocom resources


Osmocom is not a company nor a commercial venture. Development of osmocom projects is done by a diverse, international community of experts who volunteer to create this software. Please always remember this when asking questions on mailing lists, IRC or in person.

All our software and information on our web sites is available for free to anyone. But just because you have downloaded our code, it doesn't mean that you have a right to commercial-grade customer support. People are doing their best in whatever amount of spare time they have to help you!

Nevertheless, if you have the requirement for commercial-grade support or development services surrounding Osmocom, there is a variety of companies and freelancers available to help you.


If you have questions or feedback, please make sure to send your messages to the respective project mailing-list. Like always in Free Software projects, in general, it is a bad idea to directly mail the individual authors. Try the mailing list first.

Joining / helping

If you have an interest in mobile communications systems from the physical layer up through all the protocols into the core network and want to contribute, we are more than happy for any help we can get. Pick your favourite sub-project, start improving it and send patches to the mailing lists.

Updated by laforge over 6 years ago ยท 13 revisions

Add picture from clipboard (Maximum size: 48.8 MB)