From O-RAN point of view, the SMO terminates A1, O1 and O2 interfaces.
For now, the O2 interface is out of scope of this page (Please update, if you have publicly available information, it is assumed that all SMO software components can be deployed as docker containers. Larger SMO deployments may use kubernetes, smaller may use docker-compose)
- A1 termination: is covered by the O-RAN-SC Non-RT-RIC project
- O1 termination is covered by the O-RAN-SC OAM project
While A1 uses REST as communication protocol, O1 uses NetConf/YANG for configuration (GET and SET) and REST/VES for asynchronous notifications from O-RAN components.
Therefore we can say that as a bare minimum an SMO for O-RAN includes:
- A1 termination (REST Client)
- O1 NetConf/YANG termination (NetConf-Client)
- O1 VES termination (HTTP/REST/VES-server - also called VES collector)
All these O-RAN interface terminations on the SMO require communication between each other. In order to avoid the architectural and maintenance complexity of several point-to-point interfaces, a message bus between the SMO components is preferred. In order to view details and function, several dashboards would be beneficial and also a persistent database cluster and a certification server and logging capabilities. All the mentioned components should be dockerized for easy deployment and dynamic scaling.
SMO internal software components and its mapping existing open-source project - proposed components for an O-RAN-SC SMO distribution highlighted.
SMO component | Protocol | Target release for deployment | O-RAN | MANO | OpenNMS | ONAP | others | |
---|---|---|---|---|---|---|---|---|
A1 termination | REST client | mandatory | Bronze | Non-RT-RIC | ODL/CCSDK/SDNC (Amber) | |||
A1 dashboard | Web application | preferred | Bronze | RIC dashboard | ||||
O1 NetConf/YANG termination | NetConf/YANG client | mandatory | Bronze | ODL/CCSDK/SDNC | OpenDaylight → Apache Karaf | |||
O1 VES termination | VES server | mandatory | Bronze | VES collector HV-VES collector (optional) | ||||
O1 dashboard | Web application | preferred | Bronze | ODLUX | ||||
Message bus | mandatory | Bronze | Apache Kafka | Apache Kafka | DMaaP | Apache Kafka | ||
Persistent database | database cluster (no-sql, sql) | mandatory | Bronze | Mongo DB | ElasticSearch | ElasticSearch for FCAPS mariaDB in general | ElasticSearch | |
Service provisioning | preferred | Cherry or later | SO | |||||
Optimization | preferred | Cherry or later | OOF | |||||
Policy | preferred | Cherry or later | Policy | |||||
Data analytics | preferred | Cherry or later | DCAE | Acumos | ||||
Inventory | REST (AAI-API) | preferred | Cherry or later | A&AI | ElasticSearch | |||
Certification server | preferred | Cherry or later | keystore | AAF | ||||
Logging | preferred | Bronze | Elastic | ElasticSerach, Kibana | ||||
Logging dashboard | Web application | preferred | Bronze | Kibana |