# onos-a1t A1 AP Termination module for ONOS SD-RAN (µONOS Architecture) ## Overview The `onos-a1t` is the A1 termination node in the near-RT RIC for A1 interface to communicate the near-RT RIC with the non-RT RIC. It is the proxy that forwards incoming A1 messages from the non-RT RIC to appropriate xApps or outgoing A1 messages from xApps to the non-RT RIC. As per the O-RAN Working Group 2 specification, `onos-a1t` should support A1 messages for (i) the policy management, (ii) the enrichment information, and (iii) the machine learning model management. As of today, since the O-RAN A1 specification only defines the policy management data model, `onos-a1t` only supports the policy management service. ## Interaction The `onos-a1t` interacts with at least three nodes: (i) `onos-topo`, (ii) `A1-enabled xApps` and (iii) `non-RT RIC`. To begin with, `onos-a1t` keeps listening the `onos-topo` to check if there is new `A1-enabled xApps` deployed and if there are `A1-enabled xApps` already running. Basically, the A1-enabled `xApps` initially stores its A1 interface information, such as supported A1 services (i.e., the policy management, the enrichment information, and the machine learning model management) and A1 interface endpoint (i.e., IP address and port number). Listening `onos-topo`, `onos-a1t` scrapes the A1 interface information and store it into the `onos-a1t` local store. With the A1 interface information, `onos-a1t` starts creating the gRPC session with appropriate xApps to communicate with each other. A gRPC server is the `A1-enabled xApp`, whereas `onos-a1t` acts as the gRPC client (Note that this design is able to support the high availability and reliability by using the replicas for the near future). In order to communicate with the non-RT RIC, `onos-a1t` has both an HTTP server and an HTTP client. And of course, the non-RT RIC has to have both the HTTP server and the HTTP client for the bi-directional communication over HTTP. The HTTP server in `onos-a1t` receives the JSON formatted A1 interface message from the non-RT RIC. The HTTP client in `onos-a1t` is the client that sends the JSON formatted outgoing A1 interface messages to the non-RT RIC.