srsRAN Project Logo
latest

General

  • Getting Started
  • Features and Roadmap
    • Current Features
    • Coming Soon
  • Contributions
    • FAQ
      • 1. What is a Copyright License Agreement (CLA) and why do I need one?
      • 2. How do I complete and submit the CLA?
      • 3. How will my contributions to the srsRAN Project be used?
      • 4. If I do not own the copyright in the entire work of authorship?
  • Reporting
    • Issues
    • Vulnerabilities
    • Support
  • Release Notes
    • 23.5
    • 23.3 (initial public release)

User Manual

  • Installation Guide
    • Build Tools and Dependencies
    • RF-drivers
    • Clone and Build
    • Packages
      • Ubuntu
      • Arch Linux
    • PHY testvectors
  • Running srsRAN Project
    • Baseline Requirements
    • System Preparation
    • Running the gNB
  • Console Reference
  • Outputs
    • Logs
    • PCAPs
      • MAC PCAPs
      • NGAP PCAPs
  • Configuration Reference
    • Format
    • Configuration Parameters
      • amf
      • e2
      • cu_cp
      • ru_sdr
      • ru_ofh
      • cell_cfg
      • log
      • pcap
      • expert_phy
      • buffer_pool
      • test_mode
      • expert
  • Troubleshooting
    • Performance Tuning
      • CPU Performance Mode
      • Performance Configuration Script
    • USRP Configuration
      • USRP Time Calibration

Developers Guide

  • srsRAN Project Software Architecture
    • High Level Architecture
  • CU
    • CU-CP
    • CU-UP
  • DU
    • DU-High
      • DU Manager
        • Overview
      • F1AP-DU
        • Overview
      • Radio Link Control (RLC)
        • RLC Transparent Mode(TM)
        • RLC Unacknowledged Mode(UM)
        • RLC Acknowledged Mode (AM)
      • MAC
        • Implementation
    • DU-Low
  • Interfaces
    • E1
    • E2
    • F1
    • FAPI
    • Open FrontHaul
      • Overview
      • Implementation
    • NG
    • O1
  • ASN 1 Packing & Unpacking
  • Code Style Guide
    • Language and libraries
      • C & C++ version
      • Use of the C++ standard library
    • Mechanical source aspects
      • Source Code Formatting
      • Comments
        • Comment Guidelines
        • File Headers
      • Header Guards
      • #include Style
      • Language and compiler aspects
        • Treat compiler warnings as errors
        • Code Portability
        • Avoid RTTI and Exceptions
        • Use of auto
    • Style Aspects: High Level Issues
      • Self-contained Headers
      • Using #include Sparingly
      • Using “Internal” Headers
      • Use of namespace
      • Using “early exits” and continue
      • Avoid else after a return statement
      • Use of Static Helper Functions
    • Style Aspects: Low Level Issues
      • Naming Conventions
      • Assert and expect
      • Do not use using namespace std
      • Using Range for Loops
      • Loop Structure
      • Using Pre-increment
      • Use of Anonymous Namespaces
      • Using C++ Casts
    • Recommendations
      • Function and Class Length
      • Scope
      • Logical Operators
      • Using References(&) Over Pointers(*)
      • Const Correctness
      • Avoid Complex Expressions
      • Magic numbers
      • Fixed Width Integer Types
      • Function signatures
      • Class Layout Example
    • Self Generating Documentation
      • General Aspects
      • Files
      • Classes and Structures
      • Class Methods and Free Functions
      • Class Data Members, Objects, Variables
    • Commit Formatting

Knowledge Base

  • O-RAN gNB Overview
    • Introduction
    • Split 7.2x Architecture
    • srsRAN Project gNB
    • Further Reading
  • O-RAN gNB Components
    • Centralized Unit (CU)
    • Distributed Unit (DU)
      • DU-high
      • DU-low
  • gNB Interfaces
    • E1
    • E2
    • F1
      • F1-C
      • F1-U
    • FAPI
    • NG
      • NG-C
      • NG-U
    • O1
    • Open FrontHaul
  • COTS UEs
    • Tested COTS UEs
    • User reported working UEs
    • UE Capability Messages
    • References

