RAN metric data inside the RIC indication messages #295
-
Hi, I noticed that the RIC/xApp tutorial https://docs.srsran.com/projects/project/en/latest/tutorials/source/flexric/source/index.html has updated with some new metrics, well done! The tutorial mentions that the requested metric is hardcoded in the RIC and the xApp can't easily access it. I did some slight modifications to the RIC so the xApp can choose what metric to request for (but still only one metric per xApp). Back to the title, within the RIC indication messages from the RAN, how do I identify which RAN node / UE is the decoded metric for? E.g., I have one gnb and two connected UEs, and an xApp is requesting the CQI from the gnb. One UE has good CQI and the other has bad CQI so I can tell which UE corresponds to the reported CQI. The xApp is only getting the CQI of one of the UEs and once I turn this UE off the xApp starts to get the CQI of the other UE. Also is it possible to identify which RAN node is the RIC indication message from (when there are multiple gnbs)? Attached is a pcap when the xApp is requesting UL throughput while 2 UEs are connected to the gnb. |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 11 replies
-
Could you share your modification to the RIC? |
Beta Was this translation helpful? Give feedback.
-
I just used the enum (e.g., ms_5) where the xApp specifies the KPM indication interval, which is chosen by the xApp and gets passed to the RIC. The RIC then builds the subscription request based on the enum from the xApp which also indicates the metric string it wants. |
Beta Was this translation helpful? Give feedback.
-
Hey,
I think you need to rebuild the whole flexric library with sudo make
install etc in order for your change to take effect.
…On Thu, 9 Nov 2023, 09:03 fllay, ***@***.***> wrote:
Please let me know which file you can edit the metric string. I think it
is in this file
src/sm/kpm_sm_v2.02/kpm_sm_ric.c where
// Action Definition IE
long noLabelnum = 0;
adapter_LabelInfoItem_t dummylabelInfo = {.noLabel = &noLabelnum};
MeasInfo_t dummy_MeasInfo = {
.meas_type = KPM_V2_MEASUREMENT_TYPE_NAME,
.measName = {.buf = (unsigned char *)"DRB.RlcSduTransmittedVolumeDL", .len = 29},
.labelInfo = &dummylabelInfo,
.labelInfo_len = 1
};
kpm_action_def_t action_def = {
.ric_style_type = 1,
.granularity_period = 1,
.MeasInfo = &dummy_MeasInfo,
.MeasInfo_len = 1,
.cell_global_id = KPMV2_CELL_ID_CHOICE_NOTHING
};
I modified this .measName = {.buf = (unsigned char
*)"DRB.RlcSduTransmittedVolumeDL", .len = 29}, to .measName = {.buf =
(unsigned char *)"CQI", .len = 3},. It still reports RSRP metric. BTW, I
am using RIC with real UE ( a phone). Did it work only ZMQ configuration?
—
Reply to this email directly, view it on GitHub
<#295 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AATLGFHYQICNK46BB3HN6W3YDSE6VAVCNFSM6AAAAAA7BQJUWKVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM3TKMJZGMZTG>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
Hi, the Flexric version that we use here sends only E2SM_KPM Report Service Style 1 when sending an RIC Subscription Request. Report Service Style 1 is for E2-Level measurements (e.g. total DL throughput) and does not contain any UE identifier. Note that our E2 agent already supports all Report Styles (1-5), and styles 2-5 are for UE-level measurements (eg. UE DL throughput). Currently, our code allows you to request the CQI metric with Report Service Style 1, but this option is used mostly for testing and will be removed soon. It does not check any UE identifier (as there are none in the Report Service Style 1) and simply returns CQI of a UE that is the first in the metric array -- see here |
Beta Was this translation helpful? Give feedback.
-
Hi @pgawlowicz, I did a bit more experiments with the Flexric mir_dev branch which has all 5 RIC styles implemented. The E2 setup is successful but the gnb has trouble decoding the RIC subscription request from the kpm monitoring xapp. More specifically, the asn1 decoder has issues unpacking E2SM KPM Action Definition, and the unpacked action definition format does not match the action definition format configured in the xapp. Here are the modifications I made to the gnb and Flexric code so the error can be reproduced: Changes to gnb:
Changes to Flexric:
In xapp_kpm_moni.c , inside the code block kpm_act_def_t gen_act_def(const char** act) the action definition format is set to 4. The gnb logs, gnb terminal outputs and pcap are attached. In the gnb outputs, the ric style is correctly decoded as 4, but the action definition format is 2, which probably caused the subsequent decoding errors in the gnb logs (e.g., meas_type_c) |
Beta Was this translation helpful? Give feedback.
Hi @yc541,
Thank you for the investigation and your feedback.
Indeed, the newest FlexRIC version provides much more functionality.
We are currectly working on the example xApp on top of FlexRIC. We have already fixed some small bugs (including the one you pointed). Most probably all will be available after the next code release, along with the updated tutorial in our docs.
Best,
Piotr