From 1b429a63dab145eea762a42dab2dcc80d25cdddb Mon Sep 17 00:00:00 2001
From: kogo <msaeed.ext@orange.com>
Date: Wed, 30 Aug 2017 16:59:58 +0200
Subject: [PATCH] refactored config file, SIB1 & SIB2 are sent/received
 successfully

---
 openair2/COMMON/rrc_messages_types.h          |    7 +-
 openair2/ENB_APP/enb_config.c                 | 2816 +++++++++++------
 openair2/RRC/LITE/MESSAGES/asn1_msg.c         |  104 +-
 .../CONF/enb.band13.tm1.50PRB.emtc.conf       |  110 +-
 4 files changed, 1890 insertions(+), 1147 deletions(-)

diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h
index b5d3c45a583..77a701d11bb 100755
--- a/openair2/COMMON/rrc_messages_types.h
+++ b/openair2/COMMON/rrc_messages_types.h
@@ -205,9 +205,9 @@ typedef struct RrcConfigurationReq_s {
 
   long			  si_WindowLength_BR_r13                       [MAX_NUM_CCs];
   long			  si_RepetitionPattern_r13                     [MAX_NUM_CCs];
-  BOOLEAN_t		 * fdd_DownlinkOrTddSubframeBitmapBR_r13     [MAX_NUM_CCs];
-  uint64_t		  fdd_DownlinkOrTddSubframeBitmapBR_val_r13  [MAX_NUM_CCs];
-  uint16_t		  *fdd_UplinkSubframeBitmapBR_r13            [MAX_NUM_CCs];
+  BOOLEAN_t		 * fdd_DownlinkOrTddSubframeBitmapBR_r13       [MAX_NUM_CCs];
+  uint64_t		  fdd_DownlinkOrTddSubframeBitmapBR_val_r13    [MAX_NUM_CCs];
+  uint16_t		  *fdd_UplinkSubframeBitmapBR_r13              [MAX_NUM_CCs];
   long			  startSymbolBR_r13                            [MAX_NUM_CCs];
   long			  si_HoppingConfigCommon_r13                   [MAX_NUM_CCs];
   long*			  si_ValidityTime_r13                          [MAX_NUM_CCs];
@@ -234,6 +234,7 @@ typedef struct RrcConfigurationReq_s {
   int  rach_CE_LevelInfoList_r13_size    [MAX_NUM_CCs];
 //  end kogo
 
+//  long pcch_defaultPagingCycle_br;
 
 // +kogo -- rsrp_range_list
   long rsrp_range           [MAX_NUM_CCs][3];
diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index 99e1383f456..a6e430ee95d 100755
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -211,6 +211,7 @@ EMAIL   : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr
 #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A                         "pucch_deltaF_Format2a"
 #define ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B                         "pucch_deltaF_Format2b"
 #define ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES                         "rach_numberOfRA_Preambles"
+#define ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES_BR                      "rach_numberOfRA_Preambles_br"
 #define ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG                    "rach_preamblesGroupAConfig"
 #define ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA                 "rach_sizeOfRA_PreamblesGroupA"
 #define ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA                        "rach_messageSizeGroupA"
@@ -233,9 +234,9 @@ EMAIL   : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr
 #define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE                          "ue_TransmissionMode"
 
 #define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13        "pdsch_maxNumRepetitionCEmodeA_r13"
-#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13        "pusch_maxNumRepetitionCEmodeA_r13"
-
 #define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13        "pdsch_maxNumRepetitionCEmodeB_r13"
+
+#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13        "pusch_maxNumRepetitionCEmodeA_r13"
 #define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13        "pusch_maxNumRepetitionCEmodeB_r13"
 #define ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310                    "pusch_HoppingOffset_v1310"
 
@@ -1127,7 +1128,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
   const char*       pucch_deltaF_Format2          = NULL;
   const char*       pucch_deltaF_Format2a         = NULL;
   const char*       pucch_deltaF_Format2b         = NULL;
-  libconfig_int     rach_numberOfRA_Preambles     = 0;
+  const char*       rach_numberOfRA_Preambles     = NULL;
   const char*       rach_preamblesGroupAConfig    = NULL;
   libconfig_int     rach_sizeOfRA_PreamblesGroupA = 0;
   libconfig_int     rach_messageSizeGroupA        = 0;
@@ -1138,16 +1139,18 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
   libconfig_int     rach_raResponseWindowSize     = 0;
   libconfig_int     rach_macContentionResolutionTimer = 0;
   libconfig_int     rach_maxHARQ_Msg3Tx           = 0;
-  libconfig_int     pcch_defaultPagingCycle       = 0;
+  const char*       pcch_defaultPagingCycle       = 0;
+
   const char*       pcch_nB                       = NULL;
   libconfig_int     bcch_modificationPeriodCoeff  = 0;
-  libconfig_int     ue_TimersAndConstants_t300    = 0;
-  libconfig_int     ue_TimersAndConstants_t301    = 0;
-  libconfig_int     ue_TimersAndConstants_t310    = 0;
-  libconfig_int     ue_TimersAndConstants_t311    = 0;
-  libconfig_int     ue_TimersAndConstants_n310    = 0;
-  libconfig_int     ue_TimersAndConstants_n311    = 0;
-  libconfig_int     ue_TransmissionMode           = 0;
+
+  const char*       ue_TimersAndConstants_t300    = NULL;
+  const char*       ue_TimersAndConstants_t301    = NULL;
+  const char*       ue_TimersAndConstants_t310    = NULL;
+  const char*       ue_TimersAndConstants_t311    = NULL;
+  const char*       ue_TimersAndConstants_n310    = NULL;
+  const char*       ue_TimersAndConstants_n311    = NULL;
+  const char*       ue_TransmissionMode           = NULL;
 
   libconfig_int     si_Narrowband_r13             = 0;
   libconfig_int     si_TBS_r13                    = 0;
@@ -1156,63 +1159,65 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
   libconfig_int     firstPreamble_r13                     = 0;
   libconfig_int     lastPreamble_r13                      = 0;
-  libconfig_int     ra_ResponseWindowSize_r13             = 0;
-  libconfig_int     mac_ContentionResolutionTimer_r13     = 0;
-  libconfig_int     rar_HoppingConfig_r13                 = 0;
+  const char*       ra_ResponseWindowSize_r13             = NULL;
+  const char*       mac_ContentionResolutionTimer_r13     = NULL;
+  const char*       rar_HoppingConfig_r13                 = NULL;
   libconfig_int     rsrp_range_br                         = 0;
   libconfig_int     prach_config_index_br                 = 0;
   libconfig_int     prach_freq_offset_br                  = 0;
   libconfig_int     prach_StartingSubframe_r13            = 0;
-  libconfig_int     maxNumPreambleAttemptCE_r13           = 0;
-  libconfig_int     numRepetitionPerPreambleAttempt_r13   = 0;
-  libconfig_int     mpdcch_NumRepetition_RA_r13           = 0;
-  libconfig_int     prach_HoppingConfig_r13               = 0;
+  const char*       maxNumPreambleAttemptCE_r13           = NULL;
+  const char*       numRepetitionPerPreambleAttempt_r13   = NULL;
+  const char*       mpdcch_NumRepetition_RA_r13           = NULL;
+  const char*       prach_HoppingConfig_r13               = NULL;
   libconfig_int     maxavailablenarrowband                = 0;
   libconfig_int     pucch_info_value                      = 0;
 
   libconfig_int     paging_narrowbands_r13                = 0;
-  libconfig_int     mpdcch_numrepetition_paging_r13       = 0;
-  libconfig_int     nb_v1310                              = 0;
+  const char*       mpdcch_numrepetition_paging_r13       = NULL;
+  const char*       nb_v1310                              = NULL;
   
 
-  libconfig_int     pucch_NumRepetitionCE_Msg4_Level0_r13 = 0;
-  libconfig_int     pucch_NumRepetitionCE_Msg4_Level1_r13 = 0;
-  libconfig_int     pucch_NumRepetitionCE_Msg4_Level2_r13 = 0;
-  libconfig_int     pucch_NumRepetitionCE_Msg4_Level3_r13 = 0;
-
-  libconfig_int     sib2_mpdcch_pdsch_hoppingNB_r13                   = 0;
-  libconfig_int     sib2_interval_DLHoppingConfigCommonModeA_r13      = 0;
-  libconfig_int     sib2_interval_DLHoppingConfigCommonModeA_r13_val  = 0;
-  libconfig_int     sib2_interval_DLHoppingConfigCommonModeB_r13      = 0;  
-  libconfig_int     sib2_interval_DLHoppingConfigCommonModeB_r13_val  = 0;         
-  libconfig_int     sib2_interval_ULHoppingConfigCommonModeA_r13      = 0; 
-  libconfig_int     sib2_interval_ULHoppingConfigCommonModeA_r13_val  = 0; 
-  libconfig_int     sib2_interval_ULHoppingConfigCommonModeB_r13      = 0; 
-  libconfig_int     sib2_interval_ULHoppingConfigCommonModeB_r13_val  = 0;
-  libconfig_int     sib2_mpdcch_pdsch_hoppingOffset_r13               = 0; 
-
-  libconfig_int     pdsch_maxNumRepetitionCEmodeA_r13                 = 0;
-  libconfig_int     pdsch_maxNumRepetitionCEmodeB_r13                 = 0;
-
-  libconfig_int     pusch_maxNumRepetitionCEmodeA_r13                 = 0;
-  libconfig_int     pusch_maxNumRepetitionCEmodeB_r13                 = 0;
+  const char*       pucch_NumRepetitionCE_Msg4_Level0_r13 = NULL;
+  const char*       pucch_NumRepetitionCE_Msg4_Level1_r13 = NULL;
+  const char*       pucch_NumRepetitionCE_Msg4_Level2_r13 = NULL;
+  const char*       pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL;
+
+  const char*       sib2_mpdcch_pdsch_hoppingNB_r13                   = NULL;
+  const char*       sib2_interval_DLHoppingConfigCommonModeA_r13      = NULL;
+  const char*       sib2_interval_DLHoppingConfigCommonModeA_r13_val  = NULL;
+  const char*       sib2_interval_DLHoppingConfigCommonModeB_r13      = NULL;
+  const char*       sib2_interval_DLHoppingConfigCommonModeB_r13_val  = NULL;
+
+  const char*       sib2_interval_ULHoppingConfigCommonModeA_r13      = NULL;
+  const char*       sib2_interval_ULHoppingConfigCommonModeA_r13_val  = NULL;
+  const char*       sib2_interval_ULHoppingConfigCommonModeB_r13      = NULL;
+  const char*       sib2_interval_ULHoppingConfigCommonModeB_r13_val  = NULL;
+  libconfig_int     sib2_mpdcch_pdsch_hoppingOffset_r13               = 0;
+
+  const char*       pdsch_maxNumRepetitionCEmodeA_r13                 = NULL;
+  const char*       pdsch_maxNumRepetitionCEmodeB_r13                 = NULL;
+
+  const char*       pusch_maxNumRepetitionCEmodeA_r13                 = 0;
+  const char*       pusch_maxNumRepetitionCEmodeB_r13                 = 0;
   libconfig_int     pusch_HoppingOffset_v1310                         = 0;
 
   libconfig_int     hyperSFN_r13                                      = 0;
   libconfig_int     eDRX_Allowed_r13                                  = 0;
   libconfig_int     q_RxLevMinCE_r13                                  = 0;
   libconfig_int     q_QualMinRSRQ_CE_r13                              = 0;
-  libconfig_int     si_WindowLength_BR_r13                            = 0;
-  libconfig_int     si_RepetitionPattern_r13                          = 0;
+  const char*       si_WindowLength_BR_r13                            = NULL;
+  const char*       si_RepetitionPattern_r13                          = NULL;
   libconfig_int     startSymbolBR_r13                                 = 0;
-  libconfig_int     si_HoppingConfigCommon_r13                        = 0;
-  libconfig_int     si_ValidityTime_r13                               = 0;
-  libconfig_int     mpdcch_pdsch_HoppingNB_r13                        = 0;
+  const char*       si_HoppingConfigCommon_r13                        = NULL;
+  const char*       si_ValidityTime_r13                               = NULL;
+  const char*       mpdcch_pdsch_HoppingNB_r13                        = NULL;
   libconfig_int     interval_DLHoppingConfigCommonModeA_r13_val       = 0;
   libconfig_int     interval_DLHoppingConfigCommonModeB_r13_val       = 0;
   libconfig_int     mpdcch_pdsch_HoppingOffset_r13                    = 0;
-  libconfig_int     preambleTransMax_CE_r13                           = 0;
-  libconfig_int     mpdcch_startSF_CSS_RA_r13_val                     = 0;
+  const char*       preambleTransMax_CE_r13                           = NULL;
+  const char*       rach_numberOfRA_Preambles_br                      = NULL;
+  const char*       mpdcch_startSF_CSS_RA_r13_val                     = NULL;
   libconfig_int     prach_HoppingOffset_r13                           = 0;
   libconfig_int     schedulingInfoSIB1_BR_r13                         = 0;
   uint64_t          fdd_DownlinkOrTddSubframeBitmapBR_val_r13         = 0;
@@ -1474,7 +1479,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                     && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2)
                     && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a)
                     && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles)
                     && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig)
                     && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep)
                     && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower)
@@ -1483,16 +1488,16 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                     && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer)
                     && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx)
                     && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &bcch_modificationPeriodCoeff)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE,  &pcch_defaultPagingCycle)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE,  &pcch_defaultPagingCycle)
                     && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_PCCH_NB,  &pcch_nB)
                     && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF,  &bcch_modificationPeriodCoeff)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300,  &ue_TimersAndConstants_t300)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301,  &ue_TimersAndConstants_t301)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310,  &ue_TimersAndConstants_t310)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311,  &ue_TimersAndConstants_t311)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310,  &ue_TimersAndConstants_n310)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UETIMERS_N311,  &ue_TimersAndConstants_n311)
-                    && config_setting_lookup_int(component_carrier, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE,  &ue_TransmissionMode)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T300,  &ue_TimersAndConstants_t300)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T301,  &ue_TimersAndConstants_t301)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T310,  &ue_TimersAndConstants_t310)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_T311,  &ue_TimersAndConstants_t311)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_N310,  &ue_TimersAndConstants_n310)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UETIMERS_N311,  &ue_TimersAndConstants_n311)
+                    && config_setting_lookup_string(component_carrier, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE,  &ue_TransmissionMode)
 
 #if defined(Rel10) || defined(Rel14)
 
@@ -2060,14 +2065,67 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                     RC.config_file_name, i, pucch_deltaF_Format2b);
 
 
+//              27   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n4  = 0,
+//              28   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n8  = 1,
+//              29   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n12 = 2,
+//              30   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n16 = 3,
+//              31   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n20 = 4,
+//              32   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n24 = 5,
+//              33   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n28 = 6,
+//              34   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n32 = 7,
+//              35   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n36 = 8,
+//              36   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n40 = 9,
+//              37   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n44 = 10,
+//              38   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n48 = 11,
+//              39   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n52 = 12,
+//              40   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n56 = 13,
+//              41   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n60 = 14,
+//              42   RACH_ConfigCommon__preambleInfo__numberOfRA_Preambles_n64 = 15
+
+
+              if (!strcmp(rach_numberOfRA_Preambles, "n4")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (4 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (8 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (12 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (16 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (20 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (24 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (28 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (32 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (36 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (40 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (44 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (48 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (52 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (56 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (60 / 4) - 1;
+              } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) {
+                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (64 / 4) - 1;
+              } else {
+                  AssertFatal(0,
+                              "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n",
+                              RC.config_file_name, i, rach_numberOfRA_Preambles);
+
+              }
 
+              printf("[DEBUGGIN][KOGO][TESTING]: number of RA Preambles: %s - %d\n",
+                     rach_numberOfRA_Preambles,  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles);
 
-              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_numberOfRA_Preambles = (rach_numberOfRA_Preambles / 4) - 1;
 
-              if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0))
-                AssertFatal(0,
-                    "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n",
-                    RC.config_file_name, i, rach_numberOfRA_Preambles);
 
               if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) {
                 RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].rach_preamblesGroupAConfig= TRUE;
@@ -2079,13 +2137,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                       "Failed to parse eNB configuration file %s, enb %d  rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n",
                       RC.config_file_name, i);
 
-                RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1;
-
-                if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n",
-                      RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA);
-
+                RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA / 4) - 1;
 
                 switch (rach_messageSizeGroupA) {
                   case 56:
@@ -2296,30 +2348,22 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                     RC.config_file_name, i, rach_preambleTransMax);
 
 
-              switch (pcch_defaultPagingCycle) {
-                case 32:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32;
-                  break;
-
-                case 64:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64;
-                  break;
-
-                case 128:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128;
-                  break;
-
-                case 256:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256;
-                  break;
-
-                default:
+              if (!strcmp(pcch_defaultPagingCycle, "rf32")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32;
+              } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64;
+              } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128;
+              } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256;
+              } else {
                   AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n",
-                      RC.config_file_name, i, pcch_defaultPagingCycle);
-                  break;
+                               "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n",
+                               RC.config_file_name, i, pcch_defaultPagingCycle);
               }
 
+              printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].pcch_defaultPagingCycle);
+
               if (strcmp(pcch_nB, "fourT") == 0) {
                 RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig[j].pcch_nB = PCCH_Config__nB_fourT;
               }
@@ -2376,273 +2420,448 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                   break;
               }
 
