A curated list of awesome 5G frameworks, libraries, software and resources.
Consult awesome-telco for more general telco resources including EPS, UMTS, and GSM's system or project.
- pysim - A python tool to program SIMs.
- gnbsim - gnbsim is a 5G SA gNB/UE simulator for testing 5GC system.
- OAI-RAN - The project implements 4G LTE and 5G Radio Access Network. Both NodeB and User Equipment (UE) are implemented.
- Software gNB - A Software gNB for free5GC.
- UERANSIM - 5G UE/RAN Simulator.
- 5GCore - 5G system writen in python.
- free5GC - Open source 5G core network base on 3GPP R15.
- Internship-5GCN - Implementation of RESTful Web Services between 5G Control Plane Nodes(AMF,NRF,SMF,UDM).
- OAI-CN - This project implements 4G LTE Evolved Packet Core (EPC) and 5G Core Network.
- open5gs - Open5GS is a C-language Open Source implementation of 5GC and EPC, i.e. the core network of NR/LTE network (Release-16).
- 5G-EmPOWER - 5G-EmPOWER is a mobile network operating system designed for heterogeneous wireless/mobile networks.
- DANM - TelCo grade network management in a Kubernetes cluster.
- docker_open5gs with IMS - Docker files to run open5gs in a docker.
- free5gmano - This is a 5G MANO (Management and Network Orchestration) project developed that refer to 3GPP TS 28.531, TS 28.532 Release 15 (R15).
- Magma - Platform for building access networks and modular network services.
- ONAP - Open Network Automation Platform.
- Open Source MANO - OSM is delivering an open source Management and Orchestration (MANO) stack aligned with ETSI NFV Information Models.
- x-k8s - ITRI's Kubernetes platform for 5G Edge VNF.
- OpenNESS - This repository includes the literature related to OpenNESS solution.
- katana-slice_manager - 5G Network E2E Slice Manager.
- Open MTC - OpenMTC is a reference implementation of the oneM2M standard, for conducting applied research and developing innovative M2M and IoT applications.
- Kamailio - The Open Source SIP Server for large VoIP and real-time communication platforms.
- dpdk_gtp_gateway - DPDK based GTPv1 gateway.
- gtp5g - Linux kernel module 5G GTP-U.
- gtplib - Erlang GTPv1/GTPv2 library.
- go-gtp - GTP(GPRS Tunneling Protocol) implemented in pure Golang.
- ishidawataru/sctp - SCTP library for the Go programming language.
- pion/sctp - A Go implementation of SCTP.
- usrsctp - A portable SCTP userland stack.
- go-pfcp - PFCP(Packet Forwarding Control Protocol) implementation in Golang.
- pfcplib - Erlang library for encoding and decoding Packet Forwarding Control Protocol (PFCP) frames.
- go-diameter - Diameter stack and Base Protocol (RFC 6733) for the Go programming language.
- 5G Trace Visualizer - Tools to generate call flows from pcap.
- 5GC_APIs - RESTful APIs of main Network Functions in the 3GPP 5G Core Network.
- 5GC build - Project to use OpenAPI generators to build code from 5GC_API.
- 5g ldpc codes - 5g ldpc codes.
- New Radio 5G Physical layer utilities - This repository contains Physical layer utilities based on 3GPP specs for NR 5G.
- 5G-Core-gRPC-SBA - This repository is the proof of concept for Service Based Architecture of 5G using gRPC.
- 5GMdata - Datasets and code for machine learning in 5G mmWave MIMO systems involving mobility (5GMdata).
- Beamformed Fingerprint Learning - ML-based positioning method from mmWave transmissions - with high accuracy and energy efficiency.
- SliceSim - 5G Network Slicing Simulation.
- Sub-6 Predicts mmWave Beam-forming Vectors - Using sub-6 GHz channels to predict mmWave beams and link blockage.
- 3gpp-documentation - 3GPP Documentation.
- 5G Mobile Networks: A Systems Approach - Open source eBook for 5G system.