---
title: Introduction to E2termination
image: https://i.imgur.com/NTydYzR.png
---
:::warning
# <center><i class="fa fa-book"></i> 【G Release】<br> Introduction to E2 termination (E2T) </center>
<!-- <center>【F Release】</center> -->
:::
###### tags: `study` `OSC` `E2termination`
:::success
**🎯 Goals:**
- [x] - <a href="#Module-1-Introduction">A brief introduction to E2 termination</a>
- [x] - <a href="#Module-2-Requirement-steps">To know the requirement steps</a>
- [ ] - <a href="">Summary </a>
- [x] - <a href="#Additional">Learn about additional steps for working with RESTful APIs</a>
:::
:::info
:bookmark: **Reference:**
- [docs.o-ran-sc.org](https://docs.o-ran-sc.org/projects/o-ran-sc-ric-plt-submgr/en/latest/user-guide.html)
- [E2T Architecture](https://wiki.o-ran-sc.org/display/RICP/E2T+Architecture)
- [Introduction to E2T (source code)](/@MingHung/E2T_sourceCode)
:::
[toc]
# Updata Info
### - 【G Release】
:::success
- E2T improvements: Support in simulator in in internal E2mgr model source code for E2 Reset procedure (from E2 node to RIC (RIC-386))
- Support for E2 subscriptions via REST from the xapp framwork for c++ (RIC-641)
- E2 check, validate and define how various overload and disconnect case are handled (RIC-704)
:::

# Module 1: Introduction
:::info
E2 termination refers to a protocol port in O-RAN that is used to transmit data and control information between different O-RAN units. The purpose of E2 termination is to achieve interoperability between different devices in O-RAN, thereby supporting various use cases, including wireless access networks and core networks.
In O-RAN, E2 termination has the following characteristics:
1. E2 termination is a protocol port through which data and control information can be transmitted.
2. E2 termination supports different communication protocols, such as TCP and UDP.
3. E2 termination can achieve interoperability between different devices in O-RAN, which is an important goal of O-RAN.
4. E2 termination can also support different use cases, such as wireless access networks and core networks.
Overall, E2 termination is a very important concept in O-RAN, and it is a key to achieving interoperability between different devices in O-RAN. Through E2 termination, O-RAN can achieve more efficient, flexible, and reliable communication, thereby meeting different business requirements.
:::
:::success
- E2T is OSC implements the **sender/receiver** of the E2 Protocol.
- It is mainly responsible for the **sctp connection** and when the **E2 node is going to be sent to the RIC**, how does **the RIC send it to xApp**?
- E2T always needs to **send and receive e2msg**, which requires ==low latency== and ==high performance==. It will belong to a level closer to the ==OS== (using **system call**, **thread**).
:::
E2 Termination (E2T) is **the entrance of the E2 interface** on the near-RT RIC, Responsible for **receiving** various messages **from E2 Node and reporting to xApp** through RIC Message Router (**RMR**).

- RIC Hosts one or more “**xApps**” that use E2 interface to **collect** near Realtime information and provide value **added** services
- RIC may obtain other information from “**External sources**” including ONAP, see Figure, RIC and its relation in the network.

## 1.1 E2T Architecture
- Open or remove SCTP Connection
- Handle own repository to map RAN to SCTP Connection
- **Listen to all its SCTP Connection.** Upon E2 method, decode it and sends it over the RMR to the relevant xAPP.
- **Listen to the RMR Connection.** Upon on RMR Request, convert it to E2AP, map the target RAN to SCTP Connection, decode it and sends it over the relevant SCTP.

# Module 2: Related components
1. RIC: RIC stands for RAN Intelligent Controller and is a core component of O-RAN. RIC is responsible for intelligent control of the RAN and communicates with other O-RAN components using E2 termination.
2. DU: DU stands for Data Processing Unit and is another important component of O-RAN. DU is responsible for processing data related to wireless radio reception and transmission and communicates with RIC and other O-RAN components using E2 termination.
3. CU: CU stands for Control Unit and is also an important component of O-RAN. CU is responsible for handling tasks related to the RAN control plane and communicates with other O-RAN components using E2 termination.
4. O-CU: O-CU stands for External Control Unit and is an optional component of O-RAN. O-CU is responsible for handling signaling from non-O-RAN networks and communicates with CU using E2 termination.
5. O-DU: O-DU stands for External Data Processing Unit and is also an optional component of O-RAN. O-DU is responsible for handling data from non-O-RAN networks and communicates with DU using E2 termination.
Overall, E2 termination is a key technology for achieving communication between components in O-RAN. The above-mentioned components all use E2 termination to communicate with other components to enable various use cases in O-RAN. Through E2 termination, O-RAN can achieve more efficient, flexible, and reliable communication, thereby meeting different business requirements.
# Module 3: Requirement steps
## 3.1 When xApp initiates an E2 request
- <font style="color:red">**Not sent directly to E2 Node**</font>
1. **Send to SubMngr via RESTful API** (The sent message has its **own xApp ID** (Instance ID) and multiple E2 Node service requirements)
2. **SubMngr will be processed sequentially** through the queue and **integrated** with the existing E2 Node service.
3. SubMngr will also give a unique subscription ID (REST request ID). If the xApp wants to (delete/restart) the subscription service, it needs to do so through this ID.

<!-- # Module End: Summary -->
# Additional
:::spoiler more
## 1. RESTful API - request
- RESTful API for registration and confirmation, the message format is as follows:

- `SubscriptionId`: This ID is generated by xApp, but does not represent this subscription. The real value is generated by SubMngr and backfilled.
- `ClinetEndpoint`: Information provided to RMR, including hostname, RMR port
Meid, RANFunctionID: related to the subscribed E2 Node
- `E2SubscriptionDirectives`: RMR parameter setting, optional
- `SubscriptionDetails->XappEventInstanceId`: The ID generated by the real xApp, which is used by the xApp to identify the message
- `SubscriptionDetails->ActionToBeSetupList`: Actions to be performed through the E2 interface
## 2. RESTful API - response

- `SubscriptionId`: If it is returned successfully, it will be used to represent this registration
- `E2EventInstanceId`: This ID is used to establish an E2 connection (if required), and is also the ID for subsequent E2T reports
## 3. RESTful API - notification

- `XappEventInstanceId`: The identification ID given by xApp to determine the originator
- `SubscriptionId`: ID assigned by SubMngr, bind E2EventInstanceId and identify registration information
- `E2EventInstanceId`: Realize the multiplexing of E2T report messages
## 4. Two messages from SubMngr to RMR
- The **judgment** of these two different subscription modes is implemented in SubMngr (at the <font style="color:red">**red box Logic**</font>).


### 4.1 New E2 Subscription
- Here is E2EventInstanceId (fill in subscroption_id) corresponding to an xApp
- The address corresponding to xApp here contains hostname and port
### 4.2 Update the terminal and direction
- Corresponds to a string of xApp addresses, including their respective hostname and port settings.
- SubMngr will **not communicate with E2T and E2 Node**. Instead, **update the endpoint and direction** of these E2 messages directly to the RMR.
----
:::
<!-- >**Name**: `名稱` -->
<style>
/* 僅指定連結的圖片去背且靠右模擬置中 */
img[src^="https"]{
/* position: relative;
left: 17%; */
background-color: #fff0;
}
.title {
color: #009933;
font-weight:bold;
}
.highlight {
color: #ff4d4d;
font-weight:bold;
border-bottom:2px red solid; padding-bottom:2px;
}
</style>
<!-- <font class="highlight"> -->
<!-- <font class="title"> -->
<!-- 縮寫提示 -->
<!-- *[O-RAN]:Open Radio Access Network -->