+              if (!strcmp(ue_TimersAndConstants_t300, "ms100")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100;
+              } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200;
+              } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300;
+              } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400;
+              } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600;
+              } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000;
+              } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500;
+              } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000;
+              } else {
+                  AssertFatal (0,
+                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!",
+                      RC.config_file_name, i, ue_TimersAndConstants_t300);
+              }
 
-              switch (ue_TimersAndConstants_t300) {
-                case 100:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100;
-                  break;
-
-                case 200:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200;
-                  break;
-
-                case 300:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300;
-                  break;
-
-                case 400:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400;
-                  break;
-
-                case 600:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600;
-                  break;
-
-                case 1000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1000;
-                  break;
+              printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300);
 
-                case 1500:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500;
-                  break;
+              if (!strcmp(ue_TimersAndConstants_t301, "ms100")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100;
+              } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200;
+              } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300;
+              } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400;
+              } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600;
+              } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000;
+              } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500;
+              } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000;
+              } else {
+                  AssertFatal (0,
+                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!",
+                      RC.config_file_name, i, ue_TimersAndConstants_t301);
+              }
 
-                case 2000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000;
-                  break;
+              printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301);
+
+              if (!strcmp(ue_TimersAndConstants_t310, "ms0")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0;
+              } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50;
+              } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100;
+              } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200;
+              } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500;
+              } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000;
+              } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000;
+              } else {
+                  AssertFatal (0,
+                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!",
+                      RC.config_file_name, i, ue_TimersAndConstants_t310);
+              }
 
-                default:
+              printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310);
+
+
+              if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000;
+              } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000;
+              } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000;
+              } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000;
+              } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000;
+              } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000;
+              } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000;
+              } else {
                   AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ",
-                      RC.config_file_name, i, ue_TimersAndConstants_t300);
-                  break;
+                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!",
+                      RC.config_file_name, i, ue_TimersAndConstants_t311);
+              }
 
+              printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311);
+
+
+              if (!strcmp(ue_TimersAndConstants_n310, "n1")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1;
+              } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2;
+              } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3;
+              } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4;
+              } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6;
+              } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8;
+              } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10;
+              } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20;
+              } else {
+                  AssertFatal (0,
+                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!",
+                      RC.config_file_name, i, ue_TimersAndConstants_n310);
               }
 
-              switch (ue_TimersAndConstants_t301) {
-                case 100:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100;
-                  break;
+              printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310);
+
+
+              if (!strcmp(ue_TimersAndConstants_n311, "n1")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1;
+              } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2;
+              } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3;
+              } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4;
+              } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5;
+              } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6;
+              } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8;
+              } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10;
+              } else {
+                  AssertFatal (0,
+                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!",
+                      RC.config_file_name, i, ue_TimersAndConstants_n311);
+              }
 
-                case 200:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200;
-                  break;
+              printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311);
+
+
+              if (!strcmp(ue_TransmissionMode, "tm1")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1;
+              } else if (!strcmp(ue_TransmissionMode, "tm2")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2;
+              } else if (!strcmp(ue_TransmissionMode, "tm3")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3;
+              } else if (!strcmp(ue_TransmissionMode, "tm4")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4;
+              } else if (!strcmp(ue_TransmissionMode, "tm5")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5;
+              } else if (!strcmp(ue_TransmissionMode, "tm6")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6;
+              } else if (!strcmp(ue_TransmissionMode, "tm7")) {
+                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7;
+              } else {
+                  AssertFatal (0,
+                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!",
+                      RC.config_file_name, i, ue_TransmissionMode);
+              }
 
-                case 300:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300;
-                  break;
+              printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode);
 
-                case 400:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400;
-                  break;
 
-                case 600:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600;
-                  break;
 
-                case 1000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000;
-                  break;
 
-                case 1500:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500;
-                  break;
+//              switch (ue_TimersAndConstants_t300) {
+//                case 100:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms100;
+//                  break;
 
-                case 2000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000;
-                  break;
+//                case 200:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms200;
+//                  break;
 
-                default:
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ",
-                      RC.config_file_name, i, ue_TimersAndConstants_t301);
-                  break;
+//                case 300:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms300;
+//                  break;
 
-              }
+//                case 400:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms400;
+//                  break;
 
-              switch (ue_TimersAndConstants_t310) {
-                case 0:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0;
-                  break;
+//                case 600:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms600;
+//                  break;
 
-                case 50:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50;
-                  break;
+//                case 1000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000;
+//                  break;
 
-                case 100:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100;
-                  break;
+//                case 1500:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms1500;
+//                  break;
 
-                case 200:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200;
-                  break;
+//                case 2000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t300= UE_TimersAndConstants__t300_ms2000;
+//                  break;
 
-                case 500:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500;
-                  break;
+//                default:
+//                  AssertFatal (0,
+//                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ",
+//                      RC.config_file_name, i, ue_TimersAndConstants_t300);
+//                  break;
 
-                case 1000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000;
-                  break;
+//              }
 
-                case 2000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000;
-                  break;
 
-                default:
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ",
-                      RC.config_file_name, i, ue_TimersAndConstants_t310);
-                  break;
 
-              }
+//              switch (ue_TimersAndConstants_t301) {
+//                case 100:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100;
+//                  break;
 
-              switch (ue_TimersAndConstants_t311) {
-                case 1000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000;
-                  break;
+//                case 200:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200;
+//                  break;
 
-                case 3000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000;
-                  break;
+//                case 300:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300;
+//                  break;
 
-                case 5000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000;
-                  break;
+//                case 400:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400;
+//                  break;
 
-                case 10000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000;
-                  break;
+//                case 600:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600;
+//                  break;
 
-                case 15000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000;
-                  break;
+//                case 1000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000;
+//                  break;
 
-                case 20000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000;
-                  break;
+//                case 1500:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500;
+//                  break;
 
-                case 30000:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000;
-                  break;
+//                case 2000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000;
+//                  break;
 
-                default:
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000",
-                      RC.config_file_name, i, ue_TimersAndConstants_t311);
-                  break;
+//                default:
+//                  AssertFatal (0,
+//                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ",
+//                      RC.config_file_name, i, ue_TimersAndConstants_t301);
+//                  break;
 
-              }
+//              }
 
-              switch (ue_TimersAndConstants_n310) {
-                case 1:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1;
-                  break;
 
-                case 2:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2;
-                  break;
 
-                case 3:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3;
-                  break;
+//              switch (ue_TimersAndConstants_t310) {
+//                case 0:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0;
+//                  break;
 
-                case 4:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4;
-                  break;
+//                case 50:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50;
+//                  break;
 
-                case 6:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6;
-                  break;
+//                case 100:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100;
+//                  break;
 
-                case 8:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8;
-                  break;
+//                case 200:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200;
+//                  break;
 
-                case 10:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10;
-                  break;
+//                case 500:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500;
+//                  break;
 
-                case 20:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20;
-                  break;
+//                case 1000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000;
+//                  break;
 
-                default:
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20",
-                      RC.config_file_name, i, ue_TimersAndConstants_n311);
-                  break;
+//                case 2000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000;
+//                  break;
 
-              }
+//                default:
+//                  AssertFatal (0,
+//                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ",
+//                      RC.config_file_name, i, ue_TimersAndConstants_t310);
+//                  break;
 
-              switch (ue_TimersAndConstants_n311) {
-                case 1:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1;
-                  break;
+//              }
 
-                case 2:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2;
-                  break;
 
-                case 3:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3;
-                  break;
+//              switch (ue_TimersAndConstants_t311) {
+//                case 1000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000;
+//                  break;
 
-                case 4:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4;
-                  break;
+//                case 3000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000;
+//                  break;
 
-                case 5:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5;
-                  break;
+//                case 5000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000;
+//                  break;
 
-                case 6:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6;
-                  break;
+//                case 10000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000;
+//                  break;
 
-                case 8:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8;
-                  break;
+//                case 15000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000;
+//                  break;
 
-                case 10:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10;
-                  break;
+//                case 20000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000;
+//                  break;
 
-                default:
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10",
-                      RC.config_file_name, i, ue_TimersAndConstants_t311);
-                  break;
+//                case 30000:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000;
+//                  break;
 
-              }
+//                default:
+//                  AssertFatal (0,
+//                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000",
+//                      RC.config_file_name, i, ue_TimersAndConstants_t311);
+//                  break;
 
-              switch (ue_TransmissionMode) {
-                case 1:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1;
-                  break;
-                case 2:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2;
-                  break;
-                case 3:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3;
-                  break;
-                case 4:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4;
-                  break;
-                case 5:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5;
-                  break;
-                case 6:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6;
-                  break;
-                case 7:
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7;
-                  break;
-                default:
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7",
-                      RC.config_file_name, i, ue_TransmissionMode);
-                  break;
-              }
+//              }
+
+
+
+//              switch (ue_TimersAndConstants_n310) {
+//                case 1:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1;
+//                  break;
+
+//                case 2:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2;
+//                  break;
+
+//                case 3:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3;
+//                  break;
+
+//                case 4:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4;
+//                  break;
+
+//                case 6:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6;
+//                  break;
+
+//                case 8:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8;
+//                  break;
+
+//                case 10:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10;
+//                  break;
+
+//                case 20:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20;
+//                  break;
+
+//                default:
+//                  AssertFatal (0,
+//                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20",
+//                      RC.config_file_name, i, ue_TimersAndConstants_n311);
+//                  break;
+
+//              }
+
+//              switch (ue_TimersAndConstants_n311) {
+//                case 1:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1;
+//                  break;
+
+//                case 2:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2;
+//                  break;
+
+//                case 3:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3;
+//                  break;
+
+//                case 4:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4;
+//                  break;
+
+//                case 5:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5;
+//                  break;
+
+//                case 6:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6;
+//                  break;
+
+//                case 8:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8;
+//                  break;
+
+//                case 10:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10;
+//                  break;
+
+//                default:
+//                  AssertFatal (0,
+//                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10",
+//                      RC.config_file_name, i, ue_TimersAndConstants_t311);
+//                  break;
+
+//              }
+
+//              switch (ue_TransmissionMode) {
+//                case 1:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1;
+//                  break;
+//                case 2:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2;
+//                  break;
+//                case 3:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3;
+//                  break;
+//                case 4:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4;
+//                  break;
+//                case 5:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5;
+//                  break;
+//                case 6:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6;
+//                  break;
+//                case 7:
+//                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7;
+//                  break;
+//                default:
+//                  AssertFatal (0,
+//                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7",
+//                      RC.config_file_name, i, ue_TransmissionMode);
+//                  break;
+//              }
 
 #ifdef Rel14
               setting_br13 = config_setting_get_member(component_carrier, ENB_CONFIG_STRING_BR);
@@ -2709,10 +2928,10 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                   {
                       printf("Enabling BR access SI scheduling parameters\n");
                       RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = TRUE;
-                      if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) ||
-                              !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) ||
+                      if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_WINDOWLENGTH_BR, &si_WindowLength_BR_r13) ||
+                              !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_REPETITIONPATTERN, &si_RepetitionPattern_r13) ||
                               !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_STARTSYMBOLBR, &startSymbolBR_r13) ||
-                              !config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13))
+                              !config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_HOPPINGCONFIGCOMMON, &si_HoppingConfigCommon_r13))
                       {
                           AssertFatal(0,
                                       "Failed to parse eNB configuration file %s, enb %d  si_WindowLength_BR_r13, si_RepetitionPattern_r13, fdd_DownlinkOrTddSubframeBitmapBR_r13, fdd_UplinkSubframeBitmapBR_r13!\n",
@@ -2720,6 +2939,51 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
                       }
 
+
+
+                      if (!strcmp(si_WindowLength_BR_r13, "ms20")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 0;
+                      } else if (!strcmp(si_WindowLength_BR_r13, "ms40")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 1;
+                      } else if (!strcmp(si_WindowLength_BR_r13, "ms60")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 2;
+                      } else if (!strcmp(si_WindowLength_BR_r13, "ms80")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 3;
+                      } else if (!strcmp(si_WindowLength_BR_r13, "ms120")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 4;
+                      } else if (!strcmp(si_WindowLength_BR_r13, "ms160")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 5;
+                      } else if (!strcmp(si_WindowLength_BR_r13, "ms200")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 6;
+                      } else if (!strcmp(si_WindowLength_BR_r13, "spare")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = 7;
+                      }
+
+
+                      if (!strcmp(si_RepetitionPattern_r13, "everyRF")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 0;
+                      } else if (!strcmp(si_RepetitionPattern_r13, "every2ndRF")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 1;
+                      } else if (!strcmp(si_RepetitionPattern_r13, "every4thRF")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 2;
+                      } else if (!strcmp(si_RepetitionPattern_r13, "every8thRF")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = 3;
+                      }
+
+
+                      RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13;
+
+                      if (!strcmp(si_HoppingConfigCommon_r13, "off")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 1;
+                      } else if (!strcmp(si_HoppingConfigCommon_r13, "on")) {
+                          RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = 0;
+                      }
+
+
+                      printf("DEBUGGING][KOGO][CHAR*]: window length: %s - %d\n", si_WindowLength_BR_r13, RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j]);
+                      printf("DEBUGGING][KOGO][CHAR*]: repetition pattern: %s - %d\n", si_RepetitionPattern_r13, RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j]);
+                      printf("DEBUGGING][KOGO][CHAR*]: hopping config common: %s - %d\n", si_HoppingConfigCommon_r13, RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j]);
+
                       scheduling_info_br_list       = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_SCHEDULING_INFO_LIST);
                       int num_scheduling_info       = config_setting_length(scheduling_info_br_list);
                       RRC_CONFIGURATION_REQ (msg_p).scheduling_info_br_size[j] = num_scheduling_info;
@@ -2755,17 +3019,24 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                         RRC_CONFIGURATION_REQ(msg_p).fdd_DownlinkOrTddSubframeBitmapBR_r13[j] = NULL;
                       }
 
-                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13))
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SI_VALIDITYTIME, &si_ValidityTime_r13))
                       {
                           RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = calloc(1, sizeof(long));
-                          *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = si_ValidityTime_r13;
-
+                          if (!strcmp(si_ValidityTime_r13, "true")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = 0;
+                          } else {
+                              AssertFatal(0,
+                                          "Failed to parse eNB configuration file %s, enb %d  si_ValidityTime_r13 unknown value!\n",
+                                          RC.config_file_name, i);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: si_ValidityTime_r13: %s - %d\n", si_ValidityTime_r13, *RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j]);
                       }
                       else
                       {
                           RRC_CONFIGURATION_REQ(msg_p).si_ValidityTime_r13[j] = NULL;
                       }
 
+
                       if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_FREQHOPPINGPARAMETERSDL, &freqHoppingParametersDL_r13) && !strcmp(freqHoppingParametersDL_r13, "ENABLE"))
                       {
                           RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = TRUE;
@@ -2779,6 +3050,8 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                                           RC.config_file_name, i);
 
                           }
+
+
                           if (!strcmp(interval_DLHoppingConfigCommonModeA_r13, "interval-TDD-r13"))
                               RRC_CONFIGURATION_REQ(msg_p).interval_DLHoppingConfigCommonModeA_r13[j] = FALSE;
                           else
