diff --git a/nfapi/oai_integration/nfapi_vnf.c b/nfapi/oai_integration/nfapi_vnf.c
index c01637c5587625197f35173a491760d597141f4e..93666157d32130110c7ca126ac6cd2927c96fccd 100644
--- a/nfapi/oai_integration/nfapi_vnf.c
+++ b/nfapi/oai_integration/nfapi_vnf.c
@@ -39,6 +39,7 @@
 
 #include "PHY/defs_eNB.h"
 #include "PHY/LTE_TRANSPORT/transport_proto.h"
+#include "openair2/LAYER2/MAC/mac.h"
 #include "openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h"
 #include "executables/lte-softmodem.h"
 #include "openair1/PHY/defs_gNB.h"
@@ -46,7 +47,6 @@
 #include "common/ran_context.h"
 #include "openair2/PHY_INTERFACE/queue_t.h"
 #include "gnb_ind_vars.h"
-#include "LAYER2/MAC/mac.h"
 
 #define TEST
 
diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c
index e2f1916a5b35e4f1504b60c9f426c911713dd8f6..ac2c453fc5467b78b86f81d018dad80e9f8a21c5 100644
--- a/openair1/SIMULATION/NR_PHY/dlsim.c
+++ b/openair1/SIMULATION/NR_PHY/dlsim.c
@@ -873,7 +873,7 @@ int main(int argc, char **argv)
   asn1cFreeStruc(asn_DEF_NR_CellGroupConfig, UE_CellGroup);
 
   UE_mac->state = UE_CONNECTED;
