xapp_rc_ctrl_ho
[[TOC]]
Overview
xapp_rc_ctrl_ho xApp, using to send control message initiating mobility procedures with RC service model control message.
In addition, this xApp are given customized arguments to send control message. All values are given in integer type.
- RAN_UE_ID: The UE identifier a UE over E1 and F1 interface within a gNB (6.2.3.25 O-RAN.WG3.E2SM-R003-v03.01)
- SOURCE_NR_CGI: Cell identity that contains UE with RAN_UE_ID.
- TARGET_NR_CGI: Cell identity that RC HO control target on.
How to use the xApp
- Without configuration file
xapp_rc_ctrl_h.c RAN_UE_ID SRC_NR_CGI TARGET_NR_CGI
- With configuration file (Check how to use configuration on C SDK Signatures)
xapp_rc_ctrl_h.c -c conf_file_path RAN_UE_ID SRC_NR_CGI TARGET_NR_CGI
This includes the following stages:
- Init: initializes xApp based on configuration to set up the E42 connection with NearRT-RIC
- xApp Logic: creates the control request data based on O-RAN specification
- Control Service: sends control request to each E2-Node
- Exit: terminates xApp
Sequence Diagram
Detail
Init - Step 2 to 6
- Used Functions
xApp Logic - Step 7
Develop your xApp logic to generate the control request data by following the structure in O-RAN.WG3.E2SM-RC-v01.03 (8.4.4.1 Handover Control). For example, utilize the following functions to generate a control request data:
- Header:
gen_rc_ctrl_hdr()
-
Input:
Parameter Type in C Comment hdr_frm
e2sm_rc_ctrl_hdr_e
Format of header for RIC Control Request ue_id
ue_id_e2sm_t
UE ID used on E2 interface (6.2.2.6, O-RAN.WG3.E2SM-v02.01) ric_style_type
uint32_t
Control service style type (7.6.1, O-RAN.WG3.E2SM-RC-v01.03) ctrl_act_id
uint16_t
Control action ID ((7.6.2.1, O-RAN.WG3.E2SM-RC-v01.03) -
Output:
Parameter Type in C Comment rc_ctrl.hdr
e2sm_rc_ctrl_hdr_t
Header of RIC Control Request -
Example:
// Define a RC control reuqest data
rc_ctrl_req_data_t rc_ctrl = {0};
// Define header's format
e2sm_rc_ctrl_hdr_e hdr_frm = FORMAT_1_E2SM_RC_CTRL_HDR
// Generate UE ID, utilized by the RAN function to identify the UE to be controlled
ue_id_e2sm_t ue_id = gen_rc_ue_id(GNB_UE_ID_E2SM);
// Define control service style type
// Note: 3 is mapped to control Connected Mode Mobility
uint32_t ric_style_type = 3;
// Define control action ID
// Note: 1 is mapped to Handover control
uint16_t ctrl_act_id = 1;
rc_ctrl.hdr = gen_rc_ctrl_hdr(hdr_frm, ue_id, ric_style_type, ctrl_act_id); -
- Message:
gen_rc_ctrl_msg()
-
Input:
| Parameter | Type in C | Comment | |-----------|----------------------|-------------------------------------------| |
msg_frm
|e2sm_rc_ctrl_msg_e
| Format of message for RIC Control Request | -
Output:
| Parameter | Type in C | Comment | |---------------|----------------------|--------------------------------| |
rc_ctrl.msg
|e2sm_rc_ctrl_msg_t
| Message of RIC Control Request | -
Example:
rc_ctrl.msg = gen_rc_ctrl_msg(FORMAT_1_E2SM_RC_CTRL_MSG);
Note: The function
gen_rc_ctrl_msg()
callsgen_rc_ctrl_msg_frmt_1_slice_level_PRB_quota()
to fill the required parameters n accordance with Section 8.4.4.1 (Handover control) of the O-RAN.WG3.E2SM-RC-v01.03 specification, adhering to thee2sm_rc_ctrl_msg_frmt_1_t
structure.Section 8.4.4.1:
Target Primary Cell ID, STRUCTURE (len 1)
> CHOICE Target Cell, STRUCTURE (len 2)
>> NR Cell, STRUCTURE (len 1)
>>> NR CGI, ELEMENT
>> E-ULTRA Cell, STRUCTURE (len 1)
>>> E-ULTRA CGI, ELEMENT -
Control Service - Step 8 to 12
- Used function
Exit - Step 13 to 14
- Used function