@@ -2794,14 +3067,22 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
 
 
-                          if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13))
+                          if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGNB, &mpdcch_pdsch_HoppingNB_r13))
                           {
                               RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = calloc(1, sizeof(long));
-                              *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = mpdcch_pdsch_HoppingNB_r13;
-
+                              if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb2")) {
+                                  *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 0;
+                              } else if (!strcmp(mpdcch_pdsch_HoppingNB_r13, "nb4")) {
+                                  *RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = 1;
+                              } else {
+                                  AssertFatal(0,
+                                              "Failed to parse eNB configuration file %s, enb %d  mpdcch_pdsch_HoppingNB_r13 unknown value!\n",
+                                              RC.config_file_name, i);
+                              }
                           }
-                          else
+                          else {
                               RRC_CONFIGURATION_REQ(msg_p).mpdcch_pdsch_HoppingNB_r13[j] = NULL;
+                          }
 
                           if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPINGOFFSET, &mpdcch_pdsch_HoppingOffset_r13))
                           {
@@ -2817,18 +3098,45 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                           RRC_CONFIGURATION_REQ(msg_p).freqHoppingParametersDL_r13[j] = FALSE;
                       }
 
-                      // SIB23 parameters ---------------------------------------------------------------------------------------------------------------------------
+                  // SIB23 parameters ---------------------------------------------------------------------------------------------------------------------------
 
-                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13))
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PREAMBLETRANSMAX_CE_R13, &preambleTransMax_CE_r13))
                       {
                           RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = calloc(1, sizeof(long));
-                          *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = preambleTransMax_CE_r13;
+                          if (!strcmp(preambleTransMax_CE_r13, "n3")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 0;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n4")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 1;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n5")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 2;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n6")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 3;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n7")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 4;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n8")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 5;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n10")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 6;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n20")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 7;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n50")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 8;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n100")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 9;
+                          } else if (!strcmp(preambleTransMax_CE_r13, "n200")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = 10;
+                          } else {
+                              AssertFatal(0,
+                                          "Failed to parse eNB configuration file %s, enb %d  preambleTransMax_CE_r13 unknown value!\n",
+                                          RC.config_file_name, i);
+                          }
                       }
                       else
                       {
                           RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13 = NULL;
                       }
 
+                      printf("DEBUGGING][KOGO][CHAR*]: preambleTransMax_CE_r13: %s - %d\n", preambleTransMax_CE_r13, *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].preambleTransMax_CE_r13);
 
                       rach_ce_level_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RACH_CE_LEVEL_INFO_LIST);
                       int num_rach_ce_level_info_list = config_setting_length(rach_ce_level_info_r13_list);
@@ -2839,9 +3147,9 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                           rach_ce_level_info_r13 = config_setting_get_elem(rach_ce_level_info_r13_list, rach_info_level_idx);
                           if (!     (config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_FIRST_PREAMBLE,                   &firstPreamble_r13)
                                      && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_LAST_PREAMBLE,                    &lastPreamble_r13)
-                                     && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13,      &ra_ResponseWindowSize_r13)
-                                     && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13)
-                                     && config_setting_lookup_int(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13,           &rar_HoppingConfig_r13) )
+                                     && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RA_RESPONSE_WINDOW_SIZE_R13,      &ra_ResponseWindowSize_r13)
+                                     && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_MAC_CONTENT_RESOLUTION_TIMER_R13, &mac_ContentionResolutionTimer_r13)
+                                     && config_setting_lookup_string(rach_ce_level_info_r13, ENB_CONFIG_STRING_RAR_HOPPING_CONFIG_R13,           &rar_HoppingConfig_r13) )
                                   )
                           {
                               AssertFatal (0,
@@ -2851,139 +3159,435 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
                           RRC_CONFIGURATION_REQ (msg_p).firstPreamble_r13[j][rach_info_level_idx]                 = firstPreamble_r13;
                           RRC_CONFIGURATION_REQ (msg_p).lastPreamble_r13[j][rach_info_level_idx]                  = lastPreamble_r13;
-                          RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx]         = ra_ResponseWindowSize_r13;
-                          RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = mac_ContentionResolutionTimer_r13;
-                          RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx]             = rar_HoppingConfig_r13;
 
+                          if (!strcmp(ra_ResponseWindowSize_r13, "sf20")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 0;
+                          } else if (!strcmp(ra_ResponseWindowSize_r13, "sf50")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 1;
+                          } else if (!strcmp(ra_ResponseWindowSize_r13, "sf80")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 2;
+                          } else if (!strcmp(ra_ResponseWindowSize_r13, "sf120")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 3;
+                          } else if (!strcmp(ra_ResponseWindowSize_r13, "sf180")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 4;
+                          } else if (!strcmp(ra_ResponseWindowSize_r13, "sf240")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 5;
+                          } else if (!strcmp(ra_ResponseWindowSize_r13, "sf320")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 6;
+                          } else if (!strcmp(ra_ResponseWindowSize_r13, "sf400")) {
+                              RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][rach_info_level_idx] = 7;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, ra_ResponseWindowSize_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+
+                          if (!strcmp(mac_ContentionResolutionTimer_r13, "sf80")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 0;
+                          } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf100")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 1;
+                          } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf120")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 2;
+                          } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf160")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 3;
+                          } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf200")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 4;
+                          } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf240")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 5;
+                          } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf480")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 6;
+                          } else if (!strcmp(mac_ContentionResolutionTimer_r13, "sf960")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][rach_info_level_idx] = 7;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, mac_ContentionResolutionTimer_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+
+                          if (!strcmp(rar_HoppingConfig_r13, "on")) {
+                              RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 0;
+                          } else if (!strcmp(rar_HoppingConfig_r13, "off")) {
+                              RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][rach_info_level_idx] = 1;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, rar_HoppingConfig_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+
+                      } // for
+
+                      printf("DEBUGGING][KOGO][CHAR*]: ra_ResponseWindowSize_r13: %s - %d\n", preambleTransMax_CE_r13, RRC_CONFIGURATION_REQ (msg_p).ra_ResponseWindowSize_r13[j][0]);
+                      printf("DEBUGGING][KOGO][CHAR*]: mac_ContentionResolutionTimer_r13: %s - %d\n", mac_ContentionResolutionTimer_r13, RRC_CONFIGURATION_REQ (msg_p).mac_ContentionResolutionTimer_r13[j][0]);
+                      printf("DEBUGGING][KOGO][CHAR*]: rar_HoppingConfig_r13: %s - %d\n", rar_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).rar_HoppingConfig_r13[j][0]);
+
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pdsch_maxNumRepetitionCEmodeA_r13)) {
+                          RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long));
+                          if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r16")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 0;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeA_r13, "r32")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = 1;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeA_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pdsch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pdsch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j]);
+                      }
+
+
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pdsch_maxNumRepetitionCEmodeB_r13)) {
+                          RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long));
+                          if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r192")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 0;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r256")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 1;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r384")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 2;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r512")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 3;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r768")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 4;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r1024")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 5;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r1536")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 6;
+                          } else if (!strcmp(pdsch_maxNumRepetitionCEmodeB_r13, "r2048")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = 7;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pdsch_maxNumRepetitionCEmodeB_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pdsch_maxNumRepetitionCEmodeB_r13: %s - %d\n", pdsch_maxNumRepetitionCEmodeB_r13, *RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j]);
+                      }
+
+
+
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pusch_maxNumRepetitionCEmodeA_r13)) {
+                          RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long));
+                          if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r8")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] =  0;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r16")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] =  1;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeA_r13, "r32")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] =  2;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeA_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pusch_maxNumRepetitionCEmodeA_r13: %s - %d\n", pusch_maxNumRepetitionCEmodeA_r13, *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j]);
                       }
 
 
 
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pusch_maxNumRepetitionCEmodeB_r13)) {
+                          RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long));
+                          if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r192")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  0;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r256")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  1;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r384")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  2;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r512")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  3;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r768")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  4;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r1024")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  5;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r1536")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  6;
+                          } else if (!strcmp(pusch_maxNumRepetitionCEmodeB_r13, "r2048")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] =  7;
+                          }  else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pusch_maxNumRepetitionCEmodeB_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pusch_maxNumRepetitionCEmodeB_r13: %s - %d\n", pusch_maxNumRepetitionCEmodeB_r13, *RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j]);
+                      }
+
+
+                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310, &pusch_HoppingOffset_v1310)) {
+                             RRC_CONFIGURATION_REQ(msg_p).pusch_HoppingOffset_v1310[j] = CALLOC(1, sizeof(long));
+                             *RRC_CONFIGURATION_REQ(msg_p).pusch_HoppingOffset_v1310[j] = pusch_HoppingOffset_v1310;
+                             printf("DEBUGGING][KOGO][CHAR*]: pusch_HoppingOffset_v1310 %d\n", *RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j]);
+                      }
 
-                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13))
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL0, &pucch_NumRepetitionCE_Msg4_Level0_r13))
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = CALLOC(1, sizeof(long));
-                          *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = pucch_NumRepetitionCE_Msg4_Level0_r13;
                           ++cnt;
+                          if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n1")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 0;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n2")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 1;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n4")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 2;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level0_r13, "n8")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = 3;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level0_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level0_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j]);
                       }
                       else
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level0_r13[j] = NULL;;
                       }
 
-                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13))
+
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL1, &pucch_NumRepetitionCE_Msg4_Level1_r13))
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = CALLOC(1, sizeof(long));
-                          *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = pucch_NumRepetitionCE_Msg4_Level1_r13;
                           ++cnt;
+                          if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n1")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 0;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n2")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 1;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n4")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 2;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level1_r13, "n8")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = 3;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level1_r13 unknown value!\n",
+                                           RC.config_file_name);
+
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level0_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level1_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j]);
                       }
                       else
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level1_r13[j] = NULL;;
                       }
 
-                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13))
+
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL2, &pucch_NumRepetitionCE_Msg4_Level2_r13))
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = CALLOC(1, sizeof(long));
-                          *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = pucch_NumRepetitionCE_Msg4_Level2_r13;
                           ++cnt;
+                          if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n4")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 0;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n8")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 1;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n16")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 2;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level2_r13, "n32")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = 3;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level2_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level2_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level2_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j]);
                       }
                       else
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level2_r13[j] = NULL;
                       }
 
-                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13))
+
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_NUM_REPETITION_CE_MSG4_LEVEL3, &pucch_NumRepetitionCE_Msg4_Level3_r13))
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = CALLOC(1, sizeof(long));
-                          *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = pucch_NumRepetitionCE_Msg4_Level3_r13;
                           ++cnt;
-                      }
+                          if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n4")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 0;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n8")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 1;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n16")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 2;
+                          } else if (!strcmp(pucch_NumRepetitionCE_Msg4_Level3_r13, "n32")) {
+                              *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = 3;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, pucch_NumRepetitionCE_Msg4_Level3_r13 unknown value!\n",
+                                           RC.config_file_name);
+                          }
+                          printf("DEBUGGING][KOGO][CHAR*]: pucch_NumRepetitionCE_Msg4_Level3_r13: %s - %d\n", pucch_NumRepetitionCE_Msg4_Level3_r13, *RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j]);
+                      }
                       else
                       {
                           RRC_CONFIGURATION_REQ (msg_p).pucch_NumRepetitionCE_Msg4_Level3_r13[j] = NULL;;
                       }
 
 
+                      rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST);
+                      int num_rsrp_list = config_setting_length(rsrp_range_list);
+                      RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list;
+                      int rsrp_range_idx;
+                      for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx)
+                      {
+                          rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx);
+                          if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br)))
+                          {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, rsrp_range %d!\n",
+                                           RC.config_file_name, nb_cc++);
+                          }
+                          RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br;
+                          printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br);
+                      }
 
-                rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST);
-                int num_rsrp_list = config_setting_length(rsrp_range_list);
-                RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list;
-                int rsrp_range_idx;
-                for (rsrp_range_idx = 0; rsrp_range_idx < num_rsrp_list; ++rsrp_range_idx)
-                {
-                  rsrp_range_member = config_setting_get_elem(rsrp_range_list, rsrp_range_idx);
-                  if (!(config_setting_lookup_int(rsrp_range_member, ENB_CONFIG_STRING_RSRP_RANGE_BR, &rsrp_range_br)))
-                  {
-                    AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, rsrp_range %d!\n",
-                        RC.config_file_name, nb_cc++);
-                  }
-                  RRC_CONFIGURATION_REQ (msg_p).rsrp_range[j][rsrp_range_idx] = rsrp_range_br;
-                  printf("[DEBUGGING][KOGO] : rsrp range br = %d\n", rsrp_range_br);
-                }
+                      prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13);
+                      int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list);
+                      RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13;
+                      int prach_parameters_index;
+                      for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index)
+                      {
+                          prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index);
+                          if (!     (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br)
+                                     && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br)
+                                     && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13)
+                                     && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13)
+                                     && config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) )
+                                  )
+                          {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n",
+                                           RC.config_file_name, nb_cc++);
+                          }
 
-                prach_parameters_ce_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PRACH_PARAMETERS_CE_R13);
-                int num_prach_parameters_ce_r13 = config_setting_length(prach_parameters_ce_r13_list);
-                RRC_CONFIGURATION_REQ (msg_p).prach_parameters_list_size[j] = num_prach_parameters_ce_r13;
-                int prach_parameters_index;
-                for (prach_parameters_index = 0; prach_parameters_index < num_prach_parameters_ce_r13; ++prach_parameters_index)
-                {
-                  prach_parameters_ce_r13 = config_setting_get_elem(prach_parameters_ce_r13_list, prach_parameters_index);
-                  if (!     (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_CONFIG_INDEX_BR, &prach_config_index_br)
-                        && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_FREQ_OFFSET_BR, &prach_freq_offset_br)
-                        && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_NUM_REPETITION_PREAMBLE_ATTEMPT_R13, &numRepetitionPerPreambleAttempt_r13)
-                        && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MPDCCH_NUM_REPETITION_RA_R13, &mpdcch_NumRepetition_RA_r13)
-                        && config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_HOPPING_CONFIG_R13, &prach_HoppingConfig_r13) )
-                     )
-                  {
-                    AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, prach_parameters_ce_r13_list %d!\n",
-                        RC.config_file_name, nb_cc++);
-                  }
+                          printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13);
+
+                          RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index]                  = prach_config_index_br;
+                          RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index]                   = prach_freq_offset_br;
+                          RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index]          = prach_StartingSubframe_r13;
+
+                          if (config_setting_lookup_string(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13))
+                          {
+                              RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long));
+                              if (!strcmp(maxNumPreambleAttemptCE_r13, "n3")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 0;
+                              } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n4")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 1;
+                              } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n5")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 2;
+                              } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n6")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 3;
+                              } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n7")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 4;
+                              } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n8")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 5;
+                              } else if (!strcmp(maxNumPreambleAttemptCE_r13, "n10")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 6;
+                              } else if (!strcmp(maxNumPreambleAttemptCE_r13, "spare1")) {
+                                  *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = 7;
+                              } else {
+                                  AssertFatal (0,
+                                      "Failed to parse eNB configuration file %s, maxNumPreambleAttemptCE_r13 unknown value !! %d!\n",
+                                      RC.config_file_name, nb_cc++);
+                              }
+                              printf("[DEBUGGING][KOGO][CHAR*]: maxNumPreambleAttemptCE_r13: %s - %d\n", maxNumPreambleAttemptCE_r13, *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index]);
+                          }
+                          else
+                          {
+                              RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL;
+                          }
 
-                  printf("[DEBUGGING][KOGO] : prach hopping config = %d\n", prach_HoppingConfig_r13);
 
-                  RRC_CONFIGURATION_REQ (msg_p).prach_config_index[j][prach_parameters_index]                  = prach_config_index_br;
-                  RRC_CONFIGURATION_REQ (msg_p).prach_freq_offset[j][prach_parameters_index]                   = prach_freq_offset_br;
-                  RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index]          = prach_StartingSubframe_r13;
-                  RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index]         = maxNumPreambleAttemptCE_r13;
-                  RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = numRepetitionPerPreambleAttempt_r13;
-                  RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index]         = mpdcch_NumRepetition_RA_r13;
-                  RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index]             = prach_HoppingConfig_r13;
 
