/
RC xApp

RC xApp

Rc xAPP Introduction

Rc xapp is deployed on RIC Platform and provides the basic implementation of  initiating spec compliant E2-SM RC based RIC Control Request message to the RAN/E2 Node. GRPC and RMR is used for communication.

GRPC interface support is introduced so other xapps can initiate GRPC based control Request to rc xapp, which in turn shall send the RIC Control Request to RAN/E2 Node

Communication between Rc xapp and RAN /E2 node uses RMR routing.

Rc xAPP Features

Rc xapp acts as a GRPC server which receives a GRPC request  containing RIC control request parameters from a  GRPC client. Using the parameters received from the GRPC client RIC CONTROL Request shall be constructed and encoded in ASN1 format and sent to RAN/E2 Node using RMR.

Rc xapp supports basic Control Request initiation towards E2Node based on RAN Name parameter received in GRPC Control request.If the RAN Name received in GRPC request is in CONNECTED state RIC Control request shall be initiated towards RAN/E2 Node.

If any of the Mandatory parameters are not received as per the GRPC Proto file definition, GRPC Error response shall be sent to  the client and no RIC Control Request shall be initiated.

Rc xAPP repo

Rc xapp code can be cloned using below command

git clone https://gerrit.o-ran-sc.org/r/ric-app/rc

Rc xAPP Deployment

Steps to onboard the xapp
1)echo '{ "config-file.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/rc.git;a=blob_plain;f=xapp-descriptor/config.json;hb=HEAD","controls-schema.json_url": "https://gerrit.o-ran-sc.org/r/gitweb?p=ric-app/rc.git;a=blob_plain;f=xapp-descriptor/schema.json;hb=HEAD" }' > onboard.rc.url

2)Onboard the rc xapp using the below command :
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.rc.url"

After this command: xapp should be created
Eg:
curl --location --request POST "http://$(hostname):32080/onboard/api/v1/onboard/download" --header 'Content-Type: application/json' --data-binary "@./onboard.rc.url"
{
"status": "Created"
}
3)Deploying the xapp:
Eg:
curl --location --request POST "http://$(hostname):32080/appmgr/ric/v1/xapps" --header 'Content-Type: application/json' --data-raw '{"xappName": "rc"}'
{
"instances":null,"name":"rc","status":"deployed","version":"1.0"
}

after this step the xapp should be in running state

ricxapp ricxapp-rc-5ccdcc9f6f-ktq7w 1/1 Running 0 88m

4) restart rtMgr so rmr is ready





Related content

HelloWorld demo xApps
HelloWorld demo xApps
Read with this
Hello World xApp
Hello World xApp
More like this
Measurement Campaign xApp
Measurement Campaign xApp
Read with this
Repo Indexes
Repo Indexes
More like this
Admission Control xApp
Admission Control xApp
Read with this
RIC Message Router (RMR)
RIC Message Router (RMR)
More like this