Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A1 Termination(Describe use of A1 Termination module, and how it is adapted for SON Use Case with Kafka dispatcher)

On top of existing OSC A1 simulator codebase, a module named A1 Terminator has added. It does interaction with the A1-PMS and the RAN-App. It acts a gateway between the RAN-Simulator and the SDNR.

A1 Policy are redirected as Kafka messages to a configured Kafka Topic to RAN-App, then responses from the RAN-App are collected from another configured Kafka Topic. This provides a Kafka-based request-response abstraction for adding supplemental simulator behavior for particular A1 Policy Types. After a request message is sent, a response message will be expected within some configurable timeout interval (default: 30 sec). The topics to be used for particular A1 Policy Types is configured using a JSON map.

The Kafka message dispatcher (Payload Dispatcher) exposes a ‘Kafka Message Dispatcher’ REST API. This internal API is invoked directly by the A1 Terminator (A1 Simulator), and is not intended to be used by any other client.

You can please find the design of A1 Termination flow:

A1 Terminator DesignImage Added

To start the A1 terminator please use below commands.

Build and start the simulator containers: STD_1.1.3 and OSC_2.1.0, using:

./build_and_start.sh duplicate-check|ignore-duplicate

Build and start the simulator container version STD_2.0.0, using two alternatives: ext-srv or kafka-srv. However, both can not be used at the same time to start A1 sim.

In order to start with ext-srv:
./build_and_start.sh duplicate-check|ignore-duplicate ext-srv|ext-srv-secure|ignore-ext-srv

In order to start with kafka-srv:
./build_and_start.sh duplicate-check|ignore-duplicate kafka-srv|kafka-srv-secure publish-resp|ignore-publish

We will add the A1 ANR policy payload which A1 terminator receives it from the A1-PMS, and will add the sample output which A1 Terminator will be pushing.

Since Kafka Message Dispatcher is a specific implementation of an External Server (calloutserver), which further redirects A1 Policy operations to a Kafka message topic, A1 Terminator could be started only with kafka-srv arguments.

Ran-App

To support A1 interface in SON use case we have added RAN-App( ANR use case). RAN-App simulates the xApp behavior and to simulate the xApp E2 interface functionality we are using NETCONF protocol. Currently we have developed RAN-App for the ANR use case.

...

We will add the sample payload which RAN-App will receive from the A1 Terminator and the sample output which RAN App will  send towards the CU/DU.  

Sample Input Payload for Ran-App:

{"action":"UpdatePolicy","payload":{"PNFName":"cucpserver2","PLMNID":"ran-1","CellID":"15549","neighbours":[{"PNFName":"cucpserver2","PLMNID":"ran-1","CellID":"14427","ho-kpi1":100},{"PNFName":"cucpserver2","PLMNID":"ran-1","CellID":"15548","ho-kpi1":90}]},"policy_type_id":"ANR","policy_id":"pi3"}


Enhancements to Ran-Sim Controller

...