-                  if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13))
-                  {
-                    RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long));
-                    *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13;
-                  }
-                  else
-                  {
-                    RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL;
-                  }
+                          if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n1")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 0;
+                          } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n2")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 1;
+                          } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n4")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 2;
+                          } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n8")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 3;
+                          } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n16")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 4;
+                          } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n32")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 5;
+                          } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n64")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 6;
+                          } else if (!strcmp(numRepetitionPerPreambleAttempt_r13, "n128")) {
+                              RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index] = 7;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, numRepetitionPerPreambleAttempt_r13 unknown value !! %d!\n",
+                                           RC.config_file_name, nb_cc++);
+                          }
+                          printf("[DEBUGGING][KOGO][CHAR*]: numRepetitionPerPreambleAttempt_r13: %s - %d\n", numRepetitionPerPreambleAttempt_r13, RRC_CONFIGURATION_REQ (msg_p).numRepetitionPerPreambleAttempt_r13[j][prach_parameters_index]);
+
+
+                          if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 0;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 1;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r4")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 2;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r8")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 3;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r16")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 4;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r32")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 5;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r64")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 6;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r128")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 7;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r256")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 8;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r512")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 9;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r1024")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 10;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "r2048")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 11;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare4")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 12;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare3")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 13;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare2")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 14;
+                          } else if (!strcmp(mpdcch_NumRepetition_RA_r13, "spare1")) {
+                              RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index] = 15;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, mpdcch_NumRepetition_RA_r13 unknown value !! %d!\n",
+                                           RC.config_file_name, nb_cc++);
+                          }
 
-                  if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_NUM_PREAMBLE_ATTEMPT_CE_R13, &maxNumPreambleAttemptCE_r13))
-                  {
-                    RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = calloc(1, sizeof(long));
-                    *RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = maxNumPreambleAttemptCE_r13;
-                  }
-                  else
-                  {
-                    RRC_CONFIGURATION_REQ (msg_p).maxNumPreambleAttemptCE_r13[j][prach_parameters_index] = NULL;
-                  }
+                          printf("[DEBUGGING][KOGO][CHAR*]: mpdcch_NumRepetition_RA_r13: %s - %d\n", mpdcch_NumRepetition_RA_r13,  RRC_CONFIGURATION_REQ (msg_p).mpdcch_NumRepetition_RA_r13[j][prach_parameters_index]);
 
+                          if (!strcmp(prach_HoppingConfig_r13, "off")) {
+                              RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 1;
+                          } else if (!strcmp(prach_HoppingConfig_r13, "on")) {
+                              RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index] = 0;
+                          } else {
+                              AssertFatal (0,
+                                           "Failed to parse eNB configuration file %s, prach_HoppingConfig_r13 unknown value !! %d!\n",
+                                           RC.config_file_name, nb_cc++);
+                          }
 
-                  max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND);
-                  int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list);
-                  RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prach_parameters_index] = num_available_narrow_bands;
-                  int narrow_band_index;
-                  for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++)
-                  {
-                      max_available_narrow_band = config_setting_get_elem(max_available_narrow_band_list, narrow_band_index);
-                      RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prach_parameters_index][narrow_band_index] = config_setting_get_int(max_available_narrow_band);
-                  }
+                          printf("[DEBUGGING][KOGO][CHAR*]: prach_HoppingConfig_r13: %s - %d\n", prach_HoppingConfig_r13, RRC_CONFIGURATION_REQ (msg_p).prach_HoppingConfig_r13[j][prach_parameters_index]);
 
-                }
+                          if (config_setting_lookup_int(prach_parameters_ce_r13, ENB_CONFIG_STRING_PRACH_STARTING_SUBFRAME_R13, &prach_StartingSubframe_r13))
+                          {
+                              RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = calloc(1, sizeof(long));
+                              *RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = prach_StartingSubframe_r13;
+                          }
+                          else
+                          {
+                              RRC_CONFIGURATION_REQ (msg_p).prach_StartingSubframe_r13[j][prach_parameters_index] = NULL;
+                          }
+
+
+                          max_available_narrow_band_list = config_setting_get_member(prach_parameters_ce_r13, ENB_CONFIG_STRING_MAX_AVAILABLE_NARROW_BAND);
+                          int num_available_narrow_bands = config_setting_length(max_available_narrow_band_list);
+                          RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band_size[j][prach_parameters_index] = num_available_narrow_bands;
+                          int narrow_band_index;
+                          for (narrow_band_index = 0; narrow_band_index < num_available_narrow_bands; narrow_band_index++)
+                          {
+                              max_available_narrow_band = config_setting_get_elem(max_available_narrow_band_list, narrow_band_index);
+                              RRC_CONFIGURATION_REQ (msg_p).max_available_narrow_band[j][prach_parameters_index][narrow_band_index] = config_setting_get_int(max_available_narrow_band);
+                          }
+
+                      }
 
 
                 n1_pucch_AN_info_r13_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_N1_PUCCH_AN_INFO_LIST);
@@ -3005,28 +3609,75 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                   RRC_CONFIGURATION_REQ (msg_p).pucch_info_value[j][pucch_info_idx] = pucch_info_value;
                 }
 
+                puts("---------------------------------------------------------------------------------------------------");
+
                 setting_freq_hoppingParameters_r13 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_FREQ_HOPPING_PARAMETERS_R13);
                 if (setting_freq_hoppingParameters_r13 != NULL)
                 {
                     RRC_CONFIGURATION_REQ(msg_p).sib2_freq_hoppingParameters_r13_exists[j] = TRUE;
-                    if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, &sib2_mpdcch_pdsch_hoppingNB_r13))
+                    if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_NB_R13, &sib2_mpdcch_pdsch_hoppingNB_r13))
                     {
 
                         RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = CALLOC(1, sizeof(long));
-                        *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = sib2_mpdcch_pdsch_hoppingNB_r13;
+                        if (!strcmp(sib2_mpdcch_pdsch_hoppingNB_r13, "nb2")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = 0;
+                        } else if (!strcmp(sib2_mpdcch_pdsch_hoppingNB_r13, "nb4")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = 1;
+                        } else {
+                            AssertFatal (0,
+                                         "Failed to parse eNB configuration file %s, sib2_mpdcch_pdsch_hoppingNB_r13 unknown value !!\n",
+                                         RC.config_file_name);
+                        }
+                        printf("[DEBUGGING][KOGO][CHAR*]: sib2_mpdcch_pdsch_hoppingNB_r13: %s - %d\n", sib2_mpdcch_pdsch_hoppingNB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j]);
                     }
                     else
                     {
                        RRC_CONFIGURATION_REQ(msg_p).sib2_mpdcch_pdsch_hoppingNB_r13[j] = NULL;
                     }
 
-                    if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_DLHoppingConfigCommonModeA_r13))
+
+                    if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_DLHoppingConfigCommonModeA_r13))
                     {
 
                         RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long));
-                        *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = sib2_interval_DLHoppingConfigCommonModeA_r13;
-                        config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeA_r13_val);
-                        RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeA_r13_val;
+                        config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeA_r13_val);
+                        if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13, "FDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = 0;
+                            if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int1")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int2")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int4")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int8")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13, "TDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j] = 1;
+                            if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int1")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int5")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int10")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeA_r13_val, "int20")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else {
+                            AssertFatal (0,
+                                         "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeA_r13 unknown value !!\n",
+                                         RC.config_file_name);
+                        }
+                        printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeA_r13: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeA_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13[j]);
+                        printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeA_r13_val: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeA_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeA_r13_val[j]);
 
                     }
                     else
@@ -3035,14 +3686,48 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                     }
 
                       
-                    if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_DLHoppingConfigCommonModeB_r13))
+                    if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_DLHoppingConfigCommonModeB_r13))
                     {
 
                         RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long));
-                        *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = sib2_interval_DLHoppingConfigCommonModeB_r13;
-                        config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeB_r13_val);
-                        RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = sib2_interval_DLHoppingConfigCommonModeB_r13_val;
-
+                        config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_DL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_DLHoppingConfigCommonModeB_r13_val);
+                        if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13, "FDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = 0;
+                            if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int2")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int4")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int8")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int16")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13, "TDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j] = 1;
+                            if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int5")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int10")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int20")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_DLHoppingConfigCommonModeB_r13_val, "int40")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else {
+                            AssertFatal (0,
+                                         "Failed to parse eNB configuration file %s, sib2_interval_DLHoppingConfigCommonModeB_r13 unknown value !!\n",
+                                         RC.config_file_name);
+                        }
+                        printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeB_r13: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13[j]);
+                        printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_DLHoppingConfigCommonModeB_r13_val: %s - %d\n", sib2_interval_DLHoppingConfigCommonModeB_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_DLHoppingConfigCommonModeB_r13_val[j]);
                     }
                     else
                     {
@@ -3051,35 +3736,104 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
 
 
-                    if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13))
+                    if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13, &sib2_interval_ULHoppingConfigCommonModeA_r13))
                     {
 
                         RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = CALLOC(1, sizeof(long));
-                        *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = sib2_interval_ULHoppingConfigCommonModeA_r13;
-                        config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val);
-                        RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeA_r13_val;
-
+                        config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_A_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeA_r13_val);
+                        if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "FDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 0;
+                            if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int2")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int4")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int8")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1;
+                            if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int1")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int5")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int10")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13_val, "int20")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else {
+                            AssertFatal (0,
+                                         "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n",
+                                         RC.config_file_name);
+                        }
+
+                        printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j]);
                     }
                     else
                     {
                          RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = NULL;
                     }
+                    printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeA_r13_val: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeA_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13_val[j]);
 
 
 
-                    if (config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_ULHoppingConfigCommonModeB_r13))
+                    if (config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13, &sib2_interval_ULHoppingConfigCommonModeB_r13))
                     {
 
                         RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = CALLOC(1, sizeof(long));
-                        *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = sib2_interval_ULHoppingConfigCommonModeB_r13;
-                        config_setting_lookup_int(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeB_r13_val);
-                        RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = sib2_interval_ULHoppingConfigCommonModeB_r13_val;
-
+                        config_setting_lookup_string(setting_freq_hoppingParameters_r13, ENB_CONFIG_STRING_INTERVAL_UL_HOPPING_CONFIG_COMMON_MODE_B_R13_VAL, &sib2_interval_ULHoppingConfigCommonModeB_r13_val);
+                        if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13, "FDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = 0;
+                            if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int2")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int4")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int8")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int16")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeB_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeA_r13, "TDD")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeA_r13[j] = 1;
+                            if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int5")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 0;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int10")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 1;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int20")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 2;
+                            } else if (!strcmp(sib2_interval_ULHoppingConfigCommonModeB_r13_val, "int40")) {
+                                RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j] = 3;
+                            } else {
+                                AssertFatal (0,
+                                             "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeB_r13_val unknown value !!\n",
+                                             RC.config_file_name);
+                            }
+                        } else {
+                            AssertFatal (0,
+                                         "Failed to parse eNB configuration file %s, sib2_interval_ULHoppingConfigCommonModeA_r13 unknown value !!\n",
+                                         RC.config_file_name);
+                        }
+                        printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeB_r13: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeB_r13, *RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j]);
                     }
                     else
                     {
                          RRC_CONFIGURATION_REQ(msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13[j] = NULL;
                     }
+                    printf("[DEBUGGING][KOGO][CHAR*]: sib2_interval_ULHoppingConfigCommonModeB_r13_val: %s - %d\n", sib2_interval_ULHoppingConfigCommonModeB_r13_val, RRC_CONFIGURATION_REQ (msg_p).sib2_interval_ULHoppingConfigCommonModeB_r13_val[j]);
 
 
 
@@ -3136,7 +3890,7 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                       && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2, &pucch_deltaF_Format2)
                       && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2A, &pucch_deltaF_Format2a)
                       && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PUCCH_DELTAF_FORMAT2B, &pucch_deltaF_Format2b)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_NUM_RA_PREAMBLES, &rach_numberOfRA_Preambles)
                       && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLESGROUPACONFIG, &rach_preamblesGroupAConfig)
                       && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_POWERRAMPINGSTEP, &rach_powerRampingStep)
                       && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_PREAMBLEINITIALRECEIVEDTARGETPOWER, &rach_preambleInitialReceivedTargetPower)
@@ -3144,963 +3898,926 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                       && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_RARESPONSEWINDOWSIZE, &rach_raResponseWindowSize)
                       && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MACCONTENTIONRESOLUTIONTIMER, &rach_macContentionResolutionTimer)
                       && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MAXHARQMSG3TX, &rach_maxHARQ_Msg3Tx)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE,  &pcch_defaultPagingCycle)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_DEFAULT_PAGING_CYCLE,  &pcch_defaultPagingCycle)
                       && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PCCH_NB,  &pcch_nB)
                       && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_BCCH_MODIFICATIONPERIODCOEFF,  &bcch_modificationPeriodCoeff)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300,  &ue_TimersAndConstants_t300)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301,  &ue_TimersAndConstants_t301)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310,  &ue_TimersAndConstants_t310)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311,  &ue_TimersAndConstants_t311)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310,  &ue_TimersAndConstants_n310)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311,  &ue_TimersAndConstants_n311)
-                      && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE,  &ue_TransmissionMode)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T300,  &ue_TimersAndConstants_t300)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T301,  &ue_TimersAndConstants_t301)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T310,  &ue_TimersAndConstants_t310)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_T311,  &ue_TimersAndConstants_t311)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_N310,  &ue_TimersAndConstants_n310)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UETIMERS_N311,  &ue_TimersAndConstants_n311)
+                      && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_UE_TRANSMISSION_MODE,  &ue_TransmissionMode)
                       )) {
-                        AssertFatal (0,
-                            "Failed to parse eNB configuration file %s, Component Carrier %d!\n",
-                            RC.config_file_name, nb_cc++);
-                        continue; // FIXME this prevents segfaults below, not sure what happens after function exit
-                      }
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, Component Carrier %d!\n",
+                                 RC.config_file_name, nb_cc++);
+                    continue; // FIXME this prevents segfaults below, not sure what happens after function exit
+                }
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_root =  prach_root;
 
                 if ((prach_root <0) || (prach_root > 1023))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n",
-                      RC.config_file_name, i, prach_root);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_root choice: 0..1023 !\n",
+                                 RC.config_file_name, i, prach_root);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_config_index = prach_config_index;
 
                 if ((prach_config_index <0) || (prach_config_index > 63))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n",
-                      RC.config_file_name, i, prach_config_index);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_config_index choice: 0..1023 !\n",
+                                 RC.config_file_name, i, prach_config_index);
 
                 if (!prach_high_speed)
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
-                      RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
+                                 RC.config_file_name, i, ENB_CONFIG_STRING_PRACH_HIGH_SPEED);
                 else if (strcmp(prach_high_speed, "ENABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = TRUE;
                 }
                 else if (strcmp(prach_high_speed, "DISABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_high_speed = FALSE;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n",
-                      RC.config_file_name, i, prach_high_speed);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for prach_config choice: ENABLE,DISABLE !\n",
+                                RC.config_file_name, i, prach_high_speed);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_zero_correlation =prach_zero_correlation;
 
                 if ((prach_zero_correlation <0) || (prach_zero_correlation > 15))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n",
-                      RC.config_file_name, i, prach_zero_correlation);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_zero_correlation choice: 0..15!\n",
+                                 RC.config_file_name, i, prach_zero_correlation);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].prach_freq_offset = prach_freq_offset;
 
                 if ((prach_freq_offset <0) || (prach_freq_offset > 94))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n",
-                      RC.config_file_name, i, prach_freq_offset);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for prach_freq_offset choice: 0..94!\n",
+                                 RC.config_file_name, i, prach_freq_offset);
 
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_delta_shift = pucch_delta_shift-1;
 
                 if ((pucch_delta_shift <1) || (pucch_delta_shift > 3))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n",
-                      RC.config_file_name, i, pucch_delta_shift);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_delta_shift choice: 1..3!\n",
+                                 RC.config_file_name, i, pucch_delta_shift);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nRB_CQI = pucch_nRB_CQI;
 
                 if ((pucch_nRB_CQI <0) || (pucch_nRB_CQI > 98))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n",
-                      RC.config_file_name, i, pucch_nRB_CQI);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nRB_CQI choice: 0..98!\n",
+                                 RC.config_file_name, i, pucch_nRB_CQI);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pucch_nCS_AN = pucch_nCS_AN;
 
                 if ((pucch_nCS_AN <0) || (pucch_nCS_AN > 7))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n",
