Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-telco

A curated list of telco resources and projects
https://github.com/ravens/awesome-telco

Last synced: 3 days ago
JSON representation

  • SIMCards

    • PySIM - Set of tools to read / explore / decode and program (write) SIM/USIM/ISIM cards. Useful to manage and program modifiable SIM cards such as the sysmocom ones.
    • sysmoISIM-SJA5 - latest generation of programmable/modifiable SIM/UICC/USIM/ISIM card with support up to 3GPP Release 17. Ideal for any type of lab/research network (irrespective of RAN/CN vendor).
    • SIMTrace2 - Osmocom SIMtrace2 is a hardware device and associated firmware + host software to trace the communication between phone and SIM card. Also supports emulating the card-side of the ISO7816 interface. Firmware now also supports other hardware like [ngff-cardem](https://osmocom.org/projects/ngff-cardem/wiki)
    • Njiwa - M2M UICC - Njiwa (Swahili for homing pigeon) is an implementation of the GSMA's Embedded SIM Remote Provisioning Manager for M2M devices. (Note: original repo is missing, replacing by a fork).
    • sysmo-usim-tool - Utility for managing proprietary bits of sysmoUSIM/sysmoISIM programmable cards
    • SUPI with pysim - Notes on enabling SUPI with pysim.
    • OpenEUICC - (WIP) eSIM LPA (Local Profile Assistant) implementation for Android. System privilege required.
    • osmo-remsim - software suite permitting forwarding of SIM card traffic to a _remote_ SIM card (via TCP/IP).
    • SIMTester - SIMtester assess SIM card security in two dimensions : Cryptanalytic attack surface, Application attack surface.
    • LPAd SM-DP+ Connector - Local Profile Assistant for Device (LPAd) - LPAd SM-DP+ Connector
    • GlobalPlatformPro - A tool to load and manage SIM applets on compatible JavaCards from command line from MArtin Paljak.
    • ARA-M Applet - ARA-M implementation for JavaCards by Bertrand Martel.
    • CoIMS_wiki - Guide for overriding IMS settings to force enable VoLTE/VoWiFi using Carrier Privileges, with its companion app on the Google Play store [CoIMS](https://play.google.com/store/apps/details?id=com.sherle.coims).
    • HelloSTK2 - My 2021's guide to HelloSTK [...] but maybe this "guide" helps you to build and install SIM-Toolkit applets.
    • Generic-eUICC-Test-Profile - [...] to normalize the way in which Test Profiles for embedded UICCs will be available, and configurable, for industry standardised testing.
    • ScapySMS - A Scapy implementation of SMS-SUBMIT and (U)SIM Application Toolkit command packets.
    • ISD-R Access Provider - This application contains a tiny content provider for communicating with ISD-R in eSIM soldered on Android device (developed for Pixel4).
    • asterix - asterix is a framework for communication with smartcards based on pyscard.
    • SimServerAndroid - Gets SIM card ICCID/runs 3G Authentication over ADB shell.
    • swSIM - A software-only SIM card.
    • swICC - A framework for creating smart cards (ICC-based cards with contacts).
    • vsmartcard - umbrella project for emulation of smart card readers or smart cards.
    • mobile-atlas - MobileAtlas implements the promising approach to geographically decouple SIM card and modem, which boosts the scalability and flexibility of the measurement platform.
    • lpac - C-language implementation of a Consumer eSIM LPAd. Can be used to download/activate/deactivate profiles on eUICC.
    • Onomondo UICC - This repository contains a pure software implementation/emulation of the most relevant SIM/UICC/USIM functionalities.
  • Testing

    • GPS, Time

      • Eclipse Titan TTCN3 - Eclipse Titan is a TTCN-3 compilation and execution environment with an Eclipse-based IDE.
  • UE

    • 4G

      • srsUE PR external NAS - a PR for srsLTE for external NAS message injection.
      • Amarisoft - Commercial UE Emulator by Amarisoft, company co-founded by [Bellard](https://bellard.org) on his original LTE software modem [work](https://bellard.org/lte/).
      • LTE-CellScanner - This is a collection of tools to locate and track LTE basestation cells using very low performance RF front ends.
      • LTE-CellScanner-SDR-X - An OpenCL accelerated TDD/FDD LTE Scanner (from rtlsdr/hackRF/bladeRF A/D samples to PDSCH output and RRC SIB messages decoded).
      • S1APTester - A test tool that simulates the s1aptest functionality of a LTE network.
    • 2G

      • OsmocomBB - Open Source implementation of a 2G Mobile Station, including baseband firmware/PHY, L2, L3, etc. Works with phones using TI Calypso chipset; SDR PHY is work-in-progress
      • FreeCalypso - Volunteer project building software derived from leaked source code for the TI calypso project
    • Diagnostics, Monitor mode

      • Network Signal Guru - Android app able to parse Diag output from QC modem and display a lot of data for engineering field work.
      • Snoopsnitch - an opensource project focused on collecting data on existing network by performing passive and active tests and recovering the event through the DIAG protocol on a rooted Android phone.
      • osmo-qcdiag - Osmocom project for decoding Qualcomm DIAG messages. Use @hoernchen/gsmtap@ branch to feed 2G/3G/4G/SIM messages from DIAG into wireshark ia GSMTAP.
      • SCAT - this application parses diagnostic messages of Qualcomm and Samsung baseband through USB, and generates a stream of GSMTAP packet containing cellular control plane messages.
      • QCSuper - QCSuper is a tool communicating with Qualcomm-based phones and modems, allowing to capture raw 2G/3G/4G radio frames, among other things.
  • RAN

    • RRH

      • O-RAN Software and seed code - The O-RAN Software Community (SC) is a collaboration between the O-RAN Alliance and Linux Foundation with the mission to support the creation of software for the Radio Access Network (RAN). Introduction to O-RAN in a [LF video](https://www.youtube.com/watch?v=iJyb0pCWDKo).
    • 5G

      • OAI NR - 5GNR related branch of the OAI code. You can follow the [weekly updates](https://trello.com/c/XBVaaHIO/26-5g-nr) to stay up to date.
      • ~~gnbsim~~ - gnbsim is a 5G SA gNB/UE (Release 16) simulator for testing 5GC system. The project is aimed to understand 5GC system more efficiently than just reading 3GPP standard documents. _The original repo is not available. See [the forked repo](https://github.com/AlohaLuo/gnbsim-backup) instead._
      • 5G-tools.com - 5G-tools.com is devoted to modern standards of wireless communications, such as 5G, 4G, etc. Main mission of site to give engineers the useful software tools to create a wireless network
      • OAI NR - 5GNR related branch of the OAI code. You can follow the [weekly updates](https://trello.com/c/XBVaaHIO/26-5g-nr) to stay up to date.
    • 4G

      • OAI eNB/ gNB - Open Air Interface RAN 4G eNB / 5G NR gNB to use on SDR-based radios.
      • OpenLTE - OpenLTE is an open source implementation of the 3GPP LTE specifications from Ben Wojtowicz.
    • 3G

      • OsmoHNodeB - Open Source implementation of the upper layers (RANAP/RUA/HNBAP/GTP/RTP) of a hNodeB. Not usable standalone, requires lower-layer (RRC/RLC/MAC/PHY).
    • 2G

      • OpenBTS - 2G BTS with SDR-based radios.
      • YateBTS - 2G BTS with SDR-based radios.
      • OsmoTRX - fork of OpenBTS tranceiver to use on SDR-based radios.
      • OsmoBTS - Open Source GSM BTS (Base Transceiver Station) with A-bis/IP interface.
      • OsmoPCU - Open source GPRS PCU (Packet Control Unit) with Gb/IP interface. Supports OsmoBTS as well as Ericsson RBS2000/RBS6000.
      • OsmoBSC - Open Source BSC (Base Station Controller) with Abis/E1 and Abis/IP support. Works with OsmoBTS, nanoBTS and various Nokia, Ericsson and Siemens BTS models.
    • PHY

      • gr-osmoSDR - Unified gnuradio input/output block for a variety of SDR devices, including FUNcube Dongle, OsmoSDR, RTL-SDR, MSi2500, SDRplay, SDR-IQ, AirSpy, rad10, HackRF, bladeRF, USSRP/UHD, UMtrx, RedPitaya, FreeSRP.
      • USRP B210 - SDR Radio kit compatible with most of the SDR-based software modem implementations.
  • Core

    • 5G

      • Open5GS - 5G, R14 4G EPC core with independent MME, HSS, SGW, PGW, PCRF, UPF, SMF, NRF functions. Follow-up of NextEPC. [github](https://github.com/open5gs)
      • OAI 5GCN - OAI(Open Air Interface) was initially developed by EURECOM, provides a 3GPP-Compliant 5G SA Core Network.
      • Free5GC - The free5GC is an open-source project for 5th generation (5G) mobile core network hosted by [CS Lab](https://cslab.cs.nycu.edu.tw/). Written in Golang. Associated github projects: [PER parser/encoder](https://github.com/free5gc/aper), [AMF](https://github.com/free5gc/amf).
      • SD-Core - A 4G/5G core that is based on [OMEC](https://www.opennetworking.org/omec/) for 4G, and a fork of [Free5GC](https://www.free5gc.org/) for 5G. Has implementations for AMF,SMF,PCF,UDM,AUSF,NSSF and a P4 based UPF. [github](https://github.com/omec-project/amf)
    • 4G

      • OAI EPC - MME and HSS functions from the OAI projects.
      • NextEPC - R13 4G EPC core with independent MME, HSS, SGW, PGW, PCRF functions. [github](https://github.com/nextepc/)
    • 3G

      • OsmoHNBGW - An Open Source implenentation of a HNB-GW (HomeNodeB-Gateway), implementing the Iuh, IuCS and IuPS interfaces. It aggregates the Iuh links from femtocells (hNodeBs) and presents them as regular IuCS and IuPS towards MSC and SGSN.
    • 2G + 3G

      • OsmoMSC - Open Source implementation of a MSC (Mobile Switching Centre). It provides a 3GPP AoIP interface towards BSCs like OsmoBSC as well as 3GPP IuCS towards RNCs or HNB-GWs like OsmoHNBGW as well as GSUP towards OsmoHLR.
      • OsmoHLR - Open Source implementation of a HLR (Home
      • OsmoSGSN - Open Source implementation of a SGSN (Serving GPRS Support Node). It provides a Gb/IP interface towards PCUs, an IuCS interface towards RNC/HNBGW, a GSUP interface to OsmoHLR and the GTP based Gp interface to the GGSN.
      • OsmoGGSN - Open Source implementation of a GGSN (Gateway GPRS Support Node). It provides a Gp interface towards the SGSN and a Gi interface toward the external IP network.
      • OsmoMGW - Open Source implementation of a MGW (Media GateWay). It is used by OsmoBSC, OsmoMSC as well as OsmoHNBGW to provide RTP user plane routing/multiplexing. Supports LCLS and IuFP.
      • OsmoSTP - Open Source implementation of a STP (Signal Transfer Point). It is used to route SS7 traffic between other software (like MSC, BSC, ...) via M3UA, SUA and SCCPlite.
    • OSS/BSS

      • Bodastage CE - Boda Telecom Suite - Community Edition (BTS-CE) is an open source telecommunication network management platform for various RAN providers. [github](https://github.com/bodastage/bts-ce)
  • Interco

    • SBC, IMS

      • Freeswitch - Popular SIP stack that could be used as Session Border Controller (SBC)
      • IMS Clearwater - Clearwater is an open source implementation of IMS (the IP Multimedia Subsystem).
      • Kamailio - SIP stack used for VoLTE and SBC.
      • IMS Clearwater - Clearwater is an open source implementation of IMS (the IP Multimedia Subsystem).
    • SMPP

      • Selenium SMPPSim - (software disappeared) - possible mirror [here](https://github.com/haifzhan/SMPPSim).
  • Protocols

    • NAS 4G/5G and Milenage

      • LTE-security - a Windows application that implements all the security procedures for LTE referred in Annex A and Annex B of 3GPP 33.401. Last update in 2020, direct [link](https://www.dropbox.com/s/adpa2yuac99riqt/LTE%20Security%203.3.zip?dl=0)
    • GTP/PFCP

      • Kernel GTP-U - This is an implementation of the GTP-U (user plane) inside the Linux kernel.
      • scapy-gtp - Scapy (A interactive packet manipulation program) GTP layer. Spec: 3GPP TS 29.060 and 3GPP TS 29.274. Some IEs: 3GPP TS 24.008.
    • SCTP

      • scapy-sctp - Scapy (A interactive packet manipulation program) SCTP layer.
    • SS7/SIGTRAN

      • openss7 - An opensource development project (called OpenSS7) to provide a robust and GPL'ed SS7, SIGTRAN, ISDN and VoIP stack for Linux and other UN*X operating systems.
      • libosmo-sccp - SCCP Library
    • Dataplane acceleration

      • FD.io - FD.io is a vector processing engine (VPP). VPP processes a number of packets in parallel instead of one at a time thus significantly improving packet throughput.
      • OVS - Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license.
      • DPDK - DPDK is the Data Plane Development Kit that consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures. [Vista Creek (FPGA-based baseband accelerator)](https://www.intel.com/content/www/us/en/wireline/products/programmable/applications/nfv.html) support has been added to [DPDK](https://doc.dpdk.org/guides/bbdevs/fpga_lte_fec.html).
    • Others

      • OGSLib - state machine and utilities functions for NextEPC and Open5gs
  • Infrastructure

    • NFV, Openstack

      • OPNFV - The OPNFV project addresses a number of aspects in the development of a consistent virtualisation platform including common hardware requirements, software architecture, MANO and applications.
    • Containers, Kubernetes

    • Baremetal management

      • MAAS - Self-service, remote installation of Windows, CentOS, ESXi and Ubuntu on real servers turns your data center into a bare-metal cloud - Metal As A Service.
  • Lab

    • ready to use testbed (Docker, Vagrant etc.)

      • Open5gs-K8s-VyOS - This tutorial is about how to deploy a virtual 4G stack using GNS3 and Kubernetes.
      • OpenAICellular - OAIC is an open-source effort led by a consortium of academic institutions to provide fully open-source software architecture, library, and toolset that encompass both the AI controllers (OAIC-C) as well as an AI testing framework (OAIC-T).
    • Remote control

      • OpenSTF - Enable remote control of phone over ADB over an HTML5 interfaces.
      • Vyzor - A window to your Android, streaming Android UI through ADB in a Google Chrome Browser app.
  • Security

  • Blogs

    • Writeups

      • Nick vs Networking - So this blog focuses on telecommunications network engineering, from the very old (Shout out to the National Communications Museum), to very new and everything in between.
      • The 3G4G Blog - Latest news and information on 3G, 4G, 5G wireless and technologies in general.
      • Frédéric Launay - Les réseaux de mobiles 4G et 5G - [FR] Ce blog est un site de vulgarisation sur la téléphonie mobile de 4ème Génération ou 4G, du LTE et du web 2.O.
      • Yoshiyuki Kurauchi - Blog posts by Yoshiyuki Kurauchi - A telecom / networking / security enthusiast.
      • How LTE Stuff Works? - Blogs on 4G/5G by a 3GPP Engineer.
  • Organizations

    • Writeups

      • Osmocom - dev-con/wiki/OsmoDevCon) page (It's held online as [OsmoDevCall](https://osmocom.org/projects/osmo-dev-con/wiki/OsmoDevCall) lately). They also have a web based [discourse forum](https://discourse.osmocom.org/)
      • Sysmocom
      • Telecom Infra Project - FB initiated project to create an equivalent of the OpenCompute project in the telco space.
      • 3GPP Forge - Forge for the 3GPP organization.
  • Docs

    • Writeups

      • Wireless frequency bands - Come for the frequency calculator, stay for the cellular other resources.
      • ShareTechNote - an impressive repo of knowledge for the cellular telco world.
      • 3GPP specs - 3GPP specs.
      • CNTT - set of reference specifications for NFVI coming from several telcos (Vodafone, Telstra, Orange mentionned as authors).
      • 3gpp.guru - look up 3GPP abbreviations
      • speX - accessible 3GPP specs (PDF, DOC, HTML), [can be self-hosted](https://github.com/CoRfr/spex-3gpp)
      • Getsi - Easy search engine for 3GPP specs
  • Slides

  • Tweets

  • Issues

  • Mailing-lists

  • YouTube channels

    • Writeups

      • penhertz - Official YT channel of Penthertz to talk about RF Hacking, Software-Defined Radio, and other tips and tricks!.
  • Slacks

  • Discord

  • Commercial

    • Writeups

      • open-cells
      • sysmocom
      • 5ber esim - 5ber.eSIM card is a physical SIM card that complies with the GSMA standards that can store up to 15 eSIM profiles at the same time.
      • esim.me - physical sim card combined with a proprietary app that enable to load up to 15 eSIM on the physical sim card.
      • 5ber esim - 5ber.eSIM card is a physical SIM card that complies with the GSMA standards that can store up to 15 eSIM profiles at the same time.