NCI

Native Code Identifier

Other →
Introduced in Rel-8

NCI is a unique identifier for a specific piece of native code or software component within a network node, used for software management, version control, and fault reporting in 3GPP systems.

Category
Other
Introduced
Rel-8
Where
Core Network › Legacy Core
Specifications
4 specs
NCI Description Purpose Related Classification Detected Changes Specifications

Description

The Native Code Identifier (NCI) is a concept defined in 3GPP specifications, primarily within the management and operation domain (e.g., TS 32.260). It serves as a unique label for a discrete module or component of native software code running within a network element. Unlike identifiers for physical resources like cells or subscribers, the NCI pertains to the software architecture of network nodes, such as base stations (gNB, eNB), core network functions (AMF, SMF), or management systems.

In terms of how it works, the NCI is typically assigned by the equipment vendor or software developer during the build and integration process. It is embedded within the software component itself and can be exposed to the network's Operation, Administration, and Maintenance (OAM) systems through management interfaces. When a network element reports its status, performance metrics, or fault alarms, it can include the NCI of the relevant software module involved. This allows network operators to pinpoint not just that a fault occurred, but which specific software component generated the fault or is experiencing issues.

The architecture involves the managed network element (the NE) and the managing system (the OAM system). The NE contains various software processes, libraries, or firmware modules, each potentially associated with an NCI. These identifiers are structured to be unique within the scope of that NE or possibly within a vendor's software suite. They are communicated via standardized management protocols like SNMP or based on 3GPP-defined information models in interfaces such as the Itf-N. The OAM system uses these NCIs to correlate events, track software versions across deployments, and manage software updates or patches targeted at specific components.

Its role in the network is supportive of robust software lifecycle management. In large, distributed telecom networks running complex software from multiple vendors, identifying which exact code module is responsible for a behavior is crucial for troubleshooting and maintenance. The NCI provides this granularity. It also facilitates software version control and compatibility checks. When a network element is upgraded, the OAM system can verify the NCIs and associated versions of all components to ensure consistency and avoid conflicts. Furthermore, in scenarios of virtualized network functions (VNFs), where software is decoupled from hardware, identifiers like the NCI become even more important for tracking component instances across cloud infrastructures.

Purpose & Motivation

The NCI was created to address the growing complexity of software within telecom network equipment. As networks evolved from relatively monolithic hardware-centric systems in 2G/3G to software-defined and virtualized systems in 4G and 5G, the need for fine-grained software management increased. Operators required tools to identify, version, and manage individual software components inside a node for efficient operation, maintenance, and troubleshooting.

The problem it solves is the ambiguity in fault reporting and software updates. Without a unique identifier for code modules, a fault alarm might only indicate a high-level failure in a network element, leaving engineers to manually diagnose which software process crashed or misbehaved. This slows down resolution. Similarly, when applying a software patch, without component-level identifiers, an update might be applied to an entire node image, potentially affecting unrelated stable components. The NCI allows for targeted management.

Its motivation stems from the industry's shift towards more software-driven networks and the associated requirements for automation in OAM. Standards like 3GPP TS 32.260 (Fault Management) and TS 32.274 (Performance Management) detail the information models needed for management interfaces. The inclusion of NCI provides a standardized field for vendors to report software-specific information, enabling multi-vendor interoperability in management systems. It helps operators manage hybrid networks containing equipment from different suppliers, each with its own internal software architecture, by providing a common reference point for software components.

Classification

Specific typesNCGI
Related approachesVNF

Release Timeline

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (1 CRs across 1 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Rel-15 1 change

In Release 15, the NR Cell Identity (NCI) and NR Cell Global Identity (NCGI) were newly defined for 5G New Radio (NR). The NCI was specified as a fixed-length 36-bit identifier, and the NCGI was defined as the concatenation of a PLMN Identifier and this NCI to ensure global uniqueness. The exact coding of the NCI within this structure was designated as the responsibility of each PLMN operator.

Explore further

Broader topics and technologies where NCI plays a role.

Defining Specifications

3GPP specifications that define or reference NCI, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 23.003 vj50 Numbering, addressing and identification in 3GPP Rel-19
TS 31.113 v1800 USAT Interpreter Byte Code Specification Rel-8
TS 32.260 vj10 IMS Charging Management Rel-19
TS 38.401 vj10 NG-RAN Architecture Specification Rel-19
Patrick Zandl

About the author: Patrick Zandl (b. 1974)

Telecommunications specialist, technology journalist (founder of the Mobil server), and developer who has been running since 2025 — the largest Czech-language resource on AI-assisted programming. Formerly Chief Wizard Architect at Prusa3D and head of development for Turris at CZ.NIC; currently a consultant and instructor on AI implementation in companies.