-                      RC.config_file_name, i, pucch_nCS_AN);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_nCS_AN choice: 0..7!\n",
+                                 RC.config_file_name, i, pucch_nCS_AN);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_referenceSignalPower = pdsch_referenceSignalPower;
 
                 if ((pdsch_referenceSignalPower <-60) || (pdsch_referenceSignalPower > 50))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n",
-                      RC.config_file_name, i, pdsch_referenceSignalPower);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_referenceSignalPower choice:-60..50!\n",
+                                 RC.config_file_name, i, pdsch_referenceSignalPower);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pdsch_p_b = pdsch_p_b;
 
                 if ((pdsch_p_b <0) || (pdsch_p_b > 3))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n",
-                      RC.config_file_name, i, pdsch_p_b);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pdsch_p_b choice: 0..3!\n",
+                                 RC.config_file_name, i, pdsch_p_b);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_n_SB = pusch_n_SB;
 
                 if ((pusch_n_SB <1) || (pusch_n_SB > 4))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n",
-                      RC.config_file_name, i, pusch_n_SB);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_n_SB choice: 1..4!\n",
+                                 RC.config_file_name, i, pusch_n_SB);
 
                 if (!pusch_hoppingMode)
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n",
-                      RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d define %s: interSubframe,intraAndInterSubframe!\n",
+                                 RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_HOPPINGMODE);
                 else if (strcmp(pusch_hoppingMode, "interSubFrame") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_interSubFrame;
                 }
                 else if (strcmp(pusch_hoppingMode, "intraAndInterSubFrame") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_hoppingMode = PUSCH_ConfigCommon__pusch_ConfigBasic__hoppingMode_intraAndInterSubFrame;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n",
-                      RC.config_file_name, i, pusch_hoppingMode);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingMode choice: interSubframe,intraAndInterSubframe!\n",
+                                RC.config_file_name, i, pusch_hoppingMode);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_hoppingOffset = pusch_hoppingOffset;
 
                 if ((pusch_hoppingOffset<0) || (pusch_hoppingOffset>98))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n",
-                      RC.config_file_name, i, pusch_hoppingMode);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_hoppingOffset choice: 0..98!\n",
+                                 RC.config_file_name, i, pusch_hoppingMode);
 
                 if (!pusch_enable64QAM)
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
-                      RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
+                                 RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_ENABLE64QAM);
                 else if (strcmp(pusch_enable64QAM, "ENABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = TRUE;
                 }
                 else if (strcmp(pusch_enable64QAM, "DISABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_enable64QAM = FALSE;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n",
-                      RC.config_file_name, i, pusch_enable64QAM);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_enable64QAM choice: ENABLE,DISABLE!\n",
+                                RC.config_file_name, i, pusch_enable64QAM);
 
                 if (!pusch_groupHoppingEnabled)
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
-                      RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
+                                RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_GROUP_HOPPING_EN);
                 else if (strcmp(pusch_groupHoppingEnabled, "ENABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = TRUE;
                 }
                 else if (strcmp(pusch_groupHoppingEnabled, "DISABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_groupHoppingEnabled = FALSE;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n",
-                      RC.config_file_name, i, pusch_groupHoppingEnabled);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_groupHoppingEnabled choice: ENABLE,DISABLE!\n",
+                                RC.config_file_name, i, pusch_groupHoppingEnabled);
 
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_groupAssignment = pusch_groupAssignment;
 
                 if ((pusch_groupAssignment<0)||(pusch_groupAssignment>29))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n",
-                      RC.config_file_name, i, pusch_groupAssignment);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_groupAssignment choice: 0..29!\n",
+                                 RC.config_file_name, i, pusch_groupAssignment);
 
                 if (!pusch_sequenceHoppingEnabled)
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
-                      RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d define %s: ENABLE,DISABLE!\n",
+                                 RC.config_file_name, i, ENB_CONFIG_STRING_PUSCH_SEQUENCE_HOPPING_EN);
                 else if (strcmp(pusch_sequenceHoppingEnabled, "ENABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = TRUE;
                 }
                 else if (strcmp(pusch_sequenceHoppingEnabled, "DISABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_sequenceHoppingEnabled = FALSE;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n",
-                      RC.config_file_name, i, pusch_sequenceHoppingEnabled);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pusch_sequenceHoppingEnabled choice: ENABLE,DISABLE!\n",
+                                RC.config_file_name, i, pusch_sequenceHoppingEnabled);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pusch_nDMRS1 = pusch_nDMRS1;  //cyclic_shift in RRC!
 
                 if ((pusch_nDMRS1 <0) || (pusch_nDMRS1>7))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n",
-                      RC.config_file_name, i, pusch_nDMRS1);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_nDMRS1 choice: 0..7!\n",
+                                 RC.config_file_name, i, pusch_nDMRS1);
 
                 if (strcmp(phich_duration, "NORMAL") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_normal;
                 }
                 else if (strcmp(phich_duration, "EXTENDED") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration = PHICH_Config__phich_Duration_extended;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n",
-                      RC.config_file_name, i, phich_duration);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_duration choice: NORMAL,EXTENDED!\n",
+                                RC.config_file_name, i, phich_duration);
 
                 if (strcmp(phich_resource, "ONESIXTH") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_oneSixth;
                 }
                 else if (strcmp(phich_resource, "HALF") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_half;
                 }
                 else if (strcmp(phich_resource, "ONE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_one;
                 }
                 else if (strcmp(phich_resource, "TWO") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource = PHICH_Config__phich_Resource_two;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n",
-                      RC.config_file_name, i, phich_resource);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for phich_resource choice: ONESIXTH,HALF,ONE,TWO!\n",
+                                RC.config_file_name, i, phich_resource);
 
                 printf("phich.resource %d (%s), phich.duration %d (%s)\n",
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource,
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration);
+                       RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_resource, phich_resource,
+                       RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].phich_duration, phich_duration);
 
                 if (strcmp(srs_enable, "ENABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = TRUE;
                 }
                 else if (strcmp(srs_enable, "DISABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_enable = FALSE;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n",
-                      RC.config_file_name, i, srs_enable);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n",
+                                RC.config_file_name, i, srs_enable);
 
                 if (RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_enable == TRUE) {
-                  if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig)
-                        && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig)
-                        && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST)
-                        && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts)
-                       ))
-                    AssertFatal(0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n",
-                        RC.config_file_name, i);
+                    if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_BANDWIDTH_CONFIG, &srs_BandwidthConfig)
+                          && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_SRS_SUBFRAME_CONFIG, &srs_SubframeConfig)
+                          && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_ACKNACKST_CONFIG, &srs_ackNackST)
+                          && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_SRS_MAXUPPTS, &srs_MaxUpPts)
+                          ))
+                        AssertFatal(0,
+                                    "Failed to parse eNB configuration file %s, enb %d unknown values for srs_BandwidthConfig, srs_SubframeConfig, srs_ackNackST, srs_MaxUpPts\n",
+                                    RC.config_file_name, i);
 
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig;
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_BandwidthConfig = srs_BandwidthConfig;
 
-                  if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7))
-                    AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n",
-                        RC.config_file_name, i, srs_BandwidthConfig);
+                    if ((srs_BandwidthConfig < 0) || (srs_BandwidthConfig >7))
+                        AssertFatal (0, "Failed to parse eNB configuration file %s, enb %d unknown value %d for srs_BandwidthConfig choice: 0...7\n",
+                                     RC.config_file_name, i, srs_BandwidthConfig);
 
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig;
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].srs_SubframeConfig = srs_SubframeConfig;
 
-                  if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15))
-                    AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n",
-                        RC.config_file_name, i, srs_SubframeConfig);
+                    if ((srs_SubframeConfig<0) || (srs_SubframeConfig>15))
+                        AssertFatal (0,
+                                     "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for srs_SubframeConfig choice: 0..15 !\n",
+                                     RC.config_file_name, i, srs_SubframeConfig);
 
-                  if (strcmp(srs_ackNackST, "ENABLE") == 0) {
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE;
-                  }
-                  else if (strcmp(srs_ackNackST, "DISABLE") == 0) {
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE;
-                  }
-                  else
-                    AssertFatal(0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n",
-                        RC.config_file_name, i, srs_ackNackST);
+                    if (strcmp(srs_ackNackST, "ENABLE") == 0) {
+                        RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = TRUE;
+                    }
+                    else if (strcmp(srs_ackNackST, "DISABLE") == 0) {
+                        RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_ackNackST = FALSE;
+                    }
+                    else
+                        AssertFatal(0,
+                                    "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_BandwidthConfig choice: ENABLE,DISABLE !\n",
+                                    RC.config_file_name, i, srs_ackNackST);
 
-                  if (strcmp(srs_MaxUpPts, "ENABLE") == 0) {
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE;
-                  }
-                  else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) {
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE;
-                  }
-                  else
-                    AssertFatal(0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n",
-                        RC.config_file_name, i, srs_MaxUpPts);
+                    if (strcmp(srs_MaxUpPts, "ENABLE") == 0) {
+                        RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = TRUE;
+                    }
+                    else if (strcmp(srs_MaxUpPts, "DISABLE") == 0) {
+                        RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].srs_MaxUpPts = FALSE;
+                    }
+                    else
+                        AssertFatal(0,
+                                    "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for srs_MaxUpPts choice: ENABLE,DISABLE !\n",
+                                    RC.config_file_name, i, srs_MaxUpPts);
                 }
 
                 RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_p0_Nominal = pusch_p0_Nominal;
 
                 if ((pusch_p0_Nominal < -126) || (pusch_p0_Nominal > 24))
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n",
-                      RC.config_file_name, i, pusch_p0_Nominal);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pusch_p0_Nominal choice: -126..24 !\n",
+                                RC.config_file_name, i, pusch_p0_Nominal);
 
                 if (strcmp(pusch_alpha, "AL0") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al0;
                 }
                 else if (strcmp(pusch_alpha, "AL04") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al04;
                 }
                 else if (strcmp(pusch_alpha, "AL05") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al05;
                 }
                 else if (strcmp(pusch_alpha, "AL06") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al06;
                 }
                 else if (strcmp(pusch_alpha, "AL07") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al07;
                 }
                 else if (strcmp(pusch_alpha, "AL08") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al08;
                 }
                 else if (strcmp(pusch_alpha, "AL09") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al09;
                 }
                 else if (strcmp(pusch_alpha, "AL1") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al1;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pusch_alpha = Alpha_r12_al1;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_Alpha choice: AL0,AL04,AL05,AL06,AL07,AL08,AL09,AL1!\n",
-                      RC.config_file_name, i, pusch_alpha);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_Alpha choice: AL0,AL04,AL05,AL06,AL07,AL08,AL09,AL1!\n",
+                                RC.config_file_name, i, pusch_alpha);
 
                 RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_p0_Nominal = pucch_p0_Nominal;
 
                 if ((pucch_p0_Nominal < -127) || (pucch_p0_Nominal > -96))
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n",
-                      RC.config_file_name, i, pucch_p0_Nominal);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pucch_p0_Nominal choice: -127..-96 !\n",
+                                RC.config_file_name, i, pucch_p0_Nominal);
 
                 RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].msg3_delta_Preamble = msg3_delta_Preamble;
 
                 if ((msg3_delta_Preamble < -1) || (msg3_delta_Preamble > 6))
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n",
-                      RC.config_file_name, i, msg3_delta_Preamble);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for msg3_delta_Preamble choice: -1..6 !\n",
+                                RC.config_file_name, i, msg3_delta_Preamble);
 
 
                 if (strcmp(pucch_deltaF_Format1, "deltaF_2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1 = DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF_2;
                 }
                 else if (strcmp(pucch_deltaF_Format1, "deltaF0") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF0;
                 }
                 else if (strcmp(pucch_deltaF_Format1, "deltaF2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1= DeltaFList_PUCCH__deltaF_PUCCH_Format1_deltaF2;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n",
-                      RC.config_file_name, i, pucch_deltaF_Format1);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1 choice: deltaF_2,dltaF0,deltaF2!\n",
+                                RC.config_file_name, i, pucch_deltaF_Format1);
 
                 if (strcmp(pucch_deltaF_Format1b, "deltaF1") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF1;
                 }
                 else if (strcmp(pucch_deltaF_Format1b, "deltaF3") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF3;
                 }
                 else if (strcmp(pucch_deltaF_Format1b, "deltaF5") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format1b= DeltaFList_PUCCH__deltaF_PUCCH_Format1b_deltaF5;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n",
-                      RC.config_file_name, i, pucch_deltaF_Format1b);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format1b choice: deltaF1,dltaF3,deltaF5!\n",
+                                RC.config_file_name, i, pucch_deltaF_Format1b);
 
 
                 if (strcmp(pucch_deltaF_Format2, "deltaF_2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF_2;
                 }
                 else if (strcmp(pucch_deltaF_Format2, "deltaF0") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF0;
                 }
                 else if (strcmp(pucch_deltaF_Format2, "deltaF1") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF1;
                 }
                 else if (strcmp(pucch_deltaF_Format2, "deltaF2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2= DeltaFList_PUCCH__deltaF_PUCCH_Format2_deltaF2;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n",
-                      RC.config_file_name, i, pucch_deltaF_Format2);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2 choice: deltaF_2,dltaF0,deltaF1,deltaF2!\n",
+                                RC.config_file_name, i, pucch_deltaF_Format2);
 
                 if (strcmp(pucch_deltaF_Format2a, "deltaF_2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF_2;
                 }
                 else if (strcmp(pucch_deltaF_Format2a, "deltaF0") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF0;
                 }
                 else if (strcmp(pucch_deltaF_Format2a, "deltaF2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2a= DeltaFList_PUCCH__deltaF_PUCCH_Format2a_deltaF2;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n",
-                      RC.config_file_name, i, pucch_deltaF_Format2a);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2a choice: deltaF_2,dltaF0,deltaF2!\n",
+                                RC.config_file_name, i, pucch_deltaF_Format2a);
 
                 if (strcmp(pucch_deltaF_Format2b, "deltaF_2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF_2;
                 }
                 else if (strcmp(pucch_deltaF_Format2b, "deltaF0") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF0;
                 }
                 else if (strcmp(pucch_deltaF_Format2b, "deltaF2") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pucch_deltaF_Format2b= DeltaFList_PUCCH__deltaF_PUCCH_Format2b_deltaF2;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n",
-                      RC.config_file_name, i, pucch_deltaF_Format2b);
-
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for pucch_deltaF_Format2b choice: deltaF_2,dltaF0,deltaF2!\n",
+                                RC.config_file_name, i, pucch_deltaF_Format2b);
+
+
+
+
+                if (!strcmp(rach_numberOfRA_Preambles, "n4")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (4 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n8")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (8 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n12")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (12 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n16")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (16 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n20")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (20 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n24")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (24 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n28")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (28 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n32")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (32 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n36")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (36 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n40")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (40 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n44")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (44 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n48")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (48 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n52")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (52 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n56")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (56 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n60")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (60 / 4) - 1;
+                } else if (!strcmp(rach_numberOfRA_Preambles, "n64")) {
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (64 / 4) - 1;
+                } else {
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n",
+                                RC.config_file_name, i, rach_numberOfRA_Preambles);
 
+                }
 
 
-                RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles= (rach_numberOfRA_Preambles / 4) - 1;
+                printf("[DEBUGGING][KOGO][CHAR*] : rach_numberOfRA_Preambles_br = %d\n", RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles);
 
+//                RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_numberOfRA_Preambles = (rach_numberOfRA_Preambles_br/ 4) - 1;
 
-                if ((rach_numberOfRA_Preambles < 4) || (rach_numberOfRA_Preambles > 64) || ((rach_numberOfRA_Preambles & 3) != 0))
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_numberOfRA_Preambles choice: 4,8,12,...,64!\n",
-                      RC.config_file_name, i, rach_numberOfRA_Preambles);
 
                 if (strcmp(rach_preamblesGroupAConfig, "ENABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= TRUE;
 
-                  if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA)
-                        && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA)
-                        && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB)))
-                    AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d  rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n",
-                        RC.config_file_name, i);
+                    if (!(config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_SIZEOFRA_PREAMBLESGROUPA, &rach_sizeOfRA_PreamblesGroupA)
+                          && config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGESIZEGROUPA, &rach_messageSizeGroupA)
+                          && config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_RACH_MESSAGEPOWEROFFSETGROUPB, &rach_messagePowerOffsetGroupB)))
+                        AssertFatal (0,
+                                     "Failed to parse eNB configuration file %s, enb %d  rach_sizeOfRA_PreamblesGroupA, messageSizeGroupA,messagePowerOffsetGroupB!\n",
+                                     RC.config_file_name, i);
 
