The Control component controls every other component in the Routing Manager by:
The HTTP Client component contacts xApp Manager to retrieve the list of deployed xApps and their properties (which matter from routing point of view)
The Routing Policy Engine component generates the routing table based on the xApp list, retrieved from xApp Manager.
The Messaging component connects to the xApp instances, and sends the routing table.
The HTTP Server component is introduced as part of the Routing Manager's R0.1 architecture. The HTTP Server is responsible to:
The scope of Control component is extended with the introduction of HTTP Server and the callback mechanism:
The scope of HTTP Client is extended with the capability to
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.
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" } |
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.
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 |