๐ UnifyAir Core - 5G Network Functions
April 21, 2025 ยท View on GitHub

โก High-performance, 3GPP standards-compliant 5G Core Network Functions implementation in Rust
๐ Table of Contents
- ๐ฏ Project Overview
- ๐ซ Project Scope
- ๐๏ธ Project Structure
- ๐ Getting Started
- โ๏ธ Configuration
- ๐งช Testing
- ๐ค Contributing
- ๐ Community
๐ฏ 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
-
Clone the repository:
git clone https://github.com/unifyair/unifyair-core.git cd unifyair-core -
Install dependencies:
cargo build -
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
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your fork
- Submit a Pull Request
๐ Community
- ๐ Project Website
- ๐ Issue Tracker
- ๐ฌ Discord Community
- ๐ฆ Twitter