# <center>O-RAN Open-Source Implementations</center>
# OAIC (In-Use)
https://openaicellular.github.io/oaic/index.html
https://www.openaicellular.org/
Publications: https://www.openaicellular.org/publications
Events: https://events.vtsociety.org/vtc2023-spring/tutorials-available/t6-open-ai-cellular-oaic-an-open-source-platform-for-prototyping-and-testing-ai-enhanced-o-ran-enabling-6g-wireless-research/
# SD-RAN (Recommend to try)
SD-RAN is ONF’s new exemplar platform for 3GPP compliant software-defined RAN that is consistent with the O-RAN architecture.
https://docs.sd-ran.org/sdran-1.0/introduction.html
Installation Guide: https://docs.sd-ran.org/master/riab_install_index.html
- Repositories
https://github.com/onosproject
https://github.com/onosproject/sdran-in-a-box
https://github.com/sdran/ran-simulator
## My Deployment
### On local VM (Failed)
```bash
NOTES:
This is the instruction to configure your eNodeB to work with ONF M-CORD. You can find architecture illustration in assets/mcord-architecture.png.
1. Configure eNodeB with the correct MME information.
export MMEIP=[node IP]
export MMEPORT="36412"
You can change MMEPORT by overriding "Values.config.mme.s1ap.sctp_port_external".
2. Make sure UE's SIM card information is configured in hss.yaml.
3. Attach UE to OMEC.
pod/cassandra-0 condition met
pod/hss-0 condition met
pod/pcrf-0 condition met
pod/spgwc-0 condition met
error: timed out waiting for the condition on pods/mme-0
mk/epc.mk:11: recipe for target '/home/cz/sdran-in-a-box//workspace/milestones/omec' failed
make: *** [/home/cz/sdran-in-a-box//workspace/milestones/omec] Error 1
```
### On Azure VM (test-rsm-dataplane Failed)
```bash
...
NOTES:
This is the instruction to configure your eNodeB to work with ONF M-CORD. You can find architecture illustration in assets/mcord-architecture.png.
1. Configure eNodeB with the correct MME information.
export MMEIP=[node IP]
export MMEPORT="36412"
You can change MMEPORT by overriding "Values.config.mme.s1ap.sctp_port_external".
2. Make sure UE's SIM card information is configured in hss.yaml.
3. Attach UE to OMEC.
pod/cassandra-0 condition met
pod/hss-0 condition met
pod/mme-0 condition met
pod/pcrf-0 condition met
pod/spgwc-0 condition met
...
```
Problem: (Same as this link, unsolved)
https://groups.google.com/a/opennetworking.org/g/sdran-dev/c/P1jbzkXqlSw
# FlexRIC
https://gitlab.eurecom.fr/mosaic5g/flexric
This repository contains O-RAN Alliance compliant E2 node Agent emulators, a NearRT-RIC, xApps written in C/C++ and Python, as well as patches to 5G/4G OpenAirInterface and 4G srsRAN.
It implements various service models (NG/GTP, PDCP, RLC, MAC, KPM v2, SLICE, TC) and a built-in emulation. Depending on the service model, different encoding schemes have been developed (ASN.1, flatbuffer, plain). The indication data received in the xApp uses as persistence mechanism an sqlite3 database for enabling offline processing applications (e.g., ML/AI).
https://docs.srsran.com/projects/project/en/latest/tutorials/source/flexric/source/index.html
This application note shows how to use the E2 interface exposed by the srsRAN Project gNodeB. For this purpose, we use third-party [O-RAN Alliance](https://www.o-ran.org/) compliant NearRT-RIC and xApp provided in [FlexRIC](https://gitlab.eurecom.fr/mosaic5g/flexric) framework.

# O-RAN SC Project
https://wiki.o-ran-sc.org/display/ORAN
Latest release including software, documentation, and help:
https://wiki.o-ran-sc.org/display/REL/H+Release
- Non-RT RIC: https://gerrit.o-ran-sc.org/r/admin/repos/nonrtric,general
- Near-RT RIC: https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=78217449
- OAM:
- [OAM master](https://gerrit.o-ran-sc.org/r/admin/repos/oam)
- [OAM Controller features master](https://gerrit.onap.org/r/admin/repos/ccsdk/features)
- [ONAP VES Collector master](https://gerrit.onap.org/r/admin/repos/dcaegen2/collectors/ves)
Demo: https://wiki.o-ran-sc.org/display/RICP/2022-05-24+Release+F
- Slide: Demo near-RT RIC – release ”F”
• Ubuntu 20.04
• Prepare kubernetes, helm and base chart
• Deploy near-RT RIC
• https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=1179659 -> Introduction and guides -> Generally the latest instructions
• Compile and connect O-RAN E2 (e2-node) simulator from O-RAN SC simulator project
• https://gerrit.o-ran-sc.org/r/admin/repos/sim/e2-interface
• https://wiki.o-ran-sc.org/display/SIM/E2+Simulator#E2SimulatorBuildingdockerimageandrunningsimulatorinstance
• Connect Nokia E2 (e2-node) simulator
• Deploy dms_cli (for deploying xApps)
• Compile, onboard and install hw-go xapp from O-RAN SC xApp project
• https://gerrit.o-ran-sc.org/r/admin/repos/ric-app/hw-go
• Demo, this slide and commands used available here:
• https://wiki.o-ran-sc.org/display/RICP/2022-05-24+Release+F
# srsRAN Project
https://github.com/srsran/srsRAN_Project
an ORAN-native CU/DU developed by [SRS](http://www.srs.io/)
# Colosseum Near-Real-Time RIC
https://github.com/wineslab/colosseum-near-rt-ric
This is a part of the [OpenRAN Gym](https://openrangym.com/) project. It is minimal version of the O-RAN Software Community near-real-time RIC (Bronze release) adapted and extended to work on the [Colosseum](https://www.colosseum.net/) wireless network emulator.