Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A1 Mediator Implementation #13

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
################################################################################
# Ten plik .gitignore został utworzony automatycznie przez Microsoft(R) Visual Studio.
################################################################################

/.vs
5 changes: 4 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,7 @@
[submodule "ns-3-mmwave-oran"]
path = ns-3-mmwave-oran
url = https://github.com/MinaYonan123/ns-3-mmwave-oran.git
branch = release
branch = A1_GUI_EXTENSION
[submodule "A1_Mediator_standalone"]
path = A1_Mediator_standalone
url = https://github.com/kamilkociszewski/A1_Mediator_standalone.git
1 change: 1 addition & 0 deletions A1_Mediator_standalone
Submodule A1_Mediator_standalone added at 3f0a61
45 changes: 43 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Project Introduction

Given the importance of obtaining a capable and fully open-source platform for xApp operation testing, especially for the complex use-cases. Orange Innovation Egypt(OIE) team Successfully integrated FlexRIC from EURECOM with ns-O-RAN simulator that originally developed by the institute for the Wireless Internet of Things (WIoT) and Mavenir. The team updated the ns-O-RAN simulator to be a fully compliant with E2AP v1.01, KPM v3 and RC v1.03. This platform will pave the way to test the use-cases that need a rich LTE/5G simulator to be verified. What's more, we propose Graphical User Interface for ns3 which allows to run and observe simulations in user-friendly way. The original project of ns-O-RAN in
Given the importance of obtaining a capable and fully open-source platform for xApp operation testing, especially for the complex use-cases. Orange Innovation Egypt(OIE) team Successfully integrated FlexRIC from EURECOM with ns-O-RAN simulator that originally developed by the institute for the Wireless Internet of Things (WIoT) and Mavenir. The team updated the ns-O-RAN simulator to be a fully compliant with E2AP v1.01, KPM v3 and RC v1.03. This platform will pave the way to test the use-cases that need a rich LTE/5G simulator to be verified. What's more, we propose Graphical User Interface for ns3 which allows to run and observe simulations in user-friendly way. For integration with Non-RT RIC, we include our A1 Mediator which allows to exchange policies between xApps and rApps. The original project of ns-O-RAN in
[OpenRAN-Gym](https://openrangym.com/tutorials/ns-o-ran).

![alt text](fig/1.png)
Expand Down Expand Up @@ -77,7 +77,7 @@ The ns-O-RAN is composed by three main components, as shown in the figure below:

3. Cell deep-sleep implementation (In-Progress)

4. **New run flags:**
4. New run flags:

```
--KPM_E2functionID=(double)
Expand Down Expand Up @@ -281,6 +281,47 @@ And if everything goes as intended we should be able to see in order the followi

![ns-O-RAN](fig/7.png)

#### A1 mediator for RIC TaaP
A1 mediator allows to store and exchange policies between xApps and rApps using O-RAN standarized A1 interface methods.<br>
Please see sub-repository [A1_Mediator_standalone](https://github.com/kamilkociszewski/A1_Mediator_standalone.git) README for more details.

Supported A1 API calls:

| **Method** | **Endpoint** | **Description** |
|------------|-------------------------------------------------------------|--------------------------------|
| GET | /a1-p/policytypes | List Policy Types |
| GET | /a1-p/policytypes/(policy_type_id) | Get Policy Type |
| PUT | /a1-p/policytypes/(policy_type_id) | Create Policy Type |
| DELETE | /a1-p/policytypes/(policy_type_id) | Delete Policy Type |
| GET | /a1-p/policytypes/(policy_type_id)/policies | List Policy Instances |
| PUT | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id) | Create Policy Instance |
| DELETE | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id) | Delete Policy Instance |
| GET | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id)/status | Get Policy Instance Status |


Run A1 Mediator
```
cd A1_Mediator
pip3 install -r requirements.txt
cd app
python3 main.py
type in browser: (host_ip):9000/docs #to see available APIs
```

Run test xApp with FlexRIC:
1. Clone custom FlexRIC dev build from here: [FlexRIC](https://gitlab.eurecom.fr/Kociszz/flexric-a1-xapp/-/tree/A1_integration_RIC_TaaP?ref_type=heads)
2. Build FlexRIC following repo instructions
3. Start **RIC**
```
./build/examples/ric/nearRT-RIC
```
4. Run **ns3** simulation with RIC connection
5. Start **xapp_kpm_rc_a1** xApp
```
./build/examples/xApp/c/kpm_rc_A1/xapp_kpm_rc_a1
```


## Further Resources

### Participation in 10th OpenAirInterface Anniversaray Workshop
Expand Down
2 changes: 1 addition & 1 deletion e2sim-kpmv3