Tutorials

  • srsRAN gNB with srsUE
    • Introduction
    • Hardware and Software Overview
      • srsRAN 4G
        • Limitations
      • Open5GS
      • ZeroMQ
    • Over-the-air Setup
      • Configuration
        • Open5GS Core
        • gNB
        • srsUE
      • Running the Network
        • Open5GS Core
        • gNB
        • srsUE
      • Testing the Network
        • Ping
        • iPerf3
    • ZeroMQ-based Setup
      • Configuration
        • gNB
        • srsUE
      • Running the Network
      • Testing the Network
        • Ping
        • iPerf3
    • Troubleshooting
      • Reference clock
      • 5G QoS Identifier
    • Limitations
      • srsUE
  • srsRAN gNB with COTS UEs
    • Overview
    • Setup Considerations
      • Open5GS
      • COTS UE
      • External Clock
    • Configuration
      • gNB
      • ISIM
        • SIM Programming
        • SUCI Configuration
      • Open5GS
        • amf.yml
        • upf.yml
        • User Database
      • COTS UE
        • Enable ISIM, 5G and data roaming
        • Configure APN
        • Force NR
    • Connecting the COTS UE
      • Setting-up the Network
        • Check that the Core is running correctly
        • Run the gNB
      • Connecting to the Network
    • Traffic and Testing
      • Speed Test
      • Video Test
    • Troubleshooting
      • Network Not Visible
      • Unable to Attach
      • No Internet Access
      • UE Disconnects after a few Minutes
    • Tested Devices
  • srsRAN gNB with Amarisoft UE
    • Introduction
    • Hardware and Software Overview
      • Amarisoft UE
      • Open5GS
    • Installation
      • ZeroMQ
      • srsRAN Project gNB
      • Amarisoft UE
      • ZeroMQ driver for Amarisoft UE
    • ZeroMQ-based Setup
      • Configuration
        • srsRAN Project gNB
        • Amarisoft UE
        • Open5GS 5G Core
      • Running the 5G Network
        • Open5gs 5G Core
        • srsRAN Project gNB
        • Amarisoft UE
      • Testing the Network
        • Ping
        • iPerf
        • iPerf Output
        • gNB Console Output
        • Packet Capture
      • Configuring Amarisoft for multiple UEs
    • Over-the-air Setup
      • Configuration
        • srsRAN Project gNB
        • Amarisoft UE
      • Running the 5G Network
        • Open5gs 5G Core
        • srsRAN Project gNB
        • Amarisoft UE
      • Testing the Network
        • Ping
        • iPerf
        • iPerf Output
        • gNB Console Output
        • Packet Capture
    • Troubleshooting
      • ZMQ setup
      • Reference clock for over-the-air
      • 5G QoS Identifier
  • ORAN 7.2 RU Guide
    • Overview
    • Setup Considerations
      • CU/DU
      • RU
      • 5G Core
      • Switch
        • Clocking & Synchronization
    • Configuration
      • CU/DU
        • NIC configuration
        • PTP configuration
        • srsRAN configuration
      • Falcon-RX Switch
        • SyncCenter
        • PTP Clocks
        • VLAN
      • RU
      • Core
    • Initializing the Network
      • RU
      • CU/DU
    • Connecting to the Network
      • AmariUE
        • Connecting to the Network
        • Sending Traffic
      • COTS UE
        • Sending Traffic
    • Supported O-RUs
  • O-RAN NearRT-RIC and xApp
    • Introduction
    • Setup Overview
    • Hardware and Software Overview
      • Limitations
    • Installation
      • FlexRIC
      • Open5GS
      • ZeroMQ
      • srsRAN Project
      • srsUE
    • Configuration
      • gNB
    • Running the Network
      • Open5GS Core
      • NearRT-RIC
      • gNB
      • srsUE
      • IP Traffic with ping
      • xApp
    • E2AP packet analyzer
      • PCAP file
      • Live capture

Links

  • Website
  • Source code
  • Report an issue
  • Discussions Board
  • Twitter
srsRAN Project
  • »
  • Developer Guide
  • Edit on GitHub

Developer Guide¶

  • srsRAN Project Software Architecture
    • High Level Architecture
  • Code Style Guide
    • Language and libraries
    • Mechanical source aspects
    • Style Aspects: High Level Issues
    • Style Aspects: Low Level Issues
    • Recommendations
    • Self Generating Documentation
    • Commit Formatting
  • CU
    • CU-CP
    • CU-UP
  • DU
    • DU-High
    • DU-Low
  • Interfaces
    • E1
    • E2
    • F1
    • FAPI
    • Open FrontHaul
    • NG
    • O1
  • ASN 1 Packing & Unpacking
  • CI/CD Framework

© Copyright 2023-2023, Software Radio Systems.. Revision 93fabc69.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
release_23_5
Downloads
pdf
On Read the Docs
Project Home
Builds