Get Ready and get surprise !!
I’m going to tell you all 5G related opensource projects that you can clone right now. These will be really resourceful and useful for everyone from students to researchers , engineers and obviously to tecommunications professionals. The bright side about this pose is that telecommunications is no longer out of reach we’ve all studied GSM, CDMA only in textbooks, a lucky few may have did some radio, core , packet , transmisison frequency planning and design and some legends may have built 2G, 3G, 4G early on. I am proud to say i was one of them , but today’s ecosystem is competely different. 5G is available to everyone enthusiastic human being who wants to learn, hack, explore into the world of telecommunications.
RAN – 5G Opensource Projects
Top 3
SD-RAN From ONF :https://opennetworking.org/sd-ran/
~has code for near real-time RIC, easy sandbox to onboard and test xapps
OAI https://openairinterface.org/oai-5g-ran-project/
~has code for non standalone gNB and standalone along with UE
srsRAN https://www.srsran.com/
~ has code for full stack gNB and UE
- 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.)
- eNB emulator — https://github.com/fasferraz/eNB
- pfm — DPDK implementation of a prototype on gNB-CU-UP.
- UERANSIM — Open source 5G UE and RAN (gNodeB) implementation.
- free5GRAN — free5GRAN is an open-source 5G RAN stack.
- pfm — DPDK implementation of a prototype on gNB-CU-UP.
- sionna — An Open-Source Library for Next-Generation Physical Layer Research
- My5g Rantester — my5G-RANTester is a tool for emulating control and data planes of the UE (user equipment) and gNB (5G base station).
- 5g Nr Planning And Dimensioning — Simulations and figures for 5G NR radio resource properties planning. Built for educational purposes
- Mmwave Localization Learning — ML-based positioning method from mmWave transmissions — with high accuracy and energy efficiency
- NgToolset — is set of userful NPO tool for 4G/LTE and 5G/NR, written with Python/PyQt.
- RAN slicing simulation — RAN-Slicing-Simulation
- 5G RAN Operators — From canonical, 5G Ran Emulator is implemented as microk8s applications using Juju Charms and Microk8s Contains charm folder consisting of 2 k8s charm applications (ue app and ran)
- 5G-RAN SCHED — This is a simple 5G RAN scheduler that uses the scheduler environment build using OpenAI Gym
- MLRAN — This project is made to work on 5G/LTE RAN data and build a ML prediction model
- ORAN Fronthaul mini switch — https://github.com/diogo-marques/ORAN_FH_SW
Core 5G Opensource Projects
Top 3
free5GC — Open source 5G core network base on 3GPP R15.
Magma — Open source 4G and 5G core built on k8s.
open5gs — Open5GS is a C-language Open Source implementation of 5GC and EPC, i.e. the core network of NR/LTE network (Release-16).
- https://github.com/fenar/cnvopen5gcore – 5G Core with RAN + UE simulator deployment on Red Hat Openshift with Service Mesh
- 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.
- 5GCore — 5G system written in python.
- 5GC_APIs — https://github.com/jdegre/5GC_APIs
- go-gtp — GTP in Golang Package gtp provides simple and painless handling of GTP(GPRS Tunneling Protocol), implemented in the Go Programming Language.
- 5G UPF — using BPF/XDP An open source C++ library powered by BPF/XDP for user planes in the mobile core network (5G/LTE).
- upf — upf implementation from OMEC.
- SD-CORE — OMEC implementation of 5g/4g core.
- upg based on VPP — UPG implements a GTP-U user plane based on 3GPP TS 23.214 and 3GPP TS 29.244 Release 15. It is implemented as an out-of-tree plugin for FD.io VPP.
- go-pfcp — PFCP implementation in Golang.
- Towards5gs Helm Open-source project providing Helm charts for deploying Free5GC and UERANSIM on a Kubernetes cluster.
- my5G-core — fork of free5gc with few changes.
- My5g Rantester my5G-RANTester is a gNB/UE simulator for testing 3GPP standards and stressing a 5G core.
- Openupf — A 3GPP R16 compliant open source 5G core UPF (User Plane Function).
- Upf_p4_poc — This project is a proof of concept for 5g upf based on p4.
- Up4 ONOS — app and P4 program abstracting a network of switches as one big 4G/5G UPF.
- Gtp5g — GTP-U Linux Kernel Module.
- My5g Non3gpp Access — Implements a security connection using untrusted non3GPP.
- Kubesim_5gc 5GC — core node kubedge simulator.
- corescope — 5G core testing solution.
Miscellaneous 5G Opensource Projects
Top 3
katana-slice_manager — 5G Network E2E Slice Manager.
OpenNESS — This repository includes the literature related to OpenNESS solution.
5G Mobile Networks: A Systems Approach — Open source eBook for 5G system.
- LF Edge https://www.lfedge.org/
- 5G-Core-gRPC-SBA — This repository is the proof of concept for Service Based Architecture of 5G using gRPC.
- USIM https server API for AKA authentication https://github.com/fasferraz/USIM-https-server
- 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.
- 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.
- 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.
- 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.
- pysim5g — Open-source techno-economic assessment framework for 5G deployment.
- tesetbeds — List of available testbeds.
- speX — A WebService to deliver 3GPP specifications.
- go-diameter — Diameter stack and Base Protocol (RFC 6733) for the Go programming language.
- Kamailio — The Open Source SIP Server for large VoIP and real-time communication platforms.
- strongswan-eap-5g-plugin — EAP-5g plugin for strongswan.
- dpdk_gtp_gateway — DPDK based GTPv1 gateway.
- ishidawataru/sctp — SCTP library for the Go programming language.
- usrsctp — A portable SCTP userland stack.
- Simulation for 5G and 6G Edge Computing — A Mobile Resource-sharing Framework for 5G/6G Edge Computing in Massive IoT Systems.
- EMQX broker — is a fully open source, highly scalable, highly available distributed MQTT messaging broker for IoT, M2M and Mobile applications that can handle tens of millions of concurrent clients.
- OpenHarmony — Huawei Hongmeng distributed operating system (Huawei OpenHarmony).
- Nokia book — Books from nokia.
- mmWave-MU-MIMO– Matlab project.
- Deepslice — Research on network slicing.
- III-5GC-Free-Trial new — 5G end to end demonstration for education purpose.
- NEF-Emulator — Configurable, emulated environment for providing Network Exposure Function (NEF) APIs
- 5G speed — 5G Speed Calculator — Support for all of the latest FDD, TDD, SDL & SUL NR bands.
- Researchmethods 5g Assignments relating to 4th Year Software Development module Research Methods in Computing and IT.
- 3gpp Asn1 Navigator — ASN.1 utilities, especially targeted 3GPP.
- 5g Lena — This is an ns-3 3GPP NR module for the simulation of 5G NR non-standalone cellular networks.
- Xran Demo — A collection of material showing how NSO and Confd can be used to exercise the set of xRAN YANG models used to support its split RAN architecture.
- 5G Replay — Tool for modifying and replaying 5G protocol network traffic.
- Daedalus Exploring various defensive response options for effectively securing a 5G core-network.
- Intel k8s plugins — plugins for cnf based 5g.
- 5G-Slicer: An emulator for mobile IoT applications deployed over 5G network slices
- app_aware_5g — A cloud-native 5G Network based on OAI platform, fully deployed on Kubernetes, enhanced with AI Unit to forecast the interactions between end-users and applications, and to improve the Quality of Experience of the users in real-time by utilizing the FlexRAN Controller.
- cran — Implementação de uma CRAN (Cloud Radio Access Network) utilizando Matlab.
- 5gc-config — Configuration for setting up 5G SA Testbed.
- nrphypy — Python module for 5G NR sync signals and decoding.
- coverage-mapper — Cellular radio coverage mapping tool written in Python.
- SimuTorino— Simulating 5G-enabled vehicular networks in a Turin urban context.
- Interactive Spectrum Allocation Diagram — Interactive Spectrum Allocation Diagram in Germany.
- tplg-cli— Command Line Interface to API Topology Browser Ericsson ENM.
- hms-5g-modem-demo — https://github.com/HMS-Core/hms-5g-modem-demo.
- stateless5g— Modules used for the evaluation of “The Cost of Stateless Network Functions in 5G”
- DeepSARA— Admission Control and Resource Allocation mechanism for 5G Core Network Slicing based on Reinforcement Learning and Deep Learning.
- 5G_IITM — Matlab codes for course “LDPC and Polar Codes in 5G Standard” by IITM. Coded by Teddy van Jerry.
- MilenageKT — A MILENAGE algorithm implementation in Kotlin.
- OPENRAN — This repository contains the two different algorithms to synchronize the data path of the up- and downlink of 5G Radio Access Networks.
- cucp5g — CUCP implementation of 5G.
- Multiagent-5GMEC — Three Agent-Based Simulation for Edge Computing in 5G and Beyond for the recent paper titled “Design and Simulation of a Hybrid Architecture for Edge Computing in 5G and Beyond” by Hamed Rahimi et al.
- Qos-slicing — Onos application for deploying network slicing and performance isolation, in terms of both connectivity and performance.
- Telco-5G-Guide — Telco 5G Guide.
- Project5G-ansible-deployment — In this project, we demonstrate how mobile network operators can deploy full 5G networks using (open source) Ansible and container orchestration tools such as docker and Kubernetes on the cloud and a local setup.
- NetworkCellAnalyzer — This is a university team project. It was done by Jason Diab (Me), Peter Farah, and Anthony Saab for the EECE451 course at the American University of Beirut. (Fall 2020–2021)
- 5G-positioning– 5G-positioning matlab
- colte — Community LTE Project.
- 5GNR_slot_detection — Let’s see how fast and accurate we could detect 5G NR slot boundary.
- 5g-cyber-security-for-splunk-phantom-soar — 5G Cyber Security application for Splunk Phantom SOAR (Security Orchestration, Automation, and Response) system. This app performs verification of the check digits of an eSIM (embedded SIM) eUICC IDentifier (EID) according to GSM Association Official Document SGP.29 ‘EID Definition and Assignment Process’, version 1.0, 31 July 2020.
- network-slicing — Network Slice Management Interface.
- Esim — This Go eSIM module processes eUICC IDentifier (EID) used in the context of Remote Provisioning and Management of the eUICC (eSIM) in according to GSM Association Official Document SGP.02 (Remote Provisioning of Embedded UICC Technical Specification) and SGP.22 (RSP Technical Specification) for EID using the ITU-T E.118.
- https://open5g.info/– Collection of nice tools (some are already mentioned here) from northwestern university.