-  UE_mac->ra.ra_state = RA_SUCCEEDED;
+  UE_mac->ra.ra_state = nrRA_SUCCEEDED;
 
   nr_phy_data_t phy_data = {0};
   fapi_nr_dl_config_request_t dl_config = {.sfn = frame, .slot = slot};
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_RA.c b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
index 12984f299d9f9fbaa71b4b291d94b194daa2d104..6c04abd10488e71ff5a9e3e77a43e794af22ed42 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_RA.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_RA.c
@@ -108,8 +108,7 @@ add_msg3(module_id_t module_idP, int CC_id, RA_t *ra, frame_t frameP,
   uint8_t pusch_maxNumRepetitionCEmodeA_r13;
   ul_req = &mac->UL_req_tmp[CC_id][ra->Msg3_subframe];
   ul_req_body = &ul_req->ul_config_request_body;
-  AssertFatal(ra->state != IDLE, "RA is not active for RA %X\n",
-              ra->rnti);
+  AssertFatal(ra->eRA_state != IDLE, "RA is not active for RA %X\n", ra->rnti);
 
   if (ra->rach_resource_type > 0) {
     LOG_D (MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : CC_id %d CE level %d is active, Msg3 in (%d,%d)\n",
@@ -448,7 +447,7 @@ void generate_Msg2(module_id_t module_idP,
         /* Program UL processing for Msg3, same as regular LTE */
         get_Msg3alloc (&cc[CC_idP], subframeP, frameP, &ra->Msg3_frame, &ra->Msg3_subframe);
         add_msg3 (module_idP, CC_idP, ra, frameP, subframeP);
-        ra->state = WAITMSG3;
+        ra->eRA_state = WAITMSG3;
         /* DL request */
         LOG_D(MAC, "[eNB %d][RAPROC] Frame %d, Subframe %d : In generate_Msg2, Programming TX Req\n",
               module_idP,
@@ -467,8 +466,12 @@ void generate_Msg2(module_id_t module_idP,
   } else {
     if ((ra->Msg2_frame == frameP) && (ra->Msg2_subframe == subframeP)) {
       LOG_D(MAC,
-            "[eNB %d] CC_id %d Frame %d, subframeP %d: Generating RAR DCI, state %d\n",
-            module_idP, CC_idP, frameP, subframeP, ra->state);
+            "[eNB %d] CC_id %d Frame %d, subframeP %d: Generating RAR DCI, state %s\n",
+            module_idP,
+            CC_idP,
+            frameP,
+            subframeP,
+            era_text[ra->eRA_state]);
       // Allocate 4 PRBS starting in RB 0
       first_rb = 0;
       vrb_map[first_rb] = 1;
@@ -537,7 +540,7 @@ void generate_Msg2(module_id_t module_idP,
               ra->Msg3_subframe);
         fill_rar(module_idP, CC_idP, ra, frameP, cc[CC_idP].RAR_pdu.payload, N_RB_DL, 7);
         add_msg3(module_idP, CC_idP, ra, frameP, subframeP);
-        ra->state = WAITMSG3;
+        ra->eRA_state = WAITMSG3;
         LOG_D(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d: state:WAITMSG3\n", module_idP, frameP, subframeP);
         T(T_ENB_MAC_UE_DL_RAR_PDU_WITH_DATA, T_INT(module_idP),
           T_INT(CC_idP), T_INT(ra->RA_rnti), T_INT(frameP),
@@ -819,7 +822,7 @@ generate_Msg4(module_id_t module_idP,
       dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP;
       dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0;
       dl_req_body->number_pdu++;
-      ra->state = WAITMSG4ACK;
+      ra->eRA_state = WAITMSG4ACK;
       lcid = 0;
       UE_info->UE_sched_ctrl[UE_id].round[CC_idP][ra->harq_pid] = 0;
       msg4_header = 1 + 6 + 1;        // CR header, CR CE, SDU header
@@ -975,7 +978,7 @@ generate_Msg4(module_id_t module_idP,
                                        dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.aggregation_level, ra->rnti)) {
           dl_req_body->number_dci++;
           dl_req_body->number_pdu++;
-          ra->state = WAITMSG4ACK;
+          ra->eRA_state = WAITMSG4ACK;
           LOG_D(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d: state:WAITMSG4ACK\n", module_idP, frameP, subframeP);
           // increment Absolute subframe by 8 for Msg4 retransmission
           LOG_D(MAC,
@@ -1219,7 +1222,7 @@ check_Msg4_retransmission(module_id_t module_idP, int CC_idP,
     LOG_D(MAC,
           "[eNB %d][RAPROC] CC_id %d Frame %d, subframeP %d : Msg4 acknowledged\n",
           module_idP, CC_idP, frameP, subframeP);
-    ra->state = IDLE;
+    ra->eRA_state = IDLE;
     LOG_D(MAC,"[eNB %d][RAPROC] Frame %d, Subframe %d: state:IDLE\n", module_idP, frameP, subframeP);
     UE_id = find_UE_id(module_idP, ra->rnti);
     DevAssert(UE_id != -1);
@@ -1246,11 +1249,11 @@ schedule_RA(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) {
     for (i = 0; i < NB_RA_PROC_MAX; i++) {
       ra = (RA_t *) & cc[CC_id].ra[i];
 
-      if (ra->state == MSG2)
+      if (ra->eRA_state == MSG2)
         generate_Msg2(module_idP, CC_id, frameP, subframeP, ra);
-      else if (ra->state == MSG4 && ra->Msg4_frame == frameP && ra->Msg4_subframe == subframeP )
+      else if (ra->eRA_state == MSG4 && ra->Msg4_frame == frameP && ra->Msg4_subframe == subframeP)
         generate_Msg4(module_idP, CC_id, frameP, subframeP, ra);
-      else if (ra->state == WAITMSG4ACK)
+      else if (ra->eRA_state == WAITMSG4ACK)
         check_Msg4_retransmission(module_idP, CC_id, frameP,
                                   subframeP, ra);
     }     // for i=0 .. N_RA_PROC-1
@@ -1309,11 +1312,11 @@ initiate_ra_proc(module_id_t module_idP,
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_INITIATE_RA_PROC, 0);
 
   for (i = 0; i < NB_RA_PROC_MAX; i++) {
-    if (ra[i].state == IDLE) {
+    if (ra[i].eRA_state == IDLE) {
       int loop = 0;
       LOG_D(MAC, "Frame %d, Subframe %d: Activating RA process %d\n",
             frameP, subframeP, i);
-      ra[i].state = MSG2;
+      ra[i].eRA_state = MSG2;
       ra[i].Msg4_delay_cnt=0;
       ra[i].timing_offset = timing_offset;
       ra[i].preamble_subframe = subframeP;
@@ -1410,7 +1413,8 @@ initiate_ra_proc(module_id_t module_idP,
       ra[i].preamble_index = preamble_index;
       failure_cnt = 0;
       LOG_I(MAC,
-            "[eNB %d][RAPROC] CC_id %d Frame %d Activating RAR generation in Frame %d, subframe %d for process %d, rnti %x, state %d\n",
+            "[eNB %d][RAPROC] CC_id %d Frame %d Activating RAR generation in Frame %d, subframe %d for process %d, rnti %x, state "
+            "%d\n",
             module_idP,
             CC_id,
             frameP,
@@ -1418,7 +1422,7 @@ initiate_ra_proc(module_id_t module_idP,
             ra[i].Msg2_subframe,
             i,
             ra[i].rnti,
-            ra[i].state);
+            ra[i].eRA_state);
       return;
     }
   }
@@ -1445,7 +1449,7 @@ cancel_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP,
 
   for (i = 0; i < NB_RA_PROC_MAX; i++) {
     if (rnti == ra[i].rnti) {
-      ra[i].state = IDLE;
+      ra[i].eRA_state = IDLE;
       ra[i].timing_offset = 0;
       ra[i].RRC_timer = 20;
       ra[i].rnti = 0;
@@ -1461,7 +1465,7 @@ void clear_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP) {
 
   for (i = 0; i < NB_RA_PROC_MAX; i++) {
     LOG_D(MAC,"[eNB %d][RAPROC] CC_id %d Frame %d Clear Random access information rnti %x\n", module_idP, CC_id, frameP, ra[i].rnti);
-    ra[i].state = IDLE;
+    ra[i].eRA_state = IDLE;
     ra[i].timing_offset = 0;
     ra[i].RRC_timer = 20;
     ra[i].rnti = 0;
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
index 395803b5f518c5a83e9b4c9a75a23060cd4512b5..94eaeccaf6fbcdf44bd2ac4e0c325e04c5858a35 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
@@ -428,11 +428,11 @@ void check_ra_rnti_mui(module_id_t mod_id, int CC_id, frame_t f, sub_frame_t sf,
   int harq_pid = frame_subframe2_dl_harq_pid(tdd_config, f, sf);
   RA_t *ra = &RC.mac[mod_id]->common_channels[CC_id].ra[0];
   for (uint8_t ra_ii = 0; ra_ii < NB_RA_PROC_MAX; ra_ii++, ra++) {
-    if ((ra->rnti == rnti) && (ra->state == MSGCRNTI)) {
+    if ((ra->rnti == rnti) && (ra->eRA_state == MSGCRNTI)) {
       for (uint16_t mui_num = 0; mui_num < rlc_am_mui.rrc_mui_num; mui_num++) {
         if (ra->crnti_rrc_mui == rlc_am_mui.rrc_mui[mui_num]) {
           ra->crnti_harq_pid = harq_pid;
-          ra->state = MSGCRNTI_ACK;
+          ra->eRA_state = MSGCRNTI_ACK;
           break;
         }
       }
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c b/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
index db3387198e08ff43615c6b328a00d78b656d10cf..3d38a55421e03009fb3474067bb4ddeb787dcb78 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_fairRR.c
@@ -1583,11 +1583,11 @@ schedule_ue_spec_fairRR(module_id_t module_idP,
             RA_t *ra = &eNB->common_channels[CC_id].ra[0];
 
             for (uint8_t ra_ii = 0; ra_ii < NB_RA_PROC_MAX; ra_ii++) {
-              if((ra[ra_ii].rnti == rnti) && (ra[ra_ii].state == MSGCRNTI)) {
+              if ((ra[ra_ii].rnti == rnti) && (ra[ra_ii].eRA_state == MSGCRNTI)) {
                 for(uint16_t mui_num = 0; mui_num < rlc_am_mui.rrc_mui_num; mui_num++) {
                   if(ra[ra_ii].crnti_rrc_mui == rlc_am_mui.rrc_mui[mui_num]) {
                     ra[ra_ii].crnti_harq_pid = harq_pid;
-                    ra[ra_ii].state = MSGCRNTI_ACK;
+                    ra[ra_ii].eRA_state = MSGCRNTI_ACK;
                     break;
                   }
                 }
@@ -2869,7 +2869,7 @@ schedule_ulsch_fairRR(module_id_t module_idP, frame_t frameP,
     // Msg3 is using 1 PRB so we need to increase first_rb accordingly
     // not sure about the break (can there be more than 1 active RA procedure?)
     for (i=0; i<NB_RA_PROC_MAX; i++) {
-      if ((cc->ra[i].state == WAITMSG3) &&(cc->ra[i].Msg3_subframe == sched_subframe)) {
+      if ((cc->ra[i].eRA_state == WAITMSG3) && (cc->ra[i].Msg3_subframe == sched_subframe)) {
         ulsch_ue_select[CC_id].list[ulsch_ue_select[CC_id].ue_num].ue_priority = SCH_UL_MSG3;
 
         if (cc->tdd_Config == NULL) {
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
index c21aac0b6303541ddb7ca064580091a06535d420..50c46b16e13979f0ae046c530f234d8dc10ff0b2 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
@@ -2005,12 +2005,9 @@ find_RA_id(module_id_t mod_idP,
   RA_t *ra = (RA_t *) &RC.mac[mod_idP]->common_channels[CC_idP].ra[0];
 
   for (RA_id = 0; RA_id < NB_RA_PROC_MAX; RA_id++) {
-    LOG_D(MAC, "Checking RA_id %d for %x : state %d\n",
-          RA_id,
-          rntiP,
-          ra[RA_id].state);
+    LOG_D(MAC, "Checking RA_id %d for %x : state %s\n", RA_id, rntiP, era_text[ra[RA_id].eRA_state]);
 
-    if (ra[RA_id].state != IDLE && ra[RA_id].rnti == rntiP)
+    if (ra[RA_id].eRA_state != IDLE && ra[RA_id].rnti == rntiP)
       return RA_id;
   }
 
@@ -3970,7 +3967,7 @@ extract_harq(module_id_t mod_idP,
 
               if (sched_ctl->round[CC_idP][harq_pid] == 8) {
                 for (uint8_t ra_i = 0; ra_i < NB_RA_PROC_MAX; ra_i++) {
-                  if (ra[ra_i].rnti == rnti && ra[ra_i].state == WAITMSG4ACK) {
+                  if (ra[ra_i].rnti == rnti && ra[ra_i].eRA_state == WAITMSG4ACK) {
                     //Msg NACK num to MAC ,remove UE
                     // add UE info to freeList
                     LOG_I(RRC, "put UE %x into freeList\n",
@@ -3985,7 +3982,7 @@ extract_harq(module_id_t mod_idP,
           }
 
           for (uint8_t ra_i = 0; ra_i < NB_RA_PROC_MAX; ra_i++) {
-            if (ra[ra_i].rnti == rnti && ra[ra_i].state == MSGCRNTI_ACK && ra[ra_i].crnti_harq_pid == harq_pid) {
+            if (ra[ra_i].rnti == rnti && ra[ra_i].eRA_state == MSGCRNTI_ACK && ra[ra_i].crnti_harq_pid == harq_pid) {
               LOG_D(MAC,"CRNTI Reconfiguration: ACK %d rnti %x round %d frame %d subframe %d \n",
                     harq_indication_tdd->harq_data[0].bundling.value_0,
                     rnti,
@@ -4077,7 +4074,7 @@ extract_harq(module_id_t mod_idP,
           RA_t *ra = &eNB->common_channels[CC_idP].ra[0];
 
           for (uint8_t ra_i = 0; ra_i < NB_RA_PROC_MAX; ra_i++) {
-            if (ra[ra_i].rnti == rnti && ra[ra_i].state == MSGCRNTI_ACK && ra[ra_i].crnti_harq_pid == harq_pid) {
+            if (ra[ra_i].rnti == rnti && ra[ra_i].eRA_state == MSGCRNTI_ACK && ra[ra_i].crnti_harq_pid == harq_pid) {
               LOG_D(MAC,"CRNTI Reconfiguration: ACK %d rnti %x round %d frame %d subframe %d \n",
                     pdu[0],
                     rnti,
@@ -4122,7 +4119,7 @@ extract_harq(module_id_t mod_idP,
 
             if (sched_ctl->round[CC_idP][harq_pid] == 8) {
               for (uint8_t ra_i = 0; ra_i < NB_RA_PROC_MAX; ra_i++) {
-                if((ra[ra_i].rnti == rnti) && (ra[ra_i].state == WAITMSG4ACK)) {
+                if ((ra[ra_i].rnti == rnti) && (ra[ra_i].eRA_state == WAITMSG4ACK)) {
                   // Msg NACK num to MAC ,remove UE
                   // add UE info to freeList
                   LOG_I(RRC, "put UE %x into freeList\n",
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 167ac2628e09d2375efca540b253d9a0e60a4d6e..058ce4db34991430c27d85b92c5ebe26e7f6a929 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -522,7 +522,7 @@ rx_sdu(const module_id_t enb_mod_idP,
 
               /* Received a new rnti */
               if (ret == 0) {
-                ra->state = MSGCRNTI;
+                ra->eRA_state = MSGCRNTI;
                 LOG_I(MAC, "[eNB %d] Frame %d, Subframe %d CC_id %d : (rnti %x UE_id %d) Received rnti(Msg4)\n",
                       enb_mod_idP,
                       frameP,
@@ -729,13 +729,14 @@ rx_sdu(const module_id_t enb_mod_idP,
 
         if (RA_id != -1) {
           RA_t *ra = &(mac->common_channels[CC_idP].ra[RA_id]);
-          LOG_D(MAC, "[mac %d][RAPROC] CC_id %d Checking proc %d : rnti (%x, %x), state %d\n",
+          LOG_D(MAC,
+                "[mac %d][RAPROC] CC_id %d Checking proc %d : rnti (%x, %x), state %s\n",
                 enb_mod_idP,
                 CC_idP,
                 RA_id,
                 ra->rnti,
                 current_rnti,
-                ra->state);
+                era_text[ra->eRA_state]);
 
           if (UE_id < 0) {
             memcpy(&(ra->cont_res_id[0]), payload_ptr, 6);
@@ -788,7 +789,7 @@ rx_sdu(const module_id_t enb_mod_idP,
           }
 
           // prepare transmission of Msg4
-          ra->state = MSG4;
+          ra->eRA_state = MSG4;
 
           if(mac->common_channels[CC_idP].tdd_Config != NULL) {
             switch(mac->common_channels[CC_idP].tdd_Config->subframeAssignment) {
diff --git a/openair2/LAYER2/MAC/mac.h b/openair2/LAYER2/MAC/mac.h
index 3de061b07e3fb34805a75723a17d4e7f2e4f0938..635155b5a253ebadb74b4673b728fe7aaea0f44c 100644
--- a/openair2/LAYER2/MAC/mac.h
+++ b/openair2/LAYER2/MAC/mac.h
@@ -505,7 +505,9 @@ typedef struct {
 } __attribute__ ((__packed__)) ULDCH_PDU;
 
 /*!\brief RA process state*/
-typedef enum { IDLE = 0, MSG2, WAITMSG3, MSG4, WAITMSG4ACK, MSGCRNTI, MSGCRNTI_ACK } RA_state;
+typedef enum { IDLE = 0, MSG2, WAITMSG3, MSG4, WAITMSG4ACK, MSGCRNTI, MSGCRNTI_ACK } eRA_state;
+static const char *const era_text[] = {"IDLE", "Ms2", "WAITMSG3", "WAITMSG4ACK", "MSGCRNTI", "MSGCRNTIACK"};
+
 /*!\brief  UE DLSCH scheduling states*/
 typedef enum { S_DL_NONE = 0, S_DL_SCHEDULED } UE_DLSCH_STATUS;
 /*!\brief  scheduler mode */
@@ -1032,7 +1034,7 @@ typedef struct {
 /*! \brief eNB template for the Random access information */
 typedef struct {
   /// Flag to indicate this process is active
-  RA_state state;
+  eRA_state eRA_state;
   /// Subframe where preamble was received
   uint8_t preamble_subframe;
   /// Subframe where Msg2 is to be sent
diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c
index 6a528f8548eb87412e4d413e9e47ce09298c8942..ef5df5beb9ef690286dbc517b0e23c681eff405d 100644
--- a/openair2/LAYER2/NR_MAC_UE/config_ue.c
+++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c
@@ -1461,7 +1461,7 @@ static void handle_reconfiguration_with_sync(NR_UE_MAC_INST_t *mac,
   }
 
   mac->state = UE_NOT_SYNC;
-  ra->ra_state = RA_UE_IDLE;
+  ra->ra_state = nrRA_UE_IDLE;
   nr_ue_mac_default_configs(mac);
 
   if (!get_softmodem_params()->emulate_l1) {
diff --git a/openair2/LAYER2/NR_MAC_UE/mac_defs.h b/openair2/LAYER2/NR_MAC_UE/mac_defs.h
index f3c66f980b108b2bd13d9359a7f500bee674fc5f..0c112ac66d34551baf8205efea0f7b8775a30c63 100644
--- a/openair2/LAYER2/NR_MAC_UE/mac_defs.h
+++ b/openair2/LAYER2/NR_MAC_UE/mac_defs.h
@@ -238,13 +238,16 @@ typedef struct {
 } NR_UE_SCHEDULING_INFO;
 
 typedef enum {
-  RA_UE_IDLE = 0,
-  GENERATE_PREAMBLE = 1,
-  WAIT_RAR = 2,
-  WAIT_CONTENTION_RESOLUTION = 3,
-  RA_SUCCEEDED = 4,
-  RA_FAILED = 5
-} RA_state_t;
+  nrRA_UE_IDLE = 0,
+  nrRA_GENERATE_PREAMBLE = 1,
+  nrRA_WAIT_RAR = 2,
+  nrRA_WAIT_CONTENTION_RESOLUTION = 3,
+  nrRA_SUCCEEDED = 4,
+  nrRA_FAILED = 5
+} nrRA_UE_state_t;
+
+static const char *const nrra_ue_text[] =
+    {"UE_IDLE", "GENERATE_PREAMBLE", "WAIT_RAR", "WAIT_CONTENTION_RESOLUTION", "RA_SUCCEEDED", "RA_FAILED"};
 
 typedef struct {
   /// PRACH format retrieved from prach_ConfigIndex
@@ -276,7 +279,7 @@ typedef struct {
   // pointer to RACH config dedicated
   NR_RACH_ConfigDedicated_t *rach_ConfigDedicated;
   /// state of RA procedure
-  RA_state_t ra_state;
+  nrRA_UE_state_t ra_state;
   /// RA contention type
   uint8_t cfra;
   /// RA rx frame offset: compensate RA rx offset introduced by OAI gNB.
diff --git a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
index 08b17f0cb9e368c8c3530f402840d6798785b1dc..c8119a8ef490b4d6556701e253aa3bc24accdde6 100644
--- a/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
+++ b/openair2/LAYER2/NR_MAC_UE/main_ue_nr.c
@@ -101,7 +101,7 @@ void nr_ue_reset_sync_state(NR_UE_MAC_INST_t *mac)
   // reset synchornization status
   mac->first_sync_frame = -1;
   mac->state = UE_NOT_SYNC;
-  mac->ra.ra_state = RA_UE_IDLE;
+  mac->ra.ra_state = nrRA_UE_IDLE;
 }
 
 NR_UE_MAC_INST_t *nr_l2_init_ue(int nb_inst)
@@ -160,8 +160,8 @@ void reset_mac_inst(NR_UE_MAC_INST_t *nr_mac)
     nr_mac->ul_harq_info[k].last_ndi = -1; // initialize to invalid value
 
   // stop any ongoing RACH procedure
-  if (nr_mac->ra.ra_state < RA_SUCCEEDED)
-    nr_mac->ra.ra_state = RA_UE_IDLE;
+  if (nr_mac->ra.ra_state < nrRA_SUCCEEDED)
+    nr_mac->ra.ra_state = nrRA_UE_IDLE;
 
   // discard explicitly signalled contention-free Random Access Resources
   // TODO not sure what needs to be done here
diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
index 29080b824f2a8fa9b72ce858c5e803c45ee8be9a..e6013fdc37569e48c62428c162ded071eeefb2de 100644
--- a/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
+++ b/openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
@@ -563,7 +563,7 @@ void nr_get_prach_resources(NR_UE_MAC_INST_t *mac,
 void nr_Msg1_transmitted(NR_UE_MAC_INST_t *mac)
 {
   RA_config_t *ra = &mac->ra;
-  ra->ra_state = WAIT_RAR;
+  ra->ra_state = nrRA_WAIT_RAR;
   ra->RA_attempt_number++;
 }
 
@@ -580,7 +580,7 @@ void nr_Msg3_transmitted(NR_UE_MAC_INST_t *mac, uint8_t CC_id, frame_t frameP, s
   nr_timer_setup(&ra->contention_resolution_timer, RA_contention_resolution_timer_subframes * subframes_per_slot, 1);
   nr_timer_start(&ra->contention_resolution_timer);
 
-  ra->ra_state = WAIT_CONTENTION_RESOLUTION;
+  ra->ra_state = nrRA_WAIT_CONTENTION_RESOLUTION;
 }
 
 void nr_get_msg3_payload(NR_UE_MAC_INST_t *mac, uint8_t *buf, int TBS_max)
@@ -645,10 +645,10 @@ void nr_ue_get_rach(NR_UE_MAC_INST_t *mac, int CC_id, frame_t frame, uint8_t gNB
   NR_PRACH_RESOURCES_t *prach_resources = &ra->prach_resources;
 
   // Delay init RA procedure to allow the convergence of the IIR filter on PRACH noise measurements at gNB side
-  if (ra->ra_state == RA_UE_IDLE) {
+  if (ra->ra_state == nrRA_UE_IDLE) {
     if ((mac->first_sync_frame > -1 || get_softmodem_params()->do_ra || get_softmodem_params()->nsa) &&
        ((MAX_FRAME_NUMBER + frame - mac->first_sync_frame) % MAX_FRAME_NUMBER) > 150) {
-      ra->ra_state = GENERATE_PREAMBLE;
+      ra->ra_state = nrRA_GENERATE_PREAMBLE;
     } else {
       LOG_D(NR_MAC,"PRACH Condition not met: ra state %d, frame %d, sync_frame %d\n", ra->ra_state, frame, mac->first_sync_frame);
       return;
@@ -657,8 +657,7 @@ void nr_ue_get_rach(NR_UE_MAC_INST_t *mac, int CC_id, frame_t frame, uint8_t gNB
 
   LOG_D(NR_MAC, "[UE %d][%d.%d]: ra_state %d, RA_active %d\n", mac->ue_id, frame, nr_slot_tx, ra->ra_state, ra->RA_active);
 
-  if (ra->ra_state > RA_UE_IDLE && ra->ra_state < RA_SUCCEEDED) {
-
+  if (ra->ra_state > nrRA_UE_IDLE && ra->ra_state < nrRA_SUCCEEDED) {
     if (ra->RA_active == 0) {
       NR_RACH_ConfigCommon_t *setup = mac->current_UL_BWP->rach_ConfigCommon;
       NR_RACH_ConfigGeneric_t *rach_ConfigGeneric = &setup->rach_ConfigGeneric;
@@ -726,7 +725,7 @@ void nr_ue_get_rach(NR_UE_MAC_INST_t *mac, int CC_id, frame_t frame, uint8_t gNB
 
         // Fill in preamble and PRACH resources
         ra->RA_window_cnt--;
-        if (ra->ra_state == GENERATE_PREAMBLE) {
+        if (ra->ra_state == nrRA_GENERATE_PREAMBLE) {
           nr_get_prach_resources(mac, CC_id, gNB_id, prach_resources, rach_ConfigDedicated);
         }
       } else if (ra->RA_backoff_cnt > 0) {
@@ -735,7 +734,7 @@ void nr_ue_get_rach(NR_UE_MAC_INST_t *mac, int CC_id, frame_t frame, uint8_t gNB
 
         ra->RA_backoff_cnt--;
 
-        if ((ra->RA_backoff_cnt > 0 && ra->ra_state == GENERATE_PREAMBLE) || ra->RA_backoff_cnt == 0) {
+        if ((ra->RA_backoff_cnt > 0 && ra->ra_state == nrRA_GENERATE_PREAMBLE) || ra->RA_backoff_cnt == 0) {
           nr_get_prach_resources(mac, CC_id, gNB_id, prach_resources, rach_ConfigDedicated);
         }
       }
@@ -828,7 +827,7 @@ void nr_ra_succeeded(NR_UE_MAC_INST_t *mac, const uint8_t gNB_index, const frame
 
   LOG_D(MAC, "[UE %d] clearing RA_active flag...\n", mac->ue_id);
   ra->RA_active = 0;
-  ra->ra_state = RA_SUCCEEDED;
+  ra->ra_state = nrRA_SUCCEEDED;
   mac->state = UE_CONNECTED;
   free_and_zero(ra->Msg3_buffer);
   nr_mac_rrc_ra_ind(mac->ue_id, frame, true);
@@ -854,7 +853,7 @@ void nr_ra_failed(NR_UE_MAC_INST_t *mac, uint8_t CC_id, NR_PRACH_RESOURCES_t *pr
   
   ra->first_Msg3 = true;
   ra->ra_PreambleIndex = -1;
-  ra->ra_state = RA_UE_IDLE;
+  ra->ra_state = nrRA_UE_IDLE;
 
   prach_resources->RA_PREAMBLE_TRANSMISSION_COUNTER++;
 
diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
index 3744e2fa39edcae92fff99616a23aa04d0b5c52f..2fd47cc756d18d3501d40313ce5dc85edba66c55 100644
--- a/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
+++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_dci_configuration.c
@@ -160,7 +160,7 @@ void config_dci_pdu(NR_UE_MAC_INST_t *mac,
     rel15->coreset.pdcch_dmrs_scrambling_id = mac->physCellId;
   }
 
-  rel15->num_dci_options = (mac->ra.ra_state == WAIT_RAR || rnti_type == TYPE_SI_RNTI_) ? 1 : 2;
+  rel15->num_dci_options = (mac->ra.ra_state == nrRA_WAIT_RAR || rnti_type == TYPE_SI_RNTI_) ? 1 : 2;
 
   if (ss->searchSpaceType->present == NR_SearchSpace__searchSpaceType_PR_ue_Specific) {
     if (ss->searchSpaceType->choice.ue_Specific->dci_Formats ==
@@ -406,11 +406,11 @@ bool is_ss_monitor_occasion(const int frame, const int slot, const int slots_per
   return monitor;
 }
 
-bool monitior_dci_for_other_SI(NR_UE_MAC_INST_t *mac,
-                               const NR_SearchSpace_t *ss,
-                               const int slots_per_frame,
-                               const int frame,
-                               const int slot)
+bool monitor_dci_for_other_SI(NR_UE_MAC_INST_t *mac,
+                              const NR_SearchSpace_t *ss,
+                              const int slots_per_frame,
+                              const int frame,
+                              const int slot)
 {
   const struct NR_SI_SchedulingInfo *si_SchedulingInfo = mac->si_SchedulingInfo;
   // 5.2.2.3.2 in 331
@@ -502,20 +502,18 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_request_t *dl
     // are same as PDCCH monitoring occasions for SIB1
     const NR_SearchSpace_t *ss = pdcch_config->otherSI_SS ? pdcch_config->otherSI_SS : mac->search_space_zero;
     // TODO configure SI-window
-    if (monitior_dci_for_other_SI(mac, ss, slots_per_frame, frame, slot)) {
+    if (monitor_dci_for_other_SI(mac, ss, slots_per_frame, frame, slot)) {
       LOG_D(NR_MAC_DCI, "Monitoring DCI for other SIs in frame %d slot %d\n", frame, slot);
       config_dci_pdu(mac, dl_config, TYPE_SI_RNTI_, slot, ss);
     }
   }
-  if (mac->state == UE_PERFORMING_RA &&
-      mac->ra.ra_state >= WAIT_RAR) {
+  if (mac->state == UE_PERFORMING_RA && mac->ra.ra_state >= nrRA_WAIT_RAR) {
     // if RA is ongoing use RA search space
     if (is_ss_monitor_occasion(frame, slot, slots_per_frame, pdcch_config->ra_SS)) {
-      int rnti_type = mac->ra.ra_state == WAIT_RAR ? TYPE_RA_RNTI_ : TYPE_TC_RNTI_;
+      int rnti_type = mac->ra.ra_state == nrRA_WAIT_RAR ? TYPE_RA_RNTI_ : TYPE_TC_RNTI_;
       config_dci_pdu(mac, dl_config, rnti_type, slot, pdcch_config->ra_SS);
     }
-  }
-  else if (mac->state == UE_CONNECTED) {
+  } else if (mac->state == UE_CONNECTED) {
     for (int i = 0; i < pdcch_config->list_SS.count; i++) {
       NR_SearchSpace_t *ss = pdcch_config->list_SS.array[i];
       if (is_ss_monitor_occasion(frame, slot, slots_per_frame, ss))
diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
index f2db3cfa53b0fb63bc8d624730166cb36fad7d68..3ef15ce4d4712299dc8ed5d1cf14894087826df5 100644
--- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
@@ -178,7 +178,7 @@ int get_rnti_type(const NR_UE_MAC_INST_t *mac, const uint16_t rnti)
 
   if (rnti == ra->ra_rnti) {
     rnti_type = TYPE_RA_RNTI_;
-  } else if (rnti == ra->t_crnti && (ra->ra_state == WAIT_RAR || ra->ra_state == WAIT_CONTENTION_RESOLUTION)) {
+  } else if (rnti == ra->t_crnti && (ra->ra_state == nrRA_WAIT_RAR || ra->ra_state == nrRA_WAIT_CONTENTION_RESOLUTION)) {
     rnti_type = TYPE_TC_RNTI_;
   } else if (rnti == mac->crnti) {
     rnti_type = TYPE_C_RNTI_;
@@ -3504,7 +3504,7 @@ void nr_ue_process_mac_pdu(NR_UE_MAC_INST_t *mac, nr_downlink_indication_t *dl_i
         // MAC SDU: 6 bytes (UE Contention Resolution Identity)
         mac_len = 6;
 
-        if(ra->ra_state == WAIT_CONTENTION_RESOLUTION) {
+        if (ra->ra_state == nrRA_WAIT_CONTENTION_RESOLUTION) {
           LOG_I(MAC, "[UE %d][RAPROC] Frame %d : received contention resolution identity: 0x%02x%02x%02x%02x%02x%02x Terminating RA procedure\n",
                 mac->ue_id,
                 frameP,
@@ -3530,7 +3530,7 @@ void nr_ue_process_mac_pdu(NR_UE_MAC_INST_t *mac, nr_downlink_indication_t *dl_i
           } else if (!ra_success){
             // TODO: Handle failure of RA procedure @ MAC layer
             //  nr_ra_failed(module_idP, CC_id, prach_resources, frameP, slot); // prach_resources is a PHY structure
-            ra->ra_state = RA_UE_IDLE;
+            ra->ra_state = nrRA_UE_IDLE;
             ra->RA_active = 0;
           }
         }
@@ -3609,8 +3609,7 @@ int nr_write_ce_ulsch_pdu(uint8_t *mac_ce,
           pdu, mac_ce);
   }
 
-  if (crnti && (!get_softmodem_params()->sa && get_softmodem_params()->do_ra && mac->ra.ra_state != RA_SUCCEEDED)) {
-
+  if (crnti && (!get_softmodem_params()->sa && get_softmodem_params()->do_ra && mac->ra.ra_state != nrRA_SUCCEEDED)) {
     LOG_D(NR_MAC, "In %s: generating C-RNTI MAC CE with C-RNTI %x\n", __FUNCTION__, (*crnti));
 
     // MAC CE fixed subheader
@@ -3625,7 +3624,6 @@ int nr_write_ce_ulsch_pdu(uint8_t *mac_ce,
     mac_ce_size = sizeof(uint16_t);
     mac_ce += mac_ce_size;
     mac_ce_len += mac_ce_size + sizeof(NR_MAC_SUBHEADER_FIXED);
-
   }
 
   if (truncated_bsr) {
diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
index 2ff4e1c6fec65203976a849d3a6833363404f38b..e9b188cfba9788d0f2b3548d5c4b71fb6c8d3223 100644
--- a/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
@@ -1075,7 +1075,7 @@ void nr_ue_ul_scheduler(NR_UE_MAC_INST_t *mac, nr_uplink_indication_t *ul_info)
             ulcfg_pdu->pusch_config_pdu.pusch_data.new_data_indicator,
             TBS_bytes,
             ra->ra_state);
-      if (ra->ra_state == WAIT_RAR && !ra->cfra) {
+      if (ra->ra_state == nrRA_WAIT_RAR && !ra->cfra) {
         nr_get_msg3_payload(mac, ulsch_input_buffer, TBS_bytes);
         for (int k = 0; k < TBS_bytes; k++) {
           LOG_D(NR_MAC, "(%i): 0x%x\n", k, ulsch_input_buffer[k]);
@@ -1083,7 +1083,7 @@ void nr_ue_ul_scheduler(NR_UE_MAC_INST_t *mac, nr_uplink_indication_t *ul_info)
         mac_pdu_exist = 1;
       } else {
         if (ulcfg_pdu->pusch_config_pdu.pusch_data.new_data_indicator
-            && (mac->state == UE_CONNECTED || (ra->ra_state == WAIT_RAR && ra->cfra))) {
+            && (mac->state == UE_CONNECTED || (ra->ra_state == nrRA_WAIT_RAR && ra->cfra))) {
           // Getting IP traffic to be transmitted
           nr_ue_get_sdu(mac, cc_id, frame_tx, slot_tx, gNB_index, ulsch_input_buffer, TBS_bytes);
           mac_pdu_exist = 1;
@@ -1096,13 +1096,13 @@ void nr_ue_ul_scheduler(NR_UE_MAC_INST_t *mac, nr_uplink_indication_t *ul_info)
         ulcfg_pdu->pusch_config_pdu.tx_request_body.pdu_length = TBS_bytes;
         number_of_pdus++;
       }
-      if (ra->ra_state == WAIT_CONTENTION_RESOLUTION && !ra->cfra) {
+      if (ra->ra_state == nrRA_WAIT_CONTENTION_RESOLUTION && !ra->cfra) {
         LOG_I(NR_MAC, "[RAPROC][%d.%d] RA-Msg3 retransmitted\n", frame_tx, slot_tx);
         // 38.321 restart the ra-ContentionResolutionTimer at each HARQ retransmission in the first symbol after the end of the Msg3
         // transmission
         nr_Msg3_transmitted(mac, cc_id, frame_tx, slot_tx, gNB_index);
       }
-      if (ra->ra_state == WAIT_RAR && !ra->cfra) {
+      if (ra->ra_state == nrRA_WAIT_RAR && !ra->cfra) {
         LOG_A(NR_MAC, "[RAPROC][%d.%d] RA-Msg3 transmitted\n", frame_tx, slot_tx);
         nr_Msg3_transmitted(mac, cc_id, frame_tx, slot_tx, gNB_index);
       }
@@ -2409,7 +2409,7 @@ static void nr_ue_prach_scheduler(NR_UE_MAC_INST_t *mac, frame_t frameP, sub_fra
 {
   RA_config_t *ra = &mac->ra;
   ra->RA_offset = 2; // to compensate the rx frame offset at the gNB
-  if(ra->ra_state != GENERATE_PREAMBLE)
+  if (ra->ra_state != nrRA_GENERATE_PREAMBLE)
     return;
 
   fapi_nr_config_request_t *cfg = &mac->phy_config.config_req;
diff --git a/openair2/LAYER2/NR_MAC_gNB/config.c b/openair2/LAYER2/NR_MAC_gNB/config.c
index dbfa073ae914548cc17e43cf4239b783b2a40254..b2ba4c77a4254d23cf029411715cb1a34064f24c 100644
--- a/openair2/LAYER2/NR_MAC_gNB/config.c
+++ b/openair2/LAYER2/NR_MAC_gNB/config.c
@@ -942,7 +942,8 @@ bool nr_mac_prepare_ra_ue(gNB_MAC_INST *nrmac, uint32_t rnti, NR_CellGroupConfig
   uint8_t ra_index = 0;
   /* checking for free RA process */
   for(; ra_index < NR_NB_RA_PROC_MAX; ra_index++) {
-    if((cc->ra[ra_index].state == RA_IDLE) && (!cc->ra[ra_index].cfra)) break;
+    if ((cc->ra[ra_index].ra_state == nrRA_gNB_IDLE) && (!cc->ra[ra_index].cfra))
+      break;
   }
   if (ra_index == NR_NB_RA_PROC_MAX) {
     LOG_E(NR_MAC, "RA processes are not available for CFRA RNTI %04x\n", rnti);
diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
index 5c99093f478016228b8ee8555f773020aa9910e0..1a940b2da0ef077de098cd74bfef129235508936 100644
--- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
@@ -574,7 +574,7 @@ void nr_initiate_ra_proc(module_id_t module_idP,
   for (int i = 0; i < NR_NB_RA_PROC_MAX; i++) {
 
     NR_RA_t *ra = &cc->ra[i];
-    if (ra->state != RA_IDLE)
+    if (ra->ra_state != nrRA_gNB_IDLE)
       continue;
 
     pr_found = 0;
@@ -648,21 +648,26 @@ void nr_initiate_ra_proc(module_id_t module_idP,
     LOG_D(NR_MAC, "%s() Msg2[%04d%d] SFN/SF:%04d%d\n", __FUNCTION__, ra->Msg2_frame, ra->Msg2_slot, frameP, slotP);
 
     int loop = 0;
+    bool exist_connected_ue, exist_in_pending_ra_ue;
     if (ra->rnti == 0) { // This condition allows for the usage of a preconfigured rnti for the CFRA
+      rnti_t trial = 0;
       do {
         // 3GPP TS 38.321 version 15.13.0 Section 7.1 Table 7.1-1: RNTI values
-        ra->rnti = (taus() % 0xffef) + 1;
+        while (trial < 1 || trial > 0xffef)
+          trial = (taus() % 0xffef) + 1;
+        exist_connected_ue = find_nr_UE(&nr_mac->UE_info, trial) != NULL;
+        exist_in_pending_ra_ue = find_nr_RA_id(module_idP, CC_id, trial) != -1;
         loop++;
-      } while (loop != 100
-               && !((find_nr_UE(&nr_mac->UE_info, ra->rnti) == NULL) && (find_nr_RA_id(module_idP, CC_id, ra->rnti) == -1)
-                    && ra->rnti >= 0x1 && ra->rnti <= 0xffef));
+      } while (loop < 100 && (exist_connected_ue || exist_in_pending_ra_ue) );
       if (loop == 100) {
-        LOG_E(NR_MAC, "[RAPROC] initialisation random access aborted\n");
-        abort();
+	LOG_E(NR_MAC, "[RAPROC] initialisation random access: no more available RNTIs for new UE\n");
+	NR_SCHED_UNLOCK(&nr_mac->sched_lock);
+	return;
       }
+      ra->rnti = trial;
     }
 
-    ra->state = Msg2;
+    ra->ra_state = nrRA_Msg2;
     ra->RA_rnti = ra_rnti;
     ra->preamble_index = preamble_index;
     ra->beam_id = cc->ssb_index[beam_index];
@@ -887,7 +892,7 @@ static void nr_generate_Msg3_retransmission(module_id_t module_idP,
         ra->UL_BWP.scs);
 
     // reset state to wait msg3
-    ra->state = WAIT_Msg3;
+    ra->ra_state = nrRA_WAIT_Msg3;
     ra->Msg3_frame = sched_frame;
     ra->Msg3_slot = sched_slot;
 
@@ -951,7 +956,7 @@ static void nr_get_Msg3alloc(module_id_t module_id,
           NrOfSymbols <= Msg3maxsymb) {
         ra->Msg3_tda_id = i;
         ra->msg3_startsymb = StartSymbolIndex;
-        ra->msg3_nrsymb = NrOfSymbols;
+        ra->msg3_nbSymb = NrOfSymbols;
         ra->Msg3_slot = temp_slot;
         break;
       }
@@ -1134,13 +1139,13 @@ static void nr_add_msg3(module_id_t module_idP, int CC_id, frame_t frameP, sub_f
   NR_UE_UL_BWP_t *ul_bwp = &ra->UL_BWP;
   NR_UE_ServingCell_Info_t *sc_info = &ra->sc_info;
 
-  if (ra->state == RA_IDLE) {
+  if (ra->ra_state == nrRA_gNB_IDLE) {
     LOG_W(NR_MAC,"RA is not active for RA %X. skipping msg3 scheduling\n", ra->rnti);
     return;
   }
 
   const int scs = ul_bwp->scs;
-  const uint16_t mask = SL_to_bitmap(ra->msg3_startsymb, ra->msg3_nrsymb);
+  const uint16_t mask = SL_to_bitmap(ra->msg3_startsymb, ra->msg3_nbSymb);
   int buffer_index = ul_buffer_index(ra->Msg3_frame, ra->Msg3_slot, scs, mac->vrb_map_UL_size);
   uint16_t *vrb_map_UL = &RC.nrmac[module_idP]->common_channels[CC_id].vrb_map_UL[buffer_index * MAX_BWP_SIZE];
   for (int i = 0; i < ra->msg3_nb_rb; ++i) {
@@ -1309,8 +1314,15 @@ static void nr_generate_Msg2(module_id_t module_idP,
     pdsch_pdu_rel15->precodingAndBeamforming.prgs_list[0].pm_idx = 0;
     pdsch_pdu_rel15->precodingAndBeamforming.prgs_list[0].dig_bf_interface_list[0].beam_idx = 0;
 
-    LOG_A(NR_MAC,"[gNB %d][RAPROC] CC_id %d Frame %d, slotP %d: Generating RA-Msg2 DCI, rnti 0x%x, state %d, CoreSetType %d\n",
-          module_idP, CC_id, frameP, slotP, ra->RA_rnti, ra->state,pdcch_pdu_rel15->CoreSetType);
+    LOG_A(NR_MAC,
+          "[gNB %d][RAPROC] CC_id %d Frame %d, slotP %d: Generating RA-Msg2 DCI, rnti 0x%x, state %d, CoreSetType %d\n",
+          module_idP,
+          CC_id,
+          frameP,
+          slotP,
+          ra->RA_rnti,
+          ra->ra_state,
+          pdcch_pdu_rel15->CoreSetType);
 
     // SCF222: PDU index incremented for each PDSCH PDU sent in TX control message. This is used to associate control
     // information to data and is reset every slot.
@@ -1483,8 +1495,14 @@ static void nr_generate_Msg2(module_id_t module_idP,
       vrb_map[BWPStart + rb + rbStart] |= SL_to_bitmap(tda_info.startSymbolIndex, tda_info.nrOfSymbols);
     }
 
-    ra->state = WAIT_Msg3;
-    LOG_D(NR_MAC,"[gNB %d][RAPROC] Frame %d, Subframe %d: rnti %04x RA state %d\n", module_idP, frameP, slotP, ra->rnti, ra->state);
+    ra->ra_state = nrRA_WAIT_Msg3;
+    LOG_D(NR_MAC,
+          "[gNB %d][RAPROC] Frame %d, Subframe %d: rnti %04x RA state %s\n",
+          module_idP,
+          frameP,
+          slotP,
+          ra->rnti,
+          nrra_text[ra->ra_state]);
   }
 }
 
@@ -1933,7 +1951,7 @@ static void nr_generate_Msg4(module_id_t module_idP,
       vrb_map[BWPStart + rb + rbStart] |= SL_to_bitmap(msg4_tda.startSymbolIndex, msg4_tda.nrOfSymbols);
     }
 
-    ra->state = WAIT_Msg4_ACK;
+    ra->ra_state = nrRA_WAIT_Msg4_ACK;
     LOG_I(NR_MAC,"UE %04x Generate msg4: feedback at %4d.%2d, payload %d bytes, next state WAIT_Msg4_ACK\n", ra->rnti, pucch->frame, pucch->ul_slot, harq->tb_size);
   }
 }
@@ -1971,7 +1989,7 @@ static void nr_check_Msg4_Ack(module_id_t module_id, int CC_id, frame_t frame, s
       }
     } else {
       LOG_I(NR_MAC, "(UE %04x) Received Nack of RA-Msg4. Preparing retransmission!\n", ra->rnti);
-      ra->state = Msg4;
+      ra->ra_state = nrRA_Msg4;
     }
   }
 }
@@ -1981,7 +1999,7 @@ void nr_clear_ra_proc(module_id_t module_idP, int CC_id, frame_t frameP, NR_RA_t
   /* we assume that this function is mutex-protected from outside */
   NR_SCHED_ENSURE_LOCKED(&RC.nrmac[module_idP]->sched_lock);
   LOG_D(NR_MAC,"[gNB %d][RAPROC] CC_id %d Frame %d Clear Random access information rnti %x\n", module_idP, CC_id, frameP, ra->rnti);
-  ra->state = RA_IDLE;
+  ra->ra_state = nrRA_gNB_IDLE;
   ra->timing_offset = 0;
   ra->RRC_timer = 20;
   ra->msg3_round = 0;
@@ -2122,10 +2140,10 @@ void nr_schedule_RA(module_id_t module_idP,
     NR_COMMON_channels_t *cc = &mac->common_channels[CC_id];
     for (int i = 0; i < NR_NB_RA_PROC_MAX; i++) {
       NR_RA_t *ra = &cc->ra[i];
-      LOG_D(NR_MAC, "RA[state:%d]\n", ra->state);
+      LOG_D(NR_MAC, "RA[state:%d]\n", ra->ra_state);
 
       // Check RA Contention Resolution timer
-      if (ra->state >= WAIT_Msg3) {
+      if (ra->ra_state >= nrRA_WAIT_Msg3) {
         ra->contention_resolution_timer--;
         if (ra->contention_resolution_timer < 0) {
           LOG_W(NR_MAC, "(%d.%d) RA Contention Resolution timer expired for UE 0x%04x, RA procedure failed...\n", frameP, slotP, ra->rnti);
@@ -2135,19 +2153,19 @@ void nr_schedule_RA(module_id_t module_idP,
         }
       }
 
-      switch (ra->state) {
-        case Msg2:
+      switch (ra->ra_state) {
+        case nrRA_Msg2:
           nr_generate_Msg2(module_idP, CC_id, frameP, slotP, ra, DL_req, TX_req);
           break;
-        case Msg3_retransmission:
+        case nrRA_Msg3_retransmission:
           nr_generate_Msg3_retransmission(module_idP, CC_id, frameP, slotP, ra, ul_dci_req);
           break;
-        case Msg3_dcch_dtch:
+        case nrRA_Msg3_dcch_dtch:
           /* fallthrough */
-        case Msg4:
+        case nrRA_Msg4:
           nr_generate_Msg4(module_idP, CC_id, frameP, slotP, ra, DL_req, TX_req);
           break;
-        case WAIT_Msg4_ACK:
+        case nrRA_WAIT_Msg4_ACK:
           nr_check_Msg4_Ack(module_idP, CC_id, frameP, slotP, ra);
           break;
         default:
diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
index 932e11035b19a9f0c9cba359eab0301cc9ac4b7b..265d1e819be04995ebf196f52861bacf63d2d160 100644
--- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
@@ -2000,15 +2000,12 @@ NR_UE_info_t *find_nr_UE(NR_UEs_t *UEs, rnti_t rntiP)
 
 int find_nr_RA_id(module_id_t mod_idP, int CC_idP, rnti_t rntiP)
 {
-  NR_RA_t *ra = &RC.nrmac[mod_idP]->common_channels[CC_idP].ra[0];
+  NR_RA_t *ra = RC.nrmac[mod_idP]->common_channels[CC_idP].ra;
 
   for (int RA_id = 0; RA_id < NR_NB_RA_PROC_MAX; RA_id++) {
-    LOG_D(NR_MAC, "Checking RA_id %d for %x : state %d\n",
-          RA_id,
-          rntiP,
-          ra[RA_id].state);
+    LOG_D(NR_MAC, "Checking RA_id %d for %x : state %s\n", RA_id, rntiP, nrra_text[ra[RA_id].ra_state]);
 
-    if (ra[RA_id].state != RA_IDLE && ra[RA_id].rnti == rntiP)
+    if (ra[RA_id].ra_state != nrRA_gNB_IDLE && ra[RA_id].rnti == rntiP)
       return RA_id;
   }
 
diff --git a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
index 1aee6f613e24d284b4ce8b7aa09fa739b0548f47..dede9f606bb48a7a6e660fc6b3768dcbf76c6539 100644
--- a/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
@@ -223,7 +223,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
 
         for (int i = 0; i < NR_NB_RA_PROC_MAX; i++) {
           NR_RA_t *ra = &RC.nrmac[module_idP]->common_channels[CC_id].ra[i];
-          if (ra->state >= WAIT_Msg3 && ra->rnti == UE->rnti) {
+          if (ra->ra_state >= nrRA_WAIT_Msg3 && ra->rnti == UE->rnti) {
             // remove UE context just created after Msg.3 in some milliseconds
             // as the UE is one already known (not now, as the UE context is
             // still needed for the moment)
@@ -231,7 +231,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
             //mac_remove_nr_ue(RC.nrmac[module_idP], ra->rnti);
             // this UE is the one identified by the RNTI in pduP
             ra->rnti = ((pduP[1]&0xFF)<<8)|(pduP[2]&0xFF);
-            ra->state = Msg3_dcch_dtch;
+            ra->ra_state = nrRA_Msg3_dcch_dtch;
             break;
           }
         }
@@ -315,7 +315,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
         NR_UE_info_t* UE_idx = UE;
         for (int i = 0; i < NR_NB_RA_PROC_MAX; i++) {
           NR_RA_t *ra = &RC.nrmac[module_idP]->common_channels[CC_id].ra[i];
-          if (ra->state >= WAIT_Msg3 && ra->rnti == UE->rnti) {
+          if (ra->ra_state >= nrRA_WAIT_Msg3 && ra->rnti == UE->rnti) {
             uint8_t *next_subpduP = pduP + mac_subheader_len + mac_len;
             if ((pduP[mac_subheader_len+mac_len] & 0x3F) == UL_SCH_LCID_C_RNTI) {
               crnti = ((next_subpduP[1]&0xFF)<<8)|(next_subpduP[2]&0xFF);
@@ -488,7 +488,7 @@ static bool get_UE_waiting_CFRA_msg3(const gNB_MAC_INST *gNB_mac, const int CC_i
   bool UE_waiting_CFRA_msg3 = false;
   for (int i = 0; i < NR_NB_RA_PROC_MAX; i++) {
     const NR_RA_t *ra = &gNB_mac->common_channels[CC_id].ra[i];
-    if (ra->cfra == true && ra->state == WAIT_Msg3 && frame == ra->Msg3_frame && slot == ra->Msg3_slot) {
+    if (ra->cfra == true && ra->ra_state == nrRA_WAIT_Msg3 && frame == ra->Msg3_frame && slot == ra->Msg3_slot) {
       UE_waiting_CFRA_msg3 = true;
       break;
     }
@@ -512,7 +512,7 @@ void handle_nr_ul_harq(const int CC_idP,
     LOG_D(NR_MAC, "handle harq for rnti %04x, in RA process\n", crc_pdu->rnti);
     for (int i = 0; i < NR_NB_RA_PROC_MAX; ++i) {
       NR_RA_t *ra = &nrmac->common_channels[CC_idP].ra[i];
-      if (ra->state >= WAIT_Msg3 && ra->rnti == crc_pdu->rnti) {
+      if (ra->ra_state >= nrRA_WAIT_Msg3 && ra->rnti == crc_pdu->rnti) {
         NR_SCHED_UNLOCK(&nrmac->sched_lock);
         return;
       }
@@ -708,11 +708,11 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
      * it. */
     for (int i = 0; i < NR_NB_RA_PROC_MAX; ++i) {
       NR_RA_t *ra = &gNB_mac->common_channels[CC_idP].ra[i];
-      if (ra->state != WAIT_Msg3)
+      if (ra->ra_state != nrRA_WAIT_Msg3)
         continue;
       
       if(no_sig) {
-        LOG_D(NR_MAC, "Random Access %i failed at state %i (no signal)\n", i, ra->state);
+        LOG_D(NR_MAC, "Random Access %i failed at state %s (no signal)\n", i, nrra_text[ra->ra_state]);
         nr_clear_ra_proc(gnb_mod_idP, CC_idP, frameP, ra);
       } else {
 
@@ -724,7 +724,12 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
                 current_rnti);
 
           if( (frameP==ra->Msg3_frame) && (slotP==ra->Msg3_slot) ) {
-            LOG_D(NR_MAC, "Random Access %i failed at state %i (TC_RNTI %04x RNTI %04x)\n", i, ra->state,ra->rnti,current_rnti);
+            LOG_D(NR_MAC,
+                  "Random Access %i failed at state %s (TC_RNTI %04x RNTI %04x)\n",
+                  i,
+                  nrra_text[ra->ra_state],
+                  ra->rnti,
+                  current_rnti);
             nr_clear_ra_proc(gnb_mod_idP, CC_idP, frameP, ra);
           }
 
@@ -733,7 +738,12 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
 
         NR_UE_info_t *UE_msg3_stage = UE ? UE : add_new_nr_ue(gNB_mac, ra->rnti, ra->CellGroup);
         if (!UE_msg3_stage) {
-          LOG_W(NR_MAC, "Random Access %i discarded at state %i (TC_RNTI %04x RNTI %04x): max number of users achieved!\n", i, ra->state, ra->rnti, current_rnti);
+          LOG_W(NR_MAC,
+                "Random Access %i discarded at state %s (TC_RNTI %04x RNTI %04x): max number of users achieved!\n",
+                i,
+                nrra_text[ra->ra_state],
+                ra->rnti,
+                current_rnti);
 
           nr_clear_ra_proc(gnb_mod_idP, CC_idP, frameP, ra);
           return;
@@ -789,8 +799,7 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
           // harq_pid set a non valid value because it is not used in this call
           // the function is only called to decode the contention resolution sub-header
           if (nr_process_mac_pdu(gnb_mod_idP, UE_msg3_stage, CC_idP, frameP, slotP, sduP, sdu_lenP, -1) == 0) {
-            
-            if (ra->state == Msg3_dcch_dtch) {
+            if (ra->ra_state == nrRA_Msg3_dcch_dtch) {
               // Check if the UE identified by C-RNTI still exists at the gNB
               NR_UE_info_t * UE_C = find_nr_UE(&gNB_mac->UE_info, ra->rnti);
               if (!UE_C) {
@@ -815,11 +824,9 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
                 LOG_I(NR_MAC, "Received UL_SCH_LCID_C_RNTI with C-RNTI 0x%04x, triggering RRC Reconfiguration\n", UE_C->rnti);
                 nr_mac_trigger_reconfiguration(RC.nrmac[gnb_mod_idP], UE_C);
               }
-            }
-            else {
-              LOG_I(NR_MAC, "Activating scheduling RA-Msg4 for TC_RNTI 0x%04x (state %d)\n",
-                    ra->rnti, ra->state);
-              ra->state = Msg4;
+            } else {
+              LOG_I(NR_MAC, "Activating scheduling RA-Msg4 for TC_RNTI 0x%04x (state %s)\n", ra->rnti, nrra_text[ra->ra_state]);
+              ra->ra_state = nrRA_Msg4;
             }
           }
           else {
@@ -832,7 +839,7 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
   } else {
     for (int i = 0; i < NR_NB_RA_PROC_MAX; ++i) {
       NR_RA_t *ra = &gNB_mac->common_channels[CC_idP].ra[i];
-      if (ra->state != WAIT_Msg3)
+      if (ra->ra_state != nrRA_WAIT_Msg3)
         continue;
 
       if( (frameP!=ra->Msg3_frame) || (slotP!=ra->Msg3_slot))
@@ -840,13 +847,13 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
 
       // for CFRA (NSA) do not schedule retransmission of msg3
       if (ra->cfra) {
-        LOG_D(NR_MAC, "Random Access %i failed at state %i (NSA msg3 reception failed)\n", i, ra->state);
+        LOG_D(NR_MAC, "Random Access %i failed at state %s (NSA msg3 reception failed)\n", i, nrra_text[ra->ra_state]);
         nr_clear_ra_proc(gnb_mod_idP, CC_idP, frameP, ra);
         return;
       }
 
       if (ra->msg3_round >= gNB_mac->ul_bler.harq_round_max - 1) {
-        LOG_W(NR_MAC, "Random Access %i failed at state %i (Reached msg3 max harq rounds)\n", i, ra->state);
+        LOG_W(NR_MAC, "Random Access %i failed at state %s (Reached msg3 max harq rounds)\n", i, nrra_text[ra->ra_state]);
         nr_clear_ra_proc(gnb_mod_idP, CC_idP, frameP, ra);
         return;
       }
@@ -854,7 +861,7 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
       LOG_D(NR_MAC, "Random Access %i Msg3 CRC did not pass)\n", i);
 
       ra->msg3_round++;
-      ra->state = Msg3_retransmission;
+      ra->ra_state = nrRA_Msg3_retransmission;
     }
   }
 }
diff --git a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
index 9028dbc797827176f93f0e2eae05b1dbe1253a68..a8fa48c849490dc33ae7badfbb29930480193ac0 100644
--- a/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+++ b/openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
@@ -85,6 +85,7 @@
 /* MAC */
 #include "LAYER2/NR_MAC_COMMON/nr_mac_extern.h"
 #include "LAYER2/NR_MAC_COMMON/nr_mac_common.h"
+#include "NR_TAG.h"
 
 #include <openair3/UICC/usim_interface.h>
 
@@ -111,15 +112,16 @@ typedef struct {
 } NR_list_t;
 
 typedef enum {
-  RA_IDLE = 0,
-  Msg2 = 1,
-  WAIT_Msg3 = 2,
-  Msg3_retransmission = 3,
-  Msg3_dcch_dtch = 4,
-  Msg4 = 5,
-  WAIT_Msg4_ACK = 6
+  nrRA_gNB_IDLE = 0,
+  nrRA_Msg2 = 1,
+  nrRA_WAIT_Msg3 = 2,
+  nrRA_Msg3_retransmission = 3,
+  nrRA_Msg3_dcch_dtch = 4,
+  nrRA_Msg4 = 5,
+  nrRA_WAIT_Msg4_ACK = 6
 } RA_gNB_state_t;
-
+static const char *const nrra_text[] =
+    {"IDLE", "Msg2", "WAIT_Msg3", "Msg3_retransmission", "Msg3_dcch_dtch", "Msg4", "WAIT_Msg4_ACK"};
 typedef struct nr_pdsch_AntennaPorts_t {
   int N1;
   int N2;
@@ -160,7 +162,7 @@ typedef struct NR_sched_pdcch {
 /*! \brief gNB template for the Random access information */
 typedef struct {
   /// Flag to indicate this process is active
-  RA_gNB_state_t state;
+  RA_gNB_state_t ra_state;
   /// CORESET0 configured flag
   int coreset0_configured;
   /// Slot where preamble was received
@@ -174,7 +176,7 @@ typedef struct {
   /// Frame where Msg3 is to be sent
   frame_t Msg3_frame;
   /// Msg3 time domain allocation index
-  uint8_t Msg3_tda_id;
+  int Msg3_tda_id;
   /// harq_pid used for Msg4 transmission
   uint8_t harq_pid;
   /// UE RNTI allocated during RAR
@@ -190,25 +192,17 @@ typedef struct {
   /// Timeout for RRC connection
   int16_t RRC_timer;
   /// Msg3 first RB
-  uint8_t msg3_first_rb;
+  int msg3_first_rb;
   /// Msg3 number of RB
-  uint8_t msg3_nb_rb;
+  int msg3_nb_rb;
   /// Msg3 BWP start
-  uint8_t msg3_bwp_start;
+  int msg3_bwp_start;
   /// Msg3 TPC command
   uint8_t msg3_TPC;
-  /// Msg3 ULdelay command
-  uint8_t msg3_ULdelay;
-  /// Msg3 cqireq command
-  uint8_t msg3_cqireq;
   /// Round of Msg3 HARQ
   uint8_t msg3_round;
   int msg3_startsymb;
-  int msg3_nrsymb;
-  /// TBS used for Msg4
-  int msg4_TBsize;
-  /// MCS used for Msg4
-  int msg4_mcs;
+  int msg3_nbSymb;
   /// MAC PDU length for Msg4
   int mac_pdu_length;
   /// RA search space
@@ -233,17 +227,12 @@ typedef struct {
 
 /*! \brief gNB common channels */
 typedef struct {
-  int Ncp;
-  int nr_band;
   frame_type_t frame_type;
-  uint64_t dl_CarrierFreq;
   NR_BCCH_BCH_Message_t *mib;
   NR_BCCH_DL_SCH_Message_t *sib1;
   NR_ServingCellConfigCommon_t *ServingCellConfigCommon;
   /// pre-configured ServingCellConfig that is default for every UE
   NR_ServingCellConfig_t *pre_ServingCellConfig;
-  NR_ARFCN_ValueEUTRA_t ul_CarrierFreq;
-  long ul_Bandwidth;
   /// Outgoing MIB PDU for PHY
   uint8_t MIB_pdu[3];
   /// Outgoing BCCH pdu for PHY
@@ -256,23 +245,20 @@ typedef struct {
   /// VRB map for common channels and PUSCH, dynamically allocated because
   /// length depends on number of slots and RBs
   uint16_t *vrb_map_UL;
-  /// number of subframe allocation pattern available for MBSFN sync area
-  uint8_t num_sf_allocation_pattern;
   ///Number of active SSBs
-  uint8_t num_active_ssb;
+  int num_active_ssb;
   //Total available prach occasions per configuration period
-  uint32_t total_prach_occasions_per_config_period;
+  int total_prach_occasions_per_config_period;
   //Total available prach occasions
-  uint32_t total_prach_occasions;
+  int total_prach_occasions;
   //Max Association period
-  uint8_t max_association_period;
+  int max_association_period;
   //SSB index
   uint8_t ssb_index[MAX_NUM_OF_SSB];
   //CB preambles for each SSB
-  uint8_t cb_preambles_per_ssb;
+  int cb_preambles_per_ssb;
 } NR_COMMON_channels_t;
 
-
 // SP ZP CSI-RS Resource Set Activation/Deactivation MAC CE
 typedef struct sp_zp_csirs {
   bool is_scheduled;     //ZP CSI-RS ACT/Deact MAC CE is scheduled
diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
index 7557608bd442776a40ff5b48d72b6ee068da8ff0..07cf30b8b52f3feb6c2ef99524d22c2b2656336a 100644
--- a/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+++ b/openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
@@ -348,13 +348,13 @@ static bool is_my_dci(NR_UE_MAC_INST_t *mac, nfapi_nr_dl_dci_pdu_t *received_pdu
       return false;
     if (received_pdu->RNTI == 0xFFFF && mac->phy_config_request_sent)
       return false;
-    if (received_pdu->RNTI != mac->crnti && mac->ra.ra_state == RA_SUCCEEDED)
+    if (received_pdu->RNTI != mac->crnti && mac->ra.ra_state == nrRA_SUCCEEDED)
       return false;
-    if (received_pdu->RNTI != mac->ra.t_crnti && mac->ra.ra_state == WAIT_CONTENTION_RESOLUTION)
+    if (received_pdu->RNTI != mac->ra.t_crnti && mac->ra.ra_state == nrRA_WAIT_CONTENTION_RESOLUTION)
       return false;
-    if (received_pdu->RNTI != 0x10b && mac->ra.ra_state == WAIT_RAR)
+    if (received_pdu->RNTI != 0x10b && mac->ra.ra_state == nrRA_WAIT_RAR)
       return false;
-    if (received_pdu->RNTI != 0xFFFF && mac->ra.ra_state <= GENERATE_PREAMBLE)
+    if (received_pdu->RNTI != 0xFFFF && mac->ra.ra_state <= nrRA_GENERATE_PREAMBLE)
       return false;
   }
   return true;
@@ -477,8 +477,7 @@ static void fill_rx_ind(nfapi_nr_pdu_t *pdu_list, fapi_nr_rx_indication_t *rx_in
         pdu += pdu_list->TLVs[j].length;
     }
     bool ack_nack = true;
-    if (mac->ra.ra_state >= RA_SUCCEEDED && should_drop_transport_block(rx_ind->slot, mac->crnti))
-    {
+    if (mac->ra.ra_state >= nrRA_SUCCEEDED && should_drop_transport_block(rx_ind->slot, mac->crnti)) {
       ack_nack = false;
     }
     rx_ind->rx_indication_body[pdu_idx].pdsch_pdu.ack_nack = ack_nack;
@@ -742,10 +741,8 @@ void check_and_process_dci(nfapi_nr_dl_tti_request_t *dl_tti_request,
     int slots_per_frame = 20; //30 kHZ subcarrier spacing
     int slot_ahead = 2; // TODO: Make this dynamic
 
-    if (is_nr_UL_slot(mac->tdd_UL_DL_ConfigurationCommon,
-                      (slot + slot_ahead) % slots_per_frame,
-                      mac->frame_type)
-        && mac->ra.ra_state != RA_SUCCEEDED) {
+    if (is_nr_UL_slot(mac->tdd_UL_DL_ConfigurationCommon, (slot + slot_ahead) % slots_per_frame, mac->frame_type)
+        && mac->ra.ra_state != nrRA_SUCCEEDED) {
       // If we filled dl_info AFTER we got the slot indication, we want to check if we should fill tx_req:
       nr_uplink_indication_t ul_info = {.slot = (slot + slot_ahead) % slots_per_frame,
                                         .frame = slot + slot_ahead >= slots_per_frame ? (frame + 1) % 1024 : frame};
@@ -873,25 +870,22 @@ static void enqueue_nr_nfapi_msg(void *buffer, ssize_t len, nfapi_p7_message_hea
                NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE. If we have not yet completed the CBRA/
                CFRA procedure, we need to queue all UL_TTI_REQs. */
             for (int i = 0; i < ul_tti_request->n_pdus; i++) {
-                if (ul_tti_request->pdus_list[i].pdu_type == NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE &&
-                    mac->ra.ra_state >= RA_SUCCEEDED) {
-                    if (!put_queue(&nr_ul_tti_req_queue, ul_tti_request))
-                    {
-                        LOG_D(NR_PHY, "put_queue failed for ul_tti_request, calling put_queue_replace.\n");
-                        nfapi_nr_ul_tti_request_t *evicted_ul_tti_req = put_queue_replace(&nr_ul_tti_req_queue, ul_tti_request);
-                        free(evicted_ul_tti_req);
-                    }
-                    break;
+              if (ul_tti_request->pdus_list[i].pdu_type == NFAPI_NR_UL_CONFIG_PUSCH_PDU_TYPE
+                  && mac->ra.ra_state >= nrRA_SUCCEEDED) {
+                if (!put_queue(&nr_ul_tti_req_queue, ul_tti_request)) {
+                  LOG_D(NR_PHY, "put_queue failed for ul_tti_request, calling put_queue_replace.\n");
+                  nfapi_nr_ul_tti_request_t *evicted_ul_tti_req = put_queue_replace(&nr_ul_tti_req_queue, ul_tti_request);
+                  free(evicted_ul_tti_req);
                 }
-                else if (mac->ra.ra_state < RA_SUCCEEDED) {
-                    if (!put_queue(&nr_ul_tti_req_queue, ul_tti_request))
-                    {
-                        LOG_D(NR_PHY, "put_queue failed for ul_tti_request, calling put_queue_replace.\n");
-                        nfapi_nr_ul_tti_request_t *evicted_ul_tti_req = put_queue_replace(&nr_ul_tti_req_queue, ul_tti_request);
-                        free(evicted_ul_tti_req);
-                    }
-                    break;
+                break;
+              } else if (mac->ra.ra_state < nrRA_SUCCEEDED) {
+                if (!put_queue(&nr_ul_tti_req_queue, ul_tti_request)) {
+                  LOG_D(NR_PHY, "put_queue failed for ul_tti_request, calling put_queue_replace.\n");
+                  nfapi_nr_ul_tti_request_t *evicted_ul_tti_req = put_queue_replace(&nr_ul_tti_req_queue, ul_tti_request);
+                  free(evicted_ul_tti_req);
                 }
+                break;
+              }
             }
             break;
         }
@@ -922,8 +916,7 @@ static void save_pdsch_pdu_for_crnti(nfapi_nr_dl_tti_request_t *dl_tti_request)
     if (pdu_list->PDUType == NFAPI_NR_DL_TTI_PDSCH_PDU_TYPE)
     {
       const nfapi_nr_dl_tti_pdsch_pdu_rel15_t *pdsch_pdu = &pdu_list->pdsch_pdu.pdsch_pdu_rel15;
-      if (pdsch_pdu->rnti == mac->crnti && mac->ra.ra_state == RA_SUCCEEDED)
-      {
+      if (pdsch_pdu->rnti == mac->crnti && mac->ra.ra_state == nrRA_SUCCEEDED) {
         read_channel_param(pdsch_pdu, dl_tti_request->Slot, count_sent);
         count_sent++;
         LOG_T(NR_MAC, "pdsch_pdu->rnti %x  mac->crnti %x mac->ra.ra_state %d count_sent %d\n",
@@ -1126,7 +1119,7 @@ void update_harq_status(NR_UE_MAC_INST_t *mac, uint8_t harq_pid, uint8_t ack_nac
   if (current_harq->active) {
     LOG_D(PHY,"Updating harq_status for harq_id %d, ack/nak %d\n", harq_pid, current_harq->ack);
     // we can prepare feedback for MSG4 in advance
-    if (mac->ra.ra_state == WAIT_CONTENTION_RESOLUTION)
+    if (mac->ra.ra_state == nrRA_WAIT_CONTENTION_RESOLUTION)
       prepare_msg4_feedback(mac, harq_pid, ack_nack);
     else {
       current_harq->ack = ack_nack;
diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c b/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c
index 59d6b6b67392982f904f2a2e340ce064690b3b35..52aedfbccc20797614b1e3d9ec4cd8e6902fbc76 100644
--- a/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c
+++ b/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c
@@ -121,8 +121,7 @@ bool should_drop_transport_block(int slot, uint16_t rnti)
 
   /* We want to avoid dropping setup messages because this would be pathological. */
   NR_UE_MAC_INST_t *mac = get_mac_inst(0);
-  if (mac->ra.ra_state < RA_SUCCEEDED)
-  {
+  if (mac->ra.ra_state < nrRA_SUCCEEDED) {
     LOG_D(NR_MAC, "Not dropping because MAC state: %d", mac->ra.ra_state);
     return false;
   }