-                  RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1;
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_sizeOfRA_PreamblesGroupA= (rach_sizeOfRA_PreamblesGroupA/4)-1;
 
-                  if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0))
-                    AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n",
-                        RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA);
+//                    if ((rach_numberOfRA_Preambles <4) || (rach_numberOfRA_Preambles>60) || ((rach_numberOfRA_Preambles&3)!=0))
+//                        AssertFatal (0,
+//                                     "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_sizeOfRA_PreamblesGroupA choice: 4,8,12,...,60!\n",
+//                                     RC.config_file_name, i, rach_sizeOfRA_PreamblesGroupA);
 
 
-                  switch (rach_messageSizeGroupA) {
+                    switch (rach_messageSizeGroupA) {
                     case 56:
-                      RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56;
-                      break;
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b56;
+                        break;
 
                     case 144:
-                      RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144;
-                      break;
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b144;
+                        break;
 
                     case 208:
-                      RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208;
-                      break;
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b208;
+                        break;
 
                     case 256:
-                      RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256;
-                      break;
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messageSizeGroupA= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messageSizeGroupA_b256;
+                        break;
 
                     default:
-                      AssertFatal (0,
-                          "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n",
-                          RC.config_file_name, i, rach_messageSizeGroupA);
-                      break;
-                  }
+                        AssertFatal (0,
+                                     "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_messageSizeGroupA choice: 56,144,208,256!\n",
+                                     RC.config_file_name, i, rach_messageSizeGroupA);
+                        break;
+                    }
 
-                  if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) {
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity;
-                  }
+                    if (strcmp(rach_messagePowerOffsetGroupB,"minusinfinity")==0) {
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_minusinfinity;
+                    }
 
-                  else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) {
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0;
-                  }
+                    else if (strcmp(rach_messagePowerOffsetGroupB,"dB0")==0) {
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB0;
+                    }
 
-                  else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) {
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5;
-                  }
+                    else if (strcmp(rach_messagePowerOffsetGroupB,"dB5")==0) {
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB5;
+                    }
 
-                  else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) {
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8;
-                  }
+                    else if (strcmp(rach_messagePowerOffsetGroupB,"dB8")==0) {
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB8;
+                    }
 
-                  else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) {
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10;
-                  }
+                    else if (strcmp(rach_messagePowerOffsetGroupB,"dB10")==0) {
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB10;
+                    }
 
-                  else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) {
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12;
-                  }
+                    else if (strcmp(rach_messagePowerOffsetGroupB,"dB12")==0) {
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB12;
+                    }
 
-                  else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) {
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15;
-                  }
+                    else if (strcmp(rach_messagePowerOffsetGroupB,"dB15")==0) {
+                        RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB15;
+                    }
 
-                  else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) {
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18;
-                  }
-                  else
-                    AssertFatal(0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n",
-                        RC.config_file_name, i, rach_messagePowerOffsetGroupB);
+                    else if (strcmp(rach_messagePowerOffsetGroupB,"dB18")==0) {
+                        RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_messagePowerOffsetGroupB= RACH_ConfigCommon__preambleInfo__preamblesGroupAConfig__messagePowerOffsetGroupB_dB18;
+                    }
+                    else
+                        AssertFatal(0,
+                                    "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_messagePowerOffsetGroupB choice: minusinfinity,dB0,dB5,dB8,dB10,dB12,dB15,dB18!\n",
+                                    RC.config_file_name, i, rach_messagePowerOffsetGroupB);
 
                 }
                 else if (strcmp(rach_preamblesGroupAConfig, "DISABLE") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].rach_preamblesGroupAConfig= FALSE;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n",
-                      RC.config_file_name, i, rach_preamblesGroupAConfig);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for rach_preamblesGroupAConfig choice: ENABLE,DISABLE !\n",
+                                RC.config_file_name, i, rach_preamblesGroupAConfig);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleInitialReceivedTargetPower= (rach_preambleInitialReceivedTargetPower+120)/2;
 
                 if ((rach_preambleInitialReceivedTargetPower<-120) || (rach_preambleInitialReceivedTargetPower>-90) || ((rach_preambleInitialReceivedTargetPower&1)!=0))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n",
-                      RC.config_file_name, i, rach_preambleInitialReceivedTargetPower);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleInitialReceivedTargetPower choice: -120,-118,...,-90 !\n",
+                                 RC.config_file_name, i, rach_preambleInitialReceivedTargetPower);
 
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_powerRampingStep= rach_powerRampingStep/2;
 
                 if ((rach_powerRampingStep<0) || (rach_powerRampingStep>6) || ((rach_powerRampingStep&1)!=0))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n",
-                      RC.config_file_name, i, rach_powerRampingStep);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_powerRampingStep choice: 0,2,4,6 !\n",
+                                 RC.config_file_name, i, rach_powerRampingStep);
 
 
 
                 switch (rach_preambleTransMax) {
 
-                  case 3:
+                case 3:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n3;
                     break;
 
-                  case 4:
+                case 4:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n4;
                     break;
 
-                  case 5:
+                case 5:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n5;
                     break;
 
-                  case 6:
+                case 6:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n6;
                     break;
 
-                  case 7:
+                case 7:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n7;
                     break;
 
-                  case 8:
+                case 8:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n8;
                     break;
 
-                  case 10:
+                case 10:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n10;
                     break;
 
-                  case 20:
+                case 20:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n20;
                     break;
 
-                  case 50:
+                case 50:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n50;
                     break;
 
-                  case 100:
+                case 100:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n100;
                     break;
 
-                  case 200:
+                case 200:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_preambleTransMax=  PreambleTransMax_n200;
                     break;
 
 
-                  default:
+                default:
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n",
-                        RC.config_file_name, i, rach_preambleTransMax);
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_preambleTransMax choice: 3,4,5,6,7,8,10,20,50,100,200!\n",
+                                 RC.config_file_name, i, rach_preambleTransMax);
                     break;
                 }
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_raResponseWindowSize=  (rach_raResponseWindowSize==10)?7:rach_raResponseWindowSize-2;
 
                 if ((rach_raResponseWindowSize<0)||(rach_raResponseWindowSize==9)||(rach_raResponseWindowSize>10))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n",
-                      RC.config_file_name, i, rach_preambleTransMax);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_raResponseWindowSize choice: 2,3,4,5,6,7,8,10!\n",
+                                 RC.config_file_name, i, rach_preambleTransMax);
 
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_macContentionResolutionTimer= (rach_macContentionResolutionTimer/8)-1;
 
                 if ((rach_macContentionResolutionTimer<8) || (rach_macContentionResolutionTimer>64) || ((rach_macContentionResolutionTimer&7)!=0))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n",
-                      RC.config_file_name, i, rach_preambleTransMax);
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_macContentionResolutionTimer choice: 8,16,...,56,64!\n",
+                                 RC.config_file_name, i, rach_preambleTransMax);
 
                 RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].rach_maxHARQ_Msg3Tx= rach_maxHARQ_Msg3Tx;
 
                 if ((rach_maxHARQ_Msg3Tx<0) || (rach_maxHARQ_Msg3Tx>8))
-                  AssertFatal (0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n",
-                      RC.config_file_name, i, rach_preambleTransMax);
-
-
-                switch (pcch_defaultPagingCycle) {
-                  case 32:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf32;
-                    break;
-
-                  case 64:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf64;
-                    break;
-
-                  case 128:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf128;
-                    break;
-
-                  case 256:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle= PCCH_Config__defaultPagingCycle_rf256;
-                    break;
-
-                  default:
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n",
-                        RC.config_file_name, i, pcch_defaultPagingCycle);
-                    break;
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for rach_maxHARQ_Msg3Tx choice: 1..8!\n",
+                                 RC.config_file_name, i, rach_preambleTransMax);
+
+
+                if (!strcmp(pcch_defaultPagingCycle, "rf32")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf32;
+                } else if (!strcmp(pcch_defaultPagingCycle, "rf64")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf64;
+                } else if (!strcmp(pcch_defaultPagingCycle, "rf128")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf128;
+                } else if (!strcmp(pcch_defaultPagingCycle, "rf256")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle = PCCH_Config__defaultPagingCycle_rf256;
+                } else {
+                    AssertFatal (0,
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_defaultPagingCycle choice: 32,64,128,256!\n",
+                                 RC.config_file_name, i, pcch_defaultPagingCycle);
                 }
 
