diff --git a/openair2/ENB_APP/enb_config.c b/openair2/ENB_APP/enb_config.c
index 2675e4454c8d549a6a6bcf38da84f6f2bf88f518..40d9551ef285b51fb5defbd4a385b4d0dedc7c24 100644
--- a/openair2/ENB_APP/enb_config.c
+++ b/openair2/ENB_APP/enb_config.c
@@ -2041,37 +2041,162 @@ int RCconfig_gtpu(void ) {
   return 0;
 }
 
-
-int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
-  int               j,k                           = 0;
-  int enb_id;
-  int32_t     my_int;
-  const char       *active_enb[MAX_ENB];
-  char             *address                       = NULL;
-  char             *cidr                          = NULL;
+//-----------------------------------------------------------------------------
+/*
+* Configure the s1ap_register_enb_req in itti message for future 
+* communications between eNB(s) and MME.
+*/
+int RCconfig_S1(
+  MessageDef *msg_p, 
+  uint32_t i) 
+//-----------------------------------------------------------------------------
+{
+  int enb_id = 0;
+  int32_t my_int = 0;
+  const char *active_enb[MAX_ENB];
+  char *address = NULL;
+  char *cidr    = NULL;
+  /*------------------------------------------------------------------------------*/
+  /*
+  * the only reason for all these variables is, that they are "hard-encoded" into
+  * the CCPARAMS_DESC macro and we need it for the default_DRX value ...
+  */
+  char       *frame_type                    = NULL;
+  int32_t     tdd_config                    = 0;
+  int32_t     tdd_config_s                  = 0;
+  char       *prefix_type                   = NULL;
+  char       *pbch_repetition               = NULL;
+  int32_t     eutra_band                    = 0;
+  long long int     downlink_frequency      = 0;
+  int32_t     uplink_frequency_offset       = 0;
+  int32_t     Nid_cell                      = 0;
+  int32_t     Nid_cell_mbsfn                = 0;
+  int32_t     N_RB_DL                       = 0;
+  int32_t     nb_antenna_ports              = 0;
+  int32_t     prach_root                    = 0;
+  int32_t     prach_config_index            = 0;
+  char            *prach_high_speed         = NULL;
+  int32_t     prach_zero_correlation        = 0;
+  int32_t     prach_freq_offset             = 0;
+  int32_t     pucch_delta_shift             = 0;
+  int32_t     pucch_nRB_CQI                 = 0;
+  int32_t     pucch_nCS_AN                  = 0;
+  int32_t     pucch_n1_AN                   = 0;
+  int32_t     pdsch_referenceSignalPower    = 0;
+  int32_t     pdsch_p_b                     = 0;
+  int32_t     pusch_n_SB                    = 0;
+  char       *pusch_hoppingMode             = NULL;
+  int32_t     pusch_hoppingOffset           = 0;
+  char          *pusch_enable64QAM          = NULL;
+  char          *pusch_groupHoppingEnabled  = NULL;
+  int32_t     pusch_groupAssignment         = 0;
+  char        *pusch_sequenceHoppingEnabled = NULL;
+  int32_t     pusch_nDMRS1                  = 0;
+  char       *phich_duration                = NULL;
+  char       *phich_resource                = NULL;
+  char       *srs_enable                    = NULL;
+  int32_t     srs_BandwidthConfig           = 0;
+  int32_t     srs_SubframeConfig            = 0;
+  char       *srs_ackNackST                 = NULL;
+  char       *srs_MaxUpPts                  = NULL;
+  int32_t     pusch_p0_Nominal              = 0;
+  char       *pusch_alpha                   = NULL;
+  int32_t     pucch_p0_Nominal              = 0;
+  int32_t     msg3_delta_Preamble           = 0;
+  char       *pucch_deltaF_Format1          = NULL;
+  char       *pucch_deltaF_Format1b         = NULL;
+  char       *pucch_deltaF_Format2          = NULL;
+  char       *pucch_deltaF_Format2a         = NULL;
+  char       *pucch_deltaF_Format2b         = NULL;
+  int32_t     rach_numberOfRA_Preambles     = 0;
+  char       *rach_preamblesGroupAConfig    = NULL;
+  int32_t     rach_sizeOfRA_PreamblesGroupA = 0;
+  int32_t     rach_messageSizeGroupA        = 0;
+  char       *rach_messagePowerOffsetGroupB = NULL;
+  int32_t     rach_powerRampingStep         = 0;
+  int32_t     rach_preambleInitialReceivedTargetPower = 0;
+  int32_t     rach_preambleTransMax         = 0;
+  int32_t     rach_raResponseWindowSize     = 10;
+  int32_t     rach_macContentionResolutionTimer = 0;
+  int32_t     rach_maxHARQ_Msg3Tx           = 0;
+  int32_t     pcch_defaultPagingCycle       = 0;
+  char       *pcch_nB                       = NULL;
+  int32_t     bcch_modificationPeriodCoeff  = 0;
+  int32_t     ue_TimersAndConstants_t300    = 0;
+  int32_t     ue_TimersAndConstants_t301    = 0;
+  int32_t     ue_TimersAndConstants_t310    = 0;
+  int32_t     ue_TimersAndConstants_t311    = 0;
+  int32_t     ue_TimersAndConstants_n310    = 0;
+  int32_t     ue_TimersAndConstants_n311    = 0;
+  int32_t     ue_TransmissionMode           = 0;
+  int32_t     ue_multiple_max               = 0;
+  //TTN - for D2D
+  //SIB18
+  const char       *rxPool_sc_CP_Len                                        = NULL;
+  const char       *rxPool_sc_Period                                        = NULL;
+  const char       *rxPool_data_CP_Len                                      = NULL;
+  libconfig_int     rxPool_ResourceConfig_prb_Num                           = 0;
+  libconfig_int     rxPool_ResourceConfig_prb_Start                         = 0;
+  libconfig_int     rxPool_ResourceConfig_prb_End                           = 0;
+  const char       *rxPool_ResourceConfig_offsetIndicator_present           = NULL;
+  libconfig_int     rxPool_ResourceConfig_offsetIndicator_choice            = 0;
+  const char       *rxPool_ResourceConfig_subframeBitmap_present            = NULL;
+  char             *rxPool_ResourceConfig_subframeBitmap_choice_bs_buf      = NULL;
+  libconfig_int     rxPool_ResourceConfig_subframeBitmap_choice_bs_size     = 0;
+  libconfig_int     rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused     = 0;
+  //SIB19
+  //For discRxPool
+  const char       *discRxPool_cp_Len                                              = NULL;
+  const char       *discRxPool_discPeriod                                          = NULL;
+  libconfig_int     discRxPool_numRetx                                             = 0;
+  libconfig_int     discRxPool_numRepetition                                       = 0;
+  libconfig_int     discRxPool_ResourceConfig_prb_Num                              = 0;
+  libconfig_int     discRxPool_ResourceConfig_prb_Start                            = 0;
+  libconfig_int     discRxPool_ResourceConfig_prb_End                              = 0;
+  const char       *discRxPool_ResourceConfig_offsetIndicator_present              = NULL;
+  libconfig_int     discRxPool_ResourceConfig_offsetIndicator_choice               = 0;
+  const char       *discRxPool_ResourceConfig_subframeBitmap_present               = NULL;
+  char             *discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf         = NULL;
+  libconfig_int     discRxPool_ResourceConfig_subframeBitmap_choice_bs_size        = 0;
+  libconfig_int     discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
+  //For discRxPoolPS
+  const char       *discRxPoolPS_cp_Len                                              = NULL;
+  const char       *discRxPoolPS_discPeriod                                          = NULL;
+  libconfig_int     discRxPoolPS_numRetx                                             = 0;
+  libconfig_int     discRxPoolPS_numRepetition                                       = 0;
+  libconfig_int     discRxPoolPS_ResourceConfig_prb_Num                              = 0;
+  libconfig_int     discRxPoolPS_ResourceConfig_prb_Start                            = 0;
+  libconfig_int     discRxPoolPS_ResourceConfig_prb_End                              = 0;
+  const char       *discRxPoolPS_ResourceConfig_offsetIndicator_present              = NULL;
+  libconfig_int     discRxPoolPS_ResourceConfig_offsetIndicator_choice               = 0;
+  const char       *discRxPoolPS_ResourceConfig_subframeBitmap_present               = NULL;
+  char             *discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_buf         = NULL;
+  libconfig_int     discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_size        = 0;
+  libconfig_int     discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused = 0;
+  /*------------------------------------------------------------------------------*/
   // for no gcc warnings
   (void)my_int;
-  memset((char *)active_enb,     0, MAX_ENB * sizeof(char *));
+  memset((char *)active_enb, 0, MAX_ENB * sizeof(char *));
   paramdef_t ENBSParams[] = ENBSPARAMS_DESC;
-  paramdef_t ENBParams[]  = ENBPARAMS_DESC;
-  paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST,NULL,0};
+  paramdef_t ENBParams[] = ENBPARAMS_DESC;
+  paramlist_def_t ENBParamList = {ENB_CONFIG_STRING_ENB_LIST, NULL, 0};
   /* get global parameters, defined outside any section in the config file */
