RAN Control REPORT Style 1: "UE ID" support

As per spec, UE ID shall be reported when the message event configured by
the Event Trigger Style 1 is set to “RRC Setup Complete" message (UE attach), or
“Xn/NG Handover Request” or “F1 UE Context Setup Request” (Intra gNB Handover).

In OAI RAN, Xn/NG Handover is not yet supported, and therefore not added as the trigger event
in this commit.

Additionally, as the Event Trigger Definition Format 1 is common for both "RRC Message" and "UE ID",
E2 node will report the “RRC Setup Complete" message which the xApp will decode and print.

Co-authored-by: Khanh Toan Pham <khanh.toan.pham@hhi.fraunhofer.de>
Co-authored-by: Shrinish Donde <shrinish.donde@hhi.fraunhofer.de>
Co-authored-by: Theodoros Tsourdinis <theodoros.tsourdinis@sorbonne-universite.fr>
Co-authored-by: Miguel Fuentes <miguel.fuentes@i2cat.net>
Co-authored-by: Teodora Vladic <teodora.vladic@openairinterface.org>
This commit is contained in:
Tano Bischoff
2025-04-04 15:32:05 +02:00
committed by Robert Schmidt
co-authored by Khanh Toan Pham Shrinish Donde Theodoros Tsourdinis Miguel Fuentes Teodora Vladic
parent 8477de3571
commit c612005d28
8 changed files with 155 additions and 3 deletions
@@ -42,6 +42,7 @@ void init_rc_subs_data(rc_subs_data_t *rc_subs_data)
pthread_mutex_lock(&rc_mutex);
// Initialize sequence array
seq_arr_init(&rc_subs_data->rs1_param3, sizeof(ran_param_data_t));
seq_arr_init(&rc_subs_data->rs1_param4, sizeof(ran_param_data_t));
seq_arr_init(&rc_subs_data->rs4_param202, sizeof(ran_param_data_t));
pthread_mutex_unlock(&rc_mutex);
}
@@ -65,6 +66,14 @@ void remove_rc_subs_data(rc_subs_data_t *rc_subs_data, uint32_t ric_req_id)
seq_arr_erase(&rc_subs_data->rs1_param3, elm_rs1_param3.it);
}
/* find the sequence element that matches RIC request ID */
elm_arr_t elm_rs1_param4 = find_if(&rc_subs_data->rs1_param4, (void *)&ric_req_id, eq_int);
ran_param_data_t *data_rs1_param4 = elm_rs1_param4.it;
if (data_rs1_param4 != NULL) {
free_e2sm_rc_event_trigger(&data_rs1_param4->ev_tr);
seq_arr_erase(&rc_subs_data->rs1_param4, elm_rs1_param4.it);
}
/* find the sequence element that matches RIC request ID */
elm_arr_t elm_rs4_param202 = find_if(&rc_subs_data->rs4_param202, (void *)&ric_req_id, eq_int);
ran_param_data_t *data_rs4_param202 = elm_rs4_param202.it;