@NTUST
# E2GAP (E2 General Aspects and Principles) v02.01
###### tags:`ORAN SPEC - WG3:Near-RT RIC`
:::info
**Introduction:**
- In the SPEC "E2GAP", it introduces what/where is E2 Interface , the E2 Service Model and some of RIC Services & E2AP Presedures in general.
**Goal:**
- [x] [Introduction of E2 Interface](#12-What-is-E2-Interface-)
- [x] [RIC service realization and relationship with E2AP procedures](#21-RIC-service-realization-and-relationship-with-E2AP-procedures)
- [x] [RIC service](#22-RIC-service:REPORT)
- [x] [Near-RT RIC support functions](#5-Near-RT-RIC-support-functions)
**Main Reference:**
- [O-RAN.WG3.E2GAP-v02.01](https://orandownloadsweb.azurewebsites.net/specifications)
- [Note of E2GAP-v01.00 by Nick-Bowei](https://hackmd.io/@Nick-Bowei/B1k9mYK1v)
:::
[toc]
## 1. System Architecture

### 1.1 What is Near-RT RIC ?
::: info
**Definitions:** A logical function that enables near-real-time control and **optimization of RAN elements and resources** via fine-grained (e.g. UE basis, Cell basis) data collection and actions over E2 interface..
:::
- A Near-RT RIC is connected to **only one Non-RT RIC**
- A Near-RT RIC can be connected to **multiple E2 Nodes**, i.e. multiple O-CU-CPs, O-CU-UPs, O-DUs and O-eNBs.
- The Near-RT RIC may receive **declarative Policies** and obtain Data **Enrichment information** over the A1 interface.
- The A1 interface is used to provide Policies to the Near-RT RIC which may be used to modify Near-RT RIC and Near-RT RIC hosted xApp behavior and **hence modify E2 Node behavior**.
- The Near-RT RIC hosts one or more xApps that use E2 interface to **collect near real-time information** (e.g. UE basis, Cell basis) and **provide value added services**.
**The Near-RT RIC supports the functions about E2:**
- E2 (interface) Termination:
- Terminates the E2 interface from an E2 Node
- **Routes** xApp-related messages to **the target xApp**
- **Routes** non xApp-related messages to **the E2 Manager**
- Hosted xApps:
- Allow RRM control functionalities to be executed at the Near-RT RIC and enforced in the E2 Nodes via E2 interface transactions over E2 interface
- Handles xApp-related responses from the E2 interface
### 1.2 What is E2 Interface ?
::: info
**Definitions:** E2 Interface connecting the **Near-RT RIC and E2 nodes** (one or more O-CU-CPs, one or more O-CU-UPs, one or more O-DUs, and one or more O-eNBs).
:::
- E2 is a **point-to-point interface** between the endpoints.
- E2 Interface supports the **exchange of control signaling information** between the endpoints.
- E2 Interface should provide the capability to **send predefined information** towards the Near-RT RIC based on a **preconfigured trigger event**.
- E2 should support the ability to **provide UE ID information** towards the Near-RT RIC based on a pre-configured trigger event.
- E2 should enable the Near-RT-RIC to direct the E2 Node to **suspend an RRM procedure** by **interrupting the E2 Node local process** and forwarding the relevant information to the Near-RT RIC for processing.
- E2 should support the ability to **send control messages** (e.g. UE basis, Cell basis) to the E2 Node.
- E2 should support the ability to provide the E2 Node with **a set of policies to use when defined events occur**.
- E2 should support the ability for E2 Node to **notify the Near-RT RIC of what functionality it supports**.
**Objective of E2 Interface:**
- E2 interface shall facilitate the **connectivity between Near-RT RIC and E2 Node supplied by different vendors**.
- E2 interface shall facilitate **exposure of selected E2 Node data** (e.g. configuration information (cell configuration, supported slices, PLMNs, etc.), network measurements, context information, etc.) towards the Near-RT RIC
- E2 interface enables the Near-RT RIC to **control selected functions on the E2 Node**.
### 1.3 What is E2 Node ?
::: info
**Definitions:**
- **A logical node terminating E2 interface**. In this version of the specification, ORAN nodes terminating E2 interface are:
- For NR access:O-CU-CP, O-CU-UP, O-DU or any combination
- For E-UTRA access: O-eNB
:::
- An E2 Node is connected to **only one Near-RT RIC**.
- The E2 Nodes **support all protocol layers and interfaces defined within 3GPP** radio access networks that include eNB for E-UTRAN and gNB/ ng-eNB for NG-RAN.
- The E2 node shall be able to function **independently of the Near-RT RIC** when and if the E2 interface and/or Near-RT RIC fails.
**Example 1:Disaggregated Network Functions**

**Example 2:Aggregated O-CU-CP and O-CU-UP**

**Example 3:Aggregated O-CU-CP, O-CU-UP and O-DU (All-in-one)**

### 1.4 Relationship between Near-RT RIC and E2 Node (1)
- The Near-RT RIC shall use a **dedicated E2 connection** that **uniquely identifies each E2 Node** configured to directly provide RIC Services to the Near-RT RIC.
- The Near-RT RIC shall **obtain from the E2 Nodes** a list of **functions supporting RIC Services** and the **corresponding E2 Service Model**.
- Individual xApp in Near-RT RIC may **address specific RAN Functions** in a specific E2 Node.
**E2 Service Model:**
- Near-RT RIC and xApp shall use a set of services exposed by an E2 Node that is **described by a series of RAN function** and **Radio Access Technology** (RAT) dependent **E2 Service Models**.
:::info
**Definitions:**
- RAN Function is a **specific Function in a E2 Node**; examples include:
- Termination of network interfaces (i.e. X2, F1, S1, Xn, NGc)
- RAN internal functions handling UEs, Cells, etc.
:::
- The E2 service model describes the **functions in the E2 Node which may be controlled by the Near RT RIC** and the **related procedures**, thus defining a function-specific RRM split between the E2 node and the Near RT RIC.
### 1.5 Relationship between Near-RT RIC and E2 Node (2)
- With respect to the E2 interface, the E2 Node consists of:
- E2 Agent used to **terminate the E2 interface** and to **forward/receive E2 messages**.
- One or more **RAN functions that are controlled by the Near-RT RIC**, i.e. supporting Near-RT RIC Services.
- Other RAN functions that do not support Near-RT RIC Services.
- With respect to the E2 interface, the Near-RT RIC consists of:
- Database holding data from xApp applications and E2 Node and providing data to xApp applications
- E2 Termination function
- One or more xApp applications

### 1.6 Functions of the E2 Interface
The E2 functions are grouped into the following categories:
1. Near-RT RIC Services:
- REPORT
- INSERT
- CONTROL
- POLICY
2. NEAR-RT RIC support functions
- Interface Management:
- E2 Setup
- E2 Reset
- E2 Node Configuration Update
- E2 Removal
- Reporting of General Error Situations
- Near-RT RIC Service Update:
- A E2 Node initiated procedure to inform Near-RT RIC of changes to list of supported Near-RT RIC services and mapping of services to functions.
## 2. RIC service and related procedures
:::info
**Definitions:**
- RIC Service is a **service provided on an E2 Node** to provide **access to messages** and **measurements** and / or enable **control** of the E2 Node from the Near-RT RIC.
:::
Near-RT RIC may use the following **RIC services provided by an E2 node**:
1. REPORT:Near-RT RIC uses a **RIC Subscription** to request that E2 Node sends a REPORT message to Near-RT RIC and the **associated procedure continues** in the E2 Node after each occurrence of a defined **RIC Subscription procedure Event Trigger**.
2. INSERT:Near-RT RIC uses a **RIC Subscription** to request that E2 Node sends an INSERT message to Near-RT RIC and **suspends the associated procedure** in the E2 Node after each occurrence of a defined **RIC Subscription procedure Event Trigger**.
3. CONTROL:Near-RT RIC sends a **CONTROL message** to E2 Node to **initiate a new associated procedure** or **resume a previously suspended associated procedure** in the E2 Node.
4. POLICY:Near-RT RIC uses a **RIC Subscription** to request that E2 Node **executes a specific POLICY** during functioning of the E2 Node after each occurrence of a defined **RIC Subscription procedure Event Trigger**.
### 2.1 RIC service realization and relationship with E2AP procedures
The RIC Services may be realized using the following E2AP procedures:
1. E2AP RIC Subscription procedure :
- Near-RT RIC initiated
- Used to **install Event Trigger and Actions** corresponding to RIC services REPORT, INSERT and/or POLICY
2. E2AP RIC Subscription Delete procedure:
- Near-RT RIC initiated
- Used to **delete previously installed RIC Subscription**
3. E2AP RIC Subscription Delete Required procedure:
- E2 Node initiated
- Used to **indicate that one or more previously installed RIC Subscriptions are required to be deleted**
4. E2AP RIC Indication procedure:
- E2 Node initiated
- Used to **carry outcome** of RIC services REPORT and INSERT
5. E2AP RIC Control procedure (Near-RT RIC initiated):
- Near-RT RIC initiated
- Used to **initiate** RIC service CONTROL

### 2.2 Procedures about RIC Subscription
- The RIC Subscription, RIC Subscription Delete, and RIC Subscription Delete Required procedures **are used to establish or delete RIC subscriptions** on the E2 Node.
**RIC Subscription & RIC Subscription Delete procedures:**

**RIC Subscription Delete Required & RIC Subscription Delete procedures:**
- The E2 Node may initiate a RIC subscription Delete Required procedure to request removal of one or more existing RIC Subscriptions.

### 2.2 RIC service:REPORT
:::success
**Step 1:** Near-RT RIC **configures a RIC Subscription** in the E2 Node with information for Indication (Report) that is to be **sent by the E2 Node** with each occurrence of RIC trigger event condition.
**Step 2:** During normal functioning of an associated procedure in the E2 Node, a **RIC Event Trigger is detected**.
**Step 3:** E2 Node sends RIC INDICATION message to Near-RT RIC **containing the requested REPORT information along with the originating Request ID**.
:::

### 2.3 RIC service:INSERT
:::success
**Step 1:** Near-RT RIC **configures a RIC Subscription** in the E2 Node with information for an INSERT action, along with an **associated Subsequent Action Information (Subsequent Action type, Time to Wait timer)**, that is to be performed by E2 Node with each occurrence of Event.
**Step 2:** During normal functioning of an associated procedure instance in the E2 Node, **a trigger event is detected**.
**Step 3:** E2 Node **suspends associated procedure** instance for up to a defined Time to Wait period.
**Step 4:** E2 Node sends RIC INDICATION message to Near-RT RIC containing the requested INSERT information along with the originating **Request ID and information** to **identify the suspended associated procedure instance**.
**Step 5:** According to **the Time to Wait timer state**, arrival of RIC CONTROL procedure, and Subsequent Action parameter in the RIC Subscription, the E2 Node may then
- Step 5(a)RIC CONTROL REQUEST message arrives in time
- Step 5(b):The associated Time to Wait timer expires and Subsequent Action Type set to Continue
- Step 5(c):The associated Time to Wait timer expires and Subsequent Action Type set to Halt
:::

### 2.4 RIC service:CONTROL
- Near-RT RIC detects an event trigger. This step may be triggered by either:
- a previous RIC INDICATION message sent by E2 Node
- internal to Near-RT RIC
:::success
**Step 1:** Near-RT RIC performs an action.
**Step 2:**
- Near-RT RIC sends a RIC CONTROL REQUEST message to E2 Node. This message may contain information to identify the previously suspended procedure instance, and may request acknowledgement from the E2 Node.
- The Near-RT RIC shall **set the timer TRICcontrol** if either acknowledgement has been requested or the optional acknowledgement request was not present in the RIC CONTROL REQUEST message.
**Step 3:** The request is validated. The E2 Node cancels the associated Time to Wait timer if previously set, and initiates or resumes the associated procedure.
**Step 4:** E2 Node then
- If the requested control service is **successfully executed**, and if acknowledgement was requested or if the optional RIC Control Ack Request was not present, the **E2 Node sends the RIC CONTROL ACKNOWLEDGE message** with the optional RIC Control Outcome providing information about the result of the request Control service.
- If the requested control service fails to execute or the request is not validated, the E2 Node **sends the RIC CONTROL FAILURE message with a cause indicating the reason for failure or rejection** and the optional RIC Control outcome providing information about the reason for failure to execute.
**Step 5:** If previously set, the Near-RT RIC shall cancel the TRICcontrol timer
:::
**As response to Near-RT RIC Insert Service:**

**Initiated by NEAR-RT RIC:**

### 2.5 RIC service:POLICY
:::success
**Step 1:** Near-RT RIC configures a RIC Subscription in the E2 Node with information used to configure a POLICY that is to be performed by E2 Node with each occurrence of trigger event.
**Step 2:** During normal functioning of the E2 Node, a trigger event is detected.
**Step 3:** E2 Node **modifies ongoing call process** according to information contained in the POLICY description statement.
**Step 4:** Associated procedure instance continues in the E2 Node.
Note that if previously configured with a dedicated RIC Subscription, the E2 Node may send a REPORT used to provide information on the associated procedure outcome.
:::

## 3. Combining RIC services
### 3.1 Combining RIC services within a common Subscription
- RIC services may be **combined within a common Subscription** with each RIC Service implemented a part of a sequence of Actions.
- Where appropriate in these cases, successive REPORT or INSERT messages sent to Near-RT RIC would indicate a **common Subscription Request identifier**, a **common sequence number** and **a unique Action identifier**.
**1. POLICY then REPORT:**
- In this case, at each occurrence of the defined Event Trigger, the E2 Node would be instructed to first execute a defined POLICY and then send a defined REPORT message.

**2. REPORT then REPORT:**
- In this case, at each occurrence of the defined Event Trigger, the E2 Node would be instructed to first send a defined REPORT message to be followed by a second defined REPORT message **containing normally different information**.

### 3.2 Combining RIC services as a sequence of RIC services
- RIC services may be **combined using a sequence of different RIC services** implemented using a **procedure executed within the Near-RT RIC**.
**1. REPORT followed by POLICY:**
- In this case, at each occurrence of the defined Event Trigger, the E2 Node would be instructed to send a defined REPORT message.
- The Near-RT RIC would use the information from one or more successive REPORT messages as input to a procedure that may result in a change or establishment of a RIC POLICY service.

**2. INSERT followed by CONTROL:**
- In this case, at each occurrence of the defined Event Trigger, the E2 Node would be instructed to send a defined INSERT message containing information used to **identify the suspended associated procedure instance**
- Near-RT RIC would send a corresponding CONTROL message containing information used to identify a previous suspended associated procedure instance.

**3. REPORT followed by CONTROL:**
- In this case, at each occurrence of the defined Event Trigger, the E2 Node would be instructed to send a defined REPORT message.
- The Near-RT RIC would use the information from one or more successive REPORT messages as input to a procedure that may result in a RIC CONTROL service message being sent to initiate an associated procedure instance in the E2 Node.

## 4. Relationship with RAN Function and E2 Service Model
- E2 interface is used to **carry messages between a given RAN Function and Near-RT RIC**. These messages are RAN Function specific and are described in the **corresponding RAN Function specific E2 Service Model**.
Each RAN Function is described in the following terms:
1. RAN Function definition:
- Defines the RAN Function Name
- Describes the E2 services that the **specific RAN Function is currently configured** to present over the E2 interface
2. RIC Event Trigger Definition approach:
- Describes the approach to be used in Near-RT RIC Subscription messages to **set Near-RT RIC Event Trigger Definition** in the RAN Function.
3. RIC Action Definition approach:
- Describes the approach to be used in subsequent Near-RT RIC Subscription messages to **set required sequence of Near-RT RIC Action** in the RAN Function.
4. RIC Indication header and RIC Indication message approach:
- Describes the approach to be used by RAN when **composing Indication messages** for Near-RT RIC REPORT and INSERT services.
5. RIC Control header and RIC Control message approach:
- Describes the approach to be used by Near-RT RIC when **composing CONTROL messages**.
6. RAN Function Policies:
- Describes the **set of policies** that the RAN Function is configured to support
- Describes the **corresponding Parameters** that may be used to configure the policy **using Near-RT RIC POLICY services**
## 5. Near-RT RIC support functions
- The Near-RT RIC support functions:
- E2 Setup
- E2 Reset
- Near-RT RIC Service Update
- E2 Node Configuration Update
- E2 Removal
### 5.1 E2 Setup procedure
- The E2 Setup procedure is used to **establish the E2 interface** between the Near-RT RIC and an E2 Node.
- During this procedure the E2 Node provides:
- List of **supported Near-RT RIC services** and mapping of services to functions within the E2 Node. This information is specific to each **RAN Function** in the E2 node and is **defined by a specific E2 Service Model**
- List of E2 Node **configuration information**. This information is specific to the E2 Node type and defined by the E2 Node system specifications
- If the E2 Setup **procedure fails**, the Near-RT RIC may **provide an alternative Transport Layer Information for the E2 Node** to use when reinitiating the E2 Setup procedure.

### 5.2 E2 Reset procedure
- The E2 Reset procedure is used by either the E2 Node or Near-RT RIC to reset the E2 interface.
- Information previous exchanged during E2 Setup, E2 Node Configuration Update and RIC Service Update procedures shall be maintained however **the outcome of all previous RIC Subscription shall be deleted from the E2 Node** and E2 Node gracefully terminates any ongoing Near-RT RIC call processes.
- The Near-RT RIC may then proceed to re-establish any RIC Subscriptions as required.
**E2 Node initiated:**

**Near-RT RIC initiated:**

### 5.3 Near-RT RIC Service Update procedure
- The Near-RT RIC Service Update procedure is used by the E2 Node to **inform** the Near-RT RIC of **any change to the list of supported Near-RT RIC services** and mapping of services to functions within the E2 Node. This information is specific to each RAN Function in the E2 node and is defined by a specific E2 Service Model.
- This procedure may also be initiated by the Near-RT RIC sending a RIC SERVICE QUERY message.

### 5.4 E2 Node Configuration Update procedure
- The E2 Node Configuration Update procedure is used by the E2 Node to **inform the Near-RT RIC** of **any change to the configuration of the E2 Node** and/or E2 Node initiated changes to E2 connections. This information is specific to the E2 Node type and defined by the E2 Node system.

### 5.5 E2 Removal procedure
- The E2 Removal procedure is used by either the E2 Node or Near-RT RIC to **release the E2 signaling connection**.
**E2 Node initiated:**
- If the procedure is E2 node initiated, after the E2 REMOVAL RESPONSE is received, the **E2 node initiates termination of all Transport Network Layer associations associated with this E2 interface.** The Near-RT RIC and E2 nodes releases all resources associated with this E2 interface.
- If the E2 Removal procedure fails, the E2 node may retry the E2 Removal procedure.

**Near-RT RIC initiated:**
- If the procedure is Near-RT RIC initiated, after the E2 REMOVAL RESPONSE is received, the **Near-RT RIC initiates termination of all Transport Network Layer associations associated with this E2 interface**. The Near-RT RIC and E2 nodes releases all resources associated with this E2 interface.
- If the E2 Removal procedure fails, the Near-RT RIC may retry the E2 Removal procedure.

## 6. Summary
- At the beginning, the E2 Node is connected to the Near-RT RIC through the **E2 Node Setup Procedure**, it inform Near-RT RIC which **RAN Functions it supports** (corresponding to Near-RT RIC services).
- After declaring the supported functions, Near-RT RIC can operate these functions of E2 Node through E2 interface, the data exchanged by E2 can be roughly divided into the following four procedures:
- REPORT:E2 Node **report its information**
- INSERT:E2 Node **suspends the current Function** and waits for the Control of the Near-RT RIC
- CONTROL:RIC **initiates a new Function** on E2 Node
- POLICY:E2 Node **changes Function actions** according to POLICY