NGAP Procedures Comparison (Class 1 EPs)

Author: Published:

Note: This comparison reflects the projects as of April 17, 2025. New features or procedures may not be included.

Introduction

The NG Application Protocol (NGAP) defines the signaling procedures exchanged over the N2 interface between the gNB (RAN) and the AMF in a 5G Standalone (SA) network. NGAP procedures are grouped into Class 1 (request/response, with an explicit success or failure outcome) and Class 2 (no response expected) Elementary Procedures (EPs).

This document tracks which Class 1 NGAP procedures are implemented across four widely used open-source 5G Core / RAN-facing projects:

  • Free5GC/SDCore

  • OAI (OpenAirInterface)

  • Open5GS

  • Magma

The comparison is based on the presence of each NGAP message (request, response/acknowledge, and failure variants) in the respective codebases. A — indicates the message was not evaluated / no data is available for that project.

1. Summary

Platform

Class 1 Messages Implemented (of 82 tracked)

Free5GC/SDCore

44

OAI

20

Open5GS

32

Magma

16

Free5GC/SDCore has the broadest Class 1 NGAP coverage among the four projects, including full support for AMF/RAN configuration update, handover, and PWS-related procedures. OAI and Open5GS focus primarily on core mobility procedures (handover, initial context setup, PDU session management), while Magma implements only the baseline procedures required for NG setup, initial context setup, and PDU session resource management — it does not implement handover, configuration update, or broadcast/multicast (MBS) related procedures.

None of the four projects currently implement the newer Release 17/18 procedures: UE Context Suspend/Resume, UE Radio Capability ID Mapping, Broadcast/Distribution Session Setup/Modification/Release, Multicast Session Activation/Deactivation/Update, Timing Synchronisation Status, MT Communication Handling, or Broadcast Session Transport.

2. Procedure-by-Procedure Comparison

AMF Configuration Update

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

AMF CONFIGURATION UPDATE

YES

NO

—

NO

AMF CONFIGURATION UPDATE ACKNOWLEDGE

YES

NO

—

NO

AMF CONFIGURATION UPDATE FAILURE

YES

NO

—

NO

RAN Configuration Update

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

RAN CONFIGURATION UPDATE

YES

NO

YES

NO

RAN CONFIGURATION UPDATE ACKNOWLEDGE

YES

NO

YES

NO

RAN CONFIGURATION UPDATE FAILURE

YES

NO

YES

NO

Handover Cancellation

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

HANDOVER CANCEL

YES

NO

YES

NO

HANDOVER CANCEL ACKNOWLEDGE

YES

NO

YES

NO

Handover Preparation

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

HANDOVER REQUIRED

YES

YES

YES

NO

HANDOVER COMMAND

YES

YES

YES

NO

HANDOVER PREPARATION FAILURE

YES

YES

YES

NO

Handover Resource Allocation

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

HANDOVER REQUEST

YES

YES

YES

NO

HANDOVER REQUEST ACKNOWLEDGE

YES

YES

YES

NO

HANDOVER FAILURE

YES

NO

YES

NO

Initial Context Setup

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

INITIAL CONTEXT SETUP REQUEST

YES

YES

YES

YES

INITIAL CONTEXT SETUP RESPONSE

YES

YES

YES

YES

INITIAL CONTEXT SETUP FAILURE

YES

NO

YES

YES

NG Reset

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

NG RESET

YES

YES

YES

YES

NG RESET ACKNOWLEDGE

YES

YES

YES

YES

NG Setup

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

NG SETUP REQUEST

YES

YES

YES

YES

NG SETUP RESPONSE

YES

YES

YES

YES

NG SETUP FAILURE

YES

YES

YES

YES

Path Switch Request

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

PATH SWITCH REQUEST

YES

NO

YES

NO

PATH SWITCH REQUEST ACKNOWLEDGE

YES

NO

YES

NO

PATH SWITCH REQUEST FAILURE

YES

NO

—

NO

PDU Session Resource Modify

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

PDU SESSION RESOURCE MODIFY REQUEST

YES

YES

YES

YES

PDU SESSION RESOURCE MODIFY RESPONSE

YES

YES

YES

YES

PDU Session Resource Modify Indication

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

PDU SESSION RESOURCE MODIFY INDICATION

YES

NO

—

NO

PDU SESSION RESOURCE MODIFY CONFIRM

YES

NO

—

NO

PDU Session Resource Release

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

PDU SESSION RESOURCE RELEASE COMMAND

YES

YES

YES

YES

PDU SESSION RESOURCE RELEASE RESPONSE

YES

YES

YES

YES

PDU Session Resource Setup

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

PDU SESSION RESOURCE SETUP REQUEST

YES

YES

YES

YES

PDU SESSION RESOURCE SETUP RESPONSE

