RAN Function Exposure is the architectural mechanism defined by O-RAN that abstracts vendor-specific radio resource management algorithms into standardized, discoverable services. Through the E2 interface, the Near-RT RIC queries the E2 Node to retrieve a list of supported RAN Functions, each identified by a unique ID and defined by a formal service model. This abstraction layer decouples the optimization logic in xApps from the proprietary implementation of the underlying hardware, enabling a multi-vendor ecosystem where a single xApp can control radio resources across different equipment suppliers.
Glossary
RAN Function Exposure

What is RAN Function Exposure?
RAN Function Exposure is the capability of the E2 interface to abstract and expose specific RAN control and data collection services to xApps via a standardized API, enabling vendor-agnostic optimization.
Each exposed RAN Function is described by an E2 Service Model (E2SM), a standardized ASN.1-based specification that defines the event triggers, actions, and reporting structures available. Common exposed functions include KPI monitoring, UE admission control, and bearer context management. By exposing only the granular control points necessary for optimization—rather than the entire internal logic of the gNB—the architecture preserves vendor intellectual property while granting the RAN Intelligent Controller the fine-grained telemetry and actuation points required for AI-driven closed-loop automation.
Core Characteristics of RAN Function Exposure
RAN Function Exposure is the mechanism by which the E2 interface abstracts vendor-specific radio network functions into standardized, discoverable services. This enables xApps to monitor and control the RAN without knowledge of proprietary hardware implementations.
E2 Service Model (E2SM)
The E2 Service Model defines the standardized contract between an xApp and a specific RAN function. Each E2SM specifies the RAN Function Definition, supported Event Triggers, Actions, and Insert Indications.
- E2SM-KPM: Key Performance Measurement collection and reporting
- E2SM-RC: RAN Control for UE and cell-level configuration
- E2SM-NI: Network Interface management and flow control
- E2SM-CCC: Coordination between multiple xApps for conflict resolution
RAN Function Definition
Each exposed RAN function publishes a RAN Function Definition that describes its capabilities in a machine-readable format. This definition includes the OID (Object Identifier) of the E2SM, supported event trigger styles, report styles, and insert styles.
- Enables plug-and-play interoperability between any vendor's O-CU/O-DU and any xApp
- The Near-RT RIC uses this definition to match xApp subscriptions with available RAN functions
- Eliminates the need for proprietary adapter layers per vendor
Event Trigger Mechanisms
RAN Function Exposure supports multiple event trigger styles that determine when the RAN sends data to subscribing xApps:
- Periodic Reporting: Configurable intervals (e.g., every 100ms) for continuous monitoring
- On-Demand Request: xApp explicitly requests a single measurement report
- Event-Triggered: RAN pushes data only when a defined threshold is crossed (e.g., PRB utilization > 80%)
- Insert Indication: RAN suspends a procedure and awaits policy guidance from the xApp before proceeding
Subscription-Based Data Access
xApps interact with RAN functions through a publish-subscribe model over the E2 interface. An xApp sends an RIC Subscription Request specifying the E2SM, event trigger definition, and action definition.
- The RAN node acknowledges with an RIC Subscription Response or rejects with a failure cause
- Multiple xApps can simultaneously subscribe to the same RAN function
- The RIC Indication message carries the actual measurement or event data from RAN to xApp
- Subscriptions persist until explicitly deleted or the E2 connection is reset
Control Actions and Policies
Beyond monitoring, RAN Function Exposure enables near-real-time control through standardized action definitions. xApps issue RIC Control Requests that map to specific RAN procedures:
- UE-Level Control: Modify per-UE radio bearer configuration, handover thresholds, or scheduling weights
- Cell-Level Control: Adjust cell individual offsets, transmission power, or antenna tilt
- Slice-Level Control: Reallocate resource block quotas between network slices
- The RAN executes the action and returns a RIC Control Acknowledge with success or failure status
Insert Indication for Policy Guidance
The Insert Indication mechanism allows the RAN to pause a procedure and query an xApp for a decision before continuing. This enables policy-driven control loops without replacing the RAN's native procedures.
- Example: Before admitting a new UE, the O-DU sends an Insert Indication to a QoE Optimization xApp
- The xApp evaluates current load and UE priority, then returns an Insert Indication Response with admission or rejection
- The RAN resumes its procedure using the xApp's guidance
- This preserves the RAN's protocol stack integrity while externalizing decision logic
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Essential questions about how the E2 interface abstracts and exposes RAN control and data collection services to xApps for vendor-agnostic optimization.
RAN Function Exposure is the capability of the E2 interface to abstract and expose specific RAN control and data collection services to xApps via a standardized, vendor-agnostic API. It defines what a RAN node can do and how an xApp can request those services, decoupling the optimization logic from the underlying hardware implementation. The mechanism relies on E2 Service Models (E2SMs), which are formal descriptions of exposed RAN functions—such as scheduling, beamforming, or KPI reporting—that both the RAN node and the Near-RT RIC understand. This exposure layer transforms proprietary base station capabilities into a set of discoverable, callable procedures, enabling a marketplace of third-party xApps to optimize any compliant RAN without custom integration.
Related Terms
Core architectural components and standardized interfaces that enable RAN Function Exposure to deliver vendor-agnostic optimization via the Near-RT RIC.
E2 Service Model (E2SM)
The standardized data schema that defines what a specific RAN function exposes over the E2 interface. Each E2SM specifies the control actions, event triggers, and report formats for a particular RAN feature.
- E2SM-KPM: Key Performance Measurement—exposes cell-level metrics like throughput, PRB utilization, and active UE count
- E2SM-RC: RAN Control—exposes fine-grained control over UE admission, bearer setup, and handover
- E2SM-NI: Network Information—exposes topology and neighbor relation data
Without a standardized E2SM, an xApp cannot interpret data from a different vendor's RAN.
RIC Subscription
The mechanism by which an xApp registers interest in specific RAN events and data streams. The xApp sends a RIC Subscription Request to the E2 Node, defining:
- Event Trigger Definition: What condition initiates reporting (e.g., UE throughput drops below 5 Mbps)
- Action Definition: What control action to take or report to generate
- Report Style: Periodic, event-triggered, or on-demand
This publish-subscribe model ensures xApps receive only relevant data, minimizing E2 interface overhead.
E2 Application Protocol (E2AP)
The foundational protocol that carries all E2 messages between the Near-RT RIC and E2 Nodes. E2AP defines four core procedure classes:
- RIC Subscription: Setup, modification, and deletion of event subscriptions
- RIC Indication: Asynchronous data reporting from E2 Node to RIC
- RIC Control: Commands from xApps to modify RAN behavior
- RIC Service Update: Dynamic capability exchange when RAN functions change
E2AP runs over SCTP/IP, providing reliable, ordered message delivery with built-in heartbeating for connection health monitoring.
RAN Function ID
A unique identifier that distinguishes individual RAN functions exposed by a single E2 Node. Each RAN Function ID maps to a specific E2SM and represents a discrete optimization domain.
- ID 1: Key Performance Monitoring (E2SM-KPM)
- ID 2: RAN Control (E2SM-RC)
- ID 3: Network Information (E2SM-NI)
During E2 setup, the E2 Node advertises its supported RAN Function IDs, enabling the RIC to discover available control and monitoring capabilities dynamically.
RIC Indication Message
The asynchronous report sent from an E2 Node to the Near-RT RIC when a subscribed event trigger fires. Each indication contains:
- RIC Requestor ID: Which xApp subscription triggered the report
- RAN Function ID: Which RAN function generated the data
- Action ID: Which specific action within the subscription
- Indication Data: The actual measurement or state payload
Indications are the primary data feed driving xApp decision loops, enabling near-real-time responses to changing radio conditions.

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us