Skip to content

calee0219/awesome-5g

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome 5G Awesome

Build Status PRs Welcome

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

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

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

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

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

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

Documents