Skip to main content

OmniNGAP

OmniNGAP is the NGAP protocol codec for the Omnitouch 5G Core. NGAP (NG Application Protocol, 3GPP TS 38.413) is the application-layer signalling protocol carried over the N2 interface between a 5G NR base station (gNB) and the Access and Mobility Management Function (AMF). OmniNGAP compiles the complete NGAP ASN.1 syntax from TS 38.413 and provides encode and decode of NGAP Protocol Data Units (PDUs) using Aligned Packet Encoding Rules (APER), the wire format mandated by the specification.

OmniNGAP is a library, not a network function. It has no service endpoints, no NRF registration, no runtime configuration file, and no telemetry of its own. It is consumed as a build dependency by the AMF (to encode and decode every N2 message it exchanges with a gNB) and, indirectly, by the SMF (which builds the N2 SM information containers the AMF embeds inside NGAP messages). In short: OmniNGAP is the NGAP codec the AMF uses to speak N2 to the gNB.

Documentation

  • Operations - 3GPP references, supported NGAP procedures, message flows, and the NGAP Cause reference.
  • Troubleshooting - codec behaviour on malformed input.

Architecture Overview

The AMF terminates the SCTP association (N2 transport). Inbound SCTP payloads are handed to OmniNGAP for decoding into structured PDUs; outbound PDUs are encoded by OmniNGAP back into APER binaries for transmission. The SMF contributes the per-session SM information container, which the codec treats as a nested transfer structure inside the relevant PDU Session Resource message.

Features Overview

  • Full TS 38.413 Rel-17 (h-series) NGAP elementary-procedure set compiled from ASN.1 - any well-formed PDU can be decoded, any structurally valid term encoded.
  • APER (Aligned PER) encoding, as mandated by TS 38.413.
  • Encode and decode of all five NGAP Cause groups (radioNetwork, transport, nas, protocol, misc) and their enumerated values.
  • Transparent carriage of the N2 SM information containers produced by the SMF as nested transfer structures.
  • Malformed or truncated PDUs return a tagged error rather than crashing the consuming NF.

Usage Overview

OmniNGAP has no runtime surface - it is linked as a build dependency and invoked at the N2 edge of the AMF:

  • Inbound: SCTP payloads received on the N2 association are decoded into a structured NGAP PDU (an initiatingMessage, successfulOutcome, or unsuccessfulOutcome variant) or a tagged error.
  • Outbound: The AMF builds the PDU term for the procedure it is running, then encodes it into the aligned-PER encoding (returned as iodata) written to the SCTP association.

The AMF owns all procedure semantics - IE population, optionality, and criticality handling. OmniNGAP only guarantees that a structurally valid term encodes to a spec-conformant binary and that a spec-conformant binary decodes to the corresponding term. See Operations for the supported procedures and message flows.