+                printf("[DEBUGGING][KOGO][CHAR*] : pcch_defaultPagingCycle_br = %d\n", RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].pcch_defaultPagingCycle);
+
                 if (strcmp(pcch_nB, "fourT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_fourT;
                 }
                 else if (strcmp(pcch_nB, "twoT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_twoT;
                 }
                 else if (strcmp(pcch_nB, "oneT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneT;
                 }
                 else if (strcmp(pcch_nB, "halfT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_halfT;
                 }
                 else if (strcmp(pcch_nB, "quarterT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_quarterT;
                 }
                 else if (strcmp(pcch_nB, "oneEighthT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneEighthT;
                 }
                 else if (strcmp(pcch_nB, "oneSixteenthT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneSixteenthT;
                 }
                 else if (strcmp(pcch_nB, "oneThirtySecondT") == 0) {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT;
+                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].pcch_nB= PCCH_Config__nB_oneThirtySecondT;
                 }
                 else
-                  AssertFatal(0,
-                      "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n",
-                      RC.config_file_name, i, pcch_defaultPagingCycle);
+                    AssertFatal(0,
+                                "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for pcch_nB choice: fourT,twoT,oneT,halfT,quarterT,oneighthT,oneSixteenthT,oneThirtySecondT !\n",
+                                RC.config_file_name, i, pcch_defaultPagingCycle);
 
 
 
                 switch (bcch_modificationPeriodCoeff) {
-                  case 2:
+                case 2:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n2;
                     break;
 
-                  case 4:
+                case 4:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n4;
                     break;
 
-                  case 8:
+                case 8:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n8;
                     break;
 
-                  case 16:
+                case 16:
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].bcch_modificationPeriodCoeff = BCCH_Config__modificationPeriodCoeff_n16;
                     break;
 
-                  default:
+                default:
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16",
-                        RC.config_file_name, i, bcch_modificationPeriodCoeff);
+                                 "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for bcch_modificationPeriodCoeff choice: 2,4,8,16",
+                                 RC.config_file_name, i, bcch_modificationPeriodCoeff);
 
                     break;
                 }
 
 
-                switch (ue_TimersAndConstants_t300) {
-                  case 100:
+                if (!strcmp(ue_TimersAndConstants_t300, "ms100")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms100;
-                    break;
-
-                  case 200:
+                } else if (!strcmp(ue_TimersAndConstants_t300, "ms200")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms200;
-                    break;
-
-                  case 300:
+                } else if (!strcmp(ue_TimersAndConstants_t300, "ms300")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms300;
-                    break;
-
-                  case 400:
+                } else if (!strcmp(ue_TimersAndConstants_t300, "ms400")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms400;
-                    break;
-
-                  case 600:
+                } else if (!strcmp(ue_TimersAndConstants_t300, "ms600")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms600;
-                    break;
-
-                  case 1000:
+                } else if (!strcmp(ue_TimersAndConstants_t300, "ms1000")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1000;
-                    break;
-
-                  case 1500:
+                } else if (!strcmp(ue_TimersAndConstants_t300, "ms1500")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms1500;
-                    break;
-
-                  case 2000:
+                } else if (!strcmp(ue_TimersAndConstants_t300, "ms2000")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300 = UE_TimersAndConstants__t300_ms2000;
-                    break;
-
-                  default:
+                } else {
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 choice: 100,200,300,400,600,1000,1500,2000 ",
+                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t300 unknown value !!",
                         RC.config_file_name, i, ue_TimersAndConstants_t300);
-                    break;
-
                 }
 
-                switch (ue_TimersAndConstants_t301) {
-                  case 100:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms100;
-                    break;
-
-                  case 200:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301 = UE_TimersAndConstants__t301_ms200;
-                    break;
+                printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t300 : %s - %d\n", ue_TimersAndConstants_t300, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t300);
 
-                  case 300:
+                if (!strcmp(ue_TimersAndConstants_t301, "ms100")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms100;
+                } else if (!strcmp(ue_TimersAndConstants_t301, "ms200")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms200;
+                } else if (!strcmp(ue_TimersAndConstants_t301, "ms300")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms300;
-                    break;
-
-                  case 400:
+                } else if (!strcmp(ue_TimersAndConstants_t301, "ms400")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms400;
-                    break;
-
-                  case 600:
+                } else if (!strcmp(ue_TimersAndConstants_t301, "ms600")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms600;
-                    break;
-
-                  case 1000:
+                } else if (!strcmp(ue_TimersAndConstants_t301, "ms1000")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1000;
-                    break;
-
-                  case 1500:
+                } else if (!strcmp(ue_TimersAndConstants_t301, "ms1500")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms1500;
-                    break;
-
-                  case 2000:
+                } else if (!strcmp(ue_TimersAndConstants_t301, "ms2000")) {
                     RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301= UE_TimersAndConstants__t301_ms2000;
-                    break;
-
-                  default:
+                } else {
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 choice: 100,200,300,400,600,1000,1500,2000 ",
+                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t301 !!",
                         RC.config_file_name, i, ue_TimersAndConstants_t301);
-                    break;
-
                 }
 
-                switch (ue_TimersAndConstants_t310) {
-                  case 0:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms0;
-                    break;
-
-                  case 50:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms50;
-                    break;
-
-                  case 100:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms100;
-                    break;
-
-                  case 200:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms200;
-                    break;
-
-                  case 500:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms500;
-                    break;
-
-                  case 1000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms1000;
-                    break;
-
-                  case 2000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310= UE_TimersAndConstants__t310_ms2000;
-                    break;
-
-                  default:
+                printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t301 : %s - %d\n", ue_TimersAndConstants_t301, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t301);
+
+                if (!strcmp(ue_TimersAndConstants_t310, "ms0")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms0;
+                } else if (!strcmp(ue_TimersAndConstants_t310, "ms50")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms50;
+                } else if (!strcmp(ue_TimersAndConstants_t310, "ms100")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms100;
+                } else if (!strcmp(ue_TimersAndConstants_t310, "ms200")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms200;
+                } else if (!strcmp(ue_TimersAndConstants_t310, "ms500")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms500;
+                } else if (!strcmp(ue_TimersAndConstants_t310, "ms1000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms1000;
+                } else if (!strcmp(ue_TimersAndConstants_t310, "ms2000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310 = UE_TimersAndConstants__t310_ms2000;
+                } else {
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 choice: 0,50,100,200,500,1000,1500,2000 ",
+                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t310 !!",
                         RC.config_file_name, i, ue_TimersAndConstants_t310);
-                    break;
-
                 }
-
-                switch (ue_TimersAndConstants_t311) {
-                  case 1000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms1000;
-                    break;
-
-                  case 3000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms3000;
-                    break;
-
-                  case 5000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms5000;
-                    break;
-
-                  case 10000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms10000;
-                    break;
-
-                  case 15000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms15000;
-                    break;
-
-                  case 20000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms20000;
-                    break;
-
-                  case 30000:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311= UE_TimersAndConstants__t311_ms30000;
-                    break;
-
-                  default:
+                printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t310 : %s - %d\n", ue_TimersAndConstants_t310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t310);
+
+                if (!strcmp(ue_TimersAndConstants_t311, "ms1000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms1000;
+                } else if (!strcmp(ue_TimersAndConstants_t311, "ms3000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms3000;
+                } else if (!strcmp(ue_TimersAndConstants_t311, "ms5000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms5000;
+                } else if (!strcmp(ue_TimersAndConstants_t311, "ms10000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms10000;
+                } else if (!strcmp(ue_TimersAndConstants_t311, "ms15000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms15000;
+                } else if (!strcmp(ue_TimersAndConstants_t311, "ms20000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms20000;
+                } else if (!strcmp(ue_TimersAndConstants_t311, "ms30000")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311 = UE_TimersAndConstants__t311_ms30000;
+                } else {
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1000,3000,5000,10000,150000,20000,30000",
+                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 !!",
                         RC.config_file_name, i, ue_TimersAndConstants_t311);
-                    break;
-
                 }
 
-                switch (ue_TimersAndConstants_n310) {
-                  case 1:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n1;
-                    break;
-
-                  case 2:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n2;
-                    break;
-
-                  case 3:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n3;
-                    break;
-
-                  case 4:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n4;
-                    break;
-
-                  case 6:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n6;
-                    break;
-
-                  case 8:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n8;
-                    break;
-
-                  case 10:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n10;
-                    break;
-
-                  case 20:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310= UE_TimersAndConstants__n310_n20;
-                    break;
-
-                  default:
+                printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_t311 : %s - %d\n", ue_TimersAndConstants_t311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_t311);
+
+
+                if (!strcmp(ue_TimersAndConstants_n310, "n1")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n1;
+                } else if (!strcmp(ue_TimersAndConstants_n310, "n2")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n2;
+                } else if (!strcmp(ue_TimersAndConstants_n310, "n3")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n3;
+                } else if (!strcmp(ue_TimersAndConstants_n310, "n4")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n4;
+                } else if (!strcmp(ue_TimersAndConstants_n310, "n6")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n6;
+                } else if (!strcmp(ue_TimersAndConstants_n310, "n8")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n8;
+                } else if (!strcmp(ue_TimersAndConstants_n310, "n10")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n10;
+                } else if (!strcmp(ue_TimersAndConstants_n310, "n20")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310 = UE_TimersAndConstants__n310_n20;
+                } else {
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 choice: 1,2,3,4,6,6,8,10,20",
-                        RC.config_file_name, i, ue_TimersAndConstants_n311);
-                    break;
-
+                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n310 !!",
+                        RC.config_file_name, i, ue_TimersAndConstants_n310);
                 }
 
-                switch (ue_TimersAndConstants_n311) {
-                  case 1:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n1;
-                    break;
-
-                  case 2:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n2;
-                    break;
-
-                  case 3:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n3;
-                    break;
-
-                  case 4:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n4;
-                    break;
-
-                  case 5:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n5;
-                    break;
-
-                  case 6:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n6;
-                    break;
-
-                  case 8:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n8;
-                    break;
-
-                  case 10:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311= UE_TimersAndConstants__n311_n10;
-                    break;
-
-                  default:
+                printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n310 : %s - %d\n", ue_TimersAndConstants_n310, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n310);
+
+
+                if (!strcmp(ue_TimersAndConstants_n311, "n1")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n1;
+                } else if (!strcmp(ue_TimersAndConstants_n311, "n2")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n2;
+                } else if (!strcmp(ue_TimersAndConstants_n311, "n3")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n3;
+                } else if (!strcmp(ue_TimersAndConstants_n311, "n4")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n4;
+                } else if (!strcmp(ue_TimersAndConstants_n311, "n5")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n5;
+                } else if (!strcmp(ue_TimersAndConstants_n311, "n6")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n6;
+                } else if (!strcmp(ue_TimersAndConstants_n311, "n8")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n8;
+                } else if (!strcmp(ue_TimersAndConstants_n311, "n10")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311 = UE_TimersAndConstants__n311_n10;
+                } else {
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_t311 choice: 1,2,3,4,5,6,8,10",
-                        RC.config_file_name, i, ue_TimersAndConstants_t311);
-                    break;
-
+                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TimersAndConstants_n311!!",
+                        RC.config_file_name, i, ue_TimersAndConstants_n311);
                 }
 
-                switch (ue_TransmissionMode) {
-                  case 1:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm1;
-                    break;
-                  case 2:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm2;
-                    break;
-                  case 3:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm3;
-                    break;
-                  case 4:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm4;
-                    break;
-                  case 5:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm5;
-                    break;
-                  case 6:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm6;
-                    break;
-                  case 7:
-                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode= AntennaInfoDedicated__transmissionMode_tm7;
-                    break;
-                  default:
+                printf("[DEBUGGING][KOGO][CHAR*]: ue_TimersAndConstants_n311 : %s - %d\n", ue_TimersAndConstants_n311, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TimersAndConstants_n311);
+
+
+                if (!strcmp(ue_TransmissionMode, "tm1")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm1;
+                } else if (!strcmp(ue_TransmissionMode, "tm2")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm2;
+                } else if (!strcmp(ue_TransmissionMode, "tm3")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm3;
+                } else if (!strcmp(ue_TransmissionMode, "tm4")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm4;
+                } else if (!strcmp(ue_TransmissionMode, "tm5")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm5;
+                } else if (!strcmp(ue_TransmissionMode, "tm6")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm6;
+                } else if (!strcmp(ue_TransmissionMode, "tm7")) {
+                    RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode = AntennaInfoDedicated__transmissionMode_tm7;
+                } else {
                     AssertFatal (0,
-                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode choice: 1,2,3,4,5,6,7",
+                        "Failed to parse eNB configuration file %s, enb %d unknown value \"%d\" for ue_TransmissionMode !!",
                         RC.config_file_name, i, ue_TransmissionMode);
-                    break;
                 }
 
+                printf("[DEBUGGING][KOGO][CHAR*]: ue_TransmissionMode : %s - %d\n", ue_TransmissionMode, RRC_CONFIGURATION_REQ (msg_p).radioresourceconfig_BR[j].ue_TransmissionMode);
+
                 setting_pcch_config_v1310 = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_PCCH_CONFIG_V1310);
                 if (setting_pcch_config_v1310 != NULL)
                 {
                     RRC_CONFIGURATION_REQ(msg_p).pcch_config_v1310[j] = TRUE;
                     if (!config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_PAGING_NARROWBANDS_R13, &paging_narrowbands_r13)
-                            || !config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13)
+                            || !config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_MPDCCH_NUMREPETITION_PAGING_R13, &mpdcch_numrepetition_paging_r13)
                             )
                         AssertFatal(0,
-                            "Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n",
-                            RC.config_file_name, i);
+                                    "Failed to parse eNB configuration file %s, enb %d pcch_config_v1310!\n",
+                                    RC.config_file_name, i);
 
                     RRC_CONFIGURATION_REQ(msg_p).paging_narrowbands_r13[j] = paging_narrowbands_r13;
-                    RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = mpdcch_numrepetition_paging_r13;
 
-                    if (config_setting_lookup_int(setting_pcch_config_v1310, ENB_CONFIG_STRING_NB_V1310, &nb_v1310))
+
+                    if (!strcmp(mpdcch_numrepetition_paging_r13, "r1")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 0;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r2")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 1;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r4")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 2;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r8")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 3;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r16")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 4;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r32")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 5;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r64")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 6;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r128")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 7;
+                    } else if (!strcmp(mpdcch_numrepetition_paging_r13, "r256")) {
+                        RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j] = 8;
+                    } else {
+                        AssertFatal(0,
+                                    "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n",
+                                    RC.config_file_name);
+                    }
+
+                    printf("[DEBUGGING][KOGO][CHAR*] mpdcch_numrepetition_paging_r13: %s - %d\n", mpdcch_numrepetition_paging_r13,  RRC_CONFIGURATION_REQ(msg_p).mpdcch_numrepetition_paging_r13[j]);
+
+                    if (config_setting_lookup_string(setting_pcch_config_v1310, ENB_CONFIG_STRING_NB_V1310, &nb_v1310))
                     {
-                        RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j]  = CALLOC(1, sizeof(long));
-                        *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = nb_v1310;
+                        RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = CALLOC(1, sizeof(long));
+                        if (!strcmp(nb_v1310, "one64thT")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 0;
+                        } else if (!strcmp(nb_v1310, "one128thT")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 1;
+                        } else if (!strcmp(nb_v1310, "one256thT")) {
+                            *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j] = 2;
+                        } else {
+                            AssertFatal(0,
+                                        "Failed to parse eNB configuration file %s, nb_v1310, unknown value !\n",
+                                        RC.config_file_name);
+                        }
+                        printf("[DEBUGGING][KOGO][CHAR*] nb_v1310: %s - %d\n", nb_v1310,  *RRC_CONFIGURATION_REQ(msg_p).nb_v1310[j]);
 
                     }
                     else
@@ -4117,11 +4834,11 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
 
                 if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_HYPERSFN, &hyperSFN_r13))
                 {
-                  RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t));
-                  *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13;
+                    RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= calloc(1, sizeof(uint16_t));
+                    *RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= (uint16_t)hyperSFN_r13;
                 }
                 else
-                  RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL;
+                    RRC_CONFIGURATION_REQ(msg_p).hyperSFN_r13[j]= NULL;
 
                 if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_EDRX_ALLOWED, &eDRX_Allowed_r13))
                 {
@@ -4132,72 +4849,97 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
                     RRC_CONFIGURATION_REQ(msg_p).eDRX_Allowed_r13[j]= NULL;
 
 
-                  bool fdd_uplink_exist = config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13);
-                  if (fdd_uplink_exist) 
-                  {
-                      RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t)); 
-                      *RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13;
+                bool fdd_uplink_exist = config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_FDD_ULSUBFRAMEBITMAPBR, &fdd_UplinkSubframeBitmapBR_r13);
+                if (fdd_uplink_exist)
+                {
+                    RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = CALLOC(1, sizeof(BOOLEAN_t));
+                    *RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = fdd_UplinkSubframeBitmapBR_r13;
+                }
+                else
+                {
+                    RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = NULL;;
+                }
+
                   }
+
                   else
-                  {
-                      RRC_CONFIGURATION_REQ(msg_p).fdd_UplinkSubframeBitmapBR_r13[j] = NULL;;
-                  }
+                  RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE;
 
-                  RRC_CONFIGURATION_REQ(msg_p).si_WindowLength_BR_r13[j] = si_WindowLength_BR_r13;
-                  RRC_CONFIGURATION_REQ(msg_p).si_RepetitionPattern_r13[j] = si_RepetitionPattern_r13;
-                  RRC_CONFIGURATION_REQ(msg_p).si_HoppingConfigCommon_r13[j] = si_HoppingConfigCommon_r13;
-                  RRC_CONFIGURATION_REQ(msg_p).startSymbolBR_r13[j] = startSymbolBR_r13;
 
+                /////SIB2 Parameters
 
-                }
 
-                else
-                  RRC_CONFIGURATION_REQ(msg_p).bandwidthReducedAccessRelatedInfo_r13[j] = FALSE;
+                  if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE"))
+                  {
+                      RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE;
 
+                      if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13))
+                      {
+                          if (!config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val))
+                          {
+                              AssertFatal(0,
+                                          "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n",
+                                          RC.config_file_name, i);
 
-                /////SIB2 Parameters
+                          }
+                          RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t));
 
+                          if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13")) {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE;
+                          } else {
+                              *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE;
+                          }
 
-                if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_PRACH_CONFIGCOMMON_V1310, &prach_ConfigCommon_v1310) && !strcmp(prach_ConfigCommon_v1310, "ENABLE"))
-                {
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = TRUE;
+                          if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 0;
+                          } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v1dot5")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 1;
+                          } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 2;
+                          } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v2dot5")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 3;
+                          } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v4")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 4;
+                          } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v5")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 5;
+                          } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "v8")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 6;
+                          } else if (!strcmp(mpdcch_startSF_CSS_RA_r13_val, "10")) {
+                              RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = 7;
+                          } else {
+                              AssertFatal(0,
+                                          "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val! Unknown Value !!\n",
+                                          RC.config_file_name, i);
+                          }
+                          printf("[DEBUGGING][KOGO][CHAR*] mpdcch_startSF_CSS_RA_r13_val %s - %d\n", mpdcch_startSF_CSS_RA_r13_val, RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val);
 
-                  if (config_setting_lookup_string(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13, &mpdcch_startSF_CSS_RA_r13))
-                  {
-                    if (!config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_MPDCCH_STARTSF_CSS_RA_R13_VAL, &mpdcch_startSF_CSS_RA_r13_val))
-                    {
-                      AssertFatal(0,
-                          "Failed to parse eNB configuration file %s, enb %d mpdcch_startSF_CSS_RA_r13_val!\n",
-                          RC.config_file_name, i);
+                      }
+                      else
+                      {
+                          RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL;
+                      }
 
-                    }
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = calloc(1, sizeof(BOOLEAN_t));
-                    if (!strcmp(mpdcch_startSF_CSS_RA_r13, "tdd-r13"))
-                      *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = FALSE;
-                    else
-                      *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = TRUE;
+                      if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13))
+                      {
+                          RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long));
+                          *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13;
 
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13_val = mpdcch_startSF_CSS_RA_r13_val;
+                      }
+                      else
+                      {
+                          RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL;
+                      }
 
                   }
                   else
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].mpdcch_startSF_CSS_RA_r13 = NULL;
-
-                  if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PRACH_HOPPINGOFFSET_R13, &prach_HoppingOffset_r13))
                   {
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = calloc(1, sizeof(long));
-                    *RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = prach_HoppingOffset_r13;
-
+                      RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE;
                   }
-                  else
-                    RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_HoppingOffset_r13 = NULL;
-
-                }
-                else
-                  RRC_CONFIGURATION_REQ(msg_p).radioresourceconfig_BR[j].prach_ConfigCommon_v1310 = FALSE;
               }
               else
-                RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0;
+              {
+                  RRC_CONFIGURATION_REQ(msg_p).schedulingInfoSIB1_BR_r13[j] = 0;
+              }
 
 
 #endif
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index 46c2f9ecd4e..63c6852a24b 100755
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -561,8 +561,8 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
           sib1_1310->bandwidthReducedAccessRelatedInfo_r13
                   = calloc(1, sizeof(struct SystemInformationBlockType1_v1310_IEs__bandwidthReducedAccessRelatedInfo_r13));
 
-	  LOG_I(RRC,"Allocating memory for BR access of SI (%p)\n",
-		sib1_1310->bandwidthReducedAccessRelatedInfo_r13);
+          LOG_I(RRC,"Allocating memory for BR access of SI (%p)\n",
+                sib1_1310->bandwidthReducedAccessRelatedInfo_r13);
 
           sib1_1310->bandwidthReducedAccessRelatedInfo_r13->si_WindowLength_BR_r13
                   = configuration->si_WindowLength_BR_r13[CC_id]; // 0
@@ -581,10 +581,10 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
           for (index = 0; index < num_sched_info_br; ++index)
           {
 
-	    schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index];
-	    schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index];
-            LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",schedulinginfo_br_13->si_Narrowband_r13,schedulinginfo_br_13->si_TBS_r13);
-	    ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13);
+              schedulinginfo_br_13->si_Narrowband_r13 = configuration->si_Narrowband_r13[CC_id][index];
+              schedulinginfo_br_13->si_TBS_r13 = configuration->si_TBS_r13[CC_id][index];
+              LOG_I(RRC,"Adding (%d,%d) to scheduling_info_br_13\n",schedulinginfo_br_13->si_Narrowband_r13,schedulinginfo_br_13->si_TBS_r13);
+              ASN_SEQUENCE_ADD(&sib1_1310->bandwidthReducedAccessRelatedInfo_r13->schedulingInfoList_BR_r13->list, schedulinginfo_br_13);
           }
 
 
@@ -1464,45 +1464,45 @@ uint8_t do_SIB23(uint8_t Mod_id,
 	AssertFatal(configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index]!=NULL,
 		    "configuration->prach_StartingSubframe_r13[%d][%d] is null",
 		    (int)CC_id,(int)prach_parameters_index);
