๐Ÿš€ UnifyAir Core - 5G Network Functions

April 21, 2025 ยท View on GitHub

Rust License Discord Twitter

UnifyAir Core

โšก High-performance, 3GPP standards-compliant 5G Core Network Functions implementation in Rust

๐Ÿ“‘ Table of Contents

๐ŸŽฏ Project Overview

UnifyAir Core implements the following Network Functions (NFs):

โœจ Implemented Network Functions

  • ๐Ÿ›ก๏ธ Omnipath (AMF - Access and Mobility Management Function)
    • Handles mobility management
    • User authentication and authorization
    • Access control and security procedures
    • UE registration and connection management

๐Ÿš€ Planned Nf Support

  • ๐ŸŒŠ DataWarp (UPF - User Plane Function)

    • Packet routing and forwarding
    • QoS handling for user plane traffic
    • Traffic measurement and reporting
    • Packet inspection and policy enforcement
  • ๐Ÿ”„ InfiniSync (SMF - Session Management Function)

    • Session establishment, modification, and release
    • IP address allocation and management
    • Traffic steering control
    • QoS policy implementation

๐Ÿ’ซ Project Scope

Current Features

  • โšก Async-first architecture using Tokio runtime
  • ๐Ÿš€ High-performance network packet processing
  • ๐Ÿ“‹ Standards-compliant 5G NF implementations
  • ๐Ÿงฉ Modular design for easy extension and modification
  • ๐Ÿ“Š Comprehensive logging and monitoring
  • ๐Ÿ”Œ REST APIs for configuration and management

Planned Features

  • ๐Ÿ”’ Enhanced security features and encryption
  • ๐Ÿ”„ Additional Network Function implementations
  • โšก Performance optimization and scaling improvements
  • ๐Ÿ“ˆ Extended monitoring and analytics
  • โ˜๏ธ Cloud-native deployment support

๐Ÿ—๏ธ Project Structure

unifyair-core/
โ”œโ”€โ”€ lightning-nf/           # Network Functions implementations
โ”‚   โ””โ”€โ”€ omnipath/           # AMF (Access and Mobility Management Function)
โ”œโ”€โ”€ lightning-cli/          # Command-line interface tools
โ”œโ”€โ”€ utils/                  # Shared utilities and common code
โ”œโ”€โ”€ config/                 # Configuration files
โ”‚   โ”œโ”€โ”€ amfcfg.yaml         # AMF configuration
โ”‚   โ”œโ”€โ”€ smfcfg.yaml         # SMF configuration
โ”‚   โ””โ”€โ”€ upfcfg.yaml         # UPF configuration
โ”œโ”€โ”€ Cargo.toml              # Rust package manifest
โ”œโ”€โ”€ rust-toolchain.toml     # Rust toolchain configuration
โ””โ”€โ”€ run.sh                  # Utility script for running the project

๐Ÿš€ Getting Started

Prerequisites

  • Rust 1.82 or above nightly
  • Cargo package manager

Local Development Setup

  1. Clone the repository:

    git clone https://github.com/unifyair/unifyair-core.git
    cd unifyair-core
    
  2. Install dependencies:

    cargo build
    
  3. For detailed setup instructions, refer to SETUP.md

โš™๏ธ Configuration

Configuration is managed through:

  • Environment variables
  • Configuration files in config/
  • Command line arguments

๐Ÿงช Testing

Run the test suite:

cargo test

๐Ÿค Contributing

We welcome contributions! Please see our CONTRIBUTING.md for guidelines.

Development Process

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to your fork
  5. Submit a Pull Request

๐ŸŒ Community