Skip to main content

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.

  1. 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)
  2. SOURCE_NR_CGI: Cell identity that contains UE with RAN_UE_ID.
  3. TARGET_NR_CGI: Cell identity that RC HO control target on.

How to use the xApp

  1. Without configuration file
xapp_rc_ctrl_h.c RAN_UE_ID SRC_NR_CGI TARGET_NR_CGI
  1. 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


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:

      ParameterType in CComment
      hdr_frme2sm_rc_ctrl_hdr_eFormat of header for RIC Control Request
      ue_idue_id_e2sm_tUE ID used on E2 interface (6.2.2.6, O-RAN.WG3.E2SM-v02.01)
      ric_style_typeuint32_tControl service style type (7.6.1, O-RAN.WG3.E2SM-RC-v01.03)
      ctrl_act_iduint16_tControl action ID ((7.6.2.1, O-RAN.WG3.E2SM-RC-v01.03)
    • Output:

      ParameterType in CComment
      rc_ctrl.hdre2sm_rc_ctrl_hdr_tHeader 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() calls gen_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 the e2sm_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


Exit - Step 13 to 14