Awesome
Awesome 5G
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.
Contents
<!--ts--> <!-- Added by: calee, at: 2020年 7月17日 週五 13時39分28秒 CST --> <!--te-->SIM
- pysim - A set of python tools to read, decode, explore write and program SIM/UICC/USIM/ISIM.
- sysmo-usim-tool - Tool to (re)configure the sysmoUSIM-SJS1, and sysmoISIM-SJA2 cards.
UE/CPE
- my5G-non3GPP-access - Implement a UE for untrusted non3GPP access to 5GCN.
RAN
- free5GRAN - free5GRAN is an open-source 5G RAN stack.
- gNBSim = Open source simulation software for 5G Core testing
- gnbsim - gnbsim is a 5G SA gNB/UE simulator for testing 5GC system. (The origin repo has been deleted. You can find backup here. Refer to issue#9.)
- OAI-RAN - The project implements 4G LTE and 5G Radio Access Network. Both NodeB and User Equipment (UE) are implemented.
- PacketRusher - High performance 5G UE/gNB Simulator and CP/UP load tester. From Valentin D'Emmanuele - France.
- pfm - DPDK implementation of a prototype on gNB-CU-UP.
- srsRAN - Open source SDR 4G/5G software suite from Software Radio Systems (SRS).
- UERANSIM - Open source 5G UE and RAN (gNodeB) implementation.
Core Network
- 5GCore - 5G system written 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 a 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).
Platforms
- 5G-EmPOWER - 5G-EmPOWER is a mobile network operating system designed for heterogeneous wireless/mobile networks.
- CNF Testbed - Cloud-native Network Function (CNF) Testbed.
- DANM - TelCo grade network management in a Kubernetes cluster.
- docker_open5gs with IMS - Docker files to run open5gs in a docker.
- free5gc-k8s - Dockerized Free5gc and Kubernetes Manifests.
- free5gc-cli - An interactive CLI for free5gc.
- 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).
- my5G-core - Currently, my5G-core is a fork of the free5GC project, with some extensions to facilitate the deployment.
- Magma - Platform for building access networks and modular network services.
- Magma Orchestrator - Ansible Deployment for Magma Orchestrator.
- 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.
- openNetVM - A high performance container-based NFV platform from GW and UCR.
- opnfv - Open Platform for NFV (OPNFV) facilitates the development and evolution of NFV components across various open source ecosystems.
- Polycube - eBPF/XDP-based software framework for fast network services running in the Linux kernel.
- towards5GS-helm - Provide helm charts in order deploy on one click a 5G system on top of Kubernetes.
- x-k8s - ITRI's Kubernetes platform for 5G Edge VNF.
- Zato - Python-based, open-source platform for orchestration, automation and integrations of APIs or hardware assets.
NFs
- NextMN-UPF - An experimental 5G UPF implementation
- omec-project/upf - This UPF implementation is actively used as part of the Aether platform in conjunction with the SD-Core mobile core control plane.
- OpenUPF - A 3GPP R16 compliant open source 5G core UPF (User Plane Function).
- SD-Core - Open Source 5G Network Functions orchestrated through Kubernetes
- UPF-EPC - 4G/5G Mobile core user plane.
- up4 - ONOS app and P4 program abstracting a network of switches as one big 4G/5G UPF.
- upg-vpp - User Plane Gateway (UPG) based on VPP.
- upf-xdp - It is just a toy, but it shows the possibility of using xdp to implement 5g upf.
- upf_p4_poc - This project is a proof of concept for 5g upf based on p4.
- vpp - 5G User Plane Function (UPF) based on VPP.
- upf-bpf - An in-kernel solution based on XDP for 5G UPF.
Edge/Applications
MEC
- OpenNESS - This repository includes the literature related to OpenNESS solution.
Network Slice
- katana-slice_manager - 5G Network E2E Slice Manager.
IoT
- Open MTC - OpenMTC is a reference implementation of the oneM2M standard, for conducting applied research and developing innovative M2M and IoT applications.
- YoMo - Build your own IoT & Edge Realtime Computing system easily, engaging 5G technology.
Applications
- Kamailio - The Open Source SIP Server for large VoIP and real-time communication platforms.
Protocols
eap-5g
- strongswan-eap-5g-plugin - EAP-5g plugin for strongswan.
GTP
- dpdk_gtp_gateway - DPDK based GTPv1 gateway.
- gtp5g - Linux kernel module 5G GTP-U.
- gtplib - Erlang GTPv1/GTPv2 library.
- gtpv2 - GPRS Tunneling Protocol Library for golang.
- go-gtp - GTP(GPRS Tunneling Protocol) implemented in pure Golang.
SCTP
- ishidawataru/sctp - SCTP library for the Go programming language.
- pion/sctp - A Go implementation of SCTP.
- sctp-go - SCTP Library for golang.
- usrsctp - A portable SCTP userland stack.
NGAP
- ngap - Encode Decode NGAP for 5G.
NAS
- NAS-5GS - Routines for Non-Access-Stratum (NAS) protocol for NAS-NR(5GS).
DTLS
- pion/dtls - DTLS 1.2 Server/Client implementation for Go.
PFCP
- go-pfcp - PFCP (Packet Forwarding Control Protocol) implementation in Golang.
- pfcplib - Erlang library for encoding and decoding Packet Forwarding Control Protocol (PFCP) frames.
Diameter
- go-diameter - Diameter stack and Base Protocol (RFC 6733) for the Go programming language.
Tools
- 3gpp.guru - Look up 3GPP abbreviations.
- 3GPP Bibtex entry generator - Generate .bib-file for 3GPP specifications.
- 5G Trace Visualizer - Tools to generate call flows from pcap.
- 5GC_APIs - RESTful APIs of main Network Functions in the 3GPP 5G Core Network.
- 5G_ciphered_NAS_decipher_tool - A python tool to decipher/decrypt 5G ciphered NAS message and export plain 5G NAS into wireshark pcap file.
- 5GC build - Project to use OpenAPI generators to build code from 5GC_API.
- 5g ldpc codes - 5g ldpc codes.
- LoxiLB - eBPF-based cloud native load balancer, designed for 5G workloads.
- MCC_MNC - Providing accurate JSON and Python dicts about the many public information available about MNO.
- MilenageTest - 3G/4G/5G authentication test troubleshooting tool.
- New Radio 5G Physical layer utilities - This repository contains Physical layer utilities based on 3GPP specs for NR 5G.
- nrarfcn - A 5G NR-ARFCN calculator, as a Python package
- OpenAPI Dissector - OpenAPI dissector for Wireshark to analyse and verify 5G core network traffic.
- OpenMobileNetworkToolkit (OMNT) - Toolkit for collecting mobile network signal characteristics, running network performance tests and providing deep insights into configurable settings for Android phones.
- pysim5g - Open-source techno-economic assessment framework for 5G deployment.
- speX - A WebService to deliver 3GPP specifications.
- 5GCoreNetSDK - 5GCoreNetSDK is a fully-featured Golang SDK for developing inside 5GC (Release-18).
Research
- 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.
- DeepCoMP - Dynamic multi-cell selection for cooperative multipoint (CoMP) using (multi-agent) deep reinforcement learning
- mobile-env - An open, minimalist Gym environment for autonomous coordination in wireless mobile networks
- Network Function Framework for Go (former YANFF) - NFF-Go -Network Function Framework for GO (former YANFF).
- SliceSim - 5G Network Slicing Simulation.
- Sub-6 Predicts mmWave Beam-forming Vectors - Using sub-6 GHz channels to predict mmWave beams and link blockage.
Documents
- 3gpp-documentation - 3GPP Documentation.
- 5G Mobile Networks: A Systems Approach - Open source eBook for 5G system.
- nickel0/3GPP-Overall-Architecture - 3GPP Overall Architecture and Specifications including 2G, 3G, 4G, and 5G Systems up to Release-17.
- vigp/awesome-5g - Knowledge base for 5G wireless.