R0 MVP functional description

Overview

Components

Control

The Control component controls every other component in the Routing Manager by:

HTTP Client

The HTTP Client component contacts xApp Manager to retrieve the list of deployed xApps and their properties (which matter from routing point of view)

Routing Policy Engine

The Routing Policy Engine component generates the routing table based on the xApp list, retrieved from xApp Manager.

Messaging

The Messaging component connects to the xApp instances, and sends the routing table.

Use cases

Startup

Periodic check

R0.1 functional description

Overview

Components

New components

HTTP Server

The HTTP Server component is introduced as part of the Routing Manager's R0.1 architecture. The HTTP Server is responsible to:

Changed components

Control

The scope of Control component is extended with the introduction of HTTP Server and the callback mechanism:

HTTP Client

The scope of HTTP Client is extended with the capability to

Use Cases

Startup

Callback

Callback timeout

Invoked services

xApp Manager's subscription service

Overview

xApp Manager provides a subscription based service which enables the services user to subscribe for changes related to xApps' life-cycle. To invoke this service Routing Manager has to send a subscription request to xApp Manager in a form of an HTTP POST method with appropriate payload.

Subscription request and response

Routing Manager has to send the following HTTP POST method to subscribe to xApps's life-cycle related changes:

POST /ric/v1/subscriptions
{
  "targetUrl": "<scheme>://<Routing Manager's IP adress>/<Routing Manager API's basePath>/handles/xapp-handle/",
  "eventType": "all",
  "maxRetries": 5,
  "retryTimer": 10
}

Please note that the scheme is going to be http until further notice. Routing Manager's basePath (based on Routing Manager's Swagger API definition) is /v1.

A successful response to Routing Manager's Subscription Request could be the following example:

200 OK
{
  "id": "1ILBltYYzEGzWRrVPZKmuUmhwcc",
  "version": 0,
  "eventType": "all"
}

Provided services

Routing Manager's callback service

Routing Manager provides a callback service to let xApp Manager to notify about xApp related changes. The service is based on a HTTP-based RESTful API.

Callback request and response

To notify Routing Manager about xApp related changes, xApp Manager has to initiate a HTTP POST method on Routing Manager's HTTP-based RESTful API:

POST /<Routing Manager API's basePath>/handles/xapp-handle/
{
  "id": "1ILBltYYzEGzWRrVPZKmuUmhwcc",
  "event": "created",
  "version": 1,
  data: "[
           {
             "name": "xapp-dummy",
             "status": "unknown",
             "version": "1.2.3",
             "instances": [
             {
               "name": "xapp-dummy-6cd577d9-4v255",
               "status": "pending",
               "ip": "192.168.0.1",
               "port": 32300,
               "txMessages": [
                 "ControlIndication"
               ],
               "rxMessages": [
               "LoadIndication"
             ]
           }
         ]
       }
     ]"
}

Routing Manager would respond to such POST method with the following:

201 Created