Skip to end of metadata
Go to start of metadata


RIC and SMO Installation completed.

A1 Flow

The SMO A1 (policy) flow is almost identical to what we have shown in the xApp (Traffic Steering) flow, with the difference that the policy operations (i.e. policy type creation, policy instance creation) are coming from the SMO instead of directly calling A1 mediator API.

In SMO cluster, the Near RT RIC's coordinates (IP, port, etc) is specified in the recipe for the NonRTRIC.   To check whether SMO has successfully established communication with Near RT RIC,

Run the following on the SMO cluster:

$ curl http://$(hostname):30093/rics

To create a new policy instance under policy type 20008 (Traffic Steering's threshold policy),


$ POLICY_TYPE_ID="20008"
$ curl -v i-X PUT --header "Content-Type: application/json" \
"http://$(hostname):30091/policy?id=FROMOTF&ric=ric1&service=dummyService&id=${POLICY_TYPE_ID}" \
--data "{\"threshold\" : 1}"

O1 Flow
To be added.
Demonstration Videos

O-DU HIGH - NearRTRIC E2 setup: odu-high.mp4

A1 flow: a1.mp4

O1 flow: o1.mp4

Helpful Hints

Kubectl commads:

kubectl get pods -n nampespace - gets a list of Pods running

kubectl get logs -n namespace name_of_running_pod

Complete these tasks to get started

Recent space activity

Space contributors


  • No labels


  1. Hi,

    Thank a lot for the getting started guide.

    I have successfully deployed the near RT RIC cluster and the policy instance creation works via near RT RIC.

    But I have few issues with SMO cluster.  

    when I test the RIC  connectivity via curl http://$(hostname):30093/rics    (It did not work with port number 30091 )

    I receive the following output  [{"ricName":"ric1","managedElementIds":["kista_1","kista_2"],"policyTypes":[],"state":"UNAVAILABLE"}

    I think, in this case SMO did not establish a  connection with nRT RIC, is it so?

    Also I am not successful with creation of new policy instance via SMO cluster.

    Also I checked and all the pods of onap and nonrttic namespace are deployed successfully in the cluster as mentioned in the getting started guide.

    Could you please advise me, what could be the issue here.

    Many Thanks

    1. Hi Aravinthan,

      Sorry we are still in the process of updating the instructions.  What's currently missing is how to configure Non RT RIc to talk to Near RT RIC.  Before we add the steps to instruction, or the script, here is something for you to try now:

      Non RT RIC:

      1. Find the Ingress controller coordinates of the Near RT RIC:
        1. ricip is the IP address of the RIC cluster;
        2. ricport: find the ingress controller port of the RIC by running the following in RIC cluster
          1. kubectl get service -n ricplt r4-infrastructure-kong-proxy -o json | jq '.spec.ports[] | select (.name == "kong-proxy") | .nodePort'
      2. Go to where the SMO install script was run.  It should have a directory called smo-deploy, this is the working dir for deploying SMO.
      3. Edit the file smo-deploy/smo-dep/nonrtric/RECIPE_EXAMPLE/example_recipe.yaml, find the value for key "baseUrl" under policymanagementservice.policymanagementservice.ric[0], change it to http://{{ricip}}:{{ricport}}/a1mediator
        1. Make sure that this ricport is not blocked by any firewall between the SMO cluster and the RIC cluster.
      4. Redeploy Non RT RIC
        1. Go to smo-deploy/smo-dep/bin, run undeploy-nonrtric && deploy-nonrtric -f ../RECIPE_EXAMPLE/NONRTRIC/example_recipe.yaml
      1. Hi Lusheng,

        Many Thanks for your quick response.

        Perfect, it works well after following the above steps you provided.

        Thanks again

  2. hi all,

    the instructions for a1 flow are somehow incomplete or even misleading.

    for connecting nonrtric to ricplt, and for policy management using nonrtric-controlpanel, pls refer to my blog:

    for policy management using a1-policy-agent(aka, policymanagementservice), and using a1-controller, pls refer to:

    hope this can be helpful. gl.

  3. Hi,

    could someone provide the detailed instructions for O1 flow?


    1. The demo scripts can be found under it/dep repo, under the demos directory.

  4. Please post after you log in so people know who you are.

  5. Hi, all

    I have installed Near-RT RIC, and tried to run

    After setting RIC host and odu host, and code compilation, I stuck in the process as below, do anyone can help to solve it?

    (Are these two errors are resulted from the codes which try to connect to O-CU and other component, as mentioned in odu-high demo video ?)


    Sending Scheduler config confirm to DU APP
    DU_APP : Received SCH CFG CFM at DU APP
    DU_APP : Configuring all Layer is complete

    date: 08/27/2020 time: 07:42:58

    mtss(posix): sw error: ent: 255 inst: 255 proc id: 000
    file: /root/dep/demos/bronze/l2/src/cm/cm_inet.c line: 1877 errcode: 00007 errcls: ERRCLS_DEBUG
    errval: 00000 errdesc: cmInetSctpBindx() Failed : error(99), port(38472), sockFd->fd(4)

    SCTP: Failed during Binding in ODU
    SCTP : ASSOC Req Failed.
    DU_APP : Failed to process the request successfully
    SCTP : Polling started at DU

    DU_APP : Failed to send AssocReq F1

    date: 08/27/2020 time: 07:42:58

    mtss(posix): sw error: ent: 255 inst: 255 proc id: 000
    file: /root/dep/demos/bronze/l2/src/cm/cm_inet.c line: 1877 errcode: 00007 errcls: ERRCLS_DEBUG
    errval: 00000 errdesc: cmInetSctpBindx() Failed : error(99), port(32222), sockFd->fd(5)

    SCTP: Failed during Binding in ODU
    SCTP : ASSOC Req Failed.
    DU_APP : Failed to process the request successfully
    DU_APP : Failed to send AssocReq E2
    DU_APP : Sending EGTP config request
    EGTP : EGTP configuration successful

    1. Michael,

      It appears that the problem is the SCTP socket. 

      This version of the O-DU HIGH requires the IP addresses of the both ends of the SCTP connection (i.e. O-DU HIGH and Near RT RIC) to be compiled into the binary.  In other words, you would need to modify some IP addresses in src/du_app/du_cfg.h: DU_IP_V4_ADDR for the O-DU's IP local address to bind SCTP socket and RIC_IP_V4_ADDR for the peer IP to establish SCTP socket.  If you have not done so, you would need to make the modification based on your local setup's IP addresses then recompile.

      Now in the cloud native world, identifying the right IP address could be tricky.  For example, the DU_IP_V4_ADDR is the NIC address of the host running the O-DU code (assuming you are running the binary on host).  However, the RIC_IP_V4_ADDR should the external IP address of the k8s cluster running the Near RT RIC.

      Hope this helps.


      1. Anonymous

        Hi, Lusheng

        Thank you for your help, it works for me

  6. Hi All,

    I have established SCTP connection between RIC (E2 termination) and O-DU High and able to send E2 setup request from O-DU High to RIC (E2 termination) and able to get response from RIC to O-DU High. Now, How  can I communicate from O-DU High (sending data) to deployed xApp (say TS xApp) through E2 termination and vice versa?

  7. Hi,

    If anyone has tried A1 flow from nonRT-RIC (SMO) to RT-RIC on Cherry or bronze release using the following command, please share if the following command worked for you. Also, if you had to make any changes to it to make it run, kindly share the same.

    curl -v i-X PUT --header "Content-Type: application/json" \
    "http://$(hostname):30091/policy?id=FROMOTF&ric=ric1&service=dummyService&id=${POLICY_TYPE_ID}" \
    --data "{\"threshold\" : 1}"

  8. Anonymous

    chloroquine malaria buy chloroquine online canada icd 10 erectile dysfunction erectile pills canada quinine vs hydroxychloroquine sulfasalazine herbs for erectile dysfunction plaquenil sulfate 200 mg tadalis sx 20 mg ajanta pharma tadalafil 40 mg daily what is zithromax prescribed for zithromax 250 mg
Write a comment…