-	if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index])
-	  {
-	    prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long));
-	    *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index];
-	  }
-	else
-	  {
-	    prach_parametersce_r13->prach_StartingSubframe_r13 = NULL;
-	  }
-	
-	if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index])
-	  {
-	    prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long));
-	    *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index];
-	  }
-	else
-	  {
-	    prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL;
-	  }
-	
-	prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index];
-	prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index];
-	prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index];
-	printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13); 
-	
-	
-	long *maxavailablenarrowband;
-	int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index];
-	int narrow_band_index;
-	for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++)
-          {
-	    maxavailablenarrowband = CALLOC(1, sizeof(long));
-	    *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index];
-	    ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband);
-          }
-	
-	prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1;
-	prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off;
-	ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13);
+    if (configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index])
+    {
+        prach_parametersce_r13->prach_StartingSubframe_r13 = CALLOC(1, sizeof(long));
+        *prach_parametersce_r13->prach_StartingSubframe_r13 = *configuration->prach_StartingSubframe_r13[CC_id][prach_parameters_index];
+    }
+    else
+    {
+        prach_parametersce_r13->prach_StartingSubframe_r13 = NULL;
+    }
+
+    if (configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index])
+    {
+        prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = CALLOC(1, sizeof(long));
+        *prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = *configuration->maxNumPreambleAttemptCE_r13[CC_id][prach_parameters_index];
+    }
+    else
+    {
+        prach_parametersce_r13->maxNumPreambleAttemptCE_r13 = NULL;
+    }
+
+    prach_parametersce_r13->numRepetitionPerPreambleAttempt_r13 = configuration->numRepetitionPerPreambleAttempt_r13[CC_id][prach_parameters_index];
+    prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = configuration->mpdcch_NumRepetition_RA_r13[CC_id][prach_parameters_index];
+    prach_parametersce_r13->prach_HoppingConfig_r13 = configuration->prach_HoppingConfig_r13[CC_id][prach_parameters_index];
+    printf("[DEBUGGING][KOGO][SIB23] : prach hopping config = %d\n", prach_parametersce_r13->prach_HoppingConfig_r13);
+
+
+    long *maxavailablenarrowband;
+    int num_narrow_bands = configuration->max_available_narrow_band_size[CC_id][prach_parameters_index];
+    int narrow_band_index;
+    for (narrow_band_index = 0; narrow_band_index < num_narrow_bands; narrow_band_index++)
+    {
+        maxavailablenarrowband = CALLOC(1, sizeof(long));
+        *maxavailablenarrowband = configuration->max_available_narrow_band[CC_id][prach_parameters_index][narrow_band_index];
+        ASN_SEQUENCE_ADD(&prach_parametersce_r13->mpdcch_NarrowbandsToMonitor_r13.list, maxavailablenarrowband);
+    }
+
+    prach_parametersce_r13->mpdcch_NumRepetition_RA_r13 = PRACH_ParametersCE_r13__mpdcch_NumRepetition_RA_r13_r1;
+    prach_parametersce_r13->prach_HoppingConfig_r13 = PRACH_ParametersCE_r13__prach_HoppingConfig_r13_off;
+    ASN_SEQUENCE_ADD(&(*sib2)->radioResourceConfigCommon.ext4->prach_ConfigCommon_v1310->prach_ParametersListCE_r13.list, prach_parametersce_r13);
       }
   }
   else
@@ -1640,7 +1640,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
   (*sib2)->radioResourceConfigCommon.pcch_Config.nB=PCCH_Config__nB_oneT;
 
   // PRACH-Config
-  (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex=Mod_id;//0;//384;
+  (*sib2)->radioResourceConfigCommon.prach_Config.rootSequenceIndex = Mod_id;//0;//384;
   (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_ConfigIndex = 0;//3;
   (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.highSpeedFlag = 0;
   (*sib2)->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig = 1;//12;
@@ -1744,17 +1744,17 @@ uint8_t do_SIB23(uint8_t Mod_id,
   (*sib2)->radioResourceConfigCommon.ext4->pucch_ConfigCommon_v1310->pucch_NumRepetitionCE_Msg4_Level3_r13 = NULL;
   //-----------------------------------------------------------------------------------------------------------------------------------------
 
-  (*sib2)->ue_TimersAndConstants.t300=UE_TimersAndConstants__t300_ms1000;
+  (*sib2)->ue_TimersAndConstants.t300 = UE_TimersAndConstants__t300_ms1000;
 
-  (*sib2)->ue_TimersAndConstants.t301=UE_TimersAndConstants__t301_ms1000;
+  (*sib2)->ue_TimersAndConstants.t301 = UE_TimersAndConstants__t301_ms1000;
 
-  (*sib2)->ue_TimersAndConstants.t310=UE_TimersAndConstants__t310_ms1000;
+  (*sib2)->ue_TimersAndConstants.t310 = UE_TimersAndConstants__t310_ms1000;
 
-  (*sib2)->ue_TimersAndConstants.n310=UE_TimersAndConstants__n310_n20;
+  (*sib2)->ue_TimersAndConstants.n310 = UE_TimersAndConstants__n310_n20;
 
-  (*sib2)->ue_TimersAndConstants.t311=UE_TimersAndConstants__t311_ms10000;
+  (*sib2)->ue_TimersAndConstants.t311 = UE_TimersAndConstants__t311_ms10000;
 
-  (*sib2)->ue_TimersAndConstants.n311=UE_TimersAndConstants__n311_n1;
+  (*sib2)->ue_TimersAndConstants.n311 = UE_TimersAndConstants__n311_n1;
 
 #endif
 
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf
index d05b6c6c7f0..1fccdfe0269 100755
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band13.tm1.50PRB.emtc.conf
@@ -81,7 +81,7 @@ eNBs =
       pucch_deltaF_Format2a                     = "deltaF0";            
       pucch_deltaF_Format2b                     = "deltaF0";            
 
-      rach_numberOfRA_Preambles                 = 64; 
+      rach_numberOfRA_Preambles                 = "n64"; #64 
       rach_preamblesGroupAConfig                = "DISABLE"; 
       /*
       rach_sizeOfRA_PreamblesGroupA             = ;
@@ -95,16 +95,16 @@ eNBs =
       rach_macContentionResolutionTimer         = 48;
       rach_maxHARQ_Msg3Tx                       = 4;
 
-      pcch_default_PagingCycle                  = 128;
+      pcch_default_PagingCycle                  = "rf128"; #128
       pcch_nB                                   = "oneT";
       bcch_modificationPeriodCoeff              = 2;
-      ue_TimersAndConstants_t300                = 1000;
-      ue_TimersAndConstants_t301                = 1000;
-      ue_TimersAndConstants_t310                = 1000;
-      ue_TimersAndConstants_t311                = 10000;
-      ue_TimersAndConstants_n310                = 20;
-      ue_TimersAndConstants_n311                = 1;
-      ue_TransmissionMode                       = 1;
+      ue_TimersAndConstants_t300                = "ms1000";
+      ue_TimersAndConstants_t301                = "ms1000";
+      ue_TimersAndConstants_t310                = "ms1000";
+      ue_TimersAndConstants_t311                = "ms10000";
+      ue_TimersAndConstants_n310                = "n20";
+      ue_TimersAndConstants_n311                = "n1";
+      ue_TransmissionMode                       = "tm1";
 
       # BR Parameters
       br_parameters : 
@@ -127,8 +127,8 @@ eNBs =
           cellSelectionInfoCE_r13                     = "ENABLE";
           q_RxLevMinCE_r13                            = -70;
           bandwidthReducedAccessRelatedInfo_r13       = "ENABLE"   
-          si_WindowLength_BR_r13                      = 0;
-          si_RepetitionPattern_r13                    = 0;
+          si_WindowLength_BR_r13                      = "ms20";    #0
+          si_RepetitionPattern_r13                    = "everyRF"; #0
 
           scheduling_info_br =
           (
@@ -141,11 +141,11 @@ eNBs =
           fdd_DownlinkOrTddSubframeBitmapBR_r13     = "subframePattern40-r13"; 
           fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF;
           startSymbolBR_r13                           = 3;
-          si_HoppingConfigCommon_r13                  = 1; # Note: 1==OFF !
-          si_ValidityTime_r13                         = 0;
+          si_HoppingConfigCommon_r13                  = "off"; #1; # Note: 1==OFF !
+          si_ValidityTime_r13                         = "true"; #0
 
           freqHoppingParametersDL_r13                 = "DISABLE"
-          mpdcch_pdsch_HoppingNB_r13                  = 0;
+          mpdcch_pdsch_HoppingNB_r13                  = "nb2"; #0
           interval_DLHoppingConfigCommonModeA_r13     = "interval-FDD-r13"
           interval_DLHoppingConfigCommonModeA_r13_val = 0;
           interval_DLHoppingConfigCommonModeB_r13     = "interval-FDD-r13"
@@ -155,9 +155,9 @@ eNBs =
 
           # SIB23
           frame_type                                = "FDD";
-          preambleTransMax_CE_r13                   = 6;
+          preambleTransMax_CE_r13                   = "n10"; #6
 
-          rach_numberOfRA_Preambles                 = 60;
+          rach_numberOfRA_Preambles                 = "n60"; #14
           rach_powerRampingStep                     = 4;
           rach_preambleInitialReceivedTargetPower   = -108;           
           rach_preambleTransMax                     = 10;
@@ -171,9 +171,9 @@ eNBs =
               {
                   firstPreamble_r13                 = 60;
                   lastPreamble_r13                  = 63;
-                  ra_ResponseWindowSize_r13         = 0;
-                  mac_ContentionResolutionTimer_r13 = 0;
-                  rar_HoppingConfig_r13             = 1;
+                  ra_ResponseWindowSize_r13         = "sf20"; #0
+                  mac_ContentionResolutionTimer_r13 = "sf80"; #0
+                  rar_HoppingConfig_r13             = "off";  #1;
               }
           );
 
@@ -181,7 +181,7 @@ eNBs =
           bcch_modificationPeriodCoeff              = 2;
 
           #PCCH Config
-          pcch_default_PagingCycle                  = 128;
+          pcch_default_PagingCycle                  = "rf128"; #128
           pcch_nB                                   = "oneT";
 
           #PRACH Config
@@ -189,7 +189,7 @@ eNBs =
           prach_config_index                        = 3;
           prach_high_speed                          = "DISABLE";
           prach_zero_correlation                    = 1;
-          prach_freq_offset                         = 2;
+          prach_freq_offset                         = 1;
 
           #PDSCH Config Common          
           pdsch_referenceSignalPower                = -27;
@@ -225,11 +225,11 @@ eNBs =
 
           prach_ConfigCommon_v1310                  = "ENABLE";
           
-          pdsch_maxNumRepetitionCEmodeA_r13         = 0;
-          #pdsch_maxNumRepetitionCEmodeB_r13         = 2; # NULL
+          pdsch_maxNumRepetitionCEmodeA_r13         = "r16"; #0
+          #pdsch_maxNumRepetitionCEmodeB_r13         = "r384"; # NULL - 2
 
-          pusch_maxNumRepetitionCEmodeA_r13         = 0;
-          #pusch_maxNumRepetitionCEmodeB_r13         = 4; #NULL
+          pusch_maxNumRepetitionCEmodeA_r13         = "r8"; #0
+          #pusch_maxNumRepetitionCEmodeB_r13         = "r768"; #4 #NULL
           #pusch_HoppingOffset_v1310                 = 5; #NULL
 
           # max size for this array is 3
@@ -241,7 +241,7 @@ eNBs =
           );
 
           mpdcch_startSF_CSS_RA_r13                 = "fdd-r13";
-          mpdcch_startSF_CSS_RA_r13_val             = 0;
+          mpdcch_startSF_CSS_RA_r13_val             = "v1"; #0
           prach_HoppingOffset_r13                   = 0;
 
           # max size for this array is 4
@@ -249,12 +249,12 @@ eNBs =
           (
               {
                   prach_config_index_br                     = 3;
-                  prach_freq_offset_br                      = 2;
+                  prach_freq_offset_br                      = 1;
                   prach_StartingSubframe_r13                = 0;
-                  maxNumPreambleAttemptCE_r13               = 6;
-                  numRepetitionPerPreambleAttempt_r13       = 0;
-                  mpdcch_NumRepetition_RA_r13               = 0;
-                  prach_HoppingConfig_r13                   = 1;
+                  maxNumPreambleAttemptCE_r13               = "n10"; #6
+                  numRepetitionPerPreambleAttempt_r13       = "n1";  #0
+                  mpdcch_NumRepetition_RA_r13               = "r1";  #0
+                  prach_HoppingConfig_r13                   = "off"; #1
                   max_available_narrow_band                 = [2]; 
              }
           );
@@ -267,39 +267,39 @@ eNBs =
           );
           
 
-          ue_TimersAndConstants_t300                = 1000;
-          ue_TimersAndConstants_t301                = 400;
-          ue_TimersAndConstants_t310                = 50;
-          ue_TimersAndConstants_t311                = 30000;
-          ue_TimersAndConstants_n310                = 1;
-          ue_TimersAndConstants_n311                = 10;
-          ue_TransmissionMode                       = 1;
+          ue_TimersAndConstants_t300                = "ms1000";
+          ue_TimersAndConstants_t301                = "ms400";
+          ue_TimersAndConstants_t310                = "ms50";
+          ue_TimersAndConstants_t311                = "ms30000";
+          ue_TimersAndConstants_n310                = "n1";
+          ue_TimersAndConstants_n311                = "n10";
+          ue_TransmissionMode                       = "tm1";
 
           pcch_config_v1310 :
           {
               paging_narrowbands_r13           = 1;
-              mpdcch_numrepetition_paging_r13  = 0;
-              #nb_v1310                        = 2;
+              mpdcch_numrepetition_paging_r13  = "r1";         #0
+              #nb_v1310                        = "one256thT";  #2
           }
 
 
-          pucch_NumRepetitionCE_Msg4_Level0_r13      = 0; 
-          #pucch_NumRepetitionCE_Msg4_Level1_r13     = 1;
-          #pucch_NumRepetitionCE_Msg4_Level2_r13     = 2;
-          #pucch_NumRepetitionCE_Msg4_Level3_r13     = 3;
+          pucch_NumRepetitionCE_Msg4_Level0_r13      = "n1";  #0 
+          #pucch_NumRepetitionCE_Msg4_Level1_r13     = "n2";  #1
+          #pucch_NumRepetitionCE_Msg4_Level2_r13     = "n16"; #2
+          #pucch_NumRepetitionCE_Msg4_Level3_r13     = "n32"; #3
 
           sib2_freq_hoppingParameters_r13 : 
           {
-#             sib2_mpdcch_pdsch_hoppingNB_r13                   = 0;
-#             sib2_interval_DLHoppingConfigCommonModeA_r13      = 0; # choice -> (0, FDD) (1, TDD)
-#             sib2_interval_DLHoppingConfigCommonModeA_r13_val  = 0;          
-#             sib2_interval_DLHoppingConfigCommonModeB_r13      = 0; # choice -> (0, FDD) (1, TDD)
-#             sib2_interval_DLHoppingConfigCommonModeB_r13_val  = 0;        
+             #sib2_mpdcch_pdsch_hoppingNB_r13                   = "nb2"; #0
+             #sib2_interval_DLHoppingConfigCommonModeA_r13      = "FDD"; # choice -> (0, FDD) (1, TDD)
+             #sib2_interval_DLHoppingConfigCommonModeA_r13_val  = "int1";          
+             #sib2_interval_DLHoppingConfigCommonModeB_r13      = "FDD"; # choice -> (0, FDD) (1, TDD)
+             #sib2_interval_DLHoppingConfigCommonModeB_r13_val  = "int2";        
 
-              sib2_interval_ULHoppingConfigCommonModeA_r13      = 0; # choice -> (0, FDD) (1, TDD)
-              sib2_interval_ULHoppingConfigCommonModeA_r13_val  = 2;          
-#             sib2_interval_ULHoppingConfigCommonModeB_r13      = 0; # choice -> (0, FDD) (1, TDD)
-#             sib2_interval_ULHoppingConfigCommonModeB_r13_val  = 0;
+             sib2_interval_ULHoppingConfigCommonModeA_r13      = "FDD";  # choice -> (0, FDD) (1, TDD)
+             sib2_interval_ULHoppingConfigCommonModeA_r13_val  = "int4"; #2          
+#            sib2_interval_ULHoppingConfigCommonModeB_r13      = "FDD";  # choice -> (0, FDD) (1, TDD)
+#            sib2_interval_ULHoppingConfigCommonModeB_r13_val  = "int2"; #0
 
 #             sib2_mpdcch_pdsch_hoppingOffset_r13               = 1;
           }
@@ -364,9 +364,9 @@ eNBs =
     NETWORK_INTERFACES :
     {
 
-        ENB_INTERFACE_NAME_FOR_S1_MME            = "enp0s31f6:S1-C";
+        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0:S1-C-eNB";
         ENB_IPV4_ADDRESS_FOR_S1_MME              = "172.17.0.21/24";
-        ENB_INTERFACE_NAME_FOR_S1U               = "enp0s31f6:S1-U";
+        ENB_INTERFACE_NAME_FOR_S1U               = "eth0:S1-U-eNB";
         ENB_IPV4_ADDRESS_FOR_S1U                 = "172.16.0.21/24";
         ENB_PORT_FOR_S1U                         = 2152; # Spec 2152
     };
-- 
GitLab