Running xAPPs on Free5GC with OAI's GNB/UE/FLEXRIC

,

Hello everyone,

I’m part of a research project related to 5G at a university in Brazil. Some time ago, we developed an xAPP that collected KPM metrics using FlexRIC, with the gNB, UE, and core all implemented by OAI. We’ve now reached a point where we’re exploring the possibility of using the Free5GC core while keeping the OAI gNB, UE, and FlexRIC components.

We managed to connect the UEs to the Free5GC core, but when running the xAPP, we’re not collecting any data.
When running exactly the same code in an environment fully based on OAI components, the data is collected as soon as the xAPP starts executing — even if all the values are zero.

Some additional details:

  • All Free5GC core functions are containerized.
  • We’ve tested the gNB, UE, and FlexRIC both in containers and directly on the host machine, and the behavior was the same.
  • The FlexRIC comes with some built-in xAPPs, such as a “Hello World” example, which we ran successfully.

Is this behavior expected? Could there be any incompatibility with KPM or nearRT-RIC?
Has anyone successfully collected metrics using xAPPs and KPM from RANs connected to the Free5GC core?

Thank you very much for your time and support!

Hi,

I suspect your UE might be registered but the PDU session isn’t establishing properly. This would explain why you’re not seeing KPM data.

Can you check your SMF logs to see if PDU sessions are actually being created?

docker logs <smf-container> | grep -i "PDU Session"

Also, from the UE side, does the data interface (like uesimtun0) actually get an IP address?

If the PDU session is established, try generating some traffic (ping or iperf3) to see if that triggers the metrics. KPM usually needs active RAN traffic to report data.

The E2 interface shouldn’t care which core you’re using, so this is probably a UE connectivity issue rather than a free5GC/FlexRIC incompatibility.

Let me know what you find!

Hi,

I managed to solve the issue.
I reached out to the OAI forum in parallel, and they replied that the NSSAI needs to be consistent across the components and the xAPP — something we had overlooked.
After updating the NSSAI in the xAPP, the data collection started working!

Thank you very much for your willingness to help!