-  config_get( ENBSParams,sizeof(ENBSParams)/sizeof(paramdef_t),NULL);
-  AssertFatal (i<ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt,
+  config_get(ENBSParams, sizeof(ENBSParams)/sizeof(paramdef_t), NULL);
+  AssertFatal (i < ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt,
                "Failed to parse config file %s, %uth attribute %s \n",
                RC.config_file_name, i, ENB_CONFIG_STRING_ACTIVE_ENBS);
 
-  if (ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt>0) {
+  if (ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt > 0) {
     // Output a list of all eNBs.
-    config_getlist( &ENBParamList,ENBParams,sizeof(ENBParams)/sizeof(paramdef_t),NULL);
+    config_getlist(&ENBParamList, ENBParams, sizeof(ENBParams)/sizeof(paramdef_t), NULL);
 
     if (ENBParamList.numelt > 0) {
-      for (k = 0; k < ENBParamList.numelt; k++) {
+      for (int k = 0; k < ENBParamList.numelt; k++) {
         if (ENBParamList.paramarray[k][ENB_ENB_ID_IDX].uptr == NULL) {
           // Calculate a default eNB ID
           if (EPC_MODE_ENABLED) {
-            uint32_t hash;
-            hash = s1ap_generate_eNB_id ();
+            uint32_t hash = 0;
+            hash = s1ap_generate_eNB_id();
             enb_id = k + (hash & 0xFFFF8);
           } else {
             enb_id = k;
@@ -2081,22 +2206,33 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
         }
 
         // search if in active list
-        for (j=0; j < ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt; j++) {
+        for (int j = 0; j < ENBSParams[ENB_ACTIVE_ENBS_IDX].numelt; j++) {
           if (strcmp(ENBSParams[ENB_ACTIVE_ENBS_IDX].strlistptr[j], *(ENBParamList.paramarray[k][ENB_ENB_NAME_IDX].strptr)) == 0) {
             paramdef_t PLMNParams[] = PLMNPARAMS_DESC;
             paramlist_def_t PLMNParamList = {ENB_CONFIG_STRING_PLMN_LIST, NULL, 0};
+            
+            paramdef_t CCsParams[] = CCPARAMS_DESC;
+
+            /* map parameter checking array instances to parameter definition array instances */
+            checkedparam_t config_check_CCparams[] = CCPARAMS_CHECK;
+            for (int I = 0; I < (sizeof(CCsParams) / sizeof(paramdef_t)); I++) {
+              CCsParams[I].chkPptr = &(config_check_CCparams[I]);
+            }
+            
             /* map parameter checking array instances to parameter definition array instances */
             checkedparam_t config_check_PLMNParams [] = PLMNPARAMS_CHECK;
-
-            for (int I = 0; I < sizeof(PLMNParams) / sizeof(paramdef_t); ++I)
+            for (int I = 0; I < sizeof(PLMNParams) / sizeof(paramdef_t); ++I) {
               PLMNParams[I].chkPptr = &(config_check_PLMNParams[I]);
+            }
+
+            paramdef_t S1Params[] = S1PARAMS_DESC;
+            paramlist_def_t S1ParamList = {ENB_CONFIG_STRING_MME_IP_ADDRESS, NULL, 0};
+            paramdef_t SCTPParams[] = SCTPPARAMS_DESC;
+            paramdef_t NETParams[] =  NETPARAMS_DESC;
 
-            paramdef_t S1Params[]  = S1PARAMS_DESC;
-            paramlist_def_t S1ParamList = {ENB_CONFIG_STRING_MME_IP_ADDRESS,NULL,0};
-            paramdef_t SCTPParams[]  = SCTPPARAMS_DESC;
-            paramdef_t NETParams[]  =  NETPARAMS_DESC;
             char aprefix[MAX_OPTNAME_SIZE*2 + 8];
-            sprintf(aprefix,"%s.[%i]",ENB_CONFIG_STRING_ENB_LIST,k);
+            sprintf(aprefix, "%s.[%i]", ENB_CONFIG_STRING_ENB_LIST, k);
+            
             S1AP_REGISTER_ENB_REQ (msg_p).eNB_id = enb_id;
 
             if (strcmp(*(ENBParamList.paramarray[k][ENB_CELL_TYPE_IDX].strptr), "CELL_MACRO_ENB") == 0) {
@@ -2104,13 +2240,16 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
             } else  if (strcmp(*(ENBParamList.paramarray[k][ENB_CELL_TYPE_IDX].strptr), "CELL_HOME_ENB") == 0) {
               S1AP_REGISTER_ENB_REQ (msg_p).cell_type = CELL_HOME_ENB;
             } else {
-              AssertFatal (0,
-                           "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n",
-                           RC.config_file_name, i, *(ENBParamList.paramarray[k][ENB_CELL_TYPE_IDX].strptr));
+              AssertFatal(0,
+                          "Failed to parse eNB configuration file %s, enb %d unknown value \"%s\" for cell_type choice: CELL_MACRO_ENB or CELL_HOME_ENB !\n",
+                          RC.config_file_name, 
+                          i, 
+                          *(ENBParamList.paramarray[k][ENB_CELL_TYPE_IDX].strptr));
             }
 
-            S1AP_REGISTER_ENB_REQ (msg_p).eNB_name         = strdup(*(ENBParamList.paramarray[k][ENB_ENB_NAME_IDX].strptr));
-            S1AP_REGISTER_ENB_REQ(msg_p).tac               = *ENBParamList.paramarray[k][ENB_TRACKING_AREA_CODE_IDX].uptr;
+            S1AP_REGISTER_ENB_REQ (msg_p).eNB_name = strdup(*(ENBParamList.paramarray[k][ENB_ENB_NAME_IDX].strptr));
+            S1AP_REGISTER_ENB_REQ(msg_p).tac = *ENBParamList.paramarray[k][ENB_TRACKING_AREA_CODE_IDX].uptr;
+
             AssertFatal(!ENBParamList.paramarray[k][ENB_MOBILE_COUNTRY_CODE_IDX_OLD].strptr
                         && !ENBParamList.paramarray[k][ENB_MOBILE_NETWORK_CODE_IDX_OLD].strptr,
                         "It seems that you use an old configuration file. Please change the existing\n"
@@ -2120,11 +2259,13 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
                         "to\n"
                         "    tracking_area_code  =  1; // no string!!\n"
                         "    plmn_list = ( { mcc = 208; mnc = 93; mnc_length = 2; } )\n");
+
             config_getlist(&PLMNParamList, PLMNParams, sizeof(PLMNParams)/sizeof(paramdef_t), aprefix);
 
-            if (PLMNParamList.numelt < 1 || PLMNParamList.numelt > 6)
+            if (PLMNParamList.numelt < 1 || PLMNParamList.numelt > 6){
               AssertFatal(0, "The number of PLMN IDs must be in [1,6], but is %d\n",
                           PLMNParamList.numelt);
+            }
 
             S1AP_REGISTER_ENB_REQ(msg_p).num_plmn = PLMNParamList.numelt;
 
@@ -2132,34 +2273,82 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
               S1AP_REGISTER_ENB_REQ(msg_p).mcc[l] = *PLMNParamList.paramarray[l][ENB_MOBILE_COUNTRY_CODE_IDX].uptr;
               S1AP_REGISTER_ENB_REQ(msg_p).mnc[l] = *PLMNParamList.paramarray[l][ENB_MOBILE_NETWORK_CODE_IDX].uptr;
               S1AP_REGISTER_ENB_REQ(msg_p).mnc_digit_length[l] = *PLMNParamList.paramarray[l][ENB_MNC_DIGIT_LENGTH].u8ptr;
+
               AssertFatal(S1AP_REGISTER_ENB_REQ(msg_p).mnc_digit_length[l] == 3
                           || S1AP_REGISTER_ENB_REQ(msg_p).mnc[l] < 100,
                           "MNC %d cannot be encoded in two digits as requested (change mnc_digit_length to 3)\n",
                           S1AP_REGISTER_ENB_REQ(msg_p).mnc[l]);
             }
 
-            S1AP_REGISTER_ENB_REQ(msg_p).default_drx = 0;
-            config_getlist( &S1ParamList,S1Params,sizeof(S1Params)/sizeof(paramdef_t),aprefix);
+            /* Default DRX param */
+            /*
+            * Here we get the config of the first CC, since the s1ap_register_enb_req_t doesn't support multiple CC.
+            * It is not clear in the spec if the eNB can have different default paging values in case of several SIB2 from the same eNB.
+            * Yet, from the spec and logically, there should be a unique value associated with eNB.
+            * Hence, it should be stated somewhere that the value should be the same for every CC, or put the value outside the CC
+            * in the conf file.
+            */
+            sprintf(aprefix, "%s.[%i].%s.[%i]", ENB_CONFIG_STRING_ENB_LIST, k, ENB_CONFIG_STRING_COMPONENT_CARRIERS, 0);
+            config_get(CCsParams, sizeof(CCsParams)/sizeof(paramdef_t), aprefix);
+            switch (pcch_defaultPagingCycle) {
+              case 32: {
+                S1AP_REGISTER_ENB_REQ(msg_p).default_drx = 0;
+                break;
+              }
+              
+              case 64: {
+                S1AP_REGISTER_ENB_REQ(msg_p).default_drx = 1;
+                break;
+              }
+
+              case 128: {
+                S1AP_REGISTER_ENB_REQ(msg_p).default_drx = 2;
+                break;
+              }
+
+              case 256: {
+                S1AP_REGISTER_ENB_REQ(msg_p).default_drx = 3;
+                break;
+              }
+
+              default: {
+                LOG_E(S1AP, "Default I-DRX value in conf file is invalid (%i). Should be 32, 64, 128 or 256. \
+                 Default DRX set to 32 in MME configuration\n", 
+                 pcch_defaultPagingCycle);
+                
+                S1AP_REGISTER_ENB_REQ(msg_p).default_drx = 0;
+              }
+            }
+
+            /* MME connection params */
+            sprintf(aprefix, "%s.[%i]", ENB_CONFIG_STRING_ENB_LIST, k);
+
+            config_getlist(&S1ParamList, S1Params, sizeof(S1Params)/sizeof(paramdef_t), aprefix);
+            
             S1AP_REGISTER_ENB_REQ (msg_p).nb_mme = 0;
 
             for (int l = 0; l < S1ParamList.numelt; l++) {
               S1AP_REGISTER_ENB_REQ (msg_p).nb_mme += 1;
+              
               strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[l].ipv4_address,*(S1ParamList.paramarray[l][ENB_MME_IPV4_ADDRESS_IDX].strptr));
               strcpy(S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[l].ipv6_address,*(S1ParamList.paramarray[l][ENB_MME_IPV6_ADDRESS_IDX].strptr));
 
               if (strcmp(*(S1ParamList.paramarray[l][ENB_MME_IP_ADDRESS_PREFERENCE_IDX].strptr), "ipv4") == 0) {
                 S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[l].ipv4 = 1;
+
               } else if (strcmp(*(S1ParamList.paramarray[l][ENB_MME_IP_ADDRESS_PREFERENCE_IDX].strptr), "ipv6") == 0) {
                 S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[l].ipv6 = 1;
+
               } else if (strcmp(*(S1ParamList.paramarray[l][ENB_MME_IP_ADDRESS_PREFERENCE_IDX].strptr), "no") == 0) {
                 S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[l].ipv4 = 1;
                 S1AP_REGISTER_ENB_REQ (msg_p).mme_ip_address[l].ipv6 = 1;
               }
 
-              if (S1ParamList.paramarray[l][ENB_MME_BROADCAST_PLMN_INDEX].iptr)
+              if (S1ParamList.paramarray[l][ENB_MME_BROADCAST_PLMN_INDEX].iptr) {
                 S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_num[l] = S1ParamList.paramarray[l][ENB_MME_BROADCAST_PLMN_INDEX].numelt;
-              else
+              } else {
                 S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_num[l] = 0;
+              }
 
               AssertFatal(S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_num[l] <= S1AP_REGISTER_ENB_REQ(msg_p).num_plmn,
                           "List of broadcast PLMN to be sent to MME can not be longer than actual "
@@ -2170,6 +2359,7 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
               for (int el = 0; el < S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_num[l]; ++el) {
                 /* UINTARRAY gets mapped to int, see config_libconfig.c:223 */
                 S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_index[l][el] = S1ParamList.paramarray[l][ENB_MME_BROADCAST_PLMN_INDEX].iptr[el];
+                
                 AssertFatal(S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_index[l][el] >= 0
                             && S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_index[l][el] < S1AP_REGISTER_ENB_REQ(msg_p).num_plmn,
                             "index for MME's MCC/MNC (%d) is an invalid index for the registered PLMN IDs (%d)\n",
@@ -2181,8 +2371,9 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
               if (S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_num[l] == 0) {
                 S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_num[l] = S1AP_REGISTER_ENB_REQ(msg_p).num_plmn;
 
-                for (int el = 0; el < S1AP_REGISTER_ENB_REQ(msg_p).num_plmn; ++el)
+                for (int el = 0; el < S1AP_REGISTER_ENB_REQ(msg_p).num_plmn; ++el){
                   S1AP_REGISTER_ENB_REQ(msg_p).broadcast_plmn_index[l][el] = el;
+                }
               }
             }
 
@@ -2192,15 +2383,18 @@ int RCconfig_S1(MessageDef *msg_p, uint32_t i) {
 
             if (EPC_MODE_ENABLED) {
               sprintf(aprefix,"%s.[%i].%s",ENB_CONFIG_STRING_ENB_LIST,k,ENB_CONFIG_STRING_SCTP_CONFIG);
+
               config_get( SCTPParams,sizeof(SCTPParams)/sizeof(paramdef_t),aprefix);
+
               S1AP_REGISTER_ENB_REQ (msg_p).sctp_in_streams = (uint16_t)*(SCTPParams[ENB_SCTP_INSTREAMS_IDX].uptr);
               S1AP_REGISTER_ENB_REQ (msg_p).sctp_out_streams = (uint16_t)*(SCTPParams[ENB_SCTP_OUTSTREAMS_IDX].uptr);
             }
 
             sprintf(aprefix,"%s.[%i].%s",ENB_CONFIG_STRING_ENB_LIST,k,ENB_CONFIG_STRING_NETWORK_INTERFACES_CONFIG);
+
             // NETWORK_INTERFACES
             config_get( NETParams,sizeof(NETParams)/sizeof(paramdef_t),aprefix);
-            //    S1AP_REGISTER_ENB_REQ (msg_p).enb_interface_name_for_S1U = strdup(enb_interface_name_for_S1U);
+            
             cidr = *(NETParams[ENB_IPV4_ADDRESS_FOR_S1_MME_IDX].strptr);
             address = strtok(cidr, "/");
             S1AP_REGISTER_ENB_REQ (msg_p).enb_ip_address.ipv6 = 0;
diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg.c b/openair2/RRC/LTE/MESSAGES/asn1_msg.c
index d70550c82da87d81b9ca023af7210e11b8e26cb3..70bb3dda497fcc9b2c4e97dfd6a8f07816f9a6f5 100644
--- a/openair2/RRC/LTE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LTE/MESSAGES/asn1_msg.c
@@ -704,7 +704,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
     = configuration->pcch_defaultPagingCycle[CC_id];
   (*sib2)->radioResourceConfigCommon.pcch_Config.nB
     = configuration->pcch_nB[CC_id];
-  LOG_E(RRC,"[SIB2] With ITTI. Basic config of paging cycle DRX: radio frame cycle length %x, paging occasion number %x\n",
+  LOG_I(RRC,"[SIB2] With ITTI. Basic config of paging cycle DRX: radio frame cycle length %x, paging occasion number %x\n",
       (uint32_t)configuration->pcch_defaultPagingCycle[CC_id],
       (uint32_t)configuration->pcch_nB[CC_id]);
 
diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c
index 6beeb9e68c32336ced92271d3c5fe6b0d308eae4..8673567e6be0d2043335bd2be7b02a4e83788c7b 100644
--- a/openair2/RRC/LTE/rrc_eNB.c
+++ b/openair2/RRC/LTE/rrc_eNB.c
@@ -842,7 +842,6 @@ rrc_eNB_free_UE(
   const struct rrc_eNB_ue_context_s *const ue_context_pP)
 //-----------------------------------------------------------------------------
 {
-  //protocol_ctxt_t ctxt; // rm ?
   rnti_t rnti = ue_context_pP->ue_context.rnti;
 
   if (enb_mod_idP >= NB_eNB_INST) {
@@ -853,8 +852,6 @@ rrc_eNB_free_UE(
     
     return;
   }
- 
-  //PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, enb_mod_idP, ENB_FLAG_YES, rnti, 0, 0, enb_mod_idP); // rm ?
 
   if (EPC_MODE_ENABLED) {
     if ((ue_context_pP->ue_context.ul_failure_timer >= 20000) && (mac_eNB_get_rrc_status(enb_mod_idP, rnti) >= RRC_CONNECTED)) {