YES

YES

YES

YES

UE Context Modification

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

UE CONTEXT MODIFICATION REQUEST

YES

NO

YES

NO

UE CONTEXT MODIFICATION RESPONSE

YES

NO

YES

NO

UE CONTEXT MODIFICATION FAILURE

YES

NO

YES

NO

UE Context Release

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

UE CONTEXT RELEASE COMMAND

YES

YES

YES

YES

UE CONTEXT RELEASE COMPLETE

YES

YES

YES

YES

Write-Replace Warning

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

WRITE-REPLACE WARNING REQUEST

YES

NO

—

NO

WRITE-REPLACE WARNING RESPONSE

YES

NO

—

NO

PWS Cancel

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

PWS CANCEL REQUEST

YES

NO

—

NO

PWS CANCEL RESPONSE

YES

NO

—

NO

UE Radio Capability Check

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

UE RADIO CAPABILITY CHECK REQUEST

YES

NO

—

NO

UE RADIO CAPABILITY CHECK RESPONSE

YES

NO

—

NO

UE Context Suspend

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

UE CONTEXT SUSPEND REQUEST

NO

—

—

NO

UE CONTEXT SUSPEND RESPONSE

NO

—

—

NO

UE CONTEXT SUSPEND FAILURE

NO

—

—

NO

UE Context Resume

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

UE CONTEXT RESUME REQUEST

NO

—

—

NO

UE CONTEXT RESUME RESPONSE

NO

—

—

NO

UE CONTEXT RESUME FAILURE

NO

—

—

NO

UE Radio Capability ID Mapping

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

UE RADIO CAPABILITY ID MAPPING REQUEST

NO

—

—

NO

UE RADIO CAPABILITY ID MAPPING RESPONSE

NO

—

—

NO

Broadcast Session Setup

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

BROADCAST SESSION SETUP REQUEST

NO

—

—

NO

BROADCAST SESSION SETUP RESPONSE

NO

—

—

NO

BROADCAST SESSION SETUP FAILURE

NO

—

—

NO

Broadcast Session Modification

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

BROADCAST SESSION MODIFICATION REQUEST

NO

—

—

NO

BROADCAST SESSION MODIFICATION RESPONSE

NO

—

—

NO

BROADCAST SESSION MODIFICATION FAILURE

NO

—

—

NO

Broadcast Session Release

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

BROADCAST SESSION RELEASE REQUEST

NO

—

—

NO

BROADCAST SESSION RELEASE RESPONSE

NO

—

—

NO

Distribution Setup

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

DISTRIBUTION SETUP REQUEST

NO

—

—

NO

DISTRIBUTION SETUP RESPONSE

NO

—

—

NO

DISTRIBUTION SETUP FAILURE

NO

—

—

NO

Distribution Release

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

DISTRIBUTION RELEASE REQUEST

NO

—

—

NO

DISTRIBUTION RELEASE RESPONSE

NO

—

—

NO

Multicast Session Activation

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

MULTICAST SESSION ACTIVATION REQUEST

NO

—

—

NO

MULTICAST SESSION ACTIVATION RESPONSE

NO

—

—

NO

MULTICAST SESSION ACTIVATION FAILURE

NO

—

—

NO

Multicast Session Deactivation

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

MULTICAST SESSION DEACTIVATION REQUEST

NO

—

—

NO

MULTICAST SESSION DEACTIVATION RESPONSE

NO

—

—

NO

Multicast Session Update

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

MULTICAST SESSION UPDATE REQUEST

NO

—

—

NO

MULTICAST SESSION UPDATE RESPONSE

NO

—

—

NO

MULTICAST SESSION UPDATE FAILURE

NO

—

—

NO

Timing Synchronisation Status

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

TIMING SYNCHRONISATION STATUS REQUEST

NO

—

—

NO

TIMING SYNCHRONISATION STATUS RESPONSE

NO

—

—

NO

TIMING SYNCHRONISATION STATUS FAILURE

NO

—

—

NO

MT Communication Handling

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

MT COMMUNICATION HANDLING REQUEST

NO

—

—

NO

MT COMMUNICATION HANDLING RESPONSE

NO

—

—

NO

MT COMMUNICATION HANDLING FAILURE

NO

—

—

NO

Broadcast Session Transport

Procedure (NGAP Message)

Free5GC/SDCore

OAI

Open5GS

Magma

BROADCAST SESSION TRANSPORT REQUEST

NO

—

—

NO

BROADCAST SESSION TRANSPORT RESPONSE

NO

—

—

NO

BROADCAST SESSION TRANSPORT FAILURE

NO

—

—

NO

3. Legend

  • YES — the procedure is implemented in the project’s codebase.

  • NO — the procedure is not implemented.

  • — — not evaluated / no data available for that project and procedure.