diff --git a/common/utils/LOG/log.h b/common/utils/LOG/log.h
index cd2c3235e7198e248fd2afbbe98101f897df67b3..5d8ad06bec03c5f92698397f01f58a8cae62b145 100644
--- a/common/utils/LOG/log.h
+++ b/common/utils/LOG/log.h
@@ -145,6 +145,7 @@ extern "C" {
 #define DEBUG_CTRLSOCKET   (1<<10)
 #define DEBUG_SECURITY     (1<<11)
 #define DEBUG_NAS          (1<<12)
+#define DEBUG_RLC          (1<<13)
 #define UE_TIMING          (1<<20)
 
 
@@ -162,6 +163,7 @@ extern "C" {
     {"CTRLSOCKET",  DEBUG_CTRLSOCKET},\
     {"SECURITY",    DEBUG_SECURITY},\
     {"NAS",         DEBUG_NAS},\
+    {"RLC",         DEBUG_RLC},\
     {"UE_TIMING",   UE_TIMING},\
     {NULL,-1}\
   }
diff --git a/common/utils/msc/msc.h b/common/utils/msc/msc.h
index e8a8a4a0e82d7f65f9b9fcd80b54ddc79cff2759..4a71d52ffa8741d0834d75c7cab321090a666000 100644
--- a/common/utils/msc/msc.h
+++ b/common/utils/msc/msc.h
@@ -25,46 +25,46 @@
 #include <stdint.h>
 
 typedef enum {
-	MIN_MSC_ENV = 0,
-    MSC_E_UTRAN = MIN_MSC_ENV,
-    MSC_E_UTRAN_LIPA,
-    MSC_MME_GW,
-    MSC_MME,
-    MSC_SP_GW,
-    MAX_MSC_ENV
+  MIN_MSC_ENV = 0,
+  MSC_E_UTRAN = MIN_MSC_ENV,
+  MSC_E_UTRAN_LIPA,
+  MSC_MME_GW,
+  MSC_MME,
+  MSC_SP_GW,
+  MAX_MSC_ENV
 } msc_env_t;
 
 
 typedef enum {
-    MIN_MSC_PROTOS = 0,
-    MSC_IP_UE = MIN_MSC_PROTOS,
-    MSC_NAS_UE,
-    MSC_RRC_UE,
-    MSC_PDCP_UE,
-    MSC_RLC_UE,
-    MSC_MAC_UE,
-    MSC_PHY_UE,
-    MSC_PHY_ENB,
-    MSC_MAC_ENB,
-    MSC_RLC_ENB,
-    MSC_PDCP_ENB,
-    MSC_RRC_ENB,
-    MSC_IP_ENB,
-    MSC_S1AP_ENB,
-    MSC_GTPU_ENB,
-    MSC_GTPU_SGW,
-    MSC_S1AP_MME,
-    MSC_MMEAPP_MME,
-    MSC_NAS_MME,
-    MSC_NAS_EMM_MME,
-    MSC_NAS_ESM_MME,
-    MSC_SP_GWAPP_MME,
-    MSC_S11_MME,
-    MSC_S6A_MME,
-    MSC_HSS,
-    MAX_MSC_PROTOS,
-    MSC_X2AP_SRC_ENB,
-    MSC_X2AP_TARGET_ENB,
+  MIN_MSC_PROTOS = 0,
+  MSC_IP_UE = MIN_MSC_PROTOS,
+  MSC_NAS_UE,
+  MSC_RRC_UE,
+  MSC_PDCP_UE,
+  MSC_RLC_UE,
+  MSC_MAC_UE,
+  MSC_PHY_UE,
+  MSC_PHY_ENB,
+  MSC_MAC_ENB,
+  MSC_RLC_ENB,
+  MSC_PDCP_ENB,
+  MSC_RRC_ENB,
+  MSC_IP_ENB,
+  MSC_S1AP_ENB,
+  MSC_GTPU_ENB,
+  MSC_GTPU_SGW,
+  MSC_S1AP_MME,
+  MSC_MMEAPP_MME,
+  MSC_NAS_MME,
+  MSC_NAS_EMM_MME,
+  MSC_NAS_ESM_MME,
+  MSC_SP_GWAPP_MME,
+  MSC_S11_MME,
+  MSC_S6A_MME,
+  MSC_HSS,
+  MAX_MSC_PROTOS,
+  MSC_X2AP_SRC_ENB,
+  MSC_X2AP_TARGET_ENB,
 } msc_proto_t;
 
 
@@ -73,22 +73,22 @@ typedef enum {
 #define MSC_AS_TIME_FMT "%05u:%02u"
 
 #define MSC_AS_TIME_ARGS(CTXT_Pp) \
-    (CTXT_Pp)->frame, \
-    (CTXT_Pp)->subframe
+  (CTXT_Pp)->frame, \
+  (CTXT_Pp)->subframe
 
 typedef int(*msc_init_t)(const msc_env_t, const int );
 typedef void(*msc_start_use_t)(void );
 typedef void(*msc_end_t)(void);
 typedef void(*msc_log_event_t)(const msc_proto_t,char *, ...);
-typedef void(*msc_log_message_t)(const char *   const, const msc_proto_t, const msc_proto_t, 
-                                 const uint8_t* const, const unsigned int, char * , ...);
+typedef void(*msc_log_message_t)(const char    *const, const msc_proto_t, const msc_proto_t,
+                                 const uint8_t *const, const unsigned int, char *, ...);
 typedef struct msc_interface {
-    int               msc_loaded;
-    msc_init_t        msc_init;
-    msc_start_use_t   msc_start_use;
-    msc_end_t         msc_end;
-    msc_log_event_t   msc_log_event;
-    msc_log_message_t msc_log_message;
+  int               msc_loaded;
+  msc_init_t        msc_init;
+  msc_start_use_t   msc_start_use;
+  msc_end_t         msc_end;
+  msc_log_event_t   msc_log_event;
+  msc_log_message_t msc_log_message;
 } msc_interface_t;
 
 #ifdef MSC_LIBRARY
@@ -99,15 +99,17 @@ void msc_end(void);
 void msc_log_declare_proto(const msc_proto_t  protoP);
 void msc_log_event(const msc_proto_t  protoP,char *format, ...);
 void msc_log_message(
-	const char * const message_operationP,
-    const msc_proto_t  receiverP,
-    const msc_proto_t  senderP,
-    const uint8_t* const bytesP,
-    const unsigned int num_bytes,
-    char *format, ...);
+  const char *const message_operationP,
+  const msc_proto_t  receiverP,
+  const msc_proto_t  senderP,
+  const uint8_t *const bytesP,
+  const unsigned int num_bytes,
+  char *format, ...);
 
 #else
 
+#define MESSAGE_CHART_GENERATOR  msc_interface.msc_loaded
+
 msc_interface_t msc_interface;
 #define MSC_INIT(arg1,arg2)                                     if(msc_interface.msc_loaded) msc_interface.msc_init(arg1,arg2)
 #define MSC_START_USE                                           if(msc_interface.msc_loaded) msc_interface.msc_start_use
@@ -119,4 +121,4 @@ msc_interface_t msc_interface;
 #define MSC_LOG_TX_MESSAGE_FAILED(sENDER, rECEIVER, bYTES, nUMbYTES, fORMAT, aRGS...)    if(msc_interface.msc_loaded) msc_interface.msc_log_message("-x",sENDER, rECEIVER, (const uint8_t *)bYTES, nUMbYTES, fORMAT, ##aRGS)
 #endif
 
-#endif 
+#endif
diff --git a/openair2/COMMON/tasks_def.h b/openair2/COMMON/tasks_def.h
index 92d1ff4128fb5413dbd71de4e98eed9157eac15b..318c4649e411fe51dc40ff7b3e6b27be252a97a3 100644
--- a/openair2/COMMON/tasks_def.h
+++ b/openair2/COMMON/tasks_def.h
@@ -25,18 +25,11 @@ TASK_DEF(TASK_TIMER,    TASK_PRIORITY_MAX,          10)
 // Other possible tasks in the process
 
 // Common tasks:
-/// Layer 2 and Layer 1 task supporting all the synchronous processing
-TASK_DEF(TASK_L2L1,     TASK_PRIORITY_MAX_LEAST,    200)
 
 ///   Bearers Manager task
 TASK_DEF(TASK_BM,       TASK_PRIORITY_MED,          200)
 
 // eNodeB tasks and sub-tasks:
-//// Layer 2 and Layer 1 sub-tasks
-SUB_TASK_DEF(TASK_L2L1,     TASK_PHY_ENB,               200)
-SUB_TASK_DEF(TASK_L2L1,     TASK_MAC_ENB,               200)
-SUB_TASK_DEF(TASK_L2L1,     TASK_RLC_ENB,               200)
-SUB_TASK_DEF(TASK_L2L1,     TASK_PDCP_ENB,              200)
 
 ///   Radio Resource Control task
 TASK_DEF(TASK_RRC_ENB,  TASK_PRIORITY_MED,          200)
@@ -63,11 +56,6 @@ TASK_DEF(TASK_ENB_APP,  TASK_PRIORITY_MED,          200)
 TASK_DEF(TASK_FLEXRAN_AGENT,  TASK_PRIORITY_MED,          200)
 
 // UE tasks and sub-tasks:
-//// Layer 2 and Layer 1 sub-tasks
-SUB_TASK_DEF(TASK_L2L1,     TASK_PHY_UE,                200)
-SUB_TASK_DEF(TASK_L2L1,     TASK_MAC_UE,                200)
-SUB_TASK_DEF(TASK_L2L1,     TASK_RLC_UE,                200)
-SUB_TASK_DEF(TASK_L2L1,     TASK_PDCP_UE,               200)
 
 ///   Radio Resource Control task
 TASK_DEF(TASK_RRC_UE,   TASK_PRIORITY_MED,          200)
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
index e2911efcaf3314ebff84e2143ab1be72e88abb54..33ab7965e514ea878d7fcf648e0c11f3185c0fd7 100644
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am.c
@@ -25,9 +25,7 @@
 #include "platform_types.h"
 #include "platform_constants.h"
 //-----------------------------------------------------------------------------
-#if ENABLE_ITTI
-# include "intertask_interface.h"
-#endif
+
 #include "assertions.h"
 #include "msc.h"
 #include "hashtable.h"
@@ -46,171 +44,145 @@
 //-----------------------------------------------------------------------------
 uint32_t
 rlc_am_get_status_pdu_buffer_occupancy(
-  rlc_am_entity_t * const      rlc_pP){
-
-	//Compute Max Status PDU size according to what has been received and not received in the window [vrR vrMS[
-
-    // minimum header size in bits to be transmitted: D/C + CPT + ACK_SN + E1
-	uint32_t                    nb_bits_to_transmit	  = RLC_AM_PDU_D_C_BITS + RLC_AM_STATUS_PDU_CPT_LENGTH + RLC_AM_SN_BITS + RLC_AM_PDU_E_BITS;
-	mem_block_t                  *cursor_p              = rlc_pP->receiver_buffer.head;
-    rlc_am_pdu_info_t            *pdu_info_cursor_p     = NULL;
-    int                           waited_so             = 0;
-
-	rlc_sn_t sn_cursor = rlc_pP->vr_r;
-	rlc_sn_t sn_prev = rlc_pP->vr_r;
-	rlc_sn_t sn_end = rlc_pP->vr_ms;
-	boolean_t	segment_loop_end	  = false;
-
-
-	if (sn_prev != sn_end)
-	{
-		while ((RLC_AM_DIFF_SN(sn_prev,rlc_pP->vr_r) < RLC_AM_DIFF_SN(sn_end,rlc_pP->vr_r)) && (cursor_p != NULL))
-		{
-			pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info;
-			sn_cursor             = pdu_info_cursor_p->sn;
-
-			// Add holes between sn_prev and sn_cursor
-			while ((sn_prev != sn_cursor) && (sn_prev != sn_end))
-			{
-				  /* Add 1 NACK_SN + E1 + E2 */
-				  nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1));
-				  sn_prev = RLC_AM_NEXT_SN(sn_prev);
-			} //end while (sn_prev != sn_cursor)
-
-			/* Handle case sn_cursor is partially received */
-			/* Each gap will add NACK_SN + E1 + E2 + SOStart + SOEnd */
-			if ((((rlc_am_rx_pdu_management_t*)(cursor_p->data))->all_segments_received == 0) && (RLC_AM_DIFF_SN(sn_cursor,rlc_pP->vr_r) < RLC_AM_DIFF_SN(sn_end,rlc_pP->vr_r)))
-			{
-                 /* Check lsf */
-				  segment_loop_end = (pdu_info_cursor_p->lsf == 1);
-
-	    		  /* Fill for [0 SO[ if SO not null */
-	    		  if (pdu_info_cursor_p->so) {
-	    			  nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
-	                  waited_so = pdu_info_cursor_p->so + pdu_info_cursor_p->payload_size;
-	    		  }
-	    		  else {
-	        		  waited_so = pdu_info_cursor_p->payload_size;
-	    		  }
-
-                  /* Go to next segment */
-                  cursor_p = cursor_p->next;
-                  if (cursor_p != NULL)
-                  {
-                      pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info;
-                  }
+  rlc_am_entity_t *const      rlc_pP) {
+  //Compute Max Status PDU size according to what has been received and not received in the window [vrR vrMS[
+  // minimum header size in bits to be transmitted: D/C + CPT + ACK_SN + E1
+  uint32_t                    nb_bits_to_transmit   = RLC_AM_PDU_D_C_BITS + RLC_AM_STATUS_PDU_CPT_LENGTH + RLC_AM_SN_BITS + RLC_AM_PDU_E_BITS;
+  mem_block_t                  *cursor_p              = rlc_pP->receiver_buffer.head;
+  rlc_am_pdu_info_t            *pdu_info_cursor_p     = NULL;
+  int                           waited_so             = 0;
+  rlc_sn_t sn_cursor = rlc_pP->vr_r;
+  rlc_sn_t sn_prev = rlc_pP->vr_r;
+  rlc_sn_t sn_end = rlc_pP->vr_ms;
+  boolean_t segment_loop_end    = false;
+
+  if (sn_prev != sn_end) {
+    while ((RLC_AM_DIFF_SN(sn_prev,rlc_pP->vr_r) < RLC_AM_DIFF_SN(sn_end,rlc_pP->vr_r)) && (cursor_p != NULL)) {
+      pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info;
+      sn_cursor             = pdu_info_cursor_p->sn;
+
+      // Add holes between sn_prev and sn_cursor
+      while ((sn_prev != sn_cursor) && (sn_prev != sn_end)) {
+        /* Add 1 NACK_SN + E1 + E2 */
+        nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1));
+        sn_prev = RLC_AM_NEXT_SN(sn_prev);
+      } //end while (sn_prev != sn_cursor)
+
+      /* Handle case sn_cursor is partially received */
+      /* Each gap will add NACK_SN + E1 + E2 + SOStart + SOEnd */
+      if ((((rlc_am_rx_pdu_management_t *)(cursor_p->data))->all_segments_received == 0) && (RLC_AM_DIFF_SN(sn_cursor,rlc_pP->vr_r) < RLC_AM_DIFF_SN(sn_end,rlc_pP->vr_r))) {
+        /* Check lsf */
+        segment_loop_end = (pdu_info_cursor_p->lsf == 1);
+
+        /* Fill for [0 SO[ if SO not null */
+        if (pdu_info_cursor_p->so) {
+          nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
+          waited_so = pdu_info_cursor_p->so + pdu_info_cursor_p->payload_size;
+        } else {
+          waited_so = pdu_info_cursor_p->payload_size;
+        }
+
+        /* Go to next segment */
+        cursor_p = cursor_p->next;
+
+        if (cursor_p != NULL) {
+          pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info;
+        }
+
+        /* Fill following gaps if any */
+        while (!segment_loop_end) {
+          if ((cursor_p != NULL) && (pdu_info_cursor_p->sn == sn_cursor)) {
+            /* Check lsf */
+            segment_loop_end = (pdu_info_cursor_p->lsf == 1);
+
+            if (waited_so < pdu_info_cursor_p->so) {
+              nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
+            } else {
+              /* contiguous segment: only update waited_so */
+              /* Assuming so and payload_size updated according to duplication removal done at reception ... */
+              waited_so += pdu_info_cursor_p->payload_size;
+            }
+
+            /* Go to next received PDU or PDU Segment */
+            cursor_p = cursor_p->next;
+
+            if (cursor_p != NULL) {
+              pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info;
+            }
+          } else {
+            /* Fill last gap assuming LSF is not received */
+            nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
+            segment_loop_end = true;
+          }
+        } // end while (!segment_loop_end)
+      } // end if segments
+      else {
+        /* Go to next received PDU or PDU segment with different SN */
+        do {
+          cursor_p = cursor_p->next;
+        } while ((cursor_p != NULL) && (((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info.sn == sn_cursor));
+      }
 
-	    		  /* Fill following gaps if any */
-	    		  while (!segment_loop_end)
-	    		  {
-	    			  if ((cursor_p != NULL) && (pdu_info_cursor_p->sn == sn_cursor))
-	    			  {
-		                  /* Check lsf */
-	    				  segment_loop_end = (pdu_info_cursor_p->lsf == 1);
-
-            			  if (waited_so < pdu_info_cursor_p->so) {
-    	                      nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
-            			  }
-            			  else {
-            				  /* contiguous segment: only update waited_so */
-            				  /* Assuming so and payload_size updated according to duplication removal done at reception ... */
-            				  waited_so += pdu_info_cursor_p->payload_size;
-            			  }
-
-            			  /* Go to next received PDU or PDU Segment */
-            			  cursor_p = cursor_p->next;
-    	                  if (cursor_p != NULL)
-    	                  {
-    		                  pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info;
-    	                  }
-	    			  }
-	    			  else
-	    			  {
-	    				  /* Fill last gap assuming LSF is not received */
-	    				  nb_bits_to_transmit += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
-	    				  segment_loop_end = true;
-	    			  }
-	    		  } // end while (!segment_loop_end)
-			} // end if segments
-			else
-			{
-				  /* Go to next received PDU or PDU segment with different SN */
-				  do
-				  {
-					  cursor_p = cursor_p->next;
-				  } while ((cursor_p != NULL) && (((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info.sn == sn_cursor));
-			}
-
-			sn_prev = RLC_AM_NEXT_SN(sn_cursor);
-		}
-	} // end if (sn_prev != sn_end)
-
-	// round up to the greatest byte
-	return ((nb_bits_to_transmit + 7) >> 3);
+      sn_prev = RLC_AM_NEXT_SN(sn_cursor);
+    }
+  } // end if (sn_prev != sn_end)
 
+  // round up to the greatest byte
+  return ((nb_bits_to_transmit + 7) >> 3);
 }
 
 //-----------------------------------------------------------------------------
 uint32_t
 rlc_am_get_buffer_occupancy_in_bytes (
-  const protocol_ctxt_t* const ctxt_pP,
-  rlc_am_entity_t * const      rlc_pP)
-{
+  const protocol_ctxt_t *const ctxt_pP,
+  rlc_am_entity_t *const      rlc_pP) {
   // priority of control trafic
   rlc_pP->status_buffer_occupancy = 0;
-  if ((rlc_pP->status_requested) && !(rlc_pP->status_requested & RLC_AM_STATUS_NO_TX_MASK)) {
-      rlc_pP->status_buffer_occupancy = rlc_am_get_status_pdu_buffer_occupancy(rlc_pP);
-#if TRACE_RLC_AM_BO
-
-        LOG_D(RLC, PROTOCOL_CTXT_FMT RB_AM_FMT" BO : CONTROL PDU %d bytes \n",
-              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-			rlc_pP->status_buffer_occupancy);
 
-#endif
+  if ((rlc_pP->status_requested) && !(rlc_pP->status_requested & RLC_AM_STATUS_NO_TX_MASK)) {
+    rlc_pP->status_buffer_occupancy = rlc_am_get_status_pdu_buffer_occupancy(rlc_pP);
+    LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" BO : CONTROL PDU %d bytes \n",
+          PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+          rlc_pP->status_buffer_occupancy);
   }
 
-
-#if TRACE_RLC_AM_BO
-
-  if ((rlc_pP->status_buffer_occupancy + rlc_pP->retrans_num_bytes_to_retransmit + rlc_pP->sdu_buffer_occupancy + max_li_overhead + header_overhead) > 0) {
-    LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" BO : STATUS  BUFFER %d bytes \n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP), rlc_pP->status_buffer_occupancy);
-    LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" BO : RETRANS BUFFER %d bytes \n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP), rlc_pP->retrans_num_bytes_to_retransmit);
-    LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" BO : SDU     BUFFER %d bytes + li_overhead %d bytes header_overhead %d bytes (nb sdu not segmented %d)\n",
-          PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-          rlc_pP->sdu_buffer_occupancy,
-          0,
-          0,
-          rlc_pP->nb_sdu_no_segmented);
+  if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
+    if ((rlc_pP->status_buffer_occupancy + rlc_pP->retrans_num_bytes_to_retransmit + rlc_pP->sdu_buffer_occupancy ) > 0) {
+      LOG_UI(RLC, PROTOCOL_RLC_AM_CTXT_FMT" BO : STATUS  BUFFER %d bytes \n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP), rlc_pP->status_buffer_occupancy);
+      LOG_UI(RLC, PROTOCOL_RLC_AM_CTXT_FMT" BO : RETRANS BUFFER %d bytes \n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP), rlc_pP->retrans_num_bytes_to_retransmit);
+      LOG_UI(RLC, PROTOCOL_RLC_AM_CTXT_FMT" BO : SDU	BUFFER %d bytes + li_overhead %d bytes header_overhead %d bytes (nb sdu not segmented %d)\n",
+             PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+             rlc_pP->sdu_buffer_occupancy,
+             0,
+             0,
+             rlc_pP->nb_sdu_no_segmented);
+    }
   }
 
-#endif
   return rlc_pP->status_buffer_occupancy + rlc_pP->retrans_num_bytes_to_retransmit + rlc_pP->sdu_buffer_occupancy;
 }
 //-----------------------------------------------------------------------------
 void
 rlc_am_release (
-  const protocol_ctxt_t* const ctxt_pP,
-  rlc_am_entity_t * const      rlc_pP
-)
-{
+  const protocol_ctxt_t *const ctxt_pP,
+  rlc_am_entity_t *const      rlc_pP
+) {
   // empty
 }
 //-----------------------------------------------------------------------------
 void
 config_req_rlc_am (
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const srb_flag_t             srb_flagP,
-  const rlc_am_info_t  *       config_am_pP,
+  const rlc_am_info_t         *config_am_pP,
   const rb_id_t                rb_idP,
-  const logical_chan_id_t      chan_idP 
-)
-{
+  const logical_chan_id_t      chan_idP
+) {
   rlc_union_t       *rlc_union_p = NULL;
   rlc_am_entity_t *l_rlc_p         = NULL;
   hash_key_t       key           = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
   hashtable_rc_t   h_rc;
-
-  h_rc = hashtable_get(rlc_coll_p, key, (void**)&rlc_union_p);
+  h_rc = hashtable_get(rlc_coll_p, key, (void **)&rlc_union_p);
 
   if (h_rc == HASH_TABLE_OK) {
     l_rlc_p = &rlc_union_p->rlc.am;
@@ -252,18 +224,16 @@ uint32_t t_StatusProhibit_tab[LTE_T_StatusProhibit_spare8]= {0,5,10,15,20,25,30,
 
 //-----------------------------------------------------------------------------
 void config_req_rlc_am_asn1 (
-  const protocol_ctxt_t* const         ctxt_pP,
+  const protocol_ctxt_t *const         ctxt_pP,
   const srb_flag_t                     srb_flagP,
-  const struct LTE_RLC_Config__am  * const config_am_pP,
+  const struct LTE_RLC_Config__am   *const config_am_pP,
   const rb_id_t                        rb_idP,
-  const logical_chan_id_t              chan_idP)
-{
+  const logical_chan_id_t              chan_idP) {
   rlc_union_t     *rlc_union_p   = NULL;
   rlc_am_entity_t *l_rlc_p         = NULL;
   hash_key_t       key           = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
   hashtable_rc_t   h_rc;
-
-  h_rc = hashtable_get(rlc_coll_p, key, (void**)&rlc_union_p);
+  h_rc = hashtable_get(rlc_coll_p, key, (void **)&rlc_union_p);
 
   if (h_rc == HASH_TABLE_OK) {
     l_rlc_p = &rlc_union_p->rlc.am;
@@ -280,7 +250,6 @@ void config_req_rlc_am_asn1 (
         (config_am_pP->dl_AM_RLC.t_Reordering<LTE_T_Reordering_spare1) &&
         (config_am_pP->dl_AM_RLC.t_StatusProhibit<LTE_T_StatusProhibit_spare8) ) {
 #endif
-
       MSC_LOG_RX_MESSAGE(
         (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
         (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
@@ -292,7 +261,6 @@ void config_req_rlc_am_asn1 (
         PollRetransmit_tab[config_am_pP->ul_AM_RLC.t_PollRetransmit],
         am_t_Reordering_tab[config_am_pP->dl_AM_RLC.t_Reordering],
         t_StatusProhibit_tab[config_am_pP->dl_AM_RLC.t_StatusProhibit]);
-
       LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" CONFIG_REQ (max_retx_threshold=%d poll_pdu=%d poll_byte=%d t_poll_retransmit=%d t_reord=%d t_status_prohibit=%d)\n",
             PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
             maxRetxThreshold_tab[config_am_pP->ul_AM_RLC.maxRetxThreshold],
@@ -301,7 +269,6 @@ void config_req_rlc_am_asn1 (
             PollRetransmit_tab[config_am_pP->ul_AM_RLC.t_PollRetransmit],
             am_t_Reordering_tab[config_am_pP->dl_AM_RLC.t_Reordering],
             t_StatusProhibit_tab[config_am_pP->dl_AM_RLC.t_StatusProhibit]);
-
       rlc_am_init(ctxt_pP, l_rlc_p);
       rlc_am_set_debug_infos(ctxt_pP, l_rlc_p, srb_flagP, rb_idP, chan_idP);
       rlc_am_configure(ctxt_pP, l_rlc_p,
@@ -311,7 +278,8 @@ void config_req_rlc_am_asn1 (
                        PollRetransmit_tab[config_am_pP->ul_AM_RLC.t_PollRetransmit],
                        am_t_Reordering_tab[config_am_pP->dl_AM_RLC.t_Reordering],
                        t_StatusProhibit_tab[config_am_pP->dl_AM_RLC.t_StatusProhibit]);
-    } else {
+    }
+    else {
       MSC_LOG_RX_DISCARDED_MESSAGE(
         (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
         (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RRC_ENB:MSC_RRC_UE,
@@ -320,7 +288,6 @@ void config_req_rlc_am_asn1 (
         MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" CONFIG-REQ",
         MSC_AS_TIME_ARGS(ctxt_pP),
         PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p));
-
       LOG_D(RLC,
             PROTOCOL_RLC_AM_CTXT_FMT"ILLEGAL CONFIG_REQ (max_retx_threshold=%ld poll_pdu=%ld poll_byte=%ld t_poll_retransmit=%ld t_reord=%ld t_status_prohibit=%ld), RLC-AM NOT CONFIGURED\n",
             PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
@@ -339,36 +306,35 @@ void config_req_rlc_am_asn1 (
 
 //-----------------------------------------------------------------------------
 void rlc_am_stat_req (
-  const protocol_ctxt_t* const         ctxt_pP,
-  rlc_am_entity_t * const              rlc_pP,
-  unsigned int* stat_tx_pdcp_sdu,
-  unsigned int* stat_tx_pdcp_bytes,
-  unsigned int* stat_tx_pdcp_sdu_discarded,
-  unsigned int* stat_tx_pdcp_bytes_discarded,
-  unsigned int* stat_tx_data_pdu,
-  unsigned int* stat_tx_data_bytes,
-  unsigned int* stat_tx_retransmit_pdu_by_status,
-  unsigned int* stat_tx_retransmit_bytes_by_status,
-  unsigned int* stat_tx_retransmit_pdu,
-  unsigned int* stat_tx_retransmit_bytes,
-  unsigned int* stat_tx_control_pdu,
-  unsigned int* stat_tx_control_bytes,
-  unsigned int* stat_rx_pdcp_sdu,
-  unsigned int* stat_rx_pdcp_bytes,
-  unsigned int* stat_rx_data_pdus_duplicate,
-  unsigned int* stat_rx_data_bytes_duplicate,
-  unsigned int* stat_rx_data_pdu,
-  unsigned int* stat_rx_data_bytes,
-  unsigned int* stat_rx_data_pdu_dropped,
-  unsigned int* stat_rx_data_bytes_dropped,
-  unsigned int* stat_rx_data_pdu_out_of_window,
-  unsigned int* stat_rx_data_bytes_out_of_window,
-  unsigned int* stat_rx_control_pdu,
-  unsigned int* stat_rx_control_bytes,
-  unsigned int* stat_timer_reordering_timed_out,
-  unsigned int* stat_timer_poll_retransmit_timed_out,
-  unsigned int* stat_timer_status_prohibit_timed_out)
-{
+  const protocol_ctxt_t *const         ctxt_pP,
+  rlc_am_entity_t *const              rlc_pP,
+  unsigned int *stat_tx_pdcp_sdu,
+  unsigned int *stat_tx_pdcp_bytes,
+  unsigned int *stat_tx_pdcp_sdu_discarded,
+  unsigned int *stat_tx_pdcp_bytes_discarded,
+  unsigned int *stat_tx_data_pdu,
+  unsigned int *stat_tx_data_bytes,
+  unsigned int *stat_tx_retransmit_pdu_by_status,
+  unsigned int *stat_tx_retransmit_bytes_by_status,
+  unsigned int *stat_tx_retransmit_pdu,
+  unsigned int *stat_tx_retransmit_bytes,
+  unsigned int *stat_tx_control_pdu,
+  unsigned int *stat_tx_control_bytes,
+  unsigned int *stat_rx_pdcp_sdu,
+  unsigned int *stat_rx_pdcp_bytes,
+  unsigned int *stat_rx_data_pdus_duplicate,
+  unsigned int *stat_rx_data_bytes_duplicate,
+  unsigned int *stat_rx_data_pdu,
+  unsigned int *stat_rx_data_bytes,
+  unsigned int *stat_rx_data_pdu_dropped,
+  unsigned int *stat_rx_data_bytes_dropped,
+  unsigned int *stat_rx_data_pdu_out_of_window,
+  unsigned int *stat_rx_data_bytes_out_of_window,
+  unsigned int *stat_rx_control_pdu,
+  unsigned int *stat_rx_control_bytes,
+  unsigned int *stat_timer_reordering_timed_out,
+  unsigned int *stat_timer_poll_retransmit_timed_out,
+  unsigned int *stat_timer_status_prohibit_timed_out) {
   *stat_tx_pdcp_sdu                     = rlc_pP->stat_tx_pdcp_sdu;
   *stat_tx_pdcp_bytes                   = rlc_pP->stat_tx_pdcp_bytes;
   *stat_tx_pdcp_sdu_discarded           = rlc_pP->stat_tx_pdcp_sdu_discarded;
@@ -396,15 +362,13 @@ void rlc_am_stat_req (
   *stat_timer_reordering_timed_out      = rlc_pP->stat_timer_reordering_timed_out;
   *stat_timer_poll_retransmit_timed_out = rlc_pP->stat_timer_poll_retransmit_timed_out;
   *stat_timer_status_prohibit_timed_out = rlc_pP->stat_timer_status_prohibit_timed_out;
-
 }
 //-----------------------------------------------------------------------------
 void
 rlc_am_get_pdus (
-  const protocol_ctxt_t* const ctxt_pP,
-  rlc_am_entity_t * const      rlc_pP
-)
-{
+  const protocol_ctxt_t *const ctxt_pP,
+  rlc_am_entity_t *const      rlc_pP
+) {
   //int display_flag = 0;
   // 5.1.3.1 Transmit operations
   // 5.1.3.1.1
@@ -412,31 +376,27 @@ rlc_am_get_pdus (
   // The transmitting side of an AM RLC entity shall prioritize transmission of RLC control PDUs over RLC data PDUs.
   // The transmitting side of an AM RLC entity shall prioritize retransmission of RLC data PDUs over transmission of new
   // AMD PDUs.
-
-
   switch (rlc_pP->protocol_state) {
-
-  case RLC_NULL_STATE:
-    break;
-
-  case RLC_DATA_TRANSFER_READY_STATE:
-
-    // TRY TO SEND CONTROL PDU FIRST
-    if ((rlc_pP->nb_bytes_requested_by_mac >= 2) &&
-    		((rlc_pP->status_requested) && !(rlc_pP->status_requested & RLC_AM_STATUS_NO_TX_MASK))) {
-      // When STATUS reporting has been triggered, the receiving side of an AM RLC entity shall:
-      // - if t-StatusProhibit is not running:
-      //     - at the first transmission opportunity indicated by lower layer, construct a STATUS PDU and deliver it to lower layer;
-      // - else:
-      //     - at the first transmission opportunity indicated by lower layer after t-StatusProhibit expires, construct a single
-      //       STATUS PDU even if status reporting was triggered several times while t-StatusProhibit was running and
-      //       deliver it to lower layer;
-      //
-      // When a STATUS PDU has been delivered to lower layer, the receiving side of an AM RLC entity shall:
-      //     - start t-StatusProhibit.
-
+    case RLC_NULL_STATE:
+      break;
+
+    case RLC_DATA_TRANSFER_READY_STATE:
+
+      // TRY TO SEND CONTROL PDU FIRST
+      if ((rlc_pP->nb_bytes_requested_by_mac >= 2) &&
+          ((rlc_pP->status_requested) && !(rlc_pP->status_requested & RLC_AM_STATUS_NO_TX_MASK))) {
+        // When STATUS reporting has been triggered, the receiving side of an AM RLC entity shall:
+        // - if t-StatusProhibit is not running:
+        //     - at the first transmission opportunity indicated by lower layer, construct a STATUS PDU and deliver it to lower layer;
+        // - else:
+        //     - at the first transmission opportunity indicated by lower layer after t-StatusProhibit expires, construct a single
+        //       STATUS PDU even if status reporting was triggered several times while t-StatusProhibit was running and
+        //       deliver it to lower layer;
+        //
+        // When a STATUS PDU has been delivered to lower layer, the receiving side of an AM RLC entity shall:
+        //     - start t-StatusProhibit.
         rlc_am_send_status_pdu(ctxt_pP, rlc_pP);
-        mem_block_t* pdu = list_remove_head(&rlc_pP->control_pdu_list);
+        mem_block_t *pdu = list_remove_head(&rlc_pP->control_pdu_list);
 
         if (pdu) {
           list_add_tail_eurecom (pdu, &rlc_pP->pdus_to_mac_layer);
@@ -445,89 +405,81 @@ rlc_am_get_pdus (
           rlc_am_start_timer_status_prohibit(ctxt_pP, rlc_pP);
           return;
         }
-      }
-      else {
-              LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" DELAYED SENT STATUS PDU (Available MAC Data %u)(T-PROHIBIT %u) (DELAY FLAG %u)\n",
+      } else {
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" DELAYED SENT STATUS PDU (Available MAC Data %u)(T-PROHIBIT %u) (DELAY FLAG %u)\n",
               PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-					rlc_pP->nb_bytes_requested_by_mac,rlc_pP->t_status_prohibit.ms_time_out,(rlc_pP->status_requested & RLC_AM_STATUS_TRIGGERED_DELAYED));
-    }
+              rlc_pP->nb_bytes_requested_by_mac,rlc_pP->t_status_prohibit.ms_time_out,(rlc_pP->status_requested & RLC_AM_STATUS_TRIGGERED_DELAYED));
+      }
 
-    // THEN TRY TO SEND RETRANS PDU
+      // THEN TRY TO SEND RETRANS PDU
       if ((rlc_pP->retrans_num_bytes_to_retransmit) && (rlc_pP->nb_bytes_requested_by_mac > 2)) {
+        /* Get 1 AM data PDU or PDU segment to retransmit */
+        mem_block_t *pdu_retx = rlc_am_get_pdu_to_retransmit(ctxt_pP, rlc_pP);
 
-      /* Get 1 AM data PDU or PDU segment to retransmit */
-      mem_block_t* pdu_retx = rlc_am_get_pdu_to_retransmit(ctxt_pP, rlc_pP);
-
-      if (pdu_retx != NULL) {
-    	  list_add_tail_eurecom (pdu_retx, &rlc_pP->pdus_to_mac_layer);
-
+        if (pdu_retx != NULL) {
+          list_add_tail_eurecom (pdu_retx, &rlc_pP->pdus_to_mac_layer);
           return;
         }
-        }
+      }
 
-    // THEN TRY TO SEND NEW DATA PDU
-    if ((rlc_pP->nb_bytes_requested_by_mac > 2) && (rlc_pP->sdu_buffer_occupancy) && (rlc_pP->vt_s != rlc_pP->vt_ms)) {
-      rlc_am_segment_10(ctxt_pP, rlc_pP);
-      list_add_list (&rlc_pP->segmentation_pdu_list, &rlc_pP->pdus_to_mac_layer);
+      // THEN TRY TO SEND NEW DATA PDU
+      if ((rlc_pP->nb_bytes_requested_by_mac > 2) && (rlc_pP->sdu_buffer_occupancy) && (rlc_pP->vt_s != rlc_pP->vt_ms)) {
+        rlc_am_segment_10(ctxt_pP, rlc_pP);
+        list_add_list (&rlc_pP->segmentation_pdu_list, &rlc_pP->pdus_to_mac_layer);
 
-      if (rlc_pP->pdus_to_mac_layer.head != NULL) {
-        rlc_pP->stat_tx_data_pdu                   += 1;
-        rlc_pP->stat_tx_data_bytes                 += (((struct mac_tb_req*)(rlc_pP->pdus_to_mac_layer.head->data))->tb_size);
-        return;
+        if (rlc_pP->pdus_to_mac_layer.head != NULL) {
+          rlc_pP->stat_tx_data_pdu                   += 1;
+          rlc_pP->stat_tx_data_bytes                 += (((struct mac_tb_req *)(rlc_pP->pdus_to_mac_layer.head->data))->tb_size);
+          return;
+        }
       }
-    }
 
+      break;
 
-    break;
-
-  default:
-    LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" MAC_DATA_REQ UNKNOWN PROTOCOL STATE 0x%02X\n",
-          PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-          rlc_pP->protocol_state);
+    default:
+      LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" MAC_DATA_REQ UNKNOWN PROTOCOL STATE 0x%02X\n",
+            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+            rlc_pP->protocol_state);
   }
 }
 //-----------------------------------------------------------------------------
 void
 rlc_am_rx (
-  const protocol_ctxt_t* const ctxt_pP,
-  void * const                 arg_pP,
+  const protocol_ctxt_t *const ctxt_pP,
+  void *const                 arg_pP,
   struct mac_data_ind          data_indP
-)
-{
+) {
   rlc_am_entity_t *rlc = (rlc_am_entity_t *) arg_pP;
 
   switch (rlc->protocol_state) {
-
-  case RLC_NULL_STATE:
-    LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP, rlc));
-    list_free (&data_indP.data);
-    break;
-
-  case RLC_DATA_TRANSFER_READY_STATE:
-    rlc_am_receive_routing (ctxt_pP, rlc, data_indP);
-    break;
-
-  default:
-    LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" TX UNKNOWN PROTOCOL STATE 0x%02X\n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP, rlc), rlc->protocol_state);
-    list_free (&data_indP.data);
+    case RLC_NULL_STATE:
+      LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP, rlc));
+      list_free (&data_indP.data);
+      break;
+
+    case RLC_DATA_TRANSFER_READY_STATE:
+      rlc_am_receive_routing (ctxt_pP, rlc, data_indP);
+      break;
+
+    default:
+      LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" TX UNKNOWN PROTOCOL STATE 0x%02X\n", PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP, rlc), rlc->protocol_state);
+      list_free (&data_indP.data);
   }
 }
 
 //-----------------------------------------------------------------------------
 struct mac_status_resp
 rlc_am_mac_status_indication (
-  const protocol_ctxt_t* const ctxt_pP,
-  void * const                 rlc_pP,
+  const protocol_ctxt_t *const ctxt_pP,
+  void *const                 rlc_pP,
   const uint16_t               tb_sizeP,
   struct mac_status_ind        tx_statusP,
-  const eNB_flag_t enb_flagP)
-{
+  const eNB_flag_t enb_flagP) {
   struct mac_status_resp  status_resp;
   uint16_t  sdu_size = 0;
   uint16_t  sdu_remaining_size = 0;
   int32_t diff_time=0;
   rlc_am_entity_t *rlc = (rlc_am_entity_t *) rlc_pP;
-
   status_resp.buffer_occupancy_in_bytes        = 0;
   status_resp.buffer_occupancy_in_pdus         = 0;
   status_resp.head_sdu_remaining_size_to_send  = 0;
@@ -561,31 +513,27 @@ rlc_am_mac_status_indication (
   // For eNB scheduler : Add Max RLC header size for new PDU
   // For UE : do not add RLC header part to be compliant with BSR definition in 36.321
   if (enb_flagP == ENB_FLAG_YES) {
-	  uint32_t max_li_overhead = 0;
-	  uint32_t header_overhead = 0;
+    uint32_t max_li_overhead = 0;
+    uint32_t header_overhead = 0;
 
-	   if (rlc->nb_sdu_no_segmented > 1) {
-	   	/* This computation assumes there is no SDU with size greater than 2047 bytes, otherwise a new PDU must be built except for LI15 configuration from Rel12*/
-	 	  uint32_t num_li = rlc->nb_sdu_no_segmented - 1;
-	       max_li_overhead = num_li + (num_li >> 1) + (num_li & 1);
-	   }
+    if (rlc->nb_sdu_no_segmented > 1) {
+      /* This computation assumes there is no SDU with size greater than 2047 bytes, otherwise a new PDU must be built except for LI15 configuration from Rel12*/
+      uint32_t num_li = rlc->nb_sdu_no_segmented - 1;
+      max_li_overhead = num_li + (num_li >> 1) + (num_li & 1);
+    }
 
-	   if (rlc->sdu_buffer_occupancy > 0) {
-	     header_overhead = 2;
-	   }
+    if (rlc->sdu_buffer_occupancy > 0) {
+      header_overhead = 2;
+    }
 
-	   status_resp.buffer_occupancy_in_bytes += (header_overhead + max_li_overhead);
+    status_resp.buffer_occupancy_in_bytes += (header_overhead + max_li_overhead);
   }
 
-
   if ((rlc->input_sdus[rlc->current_sdu_index].mem_block != NULL) && (status_resp.buffer_occupancy_in_bytes)) {
-
     //status_resp.buffer_occupancy_in_bytes += ((rlc_am_entity_t *) rlc)->tx_header_min_length_in_bytes;
     status_resp.buffer_occupancy_in_pdus = rlc->nb_sdu;
     diff_time =   ctxt_pP->frame - ((rlc_am_tx_sdu_management_t *) (rlc->input_sdus[rlc->current_sdu_index].mem_block->data))->sdu_creation_time;
-
     status_resp.head_sdu_creation_time = (diff_time > 0 ) ? (uint32_t) diff_time :  (uint32_t)(0xffffffff - diff_time + ctxt_pP->frame) ;
-
     sdu_size            = ((rlc_am_tx_sdu_management_t *) (rlc->input_sdus[rlc->current_sdu_index].mem_block->data))->sdu_size;
     sdu_remaining_size  = ((rlc_am_tx_sdu_management_t *) (rlc->input_sdus[rlc->current_sdu_index].mem_block->data))->sdu_remaining_size;
     status_resp.head_sdu_remaining_size_to_send = sdu_remaining_size;
@@ -595,83 +543,71 @@ rlc_am_mac_status_indication (
     } else {
       status_resp.head_sdu_is_segmented = 1;
     }
-
   } else {
-	  /* Not so many possibilities ... */
-	  /* either buffer_occupancy_in_bytes = 0 and that's it */
-	  /* or we have segmented all received SDUs and buffer occupancy is then made of retransmissions and/or status pdu pending */
-	  /* then consider only retransmission buffer for the specific BO values used by eNB scheduler (not used up to now...) */
-	  if (rlc->retrans_num_bytes_to_retransmit) {
-		  status_resp.buffer_occupancy_in_pdus = rlc->retrans_num_pdus;
-		  status_resp.head_sdu_remaining_size_to_send = rlc->retrans_num_bytes_to_retransmit;
-		  status_resp.head_sdu_is_segmented = 1;
-			    }
-			  }
-#if MESSAGE_CHART_GENERATOR_RLC_MAC
-  MSC_LOG_RX_MESSAGE(
-    (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-    (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_MAC_ENB:MSC_MAC_UE,
-    NULL,0,
-    MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS-IND %u",
-    MSC_AS_TIME_ARGS(ctxt_pP),
-    PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc),
-    tb_sizeP);
-  MSC_LOG_TX_MESSAGE(
-    (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-    (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_MAC_ENB:MSC_MAC_UE,
-    NULL,0,
-    MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS-RESP BO:%u/n%u(%u)  %s sdu remain %u",
-    MSC_AS_TIME_ARGS(ctxt_pP),
-    PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc),
-    status_resp.buffer_occupancy_in_bytes,
-    status_resp.buffer_occupancy_in_pdus,rlc->nb_sdu,
-    (status_resp.head_sdu_is_segmented)?"sdu seg":"sdu not seg",
-    status_resp.head_sdu_remaining_size_to_send);
-#endif
+    /* Not so many possibilities ... */
+    /* either buffer_occupancy_in_bytes = 0 and that's it */
+    /* or we have segmented all received SDUs and buffer occupancy is then made of retransmissions and/or status pdu pending */
+    /* then consider only retransmission buffer for the specific BO values used by eNB scheduler (not used up to now...) */
+    if (rlc->retrans_num_bytes_to_retransmit) {
+      status_resp.buffer_occupancy_in_pdus = rlc->retrans_num_pdus;
+      status_resp.head_sdu_remaining_size_to_send = rlc->retrans_num_bytes_to_retransmit;
+      status_resp.head_sdu_is_segmented = 1;
+    }
+  }
 
-#if TRACE_RLC_AM_TX_STATUS
+  if (MESSAGE_CHART_GENERATOR) {
+    MSC_LOG_RX_MESSAGE(
+      (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+      (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_MAC_ENB:MSC_MAC_UE,
+      NULL,0,
+      MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS-IND %u",
+      MSC_AS_TIME_ARGS(ctxt_pP),
+      PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc),
+      tb_sizeP);
+    MSC_LOG_TX_MESSAGE(
+      (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+      (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_MAC_ENB:MSC_MAC_UE,
+      NULL,0,
+      MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS-RESP BO:%u/n%u(%u)  %s sdu remain %u",
+      MSC_AS_TIME_ARGS(ctxt_pP),
+      PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, rlc),
+      status_resp.buffer_occupancy_in_bytes,
+      status_resp.buffer_occupancy_in_pdus,rlc->nb_sdu,
+      (status_resp.head_sdu_is_segmented)?"sdu seg":"sdu not seg",
+      status_resp.head_sdu_remaining_size_to_send);
+  }
 
-  if (tb_sizeP > 0) {
-    LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" MAC_STATUS_INDICATION (DATA) %d bytes -> %d bytes\n",
-          PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-          tb_sizeP,
-          status_resp.buffer_occupancy_in_bytes);
-    /*if ((tx_statusP.tx_status == MAC_TX_STATUS_SUCCESSFUL) && (tx_statusP.no_pdu)) {
-        msg ("[FRAME %5u][%s][RLC_AM][MOD %u/%u][RB %u] MAC_STATUS_INDICATION  TX STATUS   SUCCESSFUL %d PDUs\n",rlc->module_id,
-    rlc->rb_id, ctxt_pP->frame, tx_statusP.no_pdu);
+  if (LOG_DEBUGFLAG(DEBUG_RLC)) {
+    if (tb_sizeP > 0) {
+      LOG_UI(RLC, PROTOCOL_RLC_AM_CTXT_FMT" MAC_STATUS_INDICATION (DATA) %d bytes -> %d bytes\n",
+             PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc),
+             tb_sizeP,
+             status_resp.buffer_occupancy_in_bytes);
     }
-    if ((tx_statusP.tx_status == MAC_TX_STATUS_UNSUCCESSFUL) && (tx_statusP.no_pdu)) {
-        msg ("[FRAME %5u][%s][RLC_AM][MOD %u/%u][RB %u] MAC_STATUS_INDICATION  TX STATUS UNSUCCESSFUL %d PDUs\n",rlc->module_id, rlc->rb_id,
-    ctxt_pP->frame, tx_statusP.no_pdu);
-    }*/
   }
 
-#endif
   return status_resp;
 }
 
 //-----------------------------------------------------------------------------
 void
 rlc_am_set_nb_bytes_requested_by_mac (
-  void * const            rlc_pP,
+  void *const            rlc_pP,
   const tb_size_t         tb_sizeP
-)
-{
-	((rlc_am_entity_t *) rlc_pP)->nb_bytes_requested_by_mac = tb_sizeP;
+) {
+  ((rlc_am_entity_t *) rlc_pP)->nb_bytes_requested_by_mac = tb_sizeP;
 }
 
 //-----------------------------------------------------------------------------
 struct mac_data_req
 rlc_am_mac_data_request (
-  const protocol_ctxt_t* const ctxt_pP,
-  void * const                 rlc_pP,
+  const protocol_ctxt_t *const ctxt_pP,
+  void *const                 rlc_pP,
   const eNB_flag_t        enb_flagP
-)
-{
+) {
   struct mac_data_req data_req;
   rlc_am_entity_t *l_rlc_p = (rlc_am_entity_t *) rlc_pP;
   unsigned int nb_bytes_requested_by_mac = ((rlc_am_entity_t *) rlc_pP)->nb_bytes_requested_by_mac;
-#if TRACE_RLC_AM_PDU || MESSAGE_CHART_GENERATOR
   rlc_am_pdu_info_t   pdu_info;
   rlc_am_pdu_sn_10_t *rlc_am_pdu_sn_10_p;
   mem_block_t        *tb_p;
@@ -679,9 +615,6 @@ rlc_am_mac_data_request (
   int                 num_nack;
   char                message_string[9000];
   size_t              message_string_size = 0;
-#   if ENABLE_ITTI
-  MessageDef         *msg_p;
-#   endif
   int                 octet_index, index;
   /* for no gcc warnings */
   (void)num_nack;
@@ -689,8 +622,6 @@ rlc_am_mac_data_request (
   (void)message_string_size;
   (void)octet_index;
   (void)index;
-#endif
-
   list_init (&data_req.data, NULL);
   rlc_am_get_pdus (ctxt_pP, l_rlc_p);
   list_add_list (&l_rlc_p->pdus_to_mac_layer, &data_req.data);
@@ -704,217 +635,197 @@ rlc_am_mac_data_request (
   }
 
   if (enb_flagP) {
-	  // redundant in UE MAC Tx processing and not used in eNB ...
-  data_req.buffer_occupancy_in_bytes   = rlc_am_get_buffer_occupancy_in_bytes(ctxt_pP, l_rlc_p);
+    // redundant in UE MAC Tx processing and not used in eNB ...
+    data_req.buffer_occupancy_in_bytes   = rlc_am_get_buffer_occupancy_in_bytes(ctxt_pP, l_rlc_p);
   }
-  data_req.rlc_info.rlc_protocol_state = l_rlc_p->protocol_state;
-
-#if TRACE_RLC_AM_PDU || MESSAGE_CHART_GENERATOR
 
-  if (data_req.data.nb_elements > 0) {
+  data_req.rlc_info.rlc_protocol_state = l_rlc_p->protocol_state;
 
+  if ( (MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC))&& data_req.data.nb_elements > 0) {
     tb_p = data_req.data.head;
 
     while (tb_p != NULL) {
-
-      rlc_am_pdu_sn_10_p = (rlc_am_pdu_sn_10_t*)((struct mac_tb_req *) (tb_p->data))->data_ptr;
+      rlc_am_pdu_sn_10_p = (rlc_am_pdu_sn_10_t *)((struct mac_tb_req *) (tb_p->data))->data_ptr;
       tb_size_in_bytes   = ((struct mac_tb_req *) (tb_p->data))->tb_size;
 
       if ((((struct mac_tb_req *) (tb_p->data))->data_ptr[0] & RLC_DC_MASK) == RLC_DC_DATA_PDU ) {
         if (rlc_am_get_data_pdu_infos(ctxt_pP,l_rlc_p,rlc_am_pdu_sn_10_p, tb_size_in_bytes, &pdu_info) >= 0) {
-#if MESSAGE_CHART_GENERATOR
-          message_string_size = 0;
-          message_string_size += sprintf(&message_string[message_string_size],
-                                         MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA SN %u size %u RF %u P %u FI %u",
-                                         MSC_AS_TIME_ARGS(ctxt_pP),
-                                         PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
-                                         pdu_info.sn,
-                                         tb_size_in_bytes,
-                                         pdu_info.rf,
-                                         pdu_info.p,
-                                         pdu_info.fi);
-
-          if (pdu_info.rf) {
-            message_string_size += sprintf(&message_string[message_string_size], " LSF %u\n", pdu_info.lsf);
-            message_string_size += sprintf(&message_string[message_string_size], " SO %u\n", pdu_info.so);
-          }
+          if (MESSAGE_CHART_GENERATOR) {
+            message_string_size = 0;
+            message_string_size += sprintf(&message_string[message_string_size],
+                                           MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA SN %u size %u RF %u P %u FI %u",
+                                           MSC_AS_TIME_ARGS(ctxt_pP),
+                                           PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
+                                           pdu_info.sn,
+                                           tb_size_in_bytes,
+                                           pdu_info.rf,
+                                           pdu_info.p,
+                                           pdu_info.fi);
+
+            if (pdu_info.rf) {
+              message_string_size += sprintf(&message_string[message_string_size], " LSF %u\n", pdu_info.lsf);
+              message_string_size += sprintf(&message_string[message_string_size], " SO %u\n", pdu_info.so);
+            }
 
-          if (pdu_info.e) {
-            message_string_size += sprintf(&message_string[message_string_size], "| HE:");
+            if (pdu_info.e) {
+              message_string_size += sprintf(&message_string[message_string_size], "| HE:");
 
-            for (index=0; index < pdu_info.num_li; index++) {
-              message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
+              for (index=0; index < pdu_info.num_li; index++) {
+                message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
+              }
             }
-          }
-
-          MSC_LOG_TX_MESSAGE(
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
-            (char*)rlc_am_pdu_sn_10_p,
-            tb_size_in_bytes,
-            message_string);
 
-#endif
-#   if ENABLE_ITTI
-          message_string_size = 0;
-          message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
-          message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
-          message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
-          message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
-
-          if (pdu_info.rf) {
-            message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA REQ: AMD PDU segment\n\n");
-          } else {
-            message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA REQ: AMD PDU\n\n");
+            MSC_LOG_TX_MESSAGE(
+              (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+              (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
+              (char *)rlc_am_pdu_sn_10_p,
+              tb_size_in_bytes,
+              message_string);
           }
 
-          message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
-          message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", pdu_info.d_c);
-          message_string_size += sprintf(&message_string[message_string_size], "  RF        : %u\n", pdu_info.rf);
-          message_string_size += sprintf(&message_string[message_string_size], "  P         : %u\n", pdu_info.p);
-          message_string_size += sprintf(&message_string[message_string_size], "  FI        : %u\n", pdu_info.fi);
-          message_string_size += sprintf(&message_string[message_string_size], "  E         : %u\n", pdu_info.e);
-          message_string_size += sprintf(&message_string[message_string_size], "  SN        : %u\n", pdu_info.sn);
-
-          if (pdu_info.rf) {
-            message_string_size += sprintf(&message_string[message_string_size], "  LSF       : %u\n", pdu_info.lsf);
-            message_string_size += sprintf(&message_string[message_string_size], "  SO        : %u\n", pdu_info.so);
-          }
+          if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
+            message_string_size = 0;
+            message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
+            message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
+            message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
+            message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
 
-          if (pdu_info.e) {
-            message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
+            if (pdu_info.rf) {
+              message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA REQ: AMD PDU segment\n\n");
+            } else {
+              message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA REQ: AMD PDU\n\n");
+            }
 
-            for (index=0; index < pdu_info.num_li; index++) {
-              message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
+            message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
+            message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", pdu_info.d_c);
+            message_string_size += sprintf(&message_string[message_string_size], "  RF        : %u\n", pdu_info.rf);
+            message_string_size += sprintf(&message_string[message_string_size], "  P         : %u\n", pdu_info.p);
+            message_string_size += sprintf(&message_string[message_string_size], "  FI        : %u\n", pdu_info.fi);
+            message_string_size += sprintf(&message_string[message_string_size], "  E         : %u\n", pdu_info.e);
+            message_string_size += sprintf(&message_string[message_string_size], "  SN        : %u\n", pdu_info.sn);
+
+            if (pdu_info.rf) {
+              message_string_size += sprintf(&message_string[message_string_size], "  LSF       : %u\n", pdu_info.lsf);
+              message_string_size += sprintf(&message_string[message_string_size], "  SO        : %u\n", pdu_info.so);
             }
-          }
 
-          message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
-          message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-          message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
-          message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+            if (pdu_info.e) {
+              message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
 
-          for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
-            if ((octet_index % 16) == 0) {
-              if (octet_index != 0) {
-                message_string_size += sprintf(&message_string[message_string_size], " |\n");
+              for (index=0; index < pdu_info.num_li; index++) {
+                message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
               }
-
-              message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
             }
 
-            /*
-             * Print every single octet in hexadecimal form
-             */
-            message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
-            /*
-             * Align newline and pipes according to the octets in groups of 2
-             */
-          }
+            message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
+            message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+            message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
+            message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
 
-          /*
-           * Append enough spaces and put final pipe
-           */
-          for (index = octet_index; index < 16; ++index) {
-            message_string_size += sprintf(&message_string[message_string_size], "   ");
-          }
+            for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
+              if ((octet_index % 16) == 0) {
+                if (octet_index != 0) {
+                  message_string_size += sprintf(&message_string[message_string_size], " |\n");
+                }
 
-          message_string_size += sprintf(&message_string[message_string_size], " |\n");
+                message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+              }
 
-          msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_AM_DATA_PDU_REQ, message_string_size + sizeof (IttiMsgText));
-          msg_p->ittiMsg.rlc_am_data_pdu_req.size = message_string_size;
-          memcpy(&msg_p->ittiMsg.rlc_am_data_pdu_req.text, message_string, message_string_size);
+              /*
+               * Print every single octet in hexadecimal form
+               */
+              message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
+              /*
+               * Align newline and pipes according to the octets in groups of 2
+               */
+            }
 
-          itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
+            /*
+             * Append enough spaces and put final pipe
+             */
+            for (index = octet_index; index < 16; ++index) {
+              message_string_size += sprintf(&message_string[message_string_size], "   ");
+            }
 
-# else
-          rlc_am_display_data_pdu_infos(ctxt_pP, l_rlc_p, &pdu_info);
-# endif
+            LOG_UI(RLC,"%s\n",message_string);
+          } /* LOG_DEBUGFLAG(DEBUG_RLC) */
         }
       } else {
         if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, &tb_size_in_bytes, &l_rlc_p->control_pdu_info) >= 0) {
           tb_size_in_bytes   = ((struct mac_tb_req *) (tb_p->data))->tb_size; //tb_size_in_bytes modified by rlc_am_get_control_pdu_infos!
-#if MESSAGE_CHART_GENERATOR
-          message_string_size = 0;
-          message_string_size += sprintf(&message_string[message_string_size],
-                                         MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS ACK_SN %u",
-                                         MSC_AS_TIME_ARGS(ctxt_pP),
-                                         PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
-                                         l_rlc_p->control_pdu_info.ack_sn);
-
-          for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
-            if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u SO START %u SO END %u",
-            		  l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
 
-            } else {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u",
-            		  l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
+          if (MESSAGE_CHART_GENERATOR ) {
+            message_string_size = 0;
+            message_string_size += sprintf(&message_string[message_string_size],
+                                           MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS ACK_SN %u",
+                                           MSC_AS_TIME_ARGS(ctxt_pP),
+                                           PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
+                                           l_rlc_p->control_pdu_info.ack_sn);
+
+            for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
+              if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
+                message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u SO START %u SO END %u",
+                                               l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
+                                               l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
+                                               l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
+              } else {
+                message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u",
+                                               l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
+              }
             }
-          }
-
-          MSC_LOG_TX_MESSAGE(
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
-            (char*)rlc_am_pdu_sn_10_p,
-            tb_size_in_bytes,
-            message_string);
 
-#endif
-#   if ENABLE_ITTI
-          message_string_size = 0;
-          message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
-          message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
-          message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA REQ: STATUS PDU\n\n");
-          message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
-          message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", l_rlc_p->control_pdu_info.d_c);
-          message_string_size += sprintf(&message_string[message_string_size], "  CPT       : %u\n", l_rlc_p->control_pdu_info.cpt);
-          message_string_size += sprintf(&message_string[message_string_size], "  ACK_SN    : %u\n", l_rlc_p->control_pdu_info.ack_sn);
-          message_string_size += sprintf(&message_string[message_string_size], "  E1        : %u\n", l_rlc_p->control_pdu_info.e1);
-
-          for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
-            if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d SO START %05d SO END %05d",
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
-            } else {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d",  l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
-            }
+            MSC_LOG_TX_MESSAGE(
+              (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+              (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
+              (char *)rlc_am_pdu_sn_10_p,
+              tb_size_in_bytes,
+              message_string);
           }
 
-          msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_AM_STATUS_PDU_REQ, message_string_size + sizeof (IttiMsgText));
-          msg_p->ittiMsg.rlc_am_status_pdu_req.size = message_string_size;
-          memcpy(&msg_p->ittiMsg.rlc_am_status_pdu_req.text, message_string, message_string_size);
-
-          itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
+          if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
+            message_string_size = 0;
+            message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
+            message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
+            message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA REQ: STATUS PDU\n\n");
+            message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
+            message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", l_rlc_p->control_pdu_info.d_c);
+            message_string_size += sprintf(&message_string[message_string_size], "  CPT       : %u\n", l_rlc_p->control_pdu_info.cpt);
+            message_string_size += sprintf(&message_string[message_string_size], "  ACK_SN    : %u\n", l_rlc_p->control_pdu_info.ack_sn);
+            message_string_size += sprintf(&message_string[message_string_size], "  E1        : %u\n", l_rlc_p->control_pdu_info.e1);
+
+            for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
+              if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
+                message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d SO START %05d SO END %05d",
+                                               l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
+                                               l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
+                                               l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
+              } else {
+                message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d",  l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
+              }
+            }
 
-#   endif
+            LOG_UI(RLC,"%s\n",message_string);
+          } /* LOG_DEBUGFLAG(DEBUG_RLC) */
         }
       }
 
       tb_p = tb_p->next;
-    }
-  }
+    } /* while */
+  } /* MESSAGE_CHART_GENERATOR && data_req.data.nb_elements > 0 */
 
-#endif
   return data_req;
 }
 //-----------------------------------------------------------------------------
 void
 rlc_am_mac_data_indication (
-  const protocol_ctxt_t* const ctxt_pP,
-  void * const                 rlc_pP,
+  const protocol_ctxt_t *const ctxt_pP,
+  void *const                 rlc_pP,
   struct mac_data_ind          data_indP
-)
-{
-  rlc_am_entity_t*           l_rlc_p = (rlc_am_entity_t*) rlc_pP;
+) {
+  rlc_am_entity_t           *l_rlc_p = (rlc_am_entity_t *) rlc_pP;
   /*rlc_am_control_pdu_info_t control_pdu_info;
   int                       num_li;
   int16_t                     tb_size;*/
-#if TRACE_RLC_AM_PDU || MESSAGE_CHART_GENERATOR
   rlc_am_pdu_info_t   pdu_info;
   rlc_am_pdu_sn_10_t *rlc_am_pdu_sn_10_p;
   mem_block_t        *tb_p;
@@ -922,9 +833,6 @@ rlc_am_mac_data_indication (
   int                 num_nack;
   char                message_string[7000];
   size_t              message_string_size = 0;
-#   if ENABLE_ITTI
-  MessageDef         *msg_p;
-#   endif
   int                 octet_index, index;
   /* for no gcc warnings */
   (void)num_nack;
@@ -932,242 +840,209 @@ rlc_am_mac_data_indication (
   (void)message_string_size;
   (void)octet_index;
   (void)index;
-#endif
-
   (void)l_rlc_p; /* avoid gcc warning "unused variable" */
 
-#if TRACE_RLC_AM_PDU || MESSAGE_CHART_GENERATOR
-
-  if (data_indP.data.nb_elements > 0) {
-
-    tb_p = data_indP.data.head;
-
-    while (tb_p != NULL) {
-
-      rlc_am_pdu_sn_10_p = (rlc_am_pdu_sn_10_t*)((struct mac_tb_ind *) (tb_p->data))->data_ptr;
-      tb_size_in_bytes   = ((struct mac_tb_ind *) (tb_p->data))->size;
+  if ( LOG_DEBUGFLAG(DEBUG_RLC) || MESSAGE_CHART_GENERATOR ) {
+    if (data_indP.data.nb_elements > 0) {
+      tb_p = data_indP.data.head;
+
+      while (tb_p != NULL) {
+        rlc_am_pdu_sn_10_p = (rlc_am_pdu_sn_10_t *)((struct mac_tb_ind *) (tb_p->data))->data_ptr;
+        tb_size_in_bytes   = ((struct mac_tb_ind *) (tb_p->data))->size;
+
+        if ((((struct mac_tb_ind *) (tb_p->data))->data_ptr[0] & RLC_DC_MASK) == RLC_DC_DATA_PDU ) {
+          if (rlc_am_get_data_pdu_infos(ctxt_pP,l_rlc_p,rlc_am_pdu_sn_10_p, tb_size_in_bytes, &pdu_info) >= 0) {
+            if (MESSAGE_CHART_GENERATOR) {
+              message_string_size = 0;
+              message_string_size += sprintf(&message_string[message_string_size],
+                                             MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA SN %u size %u RF %u P %u FI %u",
+                                             MSC_AS_TIME_ARGS(ctxt_pP),
+                                             PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
+                                             pdu_info.sn,
+                                             tb_size_in_bytes,
+                                             pdu_info.rf,
+                                             pdu_info.p,
+                                             pdu_info.fi);
+
+              if (pdu_info.rf) {
+                message_string_size += sprintf(&message_string[message_string_size], " LSF %u\n", pdu_info.lsf);
+                message_string_size += sprintf(&message_string[message_string_size], " SO %u\n", pdu_info.so);
+              }
 
-      if ((((struct mac_tb_ind *) (tb_p->data))->data_ptr[0] & RLC_DC_MASK) == RLC_DC_DATA_PDU ) {
-        if (rlc_am_get_data_pdu_infos(ctxt_pP,l_rlc_p,rlc_am_pdu_sn_10_p, tb_size_in_bytes, &pdu_info) >= 0) {
-#if MESSAGE_CHART_GENERATOR
-          message_string_size = 0;
-          message_string_size += sprintf(&message_string[message_string_size],
-                                         MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA SN %u size %u RF %u P %u FI %u",
-                                         MSC_AS_TIME_ARGS(ctxt_pP),
-                                         PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
-                                         pdu_info.sn,
-                                         tb_size_in_bytes,
-                                         pdu_info.rf,
-                                         pdu_info.p,
-                                         pdu_info.fi);
-
-          if (pdu_info.rf) {
-            message_string_size += sprintf(&message_string[message_string_size], " LSF %u\n", pdu_info.lsf);
-            message_string_size += sprintf(&message_string[message_string_size], " SO %u\n", pdu_info.so);
-          }
+              if (pdu_info.e) {
+                message_string_size += sprintf(&message_string[message_string_size], "| HE:");
 
-          if (pdu_info.e) {
-            message_string_size += sprintf(&message_string[message_string_size], "| HE:");
+                for (index=0; index < pdu_info.num_li; index++) {
+                  message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
+                }
+              }
 
-            for (index=0; index < pdu_info.num_li; index++) {
-              message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
+              MSC_LOG_RX_MESSAGE(
+                (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+                (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
+                (char *)rlc_am_pdu_sn_10_p,
+                tb_size_in_bytes,
+                message_string);
             }
-          }
 
-          MSC_LOG_RX_MESSAGE(
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
-            (char*)rlc_am_pdu_sn_10_p,
-            tb_size_in_bytes,
-            message_string);
+            if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
+              message_string_size += sprintf(&message_string[message_string_size], "Bearer	: %u\n", l_rlc_p->rb_id);
+              message_string_size += sprintf(&message_string[message_string_size], "PDU size	: %u\n", tb_size_in_bytes);
+              message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
+              message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
 
-#endif
+              if (pdu_info.rf) {
+                message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA IND: AMD PDU segment\n\n");
+              } else {
+                message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA IND: AMD PDU\n\n");
+              }
 
-#   if ENABLE_ITTI && TRACE_RLC_AM_PDU
-          message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
-          message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
-          message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
-          message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
+              message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
+              message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", pdu_info.d_c);
+              message_string_size += sprintf(&message_string[message_string_size], "  RF        : %u\n", pdu_info.rf);
+              message_string_size += sprintf(&message_string[message_string_size], "  P         : %u\n", pdu_info.p);
+              message_string_size += sprintf(&message_string[message_string_size], "  FI        : %u\n", pdu_info.fi);
+              message_string_size += sprintf(&message_string[message_string_size], "  E         : %u\n", pdu_info.e);
+              message_string_size += sprintf(&message_string[message_string_size], "  SN        : %u\n", pdu_info.sn);
+
+              if (pdu_info.rf) {
+                message_string_size += sprintf(&message_string[message_string_size], "  LSF       : %u\n", pdu_info.lsf);
+                message_string_size += sprintf(&message_string[message_string_size], "  SO        : %u\n", pdu_info.so);
+              }
 
-          if (pdu_info.rf) {
-            message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA IND: AMD PDU segment\n\n");
-          } else {
-            message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA IND: AMD PDU\n\n");
-          }
+              if (pdu_info.e) {
+                message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
 
-          message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
-          message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", pdu_info.d_c);
-          message_string_size += sprintf(&message_string[message_string_size], "  RF        : %u\n", pdu_info.rf);
-          message_string_size += sprintf(&message_string[message_string_size], "  P         : %u\n", pdu_info.p);
-          message_string_size += sprintf(&message_string[message_string_size], "  FI        : %u\n", pdu_info.fi);
-          message_string_size += sprintf(&message_string[message_string_size], "  E         : %u\n", pdu_info.e);
-          message_string_size += sprintf(&message_string[message_string_size], "  SN        : %u\n", pdu_info.sn);
-
-          if (pdu_info.rf) {
-            message_string_size += sprintf(&message_string[message_string_size], "  LSF       : %u\n", pdu_info.lsf);
-            message_string_size += sprintf(&message_string[message_string_size], "  SO        : %u\n", pdu_info.so);
-          }
+                for (index=0; index < pdu_info.num_li; index++) {
+                  message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
+                }
+              }
 
-          if (pdu_info.e) {
-            message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
+              message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
+              message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+              message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
+              message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
 
-            for (index=0; index < pdu_info.num_li; index++) {
-              message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
-            }
-          }
+              for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
+                if ((octet_index % 16) == 0) {
+                  if (octet_index != 0) {
+                    message_string_size += sprintf(&message_string[message_string_size], " |\n");
+                  }
 
-          message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
-          message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-          message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
-          message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+                  message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+                }
 
-          for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
-            if ((octet_index % 16) == 0) {
-              if (octet_index != 0) {
-                message_string_size += sprintf(&message_string[message_string_size], " |\n");
+                /*
+                 * Print every single octet in hexadecimal form
+                 */
+                message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
+                /*
+                 * Align newline and pipes according to the octets in groups of 2
+                 */
               }
 
-              message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
-            }
-
-            /*
-             * Print every single octet in hexadecimal form
-             */
-            message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
-            /*
-             * Align newline and pipes according to the octets in groups of 2
-             */
-          }
+              /*
+               * Append enough spaces and put final pipe
+               */
+              for (index = octet_index; index < 16; ++index) {
+                message_string_size += sprintf(&message_string[message_string_size], "   ");
+              }
 
-          /*
-           * Append enough spaces and put final pipe
-           */
-          for (index = octet_index; index < 16; ++index) {
-            message_string_size += sprintf(&message_string[message_string_size], "   ");
+              LOG_UI(RLC,"%s\n",message_string);
+            } /* LOG_DEBUGFLAG */
           }
+        } else {
+          if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, &tb_size_in_bytes, &l_rlc_p->control_pdu_info) >= 0) {
+            if (MESSAGE_CHART_GENERATOR) {
+              message_string_size = 0;
+              message_string_size += sprintf(&message_string[message_string_size],
+                                             MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS size ACK_SN %u",
+                                             MSC_AS_TIME_ARGS(ctxt_pP),
+                                             PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
+                                             l_rlc_p->control_pdu_info.ack_sn);
+
+              for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
+                if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
+                  message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u SO START %u SO END %u",
+                                                 l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
+                                                 l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
+                                                 l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
+                } else {
+                  message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u",
+                                                 l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
+                }
+              }
 
-          message_string_size += sprintf(&message_string[message_string_size], " |\n");
-
-          msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_AM_DATA_PDU_IND, message_string_size + sizeof (IttiMsgText));
-          msg_p->ittiMsg.rlc_am_data_pdu_ind.size = message_string_size;
-          memcpy(&msg_p->ittiMsg.rlc_am_data_pdu_ind.text, message_string, message_string_size);
-
-          itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-
-# else
-          rlc_am_display_data_pdu_infos(ctxt_pP, l_rlc_p, &pdu_info);
-# endif
-        }
-      } else {
-        if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, &tb_size_in_bytes, &l_rlc_p->control_pdu_info) >= 0) {
-#if MESSAGE_CHART_GENERATOR
-          message_string_size = 0;
-          message_string_size += sprintf(&message_string[message_string_size],
-                                         MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" STATUS size ACK_SN %u",
-                                         MSC_AS_TIME_ARGS(ctxt_pP),
-                                         PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
-                                         l_rlc_p->control_pdu_info.ack_sn);
-
-          for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
-            if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u SO START %u SO END %u",
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
-
-            } else {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %u",
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
+              MSC_LOG_RX_MESSAGE(
+                (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+                (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
+                (char *)rlc_am_pdu_sn_10_p,
+                tb_size_in_bytes,
+                message_string);
             }
-          }
-
-          MSC_LOG_RX_MESSAGE(
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
-            (char*)rlc_am_pdu_sn_10_p,
-            tb_size_in_bytes,
-            message_string);
 
-#endif
+            if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
+              message_string_size = 0;
+              message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
+              message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", ((struct mac_tb_ind *) (tb_p->data))->size);
+              message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA IND: STATUS PDU\n\n");
+              message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
+              message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", l_rlc_p->control_pdu_info.d_c);
+              message_string_size += sprintf(&message_string[message_string_size], "  CPT       : %u\n", l_rlc_p->control_pdu_info.cpt);
+              message_string_size += sprintf(&message_string[message_string_size], "  ACK_SN    : %u\n", l_rlc_p->control_pdu_info.ack_sn);
+              message_string_size += sprintf(&message_string[message_string_size], "  E1        : %u\n", l_rlc_p->control_pdu_info.e1);
+
+              for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
+                if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
+                  message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d SO START %05d SO END %05d",
+                                                 l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
+                                                 l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
+                                                 l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
+                } else {
+                  message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d",  l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
+                }
+              }
 
-#   if ENABLE_ITTI && TRACE_RLC_AM_PDU
-          message_string_size = 0;
-          message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
-          message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", ((struct mac_tb_ind *) (tb_p->data))->size);
-          message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC AM DATA IND: STATUS PDU\n\n");
-          message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
-          message_string_size += sprintf(&message_string[message_string_size], "  D/C       : %u\n", l_rlc_p->control_pdu_info.d_c);
-          message_string_size += sprintf(&message_string[message_string_size], "  CPT       : %u\n", l_rlc_p->control_pdu_info.cpt);
-          message_string_size += sprintf(&message_string[message_string_size], "  ACK_SN    : %u\n", l_rlc_p->control_pdu_info.ack_sn);
-          message_string_size += sprintf(&message_string[message_string_size], "  E1        : %u\n", l_rlc_p->control_pdu_info.e1);
-
-          for (num_nack = 0; num_nack < l_rlc_p->control_pdu_info.num_nack; num_nack++) {
-            if (l_rlc_p->control_pdu_info.nack_list[num_nack].e2) {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d SO START %05d SO END %05d",
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_start,
-                                             l_rlc_p->control_pdu_info.nack_list[num_nack].so_end);
-            } else {
-              message_string_size += sprintf(&message_string[message_string_size], "  NACK SN %04d",  l_rlc_p->control_pdu_info.nack_list[num_nack].nack_sn);
+              LOG_UI(RLC, "%s\n",message_string);
             }
           }
-
-          msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_AM_STATUS_PDU_IND, message_string_size + sizeof (IttiMsgText));
-          msg_p->ittiMsg.rlc_am_status_pdu_ind.size = message_string_size;
-          memcpy(&msg_p->ittiMsg.rlc_am_status_pdu_ind.text, message_string, message_string_size);
-
-          itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-
-#   endif
         }
-      }
 
-      tb_p = tb_p->next;
+        tb_p = tb_p->next;
+      }
     }
-  }
+  } /* LOG_DEBUGFLAG(RLC) || MESSAGE_TRACE_GENERATOR) */
 
-#endif
   rlc_am_rx (ctxt_pP, rlc_pP, data_indP);
 }
 
 //-----------------------------------------------------------------------------
 void
 rlc_am_data_req (
-  const protocol_ctxt_t* const ctxt_pP,
-  void * const                rlc_pP,
-  mem_block_t * const         sdu_pP)
-{
+  const protocol_ctxt_t *const ctxt_pP,
+  void *const                rlc_pP,
+  mem_block_t *const         sdu_pP) {
   rlc_am_entity_t     *l_rlc_p = (rlc_am_entity_t *) rlc_pP;
   uint32_t             mui;
   uint16_t             data_offset;
   uint16_t             data_size;
-#if TRACE_RLC_AM_PDU
   char                 message_string[7000];
   size_t               message_string_size = 0;
-#if ENABLE_ITTI
-  MessageDef          *msg_p;
-#endif
   int                  octet_index, index;
-#endif
-
   RLC_AM_MUTEX_LOCK(&l_rlc_p->lock_input_sdus, ctxt_pP, l_rlc_p);
 
   if ((l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].mem_block == NULL) &&
       (l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].flags.segmented == 0) &&
       (((l_rlc_p->next_sdu_index + 1) % RLC_AM_SDU_CONTROL_BUFFER_SIZE) != l_rlc_p->current_sdu_index)) {
-
-
     memset(&l_rlc_p->input_sdus[l_rlc_p->next_sdu_index], 0, sizeof(rlc_am_tx_sdu_management_t));
     l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].mem_block = sdu_pP;
-
     mui         = ((struct rlc_am_data_req *) (sdu_pP->data))->mui;
     data_offset = ((struct rlc_am_data_req *) (sdu_pP->data))->data_offset;
     data_size   = ((struct rlc_am_data_req *) (sdu_pP->data))->data_size;
-
     MSC_LOG_RX_MESSAGE(
       (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
       (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
-      (const char*)(&sdu_pP->data[data_offset]),
+      (const char *)(&sdu_pP->data[data_offset]),
       data_size,
       MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA-REQ size %u mui %u",
       MSC_AS_TIME_ARGS(ctxt_pP),
@@ -1175,68 +1050,53 @@ rlc_am_data_req (
       data_size,
       mui);
 
+    if (LOG_DEBUGFLAG(DEBUG_RLC)) {
+      message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
+      message_string_size += sprintf(&message_string[message_string_size], "SDU size    : %u\n", data_size);
+      message_string_size += sprintf(&message_string[message_string_size], "MUI         : %u\n", mui);
+      message_string_size += sprintf(&message_string[message_string_size], "CONF        : %u\n", ((struct rlc_am_data_req *) (sdu_pP->data))->conf);
+      message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
+      message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+      message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
+      message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+
+      for (octet_index = 0; octet_index < data_size; octet_index++) {
+        if ((octet_index % 16) == 0) {
+          if (octet_index != 0) {
+            message_string_size += sprintf(&message_string[message_string_size], " |\n");
+          }
 
-#if TRACE_RLC_AM_PDU
-    message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
-    message_string_size += sprintf(&message_string[message_string_size], "SDU size    : %u\n", data_size);
-    message_string_size += sprintf(&message_string[message_string_size], "MUI         : %u\n", mui);
-    message_string_size += sprintf(&message_string[message_string_size], "CONF        : %u\n", ((struct rlc_am_data_req *) (sdu_pP->data))->conf);
-
-    message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
-    message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-    message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
-    message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-
-    for (octet_index = 0; octet_index < data_size; octet_index++) {
-      if ((octet_index % 16) == 0) {
-        if (octet_index != 0) {
-          message_string_size += sprintf(&message_string[message_string_size], " |\n");
+          message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
         }
 
-        message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+        /*
+         * Print every single octet in hexadecimal form
+         */
+        message_string_size += sprintf(&message_string[message_string_size], " %02x", ((uint8_t *)(&sdu_pP->data[data_offset]))[octet_index]);
+        /*
+         * Align newline and pipes according to the octets in groups of 2
+         */
       }
 
       /*
-       * Print every single octet in hexadecimal form
+       * Append enough spaces and put final pipe
        */
-      message_string_size += sprintf(&message_string[message_string_size], " %02x", ((uint8_t*)(&sdu_pP->data[data_offset]))[octet_index]);
-      /*
-       * Align newline and pipes according to the octets in groups of 2
-       */
-    }
-
-    /*
-     * Append enough spaces and put final pipe
-     */
-    for (index = octet_index; index < 16; ++index) {
-      message_string_size += sprintf(&message_string[message_string_size], "   ");
-    }
-
-    message_string_size += sprintf(&message_string[message_string_size], " |\n");
-
-#   if ENABLE_ITTI
-    msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_AM_SDU_REQ, message_string_size + sizeof (IttiMsgText));
-    msg_p->ittiMsg.rlc_am_sdu_req.size = message_string_size;
-    memcpy(&msg_p->ittiMsg.rlc_am_sdu_req.text, message_string, message_string_size);
-
-    itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
+      for (index = octet_index; index < 16; ++index) {
+        message_string_size += sprintf(&message_string[message_string_size], "   ");
+      }
 
-#   else
-    LOG_T(RLC, "%s", message_string);
-#   endif
-#endif
+      message_string_size += sprintf(&message_string[message_string_size], " |\n");
+      LOG_UI(RLC, "%s\n", message_string);
+    } /* LOG_DEBUGFLAG(RLC) */
 
     l_rlc_p->stat_tx_pdcp_sdu   += 1;
     l_rlc_p->stat_tx_pdcp_bytes += data_size;
-
     l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].mui      = mui;
     l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].sdu_size = data_size;
-
     l_rlc_p->sdu_buffer_occupancy += data_size;
     l_rlc_p->nb_sdu += 1;
     l_rlc_p->nb_sdu_no_segmented += 1;
-
-    l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].first_byte = (uint8_t*)(&sdu_pP->data[data_offset]);
+    l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].first_byte = (uint8_t *)(&sdu_pP->data[data_offset]);
     l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].sdu_remaining_size = l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].sdu_size;
     l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].sdu_segmented_size = 0;
     l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].sdu_creation_time  = ctxt_pP->frame;
@@ -1250,43 +1110,44 @@ rlc_am_data_req (
     l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].flags.no_new_sdu_segmented_in_last_pdu = 0;
     //l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].li_index_for_discard = -1;
     l_rlc_p->next_sdu_index = (l_rlc_p->next_sdu_index + 1) % RLC_AM_SDU_CONTROL_BUFFER_SIZE;
-    if (l_rlc_p->channel_id <3)
-    {
-    LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RLC_AM_DATA_REQ size %d Bytes,  NB SDU %d current_sdu_index=%d next_sdu_index=%d conf %d mui %d vtA %d vtS %d\n",
-          PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
-          data_size,
-          l_rlc_p->nb_sdu,
-          l_rlc_p->current_sdu_index,
-          l_rlc_p->next_sdu_index,
-          ((struct rlc_am_data_req *) (sdu_pP->data))->conf,
-          mui,
-		  l_rlc_p->vt_a,
-		  l_rlc_p->vt_s);
+
+    if (l_rlc_p->channel_id <3) {
+      LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RLC_AM_DATA_REQ size %d Bytes,  NB SDU %d current_sdu_index=%d next_sdu_index=%d conf %d mui %d vtA %d vtS %d\n",
+            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
+            data_size,
+            l_rlc_p->nb_sdu,
+            l_rlc_p->current_sdu_index,
+            l_rlc_p->next_sdu_index,
+            ((struct rlc_am_data_req *) (sdu_pP->data))->conf,
+            mui,
+            l_rlc_p->vt_a,
+            l_rlc_p->vt_s);
     }
   } else {
-#if MESSAGE_CHART_GENERATOR
-    mui         = ((struct rlc_am_data_req*) (sdu_pP->data))->mui;
-    data_offset = ((struct rlc_am_data_req*) (sdu_pP->data))->data_offset;
-    data_size   = ((struct rlc_am_data_req*) (sdu_pP->data))->data_size;
-    MSC_LOG_RX_DISCARDED_MESSAGE(
-      (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-      (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
-      (const char*)(&sdu_pP->data[data_offset]),
-      data_size,
-      MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA-REQ size %u mui %u",
-      MSC_AS_TIME_ARGS(ctxt_pP),
-      PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
-      data_size,
-      mui);
-#endif
+    if( MESSAGE_CHART_GENERATOR) {
+      mui   = ((struct rlc_am_data_req *) (sdu_pP->data))->mui;
+      data_offset = ((struct rlc_am_data_req *) (sdu_pP->data))->data_offset;
+      data_size   = ((struct rlc_am_data_req *) (sdu_pP->data))->data_size;
+      MSC_LOG_RX_DISCARDED_MESSAGE(
+        (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+        (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
+        (const char *)(&sdu_pP->data[data_offset]),
+        data_size,
+        MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA-REQ size %u mui %u",
+        MSC_AS_TIME_ARGS(ctxt_pP),
+        PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
+        data_size,
+        mui);
+    }
+
     LOG_W(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RLC_AM_DATA_REQ BUFFER FULL, NB SDU %d current_sdu_index=%d next_sdu_index=%d size_input_sdus_buffer=%d vtA=%d vtS=%d\n",
           PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
           l_rlc_p->nb_sdu,
           l_rlc_p->current_sdu_index,
           l_rlc_p->next_sdu_index,
           RLC_AM_SDU_CONTROL_BUFFER_SIZE,
-		  l_rlc_p->vt_a,
-		  l_rlc_p->vt_s);
+          l_rlc_p->vt_a,
+          l_rlc_p->vt_s);
     LOG_W(RLC, "                                        input_sdus[].mem_block=%p next input_sdus[].flags.segmented=%d\n",
           l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].mem_block, l_rlc_p->input_sdus[l_rlc_p->next_sdu_index].flags.segmented);
     l_rlc_p->stat_tx_pdcp_sdu_discarded   += 1;
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
index d2fe1d1bfd66ed0e7617e781e45cb1231af0e403..369c7fd0da56576168243e6c8de429a2f557e773 100644
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_reassembly.c
@@ -23,9 +23,7 @@
 #define RLC_AM_REASSEMBLY_C 1
 #include "platform_types.h"
 //-----------------------------------------------------------------------------
-#if ENABLE_ITTI
-# include "intertask_interface.h"
-#endif
+
 #include "assertions.h"
 #include "rlc.h"
 #include "rlc_am.h"
@@ -37,19 +35,17 @@
 //-----------------------------------------------------------------------------
 inline void
 rlc_am_clear_rx_sdu (
-  const protocol_ctxt_t* const ctxt_pP,
-  rlc_am_entity_t * const      rlc_pP)
-{
+  const protocol_ctxt_t *const ctxt_pP,
+  rlc_am_entity_t *const      rlc_pP) {
   rlc_pP->output_sdu_size_to_write = 0;
 }
 //-----------------------------------------------------------------------------
 void
 rlc_am_reassembly (
-  const protocol_ctxt_t* const ctxt_pP,
-  rlc_am_entity_t * const rlc_pP,
-  uint8_t * src_pP,
-  const int32_t lengthP)
-{
+  const protocol_ctxt_t *const ctxt_pP,
+  rlc_am_entity_t *const rlc_pP,
+  uint8_t *src_pP,
+  const int32_t lengthP) {
   LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PAYLOAD] reassembly()  %d bytes\n",
         PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
         lengthP);
@@ -57,6 +53,7 @@ rlc_am_reassembly (
   if (rlc_pP->output_sdu_in_construction == NULL) {
     rlc_pP->output_sdu_in_construction = get_free_mem_block (RLC_SDU_MAX_SIZE, __func__);
     rlc_pP->output_sdu_size_to_write = 0;
+
     //assert(rlc_pP->output_sdu_in_construction != NULL);
     if(rlc_pP->output_sdu_in_construction == NULL) {
       LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PAYLOAD] output_sdu_in_construction is NULL\n",
@@ -66,7 +63,6 @@ rlc_am_reassembly (
   }
 
   if (rlc_pP->output_sdu_in_construction != NULL) {
-
     // check if no overflow in size
     if ((rlc_pP->output_sdu_size_to_write + lengthP) <= RLC_SDU_MAX_SIZE) {
       memcpy (&rlc_pP->output_sdu_in_construction->data[rlc_pP->output_sdu_size_to_write], src_pP, lengthP);
@@ -93,18 +89,8 @@ rlc_am_reassembly (
 //-----------------------------------------------------------------------------
 void
 rlc_am_send_sdu (
-  const protocol_ctxt_t* const ctxt_pP,
-  rlc_am_entity_t * const      rlc_pP)
-{
-#   if TRACE_RLC_AM_PDU
-  char                 message_string[7000];
-  size_t               message_string_size = 0;
-#if ENABLE_ITTI
-  MessageDef          *msg_p;
-#endif
-  int                  octet_index, index;
-#endif
-
+  const protocol_ctxt_t *const ctxt_pP,
+  rlc_am_entity_t *const      rlc_pP) {
   if ((rlc_pP->output_sdu_in_construction)) {
     LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND_SDU] %d bytes sdu %p\n",
           PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
@@ -120,73 +106,62 @@ rlc_am_send_sdu (
                                    rlc_pP->output_sdu_size_to_write,
                                    rlc_pP->output_sdu_in_construction);
 #else
-#   if TRACE_RLC_AM_PDU
-      message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", rlc_pP->rb_id);
-      message_string_size += sprintf(&message_string[message_string_size], "SDU size    : %u\n", rlc_pP->output_sdu_size_to_write);
-
-      message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
-      message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-      message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
-      message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-
-      for (octet_index = 0; octet_index < rlc_pP->output_sdu_size_to_write; octet_index++) {
-        if ((octet_index % 16) == 0) {
-          if (octet_index != 0) {
-            message_string_size += sprintf(&message_string[message_string_size], " |\n");
+
+      if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
+        char                 message_string[7000];
+        size_t               message_string_size = 0;
+        int                  octet_index, index;
+        message_string_size += sprintf(&message_string[message_string_size], "Bearer	  : %u\n", rlc_pP->rb_id);
+        message_string_size += sprintf(&message_string[message_string_size], "SDU size    : %u\n", rlc_pP->output_sdu_size_to_write);
+        message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
+        message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+        message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
+        message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+
+        for (octet_index = 0; octet_index < rlc_pP->output_sdu_size_to_write; octet_index++) {
+          if ((octet_index % 16) == 0) {
+            if (octet_index != 0) {
+              message_string_size += sprintf(&message_string[message_string_size], " |\n");
+            }
+
+            message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
           }
 
-          message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+          /*
+           * Print every single octet in hexadecimal form
+           */
+          message_string_size += sprintf(&message_string[message_string_size],
+                                         " %02x",
+                                         rlc_pP->output_sdu_in_construction->data[octet_index]);
+          /*
+           * Align newline and pipes according to the octets in groups of 2
+           */
         }
 
         /*
-         * Print every single octet in hexadecimal form
+         * Append enough spaces and put final pipe
          */
-        message_string_size += sprintf(&message_string[message_string_size],
-                                       " %02x",
-                                       rlc_pP->output_sdu_in_construction->data[octet_index]);
-        /*
-         * Align newline and pipes according to the octets in groups of 2
-         */
-      }
+        for (index = octet_index; index < 16; ++index) {
+          message_string_size += sprintf(&message_string[message_string_size], "   ");
+        }
 
-      /*
-       * Append enough spaces and put final pipe
-       */
-      for (index = octet_index; index < 16; ++index) {
-        message_string_size += sprintf(&message_string[message_string_size], "   ");
+        message_string_size += sprintf(&message_string[message_string_size], " |\n");
+        LOG_T(RLC, "%s", message_string);
       }
 
-      message_string_size += sprintf(&message_string[message_string_size], " |\n");
-
-
-
-#      if ENABLE_ITTI
-      msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE ,
-                                            RLC_AM_SDU_IND,
-                                            message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rlc_am_sdu_ind.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rlc_am_sdu_ind.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-
-#      else
-      LOG_T(RLC, "%s", message_string);
-#      endif
-#   endif
 #if !ENABLE_ITTI
       RLC_AM_MUTEX_UNLOCK(&rlc_pP->lock_input_sdus);
 #endif
       MSC_LOG_TX_MESSAGE(
         (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
         (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
-        (const char*)(rlc_pP->output_sdu_in_construction->data),
+        (const char *)(rlc_pP->output_sdu_in_construction->data),
         rlc_pP->output_sdu_size_to_write,
         MSC_AS_TIME_FMT" "PROTOCOL_RLC_AM_MSC_FMT" DATA-IND size %u",
         MSC_AS_TIME_ARGS(ctxt_pP),
         PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP),
         rlc_pP->output_sdu_size_to_write
       );
-
       rlc_data_ind (ctxt_pP,
                     BOOL_NOT(rlc_pP->is_data_plane),
                     MBMS_FLAG_NO,
@@ -203,16 +178,16 @@ rlc_am_send_sdu (
             PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
       //msg("[RLC_AM][MOD %d] Freeing mem_block ...\n", rlc_pP->module_id);
       //free_mem_block (rlc_pP->output_sdu_in_construction, __func__);
-//Assertion(eNB)_PRAN_DesignDocument_annex No.764
-     LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" SEND SDU REQUESTED %d bytes\n",
-             PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-             rlc_pP->output_sdu_size_to_write);
-/*
-      AssertFatal(3==4,
-                  PROTOCOL_RLC_AM_CTXT_FMT" SEND SDU REQUESTED %d bytes",
-                  PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-                  rlc_pP->output_sdu_size_to_write);
-*/
+      //Assertion(eNB)_PRAN_DesignDocument_annex No.764
+      LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" SEND SDU REQUESTED %d bytes\n",
+            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+            rlc_pP->output_sdu_size_to_write);
+      /*
+            AssertFatal(3==4,
+                        PROTOCOL_RLC_AM_CTXT_FMT" SEND SDU REQUESTED %d bytes",
+                        PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+                        rlc_pP->output_sdu_size_to_write);
+      */
     }
 
     rlc_pP->output_sdu_size_to_write = 0;
@@ -221,191 +196,189 @@ rlc_am_send_sdu (
 //-----------------------------------------------------------------------------
 void
 rlc_am_reassemble_pdu(
-  const protocol_ctxt_t* const ctxt_pP,
-  rlc_am_entity_t * const      rlc_pP,
-  mem_block_t * const          tb_pP,
-  boolean_t free_rlc_pdu)
-{
+  const protocol_ctxt_t *const ctxt_pP,
+  rlc_am_entity_t *const      rlc_pP,
+  mem_block_t *const          tb_pP,
+  boolean_t free_rlc_pdu) {
   int i,j;
-
-  rlc_am_pdu_info_t* pdu_info        = &((rlc_am_rx_pdu_management_t*)(tb_pP->data))->pdu_info;
+  rlc_am_pdu_info_t *pdu_info        = &((rlc_am_rx_pdu_management_t *)(tb_pP->data))->pdu_info;
   LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU SN=%03d\n",
         PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
         pdu_info->sn);
-#if TRACE_RLC_AM_RX_DECODE
-  rlc_am_display_data_pdu_infos(ctxt_pP, rlc_pP, pdu_info);
-#endif
+
+  if ( LOG_DEBUGFLAG(DEBUG_RLC)) {
+    rlc_am_display_data_pdu_infos(ctxt_pP, rlc_pP, pdu_info);
+  }
 
   if (pdu_info->e == RLC_E_FIXED_PART_DATA_FIELD_FOLLOW) {
     switch (pdu_info->fi) {
-    case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=11 (00)\n",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
-      // one complete SDU
-      rlc_am_send_sdu(ctxt_pP, rlc_pP); // may be not necessary
-      rlc_am_reassembly (ctxt_pP, rlc_pP, pdu_info->payload, pdu_info->payload_size);
-      rlc_am_send_sdu(ctxt_pP, rlc_pP); // may be not necessary
-      //rlc_pP->reassembly_missing_sn_detected = 0;
-      break;
-
-    case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=10 (01)\n",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
-      // one beginning segment of SDU in PDU
-      rlc_am_send_sdu(ctxt_pP, rlc_pP); // may be not necessary
-      rlc_am_reassembly (ctxt_pP, rlc_pP,pdu_info->payload, pdu_info->payload_size);
-      //rlc_pP->reassembly_missing_sn_detected = 0;
-      break;
-
-    case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=01 (10)\n",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
-      // one last segment of SDU
-      //if (rlc_pP->reassembly_missing_sn_detected == 0) {
-      rlc_am_reassembly (ctxt_pP, rlc_pP, pdu_info->payload, pdu_info->payload_size);
-      rlc_am_send_sdu(ctxt_pP, rlc_pP);
-      //} // else { clear sdu already done
-      //rlc_pP->reassembly_missing_sn_detected = 0;
-      break;
-
-    case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=00 (11)\n",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
-      //if (rlc_pP->reassembly_missing_sn_detected == 0) {
-      // one whole segment of SDU in PDU
-      rlc_am_reassembly (ctxt_pP, rlc_pP, pdu_info->payload, pdu_info->payload_size);
-      //} else {
-      //    rlc_pP->reassembly_missing_sn_detected = 1; // not necessary but for readability of the code
-      //}
-
-      break;
-
-    default:
-//Assertion(eNB)_PRAN_DesignDocument_annex No.1428
-      LOG_E(RLC, "RLC_E_FIXED_PART_DATA_FIELD_FOLLOW error pdu_info->fi[%d]\n", pdu_info->fi);
-//      assert(0 != 0);
+      case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=11 (00)\n",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
+        // one complete SDU
+        rlc_am_send_sdu(ctxt_pP, rlc_pP); // may be not necessary
+        rlc_am_reassembly (ctxt_pP, rlc_pP, pdu_info->payload, pdu_info->payload_size);
+        rlc_am_send_sdu(ctxt_pP, rlc_pP); // may be not necessary
+        //rlc_pP->reassembly_missing_sn_detected = 0;
+        break;
+
+      case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=10 (01)\n",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
+        // one beginning segment of SDU in PDU
+        rlc_am_send_sdu(ctxt_pP, rlc_pP); // may be not necessary
+        rlc_am_reassembly (ctxt_pP, rlc_pP,pdu_info->payload, pdu_info->payload_size);
+        //rlc_pP->reassembly_missing_sn_detected = 0;
+        break;
+
+      case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=01 (10)\n",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
+        // one last segment of SDU
+        //if (rlc_pP->reassembly_missing_sn_detected == 0) {
+        rlc_am_reassembly (ctxt_pP, rlc_pP, pdu_info->payload, pdu_info->payload_size);
+        rlc_am_send_sdu(ctxt_pP, rlc_pP);
+        //} // else { clear sdu already done
+        //rlc_pP->reassembly_missing_sn_detected = 0;
+        break;
+
+      case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU NO E_LI FI=00 (11)\n",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
+        //if (rlc_pP->reassembly_missing_sn_detected == 0) {
+        // one whole segment of SDU in PDU
+        rlc_am_reassembly (ctxt_pP, rlc_pP, pdu_info->payload, pdu_info->payload_size);
+        //} else {
+        //    rlc_pP->reassembly_missing_sn_detected = 1; // not necessary but for readability of the code
+        //}
+        break;
+
+      default:
+        //Assertion(eNB)_PRAN_DesignDocument_annex No.1428
+        LOG_E(RLC, "RLC_E_FIXED_PART_DATA_FIELD_FOLLOW error pdu_info->fi[%d]\n", pdu_info->fi);
+        //      assert(0 != 0);
     }
   } else {
     switch (pdu_info->fi) {
-    case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=11 (00) Li=",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
-
-      for (i=0; i < pdu_info->num_li; i++) {
-        LOG_D(RLC, "%d ",pdu_info->li_list[i]);
-      }
+      case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=11 (00) Li=",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
 
-      LOG_D(RLC, "\n");
-      //msg(" remaining size %d\n",size);
-      // N complete SDUs
-      rlc_am_send_sdu(ctxt_pP, rlc_pP);
-      j = 0;
+        for (i=0; i < pdu_info->num_li; i++) {
+          LOG_D(RLC, "%d ",pdu_info->li_list[i]);
+        }
 
-      for (i = 0; i < pdu_info->num_li; i++) {
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
+        LOG_D(RLC, "\n");
+        //msg(" remaining size %d\n",size);
+        // N complete SDUs
         rlc_am_send_sdu(ctxt_pP, rlc_pP);
-        j = j + pdu_info->li_list[i];
-      }
+        j = 0;
 
-      if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
-        // data is already ok, done by last loop above
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
-        rlc_am_send_sdu(ctxt_pP, rlc_pP);
-      }
+        for (i = 0; i < pdu_info->num_li; i++) {
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
+          rlc_am_send_sdu(ctxt_pP, rlc_pP);
+          j = j + pdu_info->li_list[i];
+        }
 
-      //rlc_pP->reassembly_missing_sn_detected = 0;
-      break;
+        if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
+          // data is already ok, done by last loop above
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
+          rlc_am_send_sdu(ctxt_pP, rlc_pP);
+        }
 
-    case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=10 (01) Li=",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
+        //rlc_pP->reassembly_missing_sn_detected = 0;
+        break;
 
-      for (i=0; i < pdu_info->num_li; i++) {
-        LOG_D(RLC, "%d ",pdu_info->li_list[i]);
-      }
+      case RLC_FI_1ST_BYTE_DATA_IS_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=10 (01) Li=",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
 
-      LOG_D(RLC, "\n");
-      //msg(" remaining size %d\n",size);
-      // N complete SDUs + one segment of SDU in PDU
-      rlc_am_send_sdu(ctxt_pP, rlc_pP);
-      j = 0;
+        for (i=0; i < pdu_info->num_li; i++) {
+          LOG_D(RLC, "%d ",pdu_info->li_list[i]);
+        }
 
-      for (i = 0; i < pdu_info->num_li; i++) {
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
+        LOG_D(RLC, "\n");
+        //msg(" remaining size %d\n",size);
+        // N complete SDUs + one segment of SDU in PDU
         rlc_am_send_sdu(ctxt_pP, rlc_pP);
-        j = j + pdu_info->li_list[i];
-      }
+        j = 0;
 
-      if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
-        // data is already ok, done by last loop above
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
-      }
+        for (i = 0; i < pdu_info->num_li; i++) {
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
+          rlc_am_send_sdu(ctxt_pP, rlc_pP);
+          j = j + pdu_info->li_list[i];
+        }
 
-      //rlc_pP->reassembly_missing_sn_detected = 0;
-      break;
+        if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
+          // data is already ok, done by last loop above
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
+        }
 
-    case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=01 (10) Li=",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
+        //rlc_pP->reassembly_missing_sn_detected = 0;
+        break;
 
-      for (i=0; i < pdu_info->num_li; i++) {
-        LOG_D(RLC, "%d ",pdu_info->li_list[i]);
-      }
+      case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=01 (10) Li=",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
 
-      LOG_D(RLC, "\n");
-      //msg(" remaining size %d\n",size);
-      // one last segment of SDU + N complete SDUs in PDU
-      j = 0;
+        for (i=0; i < pdu_info->num_li; i++) {
+          LOG_D(RLC, "%d ",pdu_info->li_list[i]);
+        }
 
-      for (i = 0; i < pdu_info->num_li; i++) {
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
-        rlc_am_send_sdu(ctxt_pP, rlc_pP);
-        j = j + pdu_info->li_list[i];
-      }
+        LOG_D(RLC, "\n");
+        //msg(" remaining size %d\n",size);
+        // one last segment of SDU + N complete SDUs in PDU
+        j = 0;
 
-      if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
-        // data is already ok, done by last loop above
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
-        rlc_am_send_sdu(ctxt_pP, rlc_pP);
-      }
+        for (i = 0; i < pdu_info->num_li; i++) {
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
+          rlc_am_send_sdu(ctxt_pP, rlc_pP);
+          j = j + pdu_info->li_list[i];
+        }
 
-      //rlc_pP->reassembly_missing_sn_detected = 0;
-      break;
+        if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
+          // data is already ok, done by last loop above
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
+          rlc_am_send_sdu(ctxt_pP, rlc_pP);
+        }
 
-    case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
-      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=00 (11) Li=",
-            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
+        //rlc_pP->reassembly_missing_sn_detected = 0;
+        break;
 
-      for (i=0; i < pdu_info->num_li; i++) {
-        LOG_D(RLC, "%d ",pdu_info->li_list[i]);
-      }
+      case RLC_FI_1ST_BYTE_DATA_IS_NOT_1ST_BYTE_SDU_LAST_BYTE_DATA_IS_NOT_LAST_BYTE_SDU:
+        LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[REASSEMBLY PDU] TRY REASSEMBLY PDU FI=00 (11) Li=",
+              PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
 
-      LOG_D(RLC, "\n");
-      //msg(" remaining size %d\n",size);
-      j = 0;
+        for (i=0; i < pdu_info->num_li; i++) {
+          LOG_D(RLC, "%d ",pdu_info->li_list[i]);
+        }
 
-      for (i = 0; i < pdu_info->num_li; i++) {
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
-        rlc_am_send_sdu(ctxt_pP, rlc_pP);
-        j = j + pdu_info->li_list[i];
-      }
+        LOG_D(RLC, "\n");
+        //msg(" remaining size %d\n",size);
+        j = 0;
 
-      if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
-        // data is already ok, done by last loop above
-        rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
-      }
+        for (i = 0; i < pdu_info->num_li; i++) {
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->li_list[i]);
+          rlc_am_send_sdu(ctxt_pP, rlc_pP);
+          j = j + pdu_info->li_list[i];
+        }
+
+        if (pdu_info->hidden_size > 0) { // normally should always be > 0 but just for help debug
+          // data is already ok, done by last loop above
+          rlc_am_reassembly (ctxt_pP, rlc_pP, &pdu_info->payload[j], pdu_info->hidden_size);
+        }
 
-      //rlc_pP->reassembly_missing_sn_detected = 0;
-      break;
+        //rlc_pP->reassembly_missing_sn_detected = 0;
+        break;
 
-    default:
-//Assertion(eNB)_PRAN_DesignDocument_annex No.1429
-      LOG_E(RLC, "not RLC_E_FIXED_PART_DATA_FIELD_FOLLOW error pdu_info->fi[%d]\n", pdu_info->fi);
-//      assert(1 != 1);
+      default:
+        //Assertion(eNB)_PRAN_DesignDocument_annex No.1429
+        LOG_E(RLC, "not RLC_E_FIXED_PART_DATA_FIELD_FOLLOW error pdu_info->fi[%d]\n", pdu_info->fi);
+        //      assert(1 != 1);
     }
   }
 
   if (free_rlc_pdu) {
-	  free_mem_block(tb_pP, __func__);
+    free_mem_block(tb_pP, __func__);
   }
 }
diff --git a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
index 917f1a1791d733bc9a63701fc2bef0d92e6f1506..5c68aecf61397e88c58f249bb0e3fa5936a54e26 100644
--- a/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
+++ b/openair2/LAYER2/RLC/AM_v9.3.0/rlc_am_status_report.c
@@ -27,59 +27,19 @@
 #include "platform_types.h"
 //-----------------------------------------------------------------------------
 #if ENABLE_ITTI
-# include "intertask_interface.h"
+  #include "intertask_interface.h"
 #endif
 #include "assertions.h"
 #include "list.h"
 #include "rlc_am.h"
 #include "common/utils/LOG/log.h"
 
-#   if ENABLE_ITTI
-//-----------------------------------------------------------------------------
-void
-rlc_am_itti_display_status_ind_infos(
-  const protocol_ctxt_t* const            ctxt_pP,
-  const rlc_am_entity_t *const            rlc_pP,
-  const rlc_am_control_pdu_info_t *const  pdu_info_pP)
-{
-  char                 message_string[1000];
-  size_t               message_string_size = 0;
-  MessageDef          *msg_p;
-
-  int num_nack;
-
-  if (!pdu_info_pP->d_c) {
-    message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", rlc_pP->rb_id);
-    message_string_size += sprintf(&message_string[message_string_size], "CONTROL PDU ACK SN %04d", pdu_info_pP->ack_sn);
-
-    for (num_nack = 0; num_nack < pdu_info_pP->num_nack; num_nack++) {
-      if (pdu_info_pP->nack_list[num_nack].e2) {
-        message_string_size += sprintf(&message_string[message_string_size], "\n\tNACK SN %04d SO START %05d SO END %05d",  pdu_info_pP->nack_list[num_nack].nack_sn,
-                                       pdu_info_pP->nack_list[num_nack].so_start,
-                                       pdu_info_pP->nack_list[num_nack].so_end);
-      } else {
-        message_string_size += sprintf(&message_string[message_string_size], "\n\tNACK SN %04d",  pdu_info_pP->nack_list[num_nack].nack_sn);
-      }
-    }
-
-    message_string_size += sprintf(&message_string[message_string_size], "\n");
-
-    msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_AM_STATUS_PDU_IND, message_string_size + sizeof (IttiMsgText));
-    msg_p->ittiMsg.rlc_am_status_pdu_ind.size = message_string_size;
-    memcpy(&msg_p->ittiMsg.rlc_am_status_pdu_ind.text, message_string, message_string_size);
-
-    itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-  }
-}
-
-#   endif
 
 //-----------------------------------------------------------------------------
 uint16_t rlc_am_read_bit_field(
-  uint8_t** data_ppP,
-  unsigned int* bit_pos_pP,
-  const signed int bits_to_readP)
-{
+  uint8_t **data_ppP,
+  unsigned int *bit_pos_pP,
+  const signed int bits_to_readP) {
   uint16_t        value     = 0;
   unsigned int bits_read = 0;
   signed int bits_to_read = bits_to_readP;
@@ -113,11 +73,10 @@ uint16_t rlc_am_read_bit_field(
 //-----------------------------------------------------------------------------
 void
 rlc_am_write8_bit_field(
-  uint8_t** data_ppP,
-  unsigned int* bit_pos_pP,
+  uint8_t **data_ppP,
+  unsigned int *bit_pos_pP,
   const signed int bits_to_writeP,
-  const uint8_t valueP)
-{
+  const uint8_t valueP) {
   unsigned int available_bits;
   signed int bits_to_write= bits_to_writeP;
 
@@ -148,11 +107,10 @@ rlc_am_write8_bit_field(
 //-----------------------------------------------------------------------------
 void
 rlc_am_write16_bit_field(
-  uint8_t** data_ppP,
-  unsigned int* bit_pos_pP,
+  uint8_t **data_ppP,
+  unsigned int *bit_pos_pP,
   signed int bits_to_writeP,
-  const uint16_t valueP)
-{
+  const uint16_t valueP) {
   //assert(bits_to_writeP <= 16);
   if(bits_to_writeP > 16) {
     LOG_E(RLC, "bits_to_writeP error. %d\n", bits_to_writeP);
@@ -168,15 +126,12 @@ rlc_am_write16_bit_field(
 //-----------------------------------------------------------------------------
 signed int
 rlc_am_get_control_pdu_infos(
-  rlc_am_pdu_sn_10_t* const        header_pP,
-  sdu_size_t * const               total_size_pP,
-  rlc_am_control_pdu_info_t* const pdu_info_pP)
-{
+  rlc_am_pdu_sn_10_t *const        header_pP,
+  sdu_size_t *const               total_size_pP,
+  rlc_am_control_pdu_info_t *const pdu_info_pP) {
   memset(pdu_info_pP, 0, sizeof (rlc_am_control_pdu_info_t));
-
   pdu_info_pP->d_c = header_pP->b1 >> 7;
 
-
   if (!pdu_info_pP->d_c) {
     pdu_info_pP->cpt    = (header_pP->b1 >> 4) & 0x07;
 
@@ -191,7 +146,7 @@ rlc_am_get_control_pdu_infos(
     if (pdu_info_pP->e1) {
       unsigned int nack_to_read  = 1;
       unsigned int bit_pos       = 7; // range from 0 (MSB/left) to 7 (LSB/right)
-      uint8_t*        byte_pos_p      = &header_pP->b2;
+      uint8_t        *byte_pos_p      = &header_pP->b2;
 
       while (nack_to_read)  {
         pdu_info_pP->nack_list[pdu_info_pP->num_nack].nack_sn = rlc_am_read_bit_field(&byte_pos_p, &bit_pos, 10);
@@ -214,9 +169,11 @@ rlc_am_get_control_pdu_infos(
         if (!pdu_info_pP->nack_list[pdu_info_pP->num_nack - 1].e1) {
           nack_to_read = 0;
           *total_size_pP = *total_size_pP - (sdu_size_t)((uint64_t)byte_pos_p + (uint64_t)((bit_pos + 7)/8) - (uint64_t)header_pP);
+
           if (*total_size_pP != 0) {
             LOG_E(RLC, "[RLC_AM_GET_CONTROL_PDU_INFOS][FIRST]header_pP->b1=%d,header_pP->b2=%d\n",header_pP->b1,header_pP->b2);
           }
+
           return 0;
         }
 
@@ -230,9 +187,11 @@ rlc_am_get_control_pdu_infos(
     } else {
       *total_size_pP = *total_size_pP - 2;
     }
+
     if (*total_size_pP != 0) {
       LOG_E(RLC, "[RLC_AM_GET_CONTROL_PDU_INFOS][SECOND]header_pP->b1=%d,header_pP->b2=%d\n",header_pP->b1,header_pP->b2);
     }
+
     return 0;
   } else {
     return -1;
@@ -241,9 +200,8 @@ rlc_am_get_control_pdu_infos(
 //-----------------------------------------------------------------------------
 void
 rlc_am_display_control_pdu_infos(
-  const rlc_am_control_pdu_info_t* const pdu_info_pP
-)
-{
+  const rlc_am_control_pdu_info_t *const pdu_info_pP
+) {
   int num_nack;
 
   if (!pdu_info_pP->d_c) {
@@ -267,25 +225,23 @@ rlc_am_display_control_pdu_infos(
 //-----------------------------------------------------------------------------
 void
 rlc_am_receive_process_control_pdu(
-  const protocol_ctxt_t* const  ctxt_pP,
+  const protocol_ctxt_t *const  ctxt_pP,
   rlc_am_entity_t *const rlc_pP,
-  mem_block_t* const tb_pP,
-  uint8_t** first_byte_ppP,
-  sdu_size_t * const tb_size_in_bytes_pP)
-{
-  rlc_am_pdu_sn_10_t *rlc_am_pdu_sn_10_p = (rlc_am_pdu_sn_10_t*)*first_byte_ppP;
+  mem_block_t *const tb_pP,
+  uint8_t **first_byte_ppP,
+  sdu_size_t *const tb_size_in_bytes_pP) {
+  rlc_am_pdu_sn_10_t *rlc_am_pdu_sn_10_p = (rlc_am_pdu_sn_10_t *)*first_byte_ppP;
   sdu_size_t          initial_pdu_size   = *tb_size_in_bytes_pP;
   rlc_sn_t        ack_sn    = RLC_AM_NEXT_SN(rlc_pP->vt_a);
   rlc_sn_t        sn_cursor = rlc_pP->vt_a;
-  rlc_sn_t		vt_a_new  = rlc_pP->vt_a;
-  rlc_sn_t		sn_data_cnf;
+  rlc_sn_t    vt_a_new  = rlc_pP->vt_a;
+  rlc_sn_t    sn_data_cnf;
   rlc_sn_t        nack_sn,prev_nack_sn;
-  sdu_size_t		data_cnf_so_stop = 0x7FFF;
+  sdu_size_t    data_cnf_so_stop = 0x7FFF;
   unsigned int nack_index;
   boolean_t status = TRUE;
 
   if (rlc_am_get_control_pdu_infos(rlc_am_pdu_sn_10_p, tb_size_in_bytes_pP, &rlc_pP->control_pdu_info) >= 0) {
-
     rlc_am_tx_buffer_display(ctxt_pP, rlc_pP, " TX BUFFER BEFORE PROCESS OF STATUS PDU");
     LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RX CONTROL PDU VT(A) %04d VT(S) %04d POLL_SN %04d ACK_SN %04d\n",
           PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
@@ -294,7 +250,6 @@ rlc_am_receive_process_control_pdu(
           rlc_pP->poll_sn,
           rlc_pP->control_pdu_info.ack_sn);
     rlc_am_display_control_pdu_infos(&rlc_pP->control_pdu_info);
-
     ack_sn    = rlc_pP->control_pdu_info.ack_sn;
     // 5.2.1 Retransmission
     //
@@ -326,8 +281,7 @@ rlc_am_receive_process_control_pdu(
 
     /* Note : ackSn can be equal to current vtA only in case the status pdu contains a list of nack_sn with same value = vtA with SOStart/SOEnd */
     /* and meaning the report is not complete due to not enough ressources to fill all SOStart/SOEnd of this NACK_SN */
-    if (RLC_AM_DIFF_SN(rlc_pP->vt_s,rlc_pP->vt_a) >= RLC_AM_DIFF_SN(ack_sn,rlc_pP->vt_a))
-    {
+    if (RLC_AM_DIFF_SN(rlc_pP->vt_s,rlc_pP->vt_a) >= RLC_AM_DIFF_SN(ack_sn,rlc_pP->vt_a)) {
       if (rlc_pP->control_pdu_info.num_nack == 0) {
         while (sn_cursor != ack_sn) {
           rlc_am_ack_pdu(ctxt_pP, rlc_pP, sn_cursor,TRUE);
@@ -342,63 +296,56 @@ rlc_am_receive_process_control_pdu(
         prev_nack_sn = 0x3FFF;
 
         while (sn_cursor != nack_sn) {
-            rlc_am_ack_pdu(ctxt_pP, rlc_pP, sn_cursor,TRUE);
-            sn_cursor = RLC_AM_NEXT_SN(sn_cursor);
+          rlc_am_ack_pdu(ctxt_pP, rlc_pP, sn_cursor,TRUE);
+          sn_cursor = RLC_AM_NEXT_SN(sn_cursor);
         }
 
         vt_a_new = nack_sn;
-
         // catch DataCfn
         rlc_am_tx_data_pdu_management_t *tx_data_pdu_buffer_p = &rlc_pP->tx_data_pdu_buffer[nack_sn % RLC_AM_WINDOW_SIZE];
+
         if (tx_data_pdu_buffer_p->retx_payload_size == tx_data_pdu_buffer_p->payload_size) {
-        	sn_data_cnf   = RLC_AM_PREV_SN(nack_sn);
-        }
-        else if (tx_data_pdu_buffer_p->nack_so_start != 0) {
-        	sn_data_cnf       = nack_sn;
-        	data_cnf_so_stop    = tx_data_pdu_buffer_p->nack_so_start - 1;
-        }
-        else {
-        	sn_data_cnf       = RLC_AM_PREV_SN(nack_sn);
+          sn_data_cnf   = RLC_AM_PREV_SN(nack_sn);
+        } else if (tx_data_pdu_buffer_p->nack_so_start != 0) {
+          sn_data_cnf       = nack_sn;
+          data_cnf_so_stop    = tx_data_pdu_buffer_p->nack_so_start - 1;
+        } else {
+          sn_data_cnf       = RLC_AM_PREV_SN(nack_sn);
         }
 
-
         while ((sn_cursor != ack_sn) && (status)) {
           if (sn_cursor != nack_sn) {
             rlc_am_ack_pdu(ctxt_pP,
                            rlc_pP,
                            sn_cursor,
-						   FALSE);
+                           FALSE);
           } else {
-        	status = rlc_am_nack_pdu (ctxt_pP,
-                             rlc_pP,
-							 nack_sn,
-							 prev_nack_sn,
-                             rlc_pP->control_pdu_info.nack_list[nack_index].so_start,
-                             rlc_pP->control_pdu_info.nack_list[nack_index].so_end);
-
+            status = rlc_am_nack_pdu (ctxt_pP,
+                                      rlc_pP,
+                                      nack_sn,
+                                      prev_nack_sn,
+                                      rlc_pP->control_pdu_info.nack_list[nack_index].so_start,
+                                      rlc_pP->control_pdu_info.nack_list[nack_index].so_end);
             nack_index = nack_index + 1;
             prev_nack_sn = nack_sn;
 
             if (nack_index < rlc_pP->control_pdu_info.num_nack) {
-               nack_sn = rlc_pP->control_pdu_info.nack_list[nack_index].nack_sn;
-            }
-            else if (nack_sn != ack_sn) {
-            	/* general case*/
-            	nack_sn = ack_sn;
-            }
-            else {
-            	/*specific case when the sender did not have enough TBS to fill all SOStart SOEnd for this NACK_SN */
-            	break;
+              nack_sn = rlc_pP->control_pdu_info.nack_list[nack_index].nack_sn;
+            } else if (nack_sn != ack_sn) {
+              /* general case*/
+              nack_sn = ack_sn;
+            } else {
+              /*specific case when the sender did not have enough TBS to fill all SOStart SOEnd for this NACK_SN */
+              break;
             }
           }
+
           if (prev_nack_sn != nack_sn) {
-        	  /* do not increment sn_cursor in case of several informations for the same nack_sn */
-              sn_cursor = (sn_cursor + 1)  & RLC_AM_SN_MASK;
+            /* do not increment sn_cursor in case of several informations for the same nack_sn */
+            sn_cursor = (sn_cursor + 1)  & RLC_AM_SN_MASK;
           }
         }
       }
-
-
     } else {
       LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" WARNING CONTROL PDU ACK SN %d OUT OF WINDOW vtA=%d vtS=%d\n",
             PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),ack_sn,rlc_pP->vt_a,rlc_pP->vt_s);
@@ -413,61 +360,57 @@ rlc_am_receive_process_control_pdu(
   }
 
   if (status) {
-      /* Check for Stopping TpollReTx */
-      if ((rlc_pP->poll_sn != RLC_SN_UNDEFINED) &&
-          (RLC_AM_DIFF_SN(ack_sn,rlc_pP->vt_a) > RLC_AM_DIFF_SN(rlc_pP->poll_sn,rlc_pP->vt_a))) {
-        rlc_am_stop_and_reset_timer_poll_retransmit(ctxt_pP, rlc_pP);
-        rlc_pP->poll_sn = RLC_SN_UNDEFINED;
-      }
-
-      //TODO : this part does not cover all cases of Data Cnf and move it at the end of Status PDU processing
-      sn_cursor = rlc_pP->vt_a;
-
-      // Fix Issue 238 : check sn_data_cnf has been transmitted
-      if ((rlc_pP->tx_data_pdu_buffer[sn_data_cnf % RLC_AM_WINDOW_SIZE].flags.transmitted) &&
-    		  (rlc_pP->tx_data_pdu_buffer[sn_data_cnf % RLC_AM_WINDOW_SIZE].sn == sn_data_cnf)) {
-    	  /* Handle all acked PDU up to and excluding sn_data_cnf */
-          while (sn_cursor != sn_data_cnf) {
-        	  rlc_am_pdu_sdu_data_cnf(ctxt_pP,rlc_pP,sn_cursor);
-        	  sn_cursor = RLC_AM_NEXT_SN(sn_cursor);
-          }
+    /* Check for Stopping TpollReTx */
+    if ((rlc_pP->poll_sn != RLC_SN_UNDEFINED) &&
+        (RLC_AM_DIFF_SN(ack_sn,rlc_pP->vt_a) > RLC_AM_DIFF_SN(rlc_pP->poll_sn,rlc_pP->vt_a))) {
+      rlc_am_stop_and_reset_timer_poll_retransmit(ctxt_pP, rlc_pP);
+      rlc_pP->poll_sn = RLC_SN_UNDEFINED;
+    }
 
-          // Handle last SN. TO DO : case of PDU partially ACKED with SDU to be data conf
-          if (data_cnf_so_stop == 0x7FFF) {
-        	  rlc_am_pdu_sdu_data_cnf(ctxt_pP,rlc_pP,sn_data_cnf);
-          }
+    //TODO : this part does not cover all cases of Data Cnf and move it at the end of Status PDU processing
+    sn_cursor = rlc_pP->vt_a;
 
-          LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RECEIVE STATUS PDU ACK_SN=%d NewvtA=%d OldvtA=%d SnDataCnf=%d DataCnfSOStop=%d vtS=%d\n",
-                      PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),ack_sn,vt_a_new,rlc_pP->vt_a,sn_data_cnf,data_cnf_so_stop,rlc_pP->vt_s);
+    // Fix Issue 238 : check sn_data_cnf has been transmitted
+    if ((rlc_pP->tx_data_pdu_buffer[sn_data_cnf % RLC_AM_WINDOW_SIZE].flags.transmitted) &&
+        (rlc_pP->tx_data_pdu_buffer[sn_data_cnf % RLC_AM_WINDOW_SIZE].sn == sn_data_cnf)) {
+      /* Handle all acked PDU up to and excluding sn_data_cnf */
+      while (sn_cursor != sn_data_cnf) {
+        rlc_am_pdu_sdu_data_cnf(ctxt_pP,rlc_pP,sn_cursor);
+        sn_cursor = RLC_AM_NEXT_SN(sn_cursor);
       }
-      else {
-          LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RECEIVE STATUS PDU WITH NO SDU CNF ACK_SN=%d NewvtA=%d OldvtA=%d vtS=%d\n",
-                      PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),ack_sn,vt_a_new,rlc_pP->vt_a,rlc_pP->vt_s);
+
+      // Handle last SN. TO DO : case of PDU partially ACKED with SDU to be data conf
+      if (data_cnf_so_stop == 0x7FFF) {
+        rlc_am_pdu_sdu_data_cnf(ctxt_pP,rlc_pP,sn_data_cnf);
       }
 
-      /* Update vtA and vtMS */
-      rlc_pP->vt_a = vt_a_new;
-      rlc_pP->vt_ms = (rlc_pP->vt_a + RLC_AM_WINDOW_SIZE) & RLC_AM_SN_MASK;
-  }
+      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RECEIVE STATUS PDU ACK_SN=%d NewvtA=%d OldvtA=%d SnDataCnf=%d DataCnfSOStop=%d vtS=%d\n",
+            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),ack_sn,vt_a_new,rlc_pP->vt_a,sn_data_cnf,data_cnf_so_stop,rlc_pP->vt_s);
+    } else {
+      LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" RECEIVE STATUS PDU WITH NO SDU CNF ACK_SN=%d NewvtA=%d OldvtA=%d vtS=%d\n",
+            PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),ack_sn,vt_a_new,rlc_pP->vt_a,rlc_pP->vt_s);
+    }
 
-  *first_byte_ppP = (uint8_t*)((uint64_t)*first_byte_ppP + initial_pdu_size - *tb_size_in_bytes_pP);
+    /* Update vtA and vtMS */
+    rlc_pP->vt_a = vt_a_new;
+    rlc_pP->vt_ms = (rlc_pP->vt_a + RLC_AM_WINDOW_SIZE) & RLC_AM_SN_MASK;
+  }
 
+  *first_byte_ppP = (uint8_t *)((uint64_t)*first_byte_ppP + initial_pdu_size - *tb_size_in_bytes_pP);
   free_mem_block(tb_pP, __func__);
   rlc_am_tx_buffer_display(ctxt_pP, rlc_pP, NULL);
 }
 //-----------------------------------------------------------------------------
 int
 rlc_am_write_status_pdu(
-  const protocol_ctxt_t* const     ctxt_pP,
+  const protocol_ctxt_t *const     ctxt_pP,
   rlc_am_entity_t *const           rlc_pP,
-  rlc_am_pdu_sn_10_t* const        rlc_am_pdu_sn_10_pP,
-  rlc_am_control_pdu_info_t* const pdu_info_pP)
-{
+  rlc_am_pdu_sn_10_t *const        rlc_am_pdu_sn_10_pP,
+  rlc_am_control_pdu_info_t *const pdu_info_pP) {
   unsigned int bit_pos       = 4; // range from 0 (MSB/left) to 7 (LSB/right)
-  uint8_t*        byte_pos_p    = &rlc_am_pdu_sn_10_pP->b1;
+  uint8_t        *byte_pos_p    = &rlc_am_pdu_sn_10_pP->b1;
   unsigned int index         = 0;
   unsigned int num_bytes     = 0;
-
   rlc_am_write16_bit_field(&byte_pos_p, &bit_pos, 10, pdu_info_pP->ack_sn);
 
   if (pdu_info_pP->num_nack > 0) {
@@ -495,20 +438,17 @@ rlc_am_write_status_pdu(
     num_bytes += 1;
   }
 
-#if TRACE_RLC_AM_STATUS_CREATION
   LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" WROTE STATUS PDU %d BYTES\n",
         PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
         num_bytes);
-#endif
   return num_bytes;
 }
 //-----------------------------------------------------------------------------
 void
 rlc_am_send_status_pdu(
-  const protocol_ctxt_t* const  ctxt_pP,
+  const protocol_ctxt_t *const  ctxt_pP,
   rlc_am_entity_t *const rlc_pP
-)
-{
+) {
   // When STATUS reporting has been triggered, the receiving side of an AM RLC entity shall:
   // - if t-StatusProhibit is not running:
   //     - at the first transmission opportunity indicated by lower layer, construct a STATUS PDU and deliver it to lower layer;
@@ -530,10 +470,9 @@ rlc_am_send_status_pdu(
   //             - include in the STATUS PDU a set of NACK_SN, SOstart and SOend
   //     - set the ACK_SN to the SN of the next not received RLC Data PDU which is not indicated as missing in the
   //       resulting STATUS PDU.
-
   signed int                    nb_bits_to_transmit   = rlc_pP->nb_bytes_requested_by_mac << 3;
   // minimum header size in bits to be transmitted: D/C + CPT + ACK_SN + E1
-  signed int                    nb_bits_transmitted	  = RLC_AM_PDU_D_C_BITS + RLC_AM_STATUS_PDU_CPT_LENGTH + RLC_AM_SN_BITS + RLC_AM_PDU_E_BITS;
+  signed int                    nb_bits_transmitted   = RLC_AM_PDU_D_C_BITS + RLC_AM_STATUS_PDU_CPT_LENGTH + RLC_AM_SN_BITS + RLC_AM_PDU_E_BITS;
   rlc_am_control_pdu_info_t     control_pdu_info;
   rlc_am_pdu_info_t            *pdu_info_cursor_p     = NULL;
   rlc_sn_t                      sn_cursor             = 0;
@@ -543,325 +482,278 @@ rlc_am_send_status_pdu(
   int                           waited_so             = 0;
   mem_block_t                  *tb_p                  = NULL;
   sdu_size_t                    pdu_size              = 0;
-  boolean_t						status_report_completed	= false;
-  boolean_t						segment_loop_end	  = false;
-
+  boolean_t           status_report_completed = false;
+  boolean_t           segment_loop_end    = false;
   memset(&control_pdu_info, 0, sizeof(rlc_am_control_pdu_info_t));
-
-#if TRACE_RLC_AM_STATUS_CREATION
   LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] nb_bits_to_transmit %d (15 already allocated for header)\n",
         PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
         nb_bits_to_transmit);
   rlc_am_rx_list_display(rlc_pP, " DISPLAY BEFORE CONSTRUCTION OF STATUS REPORT");
-#endif
 
   /* Handle no NACK first */
   if (rlc_pP->vr_r == rlc_pP->vr_ms) {
-
-	  control_pdu_info.ack_sn = rlc_pP->vr_ms;
-	  status_report_completed = true;
-#if TRACE_RLC_AM_STATUS_CREATION
-          LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d ALL ACK WITH ACK_SN %04d\n",
-                PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-                __LINE__,
-				rlc_pP->vr_ms);
-#endif
-  }
-  else if ((cursor_p != NULL) && ((nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1)) <= nb_bits_to_transmit)) {
-
-    pdu_info_cursor_p       = &((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info;
+    control_pdu_info.ack_sn = rlc_pP->vr_ms;
+    status_report_completed = true;
+    LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d ALL ACK WITH ACK_SN %04d\n",
+          PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+          __LINE__,
+          rlc_pP->vr_ms);
+  } else if ((cursor_p != NULL) && ((nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1)) <= nb_bits_to_transmit)) {
+    pdu_info_cursor_p       = &((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info;
     sn_cursor             = pdu_info_cursor_p->sn;
-
     /* Set E1 bit for the presence of first NACK_SN/E1/E2 */
     control_pdu_info.e1 = 1;
 
     // 12 bits = size of NACK_SN field + E1, E2 bits
     // 42 bits = size of NACK_SN field + SO_START, SO_END fields, E1, E2 bits
     while ((!status_report_completed) && (RLC_AM_DIFF_SN(sn_nack,rlc_pP->vr_r) < RLC_AM_DIFF_SN(rlc_pP->vr_ms,rlc_pP->vr_r))
-    		&& (cursor_p != NULL) && (nb_bits_transmitted <= nb_bits_to_transmit)) {
-
-      pdu_info_cursor_p       = &((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info;
+           && (cursor_p != NULL) && (nb_bits_transmitted <= nb_bits_to_transmit)) {
+      pdu_info_cursor_p       = &((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info;
       sn_cursor             = pdu_info_cursor_p->sn;
-      all_segments_received = ((rlc_am_rx_pdu_management_t*)(cursor_p->data))->all_segments_received;
+      all_segments_received = ((rlc_am_rx_pdu_management_t *)(cursor_p->data))->all_segments_received;
 
       /* First fill NACK_SN with each missing PDU between current sn_nack and sn_cursor */
       while ((sn_nack != sn_cursor) && (RLC_AM_DIFF_SN(sn_nack,rlc_pP->vr_r) < RLC_AM_DIFF_SN(rlc_pP->vr_ms,rlc_pP->vr_r))) {
-    	  if (nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) <= nb_bits_to_transmit) {
-    		  /* Fill NACK_SN infos */
-              control_pdu_info.nack_list[control_pdu_info.num_nack].nack_sn   = sn_nack;
-              control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = 0;
-              control_pdu_info.nack_list[control_pdu_info.num_nack].so_end    = RLC_AM_STATUS_PDU_SO_END_ALL_BYTES;
-              control_pdu_info.nack_list[control_pdu_info.num_nack].e2        = 0;
-              /* Set E1 for next NACK_SN. The last one will be cleared */
-              control_pdu_info.nack_list[control_pdu_info.num_nack].e1  = 1;
-              control_pdu_info.num_nack += 1;
-              nb_bits_transmitted += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1));
-#if TRACE_RLC_AM_STATUS_CREATION
+        if (nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) <= nb_bits_to_transmit) {
+          /* Fill NACK_SN infos */
+          control_pdu_info.nack_list[control_pdu_info.num_nack].nack_sn   = sn_nack;
+          control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = 0;
+          control_pdu_info.nack_list[control_pdu_info.num_nack].so_end    = RLC_AM_STATUS_PDU_SO_END_ALL_BYTES;
+          control_pdu_info.nack_list[control_pdu_info.num_nack].e2        = 0;
+          /* Set E1 for next NACK_SN. The last one will be cleared */
+          control_pdu_info.nack_list[control_pdu_info.num_nack].e1  = 1;
+          control_pdu_info.num_nack += 1;
+          nb_bits_transmitted += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1));
           LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING NACK %04d\n",
                 PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
                 __LINE__,
-				sn_nack);
-#endif
-    		  sn_nack = RLC_AM_NEXT_SN(sn_nack);
-    	  }
-    	  else {
-    		  /* Not enough UL TBS*/
-    		  /* latest value of sn_nack shall be used as ACK_SN */
-    		  control_pdu_info.ack_sn = sn_nack;
-    		  status_report_completed = true;
-#if TRACE_RLC_AM_STATUS_CREATION
+                sn_nack);
+          sn_nack = RLC_AM_NEXT_SN(sn_nack);
+        } else {
+          /* Not enough UL TBS*/
+          /* latest value of sn_nack shall be used as ACK_SN */
+          control_pdu_info.ack_sn = sn_nack;
+          status_report_completed = true;
           LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d NOT ENOUGH TBS STOP WITH ACK_SN %04d\n",
                 PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
                 __LINE__,
-				sn_nack);
-#endif
-    		  break;
-    	  }
+                sn_nack);
+          break;
+        }
       }
 
       if (sn_nack == rlc_pP->vr_ms) {
-    	  break;
+        break;
       }
 
       /* Now process all Segments of sn_cursor if PDU not fully received */
       if ((!status_report_completed) && (all_segments_received == 0) && (sn_cursor != rlc_pP->vr_ms)) {
-    	  //AssertFatal (sn_nack == sn_cursor, "RLC AM Tx Status PDU Data sn_nack=%d and sn_cursor=%d should be equal LcId=%d\n",sn_nack,sn_cursor, rlc_pP->channel_id);
-      	if(sn_nack != sn_cursor){
-      		LOG_E(RLC, "RLC AM Tx Status PDU Data sn_nack=%d and sn_cursor=%d should be equal LcId=%d\n",sn_nack,sn_cursor, rlc_pP->channel_id);
-      	}
-
-    	  /* First ensure there is enough TBS for at least 1 SOStart/SOEnd, else break */
+        //AssertFatal (sn_nack == sn_cursor, "RLC AM Tx Status PDU Data sn_nack=%d and sn_cursor=%d should be equal LcId=%d\n",sn_nack,sn_cursor, rlc_pP->channel_id);
+        if(sn_nack != sn_cursor) {
+          LOG_E(RLC, "RLC AM Tx Status PDU Data sn_nack=%d and sn_cursor=%d should be equal LcId=%d\n",sn_nack,sn_cursor, rlc_pP->channel_id);
+        }
+        /* First ensure there is enough TBS for at least 1 SOStart/SOEnd, else break */
         else if ((nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1)) <= nb_bits_to_transmit) {
-    		  /* Init loop flags */
+          /* Init loop flags */
+          /* Check lsf */
+          segment_loop_end = (pdu_info_cursor_p->lsf == 1);
+
+          /* Init first SO Start according to first segment */
+          if (pdu_info_cursor_p->so) {
+            /* Fill the first SO */
+            control_pdu_info.nack_list[control_pdu_info.num_nack].nack_sn   = sn_cursor;
+            control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = 0;
+            control_pdu_info.nack_list[control_pdu_info.num_nack].so_end    = pdu_info_cursor_p->so - 1;
+            control_pdu_info.nack_list[control_pdu_info.num_nack].e2        = 1;
+            /* Set E1 for next NACK_SN. The last one will be cleared */
+            control_pdu_info.nack_list[control_pdu_info.num_nack].e1  = 1;
+            control_pdu_info.num_nack += 1;
+            nb_bits_transmitted += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
+            LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING NACK %04d SO START %05d SO END %05d\n",
+                  PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+                  __LINE__,
+                  sn_cursor,
+                  0,
+                  pdu_info_cursor_p->so - 1);
+            waited_so = pdu_info_cursor_p->so + pdu_info_cursor_p->payload_size;
+          } else {
+            waited_so = pdu_info_cursor_p->payload_size;
+          }
+
+          /* Go to next segment */
+          cursor_p = cursor_p->next;
+
+          if (cursor_p != NULL) {
+            pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info;
+          }
+
+          /* Find the first discontinuity and then fill SOStart/SOEnd */
+          while (!segment_loop_end) {
+            if ((cursor_p != NULL) && (pdu_info_cursor_p->sn == sn_cursor)) {
+              /* PDU segment is for the same SN*/
               /* Check lsf */
-    		  segment_loop_end = (pdu_info_cursor_p->lsf == 1);
+              segment_loop_end = (pdu_info_cursor_p->lsf == 1);
 
-    		  /* Init first SO Start according to first segment */
-    		  if (pdu_info_cursor_p->so) {
-    			  /* Fill the first SO */
+              if (waited_so < pdu_info_cursor_p->so) {
+                /* SO is greater than previous received portion : gap identified to fill */
+                if ((nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1)) <= nb_bits_to_transmit) {
                   control_pdu_info.nack_list[control_pdu_info.num_nack].nack_sn   = sn_cursor;
-                  control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = 0;
+                  control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = waited_so;
                   control_pdu_info.nack_list[control_pdu_info.num_nack].so_end    = pdu_info_cursor_p->so - 1;
                   control_pdu_info.nack_list[control_pdu_info.num_nack].e2        = 1;
                   /* Set E1 for next NACK_SN. The last one will be cleared */
                   control_pdu_info.nack_list[control_pdu_info.num_nack].e1  = 1;
                   control_pdu_info.num_nack += 1;
                   nb_bits_transmitted += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
-#if TRACE_RLC_AM_STATUS_CREATION
-            LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING NACK %04d SO START %05d SO END %05d\n",
-                  PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-                  __LINE__,
-				  sn_cursor,
-                  0,
-				  pdu_info_cursor_p->so - 1);
-#endif
-                  waited_so = pdu_info_cursor_p->so + pdu_info_cursor_p->payload_size;
-    		  }
-    		  else {
-        		  waited_so = pdu_info_cursor_p->payload_size;
-    		  }
+                  LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING NACK %04d SO START %05d SO END %05d\n",
+                        PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+                        __LINE__,
+                        sn_cursor,
+                        waited_so,
+                        pdu_info_cursor_p->so);
+                } else {
+                  /* Not enough resources to set a SOStart/SEnd, then set ACK_SN to current NACK_SN and stop Status PDU build */
+                  control_pdu_info.ack_sn = sn_cursor;
+                  status_report_completed = true;
+                  segment_loop_end = true;
+                  break;
+                }
+              } else {
+                /* contiguous segment: only update waited_so */
+                /* Assuming so and payload_size updated according to duplication removal done at reception ... */
+                waited_so += pdu_info_cursor_p->payload_size;
+              }
 
-              /* Go to next segment */
+              /* Go to next received PDU or PDU Segment */
               cursor_p = cursor_p->next;
-              if (cursor_p != NULL)
-              {
-                  pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info;
+
+              if (cursor_p != NULL) {
+                pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info;
+              }
+            } //end if (cursor_p != NULL) && (pdu_info_cursor_p->sn == sn_cursor)
+            else {
+              /* Previous PDU segment was the last one and did not have lsf indication : fill the latest gap */
+              if ((nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1)) <= nb_bits_to_transmit) {
+                control_pdu_info.nack_list[control_pdu_info.num_nack].nack_sn   = sn_cursor;
+                control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = waited_so;
+                control_pdu_info.nack_list[control_pdu_info.num_nack].so_end    = RLC_AM_STATUS_PDU_SO_END_ALL_BYTES;
+                control_pdu_info.nack_list[control_pdu_info.num_nack].e2        = 1;
+                /* Set E1 for next NACK_SN. The last one will be cleared */
+                control_pdu_info.nack_list[control_pdu_info.num_nack].e1  = 1;
+                control_pdu_info.num_nack += 1;
+                nb_bits_transmitted += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
+                LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING LAST NACK %04d SO START %05d SO END %05d\n",
+                      PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
+                      __LINE__,
+                      sn_cursor,
+                      waited_so,
+                      RLC_AM_STATUS_PDU_SO_END_ALL_BYTES);
+              } else {
+                /* Not enough resources to set a SOStart/SEnd, then set ACK_SN to current NACK_SN and stop Status PDU build */
+                control_pdu_info.ack_sn = sn_cursor;
+                status_report_completed = true;
               }
 
-    		  /* Find the first discontinuity and then fill SOStart/SOEnd */
-    		  while (!segment_loop_end) {
-    			  if ((cursor_p != NULL) && (pdu_info_cursor_p->sn == sn_cursor)) {
-
-					  /* PDU segment is for the same SN*/
-					  /* Check lsf */
-					  segment_loop_end = (pdu_info_cursor_p->lsf == 1);
-
-					  if (waited_so < pdu_info_cursor_p->so) {
-						  /* SO is greater than previous received portion : gap identified to fill */
-						  if ((nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1)) <= nb_bits_to_transmit) {
-							  control_pdu_info.nack_list[control_pdu_info.num_nack].nack_sn   = sn_cursor;
-							  control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = waited_so;
-							  control_pdu_info.nack_list[control_pdu_info.num_nack].so_end    = pdu_info_cursor_p->so - 1;
-							  control_pdu_info.nack_list[control_pdu_info.num_nack].e2        = 1;
-							  /* Set E1 for next NACK_SN. The last one will be cleared */
-							  control_pdu_info.nack_list[control_pdu_info.num_nack].e1  = 1;
-							  control_pdu_info.num_nack += 1;
-							  nb_bits_transmitted += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
-#if TRACE_RLC_AM_STATUS_CREATION
-		LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING NACK %04d SO START %05d SO END %05d\n",
-			  PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-			  __LINE__,
-			  sn_cursor,
-			  waited_so,
-			  pdu_info_cursor_p->so);
-#endif
-						  }
-						  else {
-							  /* Not enough resources to set a SOStart/SEnd, then set ACK_SN to current NACK_SN and stop Status PDU build */
-							  control_pdu_info.ack_sn = sn_cursor;
-							  status_report_completed = true;
-							  segment_loop_end = true;
-							  break;
-						  }
-					  }
-					  else {
-						  /* contiguous segment: only update waited_so */
-						  /* Assuming so and payload_size updated according to duplication removal done at reception ... */
-						  waited_so += pdu_info_cursor_p->payload_size;
-					  }
-
-					  /* Go to next received PDU or PDU Segment */
-					  cursor_p = cursor_p->next;
-	                  if (cursor_p != NULL)
-	                  {
-		                  pdu_info_cursor_p     = &((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info;
-	                  }
-
-    			  } //end if (cursor_p != NULL) && (pdu_info_cursor_p->sn == sn_cursor)
-    			  else {
-    				  /* Previous PDU segment was the last one and did not have lsf indication : fill the latest gap */
-    		    	  if ((nb_bits_transmitted + RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1)) <= nb_bits_to_transmit) {
-    	                      control_pdu_info.nack_list[control_pdu_info.num_nack].nack_sn   = sn_cursor;
-    	                      control_pdu_info.nack_list[control_pdu_info.num_nack].so_start  = waited_so;
-    	                      control_pdu_info.nack_list[control_pdu_info.num_nack].so_end    = RLC_AM_STATUS_PDU_SO_END_ALL_BYTES;
-    	                      control_pdu_info.nack_list[control_pdu_info.num_nack].e2        = 1;
-    	                      /* Set E1 for next NACK_SN. The last one will be cleared */
-    	                      control_pdu_info.nack_list[control_pdu_info.num_nack].e1  = 1;
-    	                      control_pdu_info.num_nack += 1;
-    	                      nb_bits_transmitted += (RLC_AM_SN_BITS + (RLC_AM_PDU_E_BITS << 1) + (RLC_AM_STATUS_PDU_SO_LENGTH << 1));
-#if TRACE_RLC_AM_STATUS_CREATION
-            LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING LAST NACK %04d SO START %05d SO END %05d\n",
-                  PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
-                  __LINE__,
-				  sn_cursor,
-				  waited_so,
-				  RLC_AM_STATUS_PDU_SO_END_ALL_BYTES);
-#endif
-     		    	  }
-    		    	  else {
-    		    		  /* Not enough resources to set a SOStart/SEnd, then set ACK_SN to current NACK_SN and stop Status PDU build */
-    		    		  control_pdu_info.ack_sn = sn_cursor;
-    		    		  status_report_completed = true;
-    		    	  }
-
-    		    	  segment_loop_end = true;
-    			  }
-    		  } //end  while (!segment_loop_end)
-    	  } // end if enough resource for transmitting at least one SOStart/SOEnd
-    	  else {
-    		  /* Not enough UL TBS to set at least one SOStart/SOEnd */
-    		  /* latest value of sn_nack shall be used as ACK_SN */
-    		  control_pdu_info.ack_sn = sn_nack;
-    		  status_report_completed = true;
-    	  }
+              segment_loop_end = true;
+            }
+          } //end  while (!segment_loop_end)
+        } // end if enough resource for transmitting at least one SOStart/SOEnd
+        else {
+          /* Not enough UL TBS to set at least one SOStart/SOEnd */
+          /* latest value of sn_nack shall be used as ACK_SN */
+          control_pdu_info.ack_sn = sn_nack;
+          status_report_completed = true;
+        }
       } // end while on all PDU segments of sn_cursor
       else {
-    	  /* Go to next received PDU or PDU segment with different SN */
-    	  do {
-    		  	  cursor_p = cursor_p->next;
-    	  	  } while ((cursor_p != NULL) && (((rlc_am_rx_pdu_management_t*)(cursor_p->data))->pdu_info.sn == sn_cursor));
+        /* Go to next received PDU or PDU segment with different SN */
+        do {
+          cursor_p = cursor_p->next;
+        } while ((cursor_p != NULL) && (((rlc_am_rx_pdu_management_t *)(cursor_p->data))->pdu_info.sn == sn_cursor));
       }
 
       /* Increment sn_nack except if sn_cursor = vrMS and if current SN was not fully received */
       if (RLC_AM_DIFF_SN(sn_cursor,rlc_pP->vr_r) < RLC_AM_DIFF_SN(rlc_pP->vr_ms,rlc_pP->vr_r)) {
-    	  sn_nack = RLC_AM_NEXT_SN(sn_cursor);
-      }
-      else {
-    	  sn_nack = rlc_pP->vr_ms;
+        sn_nack = RLC_AM_NEXT_SN(sn_cursor);
+      } else {
+        sn_nack = rlc_pP->vr_ms;
       }
-
-
     } // End main while NACK_SN
 
     /* Clear E1 of last nack_sn entry */
-//	AssertFatal ((control_pdu_info.num_nack) || (all_segments_received == 0), "RLC AM Tx Status PDU Data Error no NACK_SN vrR=%d vrMS=%d lastSN_NACK=%d Completed=%d NbBytesAvailable=%d LcId=%d\n",
-//	        rlc_pP->vr_r,rlc_pP->vr_ms,sn_nack,status_report_completed,(nb_bits_to_transmit >> 3),rlc_pP->channel_id);
-  	if (!((control_pdu_info.num_nack) || (all_segments_received == 0))){
-  		LOG_E(RLC, "RLC AM Tx Status PDU Data Error no NACK_SN vrR=%d vrMS=%d lastSN_NACK=%d Completed=%d NbBytesAvailable=%d LcId=%d\n",
-		        rlc_pP->vr_r,rlc_pP->vr_ms,sn_nack,status_report_completed,(nb_bits_to_transmit >> 3),rlc_pP->channel_id);
-  		return;
-  	}
-  	
-	if (control_pdu_info.num_nack) {
-	    control_pdu_info.nack_list[control_pdu_info.num_nack - 1].e1  = 0;
-	}
+    //  AssertFatal ((control_pdu_info.num_nack) || (all_segments_received == 0), "RLC AM Tx Status PDU Data Error no NACK_SN vrR=%d vrMS=%d lastSN_NACK=%d Completed=%d NbBytesAvailable=%d LcId=%d\n",
+    //          rlc_pP->vr_r,rlc_pP->vr_ms,sn_nack,status_report_completed,(nb_bits_to_transmit >> 3),rlc_pP->channel_id);
+    if (!((control_pdu_info.num_nack) || (all_segments_received == 0))) {
+      LOG_E(RLC, "RLC AM Tx Status PDU Data Error no NACK_SN vrR=%d vrMS=%d lastSN_NACK=%d Completed=%d NbBytesAvailable=%d LcId=%d\n",
+            rlc_pP->vr_r,rlc_pP->vr_ms,sn_nack,status_report_completed,(nb_bits_to_transmit >> 3),rlc_pP->channel_id);
+      return;
+    }
 
+    if (control_pdu_info.num_nack) {
+      control_pdu_info.nack_list[control_pdu_info.num_nack - 1].e1  = 0;
+    }
 
     /* Set ACK_SN unless it was set before */
-    if (!status_report_completed){
-
-    	control_pdu_info.ack_sn = sn_nack;
+    if (!status_report_completed) {
+      control_pdu_info.ack_sn = sn_nack;
     }
-
   } else {
-	/* reception buffer empty or not enough TBS for filling at least 1 NACK_SN + E1 + E2 */
+    /* reception buffer empty or not enough TBS for filling at least 1 NACK_SN + E1 + E2 */
     control_pdu_info.ack_sn = rlc_pP->vr_r;
-#if TRACE_RLC_AM_STATUS_CREATION
     LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING ACK %04d  = VR(R)\n",
           PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
           __LINE__,
           control_pdu_info.ack_sn);
-#endif
   }
 
-
   //msg ("[FRAME %5u][%s][RLC_AM][MOD %u/%u][RB %u] nb_bits_to_transmit %d\n",
   //     rlc_pP->module_id, rlc_pP->rb_id, ctxt_pP->frame,nb_bits_to_transmit);
-
-#if TRACE_RLC_AM_STATUS_CREATION
   LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d PREPARE SENDING ACK %04d NUM NACK %d\n",
         PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
         __LINE__,
         control_pdu_info.ack_sn,
         control_pdu_info.num_nack);
-#endif
-
-
   /* encode the control pdu */
   pdu_size = (nb_bits_transmitted + 7) >> 3;
-//  AssertFatal (pdu_size <= rlc_pP->nb_bytes_requested_by_mac, "RLC AM Tx Status PDU Data size=%d bigger than remaining TBS=%d nb_bits_transmitted=%d LcId=%d\n",
-//		  pdu_size,rlc_pP->nb_bytes_requested_by_mac,nb_bits_transmitted, rlc_pP->channel_id);
-	if(pdu_size > rlc_pP->nb_bytes_requested_by_mac){
-		LOG_E(RLC, "RLC AM Tx Status PDU Data size=%d bigger than remaining TBS=%d nb_bits_transmitted=%d LcId=%d\n",
-		  pdu_size,rlc_pP->nb_bytes_requested_by_mac,nb_bits_transmitted, rlc_pP->channel_id);
-		return;
-	}
 
+  //  AssertFatal (pdu_size <= rlc_pP->nb_bytes_requested_by_mac, "RLC AM Tx Status PDU Data size=%d bigger than remaining TBS=%d nb_bits_transmitted=%d LcId=%d\n",
+  //      pdu_size,rlc_pP->nb_bytes_requested_by_mac,nb_bits_transmitted, rlc_pP->channel_id);
+  if(pdu_size > rlc_pP->nb_bytes_requested_by_mac) {
+    LOG_E(RLC, "RLC AM Tx Status PDU Data size=%d bigger than remaining TBS=%d nb_bits_transmitted=%d LcId=%d\n",
+          pdu_size,rlc_pP->nb_bytes_requested_by_mac,nb_bits_transmitted, rlc_pP->channel_id);
+    return;
+  }
 
-#if TRACE_RLC_AM_STATUS_CREATION
   LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] LINE %d forecast pdu_size %d\n",
         PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
         __LINE__,
         pdu_size);
-#endif
   tb_p = get_free_mem_block(sizeof(struct mac_tb_req) + pdu_size, __func__);
+
   if(tb_p == NULL) return;
+
   memset(tb_p->data, 0, sizeof(struct mac_tb_req) + pdu_size);
   //estimation only ((struct mac_tb_req*)(tb_p->data))->tb_size  = pdu_size;
-  ((struct mac_tb_req*)(tb_p->data))->data_ptr         = (uint8_t*)&(tb_p->data[sizeof(struct mac_tb_req)]);
-
+  ((struct mac_tb_req *)(tb_p->data))->data_ptr         = (uint8_t *)&(tb_p->data[sizeof(struct mac_tb_req)]);
   // warning reuse of pdu_size
   // TODO : rlc_am_write_status_pdu should be rewritten as not very tested ...
-  pdu_size = rlc_am_write_status_pdu(ctxt_pP, rlc_pP,(rlc_am_pdu_sn_10_t*)(((struct mac_tb_req*)(tb_p->data))->data_ptr), &control_pdu_info);
-  ((struct mac_tb_req*)(tb_p->data))->tb_size  = pdu_size;
+  pdu_size = rlc_am_write_status_pdu(ctxt_pP, rlc_pP,(rlc_am_pdu_sn_10_t *)(((struct mac_tb_req *)(tb_p->data))->data_ptr), &control_pdu_info);
+  ((struct mac_tb_req *)(tb_p->data))->tb_size  = pdu_size;
   //assert((((struct mac_tb_req*)(tb_p->data))->tb_size) < 3000);
-
-#if TRACE_RLC_AM_STATUS_CREATION
   LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[SEND-STATUS] SEND STATUS PDU SIZE %d, rlc_pP->nb_bytes_requested_by_mac %d, nb_bits_to_transmit>>3 %d\n",
         PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
         pdu_size,
         rlc_pP->nb_bytes_requested_by_mac,
         nb_bits_to_transmit >> 3);
-#endif
 
-//  AssertFatal (pdu_size == ((nb_bits_transmitted + 7) >> 3), "RLC AM Tx Status PDU Data encoding size=%d different than expected=%d LcId=%d\n",
-//  		  pdu_size,((nb_bits_transmitted + 7) >> 3), rlc_pP->channel_id);
-	if(pdu_size != ((nb_bits_transmitted + 7) >> 3)){
-		LOG_E(RLC, "RLC AM Tx Status PDU Data encoding size=%d different than expected=%d LcId=%d\n",
-  		  pdu_size,((nb_bits_transmitted + 7) >> 3), rlc_pP->channel_id);
-		pdu_size = 0;
-		return;
-	}
+  //  AssertFatal (pdu_size == ((nb_bits_transmitted + 7) >> 3), "RLC AM Tx Status PDU Data encoding size=%d different than expected=%d LcId=%d\n",
+  //        pdu_size,((nb_bits_transmitted + 7) >> 3), rlc_pP->channel_id);
+  if(pdu_size != ((nb_bits_transmitted + 7) >> 3)) {
+    LOG_E(RLC, "RLC AM Tx Status PDU Data encoding size=%d different than expected=%d LcId=%d\n",
+          pdu_size,((nb_bits_transmitted + 7) >> 3), rlc_pP->channel_id);
+    pdu_size = 0;
+    return;
+  }
 
   // remaining bytes to transmit for RLC (retrans pdus and new data pdus)
   rlc_pP->nb_bytes_requested_by_mac = rlc_pP->nb_bytes_requested_by_mac - pdu_size;
@@ -869,7 +761,6 @@ rlc_am_send_status_pdu(
   list_add_head(tb_p, &rlc_pP->control_pdu_list);
   rlc_pP->stat_tx_control_pdu   += 1;
   rlc_pP->stat_tx_control_bytes += pdu_size;
-
 }
 
 
diff --git a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
index f04fd6681935ddadc08b6f63c832436357984d16..b59a6025f51bc2e3748e65355293af5bc4eb0eae 100644
--- a/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
+++ b/openair2/LAYER2/RLC/UM_v9.3.0/rlc_um.c
@@ -27,7 +27,7 @@
 #include "platform_constants.h"
 //-----------------------------------------------------------------------------
 #if ENABLE_ITTI
-# include "intertask_interface.h"
+  #include "intertask_interface.h"
 #endif
 #include "assertions.h"
 #include "msc.h"
@@ -43,24 +43,23 @@
 
 //-----------------------------------------------------------------------------
 void rlc_um_stat_req     (rlc_um_entity_t *rlc_pP,
-                          unsigned int* stat_tx_pdcp_sdu,
-                          unsigned int* stat_tx_pdcp_bytes,
-                          unsigned int* stat_tx_pdcp_sdu_discarded,
-                          unsigned int* stat_tx_pdcp_bytes_discarded,
-                          unsigned int* stat_tx_data_pdu,
-                          unsigned int* stat_tx_data_bytes,
-                          unsigned int* stat_rx_pdcp_sdu,
-                          unsigned int* stat_rx_pdcp_bytes,
-                          unsigned int* stat_rx_data_pdus_duplicate,
-                          unsigned int* stat_rx_data_bytes_duplicate,
-                          unsigned int* stat_rx_data_pdu,
-                          unsigned int* stat_rx_data_bytes,
-                          unsigned int* stat_rx_data_pdu_dropped,
-                          unsigned int* stat_rx_data_bytes_dropped,
-                          unsigned int* stat_rx_data_pdu_out_of_window,
-                          unsigned int* stat_rx_data_bytes_out_of_window,
-                          unsigned int* stat_timer_reordering_timed_out)
-{
+                          unsigned int *stat_tx_pdcp_sdu,
+                          unsigned int *stat_tx_pdcp_bytes,
+                          unsigned int *stat_tx_pdcp_sdu_discarded,
+                          unsigned int *stat_tx_pdcp_bytes_discarded,
+                          unsigned int *stat_tx_data_pdu,
+                          unsigned int *stat_tx_data_bytes,
+                          unsigned int *stat_rx_pdcp_sdu,
+                          unsigned int *stat_rx_pdcp_bytes,
+                          unsigned int *stat_rx_data_pdus_duplicate,
+                          unsigned int *stat_rx_data_bytes_duplicate,
+                          unsigned int *stat_rx_data_pdu,
+                          unsigned int *stat_rx_data_bytes,
+                          unsigned int *stat_rx_data_pdu_dropped,
+                          unsigned int *stat_rx_data_bytes_dropped,
+                          unsigned int *stat_rx_data_pdu_out_of_window,
+                          unsigned int *stat_rx_data_bytes_out_of_window,
+                          unsigned int *stat_timer_reordering_timed_out) {
   *stat_tx_pdcp_sdu                     = rlc_pP->stat_tx_pdcp_sdu;
   *stat_tx_pdcp_bytes                   = rlc_pP->stat_tx_pdcp_bytes;
   *stat_tx_pdcp_sdu_discarded           = rlc_pP->stat_tx_pdcp_sdu_discarded;
@@ -81,8 +80,7 @@ void rlc_um_stat_req     (rlc_um_entity_t *rlc_pP,
 }
 //-----------------------------------------------------------------------------
 uint32_t
-rlc_um_get_buffer_occupancy (rlc_um_entity_t *rlc_pP)
-{
+rlc_um_get_buffer_occupancy (rlc_um_entity_t *rlc_pP) {
   if (rlc_pP->buffer_occupancy > 0) {
     return rlc_pP->buffer_occupancy;
   } else {
@@ -91,351 +89,294 @@ rlc_um_get_buffer_occupancy (rlc_um_entity_t *rlc_pP)
 }
 //-----------------------------------------------------------------------------
 void
-rlc_um_get_pdus (const protocol_ctxt_t* const ctxt_pP, void *argP)
-{
+rlc_um_get_pdus (const protocol_ctxt_t *const ctxt_pP, void *argP) {
   rlc_um_entity_t *rlc_p = (rlc_um_entity_t *) argP;
 
   switch (rlc_p->protocol_state) {
+    case RLC_NULL_STATE:
+      // from 3GPP TS 25.322 V9.2.0 p43
+      // In the NULL state the RLC entity does not exist and therefore it is
+      // not possible to transfer any data through it.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // establishment, the RLC entity:
+      //   - is created; and
+      //   - enters the DATA_TRANSFER_READY state.
+      break;
+
+    case RLC_DATA_TRANSFER_READY_STATE:
+
+      // from 3GPP TS 25.322 V9.2.0 p43-44
+      // In the DATA_TRANSFER_READY state, unacknowledged mode data can be
+      // exchanged between the entities according to subclause 11.2.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // release, the RLC entity:
+      // -enters the NULL state; and
+      // -is considered as being terminated.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // modification, the RLC entity:
+      // - stays in the DATA_TRANSFER_READY state;
+      // - modifies only the protocol parameters and timers as indicated by
+      // upper layers.
+      // Upon reception of a CRLC-SUSPEND-Req from upper layers, the RLC
+      // entity:
+      // - enters the LOCAL_SUSPEND state.
+
+      // SEND DATA TO MAC
+      if (rlc_p->tx_sn_length == 10) {
+        rlc_um_segment_10 (ctxt_pP, rlc_p);
+      }
 
-  case RLC_NULL_STATE:
-    // from 3GPP TS 25.322 V9.2.0 p43
-    // In the NULL state the RLC entity does not exist and therefore it is
-    // not possible to transfer any data through it.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // establishment, the RLC entity:
-    //   - is created; and
-    //   - enters the DATA_TRANSFER_READY state.
-    break;
-
-  case RLC_DATA_TRANSFER_READY_STATE:
-
-    // from 3GPP TS 25.322 V9.2.0 p43-44
-    // In the DATA_TRANSFER_READY state, unacknowledged mode data can be
-    // exchanged between the entities according to subclause 11.2.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // release, the RLC entity:
-    // -enters the NULL state; and
-    // -is considered as being terminated.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // modification, the RLC entity:
-    // - stays in the DATA_TRANSFER_READY state;
-    // - modifies only the protocol parameters and timers as indicated by
-    // upper layers.
-    // Upon reception of a CRLC-SUSPEND-Req from upper layers, the RLC
-    // entity:
-    // - enters the LOCAL_SUSPEND state.
-
-    // SEND DATA TO MAC
-    if (rlc_p->tx_sn_length == 10) {
-      rlc_um_segment_10 (ctxt_pP, rlc_p);
-    }
-
-    if (rlc_p->tx_sn_length == 5) {
-      rlc_um_segment_5 (ctxt_pP, rlc_p);
-    }
+      if (rlc_p->tx_sn_length == 5) {
+        rlc_um_segment_5 (ctxt_pP, rlc_p);
+      }
 
-    break;
-
-  case RLC_LOCAL_SUSPEND_STATE:
-    // from 3GPP TS 25.322 V9.2.0 p44
-    // In the LOCAL_SUSPEND state, the RLC entity is suspended, i.e. it does
-    // not send UMD PDUs with "Sequence Number" greater than or equal to a
-    // certain specified value (see subclause 9.7.5).
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // release, the RLC entity:
-    // - enters the NULL state; and
-    // - is considered as being terminated.
-    // Upon reception of a CRLC-RESUME-Req from upper layers, the RLC entity:
-    // - enters the DATA_TRANSFER_READY state; and
-    // - resumes the data transmission.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // modification, the RLC entity:
-    // - stays in the LOCAL_SUSPEND state;
-    // - modifies only the protocol parameters and timers as indicated by
-    //   upper layers.
-
-    // TO DO TAKE CARE OF SN : THE IMPLEMENTATION OF THIS FUNCTIONNALITY IS NOT CRITICAL
-    break;
-
-  default:
-    LOG_E(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_DATA_REQ UNKNOWN PROTOCOL STATE %02X hex\n",
-          PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
-          rlc_p->protocol_state);
+      break;
+
+    case RLC_LOCAL_SUSPEND_STATE:
+      // from 3GPP TS 25.322 V9.2.0 p44
+      // In the LOCAL_SUSPEND state, the RLC entity is suspended, i.e. it does
+      // not send UMD PDUs with "Sequence Number" greater than or equal to a
+      // certain specified value (see subclause 9.7.5).
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // release, the RLC entity:
+      // - enters the NULL state; and
+      // - is considered as being terminated.
+      // Upon reception of a CRLC-RESUME-Req from upper layers, the RLC entity:
+      // - enters the DATA_TRANSFER_READY state; and
+      // - resumes the data transmission.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // modification, the RLC entity:
+      // - stays in the LOCAL_SUSPEND state;
+      // - modifies only the protocol parameters and timers as indicated by
+      //   upper layers.
+      // TO DO TAKE CARE OF SN : THE IMPLEMENTATION OF THIS FUNCTIONNALITY IS NOT CRITICAL
+      break;
+
+    default:
+      LOG_E(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_DATA_REQ UNKNOWN PROTOCOL STATE %02X hex\n",
+            PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
+            rlc_p->protocol_state);
   }
 }
 
 //-----------------------------------------------------------------------------
 void
-rlc_um_rx (const protocol_ctxt_t* const ctxt_pP, void *argP, struct mac_data_ind data_indP)
-{
+rlc_um_rx (const protocol_ctxt_t *const ctxt_pP, void *argP, struct mac_data_ind data_indP) {
   rlc_um_entity_t    *l_rlc_p = (rlc_um_entity_t *) argP;
-#if TRACE_RLC_UM_PDU || MESSAGE_CHART_GENERATOR
   char  message_string[10000];
   mem_block_t        *tb_p;
   int16_t               tb_size_in_bytes;
   size_t              message_string_size = 0;
   rlc_um_pdu_info_t   pdu_info;
   int index;
-#endif
-#if TRACE_RLC_UM_PDU
   int                 octet_index;
-#   if ENABLE_ITTI
-  MessageDef         *msg_p;
-#   endif
-#endif
 
   switch (l_rlc_p->protocol_state) {
+    case RLC_NULL_STATE:
+      // from 3GPP TS 25.322 V9.2.0 p43
+      // In the NULL state the RLC entity does not exist and therefore it is
+      // not possible to transfer any data through it.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // establishment, the RLC entity:
+      //   - is created; and
+      //   - enters the DATA_TRANSFER_READY state.
+      LOG_I(RLC, PROTOCOL_RLC_UM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n",
+            PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p));
+
+      if (data_indP.data.nb_elements > 0 && MESSAGE_CHART_GENERATOR) {
+        tb_p = data_indP.data.head;
+
+        while (tb_p != NULL) {
+          tb_size_in_bytes   = ((struct mac_tb_ind *) (tb_p->data))->size;
+          rlc_um_get_pdu_infos(ctxt_pP,l_rlc_p,(rlc_um_pdu_sn_10_t *) ((struct mac_tb_ind *) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
+          message_string_size = 0;
+          message_string_size += sprintf(&message_string[message_string_size],
+                                         MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT"DATA SN %u size %u FI %u",
+                                         MSC_AS_TIME_ARGS(ctxt_pP),
+                                         PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
+                                         pdu_info.sn,
+                                         tb_size_in_bytes,
+                                         pdu_info.fi);
+
+          if (pdu_info.e) {
+            message_string_size += sprintf(&message_string[message_string_size], "| HE:");
+
+            for (index=0; index < pdu_info.num_li; index++) {
+              message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
+            }
+          }
 
-  case RLC_NULL_STATE:
-    // from 3GPP TS 25.322 V9.2.0 p43
-    // In the NULL state the RLC entity does not exist and therefore it is
-    // not possible to transfer any data through it.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // establishment, the RLC entity:
-    //   - is created; and
-    //   - enters the DATA_TRANSFER_READY state.
-    LOG_I(RLC, PROTOCOL_RLC_UM_CTXT_FMT" ERROR MAC_DATA_IND IN RLC_NULL_STATE\n",
-          PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p));
-#if MESSAGE_CHART_GENERATOR
-
-    if (data_indP.data.nb_elements > 0) {
-      tb_p = data_indP.data.head;
-
-      while (tb_p != NULL) {
-        tb_size_in_bytes   = ((struct mac_tb_ind*) (tb_p->data))->size;
-        rlc_um_get_pdu_infos(ctxt_pP,l_rlc_p,(rlc_um_pdu_sn_10_t*) ((struct mac_tb_ind*) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
-        message_string_size = 0;
-        message_string_size += sprintf(&message_string[message_string_size],
-                                       MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT"DATA SN %u size %u FI %u",
-                                       MSC_AS_TIME_ARGS(ctxt_pP),
-                                       PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
-                                       pdu_info.sn,
-                                       tb_size_in_bytes,
-                                       pdu_info.fi);
-
-        if (pdu_info.e) {
-          message_string_size += sprintf(&message_string[message_string_size], "| HE:");
-
-          for (index=0; index < pdu_info.num_li; index++) {
-            message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
-        }
+          MSC_LOG_RX_DISCARDED_MESSAGE(
+            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
+            (const char *)pdu_info.payload,
+            tb_size_in_bytes,
+            message_string);
+          tb_p = tb_p->next;
         }
+      }/*MESSAGE_CHART_GENERATOR*/
+
+      list_free (&data_indP.data);
+      break;
+
+    case RLC_DATA_TRANSFER_READY_STATE:
+      // from 3GPP TS 25.322 V9.2.0 p43-44
+      // In the DATA_TRANSFER_READY state, unacknowledged mode data can be
+      // exchanged between the entities according to subclause 11.2.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // release, the RLC entity:
+      // -enters the NULL state; and
+      // -is considered as being terminated.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // modification, the RLC entity:
+      // - stays in the DATA_TRANSFER_READY state;
+      // - modifies only the protocol parameters and timers as indicated by
+      // upper layers.
+      // Upon reception of a CRLC-SUSPEND-Req from upper layers, the RLC
+      // entity:
+      // - enters the LOCAL_SUSPEND state.
+      data_indP.tb_size = data_indP.tb_size >> 3;
+
+      if (data_indP.data.nb_elements > 0 && (MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC))) {
+        LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_DATA_IND %d TBs\n",
+              PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p),
+              data_indP.data.nb_elements);
+        tb_p = data_indP.data.head;
+
+        while (tb_p != NULL) {
+          tb_size_in_bytes   = ((struct mac_tb_ind *) (tb_p->data))->size;
+          rlc_um_get_pdu_infos(ctxt_pP,
+                               l_rlc_p,(rlc_um_pdu_sn_10_t *) ((struct mac_tb_ind *) (tb_p->data))->data_ptr,
+                               tb_size_in_bytes,
+                               &pdu_info,
+                               l_rlc_p->rx_sn_length);
+
+          if (MESSAGE_CHART_GENERATOR) {
+            message_string_size = 0;
+            message_string_size += sprintf(&message_string[message_string_size],
+                                           MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT"DATA SN %u size %u FI %u",
+                                           MSC_AS_TIME_ARGS(ctxt_pP),
+                                           PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
+                                           pdu_info.sn,
+                                           tb_size_in_bytes,
+                                           pdu_info.fi);
+
+            if (pdu_info.e) {
+              message_string_size += sprintf(&message_string[message_string_size], "| HE:");
+
+              for (index=0; index < pdu_info.num_li; index++) {
+                message_string_size += sprintf(&message_string[message_string_size], " LI  %u", pdu_info.li_list[index]);
+              }
+            }
 
-        MSC_LOG_RX_DISCARDED_MESSAGE(
-          (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-          (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
-          (const char*)pdu_info.payload,
-          tb_size_in_bytes,
-          message_string);
-
-        tb_p = tb_p->next;
-      }
-    }
-
-#endif
-    list_free (&data_indP.data);
-    break;
-
-  case RLC_DATA_TRANSFER_READY_STATE:
-    // from 3GPP TS 25.322 V9.2.0 p43-44
-    // In the DATA_TRANSFER_READY state, unacknowledged mode data can be
-    // exchanged between the entities according to subclause 11.2.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // release, the RLC entity:
-    // -enters the NULL state; and
-    // -is considered as being terminated.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // modification, the RLC entity:
-    // - stays in the DATA_TRANSFER_READY state;
-    // - modifies only the protocol parameters and timers as indicated by
-    // upper layers.
-    // Upon reception of a CRLC-SUSPEND-Req from upper layers, the RLC
-    // entity:
-    // - enters the LOCAL_SUSPEND state.
-    data_indP.tb_size = data_indP.tb_size >> 3;
-
-#if TRACE_RLC_UM_PDU || MESSAGE_CHART_GENERATOR
-
-    if (data_indP.data.nb_elements > 0) {
-      LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_DATA_IND %d TBs\n",
-            PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p),
-            data_indP.data.nb_elements);
-
-      tb_p = data_indP.data.head;
-
-      while (tb_p != NULL) {
-        tb_size_in_bytes   = ((struct mac_tb_ind *) (tb_p->data))->size;
-        rlc_um_get_pdu_infos(ctxt_pP,
-                             l_rlc_p,(rlc_um_pdu_sn_10_t*) ((struct mac_tb_ind*) (tb_p->data))->data_ptr,
-                             tb_size_in_bytes,
-                             &pdu_info,
-                             l_rlc_p->rx_sn_length);
-
-#if MESSAGE_CHART_GENERATOR
-        message_string_size = 0;
-        message_string_size += sprintf(&message_string[message_string_size],
-                                       MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT"DATA SN %u size %u FI %u",
-                                       MSC_AS_TIME_ARGS(ctxt_pP),
-                                       PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
-                                       pdu_info.sn,
-                                       tb_size_in_bytes,
-                                       pdu_info.fi);
-
-        if (pdu_info.e) {
-          message_string_size += sprintf(&message_string[message_string_size], "| HE:");
-
-          for (index=0; index < pdu_info.num_li; index++) {
-            message_string_size += sprintf(&message_string[message_string_size], " LI  %u", pdu_info.li_list[index]);
+            MSC_LOG_RX_MESSAGE(
+              (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+              (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
+              (char *)pdu_info.payload,
+              tb_size_in_bytes,
+              message_string);
           }
-        }
 
-        MSC_LOG_RX_MESSAGE(
-          (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-          (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
-          (char*)pdu_info.payload,
-          tb_size_in_bytes,
-          message_string);
-
-#endif
-#if TRACE_RLC_UM_PDU
-        message_string_size = 0;
-        message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
-        message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
-        message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
-        message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
-        message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC UM DATA IND: UMD PDU\n\n");
-
-        message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
-        message_string_size += sprintf(&message_string[message_string_size], "  FI        : %u\n", pdu_info.fi);
-        message_string_size += sprintf(&message_string[message_string_size], "  E         : %u\n", pdu_info.e);
-        message_string_size += sprintf(&message_string[message_string_size], "  SN        : %u\n", pdu_info.sn);
-
-        if (pdu_info.e) {
-          message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
-
-          for (index=0; index < pdu_info.num_li; index++) {
-            message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
-          }
-        }
+          if (LOG_DEBUGFLAG(DEBUG_RLC)) {
+            message_string_size = 0;
+            message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
+            message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
+            message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
+            message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
+            message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC UM DATA IND: UMD PDU\n\n");
+            message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
+            message_string_size += sprintf(&message_string[message_string_size], "  FI	    : %u\n", pdu_info.fi);
+            message_string_size += sprintf(&message_string[message_string_size], "  E	    : %u\n", pdu_info.e);
+            message_string_size += sprintf(&message_string[message_string_size], "  SN	    : %u\n", pdu_info.sn);
+
+            if (pdu_info.e) {
+              message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
+
+              for (index=0; index < pdu_info.num_li; index++) {
+                message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
+              }
+            }
 
-        message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
-        message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-        message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
-        message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+            message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
+            message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+            message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
+            message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+
+            for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
+              if ((octet_index % 16) == 0) {
+                if (octet_index != 0) {
+                  message_string_size += sprintf(&message_string[message_string_size], " |\n");
+                }
+
+                message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+              }
+
+              /*
+               * Print every single octet in hexadecimal form
+               */
+              message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
+              /*
+               * Align newline and pipes according to the octets in groups of 2
+               */
+            }
 
-        for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
-          if ((octet_index % 16) == 0) {
-            if (octet_index != 0) {
-              message_string_size += sprintf(&message_string[message_string_size], " |\n");
+            /*
+             * Append enough spaces and put final pipe
+             */
+            for (index = octet_index; index < 16; ++index) {
+              message_string_size += sprintf(&message_string[message_string_size], "   ");
             }
 
-            message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+            message_string_size += sprintf(&message_string[message_string_size], " |\n");
+            LOG_UI(RLC, "%s|\n", message_string);
           }
 
-          /*
-           * Print every single octet in hexadecimal form
-           */
-          message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
-          /*
-           * Align newline and pipes according to the octets in groups of 2
-           */
+          tb_p = tb_p->next;
         }
-
-        /*
-         * Append enough spaces and put final pipe
-         */
-        for (index = octet_index; index < 16; ++index) {
-          message_string_size += sprintf(&message_string[message_string_size], "   ");
-        }
-
-        message_string_size += sprintf(&message_string[message_string_size], " |\n");
-
-#   if ENABLE_ITTI
-        msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag ? TASK_RLC_ENB:TASK_RLC_UE , RLC_UM_DATA_PDU_IND, message_string_size + sizeof (IttiMsgText));
-        msg_p->ittiMsg.rlc_um_data_pdu_ind.size = message_string_size;
-        memcpy(&msg_p->ittiMsg.rlc_um_data_pdu_ind.text, message_string, message_string_size);
-
-        itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-
-# else
-        LOG_T(RLC, "%s", message_string);
-# endif // ENABLE_ITTI
-#endif // TRACE_RLC_UM_PDU
-
-        tb_p = tb_p->next;
       }
-    }
 
-#endif
-    rlc_um_receive (ctxt_pP, l_rlc_p, data_indP);
-    break;
-
-  case RLC_LOCAL_SUSPEND_STATE:
-    // from 3GPP TS 25.322 V9.2.0 p44
-    // In the LOCAL_SUSPEND state, the RLC entity is suspended, i.e. it does
-    // not send UMD PDUs with "Sequence Number" greater than or equal to a
-    // certain specified value (see subclause 9.7.5).
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // release, the RLC entity:
-    // - enters the NULL state; and
-    // - is considered as being terminated.
-    // Upon reception of a CRLC-RESUME-Req from upper layers, the RLC entity:
-    // - enters the DATA_TRANSFER_READY state; and
-    // - resumes the data transmission.
-    // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
-    // modification, the RLC entity:
-    // - stays in the LOCAL_SUSPEND state;
-    // - modifies only the protocol parameters and timers as indicated by
-    //   upper layers.
-    LOG_I(RLC, PROTOCOL_RLC_UM_CTXT_FMT" RLC_LOCAL_SUSPEND_STATE\n",
-          PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p));
-    /*if (data_indP.data.nb_elements > 0) {
-        LOG_D(RLC, "[FRAME %05d][%s][RLC_UM][MOD %02u/%02u][RB %02d] MAC_DATA_IND %d TBs\n", l_rlc_p->module_id, l_rlc_p->rb_id, ctxt_pP->frame, data_indP.data.nb_elements);
-        rlc_p[l_rlc_p->module_id].m_mscgen_trace_length = sprintf(rlc_p[l_rlc_p->module_id].m_mscgen_trace, "[MSC_MSG][FRAME %05d][MAC_%s][MOD %02d][][--- MAC_DATA_IND/ %d TB(s) ",
-            ctxt_pP->frame,
-            (ctxt_pP->enb_flag) ? "eNB":"UE",
-            l_rlc_p->module_id,
-            data_indP.data.nb_elements);
-
-        tb = data_indP.data.head;
-        while (tb != NULL) {
-            rlc_p[l_rlc_p->module_id].m_mscgen_trace_length += sprintf(&rlc_p[l_rlc_p->module_id].m_mscgen_trace[rlc_p[l_rlc_p->module_id].m_mscgen_trace_length], " SN %d %c%c%c %d Bytes ",
-                                                                (((struct mac_tb_ind *) (tb->data))->data_ptr[1]) +  (((uint16_t)((((struct mac_tb_ind *) (tb->data))->data_ptr[0]) & 0x03)) << 8),
-                                                                (((struct mac_tb_ind *) (tb->data))->data_ptr[0] & 0x10) ?  '}':'{',
-                                                                (((struct mac_tb_ind *) (tb->data))->data_ptr[0] & 0x08) ?  '{':'}',
-                                                                (((struct mac_tb_ind *) (tb->data))->data_ptr[0] & 0x04) ?  'E':'_',
-                                                                ((struct mac_tb_ind *) (tb->data))->size);
-            tb = tb->next;
-        }
-        rlc_p[l_rlc_p->module_id].m_mscgen_trace_length += sprintf(&rlc_p[l_rlc_p->module_id].m_mscgen_trace[rlc_p[l_rlc_p->module_id].m_mscgen_trace_length], " DROPPED RLC LOCAL SUSPEND STATE ---X][RLC_UM][MOD %02d][RB %02d]\n",
-            l_rlc_p->module_id,
-            l_rlc_p->rb_id);
-
-        rlc_p[l_rlc_p->module_id].m_mscgen_trace[rlc_p[l_rlc_p->module_id].m_mscgen_trace_length] = 0;
-        LOG_D(RLC, "%s", rlc_p[l_rlc_p->module_id].m_mscgen_trace);
-    }*/
-    list_free (&data_indP.data);
-    break;
-
-  default:
-    LOG_E(RLC, PROTOCOL_RLC_UM_CTXT_FMT" TX UNKNOWN PROTOCOL STATE %02X hex\n",
-          PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p),
-          l_rlc_p->protocol_state);
-    list_free (&data_indP.data);
+      rlc_um_receive (ctxt_pP, l_rlc_p, data_indP);
+      break;
+
+    case RLC_LOCAL_SUSPEND_STATE:
+      // from 3GPP TS 25.322 V9.2.0 p44
+      // In the LOCAL_SUSPEND state, the RLC entity is suspended, i.e. it does
+      // not send UMD PDUs with "Sequence Number" greater than or equal to a
+      // certain specified value (see subclause 9.7.5).
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // release, the RLC entity:
+      // - enters the NULL state; and
+      // - is considered as being terminated.
+      // Upon reception of a CRLC-RESUME-Req from upper layers, the RLC entity:
+      // - enters the DATA_TRANSFER_READY state; and
+      // - resumes the data transmission.
+      // Upon reception of a CRLC-CONFIG-Req from upper layer indicating
+      // modification, the RLC entity:
+      // - stays in the LOCAL_SUSPEND state;
+      // - modifies only the protocol parameters and timers as indicated by
+      //   upper layers.
+      LOG_I(RLC, PROTOCOL_RLC_UM_CTXT_FMT" RLC_LOCAL_SUSPEND_STATE\n",
+            PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p));
+      list_free (&data_indP.data);
+      break;
+
+    default:
+      LOG_E(RLC, PROTOCOL_RLC_UM_CTXT_FMT" TX UNKNOWN PROTOCOL STATE %02X hex\n",
+            PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p),
+            l_rlc_p->protocol_state);
+      list_free (&data_indP.data);
   }
 }
 
 //-----------------------------------------------------------------------------
 struct mac_status_resp
-rlc_um_mac_status_indication (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP, uint16_t tbs_sizeP, struct mac_status_ind tx_statusP,const eNB_flag_t enb_flagP)
-{
+rlc_um_mac_status_indication (const protocol_ctxt_t *const ctxt_pP, void *rlc_pP, uint16_t tbs_sizeP, struct mac_status_ind tx_statusP,const eNB_flag_t enb_flagP) {
   struct mac_status_resp status_resp;
   uint16_t  sdu_size = 0;
   uint16_t  sdu_remaining_size = 0;
   int32_t diff_time=0;
-  rlc_um_entity_t   *rlc_p = NULL;
+  rlc_um_entity_t   *rlc_p = (rlc_um_entity_t *) rlc_pP;
   mem_block_t       *mb_p = NULL;
-
   status_resp.buffer_occupancy_in_pdus         = 0;
   status_resp.buffer_occupancy_in_bytes        = 0;
   status_resp.head_sdu_remaining_size_to_send  = 0;
@@ -443,31 +384,24 @@ rlc_um_mac_status_indication (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP
   status_resp.head_sdu_is_segmented            = 0;
 
   if (rlc_pP) {
-
-    rlc_p = (rlc_um_entity_t *) rlc_pP;
     status_resp.rlc_info.rlc_protocol_state      = rlc_p->protocol_state;
     rlc_um_check_timer_dar_time_out(ctxt_pP, rlc_p);
-
     rlc_p->nb_bytes_requested_by_mac = tbs_sizeP;
-
     status_resp.buffer_occupancy_in_bytes = rlc_um_get_buffer_occupancy (rlc_p);
 
     if ((status_resp.buffer_occupancy_in_bytes > 0) && ((mb_p = list_get_head(&rlc_p->input_sdus)) != NULL)) {
-
       if (enb_flagP == ENB_FLAG_YES) {
-    	  /* For eNB: add minimum RLC UM header size for the scheduler */
-    	  /* For UE : RLC header part is not taken into account for BSR reporting (cf 36.321) */
-          status_resp.buffer_occupancy_in_bytes += rlc_p->tx_header_min_length_in_bytes;
+        /* For eNB: add minimum RLC UM header size for the scheduler */
+        /* For UE : RLC header part is not taken into account for BSR reporting (cf 36.321) */
+        status_resp.buffer_occupancy_in_bytes += rlc_p->tx_header_min_length_in_bytes;
       }
-      status_resp.buffer_occupancy_in_pdus = rlc_p->input_sdus.nb_elements;
 
+      status_resp.buffer_occupancy_in_pdus = rlc_p->input_sdus.nb_elements;
       diff_time =   ctxt_pP->frame - ((struct rlc_um_tx_sdu_management *)mb_p->data)->sdu_creation_time;
       status_resp.head_sdu_creation_time = (diff_time > 0 ) ? (uint32_t) diff_time :  (uint32_t)(0xffffffff - diff_time + ctxt_pP->frame) ;
       //msg("rlc_p status for ctxt_pP->frame %d diff time %d resp %d\n", ctxt_pP->frame, diff_time,status_resp.head_sdu_creation_time) ;
-
       sdu_size            = ((struct rlc_um_tx_sdu_management *) mb_p->data)->sdu_size;
       sdu_remaining_size  = ((struct rlc_um_tx_sdu_management *) mb_p->data)->sdu_remaining_size;
-
       status_resp.head_sdu_remaining_size_to_send = sdu_remaining_size;
 
       if (sdu_size == sdu_remaining_size)  {
@@ -475,35 +409,31 @@ rlc_um_mac_status_indication (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP
       } else {
         status_resp.head_sdu_is_segmented = 1;
       }
-
     } else {
     }
 
-    //msg("[FRAME %05d][%s][RLC_UM][MOD %02u/%02u][RB %02d] MAC_STATUS_INDICATION BO = %d\n", ((rlc_um_entity_t *) rlc_pP)->module_id, ((rlc_um_entity_t *) rlc_pP)->rb_id, status_resp.buffer_occupancy_in_bytes);
+    status_resp.rlc_info.rlc_protocol_state = rlc_p->protocol_state;
 
-    status_resp.rlc_info.rlc_protocol_state = ((rlc_um_entity_t *) rlc_pP)->protocol_state;
-#if TRACE_RLC_UM_TX_STATUS
+    if (LOG_DEBUGFLAG(DEBUG_RLC)) {
+      if (( rlc_p->rb_id > 0) && (status_resp.buffer_occupancy_in_bytes > 0)) {
+        LOG_UI(RLC, PROTOCOL_RLC_UM_CTXT_FMT"MAC_STATUS_INDICATION (DATA) %d bytes requested -> %d bytes available\n",
+               PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
+               tbs_sizeP,
+               status_resp.buffer_occupancy_in_bytes);
 
-    if ((((rlc_um_entity_t *) rlc_pP)->rb_id > 0) && (status_resp.buffer_occupancy_in_bytes > 0)) {
-      LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_STATUS_INDICATION (DATA) %d bytes requested -> %d bytes available\n",
-            PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_pP),
-            tbs_sizeP,
-            status_resp.buffer_occupancy_in_bytes);
-
-      if ((tx_statusP.tx_status == MAC_TX_STATUS_SUCCESSFUL) && (tx_statusP.no_pdu)) {
-        LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_STATUS_INDICATION  TX STATUS   SUCCESSFUL %d PDUs\n",
-              PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_pP),
-              tx_statusP.no_pdu);
-      }
+        if ((tx_statusP.tx_status == MAC_TX_STATUS_SUCCESSFUL) && (tx_statusP.no_pdu)) {
+          LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_STATUS_INDICATION  TX STATUS   SUCCESSFUL %d PDUs\n",
+                PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
+                tx_statusP.no_pdu);
+        }
 
-      if ((tx_statusP.tx_status == MAC_TX_STATUS_UNSUCCESSFUL) && (tx_statusP.no_pdu)) {
-        LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_STATUS_INDICATION  TX STATUS UNSUCCESSFUL %d PDUs\n",
-              PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_pP),
-              tx_statusP.no_pdu);
+        if ((tx_statusP.tx_status == MAC_TX_STATUS_UNSUCCESSFUL) && (tx_statusP.no_pdu)) {
+          LOG_UI(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_STATUS_INDICATION  TX STATUS UNSUCCESSFUL %d PDUs\n",
+                 PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
+                 tx_statusP.no_pdu);
+        }
       }
     }
-
-#endif
   } else {
     LOG_E(RLC, "[RLC] rlc_um_mac_status_indication RLC NULL!!!\n");
   }
@@ -514,44 +444,34 @@ rlc_um_mac_status_indication (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP
 //-----------------------------------------------------------------------------
 void
 rlc_um_set_nb_bytes_requested_by_mac (
-  void *				rlc_pP,
-  const tb_size_t		tb_sizeP
-)
-{
-	((rlc_um_entity_t *) rlc_pP)->nb_bytes_requested_by_mac = tb_sizeP;
+  void         *rlc_pP,
+  const tb_size_t   tb_sizeP
+) {
+  ((rlc_um_entity_t *) rlc_pP)->nb_bytes_requested_by_mac = tb_sizeP;
 }
 
 //-----------------------------------------------------------------------------
 struct mac_data_req
-rlc_um_mac_data_request (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP,const eNB_flag_t  enb_flagP)
-{
+rlc_um_mac_data_request (const protocol_ctxt_t *const ctxt_pP, void *rlc_pP,const eNB_flag_t  enb_flagP) {
   struct mac_data_req data_req;
   int16_t               tb_size_in_bytes;
   mem_block_t        *tb_p;
-#if TRACE_RLC_UM_PDU || MESSAGE_CHART_GENERATOR
   char  message_string[10000];
   size_t              message_string_size = 0;
-#   if ENABLE_ITTI
-  MessageDef         *msg_p;
-#   endif
   rlc_um_pdu_info_t   pdu_info;
   int                 octet_index, index;
-#endif
   rlc_um_entity_t *l_rlc_p = (rlc_um_entity_t *) rlc_pP;
-
   rlc_um_get_pdus(ctxt_pP, l_rlc_p);
-
   list_init (&data_req.data, NULL);
   list_add_list (&l_rlc_p->pdus_to_mac_layer, &data_req.data);
 
-
   if (enb_flagP) {
-	  // redundant in UE MAC Tx processing and not used in eNB scheduler ...
-	  data_req.buffer_occupancy_in_bytes = rlc_um_get_buffer_occupancy (l_rlc_p);
+    // redundant in UE MAC Tx processing and not used in eNB scheduler ...
+    data_req.buffer_occupancy_in_bytes = rlc_um_get_buffer_occupancy (l_rlc_p);
 
-	  if (data_req.buffer_occupancy_in_bytes > 0) {
-	    data_req.buffer_occupancy_in_bytes += l_rlc_p->tx_header_min_length_in_bytes;
-	  }
+    if (data_req.buffer_occupancy_in_bytes > 0) {
+      data_req.buffer_occupancy_in_bytes += l_rlc_p->tx_header_min_length_in_bytes;
+    }
   }
 
   data_req.rlc_info.rlc_protocol_state = l_rlc_p->protocol_state;
@@ -561,7 +481,6 @@ rlc_um_mac_data_request (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP,cons
 
     while (tb_p != NULL) {
       tb_size_in_bytes   = ((struct mac_tb_req *) (tb_p->data))->tb_size;
-
       LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" MAC_DATA_REQUEST  TB SIZE %u\n",
             PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,l_rlc_p),
             ((struct mac_tb_req *) (tb_p->data))->tb_size);
@@ -574,156 +493,130 @@ rlc_um_mac_data_request (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP,cons
         tb_p = tb_p->next;
         continue;
       }
-        
-#if TRACE_RLC_UM_PDU || MESSAGE_CHART_GENERATOR
-      rlc_um_get_pdu_infos(ctxt_pP, l_rlc_p,(rlc_um_pdu_sn_10_t*) ((struct mac_tb_req*) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
-#endif
-#if MESSAGE_CHART_GENERATOR
-      message_string_size = 0;
-      message_string_size += sprintf(&message_string[message_string_size],
-                                     MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT" DATA SN %u size %u FI %u",
-                                     MSC_AS_TIME_ARGS(ctxt_pP),
-                                     PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
-                                     pdu_info.sn,
-                                     tb_size_in_bytes,
-                                     pdu_info.fi);
-
-      if (pdu_info.e) {
-        message_string_size += sprintf(&message_string[message_string_size], "|HE:");
-
-        for (index=0; index < pdu_info.num_li; index++) {
-          message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
-        }
-      }
 
-      MSC_LOG_TX_MESSAGE(
-        (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
-        (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
-        (const char*)pdu_info.payload,
-        pdu_info.payload_size,
-        message_string);
+      if (MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC) ) {
+        rlc_um_get_pdu_infos(ctxt_pP, l_rlc_p,(rlc_um_pdu_sn_10_t *) ((struct mac_tb_req *) (tb_p->data))->data_ptr, tb_size_in_bytes, &pdu_info, l_rlc_p->rx_sn_length);
 
-#endif
-#if TRACE_RLC_UM_PDU
-      message_string_size = 0;
-      message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", l_rlc_p->rb_id);
-      message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
-      message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
-      message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
-      message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC UM DATA IND: UMD PDU\n\n");
-
-      message_string_size += sprintf(&message_string[message_string_size], "Header      :\n");
-      message_string_size += sprintf(&message_string[message_string_size], "  FI        : %u\n", pdu_info.fi);
-      message_string_size += sprintf(&message_string[message_string_size], "  E         : %u\n", pdu_info.e);
-      message_string_size += sprintf(&message_string[message_string_size], "  SN        : %u\n", pdu_info.sn);
-
-      if (pdu_info.e) {
-        message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
-
-        for (index=0; index < pdu_info.num_li; index++) {
-          message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
-        }
-      }
+        if(MESSAGE_CHART_GENERATOR) {
+          message_string_size = 0;
+          message_string_size += sprintf(&message_string[message_string_size],
+                                         MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT" DATA SN %u size %u FI %u",
+                                         MSC_AS_TIME_ARGS(ctxt_pP),
+                                         PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, l_rlc_p),
+                                         pdu_info.sn,
+                                         tb_size_in_bytes,
+                                         pdu_info.fi);
 
-      message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
-      message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-      message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
-      message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+          if (pdu_info.e) {
+            message_string_size += sprintf(&message_string[message_string_size], "|HE:");
 
-      for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
-        if ((octet_index % 16) == 0) {
-          if (octet_index != 0) {
-            message_string_size += sprintf(&message_string[message_string_size], " |\n");
+            for (index=0; index < pdu_info.num_li; index++) {
+              message_string_size += sprintf(&message_string[message_string_size], " LI %u", pdu_info.li_list[index]);
+            }
           }
 
-          message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+          MSC_LOG_TX_MESSAGE(
+            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
+            (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_UE:MSC_RLC_ENB,
+            (const char *)pdu_info.payload,
+            pdu_info.payload_size,
+            message_string);
         }
 
-        /*
-         * Print every single octet in hexadecimal form
-         */
-        message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
-        /*
-         * Align newline and pipes according to the octets in groups of 2
-         */
-      }
+        if(LOG_DEBUGFLAG(DEBUG_RLC)) {
+          message_string_size = 0;
+          message_string_size += sprintf(&message_string[message_string_size], "Bearer	  : %u\n", l_rlc_p->rb_id);
+          message_string_size += sprintf(&message_string[message_string_size], "PDU size    : %u\n", tb_size_in_bytes);
+          message_string_size += sprintf(&message_string[message_string_size], "Header size : %u\n", pdu_info.header_size);
+          message_string_size += sprintf(&message_string[message_string_size], "Payload size: %u\n", pdu_info.payload_size);
+          message_string_size += sprintf(&message_string[message_string_size], "PDU type    : RLC UM DATA IND: UMD PDU\n\n");
+          message_string_size += sprintf(&message_string[message_string_size], "Header	  :\n");
+          message_string_size += sprintf(&message_string[message_string_size], "  FI	  : %u\n", pdu_info.fi);
+          message_string_size += sprintf(&message_string[message_string_size], "  E	  : %u\n", pdu_info.e);
+          message_string_size += sprintf(&message_string[message_string_size], "  SN	  : %u\n", pdu_info.sn);
+
+          if (pdu_info.e) {
+            message_string_size += sprintf(&message_string[message_string_size], "\nHeader extension  : \n");
+
+            for (index=0; index < pdu_info.num_li; index++) {
+              message_string_size += sprintf(&message_string[message_string_size], "  LI        : %u\n", pdu_info.li_list[index]);
+            }
+          }
 
-      /*
-       * Append enough spaces and put final pipe
-       */
-      for (index = octet_index; index < 16; ++index) {
-        message_string_size += sprintf(&message_string[message_string_size], "   ");
-      }
+          message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
+          message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+          message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
+          message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
 
-      message_string_size += sprintf(&message_string[message_string_size], " |\n");
+          for (octet_index = 0; octet_index < pdu_info.payload_size; octet_index++) {
+            if ((octet_index % 16) == 0) {
+              if (octet_index != 0) {
+                message_string_size += sprintf(&message_string[message_string_size], " |\n");
+              }
 
-#   if ENABLE_ITTI
-      msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_UM_DATA_PDU_REQ, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rlc_um_data_pdu_req.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rlc_um_data_pdu_req.text, message_string, message_string_size);
+              message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+            }
 
-      itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
+            /*
+             * Print every single octet in hexadecimal form
+             */
+            message_string_size += sprintf(&message_string[message_string_size], " %02x", pdu_info.payload[octet_index]);
+            /*
+             * Align newline and pipes according to the octets in groups of 2
+             */
+          }
+
+          /*
+           * Append enough spaces and put final pipe
+           */
+          for (index = octet_index; index < 16; ++index) {
+            message_string_size += sprintf(&message_string[message_string_size], "   ");
+          }
+
+          message_string_size += sprintf(&message_string[message_string_size], " |\n");
+          LOG_UI(RLC, "%s\n", message_string);
+        } /*LOG_DEBUGFLAG(DEBUG_RLC) */
+      } /* MESSAGE_CHART_GENERATOR || LOG_DEBUGFLAG(DEBUG_RLC) */
 
-# else
-      LOG_T(RLC, "%s", message_string);
-# endif
-#endif
       tb_p = tb_p->next;
-    }
-  }
+    } /* while (tb_p != NULL) */
+  } /* if (data_req.data.nb_elements > 0) */
 
   return data_req;
 }
 
 //-----------------------------------------------------------------------------
 void
-rlc_um_mac_data_indication (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP, struct mac_data_ind data_indP)
-{
+rlc_um_mac_data_indication (const protocol_ctxt_t *const ctxt_pP, void *rlc_pP, struct mac_data_ind data_indP) {
   rlc_um_rx (ctxt_pP, rlc_pP, data_indP);
   rlc_um_check_timer_dar_time_out(ctxt_pP, rlc_pP);
 }
 
 //-----------------------------------------------------------------------------
 void
-rlc_um_data_req (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP, mem_block_t *sdu_pP)
-{
+rlc_um_data_req (const protocol_ctxt_t *const ctxt_pP, void *rlc_pP, mem_block_t *sdu_pP) {
   rlc_um_entity_t *rlc_p = (rlc_um_entity_t *) rlc_pP;
-
-#if TRACE_RLC_UM_PDU
-#if ENABLE_ITTI
-  MessageDef          *msg_p;
-#   endif
   uint16_t             data_offset;
   uint16_t             data_size;
   size_t               message_string_size = 0;
   int                  octet_index, index;
   char                 message_string[7000];
-#endif
-
   LOG_D(RLC, PROTOCOL_RLC_UM_CTXT_FMT" RLC_UM_DATA_REQ size %d Bytes, BO %d , NB SDU %d\n",
         PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
         ((struct rlc_um_data_req *) (sdu_pP->data))->data_size,
         rlc_p->buffer_occupancy,
         rlc_p->input_sdus.nb_elements);
-
-  /*rlc_util_print_hex_octets(
-      RLC,
-      (uint8_t*)&sdu_pP->data[sizeof (struct rlc_um_data_req_alloc)],
-      ((struct rlc_um_data_req *) (sdu_pP->data))->data_size);*/
-
   // IMPORTANT : do not change order of affectations
   ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_size = ((struct rlc_um_data_req *) (sdu_pP->data))->data_size;
   //rlc_p->nb_sdu += 1;
-  ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->first_byte = (uint8_t*)&sdu_pP->data[sizeof (struct rlc_um_data_req_alloc)];
+  ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->first_byte = (uint8_t *)&sdu_pP->data[sizeof (struct rlc_um_data_req_alloc)];
   ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_remaining_size = ((struct rlc_um_tx_sdu_management *)
       (sdu_pP->data))->sdu_size;
   ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_segmented_size = 0;
   ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_creation_time = ctxt_pP->frame;
   //rlc_p->next_sdu_index = (rlc_p->next_sdu_index + 1) % rlc_p->size_input_sdus_buffer;
-
   rlc_p->stat_tx_pdcp_sdu   += 1;
   rlc_p->stat_tx_pdcp_bytes += ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_size;
-
   MSC_LOG_RX_MESSAGE(
     (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,
     (ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_PDCP_ENB:MSC_PDCP_UE,
@@ -732,74 +625,61 @@ rlc_um_data_req (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP, mem_block_t
     MSC_AS_TIME_FMT" "PROTOCOL_RLC_UM_MSC_FMT" DATA-REQ size %u",
     MSC_AS_TIME_ARGS(ctxt_pP),
     PROTOCOL_RLC_UM_MSC_ARGS(ctxt_pP, rlc_p),
-    ((struct rlc_um_tx_sdu_management*) (sdu_pP->data))->sdu_size);
-
-
-#   if TRACE_RLC_UM_PDU
-  data_offset = sizeof (struct rlc_um_data_req_alloc);
-  data_size   = ((struct rlc_um_tx_sdu_management *)(sdu_pP->data))->sdu_size;
-  message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", rlc_p->rb_id);
-  message_string_size += sprintf(&message_string[message_string_size], "SDU size    : %u\n", data_size);
-
-  message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
-  message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
-  message_string_size += sprintf(&message_string[message_string_size], "      |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
-  message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+    ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_size);
+
+  if (LOG_DEBUGFLAG(DEBUG_RLC) ) {
+    data_offset = sizeof (struct rlc_um_data_req_alloc);
+    data_size = ((struct rlc_um_tx_sdu_management *)(sdu_pP->data))->sdu_size;
+    message_string_size += sprintf(&message_string[message_string_size], "Bearer      : %u\n", rlc_p->rb_id);
+    message_string_size += sprintf(&message_string[message_string_size], "SDU size    : %u\n", data_size);
+    message_string_size += sprintf(&message_string[message_string_size], "\nPayload  : \n");
+    message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+    message_string_size += sprintf(&message_string[message_string_size], "	|  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
+    message_string_size += sprintf(&message_string[message_string_size], "------+-------------------------------------------------|\n");
+
+    for (octet_index = 0; octet_index < data_size; octet_index++) {
+      if ((octet_index % 16) == 0) {
+        if (octet_index != 0) {
+          message_string_size += sprintf(&message_string[message_string_size], " |\n");
+        }
 
-  for (octet_index = 0; octet_index < data_size; octet_index++) {
-    if ((octet_index % 16) == 0) {
-      if (octet_index != 0) {
-        message_string_size += sprintf(&message_string[message_string_size], " |\n");
+        message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
       }
 
-      message_string_size += sprintf(&message_string[message_string_size], " %04d |", octet_index);
+      /*
+       * Print every single octet in hexadecimal form
+       */
+      message_string_size += sprintf(&message_string[message_string_size], " %02x", ((uint8_t *)(&sdu_pP->data[data_offset]))[octet_index]);
+      /*
+       * Align newline and pipes according to the octets in groups of 2
+       */
     }
 
     /*
-     * Print every single octet in hexadecimal form
-     */
-    message_string_size += sprintf(&message_string[message_string_size], " %02x", ((uint8_t*)(&sdu_pP->data[data_offset]))[octet_index]);
-    /*
-     * Align newline and pipes according to the octets in groups of 2
+     * Append enough spaces and put final pipe
      */
-  }
+    for (index = octet_index; index < 16; ++index) {
+      message_string_size += sprintf(&message_string[message_string_size], "   ");
+    }
 
-  /*
-   * Append enough spaces and put final pipe
-   */
-  for (index = octet_index; index < 16; ++index) {
-    message_string_size += sprintf(&message_string[message_string_size], "   ");
+    LOG_UI(RLC, "%s|\n", message_string);
   }
 
-  message_string_size += sprintf(&message_string[message_string_size], " |\n");
-
-#   if ENABLE_ITTI
-  msg_p = itti_alloc_new_message_sized (ctxt_pP->enb_flag > 0 ? TASK_RLC_ENB:TASK_RLC_UE , RLC_UM_SDU_REQ, message_string_size + sizeof (IttiMsgText));
-  msg_p->ittiMsg.rlc_um_sdu_req.size = message_string_size;
-  memcpy(&msg_p->ittiMsg.rlc_um_sdu_req.text, message_string, message_string_size);
-
-  itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-
-#else
-  LOG_T(RLC, "%s", message_string);
-#endif
-#   endif
   RLC_UM_MUTEX_LOCK(&rlc_p->lock_input_sdus, ctxt_pP, rlc_p);
   rlc_p->buffer_occupancy += ((struct rlc_um_tx_sdu_management *) (sdu_pP->data))->sdu_size;
   list_add_tail_eurecom(sdu_pP, &rlc_p->input_sdus);
   RLC_UM_MUTEX_UNLOCK(&rlc_p->lock_input_sdus);
-#if DEBUG_RLC_CONGESTION
-#if MESSAGE_CHART_GENERATOR
-  if (rlc_p->buffer_occupancy > 4096) {
+
+  if (MESSAGE_CHART_GENERATOR) {
+    if (rlc_p->buffer_occupancy > 4096) {
       MSC_LOG_EVENT((ctxt_pP->enb_flag == ENB_FLAG_YES) ? MSC_RLC_ENB:MSC_RLC_UE,\
-                             "0 "PROTOCOL_RLC_AM_MSC_FMT" BO %u bytes",\
-                             PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_pP), rlc_p->buffer_occupancy);
+                    "0 "PROTOCOL_RLC_AM_MSC_FMT" BO %u bytes",\
+                    PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP,rlc_p), rlc_p->buffer_occupancy);
+    }
   }
-#else
-  LOG_W(RLC, PROTOCOL_RLC_UM_CTXT_FMT" BO %d , NB SDU %d\n",
+
+  LOG_T(RLC, PROTOCOL_RLC_UM_CTXT_FMT" BO %d , NB SDU %d\n",
         PROTOCOL_RLC_UM_CTXT_ARGS(ctxt_pP,rlc_p),
         rlc_p->buffer_occupancy,
         rlc_p->input_sdus.nb_elements);
-#endif
-#endif
 }
diff --git a/openair2/LAYER2/RLC/rlc.c b/openair2/LAYER2/RLC/rlc.c
index 428f3c19c714e4000f7e8cc349479fa8440c03f0..e5d9977de75b3f0a16570cada2921ad32355d80d 100644
--- a/openair2/LAYER2/RLC/rlc.c
+++ b/openair2/LAYER2/RLC/rlc.c
@@ -38,19 +38,19 @@
 #include "assertions.h"
 
 extern boolean_t pdcp_data_ind(
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const srb_flag_t srb_flagP,
   const MBMS_flag_t MBMS_flagP,
   const rb_id_t rb_idP,
   const sdu_size_t sdu_buffer_sizeP,
-  mem_block_t* const sdu_buffer_pP);
+  mem_block_t *const sdu_buffer_pP);
 
 #define DEBUG_RLC_PDCP_INTERFACE 1
 //#define TRACE_RLC_PAYLOAD 1
 #define DEBUG_RLC_DATA_REQ 1
 
 //-----------------------------------------------------------------------------
-void rlc_util_print_hex_octets(comp_name_t componentP, unsigned char* dataP, const signed long sizeP)
+void rlc_util_print_hex_octets(comp_name_t componentP, unsigned char *dataP, const signed long sizeP)
 //-----------------------------------------------------------------------------
 {
   unsigned long octet_index = 0;
@@ -59,9 +59,6 @@ void rlc_util_print_hex_octets(comp_name_t componentP, unsigned char* dataP, con
     return;
   }
 
-
-
-
   LOG_T(componentP, "+-----+-------------------------------------------------+\n");
   LOG_T(componentP, "|     |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\n");
   LOG_T(componentP, "+-----+-------------------------------------------------+\n");
@@ -98,38 +95,37 @@ void rlc_util_print_hex_octets(comp_name_t componentP, unsigned char* dataP, con
 
 //-----------------------------------------------------------------------------
 rlc_op_status_t rlc_stat_req     (
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const srb_flag_t    srb_flagP,
   const rb_id_t       rb_idP,
-  unsigned int* stat_rlc_mode,
-  unsigned int* stat_tx_pdcp_sdu,
-  unsigned int* stat_tx_pdcp_bytes,
-  unsigned int* stat_tx_pdcp_sdu_discarded,
-  unsigned int* stat_tx_pdcp_bytes_discarded,
-  unsigned int* stat_tx_data_pdu,
-  unsigned int* stat_tx_data_bytes,
-  unsigned int* stat_tx_retransmit_pdu_by_status,
-  unsigned int* stat_tx_retransmit_bytes_by_status,
-  unsigned int* stat_tx_retransmit_pdu,
-  unsigned int* stat_tx_retransmit_bytes,
-  unsigned int* stat_tx_control_pdu,
-  unsigned int* stat_tx_control_bytes,
-  unsigned int* stat_rx_pdcp_sdu,
-  unsigned int* stat_rx_pdcp_bytes,
-  unsigned int* stat_rx_data_pdus_duplicate,
-  unsigned int* stat_rx_data_bytes_duplicate,
-  unsigned int* stat_rx_data_pdu,
-  unsigned int* stat_rx_data_bytes,
-  unsigned int* stat_rx_data_pdu_dropped,
-  unsigned int* stat_rx_data_bytes_dropped,
-  unsigned int* stat_rx_data_pdu_out_of_window,
-  unsigned int* stat_rx_data_bytes_out_of_window,
-  unsigned int* stat_rx_control_pdu,
-  unsigned int* stat_rx_control_bytes,
-  unsigned int* stat_timer_reordering_timed_out,
-  unsigned int* stat_timer_poll_retransmit_timed_out,
-  unsigned int* stat_timer_status_prohibit_timed_out)
-{
+  unsigned int *stat_rlc_mode,
+  unsigned int *stat_tx_pdcp_sdu,
+  unsigned int *stat_tx_pdcp_bytes,
+  unsigned int *stat_tx_pdcp_sdu_discarded,
+  unsigned int *stat_tx_pdcp_bytes_discarded,
+  unsigned int *stat_tx_data_pdu,
+  unsigned int *stat_tx_data_bytes,
+  unsigned int *stat_tx_retransmit_pdu_by_status,
+  unsigned int *stat_tx_retransmit_bytes_by_status,
+  unsigned int *stat_tx_retransmit_pdu,
+  unsigned int *stat_tx_retransmit_bytes,
+  unsigned int *stat_tx_control_pdu,
+  unsigned int *stat_tx_control_bytes,
+  unsigned int *stat_rx_pdcp_sdu,
+  unsigned int *stat_rx_pdcp_bytes,
+  unsigned int *stat_rx_data_pdus_duplicate,
+  unsigned int *stat_rx_data_bytes_duplicate,
+  unsigned int *stat_rx_data_pdu,
+  unsigned int *stat_rx_data_bytes,
+  unsigned int *stat_rx_data_pdu_dropped,
+  unsigned int *stat_rx_data_bytes_dropped,
+  unsigned int *stat_rx_data_pdu_out_of_window,
+  unsigned int *stat_rx_data_bytes_out_of_window,
+  unsigned int *stat_rx_control_pdu,
+  unsigned int *stat_rx_control_bytes,
+  unsigned int *stat_timer_reordering_timed_out,
+  unsigned int *stat_timer_poll_retransmit_timed_out,
+  unsigned int *stat_timer_status_prohibit_timed_out) {
   //-----------------------------------------------------------------------------
   rlc_mode_t             rlc_mode        = RLC_MODE_NONE;
   rlc_union_t           *rlc_union_p     = NULL;
@@ -137,182 +133,183 @@ rlc_op_status_t rlc_stat_req     (
   hashtable_rc_t         h_rc;
 
   //AssertFatal (rb_idP < NB_RB_MAX, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX);
-	if(rb_idP >= NB_RB_MAX){
-		LOG_E(RLC, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX);
-		return RLC_OP_STATUS_BAD_PARAMETER;
-	}
-	
+  if(rb_idP >= NB_RB_MAX) {
+    LOG_E(RLC, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX);
+    return RLC_OP_STATUS_BAD_PARAMETER;
+  }
+
   key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
-  h_rc = hashtable_get(rlc_coll_p, key, (void**)&rlc_union_p);
+  h_rc = hashtable_get(rlc_coll_p, key, (void **)&rlc_union_p);
 
   if (h_rc == HASH_TABLE_OK) {
     rlc_mode = rlc_union_p->mode;
   }
+
   *stat_rlc_mode                     = rlc_mode;
+
   switch (rlc_mode) {
-  case RLC_MODE_NONE:
-    *stat_tx_pdcp_sdu                     = 0;
-    *stat_tx_pdcp_bytes                   = 0;
-    *stat_tx_pdcp_sdu_discarded           = 0;
-    *stat_tx_pdcp_bytes_discarded         = 0;
-    *stat_tx_data_pdu                     = 0;
-    *stat_tx_data_bytes                   = 0;
-    *stat_tx_retransmit_pdu_by_status     = 0;
-    *stat_tx_retransmit_bytes_by_status   = 0;
-    *stat_tx_retransmit_pdu               = 0;
-    *stat_tx_retransmit_bytes             = 0;
-    *stat_tx_control_pdu                  = 0;
-    *stat_tx_control_bytes                = 0;
-    *stat_rx_pdcp_sdu                     = 0;
-    *stat_rx_pdcp_bytes                   = 0;
-    *stat_rx_data_pdus_duplicate          = 0;
-    *stat_rx_data_bytes_duplicate         = 0;
-    *stat_rx_data_pdu                     = 0;
-    *stat_rx_data_bytes                   = 0;
-    *stat_rx_data_pdu_dropped             = 0;
-    *stat_rx_data_bytes_dropped           = 0;
-    *stat_rx_data_pdu_out_of_window       = 0;
-    *stat_rx_data_bytes_out_of_window     = 0;
-    *stat_rx_control_pdu                  = 0;
-    *stat_rx_control_bytes                = 0;
-    *stat_timer_reordering_timed_out      = 0;
-    *stat_timer_poll_retransmit_timed_out = 0;
-    *stat_timer_status_prohibit_timed_out = 0;
-    return RLC_OP_STATUS_BAD_PARAMETER;
-    break;
-
-  case RLC_MODE_AM:
-    rlc_am_stat_req(ctxt_pP,
-                    &rlc_union_p->rlc.am,
-                    stat_tx_pdcp_sdu,
-                    stat_tx_pdcp_bytes,
-                    stat_tx_pdcp_sdu_discarded,
-                    stat_tx_pdcp_bytes_discarded,
-                    stat_tx_data_pdu,
-                    stat_tx_data_bytes,
-                    stat_tx_retransmit_pdu_by_status,
-                    stat_tx_retransmit_bytes_by_status,
-                    stat_tx_retransmit_pdu,
-                    stat_tx_retransmit_bytes,
-                    stat_tx_control_pdu,
-                    stat_tx_control_bytes,
-                    stat_rx_pdcp_sdu,
-                    stat_rx_pdcp_bytes,
-                    stat_rx_data_pdus_duplicate,
-                    stat_rx_data_bytes_duplicate,
-                    stat_rx_data_pdu,
-                    stat_rx_data_bytes,
-                    stat_rx_data_pdu_dropped,
-                    stat_rx_data_bytes_dropped,
-                    stat_rx_data_pdu_out_of_window,
-                    stat_rx_data_bytes_out_of_window,
-                    stat_rx_control_pdu,
-                    stat_rx_control_bytes,
-                    stat_timer_reordering_timed_out,
-                    stat_timer_poll_retransmit_timed_out,
-                    stat_timer_status_prohibit_timed_out);
-    return RLC_OP_STATUS_OK;
-    break;
-
-  case RLC_MODE_UM:
-    *stat_tx_retransmit_pdu_by_status     = 0;
-    *stat_tx_retransmit_bytes_by_status   = 0;
-    *stat_tx_retransmit_pdu               = 0;
-    *stat_tx_retransmit_bytes             = 0;
-    *stat_tx_control_pdu                  = 0;
-    *stat_tx_control_bytes                = 0;
-    *stat_rx_data_pdu_dropped             = 0;
-    *stat_rx_data_bytes_dropped           = 0;
-    *stat_rx_data_pdu_out_of_window       = 0;
-    *stat_rx_data_bytes_out_of_window     = 0;
-    *stat_timer_poll_retransmit_timed_out = 0;
-    *stat_timer_status_prohibit_timed_out = 0;
-    rlc_um_stat_req (&rlc_union_p->rlc.um,
-                     stat_tx_pdcp_sdu,
-                     stat_tx_pdcp_bytes,
-                     stat_tx_pdcp_sdu_discarded,
-                     stat_tx_pdcp_bytes_discarded,
-                     stat_tx_data_pdu,
-                     stat_tx_data_bytes,
-                     stat_rx_pdcp_sdu,
-                     stat_rx_pdcp_bytes,
-                     stat_rx_data_pdus_duplicate,
-                     stat_rx_data_bytes_duplicate,
-                     stat_rx_data_pdu,
-                     stat_rx_data_bytes,
-                     stat_rx_data_pdu_dropped,
-                     stat_rx_data_bytes_dropped,
-                     stat_rx_data_pdu_out_of_window,
-                     stat_rx_data_bytes_out_of_window,
-                     stat_timer_reordering_timed_out);
-    return RLC_OP_STATUS_OK;
-    break;
-
-  case RLC_MODE_TM:
-    *stat_tx_pdcp_sdu                     = 0;
-    *stat_tx_pdcp_bytes                   = 0;
-    *stat_tx_pdcp_sdu_discarded           = 0;
-    *stat_tx_pdcp_bytes_discarded         = 0;
-    *stat_tx_data_pdu                     = 0;
-    *stat_tx_data_bytes                   = 0;
-    *stat_tx_retransmit_pdu_by_status     = 0;
-    *stat_tx_retransmit_bytes_by_status   = 0;
-    *stat_tx_retransmit_pdu               = 0;
-    *stat_tx_retransmit_bytes             = 0;
-    *stat_tx_control_pdu                  = 0;
-    *stat_tx_control_bytes                = 0;
-    *stat_rx_pdcp_sdu                     = 0;
-    *stat_rx_pdcp_bytes                   = 0;
-    *stat_rx_data_pdus_duplicate          = 0;
-    *stat_rx_data_bytes_duplicate         = 0;
-    *stat_rx_data_pdu                     = 0;
-    *stat_rx_data_bytes                   = 0;
-    *stat_rx_data_pdu_dropped             = 0;
-    *stat_rx_data_bytes_dropped           = 0;
-    *stat_rx_data_pdu_out_of_window       = 0;
-    *stat_rx_data_bytes_out_of_window     = 0;
-    *stat_rx_control_pdu                  = 0;
-    *stat_rx_control_bytes                = 0;
-    *stat_timer_reordering_timed_out      = 0;
-    *stat_timer_poll_retransmit_timed_out = 0;
-    *stat_timer_status_prohibit_timed_out = 0;
-    return RLC_OP_STATUS_BAD_PARAMETER;
-    break;
-
-  default:
-    *stat_tx_pdcp_sdu                     = 0;
-    *stat_tx_pdcp_bytes                   = 0;
-    *stat_tx_pdcp_sdu_discarded           = 0;
-    *stat_tx_pdcp_bytes_discarded         = 0;
-    *stat_tx_data_pdu                     = 0;
-    *stat_tx_data_bytes                   = 0;
-    *stat_tx_retransmit_pdu_by_status     = 0;
-    *stat_tx_retransmit_bytes_by_status   = 0;
-    *stat_tx_retransmit_pdu               = 0;
-    *stat_tx_retransmit_bytes             = 0;
-    *stat_tx_control_pdu                  = 0;
-    *stat_tx_control_bytes                = 0;
-    *stat_rx_pdcp_sdu                     = 0;
-    *stat_rx_pdcp_bytes                   = 0;
-    *stat_rx_data_pdus_duplicate          = 0;
-    *stat_rx_data_bytes_duplicate         = 0;
-    *stat_rx_data_pdu                     = 0;
-    *stat_rx_data_bytes                   = 0;
-    *stat_rx_data_pdu_dropped             = 0;
-    *stat_rx_data_bytes_dropped           = 0;
-    *stat_rx_data_pdu_out_of_window       = 0;
-    *stat_rx_data_bytes_out_of_window     = 0;
-    *stat_rx_control_pdu                  = 0;
-    *stat_rx_control_bytes                = 0;
-
-    *stat_timer_poll_retransmit_timed_out = 0;
-    *stat_timer_status_prohibit_timed_out = 0;
-    return RLC_OP_STATUS_BAD_PARAMETER;
+    case RLC_MODE_NONE:
+      *stat_tx_pdcp_sdu                     = 0;
+      *stat_tx_pdcp_bytes                   = 0;
+      *stat_tx_pdcp_sdu_discarded           = 0;
+      *stat_tx_pdcp_bytes_discarded         = 0;
+      *stat_tx_data_pdu                     = 0;
+      *stat_tx_data_bytes                   = 0;
+      *stat_tx_retransmit_pdu_by_status     = 0;
+      *stat_tx_retransmit_bytes_by_status   = 0;
+      *stat_tx_retransmit_pdu               = 0;
+      *stat_tx_retransmit_bytes             = 0;
+      *stat_tx_control_pdu                  = 0;
+      *stat_tx_control_bytes                = 0;
+      *stat_rx_pdcp_sdu                     = 0;
+      *stat_rx_pdcp_bytes                   = 0;
+      *stat_rx_data_pdus_duplicate          = 0;
+      *stat_rx_data_bytes_duplicate         = 0;
+      *stat_rx_data_pdu                     = 0;
+      *stat_rx_data_bytes                   = 0;
+      *stat_rx_data_pdu_dropped             = 0;
+      *stat_rx_data_bytes_dropped           = 0;
+      *stat_rx_data_pdu_out_of_window       = 0;
+      *stat_rx_data_bytes_out_of_window     = 0;
+      *stat_rx_control_pdu                  = 0;
+      *stat_rx_control_bytes                = 0;
+      *stat_timer_reordering_timed_out      = 0;
+      *stat_timer_poll_retransmit_timed_out = 0;
+      *stat_timer_status_prohibit_timed_out = 0;
+      return RLC_OP_STATUS_BAD_PARAMETER;
+      break;
+
+    case RLC_MODE_AM:
+      rlc_am_stat_req(ctxt_pP,
+                      &rlc_union_p->rlc.am,
+                      stat_tx_pdcp_sdu,
+                      stat_tx_pdcp_bytes,
+                      stat_tx_pdcp_sdu_discarded,
+                      stat_tx_pdcp_bytes_discarded,
+                      stat_tx_data_pdu,
+                      stat_tx_data_bytes,
+                      stat_tx_retransmit_pdu_by_status,
+                      stat_tx_retransmit_bytes_by_status,
+                      stat_tx_retransmit_pdu,
+                      stat_tx_retransmit_bytes,
+                      stat_tx_control_pdu,
+                      stat_tx_control_bytes,
+                      stat_rx_pdcp_sdu,
+                      stat_rx_pdcp_bytes,
+                      stat_rx_data_pdus_duplicate,
+                      stat_rx_data_bytes_duplicate,
+                      stat_rx_data_pdu,
+                      stat_rx_data_bytes,
+                      stat_rx_data_pdu_dropped,
+                      stat_rx_data_bytes_dropped,
+                      stat_rx_data_pdu_out_of_window,
+                      stat_rx_data_bytes_out_of_window,
+                      stat_rx_control_pdu,
+                      stat_rx_control_bytes,
+                      stat_timer_reordering_timed_out,
+                      stat_timer_poll_retransmit_timed_out,
+                      stat_timer_status_prohibit_timed_out);
+      return RLC_OP_STATUS_OK;
+      break;
+
+    case RLC_MODE_UM:
+      *stat_tx_retransmit_pdu_by_status     = 0;
+      *stat_tx_retransmit_bytes_by_status   = 0;
+      *stat_tx_retransmit_pdu               = 0;
+      *stat_tx_retransmit_bytes             = 0;
+      *stat_tx_control_pdu                  = 0;
+      *stat_tx_control_bytes                = 0;
+      *stat_rx_data_pdu_dropped             = 0;
+      *stat_rx_data_bytes_dropped           = 0;
+      *stat_rx_data_pdu_out_of_window       = 0;
+      *stat_rx_data_bytes_out_of_window     = 0;
+      *stat_timer_poll_retransmit_timed_out = 0;
+      *stat_timer_status_prohibit_timed_out = 0;
+      rlc_um_stat_req (&rlc_union_p->rlc.um,
+                       stat_tx_pdcp_sdu,
+                       stat_tx_pdcp_bytes,
+                       stat_tx_pdcp_sdu_discarded,
+                       stat_tx_pdcp_bytes_discarded,
+                       stat_tx_data_pdu,
+                       stat_tx_data_bytes,
+                       stat_rx_pdcp_sdu,
+                       stat_rx_pdcp_bytes,
+                       stat_rx_data_pdus_duplicate,
+                       stat_rx_data_bytes_duplicate,
+                       stat_rx_data_pdu,
+                       stat_rx_data_bytes,
+                       stat_rx_data_pdu_dropped,
+                       stat_rx_data_bytes_dropped,
+                       stat_rx_data_pdu_out_of_window,
+                       stat_rx_data_bytes_out_of_window,
+                       stat_timer_reordering_timed_out);
+      return RLC_OP_STATUS_OK;
+      break;
+
+    case RLC_MODE_TM:
+      *stat_tx_pdcp_sdu                     = 0;
+      *stat_tx_pdcp_bytes                   = 0;
+      *stat_tx_pdcp_sdu_discarded           = 0;
+      *stat_tx_pdcp_bytes_discarded         = 0;
+      *stat_tx_data_pdu                     = 0;
+      *stat_tx_data_bytes                   = 0;
+      *stat_tx_retransmit_pdu_by_status     = 0;
+      *stat_tx_retransmit_bytes_by_status   = 0;
+      *stat_tx_retransmit_pdu               = 0;
+      *stat_tx_retransmit_bytes             = 0;
+      *stat_tx_control_pdu                  = 0;
+      *stat_tx_control_bytes                = 0;
+      *stat_rx_pdcp_sdu                     = 0;
+      *stat_rx_pdcp_bytes                   = 0;
+      *stat_rx_data_pdus_duplicate          = 0;
+      *stat_rx_data_bytes_duplicate         = 0;
+      *stat_rx_data_pdu                     = 0;
+      *stat_rx_data_bytes                   = 0;
+      *stat_rx_data_pdu_dropped             = 0;
+      *stat_rx_data_bytes_dropped           = 0;
+      *stat_rx_data_pdu_out_of_window       = 0;
+      *stat_rx_data_bytes_out_of_window     = 0;
+      *stat_rx_control_pdu                  = 0;
+      *stat_rx_control_bytes                = 0;
+      *stat_timer_reordering_timed_out      = 0;
+      *stat_timer_poll_retransmit_timed_out = 0;
+      *stat_timer_status_prohibit_timed_out = 0;
+      return RLC_OP_STATUS_BAD_PARAMETER;
+      break;
+
+    default:
+      *stat_tx_pdcp_sdu                     = 0;
+      *stat_tx_pdcp_bytes                   = 0;
+      *stat_tx_pdcp_sdu_discarded           = 0;
+      *stat_tx_pdcp_bytes_discarded         = 0;
+      *stat_tx_data_pdu                     = 0;
+      *stat_tx_data_bytes                   = 0;
+      *stat_tx_retransmit_pdu_by_status     = 0;
+      *stat_tx_retransmit_bytes_by_status   = 0;
+      *stat_tx_retransmit_pdu               = 0;
+      *stat_tx_retransmit_bytes             = 0;
+      *stat_tx_control_pdu                  = 0;
+      *stat_tx_control_bytes                = 0;
+      *stat_rx_pdcp_sdu                     = 0;
+      *stat_rx_pdcp_bytes                   = 0;
+      *stat_rx_data_pdus_duplicate          = 0;
+      *stat_rx_data_bytes_duplicate         = 0;
+      *stat_rx_data_pdu                     = 0;
+      *stat_rx_data_bytes                   = 0;
+      *stat_rx_data_pdu_dropped             = 0;
+      *stat_rx_data_bytes_dropped           = 0;
+      *stat_rx_data_pdu_out_of_window       = 0;
+      *stat_rx_data_bytes_out_of_window     = 0;
+      *stat_rx_control_pdu                  = 0;
+      *stat_rx_control_bytes                = 0;
+      *stat_timer_poll_retransmit_timed_out = 0;
+      *stat_timer_status_prohibit_timed_out = 0;
+      return RLC_OP_STATUS_BAD_PARAMETER;
   }
 }
 
 //-----------------------------------------------------------------------------
-rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
+rlc_op_status_t rlc_data_req     (const protocol_ctxt_t *const ctxt_pP,
                                   const srb_flag_t   srb_flagP,
                                   const MBMS_flag_t  MBMS_flagP,
                                   const rb_id_t      rb_idP,
@@ -321,18 +318,16 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
                                   sdu_size_t   sdu_sizeP,
                                   mem_block_t *sdu_pP
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-                                  ,const uint32_t * const sourceL2Id
-                                  ,const uint32_t * const destinationL2Id
+  ,const uint32_t *const sourceL2Id
+  ,const uint32_t *const destinationL2Id
 #endif
-                                  )
-{
+                                 ) {
   //-----------------------------------------------------------------------------
   mem_block_t           *new_sdu_p    = NULL;
   rlc_mode_t             rlc_mode     = RLC_MODE_NONE;
   rlc_union_t           *rlc_union_p = NULL;
   hash_key_t             key         = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t         h_rc;
-
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
   rlc_mbms_id_t         *mbms_id_p  = NULL;
   logical_chan_id_t      log_ch_id  = 0;
@@ -351,32 +346,33 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
 #else
   AssertFatal(MBMS_flagP == 0, "MBMS_flagP %u", MBMS_flagP);
 #endif
-
 #if T_TRACER
+
   if (ctxt_pP->enb_flag)
     T(T_ENB_RLC_DL, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->rnti), T_INT(rb_idP), T_INT(sdu_sizeP));
+
 #endif
 
   if (MBMS_flagP) {
     //AssertFatal (rb_idP < NB_RB_MBMS_MAX, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MBMS_MAX);
-  	if(rb_idP >= NB_RB_MBMS_MAX){
-  		LOG_E(RLC, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MBMS_MAX);
-  		return RLC_OP_STATUS_BAD_PARAMETER;
-  	}
+    if(rb_idP >= NB_RB_MBMS_MAX) {
+      LOG_E(RLC, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MBMS_MAX);
+      return RLC_OP_STATUS_BAD_PARAMETER;
+    }
   } else {
     //AssertFatal (rb_idP < NB_RB_MAX, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX);
-  	if(rb_idP >= NB_RB_MAX){
-  		LOG_E(RLC, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX);
-  		return RLC_OP_STATUS_BAD_PARAMETER;
-  	}
+    if(rb_idP >= NB_RB_MAX) {
+      LOG_E(RLC, "RB id is too high (%u/%d)!\n", rb_idP, NB_RB_MAX);
+      return RLC_OP_STATUS_BAD_PARAMETER;
+    }
   }
 
   //DevAssert(sdu_pP != NULL);
-	if(sdu_pP == NULL){
-		LOG_E(RLC, "sdu_pP == NULL\n");
-		return RLC_OP_STATUS_BAD_PARAMETER;
-	}
-	
+  if(sdu_pP == NULL) {
+    LOG_E(RLC, "sdu_pP == NULL\n");
+    return RLC_OP_STATUS_BAD_PARAMETER;
+  }
+
   //DevCheck(sdu_sizeP > 0, sdu_sizeP, 0, 0);
   if(sdu_sizeP <= 0) {
     LOG_E(RLC, "sdu_sizeP %d, file %s, line %d\n", sdu_sizeP, __FILE__ ,__LINE__);
@@ -386,9 +382,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
 #if (LTE_RRC_VERSION < MAKE_VERSION(10, 0, 0))
   DevCheck(MBMS_flagP == 0, MBMS_flagP, 0, 0);
 #endif
-
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_IN);
-
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
   if (MBMS_flagP == TRUE) {
@@ -402,31 +396,31 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
 
     key = RLC_COLL_KEY_MBMS_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, mbms_id_p->service_id, mbms_id_p->session_id);
   }
-  if (sourceL2Id && destinationL2Id){
-	  LOG_I (RLC, "RLC_COLL_KEY_VALUE: ctxt_pP->module_id: %d, ctxt_pP->rnti: %d, ctxt_pP->enb_flag: %d, rb_idP:%d, srb_flagP: %d \n \n", ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
-	      key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
-
-	      //Thinh's line originally uncommented
-	      //key = RLC_COLL_KEY_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
 
-
-     //key_lcid = RLC_COLL_KEY_LCID_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, chan_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
+  if (sourceL2Id && destinationL2Id) {
+    LOG_D (RLC, "RLC_COLL_KEY_VALUE: ctxt_pP->module_id: %d, ctxt_pP->rnti: %d, ctxt_pP->enb_flag: %d, rb_idP:%d, srb_flagP: %d \n \n", ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP,
+           srb_flagP);
+    key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
+    //Thinh's line originally uncommented
+    //key = RLC_COLL_KEY_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
+    //key_lcid = RLC_COLL_KEY_LCID_SOURCE_DEST_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, chan_idP, *sourceL2Id, *destinationL2Id, srb_flagP);
   } else
 #endif
   {
-	  LOG_I (RLC, "RLC_COLL_KEY_VALUE: ctxt_pP->module_id: %d, ctxt_pP->rnti: %d, ctxt_pP->enb_flag: %d, rb_idP:%d, srb_flagP: %d \n \n", ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
+    LOG_D (RLC, "RLC_COLL_KEY_VALUE: ctxt_pP->module_id: %d, ctxt_pP->rnti: %d, ctxt_pP->enb_flag: %d, rb_idP:%d, srb_flagP: %d \n \n", ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP,
+           srb_flagP);
     key = RLC_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti, ctxt_pP->enb_flag, rb_idP, srb_flagP);
   }
 
-  h_rc = hashtable_get(rlc_coll_p, key, (void**)&rlc_union_p);
+  h_rc = hashtable_get(rlc_coll_p, key, (void **)&rlc_union_p);
 
   if (h_rc == HASH_TABLE_OK) {
     rlc_mode = rlc_union_p->mode;
   } else {
     rlc_mode = RLC_MODE_NONE;
     //AssertFatal (0 , "RLC not configured key %ju\n", key);
-  	LOG_E(RLC, "not configured key %lu\n", key);
-  	return RLC_OP_STATUS_OUT_OF_RESSOURCES;
+    LOG_E(RLC, "not configured key %lu\n", key);
+    return RLC_OP_STATUS_OUT_OF_RESSOURCES;
   }
 
   if (MBMS_flagP == 0) {
@@ -434,111 +428,105 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
           PROTOCOL_CTXT_ARGS(ctxt_pP),
           rb_idP);
 #if defined(TRACE_RLC_PAYLOAD)
-    rlc_util_print_hex_octets(RLC, (unsigned char*)sdu_pP->data, sdu_sizeP);
+    rlc_util_print_hex_octets(RLC, (unsigned char *)sdu_pP->data, sdu_sizeP);
 #endif
-
 #ifdef DEBUG_RLC_DATA_REQ
     LOG_D(RLC,"RLC_TYPE : %d\n", rlc_mode);
 #endif
 
     switch (rlc_mode) {
-    case RLC_MODE_NONE:
-      free_mem_block(sdu_pP, __func__);
-      LOG_E(RLC, PROTOCOL_CTXT_FMT" Received RLC_MODE_NONE as rlc_type for rb_id %u\n",
-            PROTOCOL_CTXT_ARGS(ctxt_pP),
-            rb_idP);
-      VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-      return RLC_OP_STATUS_BAD_PARAMETER;
+      case RLC_MODE_NONE:
+        free_mem_block(sdu_pP, __func__);
+        LOG_E(RLC, PROTOCOL_CTXT_FMT" Received RLC_MODE_NONE as rlc_type for rb_id %u\n",
+              PROTOCOL_CTXT_ARGS(ctxt_pP),
+              rb_idP);
+        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
+        return RLC_OP_STATUS_BAD_PARAMETER;
 
-    case RLC_MODE_AM:
+      case RLC_MODE_AM:
 #ifdef DEBUG_RLC_DATA_REQ
-      LOG_D(RLC,"RLC_MODE_AM\n");
+        LOG_D(RLC,"RLC_MODE_AM\n");
 #endif
-      new_sdu_p = get_free_mem_block (sdu_sizeP + sizeof (struct rlc_am_data_req_alloc), __func__);
-
-      if (new_sdu_p != NULL) {
-        // PROCESS OF COMPRESSION HERE:
-        memset (new_sdu_p->data, 0, sizeof (struct rlc_am_data_req_alloc));
-        memcpy (&new_sdu_p->data[sizeof (struct rlc_am_data_req_alloc)], &sdu_pP->data[0], sdu_sizeP);
+        new_sdu_p = get_free_mem_block (sdu_sizeP + sizeof (struct rlc_am_data_req_alloc), __func__);
 
-        ((struct rlc_am_data_req *) (new_sdu_p->data))->data_size = sdu_sizeP;
-        ((struct rlc_am_data_req *) (new_sdu_p->data))->conf = confirmP;
-        ((struct rlc_am_data_req *) (new_sdu_p->data))->mui  = muiP;
-        ((struct rlc_am_data_req *) (new_sdu_p->data))->data_offset = sizeof (struct rlc_am_data_req_alloc);
-        free_mem_block(sdu_pP, __func__);
-        rlc_am_data_req(ctxt_pP, &rlc_union_p->rlc.am, new_sdu_p);
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-        return RLC_OP_STATUS_OK;
-      } else {
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-        free_mem_block(sdu_pP, __func__);
-        return RLC_OP_STATUS_INTERNAL_ERROR;
-      }
-
-      break;
+        if (new_sdu_p != NULL) {
+          // PROCESS OF COMPRESSION HERE:
+          memset (new_sdu_p->data, 0, sizeof (struct rlc_am_data_req_alloc));
+          memcpy (&new_sdu_p->data[sizeof (struct rlc_am_data_req_alloc)], &sdu_pP->data[0], sdu_sizeP);
+          ((struct rlc_am_data_req *) (new_sdu_p->data))->data_size = sdu_sizeP;
+          ((struct rlc_am_data_req *) (new_sdu_p->data))->conf = confirmP;
+          ((struct rlc_am_data_req *) (new_sdu_p->data))->mui  = muiP;
+          ((struct rlc_am_data_req *) (new_sdu_p->data))->data_offset = sizeof (struct rlc_am_data_req_alloc);
+          free_mem_block(sdu_pP, __func__);
+          rlc_am_data_req(ctxt_pP, &rlc_union_p->rlc.am, new_sdu_p);
+          VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
+          return RLC_OP_STATUS_OK;
+        } else {
+          VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
+          free_mem_block(sdu_pP, __func__);
+          return RLC_OP_STATUS_INTERNAL_ERROR;
+        }
 
-    case RLC_MODE_UM:
-      /* TODO: this is a hack, needs better solution. Let's not use too
-       * much memory and store at maximum 5 millions bytes.
-       */
-      /* look for HACK_RLC_UM_LIMIT for others places related to the hack. Please do not remove this comment. */
-      if (rlc_um_get_buffer_occupancy(&rlc_union_p->rlc.um) > 5000000) {
-        free_mem_block(sdu_pP, __func__);
-        return RLC_OP_STATUS_OUT_OF_RESSOURCES;
-      }
+        break;
 
-      new_sdu_p = get_free_mem_block (sdu_sizeP + sizeof (struct rlc_um_data_req_alloc), __func__);
+      case RLC_MODE_UM:
 
-      if (new_sdu_p != NULL) {
-        // PROCESS OF COMPRESSION HERE:
-        memset (new_sdu_p->data, 0, sizeof (struct rlc_um_data_req_alloc));
-        memcpy (&new_sdu_p->data[sizeof (struct rlc_um_data_req_alloc)], &sdu_pP->data[0], sdu_sizeP);
+        /* TODO: this is a hack, needs better solution. Let's not use too
+         * much memory and store at maximum 5 millions bytes.
+         */
+        /* look for HACK_RLC_UM_LIMIT for others places related to the hack. Please do not remove this comment. */
+        if (rlc_um_get_buffer_occupancy(&rlc_union_p->rlc.um) > 5000000) {
+          free_mem_block(sdu_pP, __func__);
+          return RLC_OP_STATUS_OUT_OF_RESSOURCES;
+        }
 
-        ((struct rlc_um_data_req *) (new_sdu_p->data))->data_size = sdu_sizeP;
-        ((struct rlc_um_data_req *) (new_sdu_p->data))->data_offset = sizeof (struct rlc_um_data_req_alloc);
-        free_mem_block(sdu_pP, __func__);
+        new_sdu_p = get_free_mem_block (sdu_sizeP + sizeof (struct rlc_um_data_req_alloc), __func__);
 
-        rlc_um_data_req(ctxt_pP, &rlc_union_p->rlc.um, new_sdu_p);
+        if (new_sdu_p != NULL) {
+          // PROCESS OF COMPRESSION HERE:
+          memset (new_sdu_p->data, 0, sizeof (struct rlc_um_data_req_alloc));
+          memcpy (&new_sdu_p->data[sizeof (struct rlc_um_data_req_alloc)], &sdu_pP->data[0], sdu_sizeP);
+          ((struct rlc_um_data_req *) (new_sdu_p->data))->data_size = sdu_sizeP;
+          ((struct rlc_um_data_req *) (new_sdu_p->data))->data_offset = sizeof (struct rlc_um_data_req_alloc);
+          free_mem_block(sdu_pP, __func__);
+          rlc_um_data_req(ctxt_pP, &rlc_union_p->rlc.um, new_sdu_p);
+          //free_mem_block(new_sdu, __func__);
+          VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
+          return RLC_OP_STATUS_OK;
+        } else {
+          VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
+          free_mem_block(sdu_pP, __func__);
+          return RLC_OP_STATUS_INTERNAL_ERROR;
+        }
 
-        //free_mem_block(new_sdu, __func__);
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-        return RLC_OP_STATUS_OK;
-      } else {
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-        free_mem_block(sdu_pP, __func__);
-        return RLC_OP_STATUS_INTERNAL_ERROR;
-      }
+        break;
 
-      break;
+      case RLC_MODE_TM:
+        new_sdu_p = get_free_mem_block (sdu_sizeP + sizeof (struct rlc_tm_data_req_alloc), __func__);
 
-    case RLC_MODE_TM:
-      new_sdu_p = get_free_mem_block (sdu_sizeP + sizeof (struct rlc_tm_data_req_alloc), __func__);
+        if (new_sdu_p != NULL) {
+          // PROCESS OF COMPRESSION HERE:
+          memset (new_sdu_p->data, 0, sizeof (struct rlc_tm_data_req_alloc));
+          memcpy (&new_sdu_p->data[sizeof (struct rlc_tm_data_req_alloc)], &sdu_pP->data[0], sdu_sizeP);
+          ((struct rlc_tm_data_req *) (new_sdu_p->data))->data_size = sdu_sizeP;
+          ((struct rlc_tm_data_req *) (new_sdu_p->data))->data_offset = sizeof (struct rlc_tm_data_req_alloc);
+          free_mem_block(sdu_pP, __func__);
+          rlc_tm_data_req(ctxt_pP, &rlc_union_p->rlc.tm, new_sdu_p);
+          VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
+          return RLC_OP_STATUS_OK;
+        } else {
+          //handle_event(ERROR,"FILE %s FONCTION rlc_data_req() LINE %s : out of memory\n", __FILE__, __LINE__);
+          VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
+          free_mem_block(sdu_pP, __func__);
+          return RLC_OP_STATUS_INTERNAL_ERROR;
+        }
 
-      if (new_sdu_p != NULL) {
-        // PROCESS OF COMPRESSION HERE:
-        memset (new_sdu_p->data, 0, sizeof (struct rlc_tm_data_req_alloc));
-        memcpy (&new_sdu_p->data[sizeof (struct rlc_tm_data_req_alloc)], &sdu_pP->data[0], sdu_sizeP);
+        break;
 
-        ((struct rlc_tm_data_req *) (new_sdu_p->data))->data_size = sdu_sizeP;
-        ((struct rlc_tm_data_req *) (new_sdu_p->data))->data_offset = sizeof (struct rlc_tm_data_req_alloc);
+      default:
         free_mem_block(sdu_pP, __func__);
-        rlc_tm_data_req(ctxt_pP, &rlc_union_p->rlc.tm, new_sdu_p);
         VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-        return RLC_OP_STATUS_OK;
-      } else {
-        //handle_event(ERROR,"FILE %s FONCTION rlc_data_req() LINE %s : out of memory\n", __FILE__, __LINE__);
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-        free_mem_block(sdu_pP, __func__);
         return RLC_OP_STATUS_INTERNAL_ERROR;
-      }
-
-      break;
-
-    default:
-      free_mem_block(sdu_pP, __func__);
-      VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
-      return RLC_OP_STATUS_INTERNAL_ERROR;
-
     }
 
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
@@ -557,7 +545,6 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
           ((struct rlc_um_data_req *) (new_sdu_p->data))->data_offset = sizeof (struct rlc_um_data_req_alloc);
           free_mem_block(sdu_pP, __func__);
           rlc_um_data_req(ctxt_pP, &rlc_union_p->rlc.um, new_sdu_p);
-
           //free_mem_block(new_sdu, __func__);
           VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RLC_DATA_REQ,VCD_FUNCTION_OUT);
           return RLC_OP_STATUS_OK;
@@ -578,8 +565,7 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
 
 #else
   }
-  else  /* MBMS_flag != 0 */
-  {
+  else { /* MBMS_flag != 0 */
     free_mem_block(sdu_pP, __func__);
     LOG_E(RLC, "MBMS_flag != 0 while Rel10/Rel14 is not defined...\n");
     //handle_event(ERROR,"FILE %s FONCTION rlc_data_req() LINE %s : parameter module_id out of bounds :%d\n", __FILE__, __LINE__, module_idP);
@@ -592,32 +578,27 @@ rlc_op_status_t rlc_data_req     (const protocol_ctxt_t* const ctxt_pP,
 
 //-----------------------------------------------------------------------------
 void rlc_data_ind     (
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const srb_flag_t  srb_flagP,
   const MBMS_flag_t MBMS_flagP,
   const rb_id_t     rb_idP,
   const sdu_size_t  sdu_sizeP,
-  mem_block_t      *sdu_pP)
-{
+  mem_block_t      *sdu_pP) {
   //-----------------------------------------------------------------------------
-
-
 #if defined(TRACE_RLC_PAYLOAD)
   LOG_D(RLC, PROTOCOL_CTXT_FMT"[%s %u] Display of rlc_data_ind: size %u\n",
         PROTOCOL_CTXT_ARGS(ctxt_pP),
         (srb_flagP) ? "SRB" : "DRB",
         rb_idP,
         sdu_sizeP);
-
-  rlc_util_print_hex_octets(RLC, (unsigned char*)sdu_pP->data, sdu_sizeP);
+  rlc_util_print_hex_octets(RLC, (unsigned char *)sdu_pP->data, sdu_sizeP);
 #endif
-
 #if T_TRACER
+
   if (ctxt_pP->enb_flag)
     T(T_ENB_RLC_UL, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->rnti), T_INT(rb_idP), T_INT(sdu_sizeP));
-#endif
-
 
+#endif
   pdcp_data_ind (
     ctxt_pP,
     srb_flagP,
@@ -627,14 +608,12 @@ void rlc_data_ind     (
     sdu_pP);
 }
 //-----------------------------------------------------------------------------
-void rlc_data_conf     (const protocol_ctxt_t* const ctxt_pP,
+void rlc_data_conf     (const protocol_ctxt_t *const ctxt_pP,
                         const srb_flag_t      srb_flagP,
                         const rb_id_t         rb_idP,
                         const mui_t           muiP,
-                        const rlc_tx_status_t statusP)
-{
+                        const rlc_tx_status_t statusP) {
   //-----------------------------------------------------------------------------
-
   if (srb_flagP) {
     if (rlc_rrc_data_conf != NULL) {
       rlc_rrc_data_conf (ctxt_pP, rb_idP , muiP, statusP);
@@ -643,20 +622,17 @@ void rlc_data_conf     (const protocol_ctxt_t* const ctxt_pP,
 }
 //-----------------------------------------------------------------------------
 int
-rlc_module_init (void)
-{
+rlc_module_init (void) {
   //-----------------------------------------------------------------------------
   int          k;
   module_id_t  module_id1;
-
   /* for no gcc warnings */
   (void)k;
-
   LOG_D(RLC, "MODULE INIT\n");
   rlc_rrc_data_ind  = NULL;
   rlc_rrc_data_conf = NULL;
-
   rlc_coll_p = hashtable_create ((LTE_maxDRB + 2) * NUMBER_OF_UE_MAX, NULL, rb_free_rlc_union);
+
   //AssertFatal(rlc_coll_p != NULL, "UNRECOVERABLE error, RLC hashtable_create failed");
   if(rlc_coll_p == NULL) {
     LOG_E(RLC, "UNRECOVERABLE error, RLC hashtable_create failed\n");
@@ -694,7 +670,6 @@ rlc_module_init (void)
   }
 
   pool_buffer_init();
-
   return(0);
 }
 //-----------------------------------------------------------------------------
@@ -706,8 +681,7 @@ rlc_module_cleanup (void)
 }
 //-----------------------------------------------------------------------------
 void
-rlc_layer_init (void)
-{
+rlc_layer_init (void) {
   //-----------------------------------------------------------------------------
 }
 //-----------------------------------------------------------------------------
diff --git a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
index 4c63db1d03cc8c72dd021bc1f51ccb6891997e89..480f5c35163bb94c69c8af5c21c904b84a650af3 100644
--- a/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
+++ b/openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
@@ -70,7 +70,7 @@
 #include "enb_config.h"
 
 #if defined(ENABLE_ITTI)
-# include "intertask_interface.h"
+  #include "intertask_interface.h"
 #endif
 
 
@@ -78,14 +78,12 @@
 
 /*do_MIB_NB_NB_IoT*/
 uint8_t do_MIB_NB_IoT(
-		rrc_eNB_carrier_data_NB_IoT_t *carrier,
-		uint16_t N_RB_DL,//may not needed--> for NB_IoT only 1 PRB is used
-		uint32_t frame,
-    uint32_t hyper_frame)
-{
+  rrc_eNB_carrier_data_NB_IoT_t *carrier,
+  uint16_t N_RB_DL,//may not needed--> for NB_IoT only 1 PRB is used
+  uint32_t frame,
+  uint32_t hyper_frame) {
   asn_enc_rval_t enc_rval;
   LTE_BCCH_BCH_Message_NB_t *mib_NB_IoT = &(carrier->mib_NB_IoT);
-
   /*
    * systemFrameNumber-MSB: (TS 36.331 pag 576)
    * define the 4 MSB of the SFN (10 bits). The last significant 6 bits will be acquired implicitly by decoding the NPBCH
@@ -98,46 +96,39 @@ uint8_t do_MIB_NB_IoT(
    *
    * NOTE: in OAI never modify the SIB messages!!??
    */
-
   //XXX check if correct the bit assignment
   uint8_t sfn_MSB = (uint8_t)((frame>>6) & 0x0f); // all the 4 bits are set to 1
   uint8_t hsfn_LSB = (uint8_t)(hyper_frame & 0x03); //2 bits set to 1 (0x3 = 0011)
   uint16_t spare=0; //11 bits --> use uint16
-
   mib_NB_IoT->message.systemFrameNumber_MSB_r13.buf = &sfn_MSB;
   mib_NB_IoT->message.systemFrameNumber_MSB_r13.size = 1; //if expressed in byte
   mib_NB_IoT->message.systemFrameNumber_MSB_r13.bits_unused = 4; //is byte based (so how many bits you don't use of the 8 bits of a bite
-
   mib_NB_IoT->message.hyperSFN_LSB_r13.buf= &hsfn_LSB;
   mib_NB_IoT->message.hyperSFN_LSB_r13.size= 1;
   mib_NB_IoT->message.hyperSFN_LSB_r13.bits_unused = 6;
-
   //XXX to be set??
   mib_NB_IoT->message.spare.buf = (uint8_t *)&spare;
   mib_NB_IoT->message.spare.size = 2;
   mib_NB_IoT->message.spare.bits_unused = 5;
-
   //decide how to set it
   mib_NB_IoT->message.schedulingInfoSIB1_r13 =11; //see TS 36.213-->tables 16.4.1.3-3 ecc...
   mib_NB_IoT->message.systemInfoValueTag_r13= 0;
   mib_NB_IoT->message.ab_Enabled_r13 = 0;
-
   //to be decided
   mib_NB_IoT->message.operationModeInfo_r13.present = LTE_MasterInformationBlock_NB__operationModeInfo_r13_PR_inband_SamePCI_r13;
   mib_NB_IoT->message.operationModeInfo_r13.choice.inband_SamePCI_r13.eutra_CRS_SequenceInfo_r13 = 0;
-
   printf("[MIB] Initialization of frame information,sfn_MSB %x, hsfn_LSB %x\n",
          (uint32_t)sfn_MSB,
-		 (uint32_t)hsfn_LSB);
-
+         (uint32_t)hsfn_LSB);
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_BCH_Message_NB,
                                    NULL,
-                                   (void*)mib_NB_IoT,
+                                   (void *)mib_NB_IoT,
                                    carrier->MIB_NB_IoT,
                                    100);
+
   if(enc_rval.encoded <= 0) {
-      LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
-               enc_rval.failed_type->name, enc_rval.encoded);
+    LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
   }
 
   if (enc_rval.encoded==-1) {
@@ -145,63 +136,47 @@ uint8_t do_MIB_NB_IoT(
   }
 
   return((enc_rval.encoded+7)/8);
-
 }
 
 /*do_SIB1_NB*/
 uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
-				rrc_eNB_carrier_data_NB_IoT_t *carrier,
-                NbIoTRrcConfigurationReq *configuration,
-				uint32_t frame
-               )
-{
+                       rrc_eNB_carrier_data_NB_IoT_t *carrier,
+                       NbIoTRrcConfigurationReq *configuration,
+                       uint32_t frame
+                      ) {
   LTE_BCCH_DL_SCH_Message_NB_t *bcch_message= &(carrier->siblock1_NB_IoT);
   LTE_SystemInformationBlockType1_NB_t **sib1_NB_IoT= &(carrier->sib1_NB_IoT);
-  
-
   asn_enc_rval_t enc_rval;
-
   LTE_PLMN_IdentityInfo_NB_r13_t PLMN_identity_info_NB_IoT;
   LTE_MCC_MNC_Digit_t dummy_mcc[3],dummy_mnc[3];
   LTE_SchedulingInfo_NB_r13_t *schedulingInfo_NB_IoT;
   LTE_SIB_Type_NB_r13_t *sib_type_NB_IoT;
-
-
-  long* attachWithoutPDN_Connectivity = NULL;
+  long *attachWithoutPDN_Connectivity = NULL;
   attachWithoutPDN_Connectivity = CALLOC(1,sizeof(long));
   long *nrs_CRS_PowerOffset=NULL;
   nrs_CRS_PowerOffset = CALLOC(1, sizeof(long));
   long *eutraControlRegionSize=NULL; //this parameter should be set only if we are considering in-band operating mode (samePCI or differentPCI)
-   eutraControlRegionSize = CALLOC(1,sizeof(long));
+  eutraControlRegionSize = CALLOC(1,sizeof(long));
   long systemInfoValueTagSI = 0;
-
   memset(bcch_message,0,sizeof(LTE_BCCH_DL_SCH_Message_NB_t));
   bcch_message->message.present = LTE_BCCH_DL_SCH_MessageType_NB_PR_c1;
   bcch_message->message.choice.c1.present = LTE_BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformationBlockType1_r13;
-
   //allocation
   *sib1_NB_IoT = &bcch_message->message.choice.c1.choice.systemInformationBlockType1_r13;
-
-
   /*TS 36.331 v14.2.0 pag 589
    * hyperSFN-MSB
    * Indicates the 8 most significant bits of the hyper-SFN. Together with the hyper-LSB in MIB-NB the complete HSFN is build up
    */
   //FIXME see if correct
   uint8_t hyperSFN_MSB = (uint8_t) ((frame>>2)& 0xff);
-
   //XXX to be checked
   (*sib1_NB_IoT)->hyperSFN_MSB_r13.buf = &hyperSFN_MSB;
   (*sib1_NB_IoT)->hyperSFN_MSB_r13.size = 1;
   (*sib1_NB_IoT)->hyperSFN_MSB_r13.bits_unused = 0;
-
   memset(&PLMN_identity_info_NB_IoT,0,sizeof(LTE_PLMN_IdentityInfo_NB_r13_t));
-
   PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc = CALLOC(1,sizeof(*PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc));
   memset(PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc,0,sizeof(*PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc));
-
   asn_set_empty(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list);//.size=0;
-
   //left as it is???
 #if defined(ENABLE_ITTI)
   dummy_mcc[0] = (configuration->mcc / 100) % 10;
@@ -215,11 +190,8 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
   ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[0]);
   ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[1]);
   ASN_SEQUENCE_ADD(&PLMN_identity_info_NB_IoT.plmn_Identity_r13.mcc->list,&dummy_mcc[2]);
-
   PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list.size=0;
   PLMN_identity_info_NB_IoT.plmn_Identity_r13.mnc.list.count=0;
-
-
 #if defined(ENABLE_ITTI)
 
   if (configuration->mnc >= 100) {
@@ -252,15 +224,11 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
 
   //still set to "notReserved" as in the previous case
   PLMN_identity_info_NB_IoT.cellReservedForOperatorUse_r13=LTE_PLMN_IdentityInfo_NB_r13__cellReservedForOperatorUse_r13_notReserved;
-
   *attachWithoutPDN_Connectivity = 0;
   PLMN_identity_info_NB_IoT.attachWithoutPDN_Connectivity_r13 = attachWithoutPDN_Connectivity;
-
   ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->cellAccessRelatedInfo_r13.plmn_IdentityList_r13.list,&PLMN_identity_info_NB_IoT);
-
   // 16 bits = 2 byte
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.trackingAreaCode_r13.buf = MALLOC(2); //MALLOC works in byte
-
   //lefts as it is?
 #if defined(ENABLE_ITTI)
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.trackingAreaCode_r13.buf[0] = (configuration->tac >> 8) & 0xff;
@@ -271,7 +239,6 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
 #endif
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.trackingAreaCode_r13.size=2;
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.trackingAreaCode_r13.bits_unused=0;
-
   // 28 bits --> i have to use 32 bits = 4 byte
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.cellIdentity_r13.buf = MALLOC(8); // why allocate 8 byte?
 #if defined(ENABLE_ITTI)
@@ -287,20 +254,14 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
 #endif
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.cellIdentity_r13.size=4;
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.cellIdentity_r13.bits_unused=4;
-
   //Still set to "notBarred" as in the previous case
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.cellBarred_r13=LTE_SystemInformationBlockType1_NB__cellAccessRelatedInfo_r13__cellBarred_r13_notBarred;
-
   //Still Set to "notAllowed" like in the previous case
   (*sib1_NB_IoT)->cellAccessRelatedInfo_r13.intraFreqReselection_r13=LTE_SystemInformationBlockType1_NB__cellAccessRelatedInfo_r13__intraFreqReselection_r13_notAllowed;
-
-
   (*sib1_NB_IoT)->cellSelectionInfo_r13.q_RxLevMin_r13=-65; //which value?? TS 36.331 V14.2.1 pag. 589
   (*sib1_NB_IoT)->cellSelectionInfo_r13.q_QualMin_r13 = 0; //FIXME new parameter for SIB1-NB, not present in SIB1 (for cell reselection but if not used the UE should apply the default value)
-
   (*sib1_NB_IoT)->p_Max_r13 = CALLOC(1, sizeof(LTE_P_Max_t));
   *((*sib1_NB_IoT)->p_Max_r13) = 23;
-
   //FIXME
   (*sib1_NB_IoT)->freqBandIndicator_r13 =
 #if defined(ENABLE_ITTI)
@@ -308,70 +269,55 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
 #else
     5; //if not configured we use band 5 (UL: 824 MHz - 849MHz / DL: 869 MHz - 894 MHz  FDD mode)
 #endif
-
-    //OPTIONAL new parameters, to be used?
-      /*
-       * freqBandInfo_r13
-       * multiBandInfoList_r13
-       * nrs_CRS_PowerOffset_r13
-       * sib1_NB_IoT->downlinkBitmap_r13.choice.subframePattern10_r13 =(is a BIT_STRING)
-       */
-
-
-   (*sib1_NB_IoT)->downlinkBitmap_r13 = CALLOC(1, sizeof(struct LTE_DL_Bitmap_NB_r13));
-   ((*sib1_NB_IoT)->downlinkBitmap_r13)->present= LTE_DL_Bitmap_NB_r13_PR_NOTHING;
-
-   *eutraControlRegionSize = 1;
-   (*sib1_NB_IoT)->eutraControlRegionSize_r13 = eutraControlRegionSize;
-
-
-   *nrs_CRS_PowerOffset= 0;
-   (*sib1_NB_IoT)->nrs_CRS_PowerOffset_r13 = nrs_CRS_PowerOffset;
-
-   schedulingInfo_NB_IoT = (LTE_SchedulingInfo_NB_r13_t*) malloc (3*sizeof(LTE_SchedulingInfo_NB_r13_t));
-   sib_type_NB_IoT = (LTE_SIB_Type_NB_r13_t *) malloc (3*sizeof(LTE_SIB_Type_NB_r13_t));
-
+  //OPTIONAL new parameters, to be used?
+  /*
+   * freqBandInfo_r13
+   * multiBandInfoList_r13
+   * nrs_CRS_PowerOffset_r13
+   * sib1_NB_IoT->downlinkBitmap_r13.choice.subframePattern10_r13 =(is a BIT_STRING)
+   */
+  (*sib1_NB_IoT)->downlinkBitmap_r13 = CALLOC(1, sizeof(struct LTE_DL_Bitmap_NB_r13));
+  ((*sib1_NB_IoT)->downlinkBitmap_r13)->present= LTE_DL_Bitmap_NB_r13_PR_NOTHING;
+  *eutraControlRegionSize = 1;
+  (*sib1_NB_IoT)->eutraControlRegionSize_r13 = eutraControlRegionSize;
+  *nrs_CRS_PowerOffset= 0;
+  (*sib1_NB_IoT)->nrs_CRS_PowerOffset_r13 = nrs_CRS_PowerOffset;
+  schedulingInfo_NB_IoT = (LTE_SchedulingInfo_NB_r13_t *) malloc (3*sizeof(LTE_SchedulingInfo_NB_r13_t));
+  sib_type_NB_IoT = (LTE_SIB_Type_NB_r13_t *) malloc (3*sizeof(LTE_SIB_Type_NB_r13_t));
   memset(&schedulingInfo_NB_IoT[0],0,sizeof(LTE_SchedulingInfo_NB_r13_t));
   memset(&schedulingInfo_NB_IoT[1],0,sizeof(LTE_SchedulingInfo_NB_r13_t));
-  memset(&schedulingInfo_NB_IoT[2],0,sizeof(LTE_SchedulingInfo_NB_r13_t));    
+  memset(&schedulingInfo_NB_IoT[2],0,sizeof(LTE_SchedulingInfo_NB_r13_t));
   memset(&sib_type_NB_IoT[0],0,sizeof(LTE_SIB_Type_NB_r13_t));
   memset(&sib_type_NB_IoT[1],0,sizeof(LTE_SIB_Type_NB_r13_t));
   memset(&sib_type_NB_IoT[2],0,sizeof(LTE_SIB_Type_NB_r13_t));
-
-
   // Now, follow the scheduler SIB configuration
   // There is only one sib2+sib3 common setting
   schedulingInfo_NB_IoT[0].si_Periodicity_r13=LTE_SchedulingInfo_NB_r13__si_Periodicity_r13_rf4096;
-  schedulingInfo_NB_IoT[0].si_RepetitionPattern_r13=LTE_SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF; //This Indicates the starting radio frames within the SI window used for SI message transmission.
+  schedulingInfo_NB_IoT[0].si_RepetitionPattern_r13=
+    LTE_SchedulingInfo_NB_r13__si_RepetitionPattern_r13_every2ndRF; //This Indicates the starting radio frames within the SI window used for SI message transmission.
   schedulingInfo_NB_IoT[0].si_TB_r13= LTE_SchedulingInfo_NB_r13__si_TB_r13_b680;//208 bits
-  
-
   // This is for SIB2/3
   /*SIB3 --> There is no mapping information of SIB2 since it is always present
     *  in the first SystemInformation message
     * listed in the schedulingInfoList list.
     * */
   sib_type_NB_IoT[0]=LTE_SIB_Type_NB_r13_sibType3_NB_r13;
-
   ASN_SEQUENCE_ADD(&schedulingInfo_NB_IoT[0].sib_MappingInfo_r13.list,&sib_type_NB_IoT[0]);
   ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->schedulingInfoList_r13.list,&schedulingInfo_NB_IoT[0]);
-
   //printf("[ASN Debug] SI P: %ld\n",(*sib1_NB_IoT)->schedulingInfoList_r13.list.array[0]->si_Periodicity_r13);
-
 #if defined(ENABLE_ITTI)
 
   if (configuration->frame_type == TDD)
 #endif
   {
-	//FIXME in NB-IoT mandatory to be FDD --> so must give an error
-	  LOG_E(RRC,"[NB-IoT %d] Frame Type is TDD --> not supported by NB-IoT, exiting\n", Mod_id); //correct?
-	  exit(-1);
+    //FIXME in NB-IoT mandatory to be FDD --> so must give an error
+    LOG_E(RRC,"[NB-IoT %d] Frame Type is TDD --> not supported by NB-IoT, exiting\n", Mod_id); //correct?
+    exit(-1);
   }
 
   //FIXME which value chose for the following parameter
   (*sib1_NB_IoT)->si_WindowLength_r13=LTE_SystemInformationBlockType1_NB__si_WindowLength_r13_ms160;
   (*sib1_NB_IoT)->si_RadioFrameOffset_r13= 0;
-
   /*In Nb-IoT change/update of specific SI message can additionally be indicated by a SI message specific value tag
    * systemInfoValueTagSI (there is no SystemInfoValueTag in SIB1-NB but only in MIB-NB)
    *contained in systemInfoValueTagList_r13
@@ -381,24 +327,21 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
   asn_set_empty(&(*sib1_NB_IoT)->systemInfoValueTagList_r13->list);
   ASN_SEQUENCE_ADD(&(*sib1_NB_IoT)->systemInfoValueTagList_r13->list,&systemInfoValueTagSI);
 
-
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
+    xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message_NB, (void *)bcch_message);
   }
 
-
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_DL_SCH_Message_NB,
                                    NULL,
-                                   (void*)bcch_message,
+                                   (void *)bcch_message,
                                    carrier->SIB1_NB_IoT,
                                    100);
 
-  if (enc_rval.encoded > 0){ 
-       LOG_E(RRC,"ASN1 message encoding failed (%s, %lu)!\n",
-               enc_rval.failed_type->name, enc_rval.encoded);
+  if (enc_rval.encoded > 0) {
+    LOG_E(RRC,"ASN1 message encoding failed (%s, %lu)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
   }
 
-
 #ifdef USER_MODE
   LOG_D(RRC,"[NB-IoT] SystemInformationBlockType1-NB Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
 #endif
@@ -415,34 +358,26 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
 uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
                         int CC_id,
                         rrc_eNB_carrier_data_NB_IoT_t *carrier,//MP: this is already a carrier[CC_id]
-                        NbIoTRrcConfigurationReq *configuration ) //openair2/COMMON/rrc_messages_types.h
-{
+                        NbIoTRrcConfigurationReq *configuration ) { //openair2/COMMON/rrc_messages_types.h
   struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member *sib2_NB_part;
   struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member *sib3_NB_part;
-
   LTE_BCCH_DL_SCH_Message_NB_t *bcch_message = &(carrier->systemInformation_NB_IoT); //is the systeminformation-->BCCH_DL_SCH_Message_NB
   LTE_SystemInformationBlockType2_NB_r13_t *sib2_NB_IoT;
   LTE_SystemInformationBlockType3_NB_r13_t *sib3_NB_IoT;
-
   asn_enc_rval_t enc_rval;
   LTE_RACH_Info_NB_r13_t rach_Info_NB_IoT;
   LTE_NPRACH_Parameters_NB_r13_t *nprach_parameters;
-
   //optional
   long *connEstFailOffset = NULL;
   connEstFailOffset = CALLOC(1, sizeof(long));
-
-//  RSRP_ThresholdsNPRACH_InfoList_NB_r13_t *rsrp_ThresholdsPrachInfoList;
-//  RSRP_Range_t rsrp_range;
-
+  //  RSRP_ThresholdsNPRACH_InfoList_NB_r13_t *rsrp_ThresholdsPrachInfoList;
+  //  RSRP_Range_t rsrp_range;
   LTE_ACK_NACK_NumRepetitions_NB_r13_t ack_nack_repetition;
   struct LTE_NPUSCH_ConfigCommon_NB_r13__dmrs_Config_r13 *dmrs_config;
-  struct LTE_DL_GapConfig_NB_r13	*dl_Gap;
-
+  struct LTE_DL_GapConfig_NB_r13  *dl_Gap;
   long *srs_SubframeConfig;
   srs_SubframeConfig= CALLOC(1, sizeof(long));
 
-
   if (bcch_message) {
     memset(bcch_message,0,sizeof(LTE_BCCH_DL_SCH_Message_NB_t));
   } else {
@@ -451,84 +386,64 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
   }
 
   //before schould be allocated memory somewhere?
-//  if (!carrier->sib2_NB_IoT) {
-//    LOG_E(RRC,"[NB-IoT %d] sib2_NB_IoT is null, exiting\n", Mod_id);
-//    exit(-1);
-//  }
-//
-//  if (!carrier->sib3_NB_IoT) {
-//    LOG_E(RRC,"[NB-IoT %d] sib3_NB_IoT is null, exiting\n", Mod_id);
-//    exit(-1);
-//  }
-
-
+  //  if (!carrier->sib2_NB_IoT) {
+  //    LOG_E(RRC,"[NB-IoT %d] sib2_NB_IoT is null, exiting\n", Mod_id);
+  //    exit(-1);
+  //  }
+  //
+  //  if (!carrier->sib3_NB_IoT) {
+  //    LOG_E(RRC,"[NB-IoT %d] sib3_NB_IoT is null, exiting\n", Mod_id);
+  //    exit(-1);
+  //  }
   LOG_I(RRC,"[NB-IoT %d] Configuration SIB2/3\n", Mod_id);
-
   sib2_NB_part = CALLOC(1,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
   sib3_NB_part = CALLOC(1,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
   memset(sib2_NB_part,0,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
   memset(sib3_NB_part,0,sizeof(struct LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member));
-
   sib2_NB_part->present = LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member_PR_sib2_r13;
   sib3_NB_part->present = LTE_SystemInformation_NB_r13_IEs__sib_TypeAndInfo_r13__Member_PR_sib3_r13;
-
   //may bug if not correct allocation of memory
   carrier->sib2_NB_IoT = &sib2_NB_part->choice.sib2_r13;
   carrier->sib3_NB_IoT = &sib3_NB_part->choice.sib3_r13;
   sib2_NB_IoT = carrier->sib2_NB_IoT;
   sib3_NB_IoT = carrier->sib3_NB_IoT;
-
   nprach_parameters = (LTE_NPRACH_Parameters_NB_r13_t *) malloc (3*sizeof(LTE_NPRACH_Parameters_NB_r13_t));
-
   memset(&nprach_parameters[0],0,sizeof(LTE_NPRACH_Parameters_NB_r13_t));
   memset(&nprach_parameters[1],0,sizeof(LTE_NPRACH_Parameters_NB_r13_t));
   memset(&nprach_parameters[2],0,sizeof(LTE_NPRACH_Parameters_NB_r13_t));
-
-/// SIB2-NB-----------------------------------------
-
+  /// SIB2-NB-----------------------------------------
   //Barring is manage by ab-Enabled in MIB-NB (but is not a struct as ac-BarringInfo in LTE legacy)
-
   //RACH Config. Common--------------------------------------------------------------
   sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.preambleTransMax_CE_r13 =
-   		  configuration->rach_preambleTransMax_CE_NB;
+    configuration->rach_preambleTransMax_CE_NB;
   sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.powerRampingParameters_r13.powerRampingStep =
-	configuration->rach_powerRampingStep_NB;
+    configuration->rach_powerRampingStep_NB;
   sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.powerRampingParameters_r13.preambleInitialReceivedTargetPower =
     configuration->rach_preambleInitialReceivedTargetPower_NB;
-
   rach_Info_NB_IoT.ra_ResponseWindowSize_r13 = configuration->rach_raResponseWindowSize_NB;
   rach_Info_NB_IoT.mac_ContentionResolutionTimer_r13 = configuration-> rach_macContentionResolutionTimer_NB;
   //rach_infoList max size = maxNPRACH-Resources-NB-r13 = 3
   ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.rach_InfoList_r13.list,&rach_Info_NB_IoT);
-
   //TS 36.331 pag 614 --> if not present the value to infinity sould be used
   *connEstFailOffset = 0;
-  
   sib2_NB_IoT->radioResourceConfigCommon_r13.rach_ConfigCommon_r13.connEstFailOffset_r13 = connEstFailOffset; /*OPTIONAL*/
-
-
   // BCCH-Config-NB-IoT----------------------------------------------------------------
   sib2_NB_IoT->radioResourceConfigCommon_r13.bcch_Config_r13.modificationPeriodCoeff_r13
     = configuration->bcch_modificationPeriodCoeff_NB;
-
   // PCCH-Config-NB-IoT-----------------------------------------------------------------
   sib2_NB_IoT->radioResourceConfigCommon_r13.pcch_Config_r13.defaultPagingCycle_r13
     = configuration->pcch_defaultPagingCycle_NB;
   sib2_NB_IoT->radioResourceConfigCommon_r13.pcch_Config_r13.nB_r13 = configuration->pcch_nB_NB;
   sib2_NB_IoT->radioResourceConfigCommon_r13.pcch_Config_r13.npdcch_NumRepetitionPaging_r13 = configuration-> pcch_npdcch_NumRepetitionPaging_NB;
-
   //NPRACH-Config-NB-IoT-----------------------------------------------------------------
-
-  sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.rsrp_ThresholdsPrachInfoList_r13 = NULL; 
+  sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.rsrp_ThresholdsPrachInfoList_r13 = NULL;
   sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_CP_Length_r13 = configuration->nprach_CP_Length;
   /*OPTIONAL*/
-//   =CALLOC(1, sizeof(struct RSRP_ThresholdsNPRACH_InfoList_NB_r13)); //fatto uguale dopo
-//   rsrp_ThresholdsPrachInfoList = sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.rsrp_ThresholdsPrachInfoList_r13;
-//   rsrp_range = configuration->nprach_rsrp_range_NB;
-//   ASN_SEQUENCE_ADD(&rsrp_ThresholdsPrachInfoList->list,rsrp_range);
-
+  //   =CALLOC(1, sizeof(struct RSRP_ThresholdsNPRACH_InfoList_NB_r13)); //fatto uguale dopo
+  //   rsrp_ThresholdsPrachInfoList = sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.rsrp_ThresholdsPrachInfoList_r13;
+  //   rsrp_range = configuration->nprach_rsrp_range_NB;
+  //   ASN_SEQUENCE_ADD(&rsrp_ThresholdsPrachInfoList->list,rsrp_range);
   // According configuration to set the 3 CE level configuration setting
-
   nprach_parameters[0].nprach_Periodicity_r13               = configuration->nprach_Periodicity[0];
   nprach_parameters[0].nprach_StartTime_r13                 = configuration->nprach_StartTime[0];
   nprach_parameters[0].nprach_SubcarrierOffset_r13          = configuration->nprach_SubcarrierOffset[0];
@@ -539,7 +454,6 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
   nprach_parameters[0].npdcch_NumRepetitions_RA_r13         = configuration->npdcch_NumRepetitions_RA[0];
   nprach_parameters[0].npdcch_StartSF_CSS_RA_r13            = configuration->npdcch_StartSF_CSS_RA[0];
   nprach_parameters[0].npdcch_Offset_RA_r13                 = configuration->npdcch_Offset_RA[0];
-
   nprach_parameters[1].nprach_Periodicity_r13               = configuration->nprach_Periodicity[1];
   nprach_parameters[1].nprach_StartTime_r13                 = configuration->nprach_StartTime[1];
   nprach_parameters[1].nprach_SubcarrierOffset_r13          = configuration->nprach_SubcarrierOffset[1];
@@ -550,7 +464,6 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
   nprach_parameters[1].npdcch_NumRepetitions_RA_r13         = configuration->npdcch_NumRepetitions_RA[1];
   nprach_parameters[1].npdcch_StartSF_CSS_RA_r13            = configuration->npdcch_StartSF_CSS_RA[1];
   nprach_parameters[1].npdcch_Offset_RA_r13                 = configuration->npdcch_Offset_RA[1];
-
   nprach_parameters[2].nprach_Periodicity_r13               = configuration->nprach_Periodicity[2];
   nprach_parameters[2].nprach_StartTime_r13                 = configuration->nprach_StartTime[2];
   nprach_parameters[2].nprach_SubcarrierOffset_r13          = configuration->nprach_SubcarrierOffset[2];
@@ -561,40 +474,29 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
   nprach_parameters[2].npdcch_NumRepetitions_RA_r13         = configuration->npdcch_NumRepetitions_RA[2];
   nprach_parameters[2].npdcch_StartSF_CSS_RA_r13            = configuration->npdcch_StartSF_CSS_RA[2];
   nprach_parameters[2].npdcch_Offset_RA_r13                 = configuration->npdcch_Offset_RA[2];
-
-
   //nprach_parameterList have a max size of 3 possible nprach configuration (see maxNPRACH_Resources_NB_r13)
   ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[0]);
   ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[1]);
   ASN_SEQUENCE_ADD(&sib2_NB_IoT->radioResourceConfigCommon_r13.nprach_Config_r13.nprach_ParametersList_r13.list,&nprach_parameters[2]);
-  
   // NPDSCH-Config NB-IOT
   sib2_NB_IoT->radioResourceConfigCommon_r13.npdsch_ConfigCommon_r13.nrs_Power_r13= configuration->npdsch_nrs_Power;
-
-
   //NPUSCH-Config NB-IoT----------------------------------------------------------------
   //list of size 3 (see maxNPRACH_Resources_NB_r13)
   ack_nack_repetition = configuration-> npusch_ack_nack_numRepetitions_NB; //is an enumerative
   ASN_SEQUENCE_ADD(&(sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.ack_NACK_NumRepetitions_Msg4_r13.list) ,&ack_nack_repetition);
-
   *srs_SubframeConfig = configuration->npusch_srs_SubframeConfig_NB;
   sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.srs_SubframeConfig_r13= srs_SubframeConfig; /*OPTIONAL*/
-
-
   /*OPTIONAL*/
   dmrs_config = CALLOC(1,sizeof(struct LTE_NPUSCH_ConfigCommon_NB_r13__dmrs_Config_r13));
   dmrs_config->threeTone_CyclicShift_r13 = configuration->npusch_threeTone_CyclicShift_r13;
   dmrs_config->sixTone_CyclicShift_r13 = configuration->npusch_sixTone_CyclicShift_r13;
-
   /*OPTIONAL
    * -define the base sequence for a DMRS sequence in a cell with multi tone transmission (3,6,12) see TS 36.331 NPUSCH-Config-NB
    * -if not defined will be calculated based on the cellID once we configure the phy layer (rrc_mac_config_req) through the config_sib2 */
   dmrs_config->threeTone_BaseSequence_r13 = NULL;
   dmrs_config->sixTone_BaseSequence_r13 = NULL;
   dmrs_config->twelveTone_BaseSequence_r13 = NULL;
-
   sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.dmrs_Config_r13 = dmrs_config;
-
   //ulReferenceSignalsNPUSCH
   /*Reference Signal (RS) for UL in NB-IoT is called DRS (Demodulation Reference Signal)
    * sequence-group hopping can be enabled or disabled by means of the cell-specific parameter groupHoppingEnabled_r13
@@ -603,22 +505,17 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
    */
   sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.ul_ReferenceSignalsNPUSCH_r13.groupHoppingEnabled_r13= configuration->npusch_groupHoppingEnabled;
   sib2_NB_IoT->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.ul_ReferenceSignalsNPUSCH_r13.groupAssignmentNPUSCH_r13 =configuration->npusch_groupAssignmentNPUSCH_r13;
-
-
   //dl_GAP---------------------------------------------------------------------------------/*OPTIONAL*/
   dl_Gap = CALLOC(1,sizeof(struct LTE_DL_GapConfig_NB_r13));
   dl_Gap->dl_GapDurationCoeff_r13= configuration-> dl_GapDurationCoeff_NB;
   dl_Gap->dl_GapPeriodicity_r13= configuration->dl_GapPeriodicity_NB;
   dl_Gap->dl_GapThreshold_r13= configuration->dl_GapThreshold_NB;
   sib2_NB_IoT->radioResourceConfigCommon_r13.dl_Gap_r13 = dl_Gap;
-
-
   // uplinkPowerControlCommon - NB-IoT------------------------------------------------------
   sib2_NB_IoT->radioResourceConfigCommon_r13.uplinkPowerControlCommon_r13.p0_NominalNPUSCH_r13 = configuration->npusch_p0_NominalNPUSCH;
   sib2_NB_IoT->radioResourceConfigCommon_r13.uplinkPowerControlCommon_r13.deltaPreambleMsg3_r13 = configuration->deltaPreambleMsg3;
   sib2_NB_IoT->radioResourceConfigCommon_r13.uplinkPowerControlCommon_r13.alpha_r13 = configuration->npusch_alpha;
   //no deltaFlist_PUCCH and no UL cyclic prefix
-
   // UE Timers and Constants -NB-IoT--------------------------------------------------------
   sib2_NB_IoT->ue_TimersAndConstants_r13.t300_r13 = configuration-> ue_TimersAndConstants_t300_NB;
   sib2_NB_IoT->ue_TimersAndConstants_r13.t301_r13 = configuration-> ue_TimersAndConstants_t301_NB;
@@ -626,61 +523,47 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
   sib2_NB_IoT->ue_TimersAndConstants_r13.t311_r13 = configuration-> ue_TimersAndConstants_t311_NB;
   sib2_NB_IoT->ue_TimersAndConstants_r13.n310_r13 = configuration-> ue_TimersAndConstants_n310_NB;
   sib2_NB_IoT->ue_TimersAndConstants_r13.n311_r13 = configuration-> ue_TimersAndConstants_n311_NB;
-
   //other SIB2-NB Parameters--------------------------------------------------------------------------------
   sib2_NB_IoT->freqInfo_r13.additionalSpectrumEmission_r13 = 1;
   sib2_NB_IoT->freqInfo_r13.ul_CarrierFreq_r13 = NULL; /*OPTIONAL*/
-
   sib2_NB_IoT->timeAlignmentTimerCommon_r13=LTE_TimeAlignmentTimer_infinity;//TimeAlignmentTimer_sf5120;
-
   /*OPTIONAL*/
   sib2_NB_IoT->multiBandInfoList_r13 = NULL;
-
-/// SIB3-NB-------------------------------------------------------
-
+  /// SIB3-NB-------------------------------------------------------
   sib3_NB_IoT->cellReselectionInfoCommon_r13.q_Hyst_r13=LTE_SystemInformationBlockType3_NB_r13__cellReselectionInfoCommon_r13__q_Hyst_r13_dB4;
   sib3_NB_IoT->cellReselectionServingFreqInfo_r13.s_NonIntraSearch_r13=0; //or define in configuration?
-
   sib3_NB_IoT->intraFreqCellReselectionInfo_r13.q_RxLevMin_r13 = -70;
   //new
   sib3_NB_IoT->intraFreqCellReselectionInfo_r13.q_QualMin_r13 = CALLOC(1,sizeof(*sib3_NB_IoT->intraFreqCellReselectionInfo_r13.q_QualMin_r13));
   *(sib3_NB_IoT->intraFreqCellReselectionInfo_r13.q_QualMin_r13)= 10; //a caso
-
   sib3_NB_IoT->intraFreqCellReselectionInfo_r13.p_Max_r13 = NULL;
   sib3_NB_IoT->intraFreqCellReselectionInfo_r13.s_IntraSearchP_r13 = 31; // s_intraSearch --> s_intraSearchP!!! (they call in a different way)
   sib3_NB_IoT->intraFreqCellReselectionInfo_r13.t_Reselection_r13=1;
-
   //how to manage?
   sib3_NB_IoT->freqBandInfo_r13 = NULL;
   sib3_NB_IoT->multiBandInfoList_r13 = NULL;
-
-
-///BCCH message (generate the SI message)
+  ///BCCH message (generate the SI message)
   bcch_message->message.present = LTE_BCCH_DL_SCH_MessageType_NB_PR_c1;
   bcch_message->message.choice.c1.present = LTE_BCCH_DL_SCH_MessageType_NB__c1_PR_systemInformation_r13;
-
   bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.present = LTE_SystemInformation_NB__criticalExtensions_PR_systemInformation_r13;
   bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list.count=0;
-
   ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list,
                    sib2_NB_part);
   ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation_r13.criticalExtensions.choice.systemInformation_r13.sib_TypeAndInfo_r13.list,
                    sib3_NB_part);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
+    xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message_NB, (void *)bcch_message);
   }
+
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_BCCH_DL_SCH_Message_NB,
                                    NULL,
-                                   (void*)bcch_message,
+                                   (void *)bcch_message,
                                    carrier->SIB23_NB_IoT,
                                    900);
-//  AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
-//               enc_rval.failed_type->name, enc_rval.encoded);
-
-//#if defined(ENABLE_ITTI).....
-
-
+  //  AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %lu)!\n",
+  //               enc_rval.failed_type->name, enc_rval.encoded);
+  //#if defined(ENABLE_ITTI).....
 #ifdef USER_MODE
   LOG_D(RRC,"[NB-IoT] SystemInformation-NB Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
 #endif
@@ -692,270 +575,226 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
 
   carrier->sib2_NB_IoT = sib2_NB_IoT;
   carrier->sib3_NB_IoT = sib3_NB_IoT;
-
   return((enc_rval.encoded+7)/8);
 }
 
 /*do_RRCConnectionSetup_NB_IoT--> the aim is to establish SRB1 and SRB1bis(implicitly)*/
 uint8_t do_RRCConnectionSetup_NB_IoT(
-  const protocol_ctxt_t*     const ctxt_pP,
-  rrc_eNB_ue_context_NB_IoT_t*      const ue_context_pP,
+  const protocol_ctxt_t     *const ctxt_pP,
+  rrc_eNB_ue_context_NB_IoT_t      *const ue_context_pP,
   int                              CC_id,
-  uint8_t*                   const buffer, //Srb0.Tx_buffer.Payload
+  uint8_t                   *const buffer, //Srb0.Tx_buffer.Payload
   const uint8_t                    Transaction_id,
-  const NB_IoT_DL_FRAME_PARMS* const frame_parms, // maybe not used
-  LTE_SRB_ToAddModList_NB_r13_t**             SRB_configList_NB_IoT, //for both SRB1bis and SRB1
-  struct LTE_PhysicalConfigDedicated_NB_r13** physicalConfigDedicated_NB_IoT
+  const NB_IoT_DL_FRAME_PARMS *const frame_parms, // maybe not used
+  LTE_SRB_ToAddModList_NB_r13_t             **SRB_configList_NB_IoT, //for both SRB1bis and SRB1
+  struct LTE_PhysicalConfigDedicated_NB_r13 **physicalConfigDedicated_NB_IoT
 )
 
 {
+  asn_enc_rval_t enc_rval;
+  //MP:logical channel group not defined for Nb-IoT
+  //MP: logical channel priority pag 605 (is 1 for SRB1 and for SRB1bis should be the same)
+  //long* prioritySRB1 = NULL;
+  long *prioritySRB1bis = NULL;
+  BOOLEAN_t *logicalChannelSR_Prohibit =NULL; //pag 605
+  BOOLEAN_t *npusch_AllSymbols= NULL;
+  // struct SRB_ToAddMod_NB_r13* SRB1_config_NB = NULL;
+  // struct SRB_ToAddMod_NB_r13__rlc_Config_r13* SRB1_rlc_config_NB = NULL;
+  // struct SRB_ToAddMod_NB_r13__logicalChannelConfig_r13* SRB1_lchan_config_NB = NULL;
+  struct LTE_SRB_ToAddMod_NB_r13 *SRB1bis_config_NB_IoT = NULL;
+  struct LTE_SRB_ToAddMod_NB_r13__rlc_Config_r13 *SRB1bis_rlc_config_NB_IoT = NULL;
+  struct LTE_SRB_ToAddMod_NB_r13__logicalChannelConfig_r13 *SRB1bis_lchan_config_NB_IoT = NULL;
+  //No UL_specific parameters for NB-IoT in LogicalChanelConfig-NB
+  LTE_PhysicalConfigDedicated_NB_r13_t *physicalConfigDedicated2_NB_IoT = NULL;
+  LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
+  LTE_RRCConnectionSetup_NB_t *rrcConnectionSetup_NB_IoT = NULL;
+  memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(LTE_DL_CCCH_Message_NB_t));
+  dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
+  dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionSetup_r13;
+  rrcConnectionSetup_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionSetup_r13;
 
- asn_enc_rval_t enc_rval;
-
-
- //MP:logical channel group not defined for Nb-IoT
-
- //MP: logical channel priority pag 605 (is 1 for SRB1 and for SRB1bis should be the same)
- //long* prioritySRB1 = NULL;
- long* prioritySRB1bis = NULL;
- BOOLEAN_t* logicalChannelSR_Prohibit =NULL; //pag 605
- BOOLEAN_t* npusch_AllSymbols= NULL;
-
-// struct SRB_ToAddMod_NB_r13* SRB1_config_NB = NULL;
-// struct SRB_ToAddMod_NB_r13__rlc_Config_r13* SRB1_rlc_config_NB = NULL;
-// struct SRB_ToAddMod_NB_r13__logicalChannelConfig_r13* SRB1_lchan_config_NB = NULL;
-
- struct LTE_SRB_ToAddMod_NB_r13* SRB1bis_config_NB_IoT = NULL;
- struct LTE_SRB_ToAddMod_NB_r13__rlc_Config_r13* SRB1bis_rlc_config_NB_IoT = NULL;
- struct LTE_SRB_ToAddMod_NB_r13__logicalChannelConfig_r13* SRB1bis_lchan_config_NB_IoT = NULL;
-
- //No UL_specific parameters for NB-IoT in LogicalChanelConfig-NB
-
- LTE_PhysicalConfigDedicated_NB_r13_t* physicalConfigDedicated2_NB_IoT = NULL;
- LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
- LTE_RRCConnectionSetup_NB_t* rrcConnectionSetup_NB_IoT = NULL;
-
- memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(LTE_DL_CCCH_Message_NB_t));
- dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
- dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionSetup_r13;
- rrcConnectionSetup_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionSetup_r13;
-
-
- if (*SRB_configList_NB_IoT) {
-   free(*SRB_configList_NB_IoT);
- }
- *SRB_configList_NB_IoT = CALLOC(1,sizeof(LTE_SRB_ToAddModList_NB_r13_t));
-
-/// SRB1--------------------
- {
-// SRB1_config_NB = CALLOC(1,sizeof(*SRB1_config_NB));
-//
-// //no srb_Identity in SRB_ToAddMod_NB
-//
-// SRB1_rlc_config_NB = CALLOC(1,sizeof(*SRB1_rlc_config_NB));
-// SRB1_config_NB->rlc_Config_r13   = SRB1_rlc_config_NB;
-//
-// SRB1_rlc_config_NB->present = SRB_ToAddMod_NB_r13__rlc_Config_r13_PR_explicitValue;
-// SRB1_rlc_config_NB->choice.explicitValue.present=RLC_Config_NB_r13_PR_am;//the only possible in NB_IoT
-//
-//// SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = enb_properties.properties[ctxt_pP->module_id]->srb1_timer_poll_retransmit_r13;
-//// SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = enb_properties.properties[ctxt_pP->module_id]->srb1_max_retx_threshold_r13;
-//// //(musT be disabled--> SRB1 config pag 640 specs )
-//// SRB1_rlc_config_NB->choice.explicitValue.choice.am.dl_AM_RLC_r13.enableStatusReportSN_Gap_r13 =NULL;
-//
-//
-// SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = T_PollRetransmit_NB_r13_ms25000;
-// SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = UL_AM_RLC_NB_r13__maxRetxThreshold_r13_t8;
-// //(musT be disabled--> SRB1 config pag 640 specs )
-// SRB1_rlc_config_NB->choice.explicitValue.choice.am.dl_AM_RLC_r13.enableStatusReportSN_Gap_r13 = NULL;
-//
-// SRB1_lchan_config_NB = CALLOC(1,sizeof(*SRB1_lchan_config_NB));
-// SRB1_config_NB->logicalChannelConfig_r13  = SRB1_lchan_config_NB;
-//
-// SRB1_lchan_config_NB->present = SRB_ToAddMod_NB_r13__logicalChannelConfig_r13_PR_explicitValue;
-//
-//
-// prioritySRB1 = CALLOC(1, sizeof(long));
-// *prioritySRB1 = 1;
-// SRB1_lchan_config_NB->choice.explicitValue.priority_r13 = prioritySRB1;
-//
-// logicalChannelSR_Prohibit = CALLOC(1, sizeof(BOOLEAN_t));
-// *logicalChannelSR_Prohibit = 1;
-// //schould be set to TRUE (specs pag 641)
-// SRB1_lchan_config_NB->choice.explicitValue.logicalChannelSR_Prohibit_r13 = logicalChannelSR_Prohibit;
-//
-// //ADD SRB1
-// ASN_SEQUENCE_ADD(&(*SRB_configList_NB_IoT)->list,SRB1_config_NB);
- }
-
-///SRB1bis (The configuration for SRB1 and SRB1bis is the same) the only difference is the logical channel identity = 3 but not set here
-
-		 SRB1bis_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_config_NB_IoT));
-
-		 //no srb_Identity in SRB_ToAddMod_NB
-		 SRB1bis_rlc_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_rlc_config_NB_IoT));
-		 SRB1bis_config_NB_IoT->rlc_Config_r13   = SRB1bis_rlc_config_NB_IoT;
-
-		 SRB1bis_rlc_config_NB_IoT->present = LTE_SRB_ToAddMod_NB_r13__rlc_Config_r13_PR_explicitValue;
-		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.present=LTE_RLC_Config_NB_r13_PR_am;//MP: the only possible RLC config in NB_IoT
-
-		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = LTE_T_PollRetransmit_NB_r13_ms25000;
-		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = LTE_UL_AM_RLC_NB_r13__maxRetxThreshold_r13_t8;
-		 //(musT be disabled--> SRB1 config pag 640 specs )
-		 SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.dl_AM_RLC_r13.enableStatusReportSN_Gap_r13 =NULL;
-
-		 SRB1bis_lchan_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_lchan_config_NB_IoT));
-		 SRB1bis_config_NB_IoT->logicalChannelConfig_r13  = SRB1bis_lchan_config_NB_IoT;
-
-		 SRB1bis_lchan_config_NB_IoT->present = LTE_SRB_ToAddMod_NB_r13__logicalChannelConfig_r13_PR_explicitValue;
-
-		 prioritySRB1bis = CALLOC(1, sizeof(long));
-		 *prioritySRB1bis = 1; //same as SRB1?
-		 SRB1bis_lchan_config_NB_IoT->choice.explicitValue.priority_r13 = prioritySRB1bis;
-
-		 logicalChannelSR_Prohibit = CALLOC(1, sizeof(BOOLEAN_t));
-		 *logicalChannelSR_Prohibit = 1; //schould be set to TRUE (specs pag 641)
-		 SRB1bis_lchan_config_NB_IoT->choice.explicitValue.logicalChannelSR_Prohibit_r13 = logicalChannelSR_Prohibit;
-
-		 //ADD SRB1bis
-		 //MP: Actually there is no way to distinguish SRB1 and SRB1bis once put in the list
-		 //MP: SRB_ToAddModList_NB_r13_t size = 1
-		 ASN_SEQUENCE_ADD(&(*SRB_configList_NB_IoT)->list,SRB1bis_config_NB_IoT);
-
-
- // PhysicalConfigDedicated (NPDCCH, NPUSCH, CarrierConfig, UplinkPowerControl)
-
- physicalConfigDedicated2_NB_IoT = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT));
- *physicalConfigDedicated_NB_IoT = physicalConfigDedicated2_NB_IoT;
-
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13= CALLOC(1, sizeof(*physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13));
- physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13 = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13));
- physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13 = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13));
- physicalConfigDedicated2_NB_IoT->uplinkPowerControlDedicated_r13 = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT->uplinkPowerControlDedicated_r13));
-
- //no tpc, no cqi and no pucch, no pdsch, no soundingRS, no AntennaInfo, no scheduling request config
-
- /*
-  * NB-IoT supports the operation with either one or two antenna ports, AP0 and AP1.
-  * For the latter case, Space Frequency Block Coding (SFBC) is applied.
-  * Once selected, the same transmission scheme applies to NPBCH, NPDCCH, and NPDSCH.
-  * */
-
- //FIXME: MP: CarrierConfigDedicated check the set values ----------------------------------------------
+  if (*SRB_configList_NB_IoT) {
+    free(*SRB_configList_NB_IoT);
+  }
 
+  *SRB_configList_NB_IoT = CALLOC(1,sizeof(LTE_SRB_ToAddModList_NB_r13_t));
+  /// SRB1--------------------
+  {
+    // SRB1_config_NB = CALLOC(1,sizeof(*SRB1_config_NB));
+    //
+    // //no srb_Identity in SRB_ToAddMod_NB
+    //
+    // SRB1_rlc_config_NB = CALLOC(1,sizeof(*SRB1_rlc_config_NB));
+    // SRB1_config_NB->rlc_Config_r13   = SRB1_rlc_config_NB;
+    //
+    // SRB1_rlc_config_NB->present = SRB_ToAddMod_NB_r13__rlc_Config_r13_PR_explicitValue;
+    // SRB1_rlc_config_NB->choice.explicitValue.present=RLC_Config_NB_r13_PR_am;//the only possible in NB_IoT
+    //
+    //// SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = enb_properties.properties[ctxt_pP->module_id]->srb1_timer_poll_retransmit_r13;
+    //// SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = enb_properties.properties[ctxt_pP->module_id]->srb1_max_retx_threshold_r13;
+    //// //(musT be disabled--> SRB1 config pag 640 specs )
+    //// SRB1_rlc_config_NB->choice.explicitValue.choice.am.dl_AM_RLC_r13.enableStatusReportSN_Gap_r13 =NULL;
+    //
+    //
+    // SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = T_PollRetransmit_NB_r13_ms25000;
+    // SRB1_rlc_config_NB->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = UL_AM_RLC_NB_r13__maxRetxThreshold_r13_t8;
+    // //(musT be disabled--> SRB1 config pag 640 specs )
+    // SRB1_rlc_config_NB->choice.explicitValue.choice.am.dl_AM_RLC_r13.enableStatusReportSN_Gap_r13 = NULL;
+    //
+    // SRB1_lchan_config_NB = CALLOC(1,sizeof(*SRB1_lchan_config_NB));
+    // SRB1_config_NB->logicalChannelConfig_r13  = SRB1_lchan_config_NB;
+    //
+    // SRB1_lchan_config_NB->present = SRB_ToAddMod_NB_r13__logicalChannelConfig_r13_PR_explicitValue;
+    //
+    //
+    // prioritySRB1 = CALLOC(1, sizeof(long));
+    // *prioritySRB1 = 1;
+    // SRB1_lchan_config_NB->choice.explicitValue.priority_r13 = prioritySRB1;
+    //
+    // logicalChannelSR_Prohibit = CALLOC(1, sizeof(BOOLEAN_t));
+    // *logicalChannelSR_Prohibit = 1;
+    // //schould be set to TRUE (specs pag 641)
+    // SRB1_lchan_config_NB->choice.explicitValue.logicalChannelSR_Prohibit_r13 = logicalChannelSR_Prohibit;
+    //
+    // //ADD SRB1
+    // ASN_SEQUENCE_ADD(&(*SRB_configList_NB_IoT)->list,SRB1_config_NB);
+  }
+  ///SRB1bis (The configuration for SRB1 and SRB1bis is the same) the only difference is the logical channel identity = 3 but not set here
+  SRB1bis_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_config_NB_IoT));
+  //no srb_Identity in SRB_ToAddMod_NB
+  SRB1bis_rlc_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_rlc_config_NB_IoT));
+  SRB1bis_config_NB_IoT->rlc_Config_r13   = SRB1bis_rlc_config_NB_IoT;
+  SRB1bis_rlc_config_NB_IoT->present = LTE_SRB_ToAddMod_NB_r13__rlc_Config_r13_PR_explicitValue;
+  SRB1bis_rlc_config_NB_IoT->choice.explicitValue.present=LTE_RLC_Config_NB_r13_PR_am;//MP: the only possible RLC config in NB_IoT
+  SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.t_PollRetransmit_r13 = LTE_T_PollRetransmit_NB_r13_ms25000;
+  SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.ul_AM_RLC_r13.maxRetxThreshold_r13 = LTE_UL_AM_RLC_NB_r13__maxRetxThreshold_r13_t8;
+  //(musT be disabled--> SRB1 config pag 640 specs )
+  SRB1bis_rlc_config_NB_IoT->choice.explicitValue.choice.am.dl_AM_RLC_r13.enableStatusReportSN_Gap_r13 =NULL;
+  SRB1bis_lchan_config_NB_IoT = CALLOC(1,sizeof(*SRB1bis_lchan_config_NB_IoT));
+  SRB1bis_config_NB_IoT->logicalChannelConfig_r13  = SRB1bis_lchan_config_NB_IoT;
+  SRB1bis_lchan_config_NB_IoT->present = LTE_SRB_ToAddMod_NB_r13__logicalChannelConfig_r13_PR_explicitValue;
+  prioritySRB1bis = CALLOC(1, sizeof(long));
+  *prioritySRB1bis = 1; //same as SRB1?
+  SRB1bis_lchan_config_NB_IoT->choice.explicitValue.priority_r13 = prioritySRB1bis;
+  logicalChannelSR_Prohibit = CALLOC(1, sizeof(BOOLEAN_t));
+  *logicalChannelSR_Prohibit = 1; //schould be set to TRUE (specs pag 641)
+  SRB1bis_lchan_config_NB_IoT->choice.explicitValue.logicalChannelSR_Prohibit_r13 = logicalChannelSR_Prohibit;
+  //ADD SRB1bis
+  //MP: Actually there is no way to distinguish SRB1 and SRB1bis once put in the list
+  //MP: SRB_ToAddModList_NB_r13_t size = 1
+  ASN_SEQUENCE_ADD(&(*SRB_configList_NB_IoT)->list,SRB1bis_config_NB_IoT);
+  // PhysicalConfigDedicated (NPDCCH, NPUSCH, CarrierConfig, UplinkPowerControl)
+  physicalConfigDedicated2_NB_IoT = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT));
+  *physicalConfigDedicated_NB_IoT = physicalConfigDedicated2_NB_IoT;
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13= CALLOC(1, sizeof(*physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13));
+  physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13 = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13));
+  physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13 = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13));
+  physicalConfigDedicated2_NB_IoT->uplinkPowerControlDedicated_r13 = CALLOC(1,sizeof(*physicalConfigDedicated2_NB_IoT->uplinkPowerControlDedicated_r13));
+  //no tpc, no cqi and no pucch, no pdsch, no soundingRS, no AntennaInfo, no scheduling request config
+  /*
+   * NB-IoT supports the operation with either one or two antenna ports, AP0 and AP1.
+   * For the latter case, Space Frequency Block Coding (SFBC) is applied.
+   * Once selected, the same transmission scheme applies to NPBCH, NPDCCH, and NPDSCH.
+   * */
+  //FIXME: MP: CarrierConfigDedicated check the set values ----------------------------------------------
   //DL
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_CarrierFreq_r13.carrierFreq_r13=0;//random value set
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.downlinkBitmapNonAnchor_r13= CALLOC(1,
+      sizeof(struct LTE_DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13));
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.downlinkBitmapNonAnchor_r13->present=
+    LTE_DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13_PR_useNoBitmap_r13;
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_GapNonAnchor_r13 = CALLOC(1,sizeof(struct LTE_DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13));
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_GapNonAnchor_r13->present =
+    LTE_DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13_PR_useNoGap_r13;
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.inbandCarrierInfo_r13= NULL;
+  //UL
+  physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->ul_CarrierConfig_r13.ul_CarrierFreq_r13= NULL;
+  // NPDCCH
+  physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13->npdcch_NumRepetitions_r13 =0;
+  physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13->npdcch_Offset_USS_r13 =0;
+  physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13->npdcch_StartSF_USS_r13=0;
+  // NPUSCH //(specs TS 36.331 v14.2.1 pag 643) /* OPTIONAL */
+  physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13->ack_NACK_NumRepetitions_r13= NULL;
+  npusch_AllSymbols= CALLOC(1, sizeof(BOOLEAN_t));
+  *npusch_AllSymbols= 1; //TRUE
+  physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13->npusch_AllSymbols_r13= npusch_AllSymbols; /* OPTIONAL */
+  physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13->groupHoppingDisabled_r13=NULL; /* OPTIONAL */
+  // UplinkPowerControlDedicated
+  physicalConfigDedicated2_NB_IoT->uplinkPowerControlDedicated_r13->p0_UE_NPUSCH_r13 = 0; // 0 dB (specs TS36.331 v14.2.1 pag 643)
+  //Fill the rrcConnectionSetup-NB message
+  rrcConnectionSetup_NB_IoT->rrc_TransactionIdentifier = Transaction_id; //input value
+  rrcConnectionSetup_NB_IoT->criticalExtensions.present = LTE_RRCConnectionSetup_NB__criticalExtensions_PR_c1;
+  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.present =LTE_RRCConnectionSetup_NB__criticalExtensions__c1_PR_rrcConnectionSetup_r13 ;
+  //MP: carry only SRB1bis at the moment and phyConfigDedicated
+  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.srb_ToAddModList_r13 = *SRB_configList_NB_IoT;
+  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.drb_ToAddModList_r13 = NULL;
+  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.drb_ToReleaseList_r13 = NULL;
+  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.rlf_TimersAndConstants_r13 = NULL;
+  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.physicalConfigDedicated_r13 = physicalConfigDedicated2_NB_IoT;
+  rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.mac_MainConfig_r13 = NULL;
 
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_CarrierFreq_r13.carrierFreq_r13=0;//random value set
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.downlinkBitmapNonAnchor_r13= CALLOC(1,sizeof(struct LTE_DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13));
-		 physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.downlinkBitmapNonAnchor_r13->present=
-				 	 	 	 	 	 	 	 	 LTE_DL_CarrierConfigDedicated_NB_r13__downlinkBitmapNonAnchor_r13_PR_useNoBitmap_r13;
-
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_GapNonAnchor_r13 = CALLOC(1,sizeof(struct LTE_DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13));
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.dl_GapNonAnchor_r13->present =
-		  	  	  	  	  	  	  	  	  	  	  LTE_DL_CarrierConfigDedicated_NB_r13__dl_GapNonAnchor_r13_PR_useNoGap_r13;
+  if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
+    xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void *)&dl_ccch_msg_NB_IoT);
+  }
 
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->dl_CarrierConfig_r13.inbandCarrierInfo_r13= NULL;
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
+                                   NULL,
+                                   (void *)&dl_ccch_msg_NB_IoT,
+                                   buffer,
+                                   100);
 
-  //UL
- physicalConfigDedicated2_NB_IoT->carrierConfigDedicated_r13->ul_CarrierConfig_r13.ul_CarrierFreq_r13= NULL;
-
- // NPDCCH
- physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13->npdcch_NumRepetitions_r13 =0;
- physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13->npdcch_Offset_USS_r13 =0;
- physicalConfigDedicated2_NB_IoT->npdcch_ConfigDedicated_r13->npdcch_StartSF_USS_r13=0;
-
- // NPUSCH //(specs TS 36.331 v14.2.1 pag 643) /* OPTIONAL */
- physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13->ack_NACK_NumRepetitions_r13= NULL;
- npusch_AllSymbols= CALLOC(1, sizeof(BOOLEAN_t));
- *npusch_AllSymbols= 1; //TRUE
- physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13->npusch_AllSymbols_r13= npusch_AllSymbols; /* OPTIONAL */
- physicalConfigDedicated2_NB_IoT->npusch_ConfigDedicated_r13->groupHoppingDisabled_r13=NULL; /* OPTIONAL */
-
- // UplinkPowerControlDedicated
- physicalConfigDedicated2_NB_IoT->uplinkPowerControlDedicated_r13->p0_UE_NPUSCH_r13 = 0; // 0 dB (specs TS36.331 v14.2.1 pag 643)
-
-
- //Fill the rrcConnectionSetup-NB message
- rrcConnectionSetup_NB_IoT->rrc_TransactionIdentifier = Transaction_id; //input value
- rrcConnectionSetup_NB_IoT->criticalExtensions.present = LTE_RRCConnectionSetup_NB__criticalExtensions_PR_c1;
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.present =LTE_RRCConnectionSetup_NB__criticalExtensions__c1_PR_rrcConnectionSetup_r13 ;
- //MP: carry only SRB1bis at the moment and phyConfigDedicated
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.srb_ToAddModList_r13 = *SRB_configList_NB_IoT;
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.drb_ToAddModList_r13 = NULL;
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.drb_ToReleaseList_r13 = NULL;
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.rlf_TimersAndConstants_r13 = NULL;
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.physicalConfigDedicated_r13 = physicalConfigDedicated2_NB_IoT;
- rrcConnectionSetup_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionSetup_r13.radioResourceConfigDedicated_r13.mac_MainConfig_r13 = NULL;
-
- if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-    xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
- }
- enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
-                                  NULL,
-                                  (void*)&dl_ccch_msg_NB_IoT,
-                                  buffer,
-                                  100);
-
- if (enc_rval.encoded <= 0) {
-     LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
-              enc_rval.failed_type->name, enc_rval.encoded);
- }
+  if (enc_rval.encoded <= 0) {
+    LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
+  }
 
 #ifdef USER_MODE
- LOG_D(RRC,"RRCConnectionSetup-NB Encoded %zd bits (%zd bytes), ecause %d\n",
-       enc_rval.encoded,(enc_rval.encoded+7)/8,ecause);
+  LOG_D(RRC,"RRCConnectionSetup-NB Encoded %zd bits (%zd bytes), ecause %d\n",
+        enc_rval.encoded,(enc_rval.encoded+7)/8,ecause);
 #endif
-
- return((enc_rval.encoded+7)/8);
+  return((enc_rval.encoded+7)/8);
 }
 
 /*do_SecurityModeCommand - exactly the same as previous implementation*/
 uint8_t do_SecurityModeCommand_NB_IoT(
-  const protocol_ctxt_t* const ctxt_pP,
-  uint8_t* const buffer,
+  const protocol_ctxt_t *const ctxt_pP,
+  uint8_t *const buffer,
   const uint8_t Transaction_id,
   const uint8_t cipheringAlgorithm,
-  const uint8_t integrityProtAlgorithm)
-{
+  const uint8_t integrityProtAlgorithm) {
   LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
   asn_enc_rval_t enc_rval;
-
   memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
-
   dl_dcch_msg_NB_IoT.message.present = LTE_DL_DCCH_MessageType_NB_PR_c1;
   dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_securityModeCommand_r13;
-
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.rrc_TransactionIdentifier = Transaction_id;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.present = LTE_SecurityModeCommand__criticalExtensions_PR_c1;
-
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.choice.c1.present =
-		  LTE_SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
-
+    LTE_SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8;
   // the two following information could be based on the mod_id
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm
     = (LTE_CipheringAlgorithm_r12_t)cipheringAlgorithm; //bug solved
-
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.securityModeCommand_r13.criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm
     = (e_LTE_SecurityAlgorithmConfig__integrityProtAlgorithm)integrityProtAlgorithm;
 
-//only changed "asn_DEF_DL_DCCH_Message_NB"
+  //only changed "asn_DEF_DL_DCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
+    xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message_NB, (void *)&dl_dcch_msg_NB_IoT);
   }
+
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
-                                   (void*)&dl_dcch_msg_NB_IoT,
+                                   (void *)&dl_dcch_msg_NB_IoT,
                                    buffer,
                                    100);
+
   if (enc_rval.encoded <= 0) {
-      LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
-               enc_rval.failed_type->name, enc_rval.encoded);
+    LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
   }
 
-
-//#if defined(ENABLE_ITTI)
-//# if !defined(DISABLE_XER_SPRINT)....
-
+  //#if defined(ENABLE_ITTI)
+  //# if !defined(DISABLE_XER_SPRINT)....
 #ifdef USER_MODE
   LOG_D(RRC,"[NB-IoT %d] securityModeCommand-NB for UE %x Encoded %zd bits (%zd bytes)\n",
         ctxt_pP->module_id,
@@ -976,47 +815,43 @@ uint8_t do_SecurityModeCommand_NB_IoT(
 
 /*do_UECapabilityEnquiry_NB_IoT - very similar to legacy lte*/
 uint8_t do_UECapabilityEnquiry_NB_IoT(
-  const protocol_ctxt_t* const ctxt_pP,
-  uint8_t*               const buffer,
+  const protocol_ctxt_t *const ctxt_pP,
+  uint8_t               *const buffer,
   const uint8_t                Transaction_id
 )
 
 {
-
   LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
   //no RAT type in NB-IoT
   asn_enc_rval_t enc_rval;
-
   memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
-
   dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
   dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_ueCapabilityEnquiry_r13;
-
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.ueCapabilityEnquiry_r13.rrc_TransactionIdentifier = Transaction_id;
-
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.ueCapabilityEnquiry_r13.criticalExtensions.present = LTE_UECapabilityEnquiry_NB__criticalExtensions_PR_c1;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.ueCapabilityEnquiry_r13.criticalExtensions.choice.c1.present =
-		  LTE_UECapabilityEnquiry_NB__criticalExtensions__c1_PR_ueCapabilityEnquiry_r13;
+    LTE_UECapabilityEnquiry_NB__criticalExtensions__c1_PR_ueCapabilityEnquiry_r13;
 
   //no ue_CapabilityRequest (list of RAT_Type)
 
-//only changed "asn_DEF_DL_DCCH_Message_NB"
+  //only changed "asn_DEF_DL_DCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
+    xer_fprint(stdout, &asn_DEF_LTE_DL_DCCH_Message_NB, (void *)&dl_dcch_msg_NB_IoT);
   }
+
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
-                                   (void*)&dl_dcch_msg_NB_IoT,
+                                   (void *)&dl_dcch_msg_NB_IoT,
                                    buffer,
                                    100);
-  if (enc_rval.encoded <= 0) {
-     LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
-               enc_rval.failed_type->name, enc_rval.encoded);
-    }
 
-//#if defined(ENABLE_ITTI)
-//# if !defined(DISABLE_XER_SPRINT)....
+  if (enc_rval.encoded <= 0) {
+    LOG_E(RRC, "ASN1 message encoding failed (%s, %lu)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
+  }
 
+  //#if defined(ENABLE_ITTI)
+  //# if !defined(DISABLE_XER_SPRINT)....
 #ifdef USER_MODE
   LOG_D(RRC,"[NB-IoT %d] UECapabilityEnquiry-NB for UE %x Encoded %zd bits (%zd bytes)\n",
         ctxt_pP->module_id,
@@ -1039,39 +874,32 @@ uint8_t do_UECapabilityEnquiry_NB_IoT(
  * (including RBs, MAC main configuration and physical channel configuration)
  * including any associated dedicated NAS information.*/
 uint16_t do_RRCConnectionReconfiguration_NB_IoT(
-  const protocol_ctxt_t*        const ctxt_pP,
-    uint8_t                            *buffer,
-    uint8_t                             Transaction_id,
-    LTE_SRB_ToAddModList_NB_r13_t          *SRB1_list_NB, //SRB_ConfigList2 (default)--> only SRB1
-    LTE_DRB_ToAddModList_NB_r13_t          *DRB_list_NB_IoT, //DRB_ConfigList (default)
-    LTE_DRB_ToReleaseList_NB_r13_t         *DRB_list2_NB_IoT, //is NULL when passed
-    struct LTE_PhysicalConfigDedicated_NB_r13     *physicalConfigDedicated_NB_IoT,
-	LTE_MAC_MainConfig_NB_r13_t                   *mac_MainConfig_NB_IoT,
-  struct LTE_RRCConnectionReconfiguration_NB_r13_IEs__dedicatedInfoNASList_r13* dedicatedInfoNASList_NB_IoT)
+  const protocol_ctxt_t        *const ctxt_pP,
+  uint8_t                            *buffer,
+  uint8_t                             Transaction_id,
+  LTE_SRB_ToAddModList_NB_r13_t          *SRB1_list_NB, //SRB_ConfigList2 (default)--> only SRB1
+  LTE_DRB_ToAddModList_NB_r13_t          *DRB_list_NB_IoT, //DRB_ConfigList (default)
+  LTE_DRB_ToReleaseList_NB_r13_t         *DRB_list2_NB_IoT, //is NULL when passed
+  struct LTE_PhysicalConfigDedicated_NB_r13     *physicalConfigDedicated_NB_IoT,
+  LTE_MAC_MainConfig_NB_r13_t                   *mac_MainConfig_NB_IoT,
+  struct LTE_RRCConnectionReconfiguration_NB_r13_IEs__dedicatedInfoNASList_r13 *dedicatedInfoNASList_NB_IoT)
 
 {
-
- //check on DRB_list if contains more than 2 DRB?
-
+  //check on DRB_list if contains more than 2 DRB?
   asn_enc_rval_t enc_rval;
   LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
   LTE_RRCConnectionReconfiguration_NB_t *rrcConnectionReconfiguration_NB;
-
-
   memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
-
   dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
   dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_rrcConnectionReconfiguration_r13;
   rrcConnectionReconfiguration_NB          = &dl_dcch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReconfiguration_r13;
-
   // RRCConnectionReconfiguration
   rrcConnectionReconfiguration_NB->rrc_TransactionIdentifier = Transaction_id;
   rrcConnectionReconfiguration_NB->criticalExtensions.present = LTE_RRCConnectionReconfiguration_NB__criticalExtensions_PR_c1;
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.present =LTE_RRCConnectionReconfiguration_NB__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r13 ;
-
   //RAdioResourceconfigDedicated
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13 =
-		  CALLOC(1,sizeof(*rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13));
+    CALLOC(1,sizeof(*rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13));
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->srb_ToAddModList_r13 = SRB1_list_NB; //only SRB1
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->drb_ToAddModList_r13 = DRB_list_NB_IoT;
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->drb_ToReleaseList_r13 = DRB_list2_NB_IoT; //NULL
@@ -1081,126 +909,94 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
 
   if (mac_MainConfig_NB_IoT!=NULL) {
     rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13 =
-    		CALLOC(1, sizeof(*rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13));
+      CALLOC(1, sizeof(*rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13));
     rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13->present
       =LTE_RadioResourceConfigDedicated_NB_r13__mac_MainConfig_r13_PR_explicitValue_r13;
-   //why memcopy only this one?
+    //why memcopy only this one?
     memcpy(&rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13->choice.explicitValue_r13,
            mac_MainConfig_NB_IoT, sizeof(*mac_MainConfig_NB_IoT));
-
   } else {
-	  rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13=NULL;
+    rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.radioResourceConfigDedicated_r13->mac_MainConfig_r13=NULL;
   }
 
   //no measConfig, measIDlist
   //no mobilityControlInfo
-
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.dedicatedInfoNASList_r13 = dedicatedInfoNASList_NB_IoT;
   //mainly used for cell-reselection/handover purposes??
   rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.fullConfig_r13 = NULL;
-
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
-                                   (void*)&dl_dcch_msg_NB_IoT,
+                                   (void *)&dl_dcch_msg_NB_IoT,
                                    buffer,
                                    RRC_BUF_SIZE);
+
   if (enc_rval.encoded <= 0) {
-     LOG_E(RRC, "ASN1 message encoding failed %s, %li\n",
-               enc_rval.failed_type->name, enc_rval.encoded);
+    LOG_E(RRC, "ASN1 message encoding failed %s, %li\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
   }
 
   //changed only asn_DEF_DL_DCCH_Message_NB
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message_NB,(void*)&dl_dcch_msg_NB_IoT);
+    xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message_NB,(void *)&dl_dcch_msg_NB_IoT);
   }
 
-//#if defined(ENABLE_ITTI)
-//# if !defined(DISABLE_XER_SPRINT)...
-
-
+  //#if defined(ENABLE_ITTI)
+  //# if !defined(DISABLE_XER_SPRINT)...
   LOG_I(RRC,"RRCConnectionReconfiguration-NB Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
-
   return((enc_rval.encoded+7)/8);
 }
 
 /*do_RRCConnectionReestablishmentReject - exactly the same as legacy LTE*/
 uint8_t do_RRCConnectionReestablishmentReject_NB_IoT(
-    uint8_t                    Mod_id,
-    uint8_t*                   const buffer)
-{
-
+  uint8_t                    Mod_id,
+  uint8_t                   *const buffer) {
   asn_enc_rval_t enc_rval;
-
   LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
   LTE_RRCConnectionReestablishmentReject_t *rrcConnectionReestablishmentReject;
-
   memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(LTE_DL_CCCH_Message_NB_t));
   dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
   dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishmentReject_r13;
   rrcConnectionReestablishmentReject    = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReestablishmentReject_r13;
-
   // RRCConnectionReestablishmentReject //exactly the same as LTE
   rrcConnectionReestablishmentReject->criticalExtensions.present = LTE_RRCConnectionReestablishmentReject__criticalExtensions_PR_rrcConnectionReestablishmentReject_r8;
 
   //Only change in "asn_DEF_DL_CCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
+    xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void *)&dl_ccch_msg_NB_IoT);
   }
+
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
                                    NULL,
-                                   (void*)&dl_ccch_msg_NB_IoT,
+                                   (void *)&dl_ccch_msg_NB_IoT,
                                    buffer,
                                    100);
+
   if (enc_rval.encoded <= 0) {
-     LOG_E(RRC,"ASN1 message encoding failed (%s, %lu)!\n",
-               enc_rval.failed_type->name, enc_rval.encoded);
+    LOG_E(RRC,"ASN1 message encoding failed (%s, %lu)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
   }
 
   //Only change in "asn_DEF_DL_CCCH_Message_NB"
-#if defined(ENABLE_ITTI)
-# if !defined(DISABLE_XER_SPRINT)
-  {
-    char        message_string[20000];
-    size_t      message_string_size;
-
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
-      MessageDef *msg_p;
-
-      msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rrc_dl_ccch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_dl_ccch.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, Mod_id, msg_p);
-    }
-  }
-# endif
-#endif
-
 #ifdef USER_MODE
   LOG_D(RRC,"RRCConnectionReestablishmentReject Encoded %zd bits (%zd bytes)\n",
         enc_rval.encoded,(enc_rval.encoded+7)/8);
 #endif
-
   return((enc_rval.encoded+7)/8);
 }
 
 /*do_RRCConnectionReject_NB_IoT*/
 uint8_t do_RRCConnectionReject_NB_IoT(
-    uint8_t                    Mod_id,
-    uint8_t*                   const buffer)
+  uint8_t                    Mod_id,
+  uint8_t                   *const buffer)
 
 {
-
   asn_enc_rval_t enc_rval;
-
   LTE_DL_CCCH_Message_NB_t          dl_ccch_msg_NB_IoT;
   LTE_RRCConnectionReject_NB_t      *rrcConnectionReject_NB_IoT;
-
   memset((void *)&dl_ccch_msg_NB_IoT,0,sizeof(LTE_DL_CCCH_Message_NB_t));
   dl_ccch_msg_NB_IoT.message.present           = LTE_DL_CCCH_MessageType_NB_PR_c1;
   dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReject_r13;
   rrcConnectionReject_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReject_r13;
-
   // RRCConnectionReject-NB_IoT
   rrcConnectionReject_NB_IoT->criticalExtensions.present = LTE_RRCConnectionReject_NB__criticalExtensions_PR_c1;
   rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.present = LTE_RRCConnectionReject_NB__criticalExtensions__c1_PR_rrcConnectionReject_r13;
@@ -1209,48 +1005,30 @@ uint8_t do_RRCConnectionReject_NB_IoT(
   //new-use of suspend indication
   //If present, this field indicates that the UE should remain suspended and not release its stored context.
   rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReject_r13.rrc_SuspendIndication_r13=
-		  CALLOC(1, sizeof(long));
+    CALLOC(1, sizeof(long));
   *(rrcConnectionReject_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReject_r13.rrc_SuspendIndication_r13)=
-		  LTE_RRCConnectionReject_NB_r13_IEs__rrc_SuspendIndication_r13_true;
+    LTE_RRCConnectionReject_NB_r13_IEs__rrc_SuspendIndication_r13_true;
 
   //Only Modified "asn_DEF_DL_CCCH_Message_NB"
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
+    xer_fprint(stdout, &asn_DEF_LTE_DL_CCCH_Message_NB, (void *)&dl_ccch_msg_NB_IoT);
   }
+
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
                                    NULL,
-                                   (void*)&dl_ccch_msg_NB_IoT,
+                                   (void *)&dl_ccch_msg_NB_IoT,
                                    buffer,
                                    100);
-  if (enc_rval.encoded <= 0) {
-     LOG_E(RRC, "ASN1 message encoding failed (%s, %ld)!\n",
-               enc_rval.failed_type->name, enc_rval.encoded);
-  }
-
-#if defined(ENABLE_ITTI)
-# if !defined(DISABLE_XER_SPRINT)
-  {
-    char        message_string[20000];
-    size_t      message_string_size;
-
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
-      MessageDef *msg_p;
 
-      msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rrc_dl_ccch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_dl_ccch.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, Mod_id, msg_p);
-    }
+  if (enc_rval.encoded <= 0) {
+    LOG_E(RRC, "ASN1 message encoding failed (%s, %ld)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
   }
-# endif
-#endif
 
 #ifdef USER_MODE
   LOG_D(RRC,"RRCConnectionReject-NB Encoded %zd bits (%zd bytes)\n",
         enc_rval.encoded,(enc_rval.encoded+7)/8);
 #endif
-
   return((enc_rval.encoded+7)/8);
 }
 
@@ -1260,19 +1038,16 @@ uint8_t do_RRCConnectionReject_NB_IoT(
 
 /*do_DLInformationTransfer_NB*/
 uint8_t do_DLInformationTransfer_NB_IoT(
-		uint8_t Mod_id,
-		uint8_t **buffer,
-		uint8_t transaction_id,
-		uint32_t pdu_length,
-		uint8_t *pdu_buffer)
+  uint8_t Mod_id,
+  uint8_t **buffer,
+  uint8_t transaction_id,
+  uint32_t pdu_length,
+  uint8_t *pdu_buffer)
 
 {
   ssize_t encoded;
-
   LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
-
   memset(&dl_dcch_msg_NB_IoT, 0, sizeof(LTE_DL_DCCH_Message_NB_t));
-
   dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
   dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_dlInformationTransfer_r13;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.rrc_TransactionIdentifier = transaction_id;
@@ -1280,29 +1055,8 @@ uint8_t do_DLInformationTransfer_NB_IoT(
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.choice.c1.present = LTE_DLInformationTransfer_NB__criticalExtensions__c1_PR_dlInformationTransfer_r13;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.choice.c1.choice.dlInformationTransfer_r13.dedicatedInfoNAS_r13.size = pdu_length;
   dl_dcch_msg_NB_IoT.message.choice.c1.choice.dlInformationTransfer_r13.criticalExtensions.choice.c1.choice.dlInformationTransfer_r13.dedicatedInfoNAS_r13.buf = pdu_buffer;
-
-  encoded = uper_encode_to_new_buffer (&asn_DEF_LTE_DL_DCCH_Message_NB, NULL, (void*) &dl_dcch_msg_NB_IoT, (void **) buffer);
-
+  encoded = uper_encode_to_new_buffer (&asn_DEF_LTE_DL_DCCH_Message_NB, NULL, (void *) &dl_dcch_msg_NB_IoT, (void **) buffer);
   //only change in "asn_DEF_DL_DCCH_Message_NB"
-#if defined(ENABLE_ITTI)
-# if !defined(DISABLE_XER_SPRINT)
-  {
-    char        message_string[10000];
-    size_t      message_string_size;
-
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_DCCH_Message_NB, (void *)&dl_dcch_msg_NB_IoT)) > 0) {
-      MessageDef *msg_p;
-
-      msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rrc_dl_dcch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_dl_dcch.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, Mod_id, msg_p);
-    }
-  }
-# endif
-#endif
-
   return encoded;
 }
 
@@ -1313,70 +1067,43 @@ uint8_t do_DLInformationTransfer_NB_IoT(
 
 /*do_RRCConnectionReestablishment_NB-->used to re-establish SRB1*/ //which parameter to use?
 uint8_t do_RRCConnectionReestablishment_NB_IoT(
-		uint8_t Mod_id,
-		uint8_t* const buffer,
-		const uint8_t     Transaction_id,
-		const NB_IoT_DL_FRAME_PARMS* const frame_parms, //to be changed
-		LTE_SRB_ToAddModList_NB_r13_t*      SRB_list_NB_IoT) //should contain SRB1 already configured?
-{
-
-	asn_enc_rval_t enc_rval;
-	LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
-	LTE_RRCConnectionReestablishment_NB_t* rrcConnectionReestablishment_NB_IoT;
-
-	memset(&dl_ccch_msg_NB_IoT, 0, sizeof(LTE_DL_CCCH_Message_NB_t));
-
-	dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
-	dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishment_r13;
-	rrcConnectionReestablishment_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReestablishment_r13;
-
-	//rrcConnectionReestablishment_NB
-	rrcConnectionReestablishment_NB_IoT->rrc_TransactionIdentifier = Transaction_id;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.present = LTE_RRCConnectionReestablishment_NB__criticalExtensions_PR_c1;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.present = LTE_RRCConnectionReestablishment_NB__criticalExtensions__c1_PR_rrcConnectionReestablishment_r13;
-
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.srb_ToAddModList_r13 = SRB_list_NB_IoT;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.drb_ToAddModList_r13 = NULL;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.drb_ToReleaseList_r13 = NULL;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.rlf_TimersAndConstants_r13= NULL;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.mac_MainConfig_r13= NULL;
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.physicalConfigDedicated_r13 = NULL;
-
-	rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0;
-
-	enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
-                                           NULL,
-	                                   (void*)&dl_ccch_msg_NB_IoT,
-	                                   buffer,
-	                                   RRC_BUF_SIZE);
-
-	if (enc_rval.encoded <= 0) {
-           LOG_E(RRC, "ASN1 message encoding failed (%s, %li)!\n",
-	               enc_rval.failed_type->name, enc_rval.encoded);
-        }
-
-        if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-           xer_fprint(stdout,&asn_DEF_LTE_DL_CCCH_Message_NB,(void*)&dl_ccch_msg_NB_IoT);
-        }
-
-#if defined(ENABLE_ITTI)
-# if !defined(DISABLE_XER_SPRINT)
-  {
-    char        message_string[30000];
-    size_t      message_string_size;
-
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message_NB, (void *) &dl_ccch_msg_NB_IoT)) > 0) {
-      MessageDef *msg_p;
+  uint8_t Mod_id,
+  uint8_t *const buffer,
+  const uint8_t     Transaction_id,
+  const NB_IoT_DL_FRAME_PARMS *const frame_parms, //to be changed
+  LTE_SRB_ToAddModList_NB_r13_t      *SRB_list_NB_IoT) { //should contain SRB1 already configured?
+  asn_enc_rval_t enc_rval;
+  LTE_DL_CCCH_Message_NB_t dl_ccch_msg_NB_IoT;
+  LTE_RRCConnectionReestablishment_NB_t *rrcConnectionReestablishment_NB_IoT;
+  memset(&dl_ccch_msg_NB_IoT, 0, sizeof(LTE_DL_CCCH_Message_NB_t));
+  dl_ccch_msg_NB_IoT.message.present = LTE_DL_CCCH_MessageType_NB_PR_c1;
+  dl_ccch_msg_NB_IoT.message.choice.c1.present = LTE_DL_CCCH_MessageType_NB__c1_PR_rrcConnectionReestablishment_r13;
+  rrcConnectionReestablishment_NB_IoT = &dl_ccch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionReestablishment_r13;
+  //rrcConnectionReestablishment_NB
+  rrcConnectionReestablishment_NB_IoT->rrc_TransactionIdentifier = Transaction_id;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.present = LTE_RRCConnectionReestablishment_NB__criticalExtensions_PR_c1;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.present = LTE_RRCConnectionReestablishment_NB__criticalExtensions__c1_PR_rrcConnectionReestablishment_r13;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.srb_ToAddModList_r13 = SRB_list_NB_IoT;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.drb_ToAddModList_r13 = NULL;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.drb_ToReleaseList_r13 = NULL;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.rlf_TimersAndConstants_r13= NULL;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.mac_MainConfig_r13= NULL;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.radioResourceConfigDedicated_r13.physicalConfigDedicated_r13 = NULL;
+  rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0;
+  enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_CCCH_Message_NB,
+                                   NULL,
+                                   (void *)&dl_ccch_msg_NB_IoT,
+                                   buffer,
+                                   RRC_BUF_SIZE);
 
-      msg_p = itti_alloc_new_message_sized (TASK_RRC_ENB_NB_IoT, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rrc_dl_ccch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_dl_ccch.text, message_string, message_string_size);
+  if (enc_rval.encoded <= 0) {
+    LOG_E(RRC, "ASN1 message encoding failed (%s, %li)!\n",
+          enc_rval.failed_type->name, enc_rval.encoded);
+  }
 
-      itti_send_msg_to_task(TASK_UNKNOWN, Mod_id, msg_p);
-    }
+  if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
+    xer_fprint(stdout,&asn_DEF_LTE_DL_CCCH_Message_NB,(void *)&dl_ccch_msg_NB_IoT);
   }
-# endif
-#endif
 
   LOG_I(RRC,"RRCConnectionReestablishment-NB Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
   return 0;
@@ -1386,40 +1113,29 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
 uint8_t do_RRCConnectionRelease_NB_IoT(
   uint8_t                             Mod_id,
   uint8_t                            *buffer,
- const uint8_t                             Transaction_id)
-{
-
+  const uint8_t                             Transaction_id) {
   asn_enc_rval_t enc_rval;
-
   LTE_DL_DCCH_Message_NB_t dl_dcch_msg_NB_IoT;
   LTE_RRCConnectionRelease_NB_t *rrcConnectionRelease_NB_IoT;
-
-
   memset(&dl_dcch_msg_NB_IoT,0,sizeof(LTE_DL_DCCH_Message_NB_t));
-
   dl_dcch_msg_NB_IoT.message.present           = LTE_DL_DCCH_MessageType_NB_PR_c1;
   dl_dcch_msg_NB_IoT.message.choice.c1.present = LTE_DL_DCCH_MessageType_NB__c1_PR_rrcConnectionRelease_r13;
   rrcConnectionRelease_NB_IoT                  = &dl_dcch_msg_NB_IoT.message.choice.c1.choice.rrcConnectionRelease_r13;
-
   // RRCConnectionRelease
   rrcConnectionRelease_NB_IoT->rrc_TransactionIdentifier = Transaction_id;
   rrcConnectionRelease_NB_IoT->criticalExtensions.present = LTE_RRCConnectionRelease_NB__criticalExtensions_PR_c1;
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.present = LTE_RRCConnectionRelease_NB__criticalExtensions__c1_PR_rrcConnectionRelease_r13 ;
-
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.releaseCause_r13 = LTE_ReleaseCause_NB_r13_other;
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.redirectedCarrierInfo_r13 = NULL;
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.extendedWaitTime_r13 = NULL;
-
   //Why allocate memory for non critical extension?
   rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension=CALLOC(1,
       sizeof(*rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension));
-
   enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_DL_DCCH_Message_NB,
                                    NULL,
-                                   (void*)&dl_dcch_msg_NB_IoT,
+                                   (void *)&dl_dcch_msg_NB_IoT,
                                    buffer,
                                    RRC_BUF_SIZE);//check
-
   return((enc_rval.encoded+7)/8);
 }
 
diff --git a/openair2/RRC/LTE/rrc_UE.c b/openair2/RRC/LTE/rrc_UE.c
index 65150d32ab61b37dff69748a9db98079829e0aef..49f9e1674051dbaa753e388ebc1749e9f063dff2 100644
--- a/openair2/RRC/LTE/rrc_UE.c
+++ b/openair2/RRC/LTE/rrc_UE.c
@@ -44,7 +44,7 @@
 #include "common/utils/LOG/log.h"
 #include "common/utils/LOG/vcd_signal_dumper.h"
 #ifndef CELLULAR
-#include "RRC/LTE/MESSAGES/asn1_msg.h"
+  #include "RRC/LTE/MESSAGES/asn1_msg.h"
 #endif
 #include "LTE_RRCConnectionRequest.h"
 #include "LTE_RRCConnectionReconfiguration.h"
@@ -55,7 +55,7 @@
 #include "LTE_BCCH-DL-SCH-Message.h"
 #include "LTE_PCCH-Message.h"
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-#include "LTE_MCCH-Message.h"
+  #include "LTE_MCCH-Message.h"
 #endif
 #include "LTE_MeasConfig.h"
 #include "LTE_MeasGapConfig.h"
@@ -66,11 +66,11 @@
 #include "RRC/NAS/nas_config.h"
 #include "RRC/NAS/rb_config.h"
 #if ENABLE_RAL
-#include "rrc_UE_ral.h"
+  #include "rrc_UE_ral.h"
 #endif
 
 #if defined(ENABLE_SECURITY)
-# include "UTIL/OSA/osa_defs.h"
+  #include "UTIL/OSA/osa_defs.h"
 #endif
 
 #include "pdcp.h"
@@ -78,7 +78,7 @@
 #include "msc.h"
 
 #if defined(ENABLE_ITTI)
-# include "intertask_interface.h"
+  #include "intertask_interface.h"
 #endif
 
 #include "SIMULATION/TOOLS/sim.h" // for taus
@@ -86,52 +86,52 @@
 #include "openair2/LAYER2/MAC/mac_extern.h"
 
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-#include "LTE_SL-Preconfiguration-r12.h"
+  #include "LTE_SL-Preconfiguration-r12.h"
 
-//for D2D
-int ctrl_sock_fd;
-#define BUFSIZE 1024
-struct sockaddr_in prose_app_addr;
-int slrb_id;
-int send_ue_information = 0;
+  //for D2D
+  int ctrl_sock_fd;
+  #define BUFSIZE 1024
+  struct sockaddr_in prose_app_addr;
+  int slrb_id;
+  int send_ue_information = 0;
 #endif
 
 // for malloc_clear
 #include "PHY/defs_UE.h"
 
 extern void pdcp_config_set_security(
-  const protocol_ctxt_t* const  ctxt_pP,
-  pdcp_t         * const pdcp_pP,
+  const protocol_ctxt_t *const  ctxt_pP,
+  pdcp_t          *const pdcp_pP,
   const rb_id_t         rb_idP,
   const uint16_t        lc_idP,
   const uint8_t         security_modeP,
-  uint8_t        * const kRRCenc,
-  uint8_t        * const kRRCint,
-  uint8_t        * const  kUPenc);
+  uint8_t         *const kRRCenc,
+  uint8_t         *const kRRCint,
+  uint8_t         *const  kUPenc);
 
 // internal prototypes
 
-void rrc_ue_process_securityModeCommand( const protocol_ctxt_t* const ctxt_pP, LTE_SecurityModeCommand_t* const securityModeCommand, const uint8_t eNB_index );
+void rrc_ue_process_securityModeCommand( const protocol_ctxt_t *const ctxt_pP, LTE_SecurityModeCommand_t *const securityModeCommand, const uint8_t eNB_index );
 
-static int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index );
+static int decode_SI( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index );
 
-static int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t rsrq, const uint8_t rsrp );
+static int decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, const uint8_t rsrq, const uint8_t rsrp );
 
 /** \brief Generates/Encodes RRCConnnectionSetupComplete message at UE
  *  \param ctxt_pP Running context
  *  \param eNB_index Index of corresponding eNB/CH
  *  \param Transaction_id Transaction identifier
  */
-static void rrc_ue_generate_RRCConnectionSetupComplete( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id );
+static void rrc_ue_generate_RRCConnectionSetupComplete( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id );
 
 /** \brief Generates/Encodes RRCConnectionReconfigurationComplete message at UE
  *  \param ctxt_pP Running context
  *  \param eNB_index Index of corresponding eNB/CH
  *  \param Transaction_id RRC transaction identifier
  */
-static void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id );
+static void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id );
 
-static void rrc_ue_generate_MeasurementReport(protocol_ctxt_t* const ctxt_pP, uint8_t eNB_index );
+static void rrc_ue_generate_MeasurementReport(protocol_ctxt_t *const ctxt_pP, uint8_t eNB_index );
 
 static uint8_t check_trigger_meas_event(
   module_id_t module_idP,
@@ -144,7 +144,8 @@ static uint8_t check_trigger_meas_event(
 
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area);
-uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode);
+uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index,LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq,
+    SL_TRIGGER_t mode);
 #endif
 
 
@@ -157,36 +158,21 @@ uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt
 /*------------------------------------------------------------------------------*/
 /* to avoid gcc warnings when compiling with certain options */
 #if defined(ENABLE_USE_MME) || ENABLE_RAL
-static Rrc_State_t rrc_get_state (module_id_t ue_mod_idP)
-{
+static Rrc_State_t rrc_get_state (module_id_t ue_mod_idP) {
   return UE_rrc_inst[ue_mod_idP].RrcState;
 }
 #endif
 
-static Rrc_Sub_State_t rrc_get_sub_state (module_id_t ue_mod_idP)
-{
+static Rrc_Sub_State_t rrc_get_sub_state (module_id_t ue_mod_idP) {
   return UE_rrc_inst[ue_mod_idP].RrcSubState;
 }
 
-static int rrc_set_state (module_id_t ue_mod_idP, Rrc_State_t state)
-{
+static int rrc_set_state (module_id_t ue_mod_idP, Rrc_State_t state) {
   AssertFatal ((RRC_STATE_FIRST <= state) && (state <= RRC_STATE_LAST),
                "Invalid state %d!\n", state);
 
   if (UE_rrc_inst[ue_mod_idP].RrcState != state) {
     UE_rrc_inst[ue_mod_idP].RrcState = state;
-
-#if defined(ENABLE_ITTI)
-    {
-      MessageDef *msg_p;
-
-      msg_p = itti_alloc_new_message(TASK_RRC_UE, RRC_STATE_IND);
-      RRC_STATE_IND(msg_p).state = UE_rrc_inst[ue_mod_idP].RrcState;
-      RRC_STATE_IND(msg_p).sub_state = UE_rrc_inst[ue_mod_idP].RrcSubState;
-
-      itti_send_msg_to_task(TASK_UNKNOWN, UE_MODULE_ID_TO_INSTANCE(ue_mod_idP), msg_p);
-    }
-#endif
     return (1);
   }
 
@@ -194,43 +180,30 @@ static int rrc_set_state (module_id_t ue_mod_idP, Rrc_State_t state)
 }
 
 //-----------------------------------------------------------------------------
-static int rrc_set_sub_state( module_id_t ue_mod_idP, Rrc_Sub_State_t subState )
-{
+static int rrc_set_sub_state( module_id_t ue_mod_idP, Rrc_Sub_State_t subState ) {
 #if (defined(ENABLE_ITTI) && (defined(ENABLE_USE_MME) || ENABLE_RAL))
 
   switch (UE_rrc_inst[ue_mod_idP].RrcState) {
-  case RRC_STATE_INACTIVE:
-    AssertFatal ((RRC_SUB_STATE_INACTIVE_FIRST <= subState) && (subState <= RRC_SUB_STATE_INACTIVE_LAST),
-                 "Invalid sub state %d for state %d!\n", subState, UE_rrc_inst[ue_mod_idP].RrcState);
-    break;
-
-  case RRC_STATE_IDLE:
-    AssertFatal ((RRC_SUB_STATE_IDLE_FIRST <= subState) && (subState <= RRC_SUB_STATE_IDLE_LAST),
-                 "Invalid sub state %d for state %d!\n", subState, UE_rrc_inst[ue_mod_idP].RrcState);
-    break;
-
-  case RRC_STATE_CONNECTED:
-    AssertFatal ((RRC_SUB_STATE_CONNECTED_FIRST <= subState) && (subState <= RRC_SUB_STATE_CONNECTED_LAST),
-                 "Invalid sub state %d for state %d!\n", subState, UE_rrc_inst[ue_mod_idP].RrcState);
-    break;
+    case RRC_STATE_INACTIVE:
+      AssertFatal ((RRC_SUB_STATE_INACTIVE_FIRST <= subState) && (subState <= RRC_SUB_STATE_INACTIVE_LAST),
+                   "Invalid sub state %d for state %d!\n", subState, UE_rrc_inst[ue_mod_idP].RrcState);
+      break;
+
+    case RRC_STATE_IDLE:
+      AssertFatal ((RRC_SUB_STATE_IDLE_FIRST <= subState) && (subState <= RRC_SUB_STATE_IDLE_LAST),
+                   "Invalid sub state %d for state %d!\n", subState, UE_rrc_inst[ue_mod_idP].RrcState);
+      break;
+
+    case RRC_STATE_CONNECTED:
+      AssertFatal ((RRC_SUB_STATE_CONNECTED_FIRST <= subState) && (subState <= RRC_SUB_STATE_CONNECTED_LAST),
+                   "Invalid sub state %d for state %d!\n", subState, UE_rrc_inst[ue_mod_idP].RrcState);
+      break;
   }
 
 #endif
 
   if (UE_rrc_inst[ue_mod_idP].RrcSubState != subState) {
     UE_rrc_inst[ue_mod_idP].RrcSubState = subState;
-
-#if defined(ENABLE_ITTI)
-    {
-      MessageDef *msg_p;
-
-      msg_p = itti_alloc_new_message(TASK_RRC_UE, RRC_STATE_IND);
-      RRC_STATE_IND(msg_p).state = UE_rrc_inst[ue_mod_idP].RrcState;
-      RRC_STATE_IND(msg_p).sub_state = UE_rrc_inst[ue_mod_idP].RrcSubState;
-
-      itti_send_msg_to_task(TASK_UNKNOWN, UE_MODULE_ID_TO_INSTANCE(ue_mod_idP), msg_p);
-    }
-#endif
     return (1);
   }
 
@@ -240,33 +213,30 @@ static int rrc_set_sub_state( module_id_t ue_mod_idP, Rrc_Sub_State_t subState )
 //-----------------------------------------------------------------------------
 void
 openair_rrc_on_ue(
-  const protocol_ctxt_t* const ctxt_pP
+  const protocol_ctxt_t *const ctxt_pP
 )
 //-----------------------------------------------------------------------------
 {
   unsigned short i;
-
-
-    LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" UE?:OPENAIR RRC IN....\n",
-          PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
-
-    for (i = 0; i < NB_eNB_INST; i++) {
-      LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" Activating CCCH (eNB %d)\n",
-            PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), i);
-      UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Srb_id = CCCH;
-      memcpy (&UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Lchan_desc[0], &CCCH_LCHAN_DESC, LCHAN_DESC_SIZE);
-      memcpy (&UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Lchan_desc[1], &CCCH_LCHAN_DESC, LCHAN_DESC_SIZE);
-      rrc_config_buffer (&UE_rrc_inst[ctxt_pP->module_id].Srb0[i], CCCH, 1);
-      UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Active = 1;
-    }
+  LOG_I(RRC, PROTOCOL_RRC_CTXT_FMT" UE?:OPENAIR RRC IN....\n",
+        PROTOCOL_RRC_CTXT_ARGS(ctxt_pP));
+
+  for (i = 0; i < NB_eNB_INST; i++) {
+    LOG_D(RRC, PROTOCOL_RRC_CTXT_FMT" Activating CCCH (eNB %d)\n",
+          PROTOCOL_RRC_CTXT_ARGS(ctxt_pP), i);
+    UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Srb_id = CCCH;
+    memcpy (&UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Lchan_desc[0], &CCCH_LCHAN_DESC, LCHAN_DESC_SIZE);
+    memcpy (&UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Lchan_desc[1], &CCCH_LCHAN_DESC, LCHAN_DESC_SIZE);
+    rrc_config_buffer (&UE_rrc_inst[ctxt_pP->module_id].Srb0[i], CCCH, 1);
+    UE_rrc_inst[ctxt_pP->module_id].Srb0[i].Active = 1;
+  }
 }
 
 //-----------------------------------------------------------------------------
-static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
-{
+static void init_SI_UE( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
   UE_rrc_inst[ctxt_pP->module_id].sizeof_SIB1[eNB_index] = 0;
   UE_rrc_inst[ctxt_pP->module_id].sizeof_SI[eNB_index] = 0;
-  UE_rrc_inst[ctxt_pP->module_id].SIB1[eNB_index] = (uint8_t*)malloc16_clear( 32 );
+  UE_rrc_inst[ctxt_pP->module_id].SIB1[eNB_index] = (uint8_t *)malloc16_clear( 32 );
   UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType1_t) );
   UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType2_t) );
   UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType3_t) );
@@ -284,21 +254,16 @@ static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType18_r12_t) );
   UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType19_r12_t) );
   UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index] = malloc16_clear( sizeof(LTE_SystemInformationBlockType21_r14_t) );
-
 #endif
-  UE_rrc_inst[ctxt_pP->module_id].SI[eNB_index] = (uint8_t*)malloc16_clear( 64 );
-
-  UE_rrc_inst[ctxt_pP->module_id].si[eNB_index] = (LTE_SystemInformation_t*)malloc16_clear( sizeof(LTE_SystemInformation_t) );
-
+  UE_rrc_inst[ctxt_pP->module_id].SI[eNB_index] = (uint8_t *)malloc16_clear( 64 );
+  UE_rrc_inst[ctxt_pP->module_id].si[eNB_index] = (LTE_SystemInformation_t *)malloc16_clear( sizeof(LTE_SystemInformation_t) );
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus = 0;
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt    = 0;
 }
 
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
-{
+void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index ) {
   LOG_I(RRC,"Initializing Sidelink Pre-configuration for UE\n");
-
   UE->SL_Preconfiguration[eNB_index] = malloc16_clear( sizeof(struct LTE_SL_Preconfiguration_r12) );
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.rohc_Profiles_r12.profile0x0001_r12       = true;
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.carrierFreq_r12                           = 3350;
@@ -306,7 +271,6 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.additionalSpectrumEmission_r12            = 0;
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.sl_bandwidth_r12                          = LTE_SL_PreconfigGeneral_r12__sl_bandwidth_r12_n50;
   UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.tdd_ConfigSL_r12.subframeAssignmentSL_r12 = LTE_TDD_ConfigSL_r12__subframeAssignmentSL_r12_none;
-
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncCP_Len_r12            = LTE_SL_CP_Len_r12_normal;
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncOffsetIndicator1_r12  = 0;
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncOffsetIndicator2_r12  = 0;
@@ -317,7 +281,6 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.syncRefDiffHyst_r12       = LTE_SL_PreconfigSync_r12__syncRefDiffHyst_r12_dB0;
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.ext1                      = malloc16_clear(sizeof(struct LTE_SL_PreconfigSync_r12__ext1));
   UE->SL_Preconfiguration[eNB_index]->preconfigSync_r12.ext1->syncTxPeriodic_r13  = NULL;
-
   struct LTE_SL_PreconfigCommPool_r12 *preconfigpool = malloc16_clear(sizeof(struct LTE_SL_PreconfigCommPool_r12));
   preconfigpool->sc_CP_Len_r12                                                    = LTE_SL_CP_Len_r12_normal;
   preconfigpool->sc_Period_r12                                                    = LTE_SL_PeriodComm_r12_sf40;
@@ -340,7 +303,6 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
   preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf[3]      = 0;
   preconfigpool->sc_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf[4]      = 0;
   preconfigpool->sc_TxParameters_r12                                              = 0;
-
   preconfigpool->data_CP_Len_r12                                                  = LTE_SL_CP_Len_r12_normal;
   // 20 PRBs for SL communications
   preconfigpool->data_TF_ResourceConfig_r12.prb_Num_r12                             = 20;
@@ -360,123 +322,117 @@ void init_SL_preconfig(UE_RRC_INST *UE, const uint8_t eNB_index )
   preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf[2]      = 0xFF;
   preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf[3]      = 0xFF;
   preconfigpool->data_TF_ResourceConfig_r12.subframeBitmap_r12.choice.bs40_r12.buf[5]      = 0xFF;
-
   preconfigpool->dataHoppingConfig_r12.hoppingParameter_r12                         = 0;
   preconfigpool->dataHoppingConfig_r12.numSubbands_r12                              = LTE_SL_HoppingConfigComm_r12__numSubbands_r12_ns1;
   preconfigpool->dataHoppingConfig_r12.rb_Offset_r12                                = 0;
-
   preconfigpool->dataTxParameters_r12                                               = 0;
-
   ASN_SEQUENCE_ADD(&UE->SL_Preconfiguration[eNB_index]->preconfigComm_r12.list,preconfigpool);
-
   // Rel13 extensions
   UE->SL_Preconfiguration[eNB_index]->ext1 = NULL;
-/*
-  // Establish a SLRB (using DRB 3 for now)
-  protocol_ctxt_t ctxt;
-  PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
-
-  UE->DRB_config[0][0] = CALLOC(1,sizeof(struct DRB_ToAddMod));
-  UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-  UE->DRB_config[0][0]->drb_Identity =  3;
-  UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-  // allowed value 5..15, value : x+4
-  *(UE->DRB_config[0][0]->eps_BearerIdentity) = 3;
-  UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
-  *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
-
-  // TTN - Establish a new SLRB for PC5-S (using DRB 10 for now)
-  UE->DRB_config[0][1] = CALLOC(1,sizeof(struct DRB_ToAddMod));
-  UE->DRB_config[0][1]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-  UE->DRB_config[0][1]->drb_Identity =  10;
-  UE->DRB_config[0][1]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-  // allowed value 5..15, value : x+4
-  *(UE->DRB_config[0][1]->eps_BearerIdentity) = 10;
-  UE->DRB_config[0][1]->logicalChannelIdentity = CALLOC(1, sizeof(long));
-  *(UE->DRB_config[0][1]->logicalChannelIdentity) = UE->DRB_config[0][1]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
-
-  struct RLC_Config                  *DRB_rlc_config                   = CALLOC(1,sizeof(struct RLC_Config));
-  struct PDCP_Config                 *DRB_pdcp_config                  = CALLOC(1,sizeof(struct PDCP_Config));
-  struct PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = CALLOC(1,sizeof(struct PDCP_Config__rlc_UM));
-  struct LogicalChannelConfig        *DRB_lchan_config                 = CALLOC(1,sizeof(struct LogicalChannelConfig));
-  struct LogicalChannelConfig__ul_SpecificParameters
-    *DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LogicalChannelConfig__ul_SpecificParameters));
-  long                               *logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
-
-  DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
-  DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
-  DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
-  UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
-  UE->DRB_config[0][1]->rlc_Config = DRB_rlc_config;
-
-  DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
-  UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
-  UE->DRB_config[0][1]->pdcp_Config = DRB_pdcp_config;
-  DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-  *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
-  DRB_pdcp_config->rlc_AM = NULL;
-  DRB_pdcp_config->rlc_UM = NULL;
-
-  // avoid gcc warnings
-  (void)PDCP_rlc_UM;
-
-  DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-  PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-  DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
-
-  UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
-  UE->DRB_config[0][1]->logicalChannelConfig = DRB_lchan_config;
-  DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
-  DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
-
-  DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-  DRB_ul_SpecificParameters->prioritisedBitRate =LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
-    //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
-  DRB_ul_SpecificParameters->bucketSizeDuration =
-    LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
-
-  // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
-
-  *logicalchannelgroup_drb = 1;
-  DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
-
-  UE->DRB_configList = CALLOC(1,sizeof(DRB_ToAddModList_t));
-  ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
-  ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][1]);
-
-  rrc_pdcp_config_asn1_req(&ctxt,
-			   (SRB_ToAddModList_t *) NULL,
-			   UE->DRB_configList,
-			   (DRB_ToReleaseList_t*) NULL,
-			   0xff, NULL, NULL, NULL
-#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                           , (LTE_PMCH_InfoList_r9_t *) NULL
-#endif
-                           ,NULL);
+  /*
+    // Establish a SLRB (using DRB 3 for now)
+    protocol_ctxt_t ctxt;
+    PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
+
+    UE->DRB_config[0][0] = CALLOC(1,sizeof(struct DRB_ToAddMod));
+    UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+    UE->DRB_config[0][0]->drb_Identity =  3;
+    UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+    // allowed value 5..15, value : x+4
+    *(UE->DRB_config[0][0]->eps_BearerIdentity) = 3;
+    UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
+    *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
+
+    // TTN - Establish a new SLRB for PC5-S (using DRB 10 for now)
+    UE->DRB_config[0][1] = CALLOC(1,sizeof(struct DRB_ToAddMod));
+    UE->DRB_config[0][1]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+    UE->DRB_config[0][1]->drb_Identity =  10;
+    UE->DRB_config[0][1]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+    // allowed value 5..15, value : x+4
+    *(UE->DRB_config[0][1]->eps_BearerIdentity) = 10;
+    UE->DRB_config[0][1]->logicalChannelIdentity = CALLOC(1, sizeof(long));
+    *(UE->DRB_config[0][1]->logicalChannelIdentity) = UE->DRB_config[0][1]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
+
+    struct RLC_Config                  *DRB_rlc_config                   = CALLOC(1,sizeof(struct RLC_Config));
+    struct PDCP_Config                 *DRB_pdcp_config                  = CALLOC(1,sizeof(struct PDCP_Config));
+    struct PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = CALLOC(1,sizeof(struct PDCP_Config__rlc_UM));
+    struct LogicalChannelConfig        *DRB_lchan_config                 = CALLOC(1,sizeof(struct LogicalChannelConfig));
+    struct LogicalChannelConfig__ul_SpecificParameters
+      *DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LogicalChannelConfig__ul_SpecificParameters));
+    long                               *logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
+
+    DRB_rlc_config->present = RLC_Config_PR_um_Bi_Directional;
+    DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
+    DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = SN_FieldLength_size10;
+    DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = T_Reordering_ms35;
+    UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
+    UE->DRB_config[0][1]->rlc_Config = DRB_rlc_config;
+
+    DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
+    UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
+    UE->DRB_config[0][1]->pdcp_Config = DRB_pdcp_config;
+    DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
+    *DRB_pdcp_config->discardTimer = PDCP_Config__discardTimer_infinity;
+    DRB_pdcp_config->rlc_AM = NULL;
+    DRB_pdcp_config->rlc_UM = NULL;
+
+    // avoid gcc warnings
+    (void)PDCP_rlc_UM;
+
+    DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
+    PDCP_rlc_UM->pdcp_SN_Size = PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+    DRB_pdcp_config->headerCompression.present = PDCP_Config__headerCompression_PR_notUsed;
+
+    UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
+    UE->DRB_config[0][1]->logicalChannelConfig = DRB_lchan_config;
+    DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
+    DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
+
+    DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
+    DRB_ul_SpecificParameters->prioritisedBitRate =LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+      //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+    DRB_ul_SpecificParameters->bucketSizeDuration =
+      LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+
+    // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
+
+    *logicalchannelgroup_drb = 1;
+    DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
+
+    UE->DRB_configList = CALLOC(1,sizeof(DRB_ToAddModList_t));
+    ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
+    ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][1]);
+
+    rrc_pdcp_config_asn1_req(&ctxt,
+           (SRB_ToAddModList_t *) NULL,
+           UE->DRB_configList,
+           (DRB_ToReleaseList_t*) NULL,
+           0xff, NULL, NULL, NULL
+  #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                             , (LTE_PMCH_InfoList_r9_t *) NULL
+  #endif
+                             ,NULL);
 
-  rrc_rlc_config_asn1_req(&ctxt,
-			  (SRB_ToAddModList_t*)NULL,
-			  UE->DRB_configList,
-			  (DRB_ToReleaseList_t*)NULL
-#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			  ,(LTE_PMCH_InfoList_r9_t *)NULL
-#endif
-			  );
-*/
+    rrc_rlc_config_asn1_req(&ctxt,
+          (SRB_ToAddModList_t*)NULL,
+          UE->DRB_configList,
+          (DRB_ToReleaseList_t*)NULL
+  #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+          ,(LTE_PMCH_InfoList_r9_t *)NULL
+  #endif
+          );
+  */
 }
 
 #endif
 
 //-----------------------------------------------------------------------------
-void openair_rrc_ue_init_security( const protocol_ctxt_t* const ctxt_pP )
-{
+void openair_rrc_ue_init_security( const protocol_ctxt_t *const ctxt_pP ) {
 #if defined(ENABLE_SECURITY)
   //    uint8_t *kRRCenc;
   //    uint8_t *kRRCint;
   char ascii_buffer[65];
   uint8_t i;
-
   memset(UE_rrc_inst[ctxt_pP->module_id].kenb, ctxt_pP->module_id, 32);
 
   for (i = 0; i < 32; i++) {
@@ -490,8 +446,7 @@ void openair_rrc_ue_init_security( const protocol_ctxt_t* const ctxt_pP )
 }
 
 //-----------------------------------------------------------------------------
-char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_index )
-{
+char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_index ) {
   protocol_ctxt_t ctxt;
   PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_idP, ENB_FLAG_NO, NOT_A_RNTI, 0, 0,eNB_index);
   LOG_I(RRC,
@@ -499,7 +454,6 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
         PROTOCOL_RRC_CTXT_ARGS(&ctxt));
   rrc_set_state (ue_mod_idP, RRC_STATE_INACTIVE);
   rrc_set_sub_state (ue_mod_idP, RRC_SUB_STATE_INACTIVE);
-
   LOG_I(RRC,"[UE %d] INIT State = RRC_IDLE (eNB %d)\n",ctxt.module_id,eNB_index);
   UE_rrc_inst[ctxt.module_id].Info[eNB_index].State=RRC_IDLE;
   UE_rrc_inst[ctxt.module_id].Info[eNB_index].T300_active = 0;
@@ -516,22 +470,16 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
 #else
   UE_rrc_inst[ctxt.module_id].integrity_algorithm = LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_reserved;
 #endif
-
   openair_rrc_ue_init_security(&ctxt);
   init_SI_UE(&ctxt,eNB_index);
   LOG_D(RRC,PROTOCOL_RRC_CTXT_FMT"  INIT: phy_sync_2_ch_ind\n",
         PROTOCOL_RRC_CTXT_ARGS(&ctxt));
-
-
-
 #ifndef NO_RRM
   send_msg(&S_rrc,msg_rrc_phy_synch_to_CH_ind(ctxt.module_id,eNB_index,UE_rrc_inst[ctxt.module_id].Mac_id));
 #endif
-
 #ifndef NO_RRM
   send_msg(&S_rrc,msg_rrc_phy_synch_to_CH_ind(ctxt.module_id,eNB_index,UE_rrc_inst[ctxt.module_id].Mac_id));
 #endif
-
 #ifdef NO_RRM //init ch SRB0, SRB1 & BDTCH
   openair_rrc_on_ue(&ctxt);
 #endif
@@ -544,18 +492,14 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
 
   UE_rrc_inst[ue_mod_idP].num_active_cba_groups = 0;
 #endif
-
   return 0;
 }
 
 //-----------------------------------------------------------------------------
-void rrc_ue_generate_RRCConnectionRequest( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
-{
-
+void rrc_ue_generate_RRCConnectionRequest( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
   uint8_t i=0,rv[6];
 
   if(UE_rrc_inst[ctxt_pP->module_id].Srb0[eNB_index].Tx_buffer.payload_size ==0) {
-
     // Get RRCConnectionRequest, fill random for now
     // Generate random byte stream for contention resolution
     for (i=0; i<6; i++) {
@@ -572,9 +516,8 @@ void rrc_ue_generate_RRCConnectionRequest( const protocol_ctxt_t* const ctxt_pP,
     UE_rrc_inst[ctxt_pP->module_id].Srb0[eNB_index].Tx_buffer.payload_size =
       do_RRCConnectionRequest(
         ctxt_pP->module_id,
-        (uint8_t*)UE_rrc_inst[ctxt_pP->module_id].Srb0[eNB_index].Tx_buffer.Payload,
+        (uint8_t *)UE_rrc_inst[ctxt_pP->module_id].Srb0[eNB_index].Tx_buffer.Payload,
         rv);
-
     LOG_I(RRC,"[UE %d] : Frame %d, Logical Channel UL-CCCH (SRB0), Generating RRCConnectionRequest (bytes %d, eNB %d)\n",
           ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Srb0[eNB_index].Tx_buffer.payload_size, eNB_index);
 
@@ -585,7 +528,6 @@ void rrc_ue_generate_RRCConnectionRequest( const protocol_ctxt_t* const ctxt_pP,
     LOG_T(RRC,"\n");
     /*UE_rrc_inst[ue_mod_idP].Srb0[Idx].Tx_buffer.Payload[i] = taus()&0xff;
     UE_rrc_inst[ue_mod_idP].Srb0[Idx].Tx_buffer.payload_size =i; */
-
   }
 }
 
@@ -611,12 +553,11 @@ static const char const nas_attach_req_imsi[] = {
 //-----------------------------------------------------------------------------
 void
 rrc_t310_expiration(
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const uint8_t                 eNB_index
 )
 //-----------------------------------------------------------------------------
 {
-
   if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State != RRC_CONNECTED) {
     LOG_D(RRC, "Timer 310 expired, going to RRC_IDLE\n");
     UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State = RRC_IDLE;
@@ -628,7 +569,7 @@ rrc_t310_expiration(
 
     if (UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Active == 1) {
       LOG_D (RRC,"[Inst %d] eNB_index %d, Remove RB %d\n ", ctxt_pP->module_id, eNB_index,
-           UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Srb_info.Srb_id);
+             UE_rrc_inst[ctxt_pP->module_id].Srb2[eNB_index].Srb_info.Srb_id);
       rrc_pdcp_config_req (ctxt_pP,
                            SRB_FLAG_YES,
                            CONFIG_ACTION_REMOVE,
@@ -650,43 +591,36 @@ rrc_t310_expiration(
 }
 
 //-----------------------------------------------------------------------------
-static void rrc_ue_generate_RRCConnectionSetupComplete( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id )
-{
-
+static void rrc_ue_generate_RRCConnectionSetupComplete( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id ) {
   uint8_t    buffer[100];
   uint8_t    size;
-  const char * nas_msg;
+  const char *nas_msg;
   int   nas_msg_length;
-
 #if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME)
-  nas_msg         = (char*) UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data;
+  nas_msg         = (char *) UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data;
   nas_msg_length  = UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.length;
 #else
   nas_msg         = nas_attach_req_imsi;
   nas_msg_length  = sizeof(nas_attach_req_imsi);
 #endif
-
   size = do_RRCConnectionSetupComplete(ctxt_pP->module_id, buffer, Transaction_id, nas_msg_length, nas_msg);
-
   LOG_I(RRC,"[UE %d][RAPROC] Frame %d : Logical Channel UL-DCCH (SRB1), Generating RRCConnectionSetupComplete (bytes%d, eNB %d)\n",
         ctxt_pP->module_id,ctxt_pP->frame, size, eNB_index);
   LOG_D(RLC,
         "[FRAME %05d][RRC_UE][MOD %02d][][--- PDCP_DATA_REQ/%d Bytes (RRCConnectionSetupComplete to eNB %d MUI %d) --->][PDCP][MOD %02d][RB %02d]\n",
         ctxt_pP->frame, ctxt_pP->module_id+NB_eNB_INST, size, eNB_index, rrc_mui, ctxt_pP->module_id+NB_eNB_INST, DCCH);
   rrc_data_req_ue (
-		ctxt_pP,
-		DCCH,
-		rrc_mui++,
-		SDU_CONFIRM_NO,
-		size,
-		buffer,
-		PDCP_TRANSMISSION_MODE_CONTROL);
+    ctxt_pP,
+    DCCH,
+    rrc_mui++,
+    SDU_CONFIRM_NO,
+    size,
+    buffer,
+    PDCP_TRANSMISSION_MODE_CONTROL);
 }
 
 //-----------------------------------------------------------------------------
-void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id )
-{
-
+void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, const uint8_t Transaction_id ) {
   uint8_t buffer[32], size;
   size = do_RRCConnectionReconfigurationComplete(ctxt_pP, buffer, Transaction_id);
   LOG_I(RRC,PROTOCOL_RRC_CTXT_UE_FMT" Logical Channel UL-DCCH (SRB1), Generating RRCConnectionReconfigurationComplete (bytes %d, eNB_index %d)\n",
@@ -701,65 +635,34 @@ void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol_ctxt_t
         UE_MODULE_ID_TO_INSTANCE(ctxt_pP->module_id),
         DCCH);
   rrc_data_req_ue (
-		ctxt_pP,
-		DCCH,
-		rrc_mui++,
-		SDU_CONFIRM_NO,
-		size,
-		buffer,
-		PDCP_TRANSMISSION_MODE_CONTROL);
+    ctxt_pP,
+    DCCH,
+    rrc_mui++,
+    SDU_CONFIRM_NO,
+    size,
+    buffer,
+    PDCP_TRANSMISSION_MODE_CONTROL);
 }
 
 
 //-----------------------------------------------------------------------------
 // Called by L2 interface (MAC)
-int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* const Srb_info, const uint8_t eNB_index )
-{
-  LTE_DL_CCCH_Message_t* dl_ccch_msg=NULL;
+int rrc_ue_decode_ccch( const protocol_ctxt_t *const ctxt_pP, const SRB_INFO *const Srb_info, const uint8_t eNB_index ) {
+  LTE_DL_CCCH_Message_t *dl_ccch_msg=NULL;
   asn_dec_rval_t dec_rval;
   int rval=0;
-
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_CCCH, VCD_FUNCTION_IN);
   //  LOG_D(RRC,"[UE %d] Decoding DL-CCCH message (%d bytes), State %d\n",ue_mod_idP,Srb_info->Rx_buffer.payload_size,
   //  UE_rrc_inst[ue_mod_idP].Info[eNB_index].State);
-
   dec_rval = uper_decode(NULL,
                          &asn_DEF_LTE_DL_CCCH_Message,
-                         (void**)&dl_ccch_msg,
-                         (uint8_t*)Srb_info->Rx_buffer.Payload,
+                         (void **)&dl_ccch_msg,
+                         (uint8_t *)Srb_info->Rx_buffer.Payload,
                          100,0,0);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_LTE_DL_CCCH_Message,(void*)dl_ccch_msg);
-  }
-
-#if defined(ENABLE_ITTI)
-# if defined(DISABLE_ITTI_XER_PRINT)
-  {
-    MessageDef *msg_p;
-
-    msg_p = itti_alloc_new_message (TASK_RRC_UE, RRC_DL_CCCH_MESSAGE);
-    memcpy (&msg_p->ittiMsg, (void *) dl_ccch_msg, sizeof(RrcDlCcchMessage));
-
-    itti_send_msg_to_task (TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-  }
-# else
-  {
-    char        message_string[10000];
-    size_t      message_string_size;
-
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_CCCH_Message, (void *)dl_ccch_msg)) > 0) {
-      MessageDef *msg_p;
-
-      msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_DL_CCCH, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rrc_dl_ccch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_dl_ccch.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-    }
+    xer_fprint(stdout,&asn_DEF_LTE_DL_CCCH_Message,(void *)dl_ccch_msg);
   }
-# endif
-#endif
 
   if ((dec_rval.code != RC_OK) && (dec_rval.consumed==0)) {
     LOG_E(RRC,"[UE %d] Frame %d : Failed to decode DL-CCCH-Message (%zu bytes)\n",ctxt_pP->module_id,ctxt_pP->frame,dec_rval.consumed);
@@ -768,74 +671,68 @@ int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* co
   }
 
   if (dl_ccch_msg->message.present == LTE_DL_CCCH_MessageType_PR_c1) {
-
     if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_SI_RECEIVED) {
-
       switch (dl_ccch_msg->message.choice.c1.present) {
+        case LTE_DL_CCCH_MessageType__c1_PR_NOTHING:
+          LOG_I(RRC, "[UE%d] Frame %d : Received PR_NOTHING on DL-CCCH-Message\n",
+                ctxt_pP->module_id,
+                ctxt_pP->frame);
+          rval = 0;
+          break;
 
-      case LTE_DL_CCCH_MessageType__c1_PR_NOTHING:
-        LOG_I(RRC, "[UE%d] Frame %d : Received PR_NOTHING on DL-CCCH-Message\n",
-              ctxt_pP->module_id,
-              ctxt_pP->frame);
-        rval = 0;
-        break;
-
-      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishment:
-        LOG_I(RRC,
-              "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReestablishment\n",
-              ctxt_pP->module_id,
-              ctxt_pP->frame);
-        rval = 0;
-        break;
-
-      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentReject:
-        LOG_I(RRC,
-              "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReestablishmentReject\n",
-              ctxt_pP->module_id,
-              ctxt_pP->frame);
-        rval = 0;
-        break;
-
-      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReject:
-        LOG_I(RRC,
-              "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReject \n",
-              ctxt_pP->module_id,
-              ctxt_pP->frame);
-        rval = 0;
-        break;
-
-      case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionSetup:
-        LOG_I(RRC,
-              "[UE%d][RAPROC] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionSetup RNTI %x\n",
-              ctxt_pP->module_id,
-              ctxt_pP->frame,
-              ctxt_pP->rnti);
-        // Get configuration
+        case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishment:
+          LOG_I(RRC,
+                "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReestablishment\n",
+                ctxt_pP->module_id,
+                ctxt_pP->frame);
+          rval = 0;
+          break;
 
-        // Release T300 timer
-        UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].T300_active = 0;
-        rrc_ue_process_radioResourceConfigDedicated(
-          ctxt_pP,
-          eNB_index,
-          &dl_ccch_msg->message.choice.c1.choice.rrcConnectionSetup.criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated);
+        case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReestablishmentReject:
+          LOG_I(RRC,
+                "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReestablishmentReject\n",
+                ctxt_pP->module_id,
+                ctxt_pP->frame);
+          rval = 0;
+          break;
 
-        rrc_set_state (ctxt_pP->module_id, RRC_STATE_CONNECTED);
-        rrc_set_sub_state (ctxt_pP->module_id, RRC_SUB_STATE_CONNECTED);
-        UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].rnti = ctxt_pP->rnti;
-        rrc_ue_generate_RRCConnectionSetupComplete(
-          ctxt_pP,
-          eNB_index,
-          dl_ccch_msg->message.choice.c1.choice.rrcConnectionSetup.rrc_TransactionIdentifier);
+        case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionReject:
+          LOG_I(RRC,
+                "[UE%d] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionReject \n",
+                ctxt_pP->module_id,
+                ctxt_pP->frame);
+          rval = 0;
+          break;
 
-        rval = 0;
-        break;
+        case LTE_DL_CCCH_MessageType__c1_PR_rrcConnectionSetup:
+          LOG_I(RRC,
+                "[UE%d][RAPROC] Frame %d : Logical Channel DL-CCCH (SRB0), Received RRCConnectionSetup RNTI %x\n",
+                ctxt_pP->module_id,
+                ctxt_pP->frame,
+                ctxt_pP->rnti);
+          // Get configuration
+          // Release T300 timer
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].T300_active = 0;
+          rrc_ue_process_radioResourceConfigDedicated(
+            ctxt_pP,
+            eNB_index,
+            &dl_ccch_msg->message.choice.c1.choice.rrcConnectionSetup.criticalExtensions.choice.c1.choice.rrcConnectionSetup_r8.radioResourceConfigDedicated);
+          rrc_set_state (ctxt_pP->module_id, RRC_STATE_CONNECTED);
+          rrc_set_sub_state (ctxt_pP->module_id, RRC_SUB_STATE_CONNECTED);
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].rnti = ctxt_pP->rnti;
+          rrc_ue_generate_RRCConnectionSetupComplete(
+            ctxt_pP,
+            eNB_index,
+            dl_ccch_msg->message.choice.c1.choice.rrcConnectionSetup.rrc_TransactionIdentifier);
+          rval = 0;
+          break;
 
-      default:
-        LOG_E(RRC, "[UE%d] Frame %d : Unknown message\n",
-              ctxt_pP->module_id,
-              ctxt_pP->frame);
-        rval = -1;
-        break;
+        default:
+          LOG_E(RRC, "[UE%d] Frame %d : Unknown message\n",
+                ctxt_pP->module_id,
+                ctxt_pP->frame);
+          rval = -1;
+          break;
       }
     }
   }
@@ -850,30 +747,21 @@ rrc_ue_establish_srb1(
   module_id_t ue_mod_idP,
   frame_t frameP,
   uint8_t eNB_index,
-  struct LTE_SRB_ToAddMod* SRB_config
+  struct LTE_SRB_ToAddMod *SRB_config
 )
 //-----------------------------------------------------------------------------
 {
   // add descriptor from RRC PDU
-
-
   UE_rrc_inst[ue_mod_idP].Srb1[eNB_index].Active = 1;
   UE_rrc_inst[ue_mod_idP].Srb1[eNB_index].Status = RADIO_CONFIG_OK;//RADIO CFG
   UE_rrc_inst[ue_mod_idP].Srb1[eNB_index].Srb_info.Srb_id = 1;
-
   // copy default configuration for now
   //  memcpy(&UE_rrc_inst[ue_mod_idP].Srb1[eNB_index].Srb_info.Lchan_desc[0],&DCCH_LCHAN_DESC,LCHAN_DESC_SIZE);
   //  memcpy(&UE_rrc_inst[ue_mod_idP].Srb1[eNB_index].Srb_info.Lchan_desc[1],&DCCH_LCHAN_DESC,LCHAN_DESC_SIZE);
-
-
   LOG_I(RRC,"[UE %d], CONFIG_SRB1 %d corresponding to eNB_index %d\n", ue_mod_idP,DCCH,eNB_index);
-
   //rrc_pdcp_config_req (ue_mod_idP+NB_eNB_INST, frameP, 0, CONFIG_ACTION_ADD, lchan_id,UNDEF_SECURITY_MODE);
   //  rrc_rlc_config_req(ue_mod_idP+NB_eNB_INST,frameP,0,CONFIG_ACTION_ADD,lchan_id,SIGNALLING_RADIO_BEARER,Rlc_info_am_config);
-
   //  UE_rrc_inst[ue_mod_idP].Srb1[eNB_index].Srb_info.Tx_buffer.payload_size=DEFAULT_MEAS_IND_SIZE+1;
-
-
   return(0);
 }
 
@@ -883,30 +771,21 @@ rrc_ue_establish_srb2(
   module_id_t ue_mod_idP,
   frame_t frameP,
   uint8_t eNB_index,
-  struct LTE_SRB_ToAddMod* SRB_config
+  struct LTE_SRB_ToAddMod *SRB_config
 )
 //-----------------------------------------------------------------------------
 {
   // add descriptor from RRC PDU
-
-
   UE_rrc_inst[ue_mod_idP].Srb2[eNB_index].Active = 1;
   UE_rrc_inst[ue_mod_idP].Srb2[eNB_index].Status = RADIO_CONFIG_OK;//RADIO CFG
   UE_rrc_inst[ue_mod_idP].Srb2[eNB_index].Srb_info.Srb_id = 2;
-
   // copy default configuration for now
   //  memcpy(&UE_rrc_inst[ue_mod_idP].Srb2[eNB_index].Srb_info.Lchan_desc[0],&DCCH_LCHAN_DESC,LCHAN_DESC_SIZE);
   //  memcpy(&UE_rrc_inst[ue_mod_idP].Srb2[eNB_index].Srb_info.Lchan_desc[1],&DCCH_LCHAN_DESC,LCHAN_DESC_SIZE);
-
-
   LOG_I(RRC,"[UE %d], CONFIG_SRB2 %d corresponding to eNB_index %d\n",ue_mod_idP,DCCH1,eNB_index);
-
   //rrc_pdcp_config_req (ue_mod_idP+NB_eNB_INST, frameP, 0, CONFIG_ACTION_ADD, lchan_id, UNDEF_SECURITY_MODE);
   //  rrc_rlc_config_req(ue_mod_idP+NB_eNB_INST,frameP,0,CONFIG_ACTION_ADD,lchan_id,SIGNALLING_RADIO_BEARER,Rlc_info_am_config);
-
   //  UE_rrc_inst[ue_mod_idP].Srb1[eNB_index].Srb_info.Tx_buffer.payload_size=DEFAULT_MEAS_IND_SIZE+1;
-
-
   return(0);
 }
 
@@ -916,7 +795,7 @@ rrc_ue_establish_drb(
   module_id_t ue_mod_idP,
   frame_t frameP,
   uint8_t eNB_index,
-  struct LTE_DRB_ToAddMod* DRB_config
+  struct LTE_DRB_ToAddMod *DRB_config
 )
 //-----------------------------------------------------------------------------
 {
@@ -928,7 +807,6 @@ rrc_ue_establish_drb(
   (void)ip_addr_offset3;
   (void)ip_addr_offset4;
 #endif
-
   LOG_I(RRC,"[UE %d] Frame %d: processing RRCConnectionReconfiguration: reconfiguring DRB %ld/LCID %d\n",
         ue_mod_idP, frameP, DRB_config->drb_Identity, (int)*DRB_config->logicalChannelIdentity);
   /*
@@ -954,7 +832,6 @@ rrc_ue_establish_drb(
           ue_mod_idP,
           ip_addr_offset3+ue_mod_idP,
           (long int)((eNB_index * maxDRB) + DRB_config->drb_Identity));
-
     rb_conf_ipv4(0,//add
                  ue_mod_idP,//cx align with the UE index
                  ip_addr_offset3+ue_mod_idP,//inst num_enb+ue_index
@@ -967,7 +844,6 @@ rrc_ue_establish_drb(
 
 #    endif
 #endif
-
   return(0);
 }
 
@@ -975,13 +851,12 @@ rrc_ue_establish_drb(
 //-----------------------------------------------------------------------------
 void
 rrc_ue_process_measConfig(
-  const protocol_ctxt_t* const       ctxt_pP,
+  const protocol_ctxt_t *const       ctxt_pP,
   const uint8_t                      eNB_index,
-  LTE_MeasConfig_t* const               measConfig
+  LTE_MeasConfig_t *const               measConfig
 )
 //-----------------------------------------------------------------------------
 {
-
   // This is the procedure described in 36.331 Section 5.5.2.1
   int i;
   long ind;
@@ -1003,8 +878,8 @@ rrc_ue_process_measConfig(
 
       if (UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index][ind-1]) {
         LOG_D(RRC,"Modifying measurement object %ld\n",ind);
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index][ind-1],
-               (char*)measObj,
+        memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index][ind-1],
+               (char *)measObj,
                sizeof(LTE_MeasObjectToAddMod_t));
       } else {
         LOG_I(RRC,"Adding measurement object %ld\n",ind);
@@ -1021,45 +896,43 @@ rrc_ue_process_measConfig(
     }
 
     LOG_I(RRC,"call rrc_mac_config_req \n");
-
     rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-			  (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-			  (struct LTE_PhysicalConfigDedicated *)NULL,
+                          (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                          (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			  (LTE_SCellToAddMod_r10_t *)NULL,
-			  //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-			  UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index],
-			  (LTE_MAC_MainConfig_t *)NULL,
-			  0,
-			  (struct LTE_LogicalChannelConfig *)NULL,
-			  (LTE_MeasGapConfig_t *)NULL,
-			  (LTE_TDD_Config_t *)NULL,
-			  (LTE_MobilityControlInfo_t *)NULL,
-			  NULL,
-			  NULL,
-			  NULL,
-			  NULL,
-			  NULL,
-			  NULL
+                          (LTE_SCellToAddMod_r10_t *)NULL,
+                          //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                          UE_rrc_inst[ctxt_pP->module_id].MeasObj[eNB_index],
+                          (LTE_MAC_MainConfig_t *)NULL,
+                          0,
+                          (struct LTE_LogicalChannelConfig *)NULL,
+                          (LTE_MeasGapConfig_t *)NULL,
+                          (LTE_TDD_Config_t *)NULL,
+                          (LTE_MobilityControlInfo_t *)NULL,
+                          NULL,
+                          NULL,
+                          NULL,
+                          NULL,
+                          NULL,
+                          NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			  ,0,
-			  (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-			  (LTE_PMCH_InfoList_r9_t *)NULL
-
+                          ,0,
+                          (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                          (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-			  ,
-			  0,
-			  0
+                          ,
+                          0,
+                          0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                          ,
+                          0,
+                          NULL,
+                          NULL
 #endif
-			  );
+                         );
   }
 
   if (measConfig->reportConfigToRemoveList != NULL) {
@@ -1077,8 +950,8 @@ rrc_ue_process_measConfig(
 
       if (UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1]) {
         LOG_I(RRC,"Modifying Report Configuration %ld\n",ind-1);
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1],
-               (char*)measConfig->reportConfigToAddModList->list.array[i],
+        memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].ReportConfig[eNB_index][ind-1],
+               (char *)measConfig->reportConfigToAddModList->list.array[i],
                sizeof(LTE_ReportConfigToAddMod_t));
       } else {
         LOG_D(RRC,"Adding Report Configuration %ld %p \n",ind-1,measConfig->reportConfigToAddModList->list.array[i]);
@@ -1090,8 +963,8 @@ rrc_ue_process_measConfig(
   if (measConfig->quantityConfig != NULL) {
     if (UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]) {
       LOG_D(RRC,"Modifying Quantity Configuration \n");
-      memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index],
-             (char*)measConfig->quantityConfig,
+      memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index],
+             (char *)measConfig->quantityConfig,
              sizeof(LTE_QuantityConfig_t));
     } else {
       LOG_D(RRC,"Adding Quantity configuration\n");
@@ -1112,8 +985,8 @@ rrc_ue_process_measConfig(
 
       if (UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1]) {
         LOG_D(RRC,"Modifying Measurement ID %ld\n",ind-1);
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1],
-               (char*)measConfig->measIdToAddModList->list.array[i],
+        memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].MeasId[eNB_index][ind-1],
+               (char *)measConfig->measIdToAddModList->list.array[i],
                sizeof(LTE_MeasIdToAddMod_t));
       } else {
         LOG_D(RRC,"Adding Measurement ID %ld %p\n",ind-1,measConfig->measIdToAddModList->list.array[i]);
@@ -1124,8 +997,8 @@ rrc_ue_process_measConfig(
 
   if (measConfig->measGapConfig !=NULL) {
     if (UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index]) {
-      memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
-             (char*)measConfig->measGapConfig,
+      memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
+             (char *)measConfig->measGapConfig,
              sizeof(LTE_MeasGapConfig_t));
     } else {
       UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index] = measConfig->measGapConfig;
@@ -1135,8 +1008,8 @@ rrc_ue_process_measConfig(
   if (measConfig->quantityConfig != NULL) {
     if (UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]) {
       LOG_I(RRC,"Modifying Quantity Configuration \n");
-      memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index],
-             (char*)measConfig->quantityConfig,
+      memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index],
+             (char *)measConfig->quantityConfig,
              sizeof(LTE_QuantityConfig_t));
     } else {
       LOG_I(RRC,"Adding Quantity configuration\n");
@@ -1147,7 +1020,6 @@ rrc_ue_process_measConfig(
         (*UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]->quantityConfigEUTRA->filterCoefficientRSRP)/4);
     UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrq = 1./pow(2,
         (*UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]->quantityConfigEUTRA->filterCoefficientRSRQ)/4);
-
     LOG_I(RRC,"[UE %d] set rsrp-coeff for eNB %d: %ld rsrq-coeff: %ld rsrp_factor: %f rsrq_factor: %f \n",
           ctxt_pP->module_id, eNB_index, // UE_rrc_inst[ue_mod_idP].Info[eNB_index].UE_index,
           *UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[eNB_index]->quantityConfigEUTRA->filterCoefficientRSRP,
@@ -1162,7 +1034,7 @@ rrc_ue_process_measConfig(
 
   if (measConfig->speedStatePars != NULL) {
     if (UE_rrc_inst[ctxt_pP->module_id].speedStatePars) {
-      memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].speedStatePars,(char*)measConfig->speedStatePars,sizeof(struct LTE_MeasConfig__speedStatePars));
+      memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].speedStatePars,(char *)measConfig->speedStatePars,sizeof(struct LTE_MeasConfig__speedStatePars));
     } else {
       UE_rrc_inst[ctxt_pP->module_id].speedStatePars = measConfig->speedStatePars;
     }
@@ -1174,231 +1046,192 @@ rrc_ue_process_measConfig(
 
 
 void
-rrc_ue_update_radioResourceConfigDedicated(LTE_RadioResourceConfigDedicated_t* radioResourceConfigDedicated,
-        const protocol_ctxt_t* const ctxt_pP,
-        uint8_t eNB_index)
-{
-    LTE_PhysicalConfigDedicated_t* physicalConfigDedicated2 = NULL;
-
-    physicalConfigDedicated2 = CALLOC(1,sizeof(*physicalConfigDedicated2));
-    physicalConfigDedicated2->pdsch_ConfigDedicated         = CALLOC(1,sizeof(*physicalConfigDedicated2->pdsch_ConfigDedicated));
-    physicalConfigDedicated2->pusch_ConfigDedicated         = CALLOC(1,sizeof(*physicalConfigDedicated2->pusch_ConfigDedicated));
-    physicalConfigDedicated2->pucch_ConfigDedicated         = CALLOC(1,sizeof(*physicalConfigDedicated2->pucch_ConfigDedicated));
-    physicalConfigDedicated2->cqi_ReportConfig              = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig));
-    physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic
-                                                            = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic));
-    physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->soundingRS_UL_ConfigDedicated));
-    physicalConfigDedicated2->schedulingRequestConfig       = CALLOC(1,sizeof(*physicalConfigDedicated2->schedulingRequestConfig));
-    physicalConfigDedicated2->antennaInfo                   = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo));
-
-    physicalConfigDedicated2->uplinkPowerControlDedicated   = CALLOC(1,sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated));
-    physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH         = CALLOC(1,sizeof(*physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH));
-    physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH         = CALLOC(1,sizeof(*physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH));
-
-    // Update pdsch_ConfigDedicated
-    if(radioResourceConfigDedicated->physicalConfigDedicated->pdsch_ConfigDedicated != NULL)
-    {
-        LOG_I(RRC,"Update pdsch_ConfigDedicated config \n");
-
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated = CALLOC(1,sizeof(LTE_PDSCH_ConfigDedicated_t));
-
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->pdsch_ConfigDedicated,
-                sizeof(physicalConfigDedicated2->pdsch_ConfigDedicated));
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for pdsch_ConfigDedicated\n");
-    }
-
-    // Update pusch_ConfigDedicated
-    if(radioResourceConfigDedicated->physicalConfigDedicated->pusch_ConfigDedicated != NULL)
-    {
-        LOG_I(RRC,"Update pusch_ConfigDedicated config \n");
-
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated = CALLOC(1,sizeof(LTE_PUSCH_ConfigDedicated_t));
-
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->pusch_ConfigDedicated,
-                sizeof(physicalConfigDedicated2->pusch_ConfigDedicated));
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for pusch_ConfigDedicated\n");
-    }
-
-    // Update pucch_ConfigDedicated
-    if(radioResourceConfigDedicated->physicalConfigDedicated->pucch_ConfigDedicated != NULL)
-    {
-        LOG_I(RRC,"Update pucch_ConfigDedicated config \n");
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated = CALLOC(1,sizeof(LTE_PUCCH_ConfigDedicated_t));
-
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->pucch_ConfigDedicated,
-                sizeof(physicalConfigDedicated2->pucch_ConfigDedicated));
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for pucch_ConfigDedicated\n");
-    }
+rrc_ue_update_radioResourceConfigDedicated(LTE_RadioResourceConfigDedicated_t *radioResourceConfigDedicated,
+    const protocol_ctxt_t *const ctxt_pP,
+    uint8_t eNB_index) {
+  LTE_PhysicalConfigDedicated_t *physicalConfigDedicated2 = NULL;
+  physicalConfigDedicated2 = CALLOC(1,sizeof(*physicalConfigDedicated2));
+  physicalConfigDedicated2->pdsch_ConfigDedicated         = CALLOC(1,sizeof(*physicalConfigDedicated2->pdsch_ConfigDedicated));
+  physicalConfigDedicated2->pusch_ConfigDedicated         = CALLOC(1,sizeof(*physicalConfigDedicated2->pusch_ConfigDedicated));
+  physicalConfigDedicated2->pucch_ConfigDedicated         = CALLOC(1,sizeof(*physicalConfigDedicated2->pucch_ConfigDedicated));
+  physicalConfigDedicated2->cqi_ReportConfig              = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig));
+  physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic
+    = CALLOC(1,sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic));
+  physicalConfigDedicated2->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(*physicalConfigDedicated2->soundingRS_UL_ConfigDedicated));
+  physicalConfigDedicated2->schedulingRequestConfig       = CALLOC(1,sizeof(*physicalConfigDedicated2->schedulingRequestConfig));
+  physicalConfigDedicated2->antennaInfo                   = CALLOC(1,sizeof(*physicalConfigDedicated2->antennaInfo));
+  physicalConfigDedicated2->uplinkPowerControlDedicated   = CALLOC(1,sizeof(*physicalConfigDedicated2->uplinkPowerControlDedicated));
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH         = CALLOC(1,sizeof(*physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH));
+  physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH         = CALLOC(1,sizeof(*physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH));
+
+  // Update pdsch_ConfigDedicated
+  if(radioResourceConfigDedicated->physicalConfigDedicated->pdsch_ConfigDedicated != NULL) {
+    LOG_I(RRC,"Update pdsch_ConfigDedicated config \n");
+
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated = CALLOC(1,sizeof(LTE_PDSCH_ConfigDedicated_t));
+
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pdsch_ConfigDedicated,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->pdsch_ConfigDedicated,
+           sizeof(physicalConfigDedicated2->pdsch_ConfigDedicated));
+  } else {
+    LOG_I(RRC,"Keep old config for pdsch_ConfigDedicated\n");
+  }
 
-    // Update cqi_ReportConfig
-    if(radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig != NULL)
-    {
-        LOG_I(RRC,"Update cqi_ReportConfig config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig), sizeof(LTE_CQI_ReportConfig_t));
+  // Update pusch_ConfigDedicated
+  if(radioResourceConfigDedicated->physicalConfigDedicated->pusch_ConfigDedicated != NULL) {
+    LOG_I(RRC,"Update pusch_ConfigDedicated config \n");
 
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig = CALLOC(1,sizeof(LTE_CQI_ReportConfig_t));
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated = CALLOC(1,sizeof(LTE_PUSCH_ConfigDedicated_t));
 
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig,
-                sizeof(*physicalConfigDedicated2->cqi_ReportConfig));
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pusch_ConfigDedicated,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->pusch_ConfigDedicated,
+           sizeof(physicalConfigDedicated2->pusch_ConfigDedicated));
+  } else {
+    LOG_I(RRC,"Keep old config for pusch_ConfigDedicated\n");
+  }
 
-        if (radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic != NULL) {
-          LOG_I(RRC,"Update cqi_ReportPeriodic config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic), sizeof(LTE_CQI_ReportPeriodic_t));
+  // Update pucch_ConfigDedicated
+  if(radioResourceConfigDedicated->physicalConfigDedicated->pucch_ConfigDedicated != NULL) {
+    LOG_I(RRC,"Update pucch_ConfigDedicated config \n");
 
-          if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(LTE_CQI_ReportPeriodic_t));
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated = CALLOC(1,sizeof(LTE_PUCCH_ConfigDedicated_t));
 
-          memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic,
-                  (char*)radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic,
-                  sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic));
-        }
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for cqi_ReportConfig\n");
-    }
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->pucch_ConfigDedicated,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->pucch_ConfigDedicated,
+           sizeof(physicalConfigDedicated2->pucch_ConfigDedicated));
+  } else {
+    LOG_I(RRC,"Keep old config for pucch_ConfigDedicated\n");
+  }
 
-    // Update schedulingRequestConfig
-    if(radioResourceConfigDedicated->physicalConfigDedicated->schedulingRequestConfig != NULL)
-    {
-        LOG_I(RRC,"Update schedulingRequestConfig config \n");
+  // Update cqi_ReportConfig
+  if(radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig != NULL) {
+    LOG_I(RRC,"Update cqi_ReportConfig config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig), sizeof(LTE_CQI_ReportConfig_t));
 
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig = CALLOC(1,sizeof(LTE_SchedulingRequestConfig_t));
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig = CALLOC(1,sizeof(LTE_CQI_ReportConfig_t));
 
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->schedulingRequestConfig,
-                sizeof(physicalConfigDedicated2->schedulingRequestConfig));
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for schedulingRequestConfig\n");
-    }
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig,
+           sizeof(*physicalConfigDedicated2->cqi_ReportConfig));
 
-    // Update soundingRS_UL_ConfigDedicated
-    if(radioResourceConfigDedicated->physicalConfigDedicated->soundingRS_UL_ConfigDedicated != NULL)
-    {
-        LOG_I(RRC,"Update soundingRS_UL_ConfigDedicated config \n");
+    if (radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic != NULL) {
+      LOG_I(RRC,"Update cqi_ReportPeriodic config (size=%zu,%zu)\n", sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic), sizeof(LTE_CQI_ReportPeriodic_t));
 
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(LTE_SoundingRS_UL_ConfigDedicated_t));
+      if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic == NULL)
+        UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic = CALLOC(1,sizeof(LTE_CQI_ReportPeriodic_t));
 
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->soundingRS_UL_ConfigDedicated,
-                sizeof(physicalConfigDedicated2->soundingRS_UL_ConfigDedicated));
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for soundingRS_UL_ConfigDedicated\n");
+      memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->cqi_ReportConfig->cqi_ReportPeriodic,
+             (char *)radioResourceConfigDedicated->physicalConfigDedicated->cqi_ReportConfig->cqi_ReportPeriodic,
+             sizeof(*physicalConfigDedicated2->cqi_ReportConfig->cqi_ReportPeriodic));
     }
+  } else {
+    LOG_I(RRC,"Keep old config for cqi_ReportConfig\n");
+  }
 
-    // Update antennaInfo
-    if(radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo != NULL)
-    {
-        LOG_I(RRC,"Update antennaInfo config \n");
-
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo = CALLOC(1,sizeof(struct LTE_PhysicalConfigDedicated__antennaInfo));
-
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo,
-                sizeof(physicalConfigDedicated2->antennaInfo));
+  // Update schedulingRequestConfig
+  if(radioResourceConfigDedicated->physicalConfigDedicated->schedulingRequestConfig != NULL) {
+    LOG_I(RRC,"Update schedulingRequestConfig config \n");
 
-        UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.transmissionMode =
-        		radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode;
-        UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.codebookSubsetRestriction =
-        		radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.codebookSubsetRestriction;
-        UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection =
-        		radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection;
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig = CALLOC(1,sizeof(LTE_SchedulingRequestConfig_t));
 
-        LOG_I(PHY,"New Transmission Mode %ld \n",radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode);
-        LOG_I(PHY,"Configured Transmission Mode %ld \n",UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.transmissionMode);
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->schedulingRequestConfig,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->schedulingRequestConfig,
+           sizeof(physicalConfigDedicated2->schedulingRequestConfig));
+  } else {
+    LOG_I(RRC,"Keep old config for schedulingRequestConfig\n");
+  }
 
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for antennaInfo\n");
-    }
+  // Update soundingRS_UL_ConfigDedicated
+  if(radioResourceConfigDedicated->physicalConfigDedicated->soundingRS_UL_ConfigDedicated != NULL) {
+    LOG_I(RRC,"Update soundingRS_UL_ConfigDedicated config \n");
 
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated = CALLOC(1,sizeof(LTE_SoundingRS_UL_ConfigDedicated_t));
 
-    // Update uplinkPowerControlDedicated
-    if(radioResourceConfigDedicated->physicalConfigDedicated->uplinkPowerControlDedicated != NULL)
-    {
-        LOG_I(RRC,"Update uplinkPowerControlDedicated config \n");
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->soundingRS_UL_ConfigDedicated,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->soundingRS_UL_ConfigDedicated,
+           sizeof(physicalConfigDedicated2->soundingRS_UL_ConfigDedicated));
+  } else {
+    LOG_I(RRC,"Keep old config for soundingRS_UL_ConfigDedicated\n");
+  }
 
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated = CALLOC(1,sizeof(LTE_UplinkPowerControlDedicated_t));
+  // Update antennaInfo
+  if(radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo != NULL) {
+    LOG_I(RRC,"Update antennaInfo config \n");
+
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo = CALLOC(1,sizeof(struct LTE_PhysicalConfigDedicated__antennaInfo));
+
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo,
+           sizeof(physicalConfigDedicated2->antennaInfo));
+    UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.transmissionMode =
+      radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode;
+    UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.codebookSubsetRestriction =
+      radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.codebookSubsetRestriction;
+    UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection =
+      radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.ue_TransmitAntennaSelection;
+    LOG_I(PHY,"New Transmission Mode %ld \n",radioResourceConfigDedicated->physicalConfigDedicated->antennaInfo->choice.explicitValue.transmissionMode);
+    LOG_I(PHY,"Configured Transmission Mode %ld \n",UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->antennaInfo->choice.explicitValue.transmissionMode);
+  } else {
+    LOG_I(RRC,"Keep old config for antennaInfo\n");
+  }
 
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->uplinkPowerControlDedicated,
-                sizeof(physicalConfigDedicated2->uplinkPowerControlDedicated));
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for uplinkPowerControlDedicated\n");
-    }
+  // Update uplinkPowerControlDedicated
+  if(radioResourceConfigDedicated->physicalConfigDedicated->uplinkPowerControlDedicated != NULL) {
+    LOG_I(RRC,"Update uplinkPowerControlDedicated config \n");
 
-    // Update tpc_PDCCH_ConfigPUCCH
-    if(radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUCCH != NULL)
-    {
-        LOG_I(RRC,"Update tpc_PDCCH_ConfigPUCCH config \n");
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated = CALLOC(1,sizeof(LTE_UplinkPowerControlDedicated_t));
 
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH = CALLOC(1,sizeof(LTE_TPC_PDCCH_Config_t));
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->uplinkPowerControlDedicated,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->uplinkPowerControlDedicated,
+           sizeof(physicalConfigDedicated2->uplinkPowerControlDedicated));
+  } else {
+    LOG_I(RRC,"Keep old config for uplinkPowerControlDedicated\n");
+  }
 
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUCCH,
-                sizeof(physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH));
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for tpc_PDCCH_ConfigPUCCH\n");
-    }
+  // Update tpc_PDCCH_ConfigPUCCH
+  if(radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUCCH != NULL) {
+    LOG_I(RRC,"Update tpc_PDCCH_ConfigPUCCH config \n");
 
-    // Update tpc_PDCCH_ConfigPUSCH
-    if(radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUSCH != NULL)
-    {
-        LOG_I(RRC,"Update tpc_PDCCH_ConfigPUSCH config \n");
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH = CALLOC(1,sizeof(LTE_TPC_PDCCH_Config_t));
 
-        if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH == NULL)
-            UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH = CALLOC(1,sizeof(LTE_TPC_PDCCH_Config_t));
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUCCH,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUCCH,
+           sizeof(physicalConfigDedicated2->tpc_PDCCH_ConfigPUCCH));
+  } else {
+    LOG_I(RRC,"Keep old config for tpc_PDCCH_ConfigPUCCH\n");
+  }
 
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH,
-                (char*)radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUSCH,
-                sizeof(physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH));
+  // Update tpc_PDCCH_ConfigPUSCH
+  if(radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUSCH != NULL) {
+    LOG_I(RRC,"Update tpc_PDCCH_ConfigPUSCH config \n");
 
-    }
-    else
-    {
-        LOG_I(RRC,"Keep old config for tpc_PDCCH_ConfigPUSCH\n");
-    }
+    if(UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH == NULL)
+      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH = CALLOC(1,sizeof(LTE_TPC_PDCCH_Config_t));
 
+    memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]->tpc_PDCCH_ConfigPUSCH,
+           (char *)radioResourceConfigDedicated->physicalConfigDedicated->tpc_PDCCH_ConfigPUSCH,
+           sizeof(physicalConfigDedicated2->tpc_PDCCH_ConfigPUSCH));
+  } else {
+    LOG_I(RRC,"Keep old config for tpc_PDCCH_ConfigPUSCH\n");
+  }
 }
 //-----------------------------------------------------------------------------
 void
 rrc_ue_process_radioResourceConfigDedicated(
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   uint8_t eNB_index,
-  LTE_RadioResourceConfigDedicated_t* radioResourceConfigDedicated
+  LTE_RadioResourceConfigDedicated_t *radioResourceConfigDedicated
 )
 //-----------------------------------------------------------------------------
 {
-
   long SRB_id,DRB_id;
   int i,cnt;
   LTE_LogicalChannelConfig_t *SRB1_logicalChannelConfig,*SRB2_logicalChannelConfig;
@@ -1413,9 +1246,9 @@ rrc_ue_process_radioResourceConfigDedicated(
 
     if (UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index]) {
 #if 1
-        rrc_ue_update_radioResourceConfigDedicated(radioResourceConfigDedicated, ctxt_pP, eNB_index);
+      rrc_ue_update_radioResourceConfigDedicated(radioResourceConfigDedicated, ctxt_pP, eNB_index);
 #else
-      memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],(char*)radioResourceConfigDedicated->physicalConfigDedicated,
+      memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],(char *)radioResourceConfigDedicated->physicalConfigDedicated,
              sizeof(struct PhysicalConfigDedicated));
 #endif
     } else {
@@ -1428,7 +1261,7 @@ rrc_ue_process_radioResourceConfigDedicated(
   if (radioResourceConfigDedicated->mac_MainConfig) {
     if (radioResourceConfigDedicated->mac_MainConfig->present == LTE_RadioResourceConfigDedicated__mac_MainConfig_PR_explicitValue) {
       if (UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index]) {
-        memcpy((char*)UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],(char*)&radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue,
+        memcpy((char *)UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],(char *)&radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue,
                sizeof(LTE_MAC_MainConfig_t));
       } else {
         UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index] = &radioResourceConfigDedicated->mac_MainConfig->choice.explicitValue;
@@ -1476,7 +1309,6 @@ rrc_ue_process_radioResourceConfigDedicated(
   if (radioResourceConfigDedicated->srb_ToAddModList) {
     uint8_t *kRRCenc = NULL;
     uint8_t *kRRCint = NULL;
-
 #if defined(ENABLE_SECURITY)
     derive_key_rrc_enc(UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm,
                        UE_rrc_inst[ctxt_pP->module_id].kenb, &kRRCenc);
@@ -1486,8 +1318,8 @@ rrc_ue_process_radioResourceConfigDedicated(
     // Refresh SRBs
     rrc_pdcp_config_asn1_req(ctxt_pP,
                              radioResourceConfigDedicated->srb_ToAddModList,
-                             (LTE_DRB_ToAddModList_t*)NULL,
-                             (LTE_DRB_ToReleaseList_t*)NULL,
+                             (LTE_DRB_ToAddModList_t *)NULL,
+                             (LTE_DRB_ToReleaseList_t *)NULL,
                              UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm |
                              (UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4),
                              kRRCenc,
@@ -1497,18 +1329,16 @@ rrc_ue_process_radioResourceConfigDedicated(
                              ,(LTE_PMCH_InfoList_r9_t *)NULL
 #endif
                              ,NULL);
-
     // Refresh SRBs
     rrc_rlc_config_asn1_req(ctxt_pP,
                             radioResourceConfigDedicated->srb_ToAddModList,
-                            (LTE_DRB_ToAddModList_t*)NULL,
-                            (LTE_DRB_ToReleaseList_t*)NULL
+                            (LTE_DRB_ToAddModList_t *)NULL,
+                            (LTE_DRB_ToReleaseList_t *)NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
                             ,(LTE_PMCH_InfoList_r9_t *)NULL
                             , 0, 0
 #endif
                            );
-
 #if ENABLE_RAL
     // first msg that includes srb config
     UE_rrc_inst[ctxt_pP->module_id].num_srb=radioResourceConfigDedicated->srb_ToAddModList->list.count;
@@ -1530,7 +1360,6 @@ rrc_ue_process_radioResourceConfigDedicated(
           if (UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]->logicalChannelConfig) {
             if (UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]->logicalChannelConfig->present == LTE_SRB_ToAddMod__logicalChannelConfig_PR_explicitValue) {
               SRB1_logicalChannelConfig = &UE_rrc_inst[ctxt_pP->module_id].SRB1_config[eNB_index]->logicalChannelConfig->choice.explicitValue;
-
             } else {
               SRB1_logicalChannelConfig = &SRB1_logicalChannelConfig_defaultValue;
             }
@@ -1540,45 +1369,44 @@ rrc_ue_process_radioResourceConfigDedicated(
 
           LOG_I(RRC, "[FRAME %05d][RRC_UE][MOD %02d][][--- MAC_CONFIG_REQ  (SRB1 eNB %d) --->][MAC_UE][MOD %02d][]\n",
                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
-
           rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-				(LTE_RadioResourceConfigCommonSIB_t *)NULL,
-				UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
+                                (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                                UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-				(LTE_SCellToAddMod_r10_t *)NULL,
-				//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-				(LTE_MeasObjectToAddMod_t **)NULL,
-				UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
-				1,
-				SRB1_logicalChannelConfig,
-				(LTE_MeasGapConfig_t *)NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL
+                                (LTE_SCellToAddMod_r10_t *)NULL,
+                                //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                                (LTE_MeasObjectToAddMod_t **)NULL,
+                                UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
+                                1,
+                                SRB1_logicalChannelConfig,
+                                (LTE_MeasGapConfig_t *)NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-				,
-				0,
-				(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-				(LTE_PMCH_InfoList_r9_t *)NULL
+                                ,
+                                0,
+                                (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                                (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-				,
-				0,
-				0
+                                ,
+                                0,
+                                0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                                ,
+                                0,
+                                NULL,
+                                NULL
 #endif
-				);
+                               );
         }
       } else {
         if (UE_rrc_inst[ctxt_pP->module_id].SRB2_config[eNB_index]) {
@@ -1606,44 +1434,43 @@ rrc_ue_process_radioResourceConfigDedicated(
                 eNB_index,
                 ctxt_pP->module_id);
           rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-				(LTE_RadioResourceConfigCommonSIB_t *)NULL,
-				UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
+                                (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                                UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-				(LTE_SCellToAddMod_r10_t *)NULL,
-				//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-				(LTE_MeasObjectToAddMod_t **)NULL,
-				UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
-				2,
-				SRB2_logicalChannelConfig,
-				UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
-				(LTE_TDD_Config_t *)NULL,
-				(LTE_MobilityControlInfo_t *)NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL,
-				NULL
+                                (LTE_SCellToAddMod_r10_t *)NULL,
+                                //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                                (LTE_MeasObjectToAddMod_t **)NULL,
+                                UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
+                                2,
+                                SRB2_logicalChannelConfig,
+                                UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
+                                (LTE_TDD_Config_t *)NULL,
+                                (LTE_MobilityControlInfo_t *)NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-				,
-				0,
-				(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-				(LTE_PMCH_InfoList_r9_t *)NULL
-
+                                ,
+                                0,
+                                (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                                (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-				,
-				0,
-				0
+                                ,
+                                0,
+                                0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                                ,
+                                0,
+                                NULL,
+                                NULL
 #endif
-				);
+                               );
         }
       }
     }
@@ -1651,22 +1478,19 @@ rrc_ue_process_radioResourceConfigDedicated(
 
   // Establish DRBs if present
   if (radioResourceConfigDedicated->drb_ToAddModList) {
-
     if ( (UE_rrc_inst[ctxt_pP->module_id].defaultDRB == NULL) &&
          (radioResourceConfigDedicated->drb_ToAddModList->list.count >= 1) ) {
-        // configure the first DRB ID as the default DRB ID
-        UE_rrc_inst[ctxt_pP->module_id].defaultDRB = malloc(sizeof(rb_id_t));
-        *UE_rrc_inst[ctxt_pP->module_id].defaultDRB = radioResourceConfigDedicated->drb_ToAddModList->list.array[0]->drb_Identity;
-        LOG_I(RRC,"[UE %d] default DRB = %d\n",ctxt_pP->module_id, *UE_rrc_inst[ctxt_pP->module_id].defaultDRB);
-      }
+      // configure the first DRB ID as the default DRB ID
+      UE_rrc_inst[ctxt_pP->module_id].defaultDRB = malloc(sizeof(rb_id_t));
+      *UE_rrc_inst[ctxt_pP->module_id].defaultDRB = radioResourceConfigDedicated->drb_ToAddModList->list.array[0]->drb_Identity;
+      LOG_I(RRC,"[UE %d] default DRB = %d\n",ctxt_pP->module_id, *UE_rrc_inst[ctxt_pP->module_id].defaultDRB);
+    }
 
     uint8_t *kUPenc = NULL;
-
 #if defined(ENABLE_SECURITY)
     derive_key_up_enc(UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm,
                       UE_rrc_inst[ctxt_pP->module_id].kenb, &kUPenc);
 #endif
-
     MSC_LOG_TX_MESSAGE(
       MSC_RRC_UE,
       MSC_PDCP_UE,
@@ -1677,12 +1501,11 @@ rrc_ue_process_radioResourceConfigDedicated(
       ctxt_pP->rnti,
       UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm |
       (UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4));
-
     // Refresh DRBs
     rrc_pdcp_config_asn1_req(ctxt_pP,
-                             (LTE_SRB_ToAddModList_t*)NULL,
+                             (LTE_SRB_ToAddModList_t *)NULL,
                              radioResourceConfigDedicated->drb_ToAddModList,
-                             (LTE_DRB_ToReleaseList_t*)NULL,
+                             (LTE_DRB_ToReleaseList_t *)NULL,
                              UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm |
                              (UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4),
                              NULL,
@@ -1692,12 +1515,11 @@ rrc_ue_process_radioResourceConfigDedicated(
                              ,(LTE_PMCH_InfoList_r9_t *)NULL
 #endif
                              , UE_rrc_inst[ctxt_pP->module_id].defaultDRB);
-
     // Refresh DRBs
     rrc_rlc_config_asn1_req(ctxt_pP,
-                            (LTE_SRB_ToAddModList_t*)NULL,
+                            (LTE_SRB_ToAddModList_t *)NULL,
                             radioResourceConfigDedicated->drb_ToAddModList,
-                            (LTE_DRB_ToReleaseList_t*)NULL
+                            (LTE_DRB_ToReleaseList_t *)NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
                             ,(LTE_PMCH_InfoList_r9_t *)NULL
                             , 0, 0
@@ -1721,44 +1543,43 @@ rrc_ue_process_radioResourceConfigDedicated(
               eNB_index,
               ctxt_pP->module_id);
         rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-			      (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-			      UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
+                              (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                              UE_rrc_inst[ctxt_pP->module_id].physicalConfigDedicated[eNB_index],
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			      (LTE_SCellToAddMod_r10_t *)NULL,
-			      //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-			      (LTE_MeasObjectToAddMod_t **)NULL,
-			      UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
-			      *UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id]->logicalChannelIdentity,
-			      UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id]->logicalChannelConfig,
-			      UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
-			      (LTE_TDD_Config_t*)NULL,
-			      (LTE_MobilityControlInfo_t *)NULL,
-			      NULL,
-			      NULL,
-			      NULL,
-			      NULL,
-			      NULL,
-			      NULL
+                              (LTE_SCellToAddMod_r10_t *)NULL,
+                              //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                              (LTE_MeasObjectToAddMod_t **)NULL,
+                              UE_rrc_inst[ctxt_pP->module_id].mac_MainConfig[eNB_index],
+                              *UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id]->logicalChannelIdentity,
+                              UE_rrc_inst[ctxt_pP->module_id].DRB_config[eNB_index][DRB_id]->logicalChannelConfig,
+                              UE_rrc_inst[ctxt_pP->module_id].measGapConfig[eNB_index],
+                              (LTE_TDD_Config_t *)NULL,
+                              (LTE_MobilityControlInfo_t *)NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			      ,
-			      0,
-			      (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-			      (LTE_PMCH_InfoList_r9_t *)NULL
+                              ,
+                              0,
+                              (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                              (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-			      ,
-			      UE_rrc_inst[ue_mod_idP].num_active_cba_groups, //
-			      UE_rrc_inst[ue_mod_idP].cba_rnti[0]
+                              ,
+                              UE_rrc_inst[ue_mod_idP].num_active_cba_groups, //
+                              UE_rrc_inst[ue_mod_idP].cba_rnti[0]
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                              ,
+                              0,
+                              NULL,
+                              NULL
 #endif
-			      );
-
+                             );
       }
     }
   }
@@ -1771,86 +1592,79 @@ rrc_ue_process_radioResourceConfigDedicated(
 //-----------------------------------------------------------------------------
 void
 rrc_ue_process_securityModeCommand(
-  const protocol_ctxt_t* const ctxt_pP,
-  LTE_SecurityModeCommand_t* const securityModeCommand,
+  const protocol_ctxt_t *const ctxt_pP,
+  LTE_SecurityModeCommand_t *const securityModeCommand,
   const uint8_t                eNB_index
 )
 //-----------------------------------------------------------------------------
 {
-
   asn_enc_rval_t enc_rval;
-
   LTE_UL_DCCH_Message_t ul_dcch_msg;
   // SecurityModeCommand_t SecurityModeCommand;
   uint8_t buffer[200];
   int i, securityMode;
-
   LOG_I(RRC,"[UE %d] SFN/SF %d/%d: Receiving from SRB1 (DL-DCCH), Processing securityModeCommand (eNB %d)\n",
         ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index);
 
   switch (securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm) {
-  case LTE_CipheringAlgorithm_r12_eea0:
-    LOG_I(RRC,"[UE %d] Security algorithm is set to eea0\n",
-          ctxt_pP->module_id);
-    securityMode= LTE_CipheringAlgorithm_r12_eea0;
-    break;
-
-  case LTE_CipheringAlgorithm_r12_eea1:
-    LOG_I(RRC,"[UE %d] Security algorithm is set to eea1\n",ctxt_pP->module_id);
-    securityMode= LTE_CipheringAlgorithm_r12_eea1;
-    break;
-
-  case LTE_CipheringAlgorithm_r12_eea2:
-    LOG_I(RRC,"[UE %d] Security algorithm is set to eea2\n",
-          ctxt_pP->module_id);
-    securityMode = LTE_CipheringAlgorithm_r12_eea2;
-    break;
-
-  default:
-    LOG_I(RRC,"[UE %d] Security algorithm is set to none\n",ctxt_pP->module_id);
-    securityMode = LTE_CipheringAlgorithm_r12_spare1;
-    break;
+    case LTE_CipheringAlgorithm_r12_eea0:
+      LOG_I(RRC,"[UE %d] Security algorithm is set to eea0\n",
+            ctxt_pP->module_id);
+      securityMode= LTE_CipheringAlgorithm_r12_eea0;
+      break;
+
+    case LTE_CipheringAlgorithm_r12_eea1:
+      LOG_I(RRC,"[UE %d] Security algorithm is set to eea1\n",ctxt_pP->module_id);
+      securityMode= LTE_CipheringAlgorithm_r12_eea1;
+      break;
+
+    case LTE_CipheringAlgorithm_r12_eea2:
+      LOG_I(RRC,"[UE %d] Security algorithm is set to eea2\n",
+            ctxt_pP->module_id);
+      securityMode = LTE_CipheringAlgorithm_r12_eea2;
+      break;
+
+    default:
+      LOG_I(RRC,"[UE %d] Security algorithm is set to none\n",ctxt_pP->module_id);
+      securityMode = LTE_CipheringAlgorithm_r12_spare1;
+      break;
   }
 
   switch (securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm) {
-  case LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia1:
-    LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to eia1\n",ctxt_pP->module_id);
-    securityMode |= 1 << 5;
-    break;
-
-  case LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia2:
-    LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to eia2\n",ctxt_pP->module_id);
-    securityMode |= 1 << 6;
-    break;
-
-  default:
-    LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to none\n",ctxt_pP->module_id);
-    securityMode |= 0x70 ;
-    break;
+    case LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia1:
+      LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to eia1\n",ctxt_pP->module_id);
+      securityMode |= 1 << 5;
+      break;
+
+    case LTE_SecurityAlgorithmConfig__integrityProtAlgorithm_eia2:
+      LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to eia2\n",ctxt_pP->module_id);
+      securityMode |= 1 << 6;
+      break;
+
+    default:
+      LOG_I(RRC,"[UE %d] Integrity protection algorithm is set to none\n",ctxt_pP->module_id);
+      securityMode |= 0x70 ;
+      break;
   }
 
   LOG_D(RRC,"[UE %d] security mode is %x \n",ctxt_pP->module_id, securityMode);
-
   /* Store the parameters received */
   UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm =
     securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.cipheringAlgorithm;
   UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm =
     securityModeCommand->criticalExtensions.choice.c1.choice.securityModeCommand_r8.securityConfigSMC.securityAlgorithmConfig.integrityProtAlgorithm;
-
   memset((void *)&ul_dcch_msg,0,sizeof(LTE_UL_DCCH_Message_t));
   //memset((void *)&SecurityModeCommand,0,sizeof(SecurityModeCommand_t));
-
   ul_dcch_msg.message.present           = LTE_UL_DCCH_MessageType_PR_c1;
 
   if (securityMode >= NO_SECURITY_MODE) {
-	  LOG_I(RRC, "rrc_ue_process_securityModeCommand, security mode complete case \n");
+    LOG_I(RRC, "rrc_ue_process_securityModeCommand, security mode complete case \n");
     ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_securityModeComplete;
   } else {
-	  LOG_I(RRC, "rrc_ue_process_securityModeCommand, security mode failure case \n");
+    LOG_I(RRC, "rrc_ue_process_securityModeCommand, security mode failure case \n");
     ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_securityModeFailure;
   }
 
-
 #if defined(ENABLE_SECURITY)
   uint8_t *kRRCenc = NULL;
   uint8_t *kUPenc = NULL;
@@ -1858,47 +1672,44 @@ rrc_ue_process_securityModeCommand(
   pdcp_t *pdcp_p = NULL;
   hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE;
   hashtable_rc_t h_rc;
-
   key = PDCP_COLL_KEY_VALUE(ctxt_pP->module_id, ctxt_pP->rnti,
-      ctxt_pP->enb_flag, DCCH, SRB_FLAG_YES);
-  h_rc = hashtable_get(pdcp_coll_p, key, (void**) &pdcp_p);
+                            ctxt_pP->enb_flag, DCCH, SRB_FLAG_YES);
+  h_rc = hashtable_get(pdcp_coll_p, key, (void **) &pdcp_p);
 
   if (h_rc == HASH_TABLE_OK) {
     LOG_D(RRC, "PDCP_COLL_KEY_VALUE() returns valid key = %ld\n", key);
-
     LOG_D(RRC, "driving kRRCenc, kRRCint and kUPenc from KeNB="
-        "%02x%02x%02x%02x"
-        "%02x%02x%02x%02x"
-        "%02x%02x%02x%02x"
-        "%02x%02x%02x%02x"
-        "%02x%02x%02x%02x"
-        "%02x%02x%02x%02x"
-        "%02x%02x%02x%02x"
-        "%02x%02x%02x%02x\n",
-        UE_rrc_inst[ctxt_pP->module_id].kenb[0],  UE_rrc_inst[ctxt_pP->module_id].kenb[1],  UE_rrc_inst[ctxt_pP->module_id].kenb[2],  UE_rrc_inst[ctxt_pP->module_id].kenb[3],
-        UE_rrc_inst[ctxt_pP->module_id].kenb[4],  UE_rrc_inst[ctxt_pP->module_id].kenb[5],  UE_rrc_inst[ctxt_pP->module_id].kenb[6],  UE_rrc_inst[ctxt_pP->module_id].kenb[7],
-        UE_rrc_inst[ctxt_pP->module_id].kenb[8],  UE_rrc_inst[ctxt_pP->module_id].kenb[9],  UE_rrc_inst[ctxt_pP->module_id].kenb[10], UE_rrc_inst[ctxt_pP->module_id].kenb[11],
-        UE_rrc_inst[ctxt_pP->module_id].kenb[12], UE_rrc_inst[ctxt_pP->module_id].kenb[13], UE_rrc_inst[ctxt_pP->module_id].kenb[14], UE_rrc_inst[ctxt_pP->module_id].kenb[15],
-        UE_rrc_inst[ctxt_pP->module_id].kenb[16], UE_rrc_inst[ctxt_pP->module_id].kenb[17], UE_rrc_inst[ctxt_pP->module_id].kenb[18], UE_rrc_inst[ctxt_pP->module_id].kenb[19],
-        UE_rrc_inst[ctxt_pP->module_id].kenb[20], UE_rrc_inst[ctxt_pP->module_id].kenb[21], UE_rrc_inst[ctxt_pP->module_id].kenb[22], UE_rrc_inst[ctxt_pP->module_id].kenb[23],
-        UE_rrc_inst[ctxt_pP->module_id].kenb[24], UE_rrc_inst[ctxt_pP->module_id].kenb[25], UE_rrc_inst[ctxt_pP->module_id].kenb[26], UE_rrc_inst[ctxt_pP->module_id].kenb[27],
-        UE_rrc_inst[ctxt_pP->module_id].kenb[28], UE_rrc_inst[ctxt_pP->module_id].kenb[29], UE_rrc_inst[ctxt_pP->module_id].kenb[30], UE_rrc_inst[ctxt_pP->module_id].kenb[31]);
-
+          "%02x%02x%02x%02x"
+          "%02x%02x%02x%02x"
+          "%02x%02x%02x%02x"
+          "%02x%02x%02x%02x"
+          "%02x%02x%02x%02x"
+          "%02x%02x%02x%02x"
+          "%02x%02x%02x%02x"
+          "%02x%02x%02x%02x\n",
+          UE_rrc_inst[ctxt_pP->module_id].kenb[0],  UE_rrc_inst[ctxt_pP->module_id].kenb[1],  UE_rrc_inst[ctxt_pP->module_id].kenb[2],  UE_rrc_inst[ctxt_pP->module_id].kenb[3],
+          UE_rrc_inst[ctxt_pP->module_id].kenb[4],  UE_rrc_inst[ctxt_pP->module_id].kenb[5],  UE_rrc_inst[ctxt_pP->module_id].kenb[6],  UE_rrc_inst[ctxt_pP->module_id].kenb[7],
+          UE_rrc_inst[ctxt_pP->module_id].kenb[8],  UE_rrc_inst[ctxt_pP->module_id].kenb[9],  UE_rrc_inst[ctxt_pP->module_id].kenb[10], UE_rrc_inst[ctxt_pP->module_id].kenb[11],
+          UE_rrc_inst[ctxt_pP->module_id].kenb[12], UE_rrc_inst[ctxt_pP->module_id].kenb[13], UE_rrc_inst[ctxt_pP->module_id].kenb[14], UE_rrc_inst[ctxt_pP->module_id].kenb[15],
+          UE_rrc_inst[ctxt_pP->module_id].kenb[16], UE_rrc_inst[ctxt_pP->module_id].kenb[17], UE_rrc_inst[ctxt_pP->module_id].kenb[18], UE_rrc_inst[ctxt_pP->module_id].kenb[19],
+          UE_rrc_inst[ctxt_pP->module_id].kenb[20], UE_rrc_inst[ctxt_pP->module_id].kenb[21], UE_rrc_inst[ctxt_pP->module_id].kenb[22], UE_rrc_inst[ctxt_pP->module_id].kenb[23],
+          UE_rrc_inst[ctxt_pP->module_id].kenb[24], UE_rrc_inst[ctxt_pP->module_id].kenb[25], UE_rrc_inst[ctxt_pP->module_id].kenb[26], UE_rrc_inst[ctxt_pP->module_id].kenb[27],
+          UE_rrc_inst[ctxt_pP->module_id].kenb[28], UE_rrc_inst[ctxt_pP->module_id].kenb[29], UE_rrc_inst[ctxt_pP->module_id].kenb[30], UE_rrc_inst[ctxt_pP->module_id].kenb[31]);
     derive_key_rrc_enc(UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm,
-        UE_rrc_inst[ctxt_pP->module_id].kenb, &kRRCenc);
+                       UE_rrc_inst[ctxt_pP->module_id].kenb, &kRRCenc);
     derive_key_rrc_int(UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm,
-        UE_rrc_inst[ctxt_pP->module_id].kenb, &kRRCint);
+                       UE_rrc_inst[ctxt_pP->module_id].kenb, &kRRCint);
     derive_key_up_enc(UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm,
-        UE_rrc_inst[ctxt_pP->module_id].kenb, &kUPenc);
+                      UE_rrc_inst[ctxt_pP->module_id].kenb, &kUPenc);
 
     if (securityMode != 0xff) {
       pdcp_config_set_security(ctxt_pP, pdcp_p, 0, 0,
-          UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm
-              | (UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4),
-          kRRCenc, kRRCint, kUPenc);
+                               UE_rrc_inst[ctxt_pP->module_id].ciphering_algorithm
+                               | (UE_rrc_inst[ctxt_pP->module_id].integrity_algorithm << 4),
+                               kRRCenc, kRRCint, kUPenc);
     } else {
       LOG_I(RRC, "skipped pdcp_config_set_security() as securityMode == 0x%02x",
-          securityMode);
+            securityMode);
     }
   } else {
     LOG_I(RRC, "Could not get PDCP instance where key=0x%ld\n", key);
@@ -1909,174 +1720,110 @@ rrc_ue_process_securityModeCommand(
   if (securityModeCommand->criticalExtensions.present == LTE_SecurityModeCommand__criticalExtensions_PR_c1) {
     if (securityModeCommand->criticalExtensions.choice.c1.present != LTE_SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8)
       LOG_W(RRC,"securityModeCommand->criticalExtensions.choice.c1.present (%d) != SecurityModeCommand__criticalExtensions__c1_PR_securityModeCommand_r8\n",
-	    securityModeCommand->criticalExtensions.choice.c1.present);
-    
-    
+            securityModeCommand->criticalExtensions.choice.c1.present);
+
     ul_dcch_msg.message.choice.c1.choice.securityModeComplete.rrc_TransactionIdentifier = securityModeCommand->rrc_TransactionIdentifier;
     ul_dcch_msg.message.choice.c1.choice.securityModeComplete.criticalExtensions.present = LTE_SecurityModeCommand__criticalExtensions_PR_c1;
     ul_dcch_msg.message.choice.c1.choice.securityModeComplete.criticalExtensions.choice.securityModeComplete_r8.nonCriticalExtension =NULL;
-    
     LOG_I(RRC,"[UE %d] SFN/SF %d/%d: Receiving from SRB1 (DL-DCCH), encoding securityModeComplete (eNB %d), rrc_TransactionIdentifier: %ld\n",
-	  ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index, securityModeCommand->rrc_TransactionIdentifier);
-    
+          ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index, securityModeCommand->rrc_TransactionIdentifier);
     enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message,
                                      NULL,
-				     (void*)&ul_dcch_msg,
-				     buffer,
-				     100);
+                                     (void *)&ul_dcch_msg,
+                                     buffer,
+                                     100);
     AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n",
-		 enc_rval.failed_type->name, enc_rval.encoded);
-    
+                 enc_rval.failed_type->name, enc_rval.encoded);
+
     if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-       xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void*)&ul_dcch_msg);
-    }
-    
-#if defined(ENABLE_ITTI)
-# if !defined(DISABLE_XER_SPRINT)
-    {
-      char        message_string[20000];
-      size_t      message_string_size;
-      
-      if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
-	MessageDef *msg_p;
-	
-	msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_DCCH, message_string_size + sizeof (IttiMsgText));
-	msg_p->ittiMsg.rrc_ul_dcch.size = message_string_size;
-	memcpy(&msg_p->ittiMsg.rrc_ul_dcch.text, message_string, message_string_size);
-	
-	itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-      }
+      xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void *)&ul_dcch_msg);
     }
-# endif
-#endif
 
-      LOG_D(RRC, "securityModeComplete Encoded %zd bits (%zd bytes)\n", enc_rval.encoded, (enc_rval.encoded+7)/8);
+    LOG_D(RRC, "securityModeComplete Encoded %zd bits (%zd bytes)\n", enc_rval.encoded, (enc_rval.encoded+7)/8);
 
-      for (i = 0; i < (enc_rval.encoded + 7) / 8; i++) {
-        LOG_T(RRC, "%02x.", buffer[i]);
-      }
-
-      LOG_T(RRC, "\n");
-      rrc_data_req (
-		    ctxt_pP,
-		    DCCH,
-		    rrc_mui++,
-		    SDU_CONFIRM_NO,
-		    (enc_rval.encoded + 7) / 8,
-		    buffer,
-		    PDCP_TRANSMISSION_MODE_CONTROL);
+    for (i = 0; i < (enc_rval.encoded + 7) / 8; i++) {
+      LOG_T(RRC, "%02x.", buffer[i]);
     }
-    
-  else LOG_W(RRC,"securityModeCommand->criticalExtensions.present (%d) != SecurityModeCommand__criticalExtensions_PR_c1\n",
-	     securityModeCommand->criticalExtensions.present);
+
+    LOG_T(RRC, "\n");
+    rrc_data_req (
+      ctxt_pP,
+      DCCH,
+      rrc_mui++,
+      SDU_CONFIRM_NO,
+      (enc_rval.encoded + 7) / 8,
+      buffer,
+      PDCP_TRANSMISSION_MODE_CONTROL);
+  } else LOG_W(RRC,"securityModeCommand->criticalExtensions.present (%d) != SecurityModeCommand__criticalExtensions_PR_c1\n",
+                 securityModeCommand->criticalExtensions.present);
 }
 
 //-----------------------------------------------------------------------------
 void
 rrc_ue_process_ueCapabilityEnquiry(
-  const protocol_ctxt_t* const ctxt_pP,
-  LTE_UECapabilityEnquiry_t* UECapabilityEnquiry,
+  const protocol_ctxt_t *const ctxt_pP,
+  LTE_UECapabilityEnquiry_t *UECapabilityEnquiry,
   uint8_t eNB_index
 )
 //-----------------------------------------------------------------------------
 {
-
   asn_enc_rval_t enc_rval;
-
   LTE_UL_DCCH_Message_t ul_dcch_msg;
-
-
   LTE_UE_CapabilityRAT_Container_t ue_CapabilityRAT_Container;
-
   uint8_t buffer[200];
   int i;
-
   LOG_I(RRC,"[UE %d] Frame %d: Receiving from SRB1 (DL-DCCH), Processing UECapabilityEnquiry (eNB %d)\n",
         ctxt_pP->module_id,
         ctxt_pP->frame,
         eNB_index);
-
-
   memset((void *)&ul_dcch_msg,0,sizeof(LTE_UL_DCCH_Message_t));
   memset((void *)&ue_CapabilityRAT_Container,0,sizeof(LTE_UE_CapabilityRAT_Container_t));
-
   ul_dcch_msg.message.present           = LTE_UL_DCCH_MessageType_PR_c1;
   ul_dcch_msg.message.choice.c1.present = LTE_UL_DCCH_MessageType__c1_PR_ueCapabilityInformation;
   ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.rrc_TransactionIdentifier = UECapabilityEnquiry->rrc_TransactionIdentifier;
-
   ue_CapabilityRAT_Container.rat_Type = LTE_RAT_Type_eutra;
   OCTET_STRING_fromBuf(&ue_CapabilityRAT_Container.ueCapabilityRAT_Container,
-                       (const char*)UE_rrc_inst[ctxt_pP->module_id].UECapability,
+                       (const char *)UE_rrc_inst[ctxt_pP->module_id].UECapability,
                        UE_rrc_inst[ctxt_pP->module_id].UECapability_size);
   //  ue_CapabilityRAT_Container.ueCapabilityRAT_Container.buf  = UE_rrc_inst[ue_mod_idP].UECapability;
   // ue_CapabilityRAT_Container.ueCapabilityRAT_Container.size = UE_rrc_inst[ue_mod_idP].UECapability_size;
-
-
   AssertFatal(UECapabilityEnquiry->criticalExtensions.present == LTE_UECapabilityEnquiry__criticalExtensions_PR_c1,
-	      "UECapabilityEnquiry->criticalExtensions.present (%d) != UECapabilityEnquiry__criticalExtensions_PR_c1 (%d)\n",
-	      UECapabilityEnquiry->criticalExtensions.present,LTE_UECapabilityEnquiry__criticalExtensions_PR_c1);
+              "UECapabilityEnquiry->criticalExtensions.present (%d) != UECapabilityEnquiry__criticalExtensions_PR_c1 (%d)\n",
+              UECapabilityEnquiry->criticalExtensions.present,LTE_UECapabilityEnquiry__criticalExtensions_PR_c1);
 
   if (UECapabilityEnquiry->criticalExtensions.choice.c1.present != LTE_UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8)
     LOG_I(RRC,"UECapabilityEnquiry->criticalExtensions.choice.c1.present (%d) != UECapabilityEnquiry__criticalExtensions__c1_PR_ueCapabilityEnquiry_r8)\n",
-	  UECapabilityEnquiry->criticalExtensions.choice.c1.present);
-  
+          UECapabilityEnquiry->criticalExtensions.choice.c1.present);
+
   ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.present           = LTE_UECapabilityInformation__criticalExtensions_PR_c1;
   ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.present =
     LTE_UECapabilityInformation__criticalExtensions__c1_PR_ueCapabilityInformation_r8;
   ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list.count
     =0;
-  
+
   for (i=0; i<UECapabilityEnquiry->criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.count; i++) {
-    
     if (*UECapabilityEnquiry->criticalExtensions.choice.c1.choice.ueCapabilityEnquiry_r8.ue_CapabilityRequest.list.array[i]
-	== LTE_RAT_Type_eutra) {
+        == LTE_RAT_Type_eutra) {
       ASN_SEQUENCE_ADD(
-		       &ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list,
-		       &ue_CapabilityRAT_Container);
-      
-      enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, buffer, 100);
+        &ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list,
+        &ue_CapabilityRAT_Container);
+      enc_rval = uper_encode_to_buffer(&asn_DEF_LTE_UL_DCCH_Message, NULL, (void *) &ul_dcch_msg, buffer, 100);
       AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n",
-		   enc_rval.failed_type->name, enc_rval.encoded);
-      
+                   enc_rval.failed_type->name, enc_rval.encoded);
+
       if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-         xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void*)&ul_dcch_msg);
-      }
-      
-#if defined(ENABLE_ITTI)
-# if !defined(DISABLE_XER_SPRINT)
-      {
-	char        message_string[20000];
-	size_t      message_string_size;
-	
-	if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_DCCH_Message, (void *) &ul_dcch_msg)) > 0) {
-	  MessageDef *msg_p;
-	  
-	  msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_UL_DCCH, message_string_size + sizeof (IttiMsgText));
-	  msg_p->ittiMsg.rrc_ul_dcch.size = message_string_size;
-	  memcpy(&msg_p->ittiMsg.rrc_ul_dcch.text, message_string, message_string_size);
-	  
-	  itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-	}
+        xer_fprint(stdout, &asn_DEF_LTE_UL_DCCH_Message, (void *)&ul_dcch_msg);
       }
-# endif
-#endif
-	
-
-          LOG_I(RRC,"UECapabilityInformation Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
 
-          for (i = 0; i < (enc_rval.encoded + 7) / 8; i++) {
-            LOG_T(RRC, "%02x.", buffer[i]);
-          }
-      
-      LOG_T(RRC, "\n");
+      LOG_I(RRC,"UECapabilityInformation Encoded %zd bits (%zd bytes)\n",enc_rval.encoded,(enc_rval.encoded+7)/8);
       rrc_data_req_ue (
-		    ctxt_pP,
-		    DCCH,
-		    rrc_mui++,
-		    SDU_CONFIRM_NO,
-		    (enc_rval.encoded + 7) / 8,
-		    buffer,
-		    PDCP_TRANSMISSION_MODE_CONTROL);
+        ctxt_pP,
+        DCCH,
+        rrc_mui++,
+        SDU_CONFIRM_NO,
+        (enc_rval.encoded + 7) / 8,
+        buffer,
+        PDCP_TRANSMISSION_MODE_CONTROL);
     }
   }
 }
@@ -2085,20 +1832,19 @@ rrc_ue_process_ueCapabilityEnquiry(
 //-----------------------------------------------------------------------------
 void
 rrc_ue_process_rrcConnectionReconfiguration(
-  const protocol_ctxt_t* const       ctxt_pP,
+  const protocol_ctxt_t *const       ctxt_pP,
   LTE_RRCConnectionReconfiguration_t *rrcConnectionReconfiguration,
   uint8_t eNB_index
 )
 //-----------------------------------------------------------------------------
 {
-
   LOG_I(RRC,"[UE %d] Frame %d: Receiving from SRB1 (DL-DCCH), Processing RRCConnectionReconfiguration (eNB %d)\n",
         ctxt_pP->module_id,ctxt_pP->frame,eNB_index);
 
   if (rrcConnectionReconfiguration->criticalExtensions.present == LTE_RRCConnectionReconfiguration__criticalExtensions_PR_c1) {
     if (rrcConnectionReconfiguration->criticalExtensions.choice.c1.present ==
         LTE_RRCConnectionReconfiguration__criticalExtensions__c1_PR_rrcConnectionReconfiguration_r8) {
-      LTE_RRCConnectionReconfiguration_r8_IEs_t* rrcConnectionReconfiguration_r8 =
+      LTE_RRCConnectionReconfiguration_r8_IEs_t *rrcConnectionReconfiguration_r8 =
         &rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8;
 
       if (rrcConnectionReconfiguration_r8->mobilityControlInfo) {
@@ -2124,42 +1870,42 @@ rrc_ue_process_rrcConnectionReconfiguration(
       //TTN for D2D
       //if RRCConnectionReconfiguration message includes the sl-CommConfig
       if ((rrcConnectionReconfiguration_r8->nonCriticalExtension != NULL)
-            && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension
-                  != NULL)
-                  && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension
-                        != NULL)
-                        && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension
-                              != NULL)
-                              && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension
-                                    != NULL)
-                                    && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12
-                                          != NULL)) {
-         if (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12->commTxResources_r12->present != LTE_SL_CommConfig_r12__commTxResources_r12_PR_NOTHING){
-            LOG_I(RRC,"sl-CommConfig is present\n");
-            //process sl-CommConfig
-            rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
-                  (LTE_SystemInformationBlockType18_r12_t *)NULL,
-                  (LTE_SystemInformationBlockType19_r12_t *)NULL,
-                  rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12,
-                  (LTE_SL_DiscConfig_r12_t *)NULL
-            );
-         }
-      }
-
-/*
-      //if RRCConnectionReconfiguration message includes the sl-DiscConfig
-      if (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_DiscConfig_r12->discTxResources_r12->present != SL_DiscConfig_r12__discTxResources_r12_PR_NOTHING ){
-         LOG_I(RRC,"sl-DiscConfig is present\n");
-         //process sl-DiscConfig
-         rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
-               (SystemInformationBlockType18_r12_t *)NULL,
-               (SystemInformationBlockType19_r12_t *)NULL,
-               (SL_CommConfig_r12_t* )NULL,
-               rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_DiscConfig_r12
-               );
+          && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension
+              != NULL)
+          && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension
+              != NULL)
+          && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension
+              != NULL)
+          && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension
+              != NULL)
+          && (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12
+              != NULL)) {
+        if (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12->commTxResources_r12->present !=
+            LTE_SL_CommConfig_r12__commTxResources_r12_PR_NOTHING) {
+          LOG_I(RRC,"sl-CommConfig is present\n");
+          //process sl-CommConfig
+          rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
+              (LTE_SystemInformationBlockType18_r12_t *)NULL,
+              (LTE_SystemInformationBlockType19_r12_t *)NULL,
+              rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_CommConfig_r12,
+              (LTE_SL_DiscConfig_r12_t *)NULL
+                                                     );
+        }
       }
-*/
 
+      /*
+            //if RRCConnectionReconfiguration message includes the sl-DiscConfig
+            if (rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_DiscConfig_r12->discTxResources_r12->present != SL_DiscConfig_r12__discTxResources_r12_PR_NOTHING ){
+               LOG_I(RRC,"sl-DiscConfig is present\n");
+               //process sl-DiscConfig
+               rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
+                     (SystemInformationBlockType18_r12_t *)NULL,
+                     (SystemInformationBlockType19_r12_t *)NULL,
+                     (SL_CommConfig_r12_t* )NULL,
+                     rrcConnectionReconfiguration_r8->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->nonCriticalExtension->sl_DiscConfig_r12
+                     );
+            }
+      */
 #if defined(ENABLE_ITTI)
 
       /* Check if there is dedicated NAS information to forward to NAS */
@@ -2172,12 +1918,10 @@ rrc_ue_process_rrcConnectionReconfiguration(
         for (list_count = 0; list_count < rrcConnectionReconfiguration_r8->dedicatedInfoNASList->list.count; list_count++) {
           pdu_length = rrcConnectionReconfiguration_r8->dedicatedInfoNASList->list.array[list_count]->size;
           pdu_buffer = rrcConnectionReconfiguration_r8->dedicatedInfoNASList->list.array[list_count]->buf;
-
           msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_ESTABLI_CNF);
           NAS_CONN_ESTABLI_CNF(msg_p).errCode = AS_SUCCESS;
           NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.length = pdu_length;
           NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.data = pdu_buffer;
-
           itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
         }
 
@@ -2189,7 +1933,6 @@ rrc_ue_process_rrcConnectionReconfiguration(
         MessageDef                                 *message_ral_p = NULL;
         rrc_ral_connection_reestablishment_ind_t    connection_reestablishment_ind;
         int                                         i;
-
         message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_REESTABLISHMENT_IND);
         memset(&connection_reestablishment_ind, 0, sizeof(rrc_ral_connection_reestablishment_ind_t));
         // TO DO ral_si_ind.plmn_id        = 0;
@@ -2214,7 +1957,6 @@ rrc_ue_process_rrcConnectionReconfiguration(
           connection_reestablishment_ind.num_srb      =
             rrcConnectionReconfiguration->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count +
             UE_rrc_inst[ctxt_pP->module_id].num_srb;
-
         } else {
           connection_reestablishment_ind.num_srb      += UE_rrc_inst[ctxt_pP->module_id].num_srb;
         }
@@ -2238,9 +1980,9 @@ rrc_ue_process_rrcConnectionReconfiguration(
 //-----------------------------------------------------------------------------
 void
 rrc_ue_process_mobilityControlInfo(
-  const protocol_ctxt_t* const       ctxt_pP,
+  const protocol_ctxt_t *const       ctxt_pP,
   const uint8_t                      eNB_index,
-  struct LTE_MobilityControlInfo* const mobilityControlInfo
+  struct LTE_MobilityControlInfo *const mobilityControlInfo
 )
 //-----------------------------------------------------------------------------
 {
@@ -2256,7 +1998,6 @@ rrc_ue_process_mobilityControlInfo(
 
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].T304_active = 1;
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].T304_cnt = T304[mobilityControlInfo->t304];
-
   /*
   drb2release_list = CALLOC (1, sizeof (*drb2release_list));
   lcid= CALLOC (1, sizeof (DRB_Identity_t)); // long
@@ -2282,22 +2023,20 @@ rrc_ue_process_mobilityControlInfo(
          NULL, // key rrc encryption
          NULL, // key rrc integrity
          NULL // key encryption
-#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
          ,NULL
-#endif
+  #endif
          ,NULL);
 
   rrc_rlc_config_asn1_req(NB_eNB_INST+ue_mod_idP, frameP,0,eNB_index,
         NULL,// SRB_ToAddModList
         NULL,// DRB_ToAddModList
         drb2release_list // DRB_ToReleaseList
-#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+  #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
         ,NULL
-#endif
+  #endif
         ,NULL);
    */
-
-
   //A little cleanup at RRC...
   //Copying current queue config to free RRC index
   /*
@@ -2319,53 +2058,49 @@ rrc_ue_process_mobilityControlInfo(
   LOG_I(RRC,
         "HO: Reset PDCP and RLC for configured RBs.. \n[FRAME %05d][RRC_UE][MOD %02d][][--- MAC_CONFIG_REQ  (SRB2 eNB %d) --->][MAC_UE][MOD %02d][]\n",
         ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
-
   // Reset MAC and configure PHY
   rrc_mac_config_req_ue(ctxt_pP->module_id,
-			0,
-			eNB_index,
-			(LTE_RadioResourceConfigCommonSIB_t *)NULL,
-			(struct LTE_PhysicalConfigDedicated *)NULL,
+                        0,
+                        eNB_index,
+                        (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                        (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			(LTE_SCellToAddMod_r10_t *)NULL,
-			//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
-#endif
-			(LTE_MeasObjectToAddMod_t **)NULL,
-			(LTE_MAC_MainConfig_t *)NULL,
-			0,
-			(struct LTE_LogicalChannelConfig *)NULL,
-			(LTE_MeasGapConfig_t *)NULL,
-			(LTE_TDD_Config_t *)NULL,
-			mobilityControlInfo,
-			(uint8_t *)NULL,
-			(uint16_t *)NULL,
-			NULL,
-			NULL,
-			NULL,
-			NULL
+                        (LTE_SCellToAddMod_r10_t *)NULL,
+                        //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#endif
+                        (LTE_MeasObjectToAddMod_t **)NULL,
+                        (LTE_MAC_MainConfig_t *)NULL,
+                        0,
+                        (struct LTE_LogicalChannelConfig *)NULL,
+                        (LTE_MeasGapConfig_t *)NULL,
+                        (LTE_TDD_Config_t *)NULL,
+                        mobilityControlInfo,
+                        (uint8_t *)NULL,
+                        (uint16_t *)NULL,
+                        NULL,
+                        NULL,
+                        NULL,
+                        NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			,0,
-			(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-			(LTE_PMCH_InfoList_r9_t *)NULL
+                        ,0,
+                        (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                        (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-			,0,
-			0
+                        ,0,
+                        0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                        ,
+                        0,
+                        NULL,
+                        NULL
 #endif
-			);
-
+                       );
   // Re-establish PDCP for all RBs that are established
   // rrc_pdcp_config_req (ue_mod_idP+NB_eNB_INST, frameP, 0, CONFIG_ACTION_ADD, ue_mod_idP+DCCH);
   // rrc_pdcp_config_req (ue_mod_idP+NB_eNB_INST, frameP, 0, CONFIG_ACTION_ADD, ue_mod_idP+DCCH1);
   // rrc_pdcp_config_req (ue_mod_idP+NB_eNB_INST, frameP, 0, CONFIG_ACTION_ADD, ue_mod_idP+DTCH);
-
-
   // Re-establish RLC for all RBs that are established
   // rrc_rlc_config_req(ue_mod_idP+NB_eNB_INST,frameP,0,CONFIG_ACTION_ADD,ue_mod_idP+DCCH,SIGNALLING_RADIO_BEARER,Rlc_info_am_config);
   // rrc_rlc_config_req(ue_mod_idP+NB_eNB_INST,frameP,0,CONFIG_ACTION_ADD,ue_mod_idP+DCCH1,SIGNALLING_RADIO_BEARER,Rlc_info_am_config);
@@ -2387,14 +2122,13 @@ rrc_detach_from_eNB(
 //-----------------------------------------------------------------------------
 void
 rrc_ue_decode_dcch(
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const rb_id_t                Srb_id,
-  const uint8_t*         const Buffer,
+  const uint8_t         *const Buffer,
   const uint8_t                eNB_indexP
 )
 //-----------------------------------------------------------------------------
 {
-
   //DL_DCCH_Message_t dldcchmsg;
   LTE_DL_DCCH_Message_t *dl_dcch_msg=NULL;//&dldcchmsg;
   //  asn_dec_rval_t dec_rval;
@@ -2410,336 +2144,296 @@ rrc_ue_decode_dcch(
     return;
   }
 
-  //memset(dl_dcch_msg,0,sizeof(DL_DCCH_Message_t));
-
-  // decode messages
-  //  LOG_D(RRC,"[UE %d] Decoding DL-DCCH message\n",ue_mod_idP);
-  /*
-  for (i=0;i<30;i++)
-    LOG_T(RRC,"%x.",Buffer[i]);
-  LOG_T(RRC, "\n");
-   */
   uper_decode(NULL,
               &asn_DEF_LTE_DL_DCCH_Message,
-              (void**)&dl_dcch_msg,
-              (uint8_t*)Buffer,
+              (void **)&dl_dcch_msg,
+              (uint8_t *)Buffer,
               RRC_BUF_SIZE,0,0);
 
   if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-     xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message,(void*)dl_dcch_msg);
-  }
-
-#if defined(ENABLE_ITTI)
-# if defined(DISABLE_ITTI_XER_PRINT)
-  {
-    msg_p = itti_alloc_new_message (TASK_RRC_UE, RRC_DL_DCCH_MESSAGE);
-    memcpy (&msg_p->ittiMsg, (void *) dl_dcch_msg, sizeof(RrcDlDcchMessage));
-
-    itti_send_msg_to_task (TASK_UNKNOWN, ctxt_pP->instance, msg_p);
+    xer_fprint(stdout,&asn_DEF_LTE_DL_DCCH_Message,(void *)dl_dcch_msg);
   }
-# else
-  {
-    char        message_string[30000];
-    size_t      message_string_size;
-
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_DL_DCCH_Message, (void *)dl_dcch_msg)) > 0) {
-      msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_DL_DCCH, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rrc_dl_dcch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_dl_dcch.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-    }
-  }
-# endif
-#endif
 
   if (dl_dcch_msg->message.present == LTE_DL_DCCH_MessageType_PR_c1) {
-
     if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_indexP].State >= RRC_CONNECTED) {
-
       switch (dl_dcch_msg->message.choice.c1.present) {
+        case LTE_DL_DCCH_MessageType__c1_PR_NOTHING:
+          LOG_I(RRC, "[UE %d] Frame %d : Received PR_NOTHING on DL-DCCH-Message\n",
+                ctxt_pP->module_id, ctxt_pP->frame);
+          return;
 
-      case LTE_DL_DCCH_MessageType__c1_PR_NOTHING:
-        LOG_I(RRC, "[UE %d] Frame %d : Received PR_NOTHING on DL-DCCH-Message\n",
-              ctxt_pP->module_id, ctxt_pP->frame);
-        return;
-
-      case LTE_DL_DCCH_MessageType__c1_PR_csfbParametersResponseCDMA2000:
-        break;
+        case LTE_DL_DCCH_MessageType__c1_PR_csfbParametersResponseCDMA2000:
+          break;
 
-      case LTE_DL_DCCH_MessageType__c1_PR_dlInformationTransfer: {
+        case LTE_DL_DCCH_MessageType__c1_PR_dlInformationTransfer: {
 #if defined(ENABLE_ITTI)
-        LTE_DLInformationTransfer_t *dlInformationTransfer = &dl_dcch_msg->message.choice.c1.choice.dlInformationTransfer;
-
-        if ((dlInformationTransfer->criticalExtensions.present == LTE_DLInformationTransfer__criticalExtensions_PR_c1)
-            && (dlInformationTransfer->criticalExtensions.choice.c1.present
-                == LTE_DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8)
-            && (dlInformationTransfer->criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType.present
-                == LTE_DLInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS)) {
-          /* This message hold a dedicated info NAS payload, forward it to NAS */
-          struct LTE_DLInformationTransfer_r8_IEs__dedicatedInfoType *dedicatedInfoType =
+          LTE_DLInformationTransfer_t *dlInformationTransfer = &dl_dcch_msg->message.choice.c1.choice.dlInformationTransfer;
+
+          if ((dlInformationTransfer->criticalExtensions.present == LTE_DLInformationTransfer__criticalExtensions_PR_c1)
+              && (dlInformationTransfer->criticalExtensions.choice.c1.present
+                  == LTE_DLInformationTransfer__criticalExtensions__c1_PR_dlInformationTransfer_r8)
+              && (dlInformationTransfer->criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType.present
+                  == LTE_DLInformationTransfer_r8_IEs__dedicatedInfoType_PR_dedicatedInfoNAS)) {
+            /* This message hold a dedicated info NAS payload, forward it to NAS */
+            struct LTE_DLInformationTransfer_r8_IEs__dedicatedInfoType *dedicatedInfoType =
                 &dlInformationTransfer->criticalExtensions.choice.c1.choice.dlInformationTransfer_r8.dedicatedInfoType;
-          uint32_t pdu_length;
-          uint8_t *pdu_buffer;
-          MessageDef *msg_p;
-
-          pdu_length = dedicatedInfoType->choice.dedicatedInfoNAS.size;
-          pdu_buffer = dedicatedInfoType->choice.dedicatedInfoNAS.buf;
-
-          msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_DOWNLINK_DATA_IND);
-          NAS_DOWNLINK_DATA_IND(msg_p).UEid = ctxt_pP->module_id; // TODO set the UEid to something else ?
-          NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.length = pdu_length;
-          NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.data = pdu_buffer;
-
-          itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
-        }
+            uint32_t pdu_length;
+            uint8_t *pdu_buffer;
+            MessageDef *msg_p;
+            pdu_length = dedicatedInfoType->choice.dedicatedInfoNAS.size;
+            pdu_buffer = dedicatedInfoType->choice.dedicatedInfoNAS.buf;
+            msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_DOWNLINK_DATA_IND);
+            NAS_DOWNLINK_DATA_IND(msg_p).UEid = ctxt_pP->module_id; // TODO set the UEid to something else ?
+            NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.length = pdu_length;
+            NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.data = pdu_buffer;
+            itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
+          }
 
 #endif
-        break;
-      }
-
-      case LTE_DL_DCCH_MessageType__c1_PR_handoverFromEUTRAPreparationRequest:
-        break;
+          break;
+        }
 
-      case LTE_DL_DCCH_MessageType__c1_PR_mobilityFromEUTRACommand:
-        break;
+        case LTE_DL_DCCH_MessageType__c1_PR_handoverFromEUTRAPreparationRequest:
+          break;
 
-      case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration:
+        case LTE_DL_DCCH_MessageType__c1_PR_mobilityFromEUTRACommand:
+          break;
 
-        // first check if mobilityControlInfo  is present
-        if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo
-            != NULL) {
-          /* 36.331, 5.3.5.4 Reception of an RRCConnectionReconfiguration including the mobilityControlInfo by the UE (handover)*/
-          if (UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId
-              != dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo->targetPhysCellId) {
-            LOG_W(RRC,
-                  "[UE %d] Frame %d: Handover target (%ld) is different from RSRP measured target (%ld)..\n",
-                  ctxt_pP->module_id,
-                  ctxt_pP->frame,
-                  dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo->targetPhysCellId,
-                  UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId);
-            return;
-          } else if ((target_eNB_index = get_adjacent_cell_mod_id(UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId))
-                     == 0xFF) {
-            LOG_W(RRC,
-                  "[UE %d] Frame %d: ue_mod_idP of the target eNB not found, check the network topology\n",
-                  ctxt_pP->module_id,
-                  ctxt_pP->frame);
-            return;
-          } else {
-            LOG_I(RRC,
-                  "[UE% d] Frame %d: Received rrcConnectionReconfiguration with mobilityControlInfo \n",
-                  ctxt_pP->module_id,
-                  ctxt_pP->frame);
-            UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag = 1; // Ready to send more MeasReports if required
+        case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionReconfiguration:
+
+          // first check if mobilityControlInfo  is present
+          if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo
+              != NULL) {
+            /* 36.331, 5.3.5.4 Reception of an RRCConnectionReconfiguration including the mobilityControlInfo by the UE (handover)*/
+            if (UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId
+                != dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo->targetPhysCellId) {
+              LOG_W(RRC,
+                    "[UE %d] Frame %d: Handover target (%ld) is different from RSRP measured target (%ld)..\n",
+                    ctxt_pP->module_id,
+                    ctxt_pP->frame,
+                    dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.mobilityControlInfo->targetPhysCellId,
+                    UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId);
+              return;
+            } else if ((target_eNB_index = get_adjacent_cell_mod_id(UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId))
+                       == 0xFF) {
+              LOG_W(RRC,
+                    "[UE %d] Frame %d: ue_mod_idP of the target eNB not found, check the network topology\n",
+                    ctxt_pP->module_id,
+                    ctxt_pP->frame);
+              return;
+            } else {
+              LOG_I(RRC,
+                    "[UE% d] Frame %d: Received rrcConnectionReconfiguration with mobilityControlInfo \n",
+                    ctxt_pP->module_id,
+                    ctxt_pP->frame);
+              UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag = 1; // Ready to send more MeasReports if required
+            }
           }
-        }
-
-        rrc_ue_process_rrcConnectionReconfiguration(
-          ctxt_pP,
-          &dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration,
-          eNB_indexP);
 
-        if (target_eNB_index != 0xFF) {
-          rrc_ue_generate_RRCConnectionReconfigurationComplete(
+          rrc_ue_process_rrcConnectionReconfiguration(
             ctxt_pP,
-            target_eNB_index,
-            dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.rrc_TransactionIdentifier);
-          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_indexP].State = RRC_HO_EXECUTION;
-          UE_rrc_inst[ctxt_pP->module_id].Info[target_eNB_index].State = RRC_RECONFIGURED;
-          LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED during HO (eNB %d)\n",
-                ctxt_pP->module_id, target_eNB_index);
+            &dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration,
+            eNB_indexP);
+
+          if (target_eNB_index != 0xFF) {
+            rrc_ue_generate_RRCConnectionReconfigurationComplete(
+              ctxt_pP,
+              target_eNB_index,
+              dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.rrc_TransactionIdentifier);
+            UE_rrc_inst[ctxt_pP->module_id].Info[eNB_indexP].State = RRC_HO_EXECUTION;
+            UE_rrc_inst[ctxt_pP->module_id].Info[target_eNB_index].State = RRC_RECONFIGURED;
+            LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED during HO (eNB %d)\n",
+                  ctxt_pP->module_id, target_eNB_index);
 #if defined(ENABLE_ITTI)
 #if ENABLE_RAL
-          {
-            MessageDef                                 *message_ral_p = NULL;
-            rrc_ral_connection_reconfiguration_ho_ind_t connection_reconfiguration_ho_ind;
-            int                                         i;
-
-            message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND);
-            memset(&connection_reconfiguration_ho_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
-            connection_reconfiguration_ho_ind.ue_id = ctxt_pP->module_id;
-
-            if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
-                != NULL) {
-              connection_reconfiguration_ho_ind.num_drb      =
-                dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
-
-              for (i=0; (
-                     i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
-                   && (i < maxDRB); i++) {
-                // why minus 1 in RRC code for drb_identity ?
-                connection_reconfiguration_ho_ind.drb_id[i]   =
-                  dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
+            {
+              MessageDef                                 *message_ral_p = NULL;
+              rrc_ral_connection_reconfiguration_ho_ind_t connection_reconfiguration_ho_ind;
+              int                                         i;
+              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND);
+              memset(&connection_reconfiguration_ho_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
+              connection_reconfiguration_ho_ind.ue_id = ctxt_pP->module_id;
+
+              if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
+                  != NULL) {
+                connection_reconfiguration_ho_ind.num_drb      =
+                  dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
+
+                for (i=0; (
+                       i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
+                     && (i < maxDRB); i++) {
+                  // why minus 1 in RRC code for drb_identity ?
+                  connection_reconfiguration_ho_ind.drb_id[i]   =
+                    dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
+                }
+              } else {
+                connection_reconfiguration_ho_ind.num_drb      = 0;
               }
-            } else {
-              connection_reconfiguration_ho_ind.num_drb      = 0;
-            }
 
-            if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
-                != NULL) {
-              connection_reconfiguration_ho_ind.num_srb      =
-                dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
-                +
-                UE_rrc_inst[ctxt_pP->module_id].num_srb;
-            } else {
-              connection_reconfiguration_ho_ind.num_srb      += UE_rrc_inst[ctxt_pP->module_id].num_srb;
-            }
+              if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
+                  != NULL) {
+                connection_reconfiguration_ho_ind.num_srb      =
+                  dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
+                  +
+                  UE_rrc_inst[ctxt_pP->module_id].num_srb;
+              } else {
+                connection_reconfiguration_ho_ind.num_srb      += UE_rrc_inst[ctxt_pP->module_id].num_srb;
+              }
 
-            if (connection_reconfiguration_ho_ind.num_srb > 2 ) {
-              connection_reconfiguration_ho_ind.num_srb =2;
-            }
+              if (connection_reconfiguration_ho_ind.num_srb > 2 ) {
+                connection_reconfiguration_ho_ind.num_srb =2;
+              }
 
-            memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ho_ind, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
-            //#warning "ue_mod_idP ? for instance ? => YES"
-            LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND to mRAL\n");
-            itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
-          }
+              memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ho_ind, sizeof(rrc_ral_connection_reconfiguration_ho_ind_t));
+              //#warning "ue_mod_idP ? for instance ? => YES"
+              LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_HO_IND to mRAL\n");
+              itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
+            }
 #endif
 #endif
-        } else {
-          rrc_ue_generate_RRCConnectionReconfigurationComplete(
-            ctxt_pP,
-            eNB_indexP,
-            dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.rrc_TransactionIdentifier);
-          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_indexP].State = RRC_RECONFIGURED;
-          LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED (eNB %d)\n",
-                ctxt_pP->module_id,
-                eNB_indexP);
+          } else {
+            rrc_ue_generate_RRCConnectionReconfigurationComplete(
+              ctxt_pP,
+              eNB_indexP,
+              dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.rrc_TransactionIdentifier);
+            UE_rrc_inst[ctxt_pP->module_id].Info[eNB_indexP].State = RRC_RECONFIGURED;
+            LOG_I(RRC, "[UE %d] State = RRC_RECONFIGURED (eNB %d)\n",
+                  ctxt_pP->module_id,
+                  eNB_indexP);
 #if defined(ENABLE_ITTI)
 #if ENABLE_RAL
-          {
-            MessageDef                                 *message_ral_p = NULL;
-            rrc_ral_connection_reconfiguration_ind_t    connection_reconfiguration_ind;
-            int                                         i;
-
-            message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_RECONFIGURATION_IND);
-            memset(&connection_reconfiguration_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ind_t));
-            connection_reconfiguration_ind.ue_id = ctxt_pP->module_id;
-
-            if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
-                != NULL) {
-              connection_reconfiguration_ind.num_drb      =
-                dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
-
-              for (i=0; (
-                     i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
-                   && (i < maxDRB); i++) {
-                // why minus 1 in RRC code for drb_identity ?
-                connection_reconfiguration_ind.drb_id[i]   =
-                  dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
+            {
+              MessageDef                                 *message_ral_p = NULL;
+              rrc_ral_connection_reconfiguration_ind_t    connection_reconfiguration_ind;
+              int                                         i;
+              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_CONNECTION_RECONFIGURATION_IND);
+              memset(&connection_reconfiguration_ind, 0, sizeof(rrc_ral_connection_reconfiguration_ind_t));
+              connection_reconfiguration_ind.ue_id = ctxt_pP->module_id;
+
+              if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList
+                  != NULL) {
+                connection_reconfiguration_ind.num_drb      =
+                  dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count;
+
+                for (i=0; (
+                       i<dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.count)
+                     && (i < maxDRB); i++) {
+                  // why minus 1 in RRC code for drb_identity ?
+                  connection_reconfiguration_ind.drb_id[i]   =
+                    dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->drb_ToAddModList->list.array[i]->drb_Identity;
+                }
+              } else {
+                connection_reconfiguration_ind.num_drb      = 0;
               }
-            } else {
-              connection_reconfiguration_ind.num_drb      = 0;
-            }
 
-            if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
-                != NULL) {
-              connection_reconfiguration_ind.num_srb      =
-                dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
-                +
-                UE_rrc_inst[ctxt_pP->module_id].num_srb;
-            } else {
-              connection_reconfiguration_ind.num_srb      +=UE_rrc_inst[ctxt_pP->module_id].num_srb;
-            }
+              if (dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList
+                  != NULL) {
+                connection_reconfiguration_ind.num_srb      =
+                  dl_dcch_msg->message.choice.c1.choice.rrcConnectionReconfiguration.criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r8.radioResourceConfigDedicated->srb_ToAddModList->list.count
+                  +
+                  UE_rrc_inst[ctxt_pP->module_id].num_srb;
+              } else {
+                connection_reconfiguration_ind.num_srb      +=UE_rrc_inst[ctxt_pP->module_id].num_srb;
+              }
 
-            if (connection_reconfiguration_ind.num_srb > 2 ) {
-              connection_reconfiguration_ind.num_srb =2;
-            }
+              if (connection_reconfiguration_ind.num_srb > 2 ) {
+                connection_reconfiguration_ind.num_srb =2;
+              }
 
-            memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ind, sizeof(rrc_ral_connection_reconfiguration_ind_t));
-            //#warning "ue_mod_idP ? for instance ? => YES"
-            LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_IND to mRAL\n");
-            itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
-          }
+              memcpy (&message_ral_p->ittiMsg, (void *) &connection_reconfiguration_ind, sizeof(rrc_ral_connection_reconfiguration_ind_t));
+              //#warning "ue_mod_idP ? for instance ? => YES"
+              LOG_I(RRC, "Sending RRC_RAL_CONNECTION_RECONFIGURATION_IND to mRAL\n");
+              itti_send_msg_to_task (TASK_RAL_UE, ctxt_pP->instance, message_ral_p);
+            }
 #endif
 #endif
+          }
 
-        }
+          //TTN test D2D (should not be here - in reality, this message will be triggered from ProSeApp)
+          if (send_ue_information == 0) {
+            LOG_I(RRC, "TEST SidelinkUEInformation [UE %d] Received  (eNB %d)\n",
+                  ctxt_pP->module_id, eNB_indexP);
+            LTE_SL_DestinationInfoList_r12_t *destinationInfoList = CALLOC(1, sizeof(LTE_SL_DestinationInfoList_r12_t));
+            LTE_SL_DestinationIdentity_r12_t *sl_destination_identity = CALLOC(1, sizeof(LTE_SL_DestinationIdentity_r12_t));
+            sl_destination_identity->size = 3;
+            sl_destination_identity->buf = CALLOC(1,3);
+            sl_destination_identity->buf[0] = 0x00;
+            sl_destination_identity->buf[1] = 0x00;
+            sl_destination_identity->buf[2] = 0x01;
+            sl_destination_identity->bits_unused = 0;
+            ASN_SEQUENCE_ADD(&destinationInfoList->list,sl_destination_identity);
+            rrc_ue_generate_SidelinkUEInformation(ctxt_pP, eNB_indexP, destinationInfoList, NULL, SL_TRANSMIT_NON_RELAY_ONE_TO_ONE);
+            send_ue_information ++;
+          }
 
-        //TTN test D2D (should not be here - in reality, this message will be triggered from ProSeApp)
-        if (send_ue_information == 0) {
-           LOG_I(RRC, "TEST SidelinkUEInformation [UE %d] Received  (eNB %d)\n",
-                 ctxt_pP->module_id, eNB_indexP);
-           LTE_SL_DestinationInfoList_r12_t *destinationInfoList = CALLOC(1, sizeof(LTE_SL_DestinationInfoList_r12_t));
-           LTE_SL_DestinationIdentity_r12_t *sl_destination_identity = CALLOC(1, sizeof(LTE_SL_DestinationIdentity_r12_t));
-           sl_destination_identity->size = 3;
-           sl_destination_identity->buf = CALLOC(1,3);
-           sl_destination_identity->buf[0] = 0x00;
-           sl_destination_identity->buf[1] = 0x00;
-           sl_destination_identity->buf[2] = 0x01;
-           sl_destination_identity->bits_unused = 0;
-           ASN_SEQUENCE_ADD(&destinationInfoList->list,sl_destination_identity);
-           rrc_ue_generate_SidelinkUEInformation(ctxt_pP, eNB_indexP, destinationInfoList, NULL, SL_TRANSMIT_NON_RELAY_ONE_TO_ONE);
-           send_ue_information ++;
-        }
-        break;
+          break;
 
-      case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionRelease:
+        case LTE_DL_DCCH_MessageType__c1_PR_rrcConnectionRelease:
 #if defined(ENABLE_ITTI)
-        msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_RELEASE_IND);
-
-        if ((dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.present
-             == LTE_RRCConnectionRelease__criticalExtensions_PR_c1)
-            && (dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.choice.c1.present
-                == LTE_RRCConnectionRelease__criticalExtensions__c1_PR_rrcConnectionRelease_r8)) {
-          NAS_CONN_RELEASE_IND(msg_p).cause =
-            dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.releaseCause;
-        }
+          msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CONN_RELEASE_IND);
+
+          if ((dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.present
+               == LTE_RRCConnectionRelease__criticalExtensions_PR_c1)
+              && (dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.choice.c1.present
+                  == LTE_RRCConnectionRelease__criticalExtensions__c1_PR_rrcConnectionRelease_r8)) {
+            NAS_CONN_RELEASE_IND(msg_p).cause =
+              dl_dcch_msg->message.choice.c1.choice.rrcConnectionRelease.criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.releaseCause;
+          }
 
-        itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
+          itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
 #if ENABLE_RAL
-        msg_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_CONNECTION_RELEASE_IND);
-        RRC_RAL_CONNECTION_RELEASE_IND(msg_p).ue_id = ctxt_pP->module_id;
-        itti_send_msg_to_task(TASK_RAL_UE, ctxt_pP->instance, msg_p);
+          msg_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_CONNECTION_RELEASE_IND);
+          RRC_RAL_CONNECTION_RELEASE_IND(msg_p).ue_id = ctxt_pP->module_id;
+          itti_send_msg_to_task(TASK_RAL_UE, ctxt_pP->instance, msg_p);
 #endif
 #endif
-        break;
-
-      case LTE_DL_DCCH_MessageType__c1_PR_securityModeCommand:
-        LOG_I(RRC, "[UE %d] Received securityModeCommand (eNB %d)\n",
-              ctxt_pP->module_id, eNB_indexP);
-        rrc_ue_process_securityModeCommand(
-          ctxt_pP,
-          &dl_dcch_msg->message.choice.c1.choice.securityModeCommand,
-          eNB_indexP);
-        break;
+          break;
 
-      case LTE_DL_DCCH_MessageType__c1_PR_ueCapabilityEnquiry:
-        LOG_I(RRC, "[UE %d] Received Capability Enquiry (eNB %d)\n",
-              ctxt_pP->module_id,
-              eNB_indexP);
-        rrc_ue_process_ueCapabilityEnquiry(
-          ctxt_pP,
-          &dl_dcch_msg->message.choice.c1.choice.ueCapabilityEnquiry,
-          eNB_indexP);
-        break;
+        case LTE_DL_DCCH_MessageType__c1_PR_securityModeCommand:
+          LOG_I(RRC, "[UE %d] Received securityModeCommand (eNB %d)\n",
+                ctxt_pP->module_id, eNB_indexP);
+          rrc_ue_process_securityModeCommand(
+            ctxt_pP,
+            &dl_dcch_msg->message.choice.c1.choice.securityModeCommand,
+            eNB_indexP);
+          break;
 
-      case LTE_DL_DCCH_MessageType__c1_PR_counterCheck:
-        break;
+        case LTE_DL_DCCH_MessageType__c1_PR_ueCapabilityEnquiry:
+          LOG_I(RRC, "[UE %d] Received Capability Enquiry (eNB %d)\n",
+                ctxt_pP->module_id,
+                eNB_indexP);
+          rrc_ue_process_ueCapabilityEnquiry(
+            ctxt_pP,
+            &dl_dcch_msg->message.choice.c1.choice.ueCapabilityEnquiry,
+            eNB_indexP);
+          break;
 
+        case LTE_DL_DCCH_MessageType__c1_PR_counterCheck:
+          break;
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-      case LTE_DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9:
-        break;
+
+        case LTE_DL_DCCH_MessageType__c1_PR_ueInformationRequest_r9:
+          break;
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-      case LTE_DL_DCCH_MessageType__c1_PR_loggedMeasurementConfiguration_r10:
-        break;
 
-      case LTE_DL_DCCH_MessageType__c1_PR_rnReconfiguration_r10:
-        break;
+        case LTE_DL_DCCH_MessageType__c1_PR_loggedMeasurementConfiguration_r10:
+          break;
+
+        case LTE_DL_DCCH_MessageType__c1_PR_rnReconfiguration_r10:
+          break;
 #endif
 
-      case LTE_DL_DCCH_MessageType__c1_PR_spare1:
-      case LTE_DL_DCCH_MessageType__c1_PR_spare2:
-      case LTE_DL_DCCH_MessageType__c1_PR_spare3:
+        case LTE_DL_DCCH_MessageType__c1_PR_spare1:
+        case LTE_DL_DCCH_MessageType__c1_PR_spare2:
+        case LTE_DL_DCCH_MessageType__c1_PR_spare3:
 #if (LTE_RRC_VERSION < MAKE_VERSION(14, 0, 0))
-      case LTE_DL_DCCH_MessageType__c1_PR_spare4:
+        case LTE_DL_DCCH_MessageType__c1_PR_spare4:
 #endif
-        break;
+          break;
 
-      default:
-        break;
+        default:
+          break;
       }
     }
   }
@@ -2756,8 +2450,7 @@ const char SIBType[12][6] = {"SIB3","SIB4","SIB5","SIB6","SIB7","SIB8","SIB9","S
 const char SIBPeriod[8][6]= {"rf8","rf16","rf32","rf64","rf128","rf256","rf512","ERR"};
 int siPeriod_int[7] = {80,160,320,640,1280,2560,5120};
 
-const char* SIBreserved( long value )
-{
+const char *SIBreserved( long value ) {
   if (value < 0 || value > 1)
     return "ERR";
 
@@ -2766,8 +2459,7 @@ const char* SIBreserved( long value )
 
   return "reserved";
 }
-const char* SIBbarred( long value )
-{
+const char *SIBbarred( long value ) {
   if (value < 0 || value > 1)
     return "ERR";
 
@@ -2776,8 +2468,7 @@ const char* SIBbarred( long value )
 
   return "barred";
 }
-const char* SIBallowed( long value )
-{
+const char *SIBallowed( long value ) {
   if (value < 0 || value > 1)
     return "ERR";
 
@@ -2786,23 +2477,21 @@ const char* SIBallowed( long value )
 
   return "allowed";
 }
-const char* SIB2SoundingPresent( int value )
-{
+const char *SIB2SoundingPresent( int value ) {
   switch (value) {
-  case LTE_SoundingRS_UL_ConfigCommon_PR_NOTHING:
-    return "NOTHING";
+    case LTE_SoundingRS_UL_ConfigCommon_PR_NOTHING:
+      return "NOTHING";
 
-  case LTE_SoundingRS_UL_ConfigCommon_PR_release:
-    return "release";
+    case LTE_SoundingRS_UL_ConfigCommon_PR_release:
+      return "release";
 
-  case LTE_SoundingRS_UL_ConfigCommon_PR_setup:
-    return "setup";
+    case LTE_SoundingRS_UL_ConfigCommon_PR_setup:
+      return "setup";
   }
 
   return "ERR";
 }
-const char* SIB2numberOfRA_Preambles( long value )
-{
+const char *SIB2numberOfRA_Preambles( long value ) {
   static char temp[4] = {0};
 
   if (value < 0 || value > 15)
@@ -2812,16 +2501,14 @@ const char* SIB2numberOfRA_Preambles( long value )
   temp[3] = 0; // terminate string
   return temp;
 }
-const char* SIB2powerRampingStep( long value )
-{
+const char *SIB2powerRampingStep( long value ) {
   if (value < 0 || value > 3)
     return "ERR";
 
   static const char str[4][4] = {"dB0","dB2","dB4","dB6"};
   return str[value];
 }
-const char* SIB2preambleInitialReceivedTargetPower( long value )
-{
+const char *SIB2preambleInitialReceivedTargetPower( long value ) {
   static char temp[8] = {0};
 
   if (value < 0 || value > 15)
@@ -2831,8 +2518,7 @@ const char* SIB2preambleInitialReceivedTargetPower( long value )
   temp[7] = 0; // terminate string
   return temp;
 }
-const char* SIB2preambleTransMax( long value )
-{
+const char *SIB2preambleTransMax( long value ) {
   static char temp[5] = {0};
 
   if (value < 0 || value > 10)
@@ -2844,27 +2530,26 @@ const char* SIB2preambleTransMax( long value )
   }
 
   switch (value) {
-  case 6:
-    return "n10";
+    case 6:
+      return "n10";
 
-  case 7:
-    return "n20";
+    case 7:
+      return "n20";
 
-  case 8:
-    return "n50";
+    case 8:
+      return "n50";
 
-  case 9:
-    return "n100";
+    case 9:
+      return "n100";
 
-  case 10:
-    return "n200";
+    case 10:
+      return "n200";
   }
 
   /* unreachable but gcc warns... */
   return "ERR";
 }
-const char* SIB2ra_ResponseWindowSize( long value )
-{
+const char *SIB2ra_ResponseWindowSize( long value ) {
   static char temp[4] = {0};
 
   if (value < 0 || value > 7)
@@ -2876,8 +2561,7 @@ const char* SIB2ra_ResponseWindowSize( long value )
   snprintf( temp, sizeof(temp), "sf%ld", value+2 );
   return temp;
 }
-const char* SIB2mac_ContentionResolutionTimer( long value )
-{
+const char *SIB2mac_ContentionResolutionTimer( long value ) {
   static char temp[5] = {0};
 
   if (value < 0 || value > 7)
@@ -2886,8 +2570,7 @@ const char* SIB2mac_ContentionResolutionTimer( long value )
   snprintf( temp, sizeof(temp), "sf%ld", 8 + value*8 );
   return temp;
 }
-const char* SIB2modificationPeriodCoeff( long value )
-{
+const char *SIB2modificationPeriodCoeff( long value ) {
   static char temp[32] = {0};
 
   if (value < 0 || value > 3)
@@ -2896,8 +2579,7 @@ const char* SIB2modificationPeriodCoeff( long value )
   snprintf( temp, sizeof(temp), "n%d", (int)pow(2,value+1) );
   return temp;
 }
-const char* SIB2defaultPagingCycle( long value )
-{
+const char *SIB2defaultPagingCycle( long value ) {
   static char temp[32] = {0};
 
   if (value < 0 || value > 3)
@@ -2906,8 +2588,7 @@ const char* SIB2defaultPagingCycle( long value )
   snprintf( temp, sizeof(temp), "rf%d", (int)pow(2,value+4) );
   return temp;
 }
-const char* SIB2nB( long value )
-{
+const char *SIB2nB( long value ) {
   if (value < 0 || value > 7)
     return "ERR";
 
@@ -2920,17 +2601,14 @@ const char* SIB2nB( long value )
 
 //-----------------------------------------------------------------------------
 int decode_BCCH_DLSCH_Message(
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const uint8_t                eNB_index,
-  uint8_t*               const Sdu,
+  uint8_t               *const Sdu,
   const uint8_t                Sdu_len,
   const uint8_t                rsrq,
-  const uint8_t                rsrp )
-{
+  const uint8_t                rsrp ) {
   LTE_BCCH_DL_SCH_Message_t *bcch_message = NULL;
-  LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
-  int i;
-
+  LTE_SystemInformationBlockType1_t *sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_BCCH, VCD_FUNCTION_IN );
 
   if (((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1) == 1) &&  // SIB1 received
@@ -2943,6 +2621,10 @@ int decode_BCCH_DLSCH_Message(
 
   rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_RECEIVING_SIB );
 
+  if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
+    xer_fprint(stdout, &asn_DEF_LTE_BCCH_DL_SCH_Message,(void *)bcch_message );
+  }
+
   asn_dec_rval_t dec_rval = uper_decode_complete( NULL,
                             &asn_DEF_LTE_BCCH_DL_SCH_Message,
                             (void **)&bcch_message,
@@ -2953,83 +2635,50 @@ int decode_BCCH_DLSCH_Message(
     LOG_E( RRC, "[UE %"PRIu8"] Failed to decode BCCH_DLSCH_MESSAGE (%zu bits)\n",
            ctxt_pP->module_id,
            dec_rval.consumed );
-    for (i=0;i<Sdu_len;i++)
-      printf("%02x ",Sdu[i]);
-    printf("\n");
+    log_dump(RRC, Sdu, Sdu_len, LOG_DUMP_CHAR,"   Received bytes:\n" );
     // free the memory
-    SEQUENCE_free( &asn_DEF_LTE_BCCH_DL_SCH_Message, (void*)bcch_message, 1 );
+    SEQUENCE_free( &asn_DEF_LTE_BCCH_DL_SCH_Message, (void *)bcch_message, 1 );
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_BCCH, VCD_FUNCTION_OUT );
     return -1;
   }
 
-#if defined(ENABLE_ITTI)
-# if defined(DISABLE_ITTI_XER_PRINT)
-  {
-    MessageDef *msg_p;
-
-    msg_p = itti_alloc_new_message (TASK_RRC_UE, RRC_DL_BCCH_MESSAGE);
-    memcpy (&msg_p->ittiMsg, (void *) bcch_message, sizeof(RrcDlBcchMessage));
-
-    itti_send_msg_to_task (TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-  }
-# else
-  {
-    char        message_string[15000];
-    size_t      message_string_size;
-
-    if ((message_string_size = xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_BCCH_DL_SCH_Message, (void *)bcch_message)) > 0) {
-      MessageDef *msg_p;
-
-      msg_p = itti_alloc_new_message_sized (TASK_RRC_UE, RRC_DL_BCCH, message_string_size + sizeof (IttiMsgText));
-      msg_p->ittiMsg.rrc_dl_bcch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_dl_bcch.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-    }
-  }
-# endif
-#endif
-
   if (bcch_message->message.present == LTE_BCCH_DL_SCH_MessageType_PR_c1) {
     switch (bcch_message->message.choice.c1.present) {
-    case LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1:
-      if ((ctxt_pP->frame % 2) == 0) {
-        // even frame
-        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1) == 0) {
-          LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
-          memcpy( (void*)sib1,
-                  (void*)&bcch_message->message.choice.c1.choice.systemInformationBlockType1,
-                  sizeof(LTE_SystemInformationBlockType1_t) );
-          LOG_D( RRC, "[UE %"PRIu8"] Decoding First SIB1\n", ctxt_pP->module_id );
-
-          decode_SIB1( ctxt_pP, eNB_index, rsrq, rsrp );
+      case LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1:
+        if ((ctxt_pP->frame % 2) == 0) {
+          // even frame
+          if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1) == 0) {
+            LTE_SystemInformationBlockType1_t *sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
+            memcpy( (void *)sib1,
+                    (void *)&bcch_message->message.choice.c1.choice.systemInformationBlockType1,
+                    sizeof(LTE_SystemInformationBlockType1_t) );
+            LOG_D( RRC, "[UE %"PRIu8"] Decoding First SIB1\n", ctxt_pP->module_id );
+            decode_SIB1( ctxt_pP, eNB_index, rsrq, rsrp );
+          }
         }
-      }
 
-      break;
+        break;
 
-    case LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformation:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1) == 1) {
-        // SIB1 with schedulingInfoList is available
-
-        LTE_SystemInformation_t* si = UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
-        memcpy( si,
-                &bcch_message->message.choice.c1.choice.systemInformation,
-                sizeof(LTE_SystemInformation_t) );
-
-        LOG_I( RRC, "[UE %"PRIu8"] Decoding SI for frameP %"PRIu32"\n",
-               ctxt_pP->module_id,
-               ctxt_pP->frame );
-        decode_SI( ctxt_pP, eNB_index );
-        //if (nfapi_mode == 3)
-        	UE_mac_inst[ctxt_pP->module_id].SI_Decoded = 1;
-      }
+      case LTE_BCCH_DL_SCH_MessageType__c1_PR_systemInformation:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1) == 1) {
+          // SIB1 with schedulingInfoList is available
+          LTE_SystemInformation_t *si = UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
+          memcpy( si,
+                  &bcch_message->message.choice.c1.choice.systemInformation,
+                  sizeof(LTE_SystemInformation_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Decoding SI for frameP %"PRIu32"\n",
+                 ctxt_pP->module_id,
+                 ctxt_pP->frame );
+          decode_SI( ctxt_pP, eNB_index );
+          //if (nfapi_mode == 3)
+          UE_mac_inst[ctxt_pP->module_id].SI_Decoded = 1;
+        }
 
-      break;
+        break;
 
-    case LTE_BCCH_DL_SCH_MessageType__c1_PR_NOTHING:
-    default:
-      break;
+      case LTE_BCCH_DL_SCH_MessageType__c1_PR_NOTHING:
+      default:
+        break;
     }
   }
 
@@ -3043,22 +2692,18 @@ int decode_BCCH_DLSCH_Message(
   }
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_BCCH, VCD_FUNCTION_OUT );
-
   return 0;
 }
 
 //-----------------------------------------------------------------------------
 int decode_PCCH_DLSCH_Message(
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const uint8_t                eNB_index,
-  uint8_t*               const Sdu,
-  const uint8_t                Sdu_len)
-{
+  uint8_t               *const Sdu,
+  const uint8_t                Sdu_len) {
   LTE_PCCH_Message_t *pcch_message = NULL;
   int i;
-
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_PCCH, VCD_FUNCTION_IN );
-
   asn_dec_rval_t dec_rval = uper_decode_complete( NULL,
                             &asn_DEF_LTE_PCCH_Message,
                             (void **)&pcch_message,
@@ -3069,11 +2714,13 @@ int decode_PCCH_DLSCH_Message(
     LOG_E( RRC, "[UE %"PRIu8"] Failed to decode PCCH_MESSAGE (%zu bits)\n",
            ctxt_pP->module_id,
            dec_rval.consumed );
-    for (i=0;i<Sdu_len;i++)
+
+    for (i=0; i<Sdu_len; i++)
       printf("%02x ",Sdu[i]);
+
     printf("\n");
     // free the memory
-    SEQUENCE_free( &asn_DEF_LTE_PCCH_Message, (void*)pcch_message, 1 );
+    SEQUENCE_free( &asn_DEF_LTE_PCCH_Message, (void *)pcch_message, 1 );
     VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_PCCH, VCD_FUNCTION_OUT );
     return -1;
   }
@@ -3082,19 +2729,13 @@ int decode_PCCH_DLSCH_Message(
 }
 
 //-----------------------------------------------------------------------------
-int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t rsrq, const uint8_t rsrp )
-{
-  LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
-
+int decode_SIB1( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, const uint8_t rsrq, const uint8_t rsrp ) {
+  LTE_SystemInformationBlockType1_t *sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SIB1, VCD_FUNCTION_IN );
-
   LOG_I( RRC, "[UE %d] : Dumping SIB 1\n", ctxt_pP->module_id );
-
   LTE_PLMN_Identity_t *PLMN_identity = &sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->plmn_Identity;
-
   int mccdigits = PLMN_identity->mcc->list.count;
   int mncdigits = PLMN_identity->mnc.list.count;
-
   int mcc;
 
   if (mccdigits == 2) {
@@ -3111,10 +2752,10 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
     mnc = *PLMN_identity->mnc.list.array[0]*100 + *PLMN_identity->mnc.list.array[1]*10 + *PLMN_identity->mnc.list.array[2];
   }
 
-  LOG_I( RRC, "PLMN MCC %0*d, MNC %0*d, TAC 0x%04x\n", mccdigits, mcc, mncdigits, mnc, 
-       ((sib1->cellAccessRelatedInfo.trackingAreaCode.size == 2)?((sib1->cellAccessRelatedInfo.trackingAreaCode.buf[0]<<8) + sib1->cellAccessRelatedInfo.trackingAreaCode.buf[1]):0));
-  LOG_I( RRC, "cellReservedForOperatorUse                 : raw:%ld decoded:%s\n", sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->cellReservedForOperatorUse, SIBreserved(sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->cellReservedForOperatorUse) );
-
+  LOG_I( RRC, "PLMN MCC %0*d, MNC %0*d, TAC 0x%04x\n", mccdigits, mcc, mncdigits, mnc,
+         ((sib1->cellAccessRelatedInfo.trackingAreaCode.size == 2)?((sib1->cellAccessRelatedInfo.trackingAreaCode.buf[0]<<8) + sib1->cellAccessRelatedInfo.trackingAreaCode.buf[1]):0));
+  LOG_I( RRC, "cellReservedForOperatorUse                 : raw:%ld decoded:%s\n", sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->cellReservedForOperatorUse,
+         SIBreserved(sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[0]->cellReservedForOperatorUse) );
   // search internal table for provider name
   int plmn_ind = 0;
 
@@ -3137,7 +2778,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
          sib1->cellAccessRelatedInfo.cellIdentity.buf[1],
          sib1->cellAccessRelatedInfo.cellIdentity.buf[2],
          sib1->cellAccessRelatedInfo.cellIdentity.buf[3] >> sib1->cellAccessRelatedInfo.cellIdentity.bits_unused);
-
   LOG_I( RRC, "cellAccessRelatedInfo.cellBarred           : raw:%ld decoded:%s\n", sib1->cellAccessRelatedInfo.cellBarred, SIBbarred(sib1->cellAccessRelatedInfo.cellBarred) );
   LOG_I( RRC, "cellAccessRelatedInfo.intraFreqReselection : raw:%ld decoded:%s\n", sib1->cellAccessRelatedInfo.intraFreqReselection, SIBallowed(sib1->cellAccessRelatedInfo.intraFreqReselection) );
   LOG_I( RRC, "cellAccessRelatedInfo.csg_Indication       : %d\n", sib1->cellAccessRelatedInfo.csg_Indication );
@@ -3189,55 +2829,50 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 
   LOG_I( RRC, "siWindowLength                             : %s\n", siWindowLength[min(sib1->si_WindowLength,7)] );
   LOG_I( RRC, "systemInfoValueTag                         : %ld\n", sib1->systemInfoValueTag );
-
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIperiod     = siPeriod_int[sib1->schedulingInfoList.list.array[0]->si_Periodicity];
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIwindowsize = siWindowLength_int[sib1->si_WindowLength];
   LOG_I( RRC, "[FRAME unknown][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB1 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
          ctxt_pP->module_id, eNB_index, ctxt_pP->module_id );
-
   rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
-			(LTE_RadioResourceConfigCommonSIB_t *)NULL,
-			(struct LTE_PhysicalConfigDedicated *)NULL,
+                        (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                        (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			(LTE_SCellToAddMod_r10_t *)NULL,
-			//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
-#endif
-			(LTE_MeasObjectToAddMod_t **)NULL,
-			(LTE_MAC_MainConfig_t *)NULL,
-			0,
-			(struct LTE_LogicalChannelConfig *)NULL,
-			(LTE_MeasGapConfig_t *)NULL,
-			UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->tdd_Config,
-			(LTE_MobilityControlInfo_t *) NULL,
-			&UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIwindowsize,
-			&UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIperiod,
-			NULL,
-			NULL,
-			NULL,
-			(LTE_MBSFN_SubframeConfigList_t *)NULL
+                        (LTE_SCellToAddMod_r10_t *)NULL,
+                        //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#endif
+                        (LTE_MeasObjectToAddMod_t **)NULL,
+                        (LTE_MAC_MainConfig_t *)NULL,
+                        0,
+                        (struct LTE_LogicalChannelConfig *)NULL,
+                        (LTE_MeasGapConfig_t *)NULL,
+                        UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->tdd_Config,
+                        (LTE_MobilityControlInfo_t *) NULL,
+                        &UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIwindowsize,
+                        &UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIperiod,
+                        NULL,
+                        NULL,
+                        NULL,
+                        (LTE_MBSFN_SubframeConfigList_t *)NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			,0,
-			(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-			(LTE_PMCH_InfoList_r9_t *)NULL
-
+                        ,0,
+                        (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                        (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-			,
-			0,
-			0
+                        ,
+                        0,
+                        0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                        ,
+                        0,
+                        NULL,
+                        NULL
 #endif
-			);
-
+                       );
   LOG_I(RRC,"Setting SIStatus bit 0 to 1\n");
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus = 1;
   UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIB1systemInfoValueTag = sib1->systemInfoValueTag;
-
 #if defined(ENABLE_ITTI) && defined(ENABLE_USE_MME)
   {
     int cell_valid = 0;
@@ -3246,13 +2881,11 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
       /* Cell is not barred */
       int plmn;
       int plmn_number;
-
       plmn_number = sib1->cellAccessRelatedInfo.plmn_IdentityList.list.count;
 
       /* Compare requested PLMN and PLMNs from SIB1*/
       for (plmn = 0; plmn < plmn_number; plmn++) {
         LTE_PLMN_Identity_t *plmn_Identity;
-
         plmn_Identity = &sib1->cellAccessRelatedInfo.plmn_IdentityList.list.array[plmn]->plmn_Identity;
 
         if (
@@ -3278,7 +2911,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
         ) {
           /* PLMN match, send a confirmation to NAS */
           MessageDef  *msg_p;
-
           msg_p = itti_alloc_new_message(TASK_RRC_UE, NAS_CELL_SELECTION_CNF);
           NAS_CELL_SELECTION_CNF (msg_p).errCode = AS_SUCCESS;
           NAS_CELL_SELECTION_CNF (msg_p).cellID = BIT_STRING_to_uint32(&sib1->cellAccessRelatedInfo.cellIdentity);
@@ -3286,7 +2918,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
           NAS_CELL_SELECTION_CNF (msg_p).rat = 0xFF;
           NAS_CELL_SELECTION_CNF (msg_p).rsrq = rsrq;
           NAS_CELL_SELECTION_CNF (msg_p).rsrp = rsrp;
-
           itti_send_msg_to_task(TASK_NAS_UE, ctxt_pP->instance, msg_p);
           cell_valid = 1;
           break;
@@ -3297,24 +2928,19 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
     if (cell_valid == 0) {
       /* Cell can not be used, ask PHY to try the next one */
       MessageDef  *msg_p;
-
       msg_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_NEXT_CELL_REQ);
-
       itti_send_msg_to_task(TASK_PHY_UE, ctxt_pP->instance, msg_p);
-      LOG_E(RRC, "Synched with a cell, but PLMN doesn't match our SIM, the message PHY_FIND_NEXT_CELL_REQ is sent but lost in current UE implementation! \n"); 
+      LOG_E(RRC, "Synched with a cell, but PLMN doesn't match our SIM, the message PHY_FIND_NEXT_CELL_REQ is sent but lost in current UE implementation! \n");
     }
   }
 #endif
-
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SIB1, VCD_FUNCTION_OUT );
-
   return 0;
 }
 
 
 //-----------------------------------------------------------------------------
- void dump_sib2( LTE_SystemInformationBlockType2_t *sib2 )
-{
+void dump_sib2( LTE_SystemInformationBlockType2_t *sib2 ) {
   // ac_BarringInfo
   if (sib2->ac_BarringInfo) {
     LOG_I( RRC, "ac_BarringInfo->ac_BarringForEmergency : %d\n",
@@ -3364,7 +2990,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
   LOG_I( RRC, "radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower : raw:%ld decoded:%s\n",
          sib2->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower,
          SIB2preambleInitialReceivedTargetPower(sib2->radioResourceConfigCommon.rach_ConfigCommon.powerRampingParameters.preambleInitialReceivedTargetPower) );
-
   LOG_I( RRC, "radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax              : raw:%ld decoded:%s\n",
          sib2->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax,
          SIB2preambleTransMax(sib2->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.preambleTransMax) );
@@ -3374,15 +2999,12 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
   LOG_I( RRC, "radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer : raw:%ld decoded:%s\n",
          sib2->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer,
          SIB2mac_ContentionResolutionTimer(sib2->radioResourceConfigCommon.rach_ConfigCommon.ra_SupervisionInfo.mac_ContentionResolutionTimer) );
-
   LOG_I( RRC, "radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx : %ld\n",
          sib2->radioResourceConfigCommon.rach_ConfigCommon.maxHARQ_Msg3Tx );
-
   // BCCH
   LOG_I( RRC, "radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff : raw:%ld decoded:%s\n",
          sib2->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff,
          SIB2modificationPeriodCoeff(sib2->radioResourceConfigCommon.bcch_Config.modificationPeriodCoeff) );
-
   // PCCH
   LOG_I( RRC, "radioResourceConfigCommon.pcch_Config.defaultPagingCycle : raw:%ld decoded:%s\n",
          sib2->radioResourceConfigCommon.pcch_Config.defaultPagingCycle,
@@ -3390,7 +3012,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
   LOG_I( RRC, "radioResourceConfigCommon.pcch_Config.nB                 : raw:%ld decoded:%s\n",
          sib2->radioResourceConfigCommon.pcch_Config.nB,
          SIB2nB(sib2->radioResourceConfigCommon.pcch_Config.nB) );
-
   // PRACH
   LOG_I( RRC, "radioResourceConfigCommon.prach_Config.rootSequenceIndex                          : %ld\n",
          sib2->radioResourceConfigCommon.prach_Config.rootSequenceIndex );
@@ -3402,13 +3023,11 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
          sib2->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig );
   LOG_I( RRC, "radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset          : %ld\n",
          sib2->radioResourceConfigCommon.prach_Config.prach_ConfigInfo.prach_FreqOffset );
-
   // PDSCH-Config
   LOG_I( RRC, "radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower : %ld\n",
          sib2->radioResourceConfigCommon.pdsch_ConfigCommon.referenceSignalPower );
   LOG_I( RRC, "radioResourceConfigCommon.pdsch_ConfigCommon.p_b                  : %ld\n",
          sib2->radioResourceConfigCommon.pdsch_ConfigCommon.p_b );
-
   // PUSCH-Config
   LOG_I( RRC, "radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB                : %ld\n",
          sib2->radioResourceConfigCommon.pusch_ConfigCommon.pusch_ConfigBasic.n_SB );
@@ -3426,7 +3045,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
          sib2->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled );
   LOG_I( RRC, "radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift            : %ld\n",
          sib2->radioResourceConfigCommon.pusch_ConfigCommon.ul_ReferenceSignalsPUSCH.cyclicShift );
-
   // PUCCH-Config
   LOG_I( RRC, "radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift : %ld\n",
          sib2->radioResourceConfigCommon.pucch_ConfigCommon.deltaPUCCH_Shift );
@@ -3436,7 +3054,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
          sib2->radioResourceConfigCommon.pucch_ConfigCommon.nCS_AN );
   LOG_I( RRC, "radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN       : %ld\n",
          sib2->radioResourceConfigCommon.pucch_ConfigCommon.n1PUCCH_AN );
-
   // SoundingRS_UL_Config
   LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present : raw:%d decoded:%s\n",
          sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.present,
@@ -3450,11 +3067,10 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
     LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission : %d\n",
            sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.ackNackSRS_SimultaneousTransmission );
 
-    if(sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts)
-    {
-    LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts                        : %ld\n",
-           /* TODO: check that it's okay to access [0] */
-           sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts[0] );
+    if(sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts) {
+      LOG_I( RRC, "radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts                        : %ld\n",
+             /* TODO: check that it's okay to access [0] */
+             sib2->radioResourceConfigCommon.soundingRS_UL_ConfigCommon.choice.setup.srs_MaxUpPts[0] );
     }
   }
 
@@ -3477,15 +3093,12 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
          sib2->radioResourceConfigCommon.uplinkPowerControlCommon.deltaFList_PUCCH.deltaF_PUCCH_Format2b );
   LOG_I( RRC, "radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 : %ld\n",
          sib2->radioResourceConfigCommon.uplinkPowerControlCommon.deltaPreambleMsg3 );
-
   LOG_I( RRC, "radioResourceConfigCommon.ul_CyclicPrefixLength : %ld\n",
          sib2->radioResourceConfigCommon.ul_CyclicPrefixLength );
-
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 2, 0))
   // UplinkPowerControlCommon_v1020
   // ...
 #endif
-
   LOG_I( RRC, "ue_TimersAndConstants.t300 : %ld\n", sib2->ue_TimersAndConstants.t300 );
   LOG_I( RRC, "ue_TimersAndConstants.t301 : %ld\n", sib2->ue_TimersAndConstants.t301 );
   LOG_I( RRC, "ue_TimersAndConstants.t310 : %ld\n", sib2->ue_TimersAndConstants.t310 );
@@ -3512,15 +3125,16 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
     LOG_I( RRC, "mbsfn_SubframeConfigList : not defined\n" );
 
   LOG_I( RRC, "timeAlignmentTimerCommon : %ld\n", sib2->timeAlignmentTimerCommon );
-
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+
   if (sib2->lateNonCriticalExtension) {
     LOG_I( RRC, "lateNonCriticalExtension : %p\n", sib2->lateNonCriticalExtension );
   } else
     LOG_I( RRC, "lateNonCriticalExtension : not defined\n" );
-#endif
 
+#endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+
   if (sib2->ext1 && sib2->ext1->ssac_BarringForMMTEL_Voice_r9) {
     LOG_I( RRC, "ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor       : %ld\n",
            sib2->ext1->ssac_BarringForMMTEL_Voice_r9->ac_BarringFactor );
@@ -3540,9 +3154,10 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
            BIT_STRING_to_uint32(&sib2->ext1->ssac_BarringForMMTEL_Video_r9->ac_BarringForSpecialAC) );
   } else
     LOG_I( RRC, "ssac_BarringForMMTEL_Video_r9 : not defined\n" );
-#endif
 
+#endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+
   if (sib2->ext2 && sib2->ext2->ac_BarringForCSFB_r10) {
     LOG_I( RRC, "ac_BarringForCSFB_r10->ac_BarringFactor       : %ld\n",
            sib2->ext2->ac_BarringForCSFB_r10->ac_BarringFactor );
@@ -3557,10 +3172,8 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 }
 
 //-----------------------------------------------------------------------------
- void dump_sib3( LTE_SystemInformationBlockType3_t *sib3 )
-{
+void dump_sib3( LTE_SystemInformationBlockType3_t *sib3 ) {
   LOG_I( RRC, "Dumping SIB3 (see TS36.331 V8.21.0)\n" );
-
   int q_Hyst_dB = sib3->cellReselectionInfoCommon.q_Hyst; // sib3->cellReselectionInfoCommon.q_Hyst is a enumerated value
 
   if (q_Hyst_dB > 6)
@@ -3593,7 +3206,6 @@ int decode_SIB1( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
 
   LOG_I( RRC, "cellReselectionServingFreqInfo.threshServingLow : %ld\n", sib3->cellReselectionServingFreqInfo.threshServingLow );
   LOG_I( RRC, "cellReselectionServingFreqInfo.cellReselectionPriority : %ld\n", sib3->cellReselectionServingFreqInfo.cellReselectionPriority );
-
   LOG_I( RRC, "intraFreqCellReselectionInfo.q_RxLevMin : %ld\n", sib3->intraFreqCellReselectionInfo.q_RxLevMin );
 
   if (sib3->intraFreqCellReselectionInfo.p_Max) {
@@ -3630,7 +3242,6 @@ int Qoffsettab[31] = {-24,-22,-20,-18,-16,-14,-12,-10,-8,-6,-5,-4,-3,-2,-1,0,1,2
 int PhysCellIdRange[16] = {4,8,12,16,24,32,48,64,84,96,128,168,252,504,0,0};
 
 uint64_t arfcn_to_freq(long arfcn) {
-
   if (arfcn < 600)  // Band 1
     return((uint64_t)2110000000 + (arfcn*100000));
   else if (arfcn <1200) // Band 2
@@ -3704,86 +3315,102 @@ uint64_t arfcn_to_freq(long arfcn) {
     exit(1);
   }
 }
- void dump_sib5( LTE_SystemInformationBlockType5_t *sib5 )
-{
+void dump_sib5( LTE_SystemInformationBlockType5_t *sib5 ) {
   LTE_InterFreqCarrierFreqList_t interFreqCarrierFreqList = sib5->interFreqCarrierFreqList;
   int i,j;
   LTE_InterFreqCarrierFreqInfo_t *ifcfInfo;
-
   LOG_I( RRC, "Dumping SIB5 (see TS36.331 V8.21.0)\n" );
 
-  for (i=0;i<interFreqCarrierFreqList.list.count;i++) {
+  for (i=0; i<interFreqCarrierFreqList.list.count; i++) {
     LOG_I(RRC, "SIB5 InterFreqCarrierFreq element %d/%d\n",i,interFreqCarrierFreqList.list.count);
     ifcfInfo = interFreqCarrierFreqList.list.array[i];
     LOG_I(RRC, "   DL Carrier Frequency/ARFCN : %ld/%ld\n",
-	  arfcn_to_freq(ifcfInfo->dl_CarrierFreq),
-	  ifcfInfo->dl_CarrierFreq);
+          arfcn_to_freq(ifcfInfo->dl_CarrierFreq),
+          ifcfInfo->dl_CarrierFreq);
     LOG_I(RRC,"   Q_RXLevMin : %ld\n", ifcfInfo->q_RxLevMin);
+
     if (ifcfInfo->p_Max != NULL)
       LOG_I(RRC,"   P_max : %ld\n", *ifcfInfo->p_Max);
+
     LOG_I(RRC,"   T_ReselectionEUTRA : %ld\n",ifcfInfo->t_ReselectionEUTRA);
+
     if (ifcfInfo->t_ReselectionEUTRA_SF) {
       LOG_I(RRC,"   t_ReselectionEUTRA_SF.sf_Medium %ld, t_ReselectionEUTRA_SF.sf_High %ld",
-	    ifcfInfo->t_ReselectionEUTRA_SF->sf_Medium,
-	    ifcfInfo->t_ReselectionEUTRA_SF->sf_High);
+            ifcfInfo->t_ReselectionEUTRA_SF->sf_Medium,
+            ifcfInfo->t_ReselectionEUTRA_SF->sf_High);
     }
+
     LOG_I(RRC,"   threshX_High : %ld\n",ifcfInfo->threshX_High);
     LOG_I(RRC,"   threshX_Low : %ld\n",ifcfInfo->threshX_Low);
+
     switch(ifcfInfo->allowedMeasBandwidth) {
-    case LTE_AllowedMeasBandwidth_mbw6:
-      LOG_I(RRC,"   AllowedMeasBandwidth : 6\n");
-      break;
-    case LTE_AllowedMeasBandwidth_mbw15:
-      LOG_I(RRC,"   AllowedMeasBandwidth : 15\n");
-      break;
-    case LTE_AllowedMeasBandwidth_mbw25:
-      LOG_I(RRC,"   AllowedMeasBandwidth : 25\n");
-      break;
-    case LTE_AllowedMeasBandwidth_mbw50:
-      LOG_I(RRC,"   AllowedMeasBandwidth : 50\n");
-      break;
-    case LTE_AllowedMeasBandwidth_mbw75:
-      LOG_I(RRC,"   AllowedMeasBandwidth : 75\n");
-      break;
-    case LTE_AllowedMeasBandwidth_mbw100:
-      LOG_I(RRC,"   AllowedMeasBandwidth : 100\n");
-      break;
+      case LTE_AllowedMeasBandwidth_mbw6:
+        LOG_I(RRC,"   AllowedMeasBandwidth : 6\n");
+        break;
+
+      case LTE_AllowedMeasBandwidth_mbw15:
+        LOG_I(RRC,"   AllowedMeasBandwidth : 15\n");
+        break;
+
+      case LTE_AllowedMeasBandwidth_mbw25:
+        LOG_I(RRC,"   AllowedMeasBandwidth : 25\n");
+        break;
+
+      case LTE_AllowedMeasBandwidth_mbw50:
+        LOG_I(RRC,"   AllowedMeasBandwidth : 50\n");
+        break;
+
+      case LTE_AllowedMeasBandwidth_mbw75:
+        LOG_I(RRC,"   AllowedMeasBandwidth : 75\n");
+        break;
+
+      case LTE_AllowedMeasBandwidth_mbw100:
+        LOG_I(RRC,"   AllowedMeasBandwidth : 100\n");
+        break;
     }
+
     if (ifcfInfo->presenceAntennaPort1)
       LOG_I(RRC,"   PresenceAntennaPort1 : True\n");
     else
       LOG_I(RRC,"   PresenceAntennaPort1 : False\n");
+
     if (ifcfInfo->cellReselectionPriority) {
       LOG_I(RRC,"   CellReselectionPriority : %ld\n",
-	    *ifcfInfo->cellReselectionPriority);
+            *ifcfInfo->cellReselectionPriority);
     }
+
     LOG_I(RRC,"   NeighCellConfig  : ");
-    for (j=0;j<ifcfInfo->neighCellConfig.size;j++) {
+
+    for (j=0; j<ifcfInfo->neighCellConfig.size; j++) {
       printf("%2x ",ifcfInfo->neighCellConfig.buf[j]);
     }
+
     printf("\n");
+
     if (ifcfInfo->q_OffsetFreq)
       LOG_I(RRC,"   Q_OffsetFreq : %d\n",Qoffsettab[*ifcfInfo->q_OffsetFreq]);
-    if (ifcfInfo->interFreqNeighCellList) {
-
-      for (j=0;j<ifcfInfo->interFreqNeighCellList->list.count;j++) {
-	LOG_I(RRC,"   Cell %d\n", j);
-	LOG_I(RRC,"      PhysCellId : %ld\n",ifcfInfo->interFreqNeighCellList->list.array[j]->physCellId);
-	LOG_I(RRC,"      Q_OffsetRange : %ld\n",ifcfInfo->interFreqNeighCellList->list.array[j]->q_OffsetCell);
 
+    if (ifcfInfo->interFreqNeighCellList) {
+      for (j=0; j<ifcfInfo->interFreqNeighCellList->list.count; j++) {
+        LOG_I(RRC,"   Cell %d\n", j);
+        LOG_I(RRC,"      PhysCellId : %ld\n",ifcfInfo->interFreqNeighCellList->list.array[j]->physCellId);
+        LOG_I(RRC,"      Q_OffsetRange : %ld\n",ifcfInfo->interFreqNeighCellList->list.array[j]->q_OffsetCell);
       }
     }
+
     if (ifcfInfo->interFreqBlackCellList) {
+      for (j=0; j<ifcfInfo->interFreqBlackCellList->list.count; j++) {
+        LOG_I(RRC,"   Cell %d\n", j);
+        LOG_I(RRC,"      PhysCellId start: %ld\n",ifcfInfo->interFreqBlackCellList->list.array[j]->start);
 
-      for (j=0;j<ifcfInfo->interFreqBlackCellList->list.count;j++) {
-	LOG_I(RRC,"   Cell %d\n", j);
-	LOG_I(RRC,"      PhysCellId start: %ld\n",ifcfInfo->interFreqBlackCellList->list.array[j]->start);
-	if (ifcfInfo->interFreqBlackCellList->list.array[i]->range) {
-	  LOG_I(RRC,"      PhysCellId Range : %ld\n",*ifcfInfo->interFreqBlackCellList->list.array[j]->range);
-	}
+        if (ifcfInfo->interFreqBlackCellList->list.array[i]->range) {
+          LOG_I(RRC,"      PhysCellId Range : %ld\n",*ifcfInfo->interFreqBlackCellList->list.array[j]->range);
+        }
       }
     }
+
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
+
     if (ifcfInfo->ext1 && ifcfInfo->ext1->q_QualMin_r9)
       LOG_I(RRC,"   Q_QualMin_r9 : %ld\n",*ifcfInfo->ext1->q_QualMin_r9);
 
@@ -3791,14 +3418,13 @@ uint64_t arfcn_to_freq(long arfcn) {
       LOG_I(RRC,"   threshX_HighQ_r9 : %ld\n",ifcfInfo->ext1->threshX_Q_r9->threshX_HighQ_r9);
       LOG_I(RRC,"   threshX_LowQ_r9: %ld\n",ifcfInfo->ext1->threshX_Q_r9->threshX_LowQ_r9);
     }
+
 #endif
   }
-
 }
 
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
- void dump_sib13( LTE_SystemInformationBlockType13_r9_t *sib13 )
-{
+void dump_sib13( LTE_SystemInformationBlockType13_r9_t *sib13 ) {
   LOG_I( RRC, "[UE] Dumping SIB13\n" );
   LOG_I( RRC, "[UE] dumping sib13 second time\n" );
   LOG_I( RRC, "[UE] NotificationRepetitionCoeff-r9 : %ld\n", sib13->notificationConfig_r9.notificationRepetitionCoeff_r9 );
@@ -3809,72 +3435,73 @@ uint64_t arfcn_to_freq(long arfcn) {
 
 //TTN - SIB18
 //-----------------------------------------------------------------------------
- void dump_sib18(LTE_SystemInformationBlockType18_r12_t *sib18){
-   LOG_I( RRC, "[UE] Dumping SIB18\n" );
-   for (int i = 0; i < sib18->commConfig_r12->commRxPool_r12.list.count; i++) {
-       LOG_I(RRC, " Contents of SIB18 %d/%d \n", i+1, sib18->commConfig_r12->commRxPool_r12.list.count);
-       LOG_I(RRC, " SIB18 rxPool_sc_CP_Len: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_CP_Len_r12);
-       LOG_I(RRC, " SIB18 sc_Period_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_Period_r12);
-       LOG_I(RRC, " SIB18 data_CP_Len_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->data_CP_Len_r12);
-       LOG_I(RRC, " SIB18 prb_Num_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_TF_ResourceConfig_r12.prb_Num_r12);
-       LOG_I(RRC, " SIB18 prb_Start_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_TF_ResourceConfig_r12.prb_Start_r12);
-       LOG_I(RRC, " SIB18 prb_End_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_TF_ResourceConfig_r12.prb_End_r12);
-       //to add more log
-     }
+void dump_sib18(LTE_SystemInformationBlockType18_r12_t *sib18) {
+  LOG_I( RRC, "[UE] Dumping SIB18\n" );
+
+  for (int i = 0; i < sib18->commConfig_r12->commRxPool_r12.list.count; i++) {
+    LOG_I(RRC, " Contents of SIB18 %d/%d \n", i+1, sib18->commConfig_r12->commRxPool_r12.list.count);
+    LOG_I(RRC, " SIB18 rxPool_sc_CP_Len: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_CP_Len_r12);
+    LOG_I(RRC, " SIB18 sc_Period_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_Period_r12);
+    LOG_I(RRC, " SIB18 data_CP_Len_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->data_CP_Len_r12);
+    LOG_I(RRC, " SIB18 prb_Num_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_TF_ResourceConfig_r12.prb_Num_r12);
+    LOG_I(RRC, " SIB18 prb_Start_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_TF_ResourceConfig_r12.prb_Start_r12);
+    LOG_I(RRC, " SIB18 prb_End_r12: %ld \n", sib18->commConfig_r12->commRxPool_r12.list.array[i]->sc_TF_ResourceConfig_r12.prb_End_r12);
+    //to add more log
+  }
 }
 
 //TTN -  SIB19
 //-----------------------------------------------------------------------------
- void dump_sib19(LTE_SystemInformationBlockType19_r12_t *sib19){
-   LOG_I( RRC, "[UE] Dumping SIB19\n" );
-   for (int i = 0; i < sib19->discConfig_r12->discRxPool_r12.list.count; i++) {
-       LOG_I(RRC, " Contents of SIB19 %d/%d \n", i+1, sib19->discConfig_r12->discRxPool_r12.list.count);
-       LOG_I(RRC, " SIB19 cp_Len_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->cp_Len_r12);
-       LOG_I(RRC, " SIB19 discPeriod_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->discPeriod_r12);
-       LOG_I(RRC, " SIB19 numRetx_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->numRetx_r12);
-       LOG_I(RRC, " SIB19 numRepetition_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->numRepetition_r12);
-       LOG_I(RRC, " SIB19 prb_Num_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->tf_ResourceConfig_r12.prb_Num_r12);
-       LOG_I(RRC, " SIB19 prb_Start_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->tf_ResourceConfig_r12.prb_Start_r12);
-       LOG_I(RRC, " SIB19 prb_End_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->tf_ResourceConfig_r12.prb_End_r12);
-       //to add more log
-     }
+void dump_sib19(LTE_SystemInformationBlockType19_r12_t *sib19) {
+  LOG_I( RRC, "[UE] Dumping SIB19\n" );
+
+  for (int i = 0; i < sib19->discConfig_r12->discRxPool_r12.list.count; i++) {
+    LOG_I(RRC, " Contents of SIB19 %d/%d \n", i+1, sib19->discConfig_r12->discRxPool_r12.list.count);
+    LOG_I(RRC, " SIB19 cp_Len_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->cp_Len_r12);
+    LOG_I(RRC, " SIB19 discPeriod_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->discPeriod_r12);
+    LOG_I(RRC, " SIB19 numRetx_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->numRetx_r12);
+    LOG_I(RRC, " SIB19 numRepetition_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->numRepetition_r12);
+    LOG_I(RRC, " SIB19 prb_Num_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->tf_ResourceConfig_r12.prb_Num_r12);
+    LOG_I(RRC, " SIB19 prb_Start_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->tf_ResourceConfig_r12.prb_Start_r12);
+    LOG_I(RRC, " SIB19 prb_End_r12: %ld \n", sib19->discConfig_r12->discRxPool_r12.list.array[i]->tf_ResourceConfig_r12.prb_End_r12);
+    //to add more log
+  }
 }
 
- void dump_sib21(LTE_SystemInformationBlockType21_r14_t *sib21){
-    if ((sib21->sl_V2X_ConfigCommon_r14 != NULL) && (sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14 !=NULL) ){
-       for (int i = 0; i < sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.count; i++) {
-          LOG_I(RRC, " Contents of SIB21 %d/%d \n", i+1, sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.count);
-          LOG_I(RRC, " SIB21 sl_Subframe_r14: %d \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->sl_Subframe_r14.present);
-          LOG_I(RRC, " SIB21 adjacencyPSCCH_PSSCH_r14: %d \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->adjacencyPSCCH_PSSCH_r14);
-          LOG_I(RRC, " SIB21 sizeSubchannel_r14: %ld \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->sizeSubchannel_r14);
-          LOG_I(RRC, " SIB21 numSubchannel_r14: %ld \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->numSubchannel_r14);
-          LOG_I(RRC, " SIB21 startRB_Subchannel_r14: %ld \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->startRB_Subchannel_r14);
-          //to add more log
-       }
+void dump_sib21(LTE_SystemInformationBlockType21_r14_t *sib21) {
+  if ((sib21->sl_V2X_ConfigCommon_r14 != NULL) && (sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14 !=NULL) ) {
+    for (int i = 0; i < sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.count; i++) {
+      LOG_I(RRC, " Contents of SIB21 %d/%d \n", i+1, sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.count);
+      LOG_I(RRC, " SIB21 sl_Subframe_r14: %d \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->sl_Subframe_r14.present);
+      LOG_I(RRC, " SIB21 adjacencyPSCCH_PSSCH_r14: %d \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->adjacencyPSCCH_PSSCH_r14);
+      LOG_I(RRC, " SIB21 sizeSubchannel_r14: %ld \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->sizeSubchannel_r14);
+      LOG_I(RRC, " SIB21 numSubchannel_r14: %ld \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->numSubchannel_r14);
+      LOG_I(RRC, " SIB21 startRB_Subchannel_r14: %ld \n", sib21->sl_V2X_ConfigCommon_r14->v2x_CommRxPool_r14->list.array[i]->startRB_Subchannel_r14);
+      //to add more log
     }
- }
+  }
+}
 
 
 #endif
 //-----------------------------------------------------------------------------
- int decode_SI( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
-{
-  LTE_SystemInformation_t** si = &UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
+int decode_SI( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
+  LTE_SystemInformation_t **si = &UE_rrc_inst[ctxt_pP->module_id].si[eNB_index];
   int new_sib = 0;
-  LTE_SystemInformationBlockType1_t* sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
-
+  LTE_SystemInformationBlockType1_t *sib1 = UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index];
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SI, VCD_FUNCTION_IN );
 
   // Dump contents
   if ((*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_systemInformation_r8 ||
 #if (LTE_RRC_VERSION >= MAKE_VERSION(15, 3, 0))
-		  (*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_criticalExtensionsFuture_r15) {
+      (*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_criticalExtensionsFuture_r15) {
 #else
-		  (*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_criticalExtensionsFuture) {
+      (*si)->criticalExtensions.present == LTE_SystemInformation__criticalExtensions_PR_criticalExtensionsFuture) {
 #endif
     LOG_D( RRC, "[UE] (*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count %d\n",
            (*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count );
-  } else {
+  }
+  else {
     LOG_D( RRC, "[UE] Unknown criticalExtension version (not Rel8)\n" );
     return -1;
   }
@@ -3884,311 +3511,310 @@ uint64_t arfcn_to_freq(long arfcn) {
     typeandinfo = (*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.array[i];
 
     switch(typeandinfo->present) {
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=2;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index], &typeandinfo->choice.sib2, sizeof(LTE_SystemInformationBlockType2_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB2 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-	dump_sib2( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index] );
-	LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB2 params  eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
-	       ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id );
-
-	rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
-			      &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon,
-			      (struct LTE_PhysicalConfigDedicated *)NULL,
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=2;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index], &typeandinfo->choice.sib2, sizeof(LTE_SystemInformationBlockType2_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB2 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+          dump_sib2( UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index] );
+          LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB2 params  eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
+                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id );
+          rrc_mac_config_req_ue(ctxt_pP->module_id, 0, eNB_index,
+                                &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->radioResourceConfigCommon,
+                                (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			      (LTE_SCellToAddMod_r10_t *)NULL,
-#endif
-			      (LTE_MeasObjectToAddMod_t **)NULL,
-			      (LTE_MAC_MainConfig_t *)NULL,
-			      0,
-			      (struct LTE_LogicalChannelConfig *)NULL,
-			      (LTE_MeasGapConfig_t *)NULL,
-			      (LTE_TDD_Config_t *)NULL,
-			      (LTE_MobilityControlInfo_t *)NULL,
-			      NULL,
-			      NULL,
-			      UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_CarrierFreq,
-			      UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_Bandwidth,
-			      &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.additionalSpectrumEmission,
-			      UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->mbsfn_SubframeConfigList
+                                (LTE_SCellToAddMod_r10_t *)NULL,
+#endif
+                                (LTE_MeasObjectToAddMod_t **)NULL,
+                                (LTE_MAC_MainConfig_t *)NULL,
+                                0,
+                                (struct LTE_LogicalChannelConfig *)NULL,
+                                (LTE_MeasGapConfig_t *)NULL,
+                                (LTE_TDD_Config_t *)NULL,
+                                (LTE_MobilityControlInfo_t *)NULL,
+                                NULL,
+                                NULL,
+                                UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_CarrierFreq,
+                                UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.ul_Bandwidth,
+                                &UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->freqInfo.additionalSpectrumEmission,
+                                UE_rrc_inst[ctxt_pP->module_id].sib2[eNB_index]->mbsfn_SubframeConfigList
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			      ,0,
-			      (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-			      (LTE_PMCH_InfoList_r9_t *)NULL
-
+                                ,0,
+                                (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                                (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-			      ,0,
-			      0
+                                ,0,
+                                0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                                ,
+                                0,
+                                NULL,
+                                NULL
 #endif
-			      );
-	// After SI is received, prepare RRCConnectionRequest
+                               );
+          // After SI is received, prepare RRCConnectionRequest
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
-	if (UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
+          if (UE_rrc_inst[ctxt_pP->module_id].MBMS_flag < 3) // see -Q option
 #endif
 #if !(defined(ENABLE_ITTI) && defined(ENABLE_USE_MME))
-	  rrc_ue_generate_RRCConnectionRequest( ctxt_pP, eNB_index );
+            rrc_ue_generate_RRCConnectionRequest( ctxt_pP, eNB_index );
 
 #endif
 
-	if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_IDLE) {
-	  LOG_I( RRC, "[UE %d] Received SIB1/SIB2/SIB3 Switching to RRC_SI_RECEIVED\n", ctxt_pP->module_id );
-	  UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State = RRC_SI_RECEIVED;
+          if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_IDLE) {
+            LOG_I( RRC, "[UE %d] Received SIB1/SIB2/SIB3 Switching to RRC_SI_RECEIVED\n", ctxt_pP->module_id );
+            UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State = RRC_SI_RECEIVED;
 #if ENABLE_RAL
-	  {
-	    MessageDef                            *message_ral_p = NULL;
-	    rrc_ral_system_information_ind_t       ral_si_ind;
-
-	    message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_SYSTEM_INFORMATION_IND);
-	    memset(&ral_si_ind, 0, sizeof(rrc_ral_system_information_ind_t));
-	    ral_si_ind.plmn_id.MCCdigit2 = '0';
-	    ral_si_ind.plmn_id.MCCdigit1 = '2';
-	    ral_si_ind.plmn_id.MNCdigit3 = '0';
-	    ral_si_ind.plmn_id.MCCdigit3 = '8';
-	    ral_si_ind.plmn_id.MNCdigit2 = '9';
-	    ral_si_ind.plmn_id.MNCdigit1 = '9';
-	    ral_si_ind.cell_id        = 1;
-	    ral_si_ind.dbm            = 0;
-	    //ral_si_ind.dbm            = fifo_dump_emos_UE.PHY_measurements->rx_rssi_dBm[eNB_index];
-	    // TO DO
-	    ral_si_ind.sinr           = 0;
-	    //ral_si_ind.sinr           = fifo_dump_emos_UE.PHY_measurements->subband_cqi_dB[eNB_index][phy_vars_ue->lte_frame_parms.nb_antennas_rx][0];
-	    // TO DO
-	    ral_si_ind.link_data_rate = 0;
-	    memcpy (&message_ral_p->ittiMsg, (void *) &ral_si_ind, sizeof(rrc_ral_system_information_ind_t));
+            {
+              MessageDef                            *message_ral_p = NULL;
+              rrc_ral_system_information_ind_t       ral_si_ind;
+              message_ral_p = itti_alloc_new_message (TASK_RRC_UE, RRC_RAL_SYSTEM_INFORMATION_IND);
+              memset(&ral_si_ind, 0, sizeof(rrc_ral_system_information_ind_t));
+              ral_si_ind.plmn_id.MCCdigit2 = '0';
+              ral_si_ind.plmn_id.MCCdigit1 = '2';
+              ral_si_ind.plmn_id.MNCdigit3 = '0';
+              ral_si_ind.plmn_id.MCCdigit3 = '8';
+              ral_si_ind.plmn_id.MNCdigit2 = '9';
+              ral_si_ind.plmn_id.MNCdigit1 = '9';
+              ral_si_ind.cell_id        = 1;
+              ral_si_ind.dbm            = 0;
+              //ral_si_ind.dbm            = fifo_dump_emos_UE.PHY_measurements->rx_rssi_dBm[eNB_index];
+              // TO DO
+              ral_si_ind.sinr           = 0;
+              //ral_si_ind.sinr           = fifo_dump_emos_UE.PHY_measurements->subband_cqi_dB[eNB_index][phy_vars_ue->lte_frame_parms.nb_antennas_rx][0];
+              // TO DO
+              ral_si_ind.link_data_rate = 0;
+              memcpy (&message_ral_p->ittiMsg, (void *) &ral_si_ind, sizeof(rrc_ral_system_information_ind_t));
 #warning "ue_mod_idP ? for instance ?"
-	    itti_send_msg_to_task (TASK_RAL_UE, UE_MODULE_ID_TO_INSTANCE(ctxt_pP->module_id), message_ral_p);
-	  }
+              itti_send_msg_to_task (TASK_RAL_UE, UE_MODULE_ID_TO_INSTANCE(ctxt_pP->module_id), message_ral_p);
+            }
 #endif
-	}
-      }
-      break; // case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2
+          }
+        }
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&4) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=4;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index], &typeandinfo->choice.sib3, sizeof(LTE_SystemInformationBlockType3_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB3 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-	dump_sib3( UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index] );
+        break; // case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2
 
-      }
-      break;
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&4) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=4;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index], &typeandinfo->choice.sib3, sizeof(LTE_SystemInformationBlockType3_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB3 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+          dump_sib3( UE_rrc_inst[ctxt_pP->module_id].sib3[eNB_index] );
+        }
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=8;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib4[eNB_index], &typeandinfo->choice.sib4, sizeof(LTE_SystemInformationBlockType4_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB4 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
+        break;
 
-      break;
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=8;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib4[eNB_index], &typeandinfo->choice.sib4, sizeof(LTE_SystemInformationBlockType4_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB4 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=16;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index], &typeandinfo->choice.sib5, sizeof(LTE_SystemInformationBlockType5_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB5 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-	dump_sib5(UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index]);
-      }
-      break;
+        break;
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32;
-	new_sib=1;
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=16;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index], &typeandinfo->choice.sib5, sizeof(LTE_SystemInformationBlockType5_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB5 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+          dump_sib5(UE_rrc_inst[ctxt_pP->module_id].sib5[eNB_index]);
+        }
 
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib6[eNB_index], &typeandinfo->choice.sib6, sizeof(LTE_SystemInformationBlockType6_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB6 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
-      break;
+        break;
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&64) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=64;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib7[eNB_index], &typeandinfo->choice.sib7, sizeof(LTE_SystemInformationBlockType7_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB7 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
-      break;
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib6[eNB_index], &typeandinfo->choice.sib6, sizeof(LTE_SystemInformationBlockType6_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB6 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&128) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=128;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib8[eNB_index], &typeandinfo->choice.sib8, sizeof(LTE_SystemInformationBlockType8_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB8 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
-      break;
+        break;
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&256) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=256;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index], &typeandinfo->choice.sib9, sizeof(LTE_SystemInformationBlockType9_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB9 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
-      break;
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&64) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=64;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib7[eNB_index], &typeandinfo->choice.sib7, sizeof(LTE_SystemInformationBlockType7_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB7 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&512) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=512;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index], &typeandinfo->choice.sib10, sizeof(LTE_SystemInformationBlockType10_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB10 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
-      break;
+        break;
+
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&128) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=128;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib8[eNB_index], &typeandinfo->choice.sib8, sizeof(LTE_SystemInformationBlockType8_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB8 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1024) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=1024;
-	new_sib=1;
+        break;
 
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index], &typeandinfo->choice.sib11, sizeof(LTE_SystemInformationBlockType11_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB11 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
-      break;
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&256) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=256;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib9[eNB_index], &typeandinfo->choice.sib9, sizeof(LTE_SystemInformationBlockType9_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB9 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
+
+        break;
+
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&512) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=512;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib10[eNB_index], &typeandinfo->choice.sib10, sizeof(LTE_SystemInformationBlockType10_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB10 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
+
+        break;
+
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&1024) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=1024;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib11[eNB_index], &typeandinfo->choice.sib11, sizeof(LTE_SystemInformationBlockType11_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB11 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
 
+        break;
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 2, 0))
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2048) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=2048;
-	new_sib=1;
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index], &typeandinfo->choice.sib12_v920, sizeof(LTE_SystemInformationBlockType12_r9_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB12 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-      }
-      break;
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&2048) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=2048;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib12[eNB_index], &typeandinfo->choice.sib12_v920, sizeof(LTE_SystemInformationBlockType12_r9_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB12 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+        }
+
+        break;
 
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920:
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&4096) == 0) {
-	UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=4096;
-	new_sib=1;
-
-	memcpy( UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index], &typeandinfo->choice.sib13_v920, sizeof(LTE_SystemInformationBlockType13_r9_t) );
-	LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB13 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
-	dump_sib13( UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] );
-	// adding here function to store necessary parameters for using in decode_MCCH_Message + maybe transfer to PHY layer
-	LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB13 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
-	       ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
-	rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
-			      (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-			      (struct LTE_PhysicalConfigDedicated *)NULL,
-			      (LTE_SCellToAddMod_r10_t *)NULL,
-			      (LTE_MeasObjectToAddMod_t **)NULL,
-			      (LTE_MAC_MainConfig_t *)NULL,
-			      0,
-			      (struct LTE_LogicalChannelConfig *)NULL,
-			      (LTE_MeasGapConfig_t *)NULL,
-			      (LTE_TDD_Config_t *)NULL,
-			      (LTE_MobilityControlInfo_t *)NULL,
-			      NULL,
-			      NULL,
-			      NULL,
-			      NULL,
-			      NULL,
-			      (LTE_MBSFN_SubframeConfigList_t *)NULL,
-			      0,
-			      &UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index]->mbsfn_AreaInfoList_r9,
-			      (LTE_PMCH_InfoList_r9_t *)NULL
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&4096) == 0) {
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=4096;
+          new_sib=1;
+          memcpy( UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index], &typeandinfo->choice.sib13_v920, sizeof(LTE_SystemInformationBlockType13_r9_t) );
+          LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB13 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
+          dump_sib13( UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index] );
+          // adding here function to store necessary parameters for using in decode_MCCH_Message + maybe transfer to PHY layer
+          LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB13 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
+                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
+          rrc_mac_config_req_ue(ctxt_pP->module_id,0,eNB_index,
+                                (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                                (struct LTE_PhysicalConfigDedicated *)NULL,
+                                (LTE_SCellToAddMod_r10_t *)NULL,
+                                (LTE_MeasObjectToAddMod_t **)NULL,
+                                (LTE_MAC_MainConfig_t *)NULL,
+                                0,
+                                (struct LTE_LogicalChannelConfig *)NULL,
+                                (LTE_MeasGapConfig_t *)NULL,
+                                (LTE_TDD_Config_t *)NULL,
+                                (LTE_MobilityControlInfo_t *)NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                (LTE_MBSFN_SubframeConfigList_t *)NULL,
+                                0,
+                                &UE_rrc_inst[ctxt_pP->module_id].sib13[eNB_index]->mbsfn_AreaInfoList_r9,
+                                (LTE_PMCH_InfoList_r9_t *)NULL
 #ifdef CBA
-			      ,0,
-			      0
+                                ,0,
+                                0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
-#endif
-			      );
-	break;
-      }
+                                ,
+                                0,
+                                NULL,
+                                NULL
 #endif
+                               );
+          break;
+        }
 
+#endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+
       //SIB18
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250:
-       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8192) == 0) {
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib18_v1250:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8192) == 0) {
           UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=8192;
           new_sib=1;
-
           memcpy( UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index], &typeandinfo->choice.sib18_v1250, sizeof(LTE_SystemInformationBlockType18_r12_t) );
           LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB18 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
           dump_sib18( UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index] );
           // adding here function to store necessary parameters to transfer to PHY layer
           LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB18 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
-                ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
-
+                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
           //process SIB18 to transfer SL-related parameters to PHY
           rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
-                UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index],
-                (LTE_SystemInformationBlockType19_r12_t *)NULL,
-                (LTE_SL_CommConfig_r12_t *)NULL,
-                (LTE_SL_DiscConfig_r12_t *)NULL
-          );
+              UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index],
+              (LTE_SystemInformationBlockType19_r12_t *)NULL,
+              (LTE_SL_CommConfig_r12_t *)NULL,
+              (LTE_SL_DiscConfig_r12_t *)NULL
+                                                     );
+        }
 
-       }
-       break;
+        break;
 
-       //SIB19
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250:
-       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16384) == 0) {
+      //SIB19
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib19_v1250:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16384) == 0) {
           UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=16384;
           new_sib=1;
-
           memcpy( UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index], &typeandinfo->choice.sib19_v1250, sizeof(LTE_SystemInformationBlockType19_r12_t) );
           LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB19 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
           dump_sib19( UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index] );
           // adding here function to store necessary parameters to transfer to PHY layer
           LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB19 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
-                ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
+                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
           //process SIB19 to transfer SL-related parameters to PHY
           rrc_ue_process_sidelink_radioResourceConfig(ctxt_pP->module_id,eNB_index,
-                (LTE_SystemInformationBlockType18_r12_t *)NULL,
-                UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index],
-                (LTE_SL_CommConfig_r12_t *)NULL,
-                (LTE_SL_DiscConfig_r12_t *)NULL
-          );
+              (LTE_SystemInformationBlockType18_r12_t *)NULL,
+              UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index],
+              (LTE_SL_CommConfig_r12_t *)NULL,
+              (LTE_SL_DiscConfig_r12_t *)NULL
+                                                     );
+        }
 
-       }
-       break;
+        break;
 
-       //SIB21
-    case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430:
-       if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32768) == 0) {
+      //SIB21
+      case LTE_SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib21_v1430:
+        if ((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&32768) == 0) {
           UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus|=32768;
           new_sib=1;
-
           memcpy( UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index], &typeandinfo->choice.sib21_v1430, sizeof(LTE_SystemInformationBlockType21_r14_t) );
           LOG_I( RRC, "[UE %"PRIu8"] Frame %"PRIu32" Found SIB21 from eNB %"PRIu8"\n", ctxt_pP->module_id, ctxt_pP->frame, eNB_index );
           dump_sib21( UE_rrc_inst[ctxt_pP->module_id].sib21[eNB_index] );
           // adding here function to store necessary parameters to transfer to PHY layer
           LOG_I( RRC, "[FRAME %05"PRIu32"][RRC_UE][MOD %02"PRIu8"][][--- MAC_CONFIG_REQ (SIB21 params eNB %"PRIu8") --->][MAC_UE][MOD %02"PRIu8"][]\n",
-                ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
+                 ctxt_pP->frame, ctxt_pP->module_id, eNB_index, ctxt_pP->module_id);
           //process SIB21
           //TODO
-       }
-       break;
-
+        }
 
+        break;
 #endif
-    default:
-      break;
-    }
 
+      default:
+        break;
+    }
   }
+
   if (new_sib == 1) {
     UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt++;
 
@@ -4196,9 +3822,9 @@ uint64_t arfcn_to_freq(long arfcn) {
       rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_SIB_COMPLETE );
 
     LOG_I(RRC,"SIStatus %x, SIcnt %d/%d\n",
-	  UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus,
-	  UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt,
-	  sib1->schedulingInfoList.list.count);
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus,
+          UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIcnt,
+          sib1->schedulingInfoList.list.count);
   }
 
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SI  , VCD_FUNCTION_OUT);
@@ -4207,8 +3833,7 @@ uint64_t arfcn_to_freq(long arfcn) {
 
 // layer 3 filtering of RSRP (EUTRA) measurements: 36.331, Sec. 5.5.3.2
 //-----------------------------------------------------------------------------
-void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
-{
+void ue_meas_filtering( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
   float a  = UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrp; // 'a' in 36.331 Sec. 5.5.3.2
   float a1 = UE_rrc_inst[ctxt_pP->module_id].filter_coeff_rsrq;
   //float rsrp_db, rsrq_db;
@@ -4219,18 +3844,17 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
       if(UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[0]->quantityConfigEUTRA->filterCoefficientRSRP != NULL) {
         for (eNB_offset = 0; eNB_offset<1+get_n_adj_cells(ctxt_pP->module_id,0); eNB_offset++) {
           UE_rrc_inst[ctxt_pP->module_id].rsrp_db[eNB_offset] = get_RSRP(ctxt_pP->module_id,0,eNB_offset);
-	  /*
-	  (dB_fixed_times10(get_RSRP(ctxt_pP->module_id,0,eNB_offset))/10.0) -
-	  get_rx_total_gain_dB(ctxt_pP->module_id,0) -
-	  get_bw_gain_dB(ctxt_pP->module_id);
-	  */
+          /*
+          (dB_fixed_times10(get_RSRP(ctxt_pP->module_id,0,eNB_offset))/10.0) -
+          get_rx_total_gain_dB(ctxt_pP->module_id,0) -
+          get_bw_gain_dB(ctxt_pP->module_id);
+          */
           UE_rrc_inst[ctxt_pP->module_id].rsrp_db_filtered[eNB_offset] =
             (1.0-a)*UE_rrc_inst[ctxt_pP->module_id].rsrp_db_filtered[eNB_offset] +
             a*UE_rrc_inst[ctxt_pP->module_id].rsrp_db[eNB_offset];
-
           LOG_D(RRC,"RSRP_dBm: %3.2f \n",get_RSRP(ctxt_pP->module_id,0,eNB_offset));;
-	  /*          LOG_D(RRC,"gain_loss_dB: %d \n",get_rx_total_gain_dB(ctxt_pP->module_id,0));
-		      LOG_D(RRC,"gain_fixed_dB: %d \n",dB_fixed(frame_parms->N_RB_DL*12));*/
+          /*          LOG_D(RRC,"gain_loss_dB: %d \n",get_rx_total_gain_dB(ctxt_pP->module_id,0));
+                LOG_D(RRC,"gain_fixed_dB: %d \n",dB_fixed(frame_parms->N_RB_DL*12));*/
           LOG_D(PHY,"[UE %d] Frame %d, RRC Measurements => rssi %3.1f dBm (digital: %3.1f dB)\n",
                 ctxt_pP->module_id,
                 ctxt_pP->frame,
@@ -4268,9 +3892,7 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
 
 //Below routine implements Measurement Reporting procedure from 36.331 Section 5.5.5
 //-----------------------------------------------------------------------------
- void rrc_ue_generate_MeasurementReport(protocol_ctxt_t* const ctxt_pP, uint8_t eNB_index )
-{
-
+void rrc_ue_generate_MeasurementReport(protocol_ctxt_t *const ctxt_pP, uint8_t eNB_index ) {
   uint8_t             buffer[32], size;
   uint8_t             i;
   uint8_t             target_eNB_offset;
@@ -4282,7 +3904,6 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   float            rsrp_filtered, rsrq_filtered;
   static frame_t   pframe=0;
   int              result;
-
   nElem = 98;
   nElem1 = 35;
   target_eNB_offset = UE_rrc_inst[ctxt_pP->module_id].Info[0].handoverTarget; // eNB_offset of target eNB: used to obtain the mod_id of target eNB
@@ -4290,14 +3911,11 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
   for (i=0; i<MAX_MEAS_ID; i++) {
     if (UE_rrc_inst[ctxt_pP->module_id].measReportList[0][i] != NULL) {
       measId = UE_rrc_inst[ctxt_pP->module_id].measReportList[0][i]->measId;
-
       // Note: Values in the meas report have to be the mapped values...to implement binary search for LUT
       rsrp_filtered = UE_rrc_inst[ctxt_pP->module_id].rsrp_db_filtered[eNB_index];//nid_cell];
       rsrp_s = binary_search_float(RSRP_meas_mapping,nElem, rsrp_filtered);
-
       rsrq_filtered = UE_rrc_inst[ctxt_pP->module_id].rsrq_db_filtered[eNB_index];//nid_cell]; //RSRQ of serving cell
       rsrq_s = binary_search_float(RSRQ_meas_mapping,nElem1,rsrq_filtered);//mapped RSRQ of serving cell
-
       LOG_D(RRC,"[UE %d] Frame %d: source eNB %d :rsrp_s: %ld rsrq_s: %ld rsrp_filtered: %f rsrq_filtered: %f \n",
             ctxt_pP->module_id,
             ctxt_pP->frame,
@@ -4308,7 +3926,6 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
             rsrq_filtered);
       rsrp_t = binary_search_float(RSRP_meas_mapping,nElem,UE_rrc_inst[ctxt_pP->module_id].rsrp_db_filtered[target_eNB_offset]); //RSRP of target cell
       rsrq_t = binary_search_float(RSRQ_meas_mapping,nElem1,UE_rrc_inst[ctxt_pP->module_id].rsrq_db_filtered[target_eNB_offset]); //RSRQ of target cell
-
       LOG_D(RRC,"[UE %d] Frame %d: target eNB %d :rsrp_t: %ld rsrq_t: %ld rsrp_filtered: %f rsrq_filtered: %f \n",
             ctxt_pP->module_id,
             ctxt_pP->frame,
@@ -4317,7 +3934,6 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
             rsrq_t,
             UE_rrc_inst[ctxt_pP->module_id].rsrp_db_filtered[target_eNB_offset],
             UE_rrc_inst[ctxt_pP->module_id].rsrq_db_filtered[target_eNB_offset]);
-
       //  if (measFlag == 1) {
       targetCellId = UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId ;//get_adjacent_cell_id(ue_mod_idP,target_eNB_offset); //PhycellId of target cell
 
@@ -4339,7 +3955,7 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
                                ,NULL, NULL
 #endif
-                               );
+                              );
         AssertFatal (result == TRUE, "PDCP data request failed!\n");
         //LOG_D(RRC, "[UE %d] Frame %d Sending MeasReport (%d bytes) through DCCH%d to PDCP \n",ue_mod_idP,frameP, size, DCCH);
       }
@@ -4352,8 +3968,7 @@ void ue_meas_filtering( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
 
 // Measurement report triggering, described in 36.331 Section 5.5.4.1: called periodically
 //-----------------------------------------------------------------------------
-void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index )
-{
+void ue_measurement_report_triggering(protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index ) {
   uint8_t               i,j;
   LTE_Hysteresis_t     hys;
   LTE_TimeToTrigger_t  ttt_ms;
@@ -4393,65 +4008,65 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
                           -1]->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.choice.eventA3.a3_Offset;
 
               switch (UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][reportConfigId-1]->reportConfig.choice.reportConfigEUTRA.triggerType.choice.event.eventId.present) {
-              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1:
-                LOG_D(RRC,"[UE %d] Frame %d : A1 event: check if serving becomes better than threshold\n",
-                      ctxt_pP->module_id, ctxt_pP->frame);
-                break;
-
-              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2:
-                LOG_D(RRC,"[UE %d] Frame %d : A2 event, check if serving becomes worse than a threshold\n",
-                      ctxt_pP->module_id, ctxt_pP->frame);
-                break;
-
-              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3:
-                LOG_D(RRC,"[UE %d] Frame %d : A3 event: check if a neighboring cell becomes offset better than serving to trigger a measurement event \n",
-                      ctxt_pP->module_id, ctxt_pP->frame);
-
-                if ((check_trigger_meas_event(
-                       ctxt_pP->module_id,
-                       ctxt_pP->frame,
-                       eNB_index,
-                       i,j,ofn,ocn,hys,ofs,ocs,a3_offset,ttt_ms)) &&
-                    (UE_rrc_inst[ctxt_pP->module_id].Info[0].State >= RRC_CONNECTED) &&
-                    (UE_rrc_inst[ctxt_pP->module_id].Info[0].T304_active == 0 )      &&
-                    (UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag == 1)) {
-                  //trigger measurement reporting procedure (36.331, section 5.5.5)
-                  if (UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] == NULL) {
-                    UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] = malloc(sizeof(MEAS_REPORT_LIST));
-                  }
-
-                  UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j]->measId = UE_rrc_inst[ctxt_pP->module_id].MeasId[i][j]->measId;
-                  UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j]->numberOfReportsSent = 0;
-                  rrc_ue_generate_MeasurementReport(
-                    ctxt_pP,
-                    eNB_index);
-                  UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag = 1;
-                  LOG_I(RRC,"[UE %d] Frame %d: A3 event detected, state: %d \n",
-                        ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[0].State);
-                } else {
-                  if(UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] != NULL) {
-                    free(UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j]);
+                case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA1:
+                  LOG_D(RRC,"[UE %d] Frame %d : A1 event: check if serving becomes better than threshold\n",
+                        ctxt_pP->module_id, ctxt_pP->frame);
+                  break;
+
+                case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA2:
+                  LOG_D(RRC,"[UE %d] Frame %d : A2 event, check if serving becomes worse than a threshold\n",
+                        ctxt_pP->module_id, ctxt_pP->frame);
+                  break;
+
+                case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA3:
+                  LOG_D(RRC,"[UE %d] Frame %d : A3 event: check if a neighboring cell becomes offset better than serving to trigger a measurement event \n",
+                        ctxt_pP->module_id, ctxt_pP->frame);
+
+                  if ((check_trigger_meas_event(
+                         ctxt_pP->module_id,
+                         ctxt_pP->frame,
+                         eNB_index,
+                         i,j,ofn,ocn,hys,ofs,ocs,a3_offset,ttt_ms)) &&
+                      (UE_rrc_inst[ctxt_pP->module_id].Info[0].State >= RRC_CONNECTED) &&
+                      (UE_rrc_inst[ctxt_pP->module_id].Info[0].T304_active == 0 )      &&
+                      (UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag == 1)) {
+                    //trigger measurement reporting procedure (36.331, section 5.5.5)
+                    if (UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] == NULL) {
+                      UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] = malloc(sizeof(MEAS_REPORT_LIST));
+                    }
+
+                    UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j]->measId = UE_rrc_inst[ctxt_pP->module_id].MeasId[i][j]->measId;
+                    UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j]->numberOfReportsSent = 0;
+                    rrc_ue_generate_MeasurementReport(
+                      ctxt_pP,
+                      eNB_index);
+                    UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag = 1;
+                    LOG_I(RRC,"[UE %d] Frame %d: A3 event detected, state: %d \n",
+                          ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[0].State);
+                  } else {
+                    if(UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] != NULL) {
+                      free(UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j]);
+                    }
+
+                    UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] = NULL;
                   }
 
-                  UE_rrc_inst[ctxt_pP->module_id].measReportList[i][j] = NULL;
-                }
-
-                break;
+                  break;
 
-              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4:
-                LOG_D(RRC,"[UE %d] Frame %d : received an A4 event, neighbor becomes offset better than a threshold\n",
-                      ctxt_pP->module_id, ctxt_pP->frame);
-                break;
+                case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA4:
+                  LOG_D(RRC,"[UE %d] Frame %d : received an A4 event, neighbor becomes offset better than a threshold\n",
+                        ctxt_pP->module_id, ctxt_pP->frame);
+                  break;
 
-              case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5:
-                LOG_D(RRC,"[UE %d] Frame %d: received an A5 event, serving becomes worse than threshold 1 and neighbor becomes better than threshold 2\n",
-                      ctxt_pP->module_id, ctxt_pP->frame);
-                break;
+                case LTE_ReportConfigEUTRA__triggerType__event__eventId_PR_eventA5:
+                  LOG_D(RRC,"[UE %d] Frame %d: received an A5 event, serving becomes worse than threshold 1 and neighbor becomes better than threshold 2\n",
+                        ctxt_pP->module_id, ctxt_pP->frame);
+                  break;
 
-              default:
-                LOG_D(RRC,"Invalid ReportConfigEUTRA__triggerType__event__eventId: %d",
-                      UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][j]->reportConfig.choice.reportConfigEUTRA.triggerType.present);
-                break;
+                default:
+                  LOG_D(RRC,"Invalid ReportConfigEUTRA__triggerType__event__eventId: %d",
+                        UE_rrc_inst[ctxt_pP->module_id].ReportConfig[i][j]->reportConfig.choice.reportConfigEUTRA.triggerType.present);
+                  break;
               }
             }
           }
@@ -4464,7 +4079,7 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
 //check_trigger_meas_event(ue_mod_idP, frameP, eNB_index, i,j,ofn,ocn,hys,ofs,ocs,a3_offset,ttt_ms)
 //-----------------------------------------------------------------------------
 
- uint8_t check_trigger_meas_event(
+uint8_t check_trigger_meas_event(
   module_id_t     ue_mod_idP,
   frame_t         frameP,
   uint8_t         eNB_index,
@@ -4476,12 +4091,10 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
   LTE_Q_OffsetRange_t ofs,
   LTE_Q_OffsetRange_t ocs,
   long            a3_offset,
-  LTE_TimeToTrigger_t ttt )
-{
+  LTE_TimeToTrigger_t ttt ) {
   uint8_t eNB_offset;
   //  uint8_t currentCellIndex = frame_parms->Nid_cell;
   uint8_t tmp_offset;
-
   LOG_I(RRC,"[UE %d] ofn(%ld) ocn(%ld) hys(%ld) ofs(%ld) ocs(%ld) a3_offset(%ld) ttt(%ld) rssi %3.1f\n",
         ue_mod_idP,
         ofn,ocn,hys,ofs,ocs,a3_offset,ttt,
@@ -4511,8 +4124,8 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
         LOG_D(RRC,"[UE %d] Frame %d eNB %d: Handover triggered: targetCellId: %ld currentCellId: %d eNB_offset: %d rsrp source: %3.1f rsrp target: %3.1f\n",
               ue_mod_idP, frameP, eNB_index,
               UE_rrc_inst->HandoverInfoUe.targetCellId,ue_cnx_index,eNB_offset,
-	      get_RSRP(ue_mod_idP,0,0),
-	      get_RSRP(ue_mod_idP,0,1));
+              get_RSRP(ue_mod_idP,0,0),
+              get_RSRP(ue_mod_idP,0,1));
         UE_rrc_inst->Info[0].handoverTarget = eNB_offset;
         //LOG_D(RRC,"PHY_ID: %d \n",UE_rrc_inst->HandoverInfoUe.targetCellId);
         return 1;
@@ -4529,12 +4142,9 @@ void ue_measurement_report_triggering(protocol_ctxt_t* const ctxt_pP, const uint
 
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 //-----------------------------------------------------------------------------
-int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t* const Sdu, const uint8_t Sdu_len, const uint8_t mbsfn_sync_area )
-{
-
+int decode_MCCH_Message( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, const uint8_t *const Sdu, const uint8_t Sdu_len, const uint8_t mbsfn_sync_area ) {
   LTE_MCCH_Message_t               *mcch=NULL;
-  LTE_MBSFNAreaConfiguration_r9_t** mcch_message=&UE_rrc_inst[ctxt_pP->module_id].mcch_message[eNB_index];
-
+  LTE_MBSFNAreaConfiguration_r9_t **mcch_message=&UE_rrc_inst[ctxt_pP->module_id].mcch_message[eNB_index];
   asn_dec_rval_t                dec_rval;
 
   if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].MCCHStatus[mbsfn_sync_area] == 1) {
@@ -4555,12 +4165,12 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
             ctxt_pP->module_id,
             dec_rval.consumed);
       //free the memory
-      SEQUENCE_free(&asn_DEF_LTE_MCCH_Message, (void*)mcch, 1);
+      SEQUENCE_free(&asn_DEF_LTE_MCCH_Message, (void *)mcch, 1);
       return -1;
     }
 
     if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
-      xer_fprint(stdout, &asn_DEF_LTE_MCCH_Message, (void*)mcch);
+      xer_fprint(stdout, &asn_DEF_LTE_MCCH_Message, (void *)mcch);
     }
 
     if (mcch->message.present == LTE_MCCH_MessageType_PR_c1) {
@@ -4582,7 +4192,6 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
           eNB_index,
           ctxt_pP->frame,
           mbsfn_sync_area);
-
       }
     }
   }
@@ -4591,16 +4200,14 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
 }
 
 //-----------------------------------------------------------------------------
- void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_index, frame_t frameP, uint8_t mbsfn_sync_area )
-{
+void decode_MBSFNAreaConfiguration( module_id_t ue_mod_idP, uint8_t eNB_index, frame_t frameP, uint8_t mbsfn_sync_area ) {
   uint8_t i;
   protocol_ctxt_t               ctxt;
-
   LOG_I(RRC,"[UE %d] Frame %d : Number of MCH(s) in the MBSFN Sync Area %d  is %d\n",
         ue_mod_idP, frameP, mbsfn_sync_area, UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9.list.count);
 
-  // Configure commonSF_Alloc 
-  for(i=0; i< UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->commonSF_Alloc_r9.list.count;i++){
+  // Configure commonSF_Alloc
+  for(i=0; i< UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->commonSF_Alloc_r9.list.count; i++) {
     LOG_W(RRC,"[UE %d] Frame %d, commonSF_Alloc_r9: radioframeAllocationPeriod(%ldn),radioframeAllocationOffset(%ld), subframeAllocation(%x,%x,%x)\n",
           ue_mod_idP, frameP,
           UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->commonSF_Alloc_r9.list.array[i]->radioframeAllocationPeriod<<1,
@@ -4610,64 +4217,58 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
           UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->commonSF_Alloc_r9.list.array[i]->subframeAllocation.choice.oneFrame.buf[2]);
     UE_mac_inst[ue_mod_idP].commonSF_Alloc_r9_mbsfn_SubframeConfig[i] = UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->commonSF_Alloc_r9.list.array[i];
   }
+
   LOG_W(RRC,"[UE %d] Frame %d, commonSF_AllocPeriod_r9 %drf \n",
         ue_mod_idP, frameP,
         4<<UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->commonSF_AllocPeriod_r9);
-
   // Configure commonSF_AllocPeriod
   UE_mac_inst[ue_mod_idP].commonSF_AllocPeriod_r9 = UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->commonSF_AllocPeriod_r9;
-
   //  store to MAC/PHY necessary parameters for receiving MTCHs
-
   rrc_mac_config_req_ue(ue_mod_idP,0,eNB_index,
-			(LTE_RadioResourceConfigCommonSIB_t *)NULL,
-			(struct LTE_PhysicalConfigDedicated *)NULL,
+                        (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                        (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-			(LTE_SCellToAddMod_r10_t *)NULL,
-			//(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
-#endif
-			(LTE_MeasObjectToAddMod_t **)NULL,
-			(LTE_MAC_MainConfig_t *)NULL,
-			0,
-			(struct LTE_LogicalChannelConfig *)NULL,
-			(LTE_MeasGapConfig_t *)NULL,
-			(LTE_TDD_Config_t *)NULL,
-			(LTE_MobilityControlInfo_t *)NULL,
-			NULL,
-			NULL,
-			NULL,
-			NULL,
-			NULL,
-			(LTE_MBSFN_SubframeConfigList_t *)NULL
+                        (LTE_SCellToAddMod_r10_t *)NULL,
+                        //(struct PhysicalConfigDedicatedSCell_r10 *)NULL,
+#endif
+                        (LTE_MeasObjectToAddMod_t **)NULL,
+                        (LTE_MAC_MainConfig_t *)NULL,
+                        0,
+                        (struct LTE_LogicalChannelConfig *)NULL,
+                        (LTE_MeasGapConfig_t *)NULL,
+                        (LTE_TDD_Config_t *)NULL,
+                        (LTE_MobilityControlInfo_t *)NULL,
+                        NULL,
+                        NULL,
+                        NULL,
+                        NULL,
+                        NULL,
+                        (LTE_MBSFN_SubframeConfigList_t *)NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
-			,
-			0,
-			(LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-			&UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9
-
+                        ,
+                        0,
+                        (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                        &UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9
 #endif
 #ifdef CBA
-			,
-			0,
-			0
+                        ,
+                        0,
+                        0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-           ,
-           0,
-           NULL,
-           NULL
+                        ,
+                        0,
+                        NULL,
+                        NULL
 #endif
-			);
-
+                       );
   UE_rrc_inst[ue_mod_idP].Info[eNB_index].MCCHStatus[mbsfn_sync_area] = 1;
-
   PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_idP, ENB_FLAG_NO, UE_rrc_inst[ue_mod_idP].Info[eNB_index].rnti, frameP, 0,eNB_index);
-
   // Config Radio Bearer for MBMS user data (similar way to configure for eNB side in init_MBMS function)
   rrc_pdcp_config_asn1_req(&ctxt,
                            NULL, // SRB_ToAddModList
                            NULL, // DRB_ToAddModList
-                           (LTE_DRB_ToReleaseList_t*)NULL,
+                           (LTE_DRB_ToReleaseList_t *)NULL,
                            0, // security mode
                            NULL, // key rrc encryption
                            NULL, // key rrc integrity
@@ -4676,7 +4277,6 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
                            ,&(UE_rrc_inst[ue_mod_idP].mcch_message[eNB_index]->pmch_InfoList_r9)
 #endif
                            ,NULL);
-
   rrc_rlc_config_asn1_req(&ctxt,
                           NULL,// SRB_ToAddModList
                           NULL,// DRB_ToAddModList
@@ -4687,490 +4287,433 @@ int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB
 #endif
                          );
   // */
-
 }
 
 #endif // rel10
 
 #if defined(ENABLE_ITTI)
 //-----------------------------------------------------------------------------
-void *rrc_ue_task( void *args_p )
-{
+void *rrc_ue_task( void *args_p ) {
   MessageDef   *msg_p;
   instance_t    instance;
   unsigned int  ue_mod_id;
   int           result;
   SRB_INFO     *srb_info_p;
-
   protocol_ctxt_t  ctxt;
   itti_mark_task_ready (TASK_RRC_UE);
 
   while(1) {
     // Wait for a message
     itti_receive_msg (TASK_RRC_UE, &msg_p);
-
     instance = ITTI_MSG_INSTANCE (msg_p);
     ue_mod_id = UE_INSTANCE_TO_MODULE_ID(instance);
 
     switch (ITTI_MSG_ID(msg_p)) {
-    case TERMINATE_MESSAGE:
-      LOG_W(RRC, " *** Exiting RRC thread\n");
-      itti_exit_task ();
-      break;
+      case TERMINATE_MESSAGE:
+        LOG_W(RRC, " *** Exiting RRC thread\n");
+        itti_exit_task ();
+        break;
 
-    case MESSAGE_TEST:
-      break;
+      case MESSAGE_TEST:
+        break;
 
       /* MAC messages */
-    case RRC_MAC_IN_SYNC_IND:
-      LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
-            RRC_MAC_IN_SYNC_IND (msg_p).frame, RRC_MAC_IN_SYNC_IND (msg_p).enb_index);
-
-      UE_rrc_inst[ue_mod_id].Info[RRC_MAC_IN_SYNC_IND (msg_p).enb_index].N310_cnt = 0;
-
-      if (UE_rrc_inst[ue_mod_id].Info[RRC_MAC_IN_SYNC_IND (msg_p).enb_index].T310_active == 1) {
-        UE_rrc_inst[ue_mod_id].Info[RRC_MAC_IN_SYNC_IND (msg_p).enb_index].N311_cnt++;
-      }
-
-      break;
+      case RRC_MAC_IN_SYNC_IND:
+        LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
+              RRC_MAC_IN_SYNC_IND (msg_p).frame, RRC_MAC_IN_SYNC_IND (msg_p).enb_index);
+        UE_rrc_inst[ue_mod_id].Info[RRC_MAC_IN_SYNC_IND (msg_p).enb_index].N310_cnt = 0;
 
-    case RRC_MAC_OUT_OF_SYNC_IND:
-      LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
-            RRC_MAC_OUT_OF_SYNC_IND (msg_p).frame, RRC_MAC_OUT_OF_SYNC_IND (msg_p).enb_index);
-
-      UE_rrc_inst[ue_mod_id].Info[RRC_MAC_OUT_OF_SYNC_IND (msg_p).enb_index].N310_cnt ++;
-      break;
+        if (UE_rrc_inst[ue_mod_id].Info[RRC_MAC_IN_SYNC_IND (msg_p).enb_index].T310_active == 1) {
+          UE_rrc_inst[ue_mod_id].Info[RRC_MAC_IN_SYNC_IND (msg_p).enb_index].N311_cnt++;
+        }
 
-    case RRC_MAC_BCCH_DATA_IND:
-      LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
-            RRC_MAC_BCCH_DATA_IND (msg_p).frame, RRC_MAC_BCCH_DATA_IND (msg_p).enb_index);
-
-      //      PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, NOT_A_RNTI, RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0);
-      PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, NOT_A_RNTI, RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0,RRC_MAC_BCCH_DATA_IND (msg_p).enb_index);
-      decode_BCCH_DLSCH_Message (&ctxt,
-                                 RRC_MAC_BCCH_DATA_IND (msg_p).enb_index,
-                                 RRC_MAC_BCCH_DATA_IND (msg_p).sdu,
-                                 RRC_MAC_BCCH_DATA_IND (msg_p).sdu_size,
-                                 RRC_MAC_BCCH_DATA_IND (msg_p).rsrq,
-                                 RRC_MAC_BCCH_DATA_IND (msg_p).rsrp);
-      break;
+        break;
 
-    case RRC_MAC_CCCH_DATA_CNF:
-      LOG_D(RRC, "[UE %d] Received %s: eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
-            RRC_MAC_CCCH_DATA_CNF (msg_p).enb_index);
+      case RRC_MAC_OUT_OF_SYNC_IND:
+        LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
+              RRC_MAC_OUT_OF_SYNC_IND (msg_p).frame, RRC_MAC_OUT_OF_SYNC_IND (msg_p).enb_index);
+        UE_rrc_inst[ue_mod_id].Info[RRC_MAC_OUT_OF_SYNC_IND (msg_p).enb_index].N310_cnt ++;
+        break;
 
-      // reset the tx buffer to indicate RRC that ccch was successfully transmitted (for example if contention resolution succeeds)
-      UE_rrc_inst[ue_mod_id].Srb0[RRC_MAC_CCCH_DATA_CNF (msg_p).enb_index].Tx_buffer.payload_size = 0;
-      break;
+      case RRC_MAC_BCCH_DATA_IND:
+        LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
+              RRC_MAC_BCCH_DATA_IND (msg_p).frame, RRC_MAC_BCCH_DATA_IND (msg_p).enb_index);
+        //      PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, NOT_A_RNTI, RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0);
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, NOT_A_RNTI, RRC_MAC_BCCH_DATA_IND (msg_p).frame, 0,RRC_MAC_BCCH_DATA_IND (msg_p).enb_index);
+        decode_BCCH_DLSCH_Message (&ctxt,
+                                   RRC_MAC_BCCH_DATA_IND (msg_p).enb_index,
+                                   RRC_MAC_BCCH_DATA_IND (msg_p).sdu,
+                                   RRC_MAC_BCCH_DATA_IND (msg_p).sdu_size,
+                                   RRC_MAC_BCCH_DATA_IND (msg_p).rsrq,
+                                   RRC_MAC_BCCH_DATA_IND (msg_p).rsrp);
+        break;
 
-    case RRC_MAC_CCCH_DATA_IND:
-      LOG_D(RRC, "[UE %d] RNTI %x Received %s: frameP %d, eNB %d\n",
-            ue_mod_id,
-            RRC_MAC_CCCH_DATA_IND (msg_p).rnti,
-            ITTI_MSG_NAME (msg_p),
-            RRC_MAC_CCCH_DATA_IND (msg_p).frame,
-            RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
-
-      srb_info_p = &UE_rrc_inst[ue_mod_id].Srb0[RRC_MAC_CCCH_DATA_IND (msg_p).enb_index];
-
-      memcpy (srb_info_p->Rx_buffer.Payload, RRC_MAC_CCCH_DATA_IND (msg_p).sdu,
-              RRC_MAC_CCCH_DATA_IND (msg_p).sdu_size);
-      srb_info_p->Rx_buffer.payload_size = RRC_MAC_CCCH_DATA_IND (msg_p).sdu_size;
-      //      PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, RRC_MAC_CCCH_DATA_IND (msg_p).rnti, RRC_MAC_CCCH_DATA_IND (msg_p).frame, 0);
-      PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, RRC_MAC_CCCH_DATA_IND (msg_p).rnti, RRC_MAC_CCCH_DATA_IND (msg_p).frame, 0, RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
-      rrc_ue_decode_ccch (&ctxt,
-                          srb_info_p,
-                          RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
-      break;
+      case RRC_MAC_CCCH_DATA_CNF:
+        LOG_D(RRC, "[UE %d] Received %s: eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
+              RRC_MAC_CCCH_DATA_CNF (msg_p).enb_index);
+        // reset the tx buffer to indicate RRC that ccch was successfully transmitted (for example if contention resolution succeeds)
+        UE_rrc_inst[ue_mod_id].Srb0[RRC_MAC_CCCH_DATA_CNF (msg_p).enb_index].Tx_buffer.payload_size = 0;
+        break;
 
+      case RRC_MAC_CCCH_DATA_IND:
+        LOG_D(RRC, "[UE %d] RNTI %x Received %s: frameP %d, eNB %d\n",
+              ue_mod_id,
+              RRC_MAC_CCCH_DATA_IND (msg_p).rnti,
+              ITTI_MSG_NAME (msg_p),
+              RRC_MAC_CCCH_DATA_IND (msg_p).frame,
+              RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
+        srb_info_p = &UE_rrc_inst[ue_mod_id].Srb0[RRC_MAC_CCCH_DATA_IND (msg_p).enb_index];
+        memcpy (srb_info_p->Rx_buffer.Payload, RRC_MAC_CCCH_DATA_IND (msg_p).sdu,
+                RRC_MAC_CCCH_DATA_IND (msg_p).sdu_size);
+        srb_info_p->Rx_buffer.payload_size = RRC_MAC_CCCH_DATA_IND (msg_p).sdu_size;
+        //      PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, RRC_MAC_CCCH_DATA_IND (msg_p).rnti, RRC_MAC_CCCH_DATA_IND (msg_p).frame, 0);
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, RRC_MAC_CCCH_DATA_IND (msg_p).rnti, RRC_MAC_CCCH_DATA_IND (msg_p).frame, 0, RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
+        rrc_ue_decode_ccch (&ctxt,
+                            srb_info_p,
+                            RRC_MAC_CCCH_DATA_IND (msg_p).enb_index);
+        break;
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
 
-    case RRC_MAC_MCCH_DATA_IND:
-      LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d, mbsfn SA %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
-            RRC_MAC_MCCH_DATA_IND (msg_p).frame, RRC_MAC_MCCH_DATA_IND (msg_p).enb_index, RRC_MAC_MCCH_DATA_IND (msg_p).mbsfn_sync_area);
-
-      //PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, M_RNTI, RRC_MAC_MCCH_DATA_IND (msg_p).frame, 0);
-      PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, M_RNTI, RRC_MAC_MCCH_DATA_IND (msg_p).frame, 0,RRC_MAC_MCCH_DATA_IND (msg_p).enb_index);
-      decode_MCCH_Message (
-        &ctxt,
-        RRC_MAC_MCCH_DATA_IND (msg_p).enb_index,
-        RRC_MAC_MCCH_DATA_IND (msg_p).sdu,
-        RRC_MAC_MCCH_DATA_IND (msg_p).sdu_size,
-        RRC_MAC_MCCH_DATA_IND (msg_p).mbsfn_sync_area);
-      break;
-
-  /*  //TTN (for D2D)
-    case RRC_MAC_SL_DISCOVERY_DATA_IND:
-       LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
-             RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).frame, RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).enb_index);
-       PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, M_RNTI, RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).frame, 0,RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).enb_index);
-       //send to ProSeApp
-       break;
-*/
+      case RRC_MAC_MCCH_DATA_IND:
+        LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d, mbsfn SA %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
+              RRC_MAC_MCCH_DATA_IND (msg_p).frame, RRC_MAC_MCCH_DATA_IND (msg_p).enb_index, RRC_MAC_MCCH_DATA_IND (msg_p).mbsfn_sync_area);
+        //PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, M_RNTI, RRC_MAC_MCCH_DATA_IND (msg_p).frame, 0);
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, M_RNTI, RRC_MAC_MCCH_DATA_IND (msg_p).frame, 0,RRC_MAC_MCCH_DATA_IND (msg_p).enb_index);
+        decode_MCCH_Message (
+          &ctxt,
+          RRC_MAC_MCCH_DATA_IND (msg_p).enb_index,
+          RRC_MAC_MCCH_DATA_IND (msg_p).sdu,
+          RRC_MAC_MCCH_DATA_IND (msg_p).sdu_size,
+          RRC_MAC_MCCH_DATA_IND (msg_p).mbsfn_sync_area);
+        break;
+        /*  //TTN (for D2D)
+          case RRC_MAC_SL_DISCOVERY_DATA_IND:
+             LOG_D(RRC, "[UE %d] Received %s: frameP %d, eNB %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p),
+                   RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).frame, RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).enb_index);
+             PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, M_RNTI, RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).frame, 0,RRC_MAC_SL_DISCOVERY_DATA_IND (msg_p).enb_index);
+             //send to ProSeApp
+             break;
+        */
 # endif
 
       /* PDCP messages */
-    case RRC_DCCH_DATA_IND:
-      PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, RRC_DCCH_DATA_IND (msg_p).module_id, ENB_FLAG_NO, RRC_DCCH_DATA_IND (msg_p).rnti, RRC_DCCH_DATA_IND (msg_p).frame, 0,RRC_DCCH_DATA_IND (msg_p).eNB_index);
-      LOG_D(RRC, "[UE %d] Received %s: frameP %d, DCCH %d, eNB %d\n",
-            RRC_DCCH_DATA_IND (msg_p).module_id,
-            ITTI_MSG_NAME (msg_p),
-            RRC_DCCH_DATA_IND (msg_p).frame,
-            RRC_DCCH_DATA_IND (msg_p).dcch_index,
-            RRC_DCCH_DATA_IND (msg_p).eNB_index);
-
-      LOG_D(RRC, PROTOCOL_RRC_CTXT_UE_FMT"Received %s DCCH %d, eNB %d\n",
-            PROTOCOL_RRC_CTXT_UE_ARGS(&ctxt),
-            ITTI_MSG_NAME (msg_p),
-            RRC_DCCH_DATA_IND (msg_p).dcch_index,
-            RRC_DCCH_DATA_IND (msg_p).eNB_index);
-      rrc_ue_decode_dcch (
-        &ctxt,
-        RRC_DCCH_DATA_IND (msg_p).dcch_index,
-        RRC_DCCH_DATA_IND (msg_p).sdu_p,
-        RRC_DCCH_DATA_IND (msg_p).eNB_index);
-      // Message buffer has been processed, free it now.
-      result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), RRC_DCCH_DATA_IND (msg_p).sdu_p);
-      AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
-      break;
-
+      case RRC_DCCH_DATA_IND:
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, RRC_DCCH_DATA_IND (msg_p).module_id, ENB_FLAG_NO, RRC_DCCH_DATA_IND (msg_p).rnti, RRC_DCCH_DATA_IND (msg_p).frame, 0,RRC_DCCH_DATA_IND (msg_p).eNB_index);
+        LOG_D(RRC, "[UE %d] Received %s: frameP %d, DCCH %d, eNB %d\n",
+              RRC_DCCH_DATA_IND (msg_p).module_id,
+              ITTI_MSG_NAME (msg_p),
+              RRC_DCCH_DATA_IND (msg_p).frame,
+              RRC_DCCH_DATA_IND (msg_p).dcch_index,
+              RRC_DCCH_DATA_IND (msg_p).eNB_index);
+        LOG_D(RRC, PROTOCOL_RRC_CTXT_UE_FMT"Received %s DCCH %d, eNB %d\n",
+              PROTOCOL_RRC_CTXT_UE_ARGS(&ctxt),
+              ITTI_MSG_NAME (msg_p),
+              RRC_DCCH_DATA_IND (msg_p).dcch_index,
+              RRC_DCCH_DATA_IND (msg_p).eNB_index);
+        rrc_ue_decode_dcch (
+          &ctxt,
+          RRC_DCCH_DATA_IND (msg_p).dcch_index,
+          RRC_DCCH_DATA_IND (msg_p).sdu_p,
+          RRC_DCCH_DATA_IND (msg_p).eNB_index);
+        // Message buffer has been processed, free it now.
+        result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), RRC_DCCH_DATA_IND (msg_p).sdu_p);
+        AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
+        break;
 # if defined(ENABLE_USE_MME)
 
-    case NAS_KENB_REFRESH_REQ:
-        memcpy((void*)UE_rrc_inst[ue_mod_id].kenb, (void*)NAS_KENB_REFRESH_REQ(msg_p).kenb, sizeof(UE_rrc_inst[ue_mod_id].kenb));
-
+      case NAS_KENB_REFRESH_REQ:
+        memcpy((void *)UE_rrc_inst[ue_mod_id].kenb, (void *)NAS_KENB_REFRESH_REQ(msg_p).kenb, sizeof(UE_rrc_inst[ue_mod_id].kenb));
         LOG_D(RRC, "[UE %d] Received %s: refreshed RRC::KeNB = "
-            "%02x%02x%02x%02x"
-            "%02x%02x%02x%02x"
-            "%02x%02x%02x%02x"
-            "%02x%02x%02x%02x"
-            "%02x%02x%02x%02x"
-            "%02x%02x%02x%02x"
-            "%02x%02x%02x%02x"
-            "%02x%02x%02x%02x\n",
-            ue_mod_id, ITTI_MSG_NAME (msg_p),
-            UE_rrc_inst[ue_mod_id].kenb[0],  UE_rrc_inst[ue_mod_id].kenb[1],  UE_rrc_inst[ue_mod_id].kenb[2],  UE_rrc_inst[ue_mod_id].kenb[3],
-            UE_rrc_inst[ue_mod_id].kenb[4],  UE_rrc_inst[ue_mod_id].kenb[5],  UE_rrc_inst[ue_mod_id].kenb[6],  UE_rrc_inst[ue_mod_id].kenb[7],
-            UE_rrc_inst[ue_mod_id].kenb[8],  UE_rrc_inst[ue_mod_id].kenb[9],  UE_rrc_inst[ue_mod_id].kenb[10], UE_rrc_inst[ue_mod_id].kenb[11],
-            UE_rrc_inst[ue_mod_id].kenb[12], UE_rrc_inst[ue_mod_id].kenb[13], UE_rrc_inst[ue_mod_id].kenb[14], UE_rrc_inst[ue_mod_id].kenb[15],
-            UE_rrc_inst[ue_mod_id].kenb[16], UE_rrc_inst[ue_mod_id].kenb[17], UE_rrc_inst[ue_mod_id].kenb[18], UE_rrc_inst[ue_mod_id].kenb[19],
-            UE_rrc_inst[ue_mod_id].kenb[20], UE_rrc_inst[ue_mod_id].kenb[21], UE_rrc_inst[ue_mod_id].kenb[22], UE_rrc_inst[ue_mod_id].kenb[23],
-            UE_rrc_inst[ue_mod_id].kenb[24], UE_rrc_inst[ue_mod_id].kenb[25], UE_rrc_inst[ue_mod_id].kenb[26], UE_rrc_inst[ue_mod_id].kenb[27],
-            UE_rrc_inst[ue_mod_id].kenb[28], UE_rrc_inst[ue_mod_id].kenb[29], UE_rrc_inst[ue_mod_id].kenb[30], UE_rrc_inst[ue_mod_id].kenb[31]);
-
-      break;
+              "%02x%02x%02x%02x"
+              "%02x%02x%02x%02x"
+              "%02x%02x%02x%02x"
+              "%02x%02x%02x%02x"
+              "%02x%02x%02x%02x"
+              "%02x%02x%02x%02x"
+              "%02x%02x%02x%02x"
+              "%02x%02x%02x%02x\n",
+              ue_mod_id, ITTI_MSG_NAME (msg_p),
+              UE_rrc_inst[ue_mod_id].kenb[0],  UE_rrc_inst[ue_mod_id].kenb[1],  UE_rrc_inst[ue_mod_id].kenb[2],  UE_rrc_inst[ue_mod_id].kenb[3],
+              UE_rrc_inst[ue_mod_id].kenb[4],  UE_rrc_inst[ue_mod_id].kenb[5],  UE_rrc_inst[ue_mod_id].kenb[6],  UE_rrc_inst[ue_mod_id].kenb[7],
+              UE_rrc_inst[ue_mod_id].kenb[8],  UE_rrc_inst[ue_mod_id].kenb[9],  UE_rrc_inst[ue_mod_id].kenb[10], UE_rrc_inst[ue_mod_id].kenb[11],
+              UE_rrc_inst[ue_mod_id].kenb[12], UE_rrc_inst[ue_mod_id].kenb[13], UE_rrc_inst[ue_mod_id].kenb[14], UE_rrc_inst[ue_mod_id].kenb[15],
+              UE_rrc_inst[ue_mod_id].kenb[16], UE_rrc_inst[ue_mod_id].kenb[17], UE_rrc_inst[ue_mod_id].kenb[18], UE_rrc_inst[ue_mod_id].kenb[19],
+              UE_rrc_inst[ue_mod_id].kenb[20], UE_rrc_inst[ue_mod_id].kenb[21], UE_rrc_inst[ue_mod_id].kenb[22], UE_rrc_inst[ue_mod_id].kenb[23],
+              UE_rrc_inst[ue_mod_id].kenb[24], UE_rrc_inst[ue_mod_id].kenb[25], UE_rrc_inst[ue_mod_id].kenb[26], UE_rrc_inst[ue_mod_id].kenb[27],
+              UE_rrc_inst[ue_mod_id].kenb[28], UE_rrc_inst[ue_mod_id].kenb[29], UE_rrc_inst[ue_mod_id].kenb[30], UE_rrc_inst[ue_mod_id].kenb[31]);
+        break;
 
       /* NAS messages */
-    case NAS_CELL_SELECTION_REQ:
-
-      LOG_D(RRC, "[UE %d] Received %s: state %d, plmnID (%d%d%d.%d%d%d), rat %x\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id),
-            NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit1,
-            NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit2,
-            NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit3,
-            NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit1,
-            NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit2,
-            NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit3,
-            NAS_CELL_SELECTION_REQ (msg_p).rat);
-
-      if (rrc_get_state(ue_mod_id) == RRC_STATE_INACTIVE) {
-        // have a look at MAC/main.c void dl_phy_sync_success(...)
-        openair_rrc_ue_init(ue_mod_id,0);
-      }
+      case NAS_CELL_SELECTION_REQ:
+        LOG_D(RRC, "[UE %d] Received %s: state %d, plmnID (%d%d%d.%d%d%d), rat %x\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id),
+              NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit1,
+              NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit2,
+              NAS_CELL_SELECTION_REQ (msg_p).plmnID.MCCdigit3,
+              NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit1,
+              NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit2,
+              NAS_CELL_SELECTION_REQ (msg_p).plmnID.MNCdigit3,
+              NAS_CELL_SELECTION_REQ (msg_p).rat);
+
+        if (rrc_get_state(ue_mod_id) == RRC_STATE_INACTIVE) {
+          // have a look at MAC/main.c void dl_phy_sync_success(...)
+          openair_rrc_ue_init(ue_mod_id,0);
+        }
 
-      /* Save cell selection criterion */
-      {
-        UE_rrc_inst[ue_mod_id].plmnID = NAS_CELL_SELECTION_REQ (msg_p).plmnID;
-        UE_rrc_inst[ue_mod_id].rat = NAS_CELL_SELECTION_REQ (msg_p).rat;
-        LOG_D(RRC, "[UE %d] Save cell selection criterion MCC %X%X%X MNC %X%X%X\n",
-              ue_mod_id,
-              UE_rrc_inst[ue_mod_id].plmnID.MCCdigit1,
-              UE_rrc_inst[ue_mod_id].plmnID.MCCdigit2,
-              UE_rrc_inst[ue_mod_id].plmnID.MCCdigit3,
-              UE_rrc_inst[ue_mod_id].plmnID.MNCdigit1,
-              UE_rrc_inst[ue_mod_id].plmnID.MNCdigit2,
-              UE_rrc_inst[ue_mod_id].plmnID.MNCdigit3);
+        /* Save cell selection criterion */
+        {
+          UE_rrc_inst[ue_mod_id].plmnID = NAS_CELL_SELECTION_REQ (msg_p).plmnID;
+          UE_rrc_inst[ue_mod_id].rat = NAS_CELL_SELECTION_REQ (msg_p).rat;
+          LOG_D(RRC, "[UE %d] Save cell selection criterion MCC %X%X%X MNC %X%X%X\n",
+                ue_mod_id,
+                UE_rrc_inst[ue_mod_id].plmnID.MCCdigit1,
+                UE_rrc_inst[ue_mod_id].plmnID.MCCdigit2,
+                UE_rrc_inst[ue_mod_id].plmnID.MCCdigit3,
+                UE_rrc_inst[ue_mod_id].plmnID.MNCdigit1,
+                UE_rrc_inst[ue_mod_id].plmnID.MNCdigit2,
+                UE_rrc_inst[ue_mod_id].plmnID.MNCdigit3);
+        }
 
-      }
+        switch (rrc_get_state(ue_mod_id)) {
+          case RRC_STATE_INACTIVE: {
+            rrc_set_state (ue_mod_id, RRC_STATE_IDLE);
+            /* Fall through to next case */
+          }
 
-      switch (rrc_get_state(ue_mod_id)) {
-      case RRC_STATE_INACTIVE: {
-        /* Need to first activate lower layers */
-        MessageDef *message_p;
+          case RRC_STATE_IDLE: {
+            /* Ask to layer 1 to find a cell matching the criterion */
+            MessageDef *message_p;
+            message_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_CELL_REQ);
+            PHY_FIND_CELL_REQ (message_p).earfcn_start = 1;
+            PHY_FIND_CELL_REQ (message_p).earfcn_end = 1;
+            itti_send_msg_to_task(TASK_PHY_UE, UE_MODULE_ID_TO_INSTANCE(ue_mod_id), message_p);
+            rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_SEARCHING);
+            break;
+          }
 
-        message_p = itti_alloc_new_message(TASK_RRC_UE, ACTIVATE_MESSAGE);
+          case RRC_STATE_CONNECTED:
+            /* should not happen */
+            LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
+            break;
 
-        itti_send_msg_to_task(TASK_L2L1, UE_MODULE_ID_TO_INSTANCE(ue_mod_id), message_p);
+          default:
+            LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
+            break;
+        }
 
-        rrc_set_state (ue_mod_id, RRC_STATE_IDLE);
-        /* Fall through to next case */
-      }
+        break;
 
-      case RRC_STATE_IDLE: {
-        /* Ask to layer 1 to find a cell matching the criterion */
-        MessageDef *message_p;
+      case NAS_CONN_ESTABLI_REQ:
+        LOG_D(RRC, "[UE %d] Received %s: cause %d, type %d, s_tmsi (mme code %"PRIu8", m-tmsi %"PRIu32"), plmnID (%d%d%d.%d%d%d)\n", ue_mod_id, ITTI_MSG_NAME (msg_p), NAS_CONN_ESTABLI_REQ (msg_p).cause,
+              NAS_CONN_ESTABLI_REQ (msg_p).type,
+              NAS_CONN_ESTABLI_REQ (msg_p).s_tmsi.MMEcode,
+              NAS_CONN_ESTABLI_REQ (msg_p).s_tmsi.m_tmsi,
+              NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit1,
+              NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit2,
+              NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit3,
+              NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit1,
+              NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit2,
+              NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit3);
+        //PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, NOT_A_RNTI, 0, 0);
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, NOT_A_RNTI, 0, 0, 0);
+        UE_rrc_inst[ue_mod_id].initialNasMsg = NAS_CONN_ESTABLI_REQ (msg_p).initialNasMsg;
+
+        switch (rrc_get_state(ue_mod_id)) {
+          case RRC_STATE_IDLE: {
+            if (rrc_get_sub_state(ue_mod_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE) {
+              rrc_ue_generate_RRCConnectionRequest(&ctxt, 0);
+              LOG_D(RRC, "not sending connection request\n");
+              rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_CONNECTING);
+            }
 
-        message_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_CELL_REQ);
-
-        PHY_FIND_CELL_REQ (message_p).earfcn_start = 1;
-        PHY_FIND_CELL_REQ (message_p).earfcn_end = 1;
-
-        itti_send_msg_to_task(TASK_PHY_UE, UE_MODULE_ID_TO_INSTANCE(ue_mod_id), message_p);
-        rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_SEARCHING);
-
-        break;
-      }
-
-      case RRC_STATE_CONNECTED:
-        /* should not happen */
-        LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
-        break;
-
-      default:
-        LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
-        break;
-      }
+            break;
+          }
 
-      break;
+          case RRC_STATE_INACTIVE:
+          case RRC_STATE_CONNECTED:
+            /* should not happen */
+            LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
+            break;
 
-    case NAS_CONN_ESTABLI_REQ:
-      LOG_D(RRC, "[UE %d] Received %s: cause %d, type %d, s_tmsi (mme code %"PRIu8", m-tmsi %"PRIu32"), plmnID (%d%d%d.%d%d%d)\n", ue_mod_id, ITTI_MSG_NAME (msg_p), NAS_CONN_ESTABLI_REQ (msg_p).cause,
-            NAS_CONN_ESTABLI_REQ (msg_p).type,
-            NAS_CONN_ESTABLI_REQ (msg_p).s_tmsi.MMEcode,
-            NAS_CONN_ESTABLI_REQ (msg_p).s_tmsi.m_tmsi,
-            NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit1,
-            NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit2,
-            NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MCCdigit3,
-            NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit1,
-            NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit2,
-            NAS_CONN_ESTABLI_REQ (msg_p).plmnID.MNCdigit3);
-
-      //PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, ENB_FLAG_NO, NOT_A_RNTI, 0, 0);
-      PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, NOT_A_RNTI, 0, 0, 0);
-
-      UE_rrc_inst[ue_mod_id].initialNasMsg = NAS_CONN_ESTABLI_REQ (msg_p).initialNasMsg;
-
-      switch (rrc_get_state(ue_mod_id)) {
-      case RRC_STATE_IDLE: {
-        if (rrc_get_sub_state(ue_mod_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE) {
-          rrc_ue_generate_RRCConnectionRequest(&ctxt, 0);
-          LOG_D(RRC, "not sending connection request\n");
-
-          rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_CONNECTING);
+          default:
+            LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
+            break;
         }
 
         break;
-      }
-
-      case RRC_STATE_INACTIVE:
-      case RRC_STATE_CONNECTED:
-        /* should not happen */
-        LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
-        break;
-
-      default:
-        LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
-        break;
-      }
 
-      break;
-
-    case NAS_UPLINK_DATA_REQ: {
-      uint32_t length;
-      uint8_t *buffer;
-
-      LOG_D(RRC, "[UE %d] Received %s: UEid %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), NAS_UPLINK_DATA_REQ (msg_p).UEid);
-
-      /* Create message for PDCP (ULInformationTransfer_t) */
-      length = do_ULInformationTransfer(&buffer, NAS_UPLINK_DATA_REQ (msg_p).nasMsg.length, NAS_UPLINK_DATA_REQ (msg_p).nasMsg.data);
-
-      /* Transfer data to PDCP */
-      PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, UE_rrc_inst[ue_mod_id].Info[0].rnti, 0, 0,0);
-
-      // check if SRB2 is created, if yes request data_req on DCCH1 (SRB2)
-      if(UE_rrc_inst[ue_mod_id].SRB2_config[0] == NULL)
-      {
+      case NAS_UPLINK_DATA_REQ: {
+        uint32_t length;
+        uint8_t *buffer;
+        LOG_D(RRC, "[UE %d] Received %s: UEid %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), NAS_UPLINK_DATA_REQ (msg_p).UEid);
+        /* Create message for PDCP (ULInformationTransfer_t) */
+        length = do_ULInformationTransfer(&buffer, NAS_UPLINK_DATA_REQ (msg_p).nasMsg.length, NAS_UPLINK_DATA_REQ (msg_p).nasMsg.data);
+        /* Transfer data to PDCP */
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, UE_rrc_inst[ue_mod_id].Info[0].rnti, 0, 0,0);
+
+        // check if SRB2 is created, if yes request data_req on DCCH1 (SRB2)
+        if(UE_rrc_inst[ue_mod_id].SRB2_config[0] == NULL) {
           rrc_data_req_ue (&ctxt,
-                  DCCH,
-                  rrc_mui++,
-                  SDU_CONFIRM_NO,
-                  length, buffer,
-                  PDCP_TRANSMISSION_MODE_CONTROL);
-      }
-      else
-      {
+                           DCCH,
+                           rrc_mui++,
+                           SDU_CONFIRM_NO,
+                           length, buffer,
+                           PDCP_TRANSMISSION_MODE_CONTROL);
+        } else {
           rrc_data_req_ue (&ctxt,
-                  DCCH1,
-                  rrc_mui++,
-                  SDU_CONFIRM_NO,
-                  length, buffer,
-                  PDCP_TRANSMISSION_MODE_CONTROL);
+                           DCCH1,
+                           rrc_mui++,
+                           SDU_CONFIRM_NO,
+                           length, buffer,
+                           PDCP_TRANSMISSION_MODE_CONTROL);
+        }
+
+        break;
       }
-      break;
-    }
 
 # endif
-
 # if ENABLE_RAL
 
-    case RRC_RAL_SCAN_REQ:
-      LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id,ITTI_MSG_NAME (msg_p) );
-
-      switch (rrc_get_state(ue_mod_id)) {
-      case RRC_STATE_INACTIVE: {
-        /* Need to first activate lower layers */
-        MessageDef *message_p;
-
-        message_p = itti_alloc_new_message(TASK_RRC_UE, ACTIVATE_MESSAGE);
-
-        itti_send_msg_to_task(TASK_L2L1, instance, message_p);
-
-        rrc_set_state (ue_mod_id, RRC_STATE_IDLE);
-        /* Fall through to next case */
-      }
+      case RRC_RAL_SCAN_REQ:
+        LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id,ITTI_MSG_NAME (msg_p) );
 
-      case RRC_STATE_IDLE: {
-        if (rrc_get_sub_state(ue_mod_id) != RRC_SUB_STATE_IDLE_SEARCHING) {
-          /* Ask to layer 1 to find a cell matching the criterion */
-          MessageDef *message_p;
+        switch (rrc_get_state(ue_mod_id)) {
+          case RRC_STATE_INACTIVE: {
+            rrc_set_state (ue_mod_id, RRC_STATE_IDLE);
+            /* Fall through to next case */
+          }
 
-          message_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_CELL_REQ);
+          case RRC_STATE_IDLE: {
+            if (rrc_get_sub_state(ue_mod_id) != RRC_SUB_STATE_IDLE_SEARCHING) {
+              /* Ask to layer 1 to find a cell matching the criterion */
+              MessageDef *message_p;
+              message_p = itti_alloc_new_message(TASK_RRC_UE, PHY_FIND_CELL_REQ);
+              rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_SEARCHING);
+              PHY_FIND_CELL_REQ (message_p).transaction_id = RRC_RAL_SCAN_REQ (msg_p).transaction_id;
+              PHY_FIND_CELL_REQ (message_p).earfcn_start   = 1;
+              PHY_FIND_CELL_REQ (message_p).earfcn_end     = 1; //44
+              itti_send_msg_to_task(TASK_PHY_UE, instance, message_p);
+            }
 
-          rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_SEARCHING);
+            break;
+          }
 
-          PHY_FIND_CELL_REQ (message_p).transaction_id = RRC_RAL_SCAN_REQ (msg_p).transaction_id;
-          PHY_FIND_CELL_REQ (message_p).earfcn_start   = 1;
-          PHY_FIND_CELL_REQ (message_p).earfcn_end     = 1; //44
+          case RRC_STATE_CONNECTED:
+            /* should not happen */
+            LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
+            break;
 
-          itti_send_msg_to_task(TASK_PHY_UE, instance, message_p);
+          default:
+            LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
+            break;
         }
 
         break;
-      }
-
-      case RRC_STATE_CONNECTED:
-        /* should not happen */
-        LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
-        break;
-
-      default:
-        LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
-        break;
-      }
-
-      break;
-
-    case PHY_FIND_CELL_IND:
-      LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
-
-      switch (rrc_get_state(ue_mod_id)) {
-      case RRC_STATE_IDLE:
-        switch (rrc_get_sub_state(ue_mod_id)) {
-        case RRC_SUB_STATE_IDLE_SEARCHING: {
-          MessageDef *message_p;
-          int         i;
 
-          message_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_SCAN_CONF);
-
-          RRC_RAL_SCAN_CONF (message_p).transaction_id = PHY_FIND_CELL_IND(msg_p).transaction_id;
-          RRC_RAL_SCAN_CONF (message_p).num_scan_resp  = PHY_FIND_CELL_IND(msg_p).cell_nb;
+      case PHY_FIND_CELL_IND:
+        LOG_D(RRC, "[UE %d] Received %s: state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
+
+        switch (rrc_get_state(ue_mod_id)) {
+          case RRC_STATE_IDLE:
+            switch (rrc_get_sub_state(ue_mod_id)) {
+              case RRC_SUB_STATE_IDLE_SEARCHING: {
+                MessageDef *message_p;
+                int         i;
+                message_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_SCAN_CONF);
+                RRC_RAL_SCAN_CONF (message_p).transaction_id = PHY_FIND_CELL_IND(msg_p).transaction_id;
+                RRC_RAL_SCAN_CONF (message_p).num_scan_resp  = PHY_FIND_CELL_IND(msg_p).cell_nb;
+
+                for (i = 0 ; i < PHY_FIND_CELL_IND(msg_p).cell_nb; i++) {
+                  // TO DO
+                  memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].link_addr,  0, sizeof(ral_link_addr_t));
+                  // TO DO
+                  memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].network_id, 0, sizeof(ral_network_id_t));
+                  RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength.choice     = RAL_SIG_STRENGTH_CHOICE_DBM;
+                  RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength._union.dbm = PHY_FIND_CELL_IND(msg_p).cells[i].rsrp;
+                }
 
-          for (i = 0 ; i < PHY_FIND_CELL_IND(msg_p).cell_nb; i++) {
-            // TO DO
-            memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].link_addr,  0, sizeof(ral_link_addr_t));
-            // TO DO
-            memset(&RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].network_id, 0, sizeof(ral_network_id_t));
+                rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE);
+                itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
+                break;
+              }
 
-            RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength.choice     = RAL_SIG_STRENGTH_CHOICE_DBM;
-            RRC_RAL_SCAN_CONF (message_p).link_scan_resp[i].sig_strength._union.dbm = PHY_FIND_CELL_IND(msg_p).cells[i].rsrp;
-          }
+              default:
+                LOG_E(RRC, "[UE %d] Invalid RRC state %d substate %d\n",
+                      ue_mod_id,
+                      rrc_get_state(ue_mod_id),
+                      rrc_get_sub_state(ue_mod_id));
+            }
 
-          rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE);
+            break;
 
-          itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
-          break;
-        }
+          case RRC_STATE_INACTIVE:
+          case RRC_STATE_CONNECTED:
+            /* should not happen */
+            LOG_E(RRC, "[UE %d] indication %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
+            break;
 
-        default:
-          LOG_E(RRC, "[UE %d] Invalid RRC state %d substate %d\n",
-                ue_mod_id,
-                rrc_get_state(ue_mod_id),
-                rrc_get_sub_state(ue_mod_id));
+          default:
+            LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
+            break;
         }
 
-        break;
-
-      case RRC_STATE_INACTIVE:
-      case RRC_STATE_CONNECTED:
-        /* should not happen */
-        LOG_E(RRC, "[UE %d] indication %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
-        break;
+        break; // PHY_FIND_CELL_IND
 
-      default:
-        LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
+      case PHY_MEAS_REPORT_IND: {
+        LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
+        MessageDef *message_p;
+        message_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_MEASUREMENT_REPORT_IND);
+        memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold,
+               &PHY_MEAS_REPORT_IND(msg_p).threshold,
+               sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold));
+        memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param,
+               &PHY_MEAS_REPORT_IND(msg_p).link_param,
+               sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param));
+        LOG_D(RRC, "[UE %d] PHY_MEAS_REPORT_IN: sending msg %s to %s \n", ue_mod_id, "RRC_RAL_MEASUREMENT_REPORT_IND", "TASK_RAL_UE");
+        itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
         break;
       }
 
-      break; // PHY_FIND_CELL_IND
-
-    case PHY_MEAS_REPORT_IND: {
-      LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
-      MessageDef *message_p;
-      message_p = itti_alloc_new_message(TASK_RRC_UE, RRC_RAL_MEASUREMENT_REPORT_IND);
-
-      memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold,
-             &PHY_MEAS_REPORT_IND(msg_p).threshold,
-             sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).threshold));
+      case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
+        LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
+        rrc_ue_ral_handle_configure_threshold_request(ue_mod_id, msg_p);
+        break;
 
-      memcpy(&RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param,
-             &PHY_MEAS_REPORT_IND(msg_p).link_param,
-             sizeof(RRC_RAL_MEASUREMENT_REPORT_IND (message_p).link_param));
+      case RRC_RAL_CONNECTION_ESTABLISHMENT_REQ:
+        LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
 
-      LOG_D(RRC, "[UE %d] PHY_MEAS_REPORT_IN: sending msg %s to %s \n", ue_mod_id, "RRC_RAL_MEASUREMENT_REPORT_IND", "TASK_RAL_UE");
-      itti_send_msg_to_task(TASK_RAL_UE, instance, message_p);
-      break;
-    }
+        switch (rrc_get_state(ue_mod_id)) {
+          case RRC_STATE_IDLE: {
+            if (rrc_get_sub_state(ue_mod_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE) {
+              PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, UE_rrc_inst[ue_mod_id].Info[0].rnti, 0, 0, 0);
+              rrc_ue_generate_RRCConnectionRequest(&ctxt, 0);
+              LOG_D(RRC, "not sending connection request\n");
+              rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_CONNECTING);
+            }
 
-    case RRC_RAL_CONFIGURE_THRESHOLD_REQ:
-      LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
-      rrc_ue_ral_handle_configure_threshold_request(ue_mod_id, msg_p);
-      break;
+            break;
+          }
 
-    case RRC_RAL_CONNECTION_ESTABLISHMENT_REQ:
-      LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
+          case RRC_STATE_INACTIVE:
+          case RRC_STATE_CONNECTED:
+            /* should not happen */
+            LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
+            break;
 
-      switch (rrc_get_state(ue_mod_id)) {
-      case RRC_STATE_IDLE: {
-        if (rrc_get_sub_state(ue_mod_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE) {
-          PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, ue_mod_id, ENB_FLAG_NO, UE_rrc_inst[ue_mod_id].Info[0].rnti, 0, 0, 0);
-          rrc_ue_generate_RRCConnectionRequest(&ctxt, 0);
-          LOG_D(RRC, "not sending connection request\n");
-          rrc_set_sub_state (ue_mod_id, RRC_SUB_STATE_IDLE_CONNECTING);
+          default:
+            LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
+            break;
         }
 
         break;
-      }
 
-      case RRC_STATE_INACTIVE:
-      case RRC_STATE_CONNECTED:
-        /* should not happen */
-        LOG_E(RRC, "[UE %d] request %s in RRC state %d\n", ue_mod_id, ITTI_MSG_NAME (msg_p), rrc_get_state(ue_mod_id));
+      case RRC_RAL_CONNECTION_RELEASE_REQ:
+        LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
         break;
+#endif
 
       default:
-        LOG_E(RRC, "[UE %d] Invalid RRC state %d\n", ue_mod_id, rrc_get_state(ue_mod_id));
+        LOG_E(RRC, "[UE %d] Received unexpected message %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
         break;
-      }
-
-      break;
-
-    case RRC_RAL_CONNECTION_RELEASE_REQ:
-      LOG_D(RRC, "[UE %d] Received %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
-      break;
-#endif
-
-    default:
-      LOG_E(RRC, "[UE %d] Received unexpected message %s\n", ue_mod_id, ITTI_MSG_NAME (msg_p));
-      break;
     }
 
     result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), msg_p);
@@ -5186,28 +4729,24 @@ void *rrc_ue_task( void *args_p )
 /*------------------------------------------------------------------------------*/
 void
 openair_rrc_top_init_ue(
-			int eMBMS_active,
-			char* uecap_xer,
-			uint8_t cba_group_active,
-			uint8_t HO_active
+  int eMBMS_active,
+  char *uecap_xer,
+  uint8_t cba_group_active,
+  uint8_t HO_active
 )
 //-----------------------------------------------------------------------------
 {
-
   module_id_t         module_id;
   OAI_UECapability_t *UECap     = NULL;
   int                 CC_id;
-
   /* for no gcc warnings */
   (void)CC_id;
-
   LOG_D(RRC, "[OPENAIR][INIT] Init function start: NB_UE_INST=%d, NB_eNB_INST=%d\n", NB_UE_INST, NB_eNB_INST);
 
   if (NB_UE_INST > 0) {
-    UE_rrc_inst = (UE_RRC_INST*) malloc16(NB_UE_INST*sizeof(UE_RRC_INST));
+    UE_rrc_inst = (UE_RRC_INST *) malloc16(NB_UE_INST*sizeof(UE_RRC_INST));
     memset (UE_rrc_inst, 0, NB_UE_INST * sizeof(UE_RRC_INST));
     LOG_D(RRC, "ALLOCATE %d Bytes for UE_RRC_INST @ %p\n", (unsigned int)(NB_UE_INST*sizeof(UE_RRC_INST)), UE_rrc_inst);
-
     // fill UE capability
     UECap = fill_ue_capability (uecap_xer);
 
@@ -5225,18 +4764,15 @@ openair_rrc_top_init_ue(
     }
 
 #endif
-
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-  /* TODO: this is disabled for the moment because the standard UE
-   * crashes when calling this function.
-   */
-  //init_SL_preconfig(&UE_rrc_inst[module_id],0);
+    /* TODO: this is disabled for the moment because the standard UE
+     * crashes when calling this function.
+     */
+    //init_SL_preconfig(&UE_rrc_inst[module_id],0);
 #endif
-
   } else {
     UE_rrc_inst = NULL;
   }
-
 }
 
 //-----------------------------------------------------------------------------
@@ -5246,1086 +4782,1028 @@ rrc_top_cleanup_ue(
 )
 //-----------------------------------------------------------------------------
 {
-
   if (NB_UE_INST > 0) free (UE_rrc_inst);
-
-
 }
 
 
 //-----------------------------------------------------------------------------
-uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq, SL_TRIGGER_t mode)
-{
-   uint8_t    size=0;
-   uint8_t buffer[100];
-
-   //Generate SidelinkUEInformation
-   if (((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8192) > 0) && (destinationInfoList != NULL)) {//if SIB18 is available
-      size = do_SidelinkUEInformation(ctxt_pP->module_id, buffer, destinationInfoList, NULL, mode);
-      LOG_I(RRC,"[UE %d][RRC_UE] Frame %d : Logical Channel UL-DCCH, Generating SidelinkUEInformation (bytes%d, eNB %d)\n",
-            ctxt_pP->module_id,ctxt_pP->frame, size, eNB_index);
-      //return size;
-   }
-   if (((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16384) > 0) && (discTxResourceReq != NULL)) {//if SIB19 is available
-      size = do_SidelinkUEInformation(ctxt_pP->module_id, buffer, NULL, discTxResourceReq, mode);
-      LOG_I(RRC,"[UE %d][RRC_UE] Frame %d : Logical Channel UL-DCCH, Generating SidelinkUEInformation (bytes%d, eNB %d)\n",
-            ctxt_pP->module_id,ctxt_pP->frame, size, eNB_index);
-     //return size;
-   }
-
-   rrc_data_req_ue (
-       ctxt_pP,
-       DCCH,
-       rrc_mui++,
-       SDU_CONFIRM_NO,
-       size,
-       buffer,
-       PDCP_TRANSMISSION_MODE_CONTROL);
-   return size;
+uint8_t rrc_ue_generate_SidelinkUEInformation( const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index,LTE_SL_DestinationInfoList_r12_t  *destinationInfoList, long *discTxResourceReq,
+    SL_TRIGGER_t mode) {
+  uint8_t    size=0;
+  uint8_t buffer[100];
+
+  //Generate SidelinkUEInformation
+  if (((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&8192) > 0) && (destinationInfoList != NULL)) {//if SIB18 is available
+    size = do_SidelinkUEInformation(ctxt_pP->module_id, buffer, destinationInfoList, NULL, mode);
+    LOG_I(RRC,"[UE %d][RRC_UE] Frame %d : Logical Channel UL-DCCH, Generating SidelinkUEInformation (bytes%d, eNB %d)\n",
+          ctxt_pP->module_id,ctxt_pP->frame, size, eNB_index);
+    //return size;
+  }
+
+  if (((UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].SIStatus&16384) > 0) && (discTxResourceReq != NULL)) {//if SIB19 is available
+    size = do_SidelinkUEInformation(ctxt_pP->module_id, buffer, NULL, discTxResourceReq, mode);
+    LOG_I(RRC,"[UE %d][RRC_UE] Frame %d : Logical Channel UL-DCCH, Generating SidelinkUEInformation (bytes%d, eNB %d)\n",
+          ctxt_pP->module_id,ctxt_pP->frame, size, eNB_index);
+    //return size;
+  }
+
+  rrc_data_req_ue (
+    ctxt_pP,
+    DCCH,
+    rrc_mui++,
+    SDU_CONFIRM_NO,
+    size,
+    buffer,
+    PDCP_TRANSMISSION_MODE_CONTROL);
+  return size;
 }
 
 
 // 3GPP 36.331 (Section 5.10.7.3)
-uint8_t fill_SLSS(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, LTE_SLSSID_r12_t *slss_id, uint8_t *subframe, uint8_t mode)
-{
-   long syncOffsetIndicator = 0;
-   switch(mode) {
-   case 1: //if triggered by SL discovery announcement and in-coverage
+uint8_t fill_SLSS(const protocol_ctxt_t *const ctxt_pP, const uint8_t eNB_index, LTE_SLSSID_r12_t *slss_id, uint8_t *subframe, uint8_t mode) {
+  long syncOffsetIndicator = 0;
+
+  switch(mode) {
+    case 1: //if triggered by SL discovery announcement and in-coverage
       //discSyncConfig_r12 contains only one element
       *slss_id = UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index]->discConfig_r12->discSyncConfig_r12->list.array[0]->slssid_r12;
       syncOffsetIndicator = UE_rrc_inst[ctxt_pP->module_id].sib19[eNB_index]->discConfig_r12->discSyncConfig_r12->list.array[0]->syncOffsetIndicator_r12;
       //select subframe for SLSS
       break;
-   case 2: //if triggered by SL communication and in-coverage
 
+    case 2: //if triggered by SL communication and in-coverage
       if (UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index]->commConfig_r12->commSyncConfig_r12->list.array[0]->txParameters_r12) {
-         *slss_id = UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index]->commConfig_r12->commSyncConfig_r12->list.array[0]->slssid_r12;
-         syncOffsetIndicator = UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index]->commConfig_r12->commSyncConfig_r12->list.array[0]->syncOffsetIndicator_r12;
-
-         //if RRC_CONNECTED (Todo: and if networkControlledSyncTx (RRCConnectionReconfiguration) is configured and set to On)
-         if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_CONNECTED){
-            //select subframe(s) indicated by syncOffsetIndicator
-            *subframe = syncOffsetIndicator;
-         } else {
-            //select subframe(s) indicated by syncOffsetIndicator within SC period
-         }
-         break;
-   case 3: //if triggered by V2X communication and in coverage
+        *slss_id = UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index]->commConfig_r12->commSyncConfig_r12->list.array[0]->slssid_r12;
+        syncOffsetIndicator = UE_rrc_inst[ctxt_pP->module_id].sib18[eNB_index]->commConfig_r12->commSyncConfig_r12->list.array[0]->syncOffsetIndicator_r12;
 
-      break;
-   case 4: //if triggered by V2X communication and out-of-coverage
+        //if RRC_CONNECTED (Todo: and if networkControlledSyncTx (RRCConnectionReconfiguration) is configured and set to On)
+        if (UE_rrc_inst[ctxt_pP->module_id].Info[eNB_index].State == RRC_CONNECTED) {
+          //select subframe(s) indicated by syncOffsetIndicator
+          *subframe = syncOffsetIndicator;
+        } else {
+          //select subframe(s) indicated by syncOffsetIndicator within SC period
+        }
 
-      break;
-   case 5: //if triggered by V2X communication and UE has GNSS as the synchronization reference
+        break;
 
-   default:
-      //if UE has a selected SyncRefUE
-      //TODO
-      //else (no SyncRefUE Selected)
-      //Todo  if trigger by V2X
-      //else randomly select an SLSSID from the set defined for out-of-coverage
-      *slss_id = 170;//hardcoded
-      //select the subframe according to syncOffsetIndicator1/2 from the preconfigured parameters
-      break;
+      case 3: //if triggered by V2X communication and in coverage
+        break;
+
+      case 4: //if triggered by V2X communication and out-of-coverage
+        break;
+
+      case 5: //if triggered by V2X communication and UE has GNSS as the synchronization reference
+      default:
+        //if UE has a selected SyncRefUE
+        //TODO
+        //else (no SyncRefUE Selected)
+        //Todo  if trigger by V2X
+        //else randomly select an SLSSID from the set defined for out-of-coverage
+        *slss_id = 170;//hardcoded
+        //select the subframe according to syncOffsetIndicator1/2 from the preconfigured parameters
+        break;
       }
-   }
-   return 0;
+  }
+
+  return 0;
 }
 
 
 //-----------------------------------------------------------------------------
 void
 rrc_ue_process_sidelink_radioResourceConfig(
-      module_id_t                      Mod_idP,
-      uint8_t                          eNB_index,
-      LTE_SystemInformationBlockType18_r12_t     *sib18,
-      LTE_SystemInformationBlockType19_r12_t     *sib19,
-      LTE_SL_CommConfig_r12_t* sl_CommConfig,
-      LTE_SL_DiscConfig_r12_t* sl_DiscConfig
+  module_id_t                      Mod_idP,
+  uint8_t                          eNB_index,
+  LTE_SystemInformationBlockType18_r12_t     *sib18,
+  LTE_SystemInformationBlockType19_r12_t     *sib19,
+  LTE_SL_CommConfig_r12_t *sl_CommConfig,
+  LTE_SL_DiscConfig_r12_t *sl_DiscConfig
 )
 //-----------------------------------------------------------------------------
 {
-   //process SIB18, configure MAC/PHY for receiving SL communication (RRC_IDLE and RRC_CONNECTED), for transmitting SL communication (RRC_IDLE)
-   if (sib18 != NULL) {
-      if (sib18->commConfig_r12 != NULL) {
-         //do not consider commTXPoolExceptional for the moment
-         //configure PHY/MAC to receive SL communication by using the RPs indicated by commRxPool
-         //sib18->commConfig_r12->commRxPool_r12
-         //TODO
-
-         if (sib18->commConfig_r12->commTxPoolNormalCommon_r12 !=NULL) { //commTxPoolNormalCommon - to transmit SL communication in RRC_IDLE
-            //maybe we don't consider this case for the moment since UE will immediately establish a RRC connection after receiving SIB messages
-            //configure PHY/MAC to transmit SL communication using the RPs indicated by the first entry in commTxPoolNormalCommon
-            //SL_CommResourcePool_r12_t sl_CommResourcePool = sib18->commConfig_r12->commTxPoolNormalCommon_r12->list.array[0];
-         }
+  //process SIB18, configure MAC/PHY for receiving SL communication (RRC_IDLE and RRC_CONNECTED), for transmitting SL communication (RRC_IDLE)
+  if (sib18 != NULL) {
+    if (sib18->commConfig_r12 != NULL) {
+      //do not consider commTXPoolExceptional for the moment
+      //configure PHY/MAC to receive SL communication by using the RPs indicated by commRxPool
+      //sib18->commConfig_r12->commRxPool_r12
+      //TODO
+      if (sib18->commConfig_r12->commTxPoolNormalCommon_r12 !=NULL) { //commTxPoolNormalCommon - to transmit SL communication in RRC_IDLE
+        //maybe we don't consider this case for the moment since UE will immediately establish a RRC connection after receiving SIB messages
+        //configure PHY/MAC to transmit SL communication using the RPs indicated by the first entry in commTxPoolNormalCommon
+        //SL_CommResourcePool_r12_t sl_CommResourcePool = sib18->commConfig_r12->commTxPoolNormalCommon_r12->list.array[0];
       }
-   }
-
-   //process SIB19, configure MAC/PHY for receiving SL discovery (RRC_IDLE and RRC_CONNECTED), for transmitting SL discovery (RRC_IDLE)
-   if (sib19 != NULL) {
-      //to receive non-PS related discovery announcements (discRxPool)
-      //sib19->discConfig_r12->discRxPool_r12;
-
-      //to receive PS related discovery announcements (discRxPoolPS)
-      //sib19->ext1->discConfigPS_13->discRxPoolPS_r13;
-
-      //to transmit non-PS related discovery in RRC_IDLE
-      //sib19->discConfig_r12->discTxPoolCommon_r12;
-
-      //to transmit PS related discovery in RRC_IDLE
-      //sib19->ext1->discConfigPS_13->discTxPoolPS_Common_r13;
-   }
-
-   //process sl_CommConfig, configure MAC/PHY for transmitting SL communication (RRC_CONNECTED)
-   if (sl_CommConfig != NULL) {
-
-      if (sl_CommConfig->commTxResources_r12 != NULL) {
-         switch (sl_CommConfig->commTxResources_r12->present){
-         case LTE_SL_CommConfig_r12__commTxResources_r12_PR_setup:
-            if (sl_CommConfig->commTxResources_r12->choice.setup.present == LTE_SL_CommConfig_r12__commTxResources_r12__setup_PR_scheduled_r12 ){
-
-               LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, sl_RNTI size %lu  \n",
-                     Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.size );
-               LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, sl_RNTI buf 0x%p \n",
-                     Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.buf );
-               LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, Mac_MainConfig_r12.retx_BSR_TimerSL %ld \n",
-                     Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mac_MainConfig_r12.retx_BSR_TimerSL );
-               LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, sc_CommTxConfig %ld \n",
-                     Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mac_MainConfig_r12.retx_BSR_TimerSL );
-               //configure scheduled resource for SL
-               //TODO
-            } else if (sl_CommConfig->commTxResources_r12->choice.setup.present == LTE_SL_CommConfig_r12__commTxResources_r12__setup_PR_ue_Selected_r12){
-               //configure dedicated resources (commTxPoolNormalDedicated) for SL from which UE can autonomously select
-               //sl_CommConfig->commTxResources_r12->choice.setup.choice.ue_Selected_r12.commTxPoolNormalDedicated_r12;
-
-               //for the moment, only pass the first entry (e.g., do not consider priorityList in commTxPoolNormalDedicated (3GPP 36.331 Section 5.10.4 1>2>3>4))
-               //sl_CommConfig->commTxResources_r12->choice.setup.choice.ue_Selected_r12.commTxPoolNormalDedicated_r12.poolToAddModList_r12->list.array[0];
-            } else {
-               //SL_CommConfig_r12__commTxResources_r12__setup_PR_NOTHING /* No components present */
-            }
-            break;
+    }
+  }
 
-         case LTE_SL_CommConfig_r12__commTxResources_r12_PR_release:
-            //release dedicated resources for SL communication
-            break;
+  //process SIB19, configure MAC/PHY for receiving SL discovery (RRC_IDLE and RRC_CONNECTED), for transmitting SL discovery (RRC_IDLE)
+  if (sib19 != NULL) {
+    //to receive non-PS related discovery announcements (discRxPool)
+    //sib19->discConfig_r12->discRxPool_r12;
+    //to receive PS related discovery announcements (discRxPoolPS)
+    //sib19->ext1->discConfigPS_13->discRxPoolPS_r13;
+    //to transmit non-PS related discovery in RRC_IDLE
+    //sib19->discConfig_r12->discTxPoolCommon_r12;
+    //to transmit PS related discovery in RRC_IDLE
+    //sib19->ext1->discConfigPS_13->discTxPoolPS_Common_r13;
+  }
 
-         case LTE_SL_CommConfig_r12__commTxResources_r12_PR_NOTHING: /* No components present */
-            break;
+  //process sl_CommConfig, configure MAC/PHY for transmitting SL communication (RRC_CONNECTED)
+  if (sl_CommConfig != NULL) {
+    if (sl_CommConfig->commTxResources_r12 != NULL) {
+      switch (sl_CommConfig->commTxResources_r12->present) {
+        case LTE_SL_CommConfig_r12__commTxResources_r12_PR_setup:
+          if (sl_CommConfig->commTxResources_r12->choice.setup.present == LTE_SL_CommConfig_r12__commTxResources_r12__setup_PR_scheduled_r12 ) {
+            LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, sl_RNTI size %lu  \n",
+                  Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.size );
+            LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, sl_RNTI buf 0x%p \n",
+                  Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.sl_RNTI_r12.buf );
+            LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, Mac_MainConfig_r12.retx_BSR_TimerSL %ld \n",
+                  Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mac_MainConfig_r12.retx_BSR_TimerSL );
+            LOG_I(RRC,"[UE %d][RRC_UE] scheduled resource for SL, sc_CommTxConfig %ld \n",
+                  Mod_idP, sl_CommConfig->commTxResources_r12->choice.setup.choice.scheduled_r12.mac_MainConfig_r12.retx_BSR_TimerSL );
+            //configure scheduled resource for SL
+            //TODO
+          } else if (sl_CommConfig->commTxResources_r12->choice.setup.present == LTE_SL_CommConfig_r12__commTxResources_r12__setup_PR_ue_Selected_r12) {
+            //configure dedicated resources (commTxPoolNormalDedicated) for SL from which UE can autonomously select
+            //sl_CommConfig->commTxResources_r12->choice.setup.choice.ue_Selected_r12.commTxPoolNormalDedicated_r12;
+            //for the moment, only pass the first entry (e.g., do not consider priorityList in commTxPoolNormalDedicated (3GPP 36.331 Section 5.10.4 1>2>3>4))
+            //sl_CommConfig->commTxResources_r12->choice.setup.choice.ue_Selected_r12.commTxPoolNormalDedicated_r12.poolToAddModList_r12->list.array[0];
+          } else {
+            //SL_CommConfig_r12__commTxResources_r12__setup_PR_NOTHING /* No components present */
+          }
 
-         default:
-            break;
-         }
+          break;
+
+        case LTE_SL_CommConfig_r12__commTxResources_r12_PR_release:
+          //release dedicated resources for SL communication
+          break;
+
+        case LTE_SL_CommConfig_r12__commTxResources_r12_PR_NOTHING: /* No components present */
+          break;
+
+        default:
+          break;
       }
+    }
+  }
 
-   }
-
-   //process sl_DiscConfig, configure MAC/PHY for transmitting SL discovery announcements (RRC_CONNECTED)
-   if (sl_DiscConfig != NULL) {
-      //dedicated resources for transmitting non-PS related discovery
-      if (sl_DiscConfig->discTxResources_r12 != NULL) {
-
-         switch (sl_DiscConfig->discTxResources_r12->present) {
-         case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_setup:
-            if (sl_DiscConfig->discTxResources_r12->choice.setup.present == LTE_SL_DiscConfig_r12__discTxResources_r12__setup_PR_scheduled_r12) {
-               //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discHoppingConfig_r12;
-               //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discTF_IndexList_r12;
-               //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discTxConfig_r12;
-            } else if (sl_DiscConfig->discTxResources_r12->choice.setup.present == LTE_SL_DiscConfig_r12__discTxResources_r12__setup_PR_ue_Selected_r12) {
-               //sl_DiscConfig->discTxResources_r12->choice.setup.choice.ue_Selected_r12.discTxPoolDedicated_r12;
-            } else {
-               //SL_DiscConfig_r12__discTxResources_r12__setup_PR_NOTHING,   /* No components present */
-            }
-            break;
-         case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_release:
-            //release dedicated resources for SL discovery
-            break;
-         case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_NOTHING: /* No components present */
-            break;
-         default:
-            break;
-         }
+  //process sl_DiscConfig, configure MAC/PHY for transmitting SL discovery announcements (RRC_CONNECTED)
+  if (sl_DiscConfig != NULL) {
+    //dedicated resources for transmitting non-PS related discovery
+    if (sl_DiscConfig->discTxResources_r12 != NULL) {
+      switch (sl_DiscConfig->discTxResources_r12->present) {
+        case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_setup:
+          if (sl_DiscConfig->discTxResources_r12->choice.setup.present == LTE_SL_DiscConfig_r12__discTxResources_r12__setup_PR_scheduled_r12) {
+            //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discHoppingConfig_r12;
+            //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discTF_IndexList_r12;
+            //sl_DiscConfig->discTxResources_r12->choice.setup.choice.scheduled_r12.discTxConfig_r12;
+          } else if (sl_DiscConfig->discTxResources_r12->choice.setup.present == LTE_SL_DiscConfig_r12__discTxResources_r12__setup_PR_ue_Selected_r12) {
+            //sl_DiscConfig->discTxResources_r12->choice.setup.choice.ue_Selected_r12.discTxPoolDedicated_r12;
+          } else {
+            //SL_DiscConfig_r12__discTxResources_r12__setup_PR_NOTHING,   /* No components present */
+          }
+
+          break;
 
+        case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_release:
+          //release dedicated resources for SL discovery
+          break;
+
+        case LTE_SL_DiscConfig_r12__discTxResources_r12_PR_NOTHING: /* No components present */
+          break;
+
+        default:
+          break;
       }
-      //dedicated resources for transmitting PS related discovery
-      if (sl_DiscConfig->ext2->discTxResourcesPS_r13 != NULL){
-         switch (sl_DiscConfig->ext2->discTxResourcesPS_r13->present) {
-         case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_setup:
-            if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_scheduled_r13) {
-               //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.scheduled_r13.discHoppingConfig_r13;
-               //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.scheduled_r13.discTxConfig_r13
-            } else if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_ue_Selected_r13) {
-               //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.ue_Selected_r13.discTxPoolPS_Dedicated_r13;
-            } else {
-               //SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_NOTHING, /* No components present */
-            }
+    }
 
-            break;
-         case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_release:
-            break;
-         case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_NOTHING:
-            /* No components present */
-            break;
-         default:
-            break;
-         }
+    //dedicated resources for transmitting PS related discovery
+    if (sl_DiscConfig->ext2->discTxResourcesPS_r13 != NULL) {
+      switch (sl_DiscConfig->ext2->discTxResourcesPS_r13->present) {
+        case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_setup:
+          if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_scheduled_r13) {
+            //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.scheduled_r13.discHoppingConfig_r13;
+            //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.scheduled_r13.discTxConfig_r13
+          } else if (sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.present == LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_ue_Selected_r13) {
+            //sl_DiscConfig->ext2->discTxResourcesPS_r13->choice.setup.choice.ue_Selected_r13.discTxPoolPS_Dedicated_r13;
+          } else {
+            //SL_DiscConfig_r12__ext2__discTxResourcesPS_r13__setup_PR_NOTHING, /* No components present */
+          }
+
+          break;
+
+        case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_release:
+          break;
+
+        case LTE_SL_DiscConfig_r12__ext2__discTxResourcesPS_r13_PR_NOTHING:
+          /* No components present */
+          break;
+
+        default:
+          break;
       }
-   }
+    }
+  }
 }
 
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
 //-----------------------------------------------------------
 void
-rrc_control_socket_init(){
-
-   struct sockaddr_in rrc_ctrl_socket_addr;
-   pthread_attr_t     attr;
-   struct sched_param sched_param;
-   int optval; // flag value for setsockopt
-   //int n; // message byte size
+rrc_control_socket_init() {
+  struct sockaddr_in rrc_ctrl_socket_addr;
+  pthread_attr_t     attr;
+  struct sched_param sched_param;
+  int optval; // flag value for setsockopt
+  //int n; // message byte size
+  // create the control socket
+  ctrl_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
+
+  if (ctrl_sock_fd == -1) {
+    LOG_E(RRC,"[rrc_control_socket_init] :Error opening socket %d (%d:%s)\n",ctrl_sock_fd,errno, strerror(errno));
+    exit(EXIT_FAILURE);
+  }
 
+  //   if (ctrl_sock_fd < 0)
+  //      error("ERROR: Failed on opening socket");
+  optval = 1;
+  setsockopt(ctrl_sock_fd, SOL_SOCKET, SO_REUSEADDR,
+             (const void *)&optval , sizeof(int));
+  //build the server's  address
+  bzero((char *) &rrc_ctrl_socket_addr, sizeof(rrc_ctrl_socket_addr));
+  rrc_ctrl_socket_addr.sin_family = AF_INET;
+  rrc_ctrl_socket_addr.sin_addr.s_addr = htonl(INADDR_ANY);
+  rrc_ctrl_socket_addr.sin_port = htons(CONTROL_SOCKET_PORT_NO);
+
+  // associate the parent socket with a port
+  if (bind(ctrl_sock_fd, (struct sockaddr *) &rrc_ctrl_socket_addr,
+           sizeof(rrc_ctrl_socket_addr)) < 0) {
+    LOG_E(RRC,"[rrc_control_socket_init] ERROR: Failed on binding the socket\n");
+    exit(1);
+  }
 
-   // create the control socket
-   ctrl_sock_fd = socket(AF_INET, SOCK_DGRAM, 0);
-   if (ctrl_sock_fd == -1) {
-      LOG_E(RRC,"[rrc_control_socket_init] :Error opening socket %d (%d:%s)\n",ctrl_sock_fd,errno, strerror(errno));
-      exit(EXIT_FAILURE);
-   }
-   //   if (ctrl_sock_fd < 0)
-   //      error("ERROR: Failed on opening socket");
-   optval = 1;
-   setsockopt(ctrl_sock_fd, SOL_SOCKET, SO_REUSEADDR,
-         (const void *)&optval , sizeof(int));
-
-   //build the server's  address
-   bzero((char *) &rrc_ctrl_socket_addr, sizeof(rrc_ctrl_socket_addr));
-   rrc_ctrl_socket_addr.sin_family = AF_INET;
-   rrc_ctrl_socket_addr.sin_addr.s_addr = htonl(INADDR_ANY);
-   rrc_ctrl_socket_addr.sin_port = htons(CONTROL_SOCKET_PORT_NO);
-   // associate the parent socket with a port
-   if (bind(ctrl_sock_fd, (struct sockaddr *) &rrc_ctrl_socket_addr,
-         sizeof(rrc_ctrl_socket_addr)) < 0) {
-      LOG_E(RRC,"[rrc_control_socket_init] ERROR: Failed on binding the socket\n");
-      exit(1);
-   }
-   //create thread to listen to incoming packets
-   if (pthread_attr_init(&attr) != 0) {
-      LOG_E(RRC, "[rrc_control_socket_init]Failed to initialize pthread attribute for ProSe -> RRC communication (%d:%s)\n",
-            errno, strerror(errno));
-      exit(EXIT_FAILURE);
-   }
+  //create thread to listen to incoming packets
+  if (pthread_attr_init(&attr) != 0) {
+    LOG_E(RRC, "[rrc_control_socket_init]Failed to initialize pthread attribute for ProSe -> RRC communication (%d:%s)\n",
+          errno, strerror(errno));
+    exit(EXIT_FAILURE);
+  }
 
-   sched_param.sched_priority = 10;
+  sched_param.sched_priority = 10;
+  pthread_attr_setschedpolicy(&attr, SCHED_RR);
+  pthread_attr_setschedparam(&attr, &sched_param);
+  pthread_t rrc_control_socket_thread;
 
-   pthread_attr_setschedpolicy(&attr, SCHED_RR);
-   pthread_attr_setschedparam(&attr, &sched_param);
+  if (pthread_create(&rrc_control_socket_thread, &attr, rrc_control_socket_thread_fct, NULL) != 0) {
+    LOG_E(RRC, "[rrc_control_socket_init]Failed to create new thread for RRC/ProSeApp communication (%d:%s)\n",
+          errno, strerror(errno));
+    exit(EXIT_FAILURE);
+  }
 
-   pthread_t rrc_control_socket_thread;
+  pthread_setname_np( rrc_control_socket_thread, "RRC Control Socket" );
+}
 
-   if (pthread_create(&rrc_control_socket_thread, &attr, rrc_control_socket_thread_fct, NULL) != 0) {
-      LOG_E(RRC, "[rrc_control_socket_init]Failed to create new thread for RRC/ProSeApp communication (%d:%s)\n",
-            errno, strerror(errno));
+//--------------------------------------------------------
+void *rrc_control_socket_thread_fct(void *arg) {
+  int prose_addr_len;
+  char send_buf[BUFSIZE];
+  char receive_buf[BUFSIZE];
+  //int optval;
+  int n;
+  struct sidelink_ctrl_element *sl_ctrl_msg_recv = NULL;
+  struct sidelink_ctrl_element *sl_ctrl_msg_send = NULL;
+  uint32_t sourceL2Id, groupL2Id, destinationL2Id;
+  module_id_t         module_id = 0; //hardcoded for testing only
+  uint8_t type;
+  UE_RRC_INST *UE  = NULL;
+  protocol_ctxt_t ctxt;
+  struct LTE_RLC_Config                  *DRB_rlc_config                   = NULL;
+  struct LTE_PDCP_Config                 *DRB_pdcp_config                  = NULL;
+  struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
+  struct LTE_LogicalChannelConfig        *DRB_lchan_config                 = NULL;
+  struct LTE_LogicalChannelConfig__ul_SpecificParameters  *DRB_ul_SpecificParameters = NULL;
+  long                               *logicalchannelgroup_drb          = NULL;
+  int j = 0;
+  int i = 0;
+  //from the main program, listen for the incoming messages from control socket (ProSe App)
+  prose_addr_len = sizeof(prose_app_addr);
+
+  //int enable_notification = 1;
+  while (1) {
+    LOG_I(RRC,"Listening to incoming connection from ProSe App \n");
+    // receive a message from ProSe App
+    memset(receive_buf, 0, BUFSIZE);
+    n = recvfrom(ctrl_sock_fd, receive_buf, BUFSIZE, 0,
+                 (struct sockaddr *) &prose_app_addr, (socklen_t *)&prose_addr_len);
+
+    if (n < 0) {
+      LOG_E(RRC, "ERROR: Failed to receive from ProSe App\n");
       exit(EXIT_FAILURE);
-   }
-
-   pthread_setname_np( rrc_control_socket_thread, "RRC Control Socket" );
+    }
 
-}
+    //TODO: should store the address of ProSeApp [UE_rrc_inst] to be able to send UE state notification to the App
+    //sl_ctrl_msg_recv = (struct sidelink_ctrl_element *) receive_buf;
+    sl_ctrl_msg_recv = calloc(1, sizeof(struct sidelink_ctrl_element));
+    memcpy((void *)sl_ctrl_msg_recv, (void *)receive_buf, sizeof(struct sidelink_ctrl_element));
 
-//--------------------------------------------------------
-void *rrc_control_socket_thread_fct(void *arg)
-{
+    //process the message
+    switch (sl_ctrl_msg_recv->type) {
+      case SESSION_INIT_REQ:
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          LOG_UI(RRC,"Received SessionInitializationRequest on socket from ProSe App (msg type: %d)\n", sl_ctrl_msg_recv->type);
+        }
 
-   int prose_addr_len;
-   char send_buf[BUFSIZE];
-   char receive_buf[BUFSIZE];
-   //int optval;
-   int n;
-   struct sidelink_ctrl_element *sl_ctrl_msg_recv = NULL;
-   struct sidelink_ctrl_element *sl_ctrl_msg_send = NULL;
-   uint32_t sourceL2Id, groupL2Id, destinationL2Id;
-   module_id_t         module_id = 0; //hardcoded for testing only
-   uint8_t type;
-   UE_RRC_INST *UE  = NULL;
-   protocol_ctxt_t ctxt;
-   struct LTE_RLC_Config                  *DRB_rlc_config                   = NULL;
-   struct LTE_PDCP_Config                 *DRB_pdcp_config                  = NULL;
-   struct LTE_PDCP_Config__rlc_UM         *PDCP_rlc_UM                      = NULL;
-   struct LTE_LogicalChannelConfig        *DRB_lchan_config                 = NULL;
-   struct LTE_LogicalChannelConfig__ul_SpecificParameters  *DRB_ul_SpecificParameters = NULL;
-   long                               *logicalchannelgroup_drb          = NULL;
-   int j = 0;
-   int i = 0;
-
-   //from the main program, listen for the incoming messages from control socket (ProSe App)
-   prose_addr_len = sizeof(prose_app_addr);
-   //int enable_notification = 1;
-   while (1) {
-      LOG_I(RRC,"Listening to incoming connection from ProSe App \n");
-      // receive a message from ProSe App
-      memset(receive_buf, 0, BUFSIZE);
-      n = recvfrom(ctrl_sock_fd, receive_buf, BUFSIZE, 0,
-            (struct sockaddr *) &prose_app_addr, (socklen_t *)&prose_addr_len);
-      if (n < 0){
-         LOG_E(RRC, "ERROR: Failed to receive from ProSe App\n");
-         exit(EXIT_FAILURE);
-      }
-      //TODO: should store the address of ProSeApp [UE_rrc_inst] to be able to send UE state notification to the App
+        //TODO: get SL_UE_STATE from lower layer
+        LOG_I(RRC,"Send UEStateInformation to ProSe App \n");
+        memset(send_buf, 0, BUFSIZE);
+        sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
+        sl_ctrl_msg_send->type = UE_STATUS_INFO;
+        sl_ctrl_msg_send->sidelinkPrimitive.ue_state = UE_STATE_OFF_NETWORK; //off-network
+        memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
+        free(sl_ctrl_msg_send);
+        prose_addr_len = sizeof(prose_app_addr);
+        n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
+
+        if (n < 0) {
+          LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
+          exit(EXIT_FAILURE);
+        }
 
-      //sl_ctrl_msg_recv = (struct sidelink_ctrl_element *) receive_buf;
-      sl_ctrl_msg_recv = calloc(1, sizeof(struct sidelink_ctrl_element));
-      memcpy((void *)sl_ctrl_msg_recv, (void *)receive_buf, sizeof(struct sidelink_ctrl_element));
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          struct sidelink_ctrl_element *ptr_ctrl_msg = NULL;
+          ptr_ctrl_msg = (struct sidelink_ctrl_element *) send_buf;
+          LOG_UI(RRC,"[UEStateInformation] msg type: %d\n",ptr_ctrl_msg->type);
+          LOG_UI(RRC,"[UEStateInformation] UE state: %d\n",ptr_ctrl_msg->sidelinkPrimitive.ue_state);
+        }
 
-      //process the message
-      switch (sl_ctrl_msg_recv->type) {
-      case SESSION_INIT_REQ:
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           LOG_UI(RRC,"Received SessionInitializationRequest on socket from ProSe App (msg type: %d)\n", sl_ctrl_msg_recv->type);
-         }
-         //TODO: get SL_UE_STATE from lower layer
-
-         LOG_I(RRC,"Send UEStateInformation to ProSe App \n");
-         memset(send_buf, 0, BUFSIZE);
-
-         sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
-         sl_ctrl_msg_send->type = UE_STATUS_INFO;
-         sl_ctrl_msg_send->sidelinkPrimitive.ue_state = UE_STATE_OFF_NETWORK; //off-network
-         memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
-         free(sl_ctrl_msg_send);
-
-         prose_addr_len = sizeof(prose_app_addr);
-         n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
-         if (n < 0) {
-            LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
-            exit(EXIT_FAILURE);
-         }
-
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           struct sidelink_ctrl_element *ptr_ctrl_msg = NULL;
-           ptr_ctrl_msg = (struct sidelink_ctrl_element *) send_buf;
-           LOG_UI(RRC,"[UEStateInformation] msg type: %d\n",ptr_ctrl_msg->type);
-           LOG_UI(RRC,"[UEStateInformation] UE state: %d\n",ptr_ctrl_msg->sidelinkPrimitive.ue_state);
-         }
-         /*  if (enable_notification > 0) {
-              //create thread to send status notification (for testing purpose, status notification will be sent e.g., every 20 seconds)
-              pthread_t notification_thread;
-              if( pthread_create( &notification_thread , NULL ,  send_UE_status_notification , (void*) &sockfd) < 0)
-                 error("ERROR: could not create thread");
-           }
-           enable_notification = 0;
-          */
-         break;
+        /*  if (enable_notification > 0) {
+             //create thread to send status notification (for testing purpose, status notification will be sent e.g., every 20 seconds)
+             pthread_t notification_thread;
+             if( pthread_create( &notification_thread , NULL ,  send_UE_status_notification , (void*) &sockfd) < 0)
+                error("ERROR: could not create thread");
+          }
+          enable_notification = 0;
+         */
+        break;
 
       case GROUP_COMMUNICATION_ESTABLISH_REQ:
-         sourceL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.sourceL2Id;
-         groupL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupL2Id;
-
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           LOG_UI(RRC,"[GroupCommunicationEstablishReq] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
-           LOG_UI(RRC,"[GroupCommunicationEstablishReq] source Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.sourceL2Id);
-           LOG_UI(RRC,"[GroupCommunicationEstablishReq] group Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupL2Id);
-           LOG_UI(RRC,"[GroupCommunicationEstablishReq] group IP Address: " IPV4_ADDR "\n",IPV4_ADDR_FORMAT(sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupIpAddress));
-         }
-
-         //store sourceL2Id/groupL2Id
-         UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
-         UE_rrc_inst[module_id].groupL2Id = groupL2Id;
-         j = 0;
-         i = 0;
-         for (i=0; i< MAX_NUM_DEST; i++) {
-            if ((UE_rrc_inst[module_id].destinationList[i] == 0) && (j == 0)) j = i+1;
-            if (UE_rrc_inst[module_id].destinationList[i] == groupL2Id) break; //group already exists!
-         }
-         if ((i == MAX_NUM_DEST) && (j > 0))  UE_mac_inst[module_id].destinationList[j-1] = groupL2Id;
-
-         // configure lower layers PDCP/MAC/PHY for this communication
-         //Establish a new RBID/LCID for this communication
-         // Establish a SLRB (using DRB 3 for now)
-         UE  = &UE_rrc_inst[module_id];
-         PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
-
-         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
-         UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-         UE->DRB_config[0][0]->drb_Identity =  3;
-         UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-         // allowed value 5..15, value : x+4
-         *(UE->DRB_config[0][0]->eps_BearerIdentity) = 3;
-         UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
-         *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
-
-         DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
-         DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
-         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
-         DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
-         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
-         logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
-
-         DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
-         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
-         UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
-
-         DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
-         UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
-         DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-         *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
-         DRB_pdcp_config->rlc_AM = NULL;
-         DRB_pdcp_config->rlc_UM = NULL;
-
-         /* avoid gcc warnings */
-         (void)PDCP_rlc_UM;
-
-         DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-         PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-         DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
-
-         UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
-         DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
-         DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
-
-         DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-         DRB_ul_SpecificParameters->prioritisedBitRate =LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
-         //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
-         DRB_ul_SpecificParameters->bucketSizeDuration =
-               LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
-
-         // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
-
-         *logicalchannelgroup_drb = 1;
-         DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
-
-         UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
-         ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
-
-         rrc_pdcp_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t *) NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*) NULL,
-               0xff, NULL, NULL, NULL
-#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               , (LTE_PMCH_InfoList_r9_t *) NULL
-#endif
-               ,NULL);
+        sourceL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.sourceL2Id;
+        groupL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupL2Id;
+
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          LOG_UI(RRC,"[GroupCommunicationEstablishReq] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
+          LOG_UI(RRC,"[GroupCommunicationEstablishReq] source Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.sourceL2Id);
+          LOG_UI(RRC,"[GroupCommunicationEstablishReq] group Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupL2Id);
+          LOG_UI(RRC,"[GroupCommunicationEstablishReq] group IP Address: " IPV4_ADDR "\n",IPV4_ADDR_FORMAT(sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupIpAddress));
+        }
+
+        //store sourceL2Id/groupL2Id
+        UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
+        UE_rrc_inst[module_id].groupL2Id = groupL2Id;
+        j = 0;
+        i = 0;
 
+        for (i=0; i< MAX_NUM_DEST; i++) {
+          if ((UE_rrc_inst[module_id].destinationList[i] == 0) && (j == 0)) j = i+1;
 
-         rrc_rlc_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t*)NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*)NULL
+          if (UE_rrc_inst[module_id].destinationList[i] == groupL2Id) break; //group already exists!
+        }
+
+        if ((i == MAX_NUM_DEST) && (j > 0))  UE_mac_inst[module_id].destinationList[j-1] = groupL2Id;
+
+        // configure lower layers PDCP/MAC/PHY for this communication
+        //Establish a new RBID/LCID for this communication
+        // Establish a SLRB (using DRB 3 for now)
+        UE  = &UE_rrc_inst[module_id];
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
+        UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
+        UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+        UE->DRB_config[0][0]->drb_Identity =  3;
+        UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+        // allowed value 5..15, value : x+4
+        *(UE->DRB_config[0][0]->eps_BearerIdentity) = 3;
+        UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
+        *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
+        DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
+        DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
+        PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
+        DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
+        DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
+        logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
+        DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+        DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+        DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+        DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+        UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
+        DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
+        UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
+        DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
+        *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
+        DRB_pdcp_config->rlc_AM = NULL;
+        DRB_pdcp_config->rlc_UM = NULL;
+        /* avoid gcc warnings */
+        (void)PDCP_rlc_UM;
+        DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
+        PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+        DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
+        UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
+        DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
+        DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
+        DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
+        DRB_ul_SpecificParameters->prioritisedBitRate =LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+        //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+        DRB_ul_SpecificParameters->bucketSizeDuration =
+          LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+        // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
+        *logicalchannelgroup_drb = 1;
+        DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
+        UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
+        ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
+        rrc_pdcp_config_asn1_req(&ctxt,
+                                 (LTE_SRB_ToAddModList_t *) NULL,
+                                 UE->DRB_configList,
+                                 (LTE_DRB_ToReleaseList_t *) NULL,
+                                 0xff, NULL, NULL, NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,(LTE_PMCH_InfoList_r9_t *)NULL
-               , 0, 0
+                                 , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-         );
-
-         rrc_rlc_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t*)NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*)NULL
+                                 ,NULL);
+        rrc_rlc_config_asn1_req(&ctxt,
+                                (LTE_SRB_ToAddModList_t *)NULL,
+                                UE->DRB_configList,
+                                (LTE_DRB_ToReleaseList_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                ,(LTE_PMCH_InfoList_r9_t *)NULL
+                                , 0, 0
+#endif
+                               );
+        rrc_rlc_config_asn1_req(&ctxt,
+                                (LTE_SRB_ToAddModList_t *)NULL,
+                                UE->DRB_configList,
+                                (LTE_DRB_ToReleaseList_t *)NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-               ,(LTE_PMCH_InfoList_r9_t *)NULL
-               , sourceL2Id, groupL2Id
+                                ,(LTE_PMCH_InfoList_r9_t *)NULL
+                                , sourceL2Id, groupL2Id
 #endif
-         );
-
-
-         //configure MAC with sourceL2Id/groupL2ID
-         rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-               (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-               (struct LTE_PhysicalConfigDedicated *)NULL,
+                               );
+        //configure MAC with sourceL2Id/groupL2ID
+        rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
+                              (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                              (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               (LTE_SCellToAddMod_r10_t *)NULL,
-               //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-               (LTE_MeasObjectToAddMod_t **)NULL,
-               (LTE_MAC_MainConfig_t *)NULL,
-               3, //LCID
-               (struct LTE_LogicalChannelConfig *)NULL,
-               (LTE_MeasGapConfig_t *)NULL,
-               (LTE_TDD_Config_t *)NULL,
-               (LTE_MobilityControlInfo_t *)NULL,
-               NULL,
-               NULL,
-               NULL,
-               NULL,
-               NULL,
-               NULL
+                              (LTE_SCellToAddMod_r10_t *)NULL,
+                              //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                              (LTE_MeasObjectToAddMod_t **)NULL,
+                              (LTE_MAC_MainConfig_t *)NULL,
+                              3, //LCID
+                              (struct LTE_LogicalChannelConfig *)NULL,
+                              (LTE_MeasGapConfig_t *)NULL,
+                              (LTE_TDD_Config_t *)NULL,
+                              (LTE_MobilityControlInfo_t *)NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,0,
-               (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-               (LTE_PMCH_InfoList_r9_t *)NULL
-
+                              ,0,
+                              (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                              (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-               ,
-               0,
-               0
+                              ,
+                              0,
+                              0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,CONFIG_ACTION_ADD,
-               &sourceL2Id,
-               &groupL2Id
-#endif
-         );
-
-         LOG_I(RRC,"Send GroupCommunicationEstablishResp to ProSe App\n");
-         memset(send_buf, 0, BUFSIZE);
-         sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
-         sl_ctrl_msg_send->type = GROUP_COMMUNICATION_ESTABLISH_RSP;
-         sl_ctrl_msg_send->sidelinkPrimitive.slrb_id = 3; //slrb_id
-
-         memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
-         free(sl_ctrl_msg_send);
-
-         prose_addr_len = sizeof(prose_app_addr);
-         n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
-         if (n < 0){
-            LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
-            exit(EXIT_FAILURE);
-         }
-
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           struct sidelink_ctrl_element *ptr_ctrl_msg = NULL;
-           ptr_ctrl_msg = (struct sidelink_ctrl_element *) send_buf;
-           LOG_UI(RRC,"[GroupCommunicationEstablishResponse]  msg type: %d\n",ptr_ctrl_msg->type);
-           LOG_UI(RRC,"[GroupCommunicationEstablishResponse]  slrb_id: %d\n",ptr_ctrl_msg->sidelinkPrimitive.slrb_id);
-         }
-         break;
+                              ,CONFIG_ACTION_ADD,
+                              &sourceL2Id,
+                              &groupL2Id
+#endif
+                             );
+        LOG_I(RRC,"Send GroupCommunicationEstablishResp to ProSe App\n");
+        memset(send_buf, 0, BUFSIZE);
+        sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
+        sl_ctrl_msg_send->type = GROUP_COMMUNICATION_ESTABLISH_RSP;
+        sl_ctrl_msg_send->sidelinkPrimitive.slrb_id = 3; //slrb_id
+        memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
+        free(sl_ctrl_msg_send);
+        prose_addr_len = sizeof(prose_app_addr);
+        n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
+
+        if (n < 0) {
+          LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
+          exit(EXIT_FAILURE);
+        }
+
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          struct sidelink_ctrl_element *ptr_ctrl_msg = NULL;
+          ptr_ctrl_msg = (struct sidelink_ctrl_element *) send_buf;
+          LOG_UI(RRC,"[GroupCommunicationEstablishResponse]  msg type: %d\n",ptr_ctrl_msg->type);
+          LOG_UI(RRC,"[GroupCommunicationEstablishResponse]  slrb_id: %d\n",ptr_ctrl_msg->sidelinkPrimitive.slrb_id);
+        }
+
+        break;
 
       case GROUP_COMMUNICATION_RELEASE_REQ:
-         printf("-----------------------------------\n");
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           LOG_UI(RRC,"[GroupCommunicationReleaseRequest] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
-           LOG_UI(RRC,"[GroupCommunicationReleaseRequest] Slrb Id: %i\n",sl_ctrl_msg_recv->sidelinkPrimitive.slrb_id);
-         }
-         //reset groupL2ID from MAC LAYER
-         UE_rrc_inst[module_id].groupL2Id = 0x00000000;
-         sourceL2Id = UE_rrc_inst[module_id].sourceL2Id;
-
-         rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-                    (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-                    (struct LTE_PhysicalConfigDedicated *)NULL,
-         #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                    (LTE_SCellToAddMod_r10_t *)NULL,
-                    //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-         #endif
-                    (LTE_MeasObjectToAddMod_t **)NULL,
-                    (LTE_MAC_MainConfig_t *)NULL,
-                    0,
-                    (struct LTE_LogicalChannelConfig *)NULL,
-                    (LTE_MeasGapConfig_t *)NULL,
-                    (LTE_TDD_Config_t *)NULL,
-                    (LTE_MobilityControlInfo_t *)NULL,
-                    NULL,
-                    NULL,
-                    NULL,
-                    NULL,
-                    NULL,
-                    NULL
-         #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                    ,0,
-                    (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-                    (LTE_PMCH_InfoList_r9_t *)NULL
-
-         #endif
-         #ifdef CBA
-                    ,
-                    0,
-                    0
-         #endif
-         #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                    ,CONFIG_ACTION_REMOVE,
-                    &sourceL2Id,
-                    &destinationL2Id
-         #endif
-                    );
-
-
-         LOG_I(RRC,"Send GroupCommunicationReleaseResponse to ProSe App \n");
-         memset(send_buf, 0, BUFSIZE);
-
-         sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
-         sl_ctrl_msg_send->type = GROUP_COMMUNICATION_RELEASE_RSP;
-         //if the requested id exists -> release this ID
-         if (sl_ctrl_msg_recv->sidelinkPrimitive.slrb_id == slrb_id) {
-            sl_ctrl_msg_send->sidelinkPrimitive.group_comm_release_rsp = GROUP_COMMUNICATION_RELEASE_OK;
-            slrb_id = 0; //Reset slrb_id
-         } else {
-            sl_ctrl_msg_send->sidelinkPrimitive.group_comm_release_rsp = GROUP_COMMUNICATION_RELEASE_FAILURE;
-         }
-         memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
-         free(sl_ctrl_msg_send);
-
-         prose_addr_len = sizeof(prose_app_addr);
-         n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
-         if (n < 0){
-            LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
-            exit(EXIT_FAILURE);
-         }
-         break;
+        printf("-----------------------------------\n");
 
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          LOG_UI(RRC,"[GroupCommunicationReleaseRequest] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
+          LOG_UI(RRC,"[GroupCommunicationReleaseRequest] Slrb Id: %i\n",sl_ctrl_msg_recv->sidelinkPrimitive.slrb_id);
+        }
 
-      case DIRECT_COMMUNICATION_ESTABLISH_REQ:
-         sourceL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.direct_comm_establish_req.sourceL2Id;
-         destinationL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.direct_comm_establish_req.destinationL2Id;
-
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           LOG_UI(RRC,"[DirectCommunicationEstablishReq] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
-           LOG_UI(RRC,"[DirectCommunicationEstablishReq] source Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.sourceL2Id);
-           LOG_UI(RRC,"[DirectCommunicationEstablishReq] destination Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupL2Id);
-         }
-
-         //store sourceL2Id/destinationL2Id
-         UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
-         i = 0;
-         j = 0;
-         for (i=0; i< MAX_NUM_DEST; i++) {
-            if ((UE_rrc_inst[module_id].destinationList[i] == 0) && (j == 0)) j = i+1;
-            if (UE_rrc_inst[module_id].destinationList[i] == destinationL2Id) break; //destination already exists!
-         }
-         if ((i == MAX_NUM_DEST) && (j > 0))  UE_mac_inst[module_id].destinationList[j-1] = destinationL2Id;
-
-         // configure lower layers PDCP/MAC/PHY for this communication
-         //Establish a new RBID/LCID for this communication
-         // Establish a SLRB (using DRB 3 for now)
-         UE  = &UE_rrc_inst[module_id];
-         PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
-
-         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
-         UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-         UE->DRB_config[0][0]->drb_Identity =  3;
-         UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-         // allowed value 5..15, value : x+4
-         *(UE->DRB_config[0][0]->eps_BearerIdentity) = 3;
-         UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
-         *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
-
-         DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
-         DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
-         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
-         DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
-         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
-         logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
-
-         DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
-         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
-         UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
-
-         DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
-         UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
-         DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-         *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
-         DRB_pdcp_config->rlc_AM = NULL;
-         DRB_pdcp_config->rlc_UM = NULL;
-
-         /* avoid gcc warnings */
-         (void)PDCP_rlc_UM;
-
-         DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-         PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-         DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
-
-         UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
-         DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
-         DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
-
-         DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-         DRB_ul_SpecificParameters->prioritisedBitRate =LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
-         //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
-         DRB_ul_SpecificParameters->bucketSizeDuration =
-               LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
-
-         // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
-
-         *logicalchannelgroup_drb = 1;
-         DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
-
-         UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
-         ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
-
-         rrc_pdcp_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t *) NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*) NULL,
-               0xff, NULL, NULL, NULL
+        //reset groupL2ID from MAC LAYER
+        UE_rrc_inst[module_id].groupL2Id = 0x00000000;
+        sourceL2Id = UE_rrc_inst[module_id].sourceL2Id;
+        rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
+                              (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                              (struct LTE_PhysicalConfigDedicated *)NULL,
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                              (LTE_SCellToAddMod_r10_t *)NULL,
+                              //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                              (LTE_MeasObjectToAddMod_t **)NULL,
+                              (LTE_MAC_MainConfig_t *)NULL,
+                              0,
+                              (struct LTE_LogicalChannelConfig *)NULL,
+                              (LTE_MeasGapConfig_t *)NULL,
+                              (LTE_TDD_Config_t *)NULL,
+                              (LTE_MobilityControlInfo_t *)NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               , (LTE_PMCH_InfoList_r9_t *) NULL
+                              ,0,
+                              (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                              (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
-               ,NULL);
+#ifdef CBA
+                              ,
+                              0,
+                              0
+#endif
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                              ,CONFIG_ACTION_REMOVE,
+                              &sourceL2Id,
+                              &destinationL2Id
+#endif
+                             );
+        LOG_I(RRC,"Send GroupCommunicationReleaseResponse to ProSe App \n");
+        memset(send_buf, 0, BUFSIZE);
+        sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
+        sl_ctrl_msg_send->type = GROUP_COMMUNICATION_RELEASE_RSP;
+
+        //if the requested id exists -> release this ID
+        if (sl_ctrl_msg_recv->sidelinkPrimitive.slrb_id == slrb_id) {
+          sl_ctrl_msg_send->sidelinkPrimitive.group_comm_release_rsp = GROUP_COMMUNICATION_RELEASE_OK;
+          slrb_id = 0; //Reset slrb_id
+        } else {
+          sl_ctrl_msg_send->sidelinkPrimitive.group_comm_release_rsp = GROUP_COMMUNICATION_RELEASE_FAILURE;
+        }
+
+        memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
+        free(sl_ctrl_msg_send);
+        prose_addr_len = sizeof(prose_app_addr);
+        n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
+
+        if (n < 0) {
+          LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
+          exit(EXIT_FAILURE);
+        }
+
+        break;
+
+      case DIRECT_COMMUNICATION_ESTABLISH_REQ:
+        sourceL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.direct_comm_establish_req.sourceL2Id;
+        destinationL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.direct_comm_establish_req.destinationL2Id;
+
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          LOG_UI(RRC,"[DirectCommunicationEstablishReq] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
+          LOG_UI(RRC,"[DirectCommunicationEstablishReq] source Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.sourceL2Id);
+          LOG_UI(RRC,"[DirectCommunicationEstablishReq] destination Id: 0x%08x\n",sl_ctrl_msg_recv->sidelinkPrimitive.group_comm_establish_req.groupL2Id);
+        }
 
+        //store sourceL2Id/destinationL2Id
+        UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
+        i = 0;
+        j = 0;
+
+        for (i=0; i< MAX_NUM_DEST; i++) {
+          if ((UE_rrc_inst[module_id].destinationList[i] == 0) && (j == 0)) j = i+1;
+
+          if (UE_rrc_inst[module_id].destinationList[i] == destinationL2Id) break; //destination already exists!
+        }
 
-         rrc_rlc_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t*)NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*)NULL
+        if ((i == MAX_NUM_DEST) && (j > 0))  UE_mac_inst[module_id].destinationList[j-1] = destinationL2Id;
+
+        // configure lower layers PDCP/MAC/PHY for this communication
+        //Establish a new RBID/LCID for this communication
+        // Establish a SLRB (using DRB 3 for now)
+        UE  = &UE_rrc_inst[module_id];
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
+        UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
+        UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+        UE->DRB_config[0][0]->drb_Identity =  3;
+        UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+        // allowed value 5..15, value : x+4
+        *(UE->DRB_config[0][0]->eps_BearerIdentity) = 3;
+        UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
+        *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
+        DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
+        DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
+        PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
+        DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
+        DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
+        logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
+        DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+        DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+        DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+        DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+        UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
+        DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
+        UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
+        DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
+        *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
+        DRB_pdcp_config->rlc_AM = NULL;
+        DRB_pdcp_config->rlc_UM = NULL;
+        /* avoid gcc warnings */
+        (void)PDCP_rlc_UM;
+        DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
+        PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+        DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
+        UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
+        DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
+        DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
+        DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
+        DRB_ul_SpecificParameters->prioritisedBitRate =LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+        //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+        DRB_ul_SpecificParameters->bucketSizeDuration =
+          LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+        // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
+        *logicalchannelgroup_drb = 1;
+        DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
+        UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
+        ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
+        rrc_pdcp_config_asn1_req(&ctxt,
+                                 (LTE_SRB_ToAddModList_t *) NULL,
+                                 UE->DRB_configList,
+                                 (LTE_DRB_ToReleaseList_t *) NULL,
+                                 0xff, NULL, NULL, NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,(LTE_PMCH_InfoList_r9_t *)NULL
-               , 0, 0
+                                 , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-         );
-
-         rrc_rlc_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t*)NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*)NULL
+                                 ,NULL);
+        rrc_rlc_config_asn1_req(&ctxt,
+                                (LTE_SRB_ToAddModList_t *)NULL,
+                                UE->DRB_configList,
+                                (LTE_DRB_ToReleaseList_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                ,(LTE_PMCH_InfoList_r9_t *)NULL
+                                , 0, 0
+#endif
+                               );
+        rrc_rlc_config_asn1_req(&ctxt,
+                                (LTE_SRB_ToAddModList_t *)NULL,
+                                UE->DRB_configList,
+                                (LTE_DRB_ToReleaseList_t *)NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-               ,(LTE_PMCH_InfoList_r9_t *)NULL
-               , sourceL2Id, destinationL2Id
+                                ,(LTE_PMCH_InfoList_r9_t *)NULL
+                                , sourceL2Id, destinationL2Id
 #endif
-         );
-
-
-         //configure MAC with sourceL2Id/destinationL2Id
-         rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-               (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-               (struct LTE_PhysicalConfigDedicated *)NULL,
+                               );
+        //configure MAC with sourceL2Id/destinationL2Id
+        rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
+                              (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                              (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               (LTE_SCellToAddMod_r10_t *)NULL,
-               //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-               (LTE_MeasObjectToAddMod_t **)NULL,
-               (LTE_MAC_MainConfig_t *)NULL,
-               3, //LCID
-               (struct LTE_LogicalChannelConfig *)NULL,
-               (LTE_MeasGapConfig_t *)NULL,
-               (LTE_TDD_Config_t *)NULL,
-               (LTE_MobilityControlInfo_t *)NULL,
-               NULL,
-               NULL,
-               NULL,
-               NULL,
-               NULL,
-               NULL
+                              (LTE_SCellToAddMod_r10_t *)NULL,
+                              //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                              (LTE_MeasObjectToAddMod_t **)NULL,
+                              (LTE_MAC_MainConfig_t *)NULL,
+                              3, //LCID
+                              (struct LTE_LogicalChannelConfig *)NULL,
+                              (LTE_MeasGapConfig_t *)NULL,
+                              (LTE_TDD_Config_t *)NULL,
+                              (LTE_MobilityControlInfo_t *)NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL,
+                              NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,0,
-               (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-               (LTE_PMCH_InfoList_r9_t *)NULL
-
+                              ,0,
+                              (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                              (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-               ,
-               0,
-               0
+                              ,
+                              0,
+                              0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,CONFIG_ACTION_ADD,
-               &sourceL2Id,
-               &destinationL2Id
-#endif
-         );
+                              ,CONFIG_ACTION_ADD,
+                              &sourceL2Id,
+                              &destinationL2Id
+#endif
+                             );
+        LOG_I(RRC,"Send DirectCommunicationEstablishResp to ProSe App\n");
+        memset(send_buf, 0, BUFSIZE);
+        sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
+        sl_ctrl_msg_send->type = DIRECT_COMMUNICATION_ESTABLISH_RSP;
+        sl_ctrl_msg_send->sidelinkPrimitive.slrb_id = 3; //slrb_id
+        memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
+        free(sl_ctrl_msg_send);
+        prose_addr_len = sizeof(prose_app_addr);
+        n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
+
+        if (n < 0) {
+          LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
+          exit(EXIT_FAILURE);
+        }
 
-         LOG_I(RRC,"Send DirectCommunicationEstablishResp to ProSe App\n");
-         memset(send_buf, 0, BUFSIZE);
-         sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
-         sl_ctrl_msg_send->type = DIRECT_COMMUNICATION_ESTABLISH_RSP;
-         sl_ctrl_msg_send->sidelinkPrimitive.slrb_id = 3; //slrb_id
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          struct sidelink_ctrl_element *ptr_ctrl_msg = NULL;
+          ptr_ctrl_msg = (struct sidelink_ctrl_element *) send_buf;
+          LOG_UI(RRC,"[DirectCommunicationEstablishResponse]  msg type: %d\n",ptr_ctrl_msg->type);
+          LOG_UI(RRC,"[DirectCommunicationEstablishResponse]  slrb_id: %d\n",ptr_ctrl_msg->sidelinkPrimitive.slrb_id);
+        }
 
-         memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
-         free(sl_ctrl_msg_send);
+        break;
 
-         prose_addr_len = sizeof(prose_app_addr);
-         n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
-         if (n < 0){
-            LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
-            exit(EXIT_FAILURE);
-         }
+      case PC5S_ESTABLISH_REQ:
+        type =  sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.type;
+        sourceL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.sourceL2Id;
 
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          LOG_UI(RRC,"[PC5EstablishReq] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
+          LOG_UI(RRC,"[PC5EstablishReq] type: %d\n",sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.type); //RX/TX
+          LOG_UI(RRC,"[PC5EstablishReq] source Id: 0x%08x \n",sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.sourceL2Id);
+        }
 
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           struct sidelink_ctrl_element *ptr_ctrl_msg = NULL;
-           ptr_ctrl_msg = (struct sidelink_ctrl_element *) send_buf;
-           LOG_UI(RRC,"[DirectCommunicationEstablishResponse]  msg type: %d\n",ptr_ctrl_msg->type);
-           LOG_UI(RRC,"[DirectCommunicationEstablishResponse]  slrb_id: %d\n",ptr_ctrl_msg->sidelinkPrimitive.slrb_id);
-         }
-         break;
+        if (type > 0) {
+          destinationL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.destinationL2Id;
 
-      case PC5S_ESTABLISH_REQ:
-           type =  sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.type;
-           sourceL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.sourceL2Id;
-           if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-             LOG_UI(RRC,"[PC5EstablishReq] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
-             LOG_UI(RRC,"[PC5EstablishReq] type: %d\n",sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.type); //RX/TX
-             LOG_UI(RRC,"[PC5EstablishReq] source Id: 0x%08x \n",sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.sourceL2Id);
-           }
-         if (type > 0) {
-            destinationL2Id = sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.destinationL2Id;
-            if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-              LOG_UI(RRC,"[PC5EstablishReq] destination Id: 0x%08x \n",sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.destinationL2Id);
-            }
-         }
-
-         //store sourceL2Id/destinationL2Id
-         if (type > 0) { //TX
-            UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
-            j = 0;
-            i = 0;
-            for (i=0; i< MAX_NUM_DEST; i++) {
-               if ((UE_rrc_inst[module_id].destinationList[i] == 0) && (j == 0)) j = i+1;
-               if (UE_rrc_inst[module_id].destinationList[i] == destinationL2Id) break; //group already exists!
-            }
-            if ((i == MAX_NUM_DEST) && (j > 0))  UE_mac_inst[module_id].destinationList[j-1] = destinationL2Id;
-         } else {//RX
-            UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
-         }
-
-         // configure lower layers PDCP/MAC/PHY for this communication
-         //Establish a new RBID/LCID for this communication
-         // Establish a SLRB (using DRB 10 for now)
-         UE  = &UE_rrc_inst[module_id];
-         PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
-
-         UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
-         UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-         UE->DRB_config[0][0]->drb_Identity =  10;
-         UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
-         // allowed value 5..15, value : x+4
-         *(UE->DRB_config[0][0]->eps_BearerIdentity) = 10;
-         UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
-         *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
-
-         DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
-         DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
-         PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
-         DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
-         DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
-         logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
-
-         DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
-         DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
-         DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
-         UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
-
-         DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
-         UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
-         DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
-         *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
-         DRB_pdcp_config->rlc_AM = NULL;
-         DRB_pdcp_config->rlc_UM = NULL;
-
-         /* avoid gcc warnings */
-         (void)PDCP_rlc_UM;
-
-         DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
-         PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
-         DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
-
-         UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
-         DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
-         DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
-
-         DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
-         DRB_ul_SpecificParameters->prioritisedBitRate = LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
-         //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
-         DRB_ul_SpecificParameters->bucketSizeDuration =
-               LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
-
-         // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
-
-         *logicalchannelgroup_drb = 1;
-         DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
-
-         UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
-         ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
-
-         rrc_pdcp_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t *) NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*) NULL,
-               0xff, NULL, NULL, NULL
-#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               , (LTE_PMCH_InfoList_r9_t *) NULL
-#endif
-               ,NULL);
+          if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+            LOG_UI(RRC,"[PC5EstablishReq] destination Id: 0x%08x \n",sl_ctrl_msg_recv->sidelinkPrimitive.pc5s_establish_req.destinationL2Id);
+          }
+        }
+
+        //store sourceL2Id/destinationL2Id
+        if (type > 0) { //TX
+          UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
+          j = 0;
+          i = 0;
 
+          for (i=0; i< MAX_NUM_DEST; i++) {
+            if ((UE_rrc_inst[module_id].destinationList[i] == 0) && (j == 0)) j = i+1;
+
+            if (UE_rrc_inst[module_id].destinationList[i] == destinationL2Id) break; //group already exists!
+          }
+
+          if ((i == MAX_NUM_DEST) && (j > 0))  UE_mac_inst[module_id].destinationList[j-1] = destinationL2Id;
+        } else {//RX
+          UE_rrc_inst[module_id].sourceL2Id = sourceL2Id;
+        }
 
-         rrc_rlc_config_asn1_req(&ctxt,
-               (LTE_SRB_ToAddModList_t*)NULL,
-               UE->DRB_configList,
-               (LTE_DRB_ToReleaseList_t*)NULL
+        // configure lower layers PDCP/MAC/PHY for this communication
+        //Establish a new RBID/LCID for this communication
+        // Establish a SLRB (using DRB 10 for now)
+        UE  = &UE_rrc_inst[module_id];
+        PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, 0x1234, 0, 0,0);
+        UE->DRB_config[0][0] = CALLOC(1,sizeof(struct LTE_DRB_ToAddMod));
+        UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+        UE->DRB_config[0][0]->drb_Identity =  10;
+        UE->DRB_config[0][0]->eps_BearerIdentity = CALLOC(1, sizeof(long));
+        // allowed value 5..15, value : x+4
+        *(UE->DRB_config[0][0]->eps_BearerIdentity) = 10;
+        UE->DRB_config[0][0]->logicalChannelIdentity = CALLOC(1, sizeof(long));
+        *(UE->DRB_config[0][0]->logicalChannelIdentity) = UE->DRB_config[0][0]->drb_Identity; //(long) (ue_context_pP->ue_context.e_rab[i].param.e_rab_id + 2); // value : x+2
+        DRB_rlc_config                   = CALLOC(1,sizeof(struct LTE_RLC_Config));
+        DRB_pdcp_config                  = CALLOC(1,sizeof(struct LTE_PDCP_Config));
+        PDCP_rlc_UM                      = CALLOC(1,sizeof(struct LTE_PDCP_Config__rlc_UM));
+        DRB_lchan_config                 = CALLOC(1,sizeof(struct LTE_LogicalChannelConfig));
+        DRB_ul_SpecificParameters                                         = CALLOC(1, sizeof(struct LTE_LogicalChannelConfig__ul_SpecificParameters));
+        logicalchannelgroup_drb          = CALLOC(1, sizeof(long));
+        DRB_rlc_config->present = LTE_RLC_Config_PR_um_Bi_Directional;
+        DRB_rlc_config->choice.um_Bi_Directional.ul_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+        DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.sn_FieldLength = LTE_SN_FieldLength_size10;
+        DRB_rlc_config->choice.um_Bi_Directional.dl_UM_RLC.t_Reordering = LTE_T_Reordering_ms35;
+        UE->DRB_config[0][0]->rlc_Config = DRB_rlc_config;
+        DRB_pdcp_config = CALLOC(1, sizeof(*DRB_pdcp_config));
+        UE->DRB_config[0][0]->pdcp_Config = DRB_pdcp_config;
+        DRB_pdcp_config->discardTimer = CALLOC(1, sizeof(long));
+        *DRB_pdcp_config->discardTimer = LTE_PDCP_Config__discardTimer_infinity;
+        DRB_pdcp_config->rlc_AM = NULL;
+        DRB_pdcp_config->rlc_UM = NULL;
+        /* avoid gcc warnings */
+        (void)PDCP_rlc_UM;
+        DRB_pdcp_config->rlc_UM = PDCP_rlc_UM;
+        PDCP_rlc_UM->pdcp_SN_Size = LTE_PDCP_Config__rlc_UM__pdcp_SN_Size_len12bits;
+        DRB_pdcp_config->headerCompression.present = LTE_PDCP_Config__headerCompression_PR_notUsed;
+        UE->DRB_config[0][0]->logicalChannelConfig = DRB_lchan_config;
+        DRB_ul_SpecificParameters = CALLOC(1, sizeof(*DRB_ul_SpecificParameters));
+        DRB_lchan_config->ul_SpecificParameters = DRB_ul_SpecificParameters;
+        DRB_ul_SpecificParameters->priority = 12;    // lower priority than srb1, srb2 and other dedicated bearer
+        DRB_ul_SpecificParameters->prioritisedBitRate = LTE_LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_kBps8 ;
+        //LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity;
+        DRB_ul_SpecificParameters->bucketSizeDuration =
+          LTE_LogicalChannelConfig__ul_SpecificParameters__bucketSizeDuration_ms50;
+        // LCG for DTCH can take the value from 1 to 3 as defined in 36331: normally controlled by upper layers (like RRM)
+        *logicalchannelgroup_drb = 1;
+        DRB_ul_SpecificParameters->logicalChannelGroup = logicalchannelgroup_drb;
+        UE->DRB_configList = CALLOC(1,sizeof(LTE_DRB_ToAddModList_t));
+        ASN_SEQUENCE_ADD(&UE->DRB_configList->list,UE->DRB_config[0][0]);
+        rrc_pdcp_config_asn1_req(&ctxt,
+                                 (LTE_SRB_ToAddModList_t *) NULL,
+                                 UE->DRB_configList,
+                                 (LTE_DRB_ToReleaseList_t *) NULL,
+                                 0xff, NULL, NULL, NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-               ,(LTE_PMCH_InfoList_r9_t *)NULL
-               , 0, 0
+                                 , (LTE_PMCH_InfoList_r9_t *) NULL
 #endif
-         );
-
-         //TX
-         if (type > 0) {
-            rrc_rlc_config_asn1_req(&ctxt,
-                  (LTE_SRB_ToAddModList_t*)NULL,
-                  UE->DRB_configList,
-                  (LTE_DRB_ToReleaseList_t*)NULL
-#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
-                  ,(LTE_PMCH_InfoList_r9_t *)NULL
-                  , sourceL2Id, destinationL2Id
+                                 ,NULL);
+        rrc_rlc_config_asn1_req(&ctxt,
+                                (LTE_SRB_ToAddModList_t *)NULL,
+                                UE->DRB_configList,
+                                (LTE_DRB_ToReleaseList_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
+                                ,(LTE_PMCH_InfoList_r9_t *)NULL
+                                , 0, 0
 #endif
-            );
+                               );
 
-            //configure MAC with sourceL2Id/groupL2ID
-            rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-                  (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-                  (struct LTE_PhysicalConfigDedicated *)NULL,
+        //TX
+        if (type > 0) {
+          rrc_rlc_config_asn1_req(&ctxt,
+                                  (LTE_SRB_ToAddModList_t *)NULL,
+                                  UE->DRB_configList,
+                                  (LTE_DRB_ToReleaseList_t *)NULL
+#if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
+                                  ,(LTE_PMCH_InfoList_r9_t *)NULL
+                                  , sourceL2Id, destinationL2Id
+#endif
+                                 );
+          //configure MAC with sourceL2Id/groupL2ID
+          rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
+                                (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                                (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  (LTE_SCellToAddMod_r10_t *)NULL,
-                  //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-                  (LTE_MeasObjectToAddMod_t **)NULL,
-                  (LTE_MAC_MainConfig_t *)NULL,
-                  10, //LCID
-                  (struct LTE_LogicalChannelConfig *)NULL,
-                  (LTE_MeasGapConfig_t *)NULL,
-                  (LTE_TDD_Config_t *)NULL,
-                  (LTE_MobilityControlInfo_t *)NULL,
-                  NULL,
-                  NULL,
-                  NULL,
-                  NULL,
-                  NULL,
-                  NULL
+                                (LTE_SCellToAddMod_r10_t *)NULL,
+                                //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                                (LTE_MeasObjectToAddMod_t **)NULL,
+                                (LTE_MAC_MainConfig_t *)NULL,
+                                10, //LCID
+                                (struct LTE_LogicalChannelConfig *)NULL,
+                                (LTE_MeasGapConfig_t *)NULL,
+                                (LTE_TDD_Config_t *)NULL,
+                                (LTE_MobilityControlInfo_t *)NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  ,0,
-                  (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-                  (LTE_PMCH_InfoList_r9_t *)NULL
-
+                                ,0,
+                                (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                                (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-                  ,
-                  0,
-                  0
+                                ,
+                                0,
+                                0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  ,CONFIG_ACTION_ADD,
-                  &sourceL2Id,
-                  &destinationL2Id
-#endif
-            );
-         } else {//RX
-            //configure MAC with sourceL2Id/groupL2ID
-            rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
-                  (LTE_RadioResourceConfigCommonSIB_t *)NULL,
-                  (struct LTE_PhysicalConfigDedicated *)NULL,
+                                ,CONFIG_ACTION_ADD,
+                                &sourceL2Id,
+                                &destinationL2Id
+#endif
+                               );
+        } else {//RX
+          //configure MAC with sourceL2Id/groupL2ID
+          rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
+                                (LTE_RadioResourceConfigCommonSIB_t *)NULL,
+                                (struct LTE_PhysicalConfigDedicated *)NULL,
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  (LTE_SCellToAddMod_r10_t *)NULL,
-                  //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
-#endif
-                  (LTE_MeasObjectToAddMod_t **)NULL,
-                  (LTE_MAC_MainConfig_t *)NULL,
-                  10, //LCID
-                  (struct LTE_LogicalChannelConfig *)NULL,
-                  (LTE_MeasGapConfig_t *)NULL,
-                  (LTE_TDD_Config_t *)NULL,
-                  (LTE_MobilityControlInfo_t *)NULL,
-                  NULL,
-                  NULL,
-                  NULL,
-                  NULL,
-                  NULL,
-                  NULL
+                                (LTE_SCellToAddMod_r10_t *)NULL,
+                                //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
+#endif
+                                (LTE_MeasObjectToAddMod_t **)NULL,
+                                (LTE_MAC_MainConfig_t *)NULL,
+                                10, //LCID
+                                (struct LTE_LogicalChannelConfig *)NULL,
+                                (LTE_MeasGapConfig_t *)NULL,
+                                (LTE_TDD_Config_t *)NULL,
+                                (LTE_MobilityControlInfo_t *)NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL,
+                                NULL
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  ,0,
-                  (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
-                  (LTE_PMCH_InfoList_r9_t *)NULL
-
+                                ,0,
+                                (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
+                                (LTE_PMCH_InfoList_r9_t *)NULL
 #endif
 #ifdef CBA
-                  ,
-                  0,
-                  0
+                                ,
+                                0,
+                                0
 #endif
 #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
-                  ,CONFIG_ACTION_ADD,
-                  &sourceL2Id,
-                  NULL
+                                ,CONFIG_ACTION_ADD,
+                                &sourceL2Id,
+                                NULL
 #endif
-            );
-
-         }
-
-         LOG_I(RRC,"Send PC5EstablishRsp to ProSe App\n");
-         memset(send_buf, 0, BUFSIZE);
-         sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
-         sl_ctrl_msg_send->type = PC5S_ESTABLISH_RSP;
-         sl_ctrl_msg_send->sidelinkPrimitive.pc5s_establish_rsp.slrbid_lcid28 = 10;
-         sl_ctrl_msg_send->sidelinkPrimitive.pc5s_establish_rsp.slrbid_lcid29 = 10;
-         sl_ctrl_msg_send->sidelinkPrimitive.pc5s_establish_rsp.slrbid_lcid30 = 10;
-         memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
+                               );
+        }
 
-         prose_addr_len = sizeof(prose_app_addr);
-         n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
-//         free(sl_ctrl_msg_send);
-         if (n < 0){
-            LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
-            exit(EXIT_FAILURE);
-         }
-         break;
+        LOG_I(RRC,"Send PC5EstablishRsp to ProSe App\n");
+        memset(send_buf, 0, BUFSIZE);
+        sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
+        sl_ctrl_msg_send->type = PC5S_ESTABLISH_RSP;
+        sl_ctrl_msg_send->sidelinkPrimitive.pc5s_establish_rsp.slrbid_lcid28 = 10;
+        sl_ctrl_msg_send->sidelinkPrimitive.pc5s_establish_rsp.slrbid_lcid29 = 10;
+        sl_ctrl_msg_send->sidelinkPrimitive.pc5s_establish_rsp.slrbid_lcid30 = 10;
+        memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
+        prose_addr_len = sizeof(prose_app_addr);
+        n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
+
+        //         free(sl_ctrl_msg_send);
+        if (n < 0) {
+          LOG_E(RRC, "ERROR: Failed to send to ProSe App\n");
+          exit(EXIT_FAILURE);
+        }
 
+        break;
 
       case PC5_DISCOVERY_MESSAGE:
+        if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)) {
+          LOG_UI(RRC,"[PC5DiscoveryMessage] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
+        }
 
-         if (LOG_DEBUGFLAG(DEBUG_CTRLSOCKET)){
-           LOG_UI(RRC,"[PC5DiscoveryMessage] Received on socket from ProSe App (msg type: %d)\n",sl_ctrl_msg_recv->type);
-         }
         //prepare SL_Discovery buffer
-         if (UE_rrc_inst) {
-           memcpy((void*)&UE_rrc_inst[module_id].SL_Discovery[0].Tx_buffer.Payload[0], (void*)&sl_ctrl_msg_recv->sidelinkPrimitive.pc5_discovery_message.payload[0], PC5_DISCOVERY_PAYLOAD_SIZE);
-           UE_rrc_inst[module_id].SL_Discovery[0].Tx_buffer.payload_size = PC5_DISCOVERY_PAYLOAD_SIZE;
-           LOG_I(RRC,"[PC5DiscoveryMessage] Copied %d bytes\n",PC5_DISCOVERY_PAYLOAD_SIZE);
-         }
-         break;
+        if (UE_rrc_inst) {
+          memcpy((void *)&UE_rrc_inst[module_id].SL_Discovery[0].Tx_buffer.Payload[0], (void *)&sl_ctrl_msg_recv->sidelinkPrimitive.pc5_discovery_message.payload[0], PC5_DISCOVERY_PAYLOAD_SIZE);
+          UE_rrc_inst[module_id].SL_Discovery[0].Tx_buffer.payload_size = PC5_DISCOVERY_PAYLOAD_SIZE;
+          LOG_I(RRC,"[PC5DiscoveryMessage] Copied %d bytes\n",PC5_DISCOVERY_PAYLOAD_SIZE);
+        }
+
+        break;
+
       default:
-         break;
-      }
-   }
-   free (sl_ctrl_msg_recv);
-   return 0;
+        break;
+    }
+  }
+
+  free (sl_ctrl_msg_recv);
+  return 0;
 }
 
 
 //-----------------------------------------------------------------------------
 int decode_SL_Discovery_Message(
-  const protocol_ctxt_t* const ctxt_pP,
+  const protocol_ctxt_t *const ctxt_pP,
   const uint8_t                eNB_index,
-  const uint8_t*               Sdu,
-  const uint8_t                Sdu_len)
-{
-
-   int prose_addr_len;
-   char send_buf[BUFSIZE];
-   int n;
-   struct sidelink_ctrl_element *sl_ctrl_msg_send = NULL;
-
-   //from the main program, listen for the incoming messages from control socket (ProSe App)
-   prose_addr_len = sizeof(prose_app_addr);
-
-   //Store in Rx_buffer
-   memcpy((void*)&UE_rrc_inst[ctxt_pP->module_id].SL_Discovery[0].Rx_buffer.Payload[0], (void*)Sdu, Sdu_len);
-   UE_rrc_inst[ctxt_pP->module_id].SL_Discovery[0].Rx_buffer.payload_size = Sdu_len;
-
-   memset(send_buf, 0, BUFSIZE);
-   //send to ProSeApp
-   memcpy((void *)send_buf, (void*)Sdu, Sdu_len);
-   prose_addr_len = sizeof(prose_app_addr);
-
-   sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
-   sl_ctrl_msg_send->type = PC5_DISCOVERY_MESSAGE;
-   // TODO:  Add a check for the SDU size.
-   memcpy((void*)&sl_ctrl_msg_send->sidelinkPrimitive.pc5_discovery_message.payload[0], (void*) Sdu,  PC5_DISCOVERY_PAYLOAD_SIZE);
-
-   memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
-   free(sl_ctrl_msg_send);
-
-   prose_addr_len = sizeof(prose_app_addr);
-
-   n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
-   if (n < 0){
-      // TODO:  We should not just exit if the Prose App has not yet attached.  It creates a race condition.
-      LOG_I(RRC, "ERROR: Failed to send to ProSe App\n");
-      //exit(EXIT_FAILURE);
-   }
-
-
+  const uint8_t               *Sdu,
+  const uint8_t                Sdu_len) {
+  int prose_addr_len;
+  char send_buf[BUFSIZE];
+  int n;
+  struct sidelink_ctrl_element *sl_ctrl_msg_send = NULL;
+  //from the main program, listen for the incoming messages from control socket (ProSe App)
+  prose_addr_len = sizeof(prose_app_addr);
+  //Store in Rx_buffer
+  memcpy((void *)&UE_rrc_inst[ctxt_pP->module_id].SL_Discovery[0].Rx_buffer.Payload[0], (void *)Sdu, Sdu_len);
+  UE_rrc_inst[ctxt_pP->module_id].SL_Discovery[0].Rx_buffer.payload_size = Sdu_len;
+  memset(send_buf, 0, BUFSIZE);
+  //send to ProSeApp
+  memcpy((void *)send_buf, (void *)Sdu, Sdu_len);
+  prose_addr_len = sizeof(prose_app_addr);
+  sl_ctrl_msg_send = calloc(1, sizeof(struct sidelink_ctrl_element));
+  sl_ctrl_msg_send->type = PC5_DISCOVERY_MESSAGE;
+  // TODO:  Add a check for the SDU size.
+  memcpy((void *)&sl_ctrl_msg_send->sidelinkPrimitive.pc5_discovery_message.payload[0], (void *) Sdu,  PC5_DISCOVERY_PAYLOAD_SIZE);
+  memcpy((void *)send_buf, (void *)sl_ctrl_msg_send, sizeof(struct sidelink_ctrl_element));
+  free(sl_ctrl_msg_send);
+  prose_addr_len = sizeof(prose_app_addr);
+  n = sendto(ctrl_sock_fd, (char *)send_buf, sizeof(struct sidelink_ctrl_element), 0, (struct sockaddr *)&prose_app_addr, prose_addr_len);
+
+  if (n < 0) {
+    // TODO:  We should not just exit if the Prose App has not yet attached.  It creates a race condition.
+    LOG_I(RRC, "ERROR: Failed to send to ProSe App\n");
+    //exit(EXIT_FAILURE);
+  }
 
   return(0);
 }
@@ -6335,112 +5813,111 @@ int decode_SL_Discovery_Message(
 //-----------------------------------------------------------------------------
 RRC_status_t
 rrc_rx_tx_ue(
-  protocol_ctxt_t* const ctxt_pP,
+  protocol_ctxt_t *const ctxt_pP,
   const uint8_t      enb_indexP,
   const int          CC_id
 )
 //-----------------------------------------------------------------------------
 {
-
 #ifdef LOCALIZATION
   double                         estimated_distance;
   protocol_ctxt_t                ctxt;
 #endif
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_IN);
 
-    // check timers
-
-    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_active == 1) {
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt % 10) == 0)
-        LOG_D(RRC,
-              "[UE %d][RAPROC] Frame %d T300 Count %d ms\n", ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt);
-
-      if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt
-          == T300[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.t300]) {
-        UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_active = 0;
-        // ALLOW CCCH to be used
-        UE_rrc_inst[ctxt_pP->module_id].Srb0[enb_indexP].Tx_buffer.payload_size = 0;
-        rrc_ue_generate_RRCConnectionRequest (ctxt_pP, enb_indexP);
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
-        return (RRC_ConnSetup_failed);
-      }
+  // check timers
 
-      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt++;
-    }
+  if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_active == 1) {
+    if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt % 10) == 0)
+      LOG_D(RRC,
+            "[UE %d][RAPROC] Frame %d T300 Count %d ms\n", ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt);
 
-    if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].SIStatus&2)>0) {
-      if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N310_cnt
-          == N310[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.n310]) {
-	LOG_I(RRC,"Activating T310\n");
-        UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active = 1;
-      }
-    } else { // in case we have not received SIB2 yet
-      /*      if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N310_cnt == 100) {
-        UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N310_cnt = 0;
-
-	}*/
+    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt
+        == T300[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.t300]) {
+      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_active = 0;
+      // ALLOW CCCH to be used
+      UE_rrc_inst[ctxt_pP->module_id].Srb0[enb_indexP].Tx_buffer.payload_size = 0;
+      rrc_ue_generate_RRCConnectionRequest (ctxt_pP, enb_indexP);
       VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
-      return RRC_OK;
+      return (RRC_ConnSetup_failed);
     }
 
-    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active == 1) {
-      if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N311_cnt
-          == N311[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.n311]) {
-        UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active = 0;
-        UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N311_cnt = 0;
-      }
-
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt % 10) == 0) {
-        LOG_D(RRC, "[UE %d] Frame %d T310 Count %d ms\n", ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt);
-      }
-
-      if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt    == T310[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.t310]) {
-        UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active = 0;
-        rrc_t310_expiration (ctxt_pP, enb_indexP);
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
-	LOG_I(RRC,"Returning RRC_PHY_RESYNCH: T310 expired\n"); 
-        return RRC_PHY_RESYNCH;
-      }
+    UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T300_cnt++;
+  }
 
-      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt++;
+  if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].SIStatus&2)>0) {
+    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N310_cnt
+        == N310[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.n310]) {
+      LOG_I(RRC,"Activating T310\n");
+      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active = 1;
     }
+  } else { // in case we have not received SIB2 yet
+    /*      if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N310_cnt == 100) {
+      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N310_cnt = 0;
 
-    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_active==1) {
-      if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt % 10) == 0)
-        LOG_D(RRC,"[UE %d][RAPROC] Frame %d T304 Count %d ms\n",ctxt_pP->module_id,ctxt_pP->frame,
-              UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt);
+    }*/
+    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
+    return RRC_OK;
+  }
 
-      if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt == 0) {
-        UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_active = 0;
-        UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag = 1;
-        LOG_E(RRC,"[UE %d] Handover failure..initiating connection re-establishment procedure... \n",
-              ctxt_pP->module_id);
-        //Implement 36.331, section 5.3.5.6 here
-        VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
-        return(RRC_Handover_failed);
-      }
+  if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active == 1) {
+    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N311_cnt
+        == N311[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.n311]) {
+      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active = 0;
+      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].N311_cnt = 0;
+    }
 
-      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt--;
+    if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt % 10) == 0) {
+      LOG_D(RRC, "[UE %d] Frame %d T310 Count %d ms\n", ctxt_pP->module_id, ctxt_pP->frame, UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt);
     }
 
-    // Layer 3 filtering of RRC measurements
-    if (UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[0] != NULL) {
-      ue_meas_filtering(ctxt_pP,enb_indexP);
+    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt    == T310[UE_rrc_inst[ctxt_pP->module_id].sib2[enb_indexP]->ue_TimersAndConstants.t310]) {
+      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_active = 0;
+      rrc_t310_expiration (ctxt_pP, enb_indexP);
+      VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
+      LOG_I(RRC,"Returning RRC_PHY_RESYNCH: T310 expired\n");
+      return RRC_PHY_RESYNCH;
     }
 
-    ue_measurement_report_triggering(ctxt_pP,enb_indexP);
+    UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T310_cnt++;
+  }
 
-    if (UE_rrc_inst[ctxt_pP->module_id].Info[0].handoverTarget > 0) {
-      LOG_I(RRC,"[UE %d] Frame %d : RRC handover initiated\n", ctxt_pP->module_id, ctxt_pP->frame);
-    }
+  if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_active==1) {
+    if ((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt % 10) == 0)
+      LOG_D(RRC,"[UE %d][RAPROC] Frame %d T304 Count %d ms\n",ctxt_pP->module_id,ctxt_pP->frame,
+            UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt);
 
-    if((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].State == RRC_HO_EXECUTION)   &&
-        (UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId != 0xFF)) {
-      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].State= RRC_IDLE;
+    if (UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt == 0) {
+      UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_active = 0;
+      UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.measFlag = 1;
+      LOG_E(RRC,"[UE %d] Handover failure..initiating connection re-establishment procedure... \n",
+            ctxt_pP->module_id);
+      //Implement 36.331, section 5.3.5.6 here
       VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
-      return(RRC_HO_STARTED);
+      return(RRC_Handover_failed);
     }
 
+    UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].T304_cnt--;
+  }
+
+  // Layer 3 filtering of RRC measurements
+  if (UE_rrc_inst[ctxt_pP->module_id].QuantityConfig[0] != NULL) {
+    ue_meas_filtering(ctxt_pP,enb_indexP);
+  }
+
+  ue_measurement_report_triggering(ctxt_pP,enb_indexP);
+
+  if (UE_rrc_inst[ctxt_pP->module_id].Info[0].handoverTarget > 0) {
+    LOG_I(RRC,"[UE %d] Frame %d : RRC handover initiated\n", ctxt_pP->module_id, ctxt_pP->frame);
+  }
+
+  if((UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].State == RRC_HO_EXECUTION)   &&
+      (UE_rrc_inst[ctxt_pP->module_id].HandoverInfoUe.targetCellId != 0xFF)) {
+    UE_rrc_inst[ctxt_pP->module_id].Info[enb_indexP].State= RRC_IDLE;
+    VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
+    return(RRC_HO_STARTED);
+  }
+
   VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
   return (RRC_OK);
 }
diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c
index cbce50734172c2ca49d771d3f07c568eb3f85d3a..d0a6693429aa77c9fb7241464eba6bfcafeeeb0d 100644
--- a/openair2/RRC/LTE/rrc_eNB.c
+++ b/openair2/RRC/LTE/rrc_eNB.c
@@ -5499,37 +5499,6 @@ rrc_eNB_decode_ccch(
                0,
                0);
 
-  /*
-  #if defined(ENABLE_ITTI)
-  #   if defined(DISABLE_ITTI_XER_PRINT)
-  {
-    MessageDef                         *message_p;
-
-    message_p = itti_alloc_new_message(TASK_RRC_ENB, RRC_UL_CCCH_MESSAGE);
-    memcpy(&message_p->ittiMsg, (void *)ul_ccch_msg, sizeof(RrcUlCcchMessage));
-
-    itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, message_p);
-  }
-  #   else
-  {
-    char                                message_string[10000];
-    size_t                              message_string_size;
-
-    if ((message_string_size =
-           xer_sprint(message_string, sizeof(message_string), &asn_DEF_LTE_UL_CCCH_Message, (void *)ul_ccch_msg)) > 0) {
-      MessageDef                         *msg_p;
-
-      msg_p = itti_alloc_new_message_sized(TASK_RRC_ENB, RRC_UL_CCCH, message_string_size + sizeof(IttiMsgText));
-      msg_p->ittiMsg.rrc_ul_ccch.size = message_string_size;
-      memcpy(&msg_p->ittiMsg.rrc_ul_ccch.text, message_string, message_string_size);
-
-      itti_send_msg_to_task(TASK_UNKNOWN, ctxt_pP->instance, msg_p);
-    }
-  }
-  #   endif
-  #endif
-  */
-
   for (i = 0; i < 8; i++) {
     LOG_T(RRC, "%x.", ((uint8_t *) & ul_ccch_msg)[i]);
   }
@@ -6017,12 +5986,8 @@ rrc_eNB_decode_dcch(
   LTE_UL_DCCH_Message_t               *ul_dcch_msg = NULL; //&uldcchmsg;
   int i;
   struct rrc_eNB_ue_context_s        *ue_context_p = NULL;
-#if defined(ENABLE_ITTI)
-#   if defined(ENABLE_USE_MME)
   MessageDef                         *msg_delete_tunnels_p = NULL;
   uint8_t                             xid;
-#endif
-#endif
   int dedicated_DRB=0;
   T(T_ENB_RRC_UL_DCCH_DATA_IN, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
     T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
diff --git a/openair2/X2AP/x2ap_eNB.c b/openair2/X2AP/x2ap_eNB.c
index d12dfa881979b9a3841471ed236b64ff4475c621..13f6989f1cbe9749f3c5b727e3f20ecb4acc0409 100644
--- a/openair2/X2AP/x2ap_eNB.c
+++ b/openair2/X2AP/x2ap_eNB.c
@@ -67,30 +67,21 @@ void x2ap_eNB_register_eNB(x2ap_eNB_instance_t *instance_p,
 
 static
 void x2ap_eNB_handle_sctp_data_ind(instance_t instance, sctp_data_ind_t *sctp_data_ind) {
-
   int result;
-
   DevAssert(sctp_data_ind != NULL);
-
   x2ap_eNB_handle_message(instance, sctp_data_ind->assoc_id, sctp_data_ind->stream,
                           sctp_data_ind->buffer, sctp_data_ind->buffer_length);
-
   result = itti_free(TASK_UNKNOWN, sctp_data_ind->buffer);
   AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
-
 }
 
 static
-void x2ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_association_resp_t *sctp_new_association_resp)
-{
+void x2ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_association_resp_t *sctp_new_association_resp) {
   x2ap_eNB_instance_t *instance_p;
   x2ap_eNB_data_t *x2ap_enb_data_p;
-
   DevAssert(sctp_new_association_resp != NULL);
-
-printf("x2ap_eNB_handle_sctp_association_resp at 1\n");
-dump_trees();
-
+  printf("x2ap_eNB_handle_sctp_association_resp at 1\n");
+  dump_trees();
   instance_p = x2ap_eNB_get_instance(instance);
   DevAssert(instance_p != NULL);
 
@@ -99,13 +90,15 @@ dump_trees();
    */
   if (sctp_new_association_resp->assoc_id != -1) {
     x2ap_enb_data_p = x2ap_get_eNB(instance_p, sctp_new_association_resp->assoc_id,
-                                       sctp_new_association_resp->ulp_cnx_id);
+                                   sctp_new_association_resp->ulp_cnx_id);
+
     if (x2ap_enb_data_p != NULL) {
       /* some sanity check - to be refined at some point */
       if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
         X2AP_ERROR("x2ap_enb_data_p not NULL and sctp state not SCTP_STATE_ESTABLISHED, what to do?\n");
         abort();
       }
+
       x2ap_enb_data_p->in_streams  = sctp_new_association_resp->in_streams;
       x2ap_enb_data_p->out_streams = sctp_new_association_resp->out_streams;
       return;
@@ -113,70 +106,60 @@ dump_trees();
   }
 
   x2ap_enb_data_p = x2ap_get_eNB(instance_p, -1,
-                                     sctp_new_association_resp->ulp_cnx_id);
+                                 sctp_new_association_resp->ulp_cnx_id);
   DevAssert(x2ap_enb_data_p != NULL);
-
-printf("x2ap_eNB_handle_sctp_association_resp at 2\n");
-dump_trees();
+  printf("x2ap_eNB_handle_sctp_association_resp at 2\n");
+  dump_trees();
 
   if (sctp_new_association_resp->sctp_state != SCTP_STATE_ESTABLISHED) {
     X2AP_WARN("Received unsuccessful result for SCTP association (%u), instance %d, cnx_id %u\n",
               sctp_new_association_resp->sctp_state,
               instance,
               sctp_new_association_resp->ulp_cnx_id);
-
     x2ap_handle_x2_setup_message(x2ap_enb_data_p,
-				 sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN);
-
+                                 sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN);
     return;
   }
 
-printf("x2ap_eNB_handle_sctp_association_resp at 3\n");
-dump_trees();
-
+  printf("x2ap_eNB_handle_sctp_association_resp at 3\n");
+  dump_trees();
   /* Update parameters */
   x2ap_enb_data_p->assoc_id    = sctp_new_association_resp->assoc_id;
   x2ap_enb_data_p->in_streams  = sctp_new_association_resp->in_streams;
   x2ap_enb_data_p->out_streams = sctp_new_association_resp->out_streams;
-
-printf("x2ap_eNB_handle_sctp_association_resp at 4\n");
-dump_trees();
-
+  printf("x2ap_eNB_handle_sctp_association_resp at 4\n");
+  dump_trees();
   /* Prepare new x2 Setup Request */
   x2ap_eNB_generate_x2_setup_request(instance_p, x2ap_enb_data_p);
 }
 
 static
-void x2ap_eNB_handle_sctp_association_ind(instance_t instance, sctp_new_association_ind_t *sctp_new_association_ind)
-{
+void x2ap_eNB_handle_sctp_association_ind(instance_t instance, sctp_new_association_ind_t *sctp_new_association_ind) {
   x2ap_eNB_instance_t *instance_p;
   x2ap_eNB_data_t *x2ap_enb_data_p;
-
-printf("x2ap_eNB_handle_sctp_association_ind at 1 (called for instance %d)\n", instance);
-dump_trees();
+  printf("x2ap_eNB_handle_sctp_association_ind at 1 (called for instance %d)\n", instance);
+  dump_trees();
   DevAssert(sctp_new_association_ind != NULL);
-
   instance_p = x2ap_eNB_get_instance(instance);
   DevAssert(instance_p != NULL);
-
   x2ap_enb_data_p = x2ap_get_eNB(instance_p, sctp_new_association_ind->assoc_id, -1);
+
   if (x2ap_enb_data_p != NULL) abort();
-//  DevAssert(x2ap_enb_data_p != NULL);
+
+  //  DevAssert(x2ap_enb_data_p != NULL);
   if (x2ap_enb_data_p == NULL) {
     /* Create new eNB descriptor */
     x2ap_enb_data_p = calloc(1, sizeof(*x2ap_enb_data_p));
     DevAssert(x2ap_enb_data_p != NULL);
-
     x2ap_enb_data_p->cnx_id                = x2ap_eNB_fetch_add_global_cnx_id();
-
     x2ap_enb_data_p->x2ap_eNB_instance = instance_p;
-
     /* Insert the new descriptor in list of known eNB
      * but not yet associated.
      */
     RB_INSERT(x2ap_enb_map, &instance_p->x2ap_enb_head, x2ap_enb_data_p);
     x2ap_enb_data_p->state = X2AP_ENB_STATE_CONNECTED;
     instance_p->x2_target_enb_nb++;
+
     if (instance_p->x2_target_enb_pending_nb > 0) {
       instance_p->x2_target_enb_pending_nb--;
     }
@@ -184,37 +167,31 @@ dump_trees();
     X2AP_WARN("x2ap_enb_data_p already exists\n");
   }
 
-printf("x2ap_eNB_handle_sctp_association_ind at 2\n");
-dump_trees();
+  printf("x2ap_eNB_handle_sctp_association_ind at 2\n");
+  dump_trees();
   /* Update parameters */
   x2ap_enb_data_p->assoc_id    = sctp_new_association_ind->assoc_id;
   x2ap_enb_data_p->in_streams  = sctp_new_association_ind->in_streams;
   x2ap_enb_data_p->out_streams = sctp_new_association_ind->out_streams;
-
-printf("x2ap_eNB_handle_sctp_association_ind at 3\n");
-dump_trees();
+  printf("x2ap_eNB_handle_sctp_association_ind at 3\n");
+  dump_trees();
 }
 
 int x2ap_eNB_init_sctp (x2ap_eNB_instance_t *instance_p,
-			net_ip_address_t    *local_ip_addr,
-			uint32_t enb_port_for_X2C)
-{
+                        net_ip_address_t    *local_ip_addr,
+                        uint32_t enb_port_for_X2C) {
   // Create and alloc new message
   MessageDef                             *message;
   sctp_init_t                            *sctp_init  = NULL;
-
   DevAssert(instance_p != NULL);
   DevAssert(local_ip_addr != NULL);
-
   message = itti_alloc_new_message (TASK_X2AP, SCTP_INIT_MSG_MULTI_REQ);
   sctp_init = &message->ittiMsg.sctp_init_multi;
-
   sctp_init->port = enb_port_for_X2C;
   sctp_init->ppid = X2AP_SCTP_PPID;
   sctp_init->ipv4 = 1;
   sctp_init->ipv6 = 0;
   sctp_init->nb_ipv4_addr = 1;
-
 #if 0
   memcpy(&sctp_init->ipv4_address,
          local_ip_addr,
@@ -227,9 +204,7 @@ int x2ap_eNB_init_sctp (x2ap_eNB_instance_t *instance_p,
    */
   sctp_init->nb_ipv6_addr = 0;
   sctp_init->ipv6_address[0] = "0:0:0:0:0:0:0:1";
-
   return itti_send_msg_to_task (TASK_SCTP, instance_p->instance, message);
-
 }
 
 static void x2ap_eNB_register_eNB(x2ap_eNB_instance_t *instance_p,
@@ -237,47 +212,33 @@ static void x2ap_eNB_register_eNB(x2ap_eNB_instance_t *instance_p,
                                   net_ip_address_t    *local_ip_addr,
                                   uint16_t             in_streams,
                                   uint16_t             out_streams,
-				  uint32_t	       enb_port_for_X2C,
-                                  int                  multi_sd)
-{
-
+                                  uint32_t         enb_port_for_X2C,
+                                  int                  multi_sd) {
   MessageDef                       *message                   = NULL;
   sctp_new_association_req_multi_t *sctp_new_association_req  = NULL;
   x2ap_eNB_data_t                  *x2ap_enb_data             = NULL;
-
   DevAssert(instance_p != NULL);
   DevAssert(target_eNB_ip_address != NULL);
-
   message = itti_alloc_new_message(TASK_X2AP, SCTP_NEW_ASSOCIATION_REQ_MULTI);
-
   sctp_new_association_req = &message->ittiMsg.sctp_new_association_req_multi;
-
   sctp_new_association_req->port = enb_port_for_X2C;
   sctp_new_association_req->ppid = X2AP_SCTP_PPID;
-
   sctp_new_association_req->in_streams  = in_streams;
   sctp_new_association_req->out_streams = out_streams;
-
   sctp_new_association_req->multi_sd = multi_sd;
-
   memcpy(&sctp_new_association_req->remote_address,
          target_eNB_ip_address,
          sizeof(*target_eNB_ip_address));
-
   memcpy(&sctp_new_association_req->local_address,
          local_ip_addr,
          sizeof(*local_ip_addr));
-
   /* Create new eNB descriptor */
   x2ap_enb_data = calloc(1, sizeof(*x2ap_enb_data));
   DevAssert(x2ap_enb_data != NULL);
-
   x2ap_enb_data->cnx_id                = x2ap_eNB_fetch_add_global_cnx_id();
   sctp_new_association_req->ulp_cnx_id = x2ap_enb_data->cnx_id;
-
   x2ap_enb_data->assoc_id          = -1;
   x2ap_enb_data->x2ap_eNB_instance = instance_p;
-
   /* Insert the new descriptor in list of known eNB
    * but not yet associated.
    */
@@ -285,18 +246,14 @@ static void x2ap_eNB_register_eNB(x2ap_eNB_instance_t *instance_p,
   x2ap_enb_data->state = X2AP_ENB_STATE_WAITING;
   instance_p->x2_target_enb_nb ++;
   instance_p->x2_target_enb_pending_nb ++;
-
   itti_send_msg_to_task(TASK_SCTP, instance_p->instance, message);
 }
 
 static
 void x2ap_eNB_handle_register_eNB(instance_t instance,
-				  x2ap_register_enb_req_t *x2ap_register_eNB)
-{
+                                  x2ap_register_enb_req_t *x2ap_register_eNB) {
   x2ap_eNB_instance_t *new_instance;
-
   DevAssert(x2ap_register_eNB != NULL);
-
   /* Look if the provided instance already exists */
   new_instance = x2ap_eNB_get_instance(instance);
 
@@ -308,13 +265,10 @@ void x2ap_eNB_handle_register_eNB(instance_t instance,
     DevCheck(new_instance->mcc == x2ap_register_eNB->mcc, new_instance->mcc, x2ap_register_eNB->mcc, 0);
     DevCheck(new_instance->mnc == x2ap_register_eNB->mnc, new_instance->mnc, x2ap_register_eNB->mnc, 0);
     X2AP_WARN("eNB[%d] already registered\n", instance);
-  }
-  else {
+  } else {
     new_instance = calloc(1, sizeof(x2ap_eNB_instance_t));
     DevAssert(new_instance != NULL);
-
     RB_INIT(&new_instance->x2ap_enb_head);
-
     /* Copy usefull parameters */
     new_instance->instance         = instance;
     new_instance->eNB_name         = x2ap_register_eNB->eNB_name;
@@ -324,10 +278,9 @@ void x2ap_eNB_handle_register_eNB(instance_t instance,
     new_instance->mcc              = x2ap_register_eNB->mcc;
     new_instance->mnc              = x2ap_register_eNB->mnc;
     new_instance->mnc_digit_length = x2ap_register_eNB->mnc_digit_length;
-
     new_instance->num_cc           = x2ap_register_eNB->num_cc;
 
-    for (int i = 0; i< x2ap_register_eNB->num_cc; i++){
+    for (int i = 0; i< x2ap_register_eNB->num_cc; i++) {
       new_instance->eutra_band[i]              = x2ap_register_eNB->eutra_band[i];
       new_instance->downlink_frequency[i]      = x2ap_register_eNB->downlink_frequency[i];
       new_instance->uplink_frequency_offset[i] = x2ap_register_eNB->uplink_frequency_offset[i];
@@ -343,44 +296,40 @@ void x2ap_eNB_handle_register_eNB(instance_t instance,
     memcpy(new_instance->target_enb_x2_ip_address,
            x2ap_register_eNB->target_enb_x2_ip_address,
            x2ap_register_eNB->nb_x2 * sizeof(net_ip_address_t));
-
     new_instance->nb_x2             = x2ap_register_eNB->nb_x2;
     new_instance->enb_x2_ip_address = x2ap_register_eNB->enb_x2_ip_address;
     new_instance->sctp_in_streams   = x2ap_register_eNB->sctp_in_streams;
     new_instance->sctp_out_streams  = x2ap_register_eNB->sctp_out_streams;
     new_instance->enb_port_for_X2C  = x2ap_register_eNB->enb_port_for_X2C;
-
     /* Add the new instance to the list of eNB (meaningfull in virtual mode) */
     x2ap_eNB_insert_new_instance(new_instance);
-
     X2AP_INFO("Registered new eNB[%d] and %s eNB id %u\n",
-               instance,
-               x2ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
-               x2ap_register_eNB->eNB_id);
+              instance,
+              x2ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
+              x2ap_register_eNB->eNB_id);
+
     /* initiate the SCTP listener */
     if (x2ap_eNB_init_sctp(new_instance,&x2ap_register_eNB->enb_x2_ip_address,x2ap_register_eNB->enb_port_for_X2C) <  0 ) {
-          X2AP_ERROR ("Error while sending SCTP_INIT_MSG to SCTP \n");
-          return;
+      X2AP_ERROR ("Error while sending SCTP_INIT_MSG to SCTP \n");
+      return;
     }
-      X2AP_INFO("eNB[%d] eNB id %u acting as a listner (server)\n",
-                instance, x2ap_register_eNB->eNB_id);
+
+    X2AP_INFO("eNB[%d] eNB id %u acting as a listner (server)\n",
+              instance, x2ap_register_eNB->eNB_id);
   }
 }
 
 static
 void x2ap_eNB_handle_sctp_init_msg_multi_cnf(
-        instance_t instance_id,
-        sctp_init_msg_multi_cnf_t *m)
-{
+  instance_t instance_id,
+  sctp_init_msg_multi_cnf_t *m) {
   x2ap_eNB_instance_t *instance;
   int index;
-
   DevAssert(m != NULL);
-
   instance = x2ap_eNB_get_instance(instance_id);
   DevAssert(instance != NULL);
-
   instance->multi_sd = m->multi_sd;
+
   /* Exit if CNF message reports failure.
    * Failure means multi_sd < 0.
    */
@@ -392,72 +341,67 @@ void x2ap_eNB_handle_sctp_init_msg_multi_cnf(
   /* Trying to connect to the provided list of eNB ip address */
 
   for (index = 0; index < instance->nb_x2; index++) {
-
-      X2AP_INFO("eNB[%d] eNB id %u acting as an initiator (client)\n",
-                instance_id, instance->eNB_id);
-      x2ap_eNB_register_eNB(instance,
-                            &instance->target_enb_x2_ip_address[index],
-                            &instance->enb_x2_ip_address,
-                            instance->sctp_in_streams,
-                            instance->sctp_out_streams,
-                            instance->enb_port_for_X2C,
-                            instance->multi_sd);
+    X2AP_INFO("eNB[%d] eNB id %u acting as an initiator (client)\n",
+              instance_id, instance->eNB_id);
+    x2ap_eNB_register_eNB(instance,
+                          &instance->target_enb_x2_ip_address[index],
+                          &instance->enb_x2_ip_address,
+                          instance->sctp_in_streams,
+                          instance->sctp_out_streams,
+                          instance->enb_port_for_X2C,
+                          instance->multi_sd);
   }
 }
 
-void *x2ap_task(void *arg)
-{
+void *x2ap_task(void *arg) {
   MessageDef *received_msg = NULL;
   int         result;
-
   X2AP_DEBUG("Starting X2AP layer\n");
-
   x2ap_eNB_prepare_internal_data();
-
   itti_mark_task_ready(TASK_X2AP);
 
   while (1) {
     itti_receive_msg(TASK_X2AP, &received_msg);
+
     switch (ITTI_MSG_ID(received_msg)) {
-    case TERMINATE_MESSAGE:
-      X2AP_WARN(" *** Exiting X2AP thread\n");
-      itti_exit_task();
-      break;
-
-    case X2AP_REGISTER_ENB_REQ:
-      x2ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
-                                   &X2AP_REGISTER_ENB_REQ(received_msg));
-      break;
-
-    case SCTP_INIT_MSG_MULTI_CNF:
-      x2ap_eNB_handle_sctp_init_msg_multi_cnf(ITTI_MESSAGE_GET_INSTANCE(received_msg),
-                                              &received_msg->ittiMsg.sctp_init_msg_multi_cnf);
-      break;
-
-    case SCTP_NEW_ASSOCIATION_RESP:
-      x2ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
-					    &received_msg->ittiMsg.sctp_new_association_resp);
-      break;
-
-    case SCTP_NEW_ASSOCIATION_IND:
-      x2ap_eNB_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
-					   &received_msg->ittiMsg.sctp_new_association_ind);
-      break;
-
-    case SCTP_DATA_IND:
-      x2ap_eNB_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
-                                           &received_msg->ittiMsg.sctp_data_ind);
-      break;
-
-    default:
-      X2AP_ERROR("Received unhandled message: %d:%s\n",
-                 ITTI_MSG_ID(received_msg), ITTI_MSG_NAME(received_msg));
-      break;
+      case TERMINATE_MESSAGE:
+        X2AP_WARN(" *** Exiting X2AP thread\n");
+        itti_exit_task();
+        break;
+
+      case X2AP_REGISTER_ENB_REQ:
+        x2ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                                     &X2AP_REGISTER_ENB_REQ(received_msg));
+        break;
+
+      case SCTP_INIT_MSG_MULTI_CNF:
+        x2ap_eNB_handle_sctp_init_msg_multi_cnf(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                                                &received_msg->ittiMsg.sctp_init_msg_multi_cnf);
+        break;
+
+      case SCTP_NEW_ASSOCIATION_RESP:
+        x2ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                                              &received_msg->ittiMsg.sctp_new_association_resp);
+        break;
+
+      case SCTP_NEW_ASSOCIATION_IND:
+        x2ap_eNB_handle_sctp_association_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                                             &received_msg->ittiMsg.sctp_new_association_ind);
+        break;
+
+      case SCTP_DATA_IND:
+        x2ap_eNB_handle_sctp_data_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
+                                      &received_msg->ittiMsg.sctp_data_ind);
+        break;
+
+      default:
+        X2AP_ERROR("Received unhandled message: %d:%s\n",
+                   ITTI_MSG_ID(received_msg), ITTI_MSG_NAME(received_msg));
+        break;
     }
 
     result = itti_free (ITTI_MSG_ORIGIN_ID(received_msg), received_msg);
     AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
-
     received_msg = NULL;
   }
 
diff --git a/openair3/NAS/UE/nas_itti_messaging.c b/openair3/NAS/UE/nas_itti_messaging.c
index 0389106ec35e5a705a27352c4de8838efb74557a..0c5a2fec1fa67f828a1b13292d0d1473f1352e33 100644
--- a/openair3/NAS/UE/nas_itti_messaging.c
+++ b/openair3/NAS/UE/nas_itti_messaging.c
@@ -85,94 +85,13 @@ static const uint8_t esm_message_ids[] = {
   ESM_STATUS,
 };
 
-static int _nas_find_message_index(const uint8_t message_id, const uint8_t *message_ids, const int ids_number)
-{
-  int i;
 
-  for(i = 0; i < ids_number; i ++) {
-    if (message_id == message_ids[i]) {
-      return (2 + i);
-    }
-  }
-
-  return (1);
-}
-
-int nas_itti_plain_msg(const char *buffer, const nas_message_t *msg, const int length, const int down_link)
-{
-  MessageDef *message_p;
-  int data_length = length < NAS_DATA_LENGHT_MAX ? length : NAS_DATA_LENGHT_MAX;
-  int message_type = -1;
-  MessagesIds messageId_raw = -1;
-  MessagesIds messageId_plain = -1;
-
-  /* Define message ids */
-  if (msg->header.protocol_discriminator == EPS_MOBILITY_MANAGEMENT_MESSAGE) {
-    message_type    = 0;
-    messageId_raw   = down_link ? NAS_DL_EMM_RAW_MSG : NAS_UL_EMM_RAW_MSG;
-    messageId_plain = down_link ? NAS_DL_EMM_PLAIN_MSG : NAS_UL_EMM_PLAIN_MSG;
-  } else {
-    if (msg->header.protocol_discriminator == EPS_SESSION_MANAGEMENT_MESSAGE) {
-      message_type    = 1;
-      messageId_raw   = down_link ? NAS_DL_ESM_RAW_MSG : NAS_UL_ESM_RAW_MSG;
-      messageId_plain = down_link ? NAS_DL_ESM_PLAIN_MSG : NAS_UL_ESM_PLAIN_MSG;
-    }
-  }
-
-  if (message_type >= 0) {
-    /* Create and send the RAW message */
-    message_p = itti_alloc_new_message(TASK_ORIGIN, messageId_raw);
-
-    NAS_DL_EMM_RAW_MSG(message_p).lenght = length;
-    memset ((void *) &(NAS_DL_EMM_RAW_MSG(message_p).data), 0, NAS_DATA_LENGHT_MAX);
-    memcpy ((void *) &(NAS_DL_EMM_RAW_MSG(message_p).data), buffer, data_length);
-
-    itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-
-    /* Create and send the plain message */
-    if (message_type == 0) {
-      message_p = itti_alloc_new_message(TASK_ORIGIN, messageId_plain);
-
-      NAS_DL_EMM_PLAIN_MSG(message_p).present = _nas_find_message_index(msg->plain.emm.header.message_type, emm_message_ids, sizeof(emm_message_ids) / sizeof(emm_message_ids[0]));
-      memcpy ((void *) &(NAS_DL_EMM_PLAIN_MSG(message_p).choice), &msg->plain.emm, sizeof (EMM_msg));
-    } else {
-      message_p = itti_alloc_new_message(TASK_ORIGIN, messageId_plain);
-
-      NAS_DL_ESM_PLAIN_MSG(message_p).present = _nas_find_message_index(msg->plain.esm.header.message_type, esm_message_ids, sizeof(esm_message_ids) / sizeof(esm_message_ids[0]));
-      memcpy ((void *) &(NAS_DL_ESM_PLAIN_MSG(message_p).choice), &msg->plain.esm, sizeof (ESM_msg));
-    }
-
-    return itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-  }
-
-  return EXIT_FAILURE;
+int nas_itti_plain_msg(const char *buffer, const nas_message_t *msg, const int length, const int down_link) {
+  return 0;
 }
 
-int nas_itti_protected_msg(const char *buffer, const nas_message_t *msg, const int length, const int down_link)
-{
-  MessageDef *message_p = NULL;
-
-  if (msg->header.protocol_discriminator == EPS_MOBILITY_MANAGEMENT_MESSAGE) {
-    message_p = itti_alloc_new_message(TASK_ORIGIN, down_link ? NAS_DL_EMM_PROTECTED_MSG : NAS_UL_EMM_PROTECTED_MSG);
-
-    memcpy ((void *) &(NAS_DL_EMM_PROTECTED_MSG(message_p).header), &msg->header, sizeof (nas_message_security_header_t));
-    NAS_DL_EMM_PROTECTED_MSG(message_p).present = _nas_find_message_index(msg->security_protected.plain.emm.header.message_type, emm_message_ids, sizeof(emm_message_ids) / sizeof(emm_message_ids[0]));
-    memcpy ((void *) &(NAS_DL_EMM_PROTECTED_MSG(message_p).choice), &msg->security_protected.plain.emm, sizeof (EMM_msg));
-  } else {
-    if (msg->header.protocol_discriminator == EPS_SESSION_MANAGEMENT_MESSAGE) {
-      message_p = itti_alloc_new_message(TASK_ORIGIN, down_link ? NAS_DL_ESM_PROTECTED_MSG : NAS_UL_ESM_PROTECTED_MSG);
-
-      memcpy ((void *) &(NAS_DL_ESM_PROTECTED_MSG(message_p).header), &msg->header, sizeof (nas_message_security_header_t));
-      NAS_DL_ESM_PROTECTED_MSG(message_p).present =  _nas_find_message_index(msg->security_protected.plain.esm.header.message_type, esm_message_ids, sizeof(esm_message_ids) / sizeof(esm_message_ids[0]));
-      memcpy ((void *) &(NAS_DL_ESM_PROTECTED_MSG(message_p).choice), &msg->security_protected.plain.esm, sizeof (ESM_msg));
-    }
-  }
-
-  if (message_p != NULL) {
-    return itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
-  }
-
-  return EXIT_FAILURE;
+int nas_itti_protected_msg(const char *buffer, const nas_message_t *msg, const int length, const int down_link) {
+  return 0;
 }
 #endif
 
@@ -180,112 +99,89 @@ int nas_itti_protected_msg(const char *buffer, const nas_message_t *msg, const i
 
 extern unsigned char NB_eNB_INST;
 
-int nas_itti_kenb_refresh_req(const Byte_t kenb[32])
-{
+int nas_itti_kenb_refresh_req(const Byte_t kenb[32]) {
   MessageDef *message_p;
-
   message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_KENB_REFRESH_REQ);
-
   memcpy(NAS_KENB_REFRESH_REQ(message_p).kenb, kenb, sizeof(NAS_KENB_REFRESH_REQ(message_p).kenb));
-
   MSC_LOG_TX_MESSAGE(
-      MSC_NAS_UE,
-      MSC_RRC_UE,
-      NULL,0,
-      "0 NAS_KENB_REFRESH_REQ KeNB "
-      "%02x%02x%02x%02x"
-      "%02x%02x%02x%02x"
-      "%02x%02x%02x%02x"
-      "%02x%02x%02x%02x"
-      "%02x%02x%02x%02x"
-      "%02x%02x%02x%02x"
-      "%02x%02x%02x%02x"
-      "%02x%02x%02x%02x",
-      kenb[0],  kenb[1],  kenb[2],  kenb[3],
-      kenb[4],  kenb[5],  kenb[6],  kenb[7],
-      kenb[8],  kenb[9],  kenb[10], kenb[11],
-      kenb[12], kenb[13], kenb[14], kenb[15],
-      kenb[16], kenb[17], kenb[18], kenb[19],
-      kenb[20], kenb[21], kenb[22], kenb[23],
-      kenb[24], kenb[25], kenb[26], kenb[27],
-      kenb[28], kenb[29], kenb[30], kenb[31]);
-
+    MSC_NAS_UE,
+    MSC_RRC_UE,
+    NULL,0,
+    "0 NAS_KENB_REFRESH_REQ KeNB "
+    "%02x%02x%02x%02x"
+    "%02x%02x%02x%02x"
+    "%02x%02x%02x%02x"
+    "%02x%02x%02x%02x"
+    "%02x%02x%02x%02x"
+    "%02x%02x%02x%02x"
+    "%02x%02x%02x%02x"
+    "%02x%02x%02x%02x",
+    kenb[0],  kenb[1],  kenb[2],  kenb[3],
+    kenb[4],  kenb[5],  kenb[6],  kenb[7],
+    kenb[8],  kenb[9],  kenb[10], kenb[11],
+    kenb[12], kenb[13], kenb[14], kenb[15],
+    kenb[16], kenb[17], kenb[18], kenb[19],
+    kenb[20], kenb[21], kenb[22], kenb[23],
+    kenb[24], kenb[25], kenb[26], kenb[27],
+    kenb[28], kenb[29], kenb[30], kenb[31]);
   return itti_send_msg_to_task(TASK_RRC_UE, NB_eNB_INST + 0 /* TODO to be virtualized */, message_p);
 }
 
-int nas_itti_cell_info_req(const plmn_t plmnID, const Byte_t rat, int user_id)
-{
+int nas_itti_cell_info_req(const plmn_t plmnID, const Byte_t rat, int user_id) {
   MessageDef *message_p;
-
   message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_CELL_SELECTION_REQ);
-
   NAS_CELL_SELECTION_REQ(message_p).plmnID    = plmnID;
   NAS_CELL_SELECTION_REQ(message_p).rat       = rat;
-
   MSC_LOG_TX_MESSAGE(
-  	  MSC_NAS_UE,
-  	  MSC_RRC_UE,
-  	  NULL,0,
-  	  "0 NAS_CELL_SELECTION_REQ PLMN %X%X%X.%X%X%X",
-  	  plmnID.MCCdigit1, plmnID.MCCdigit2, plmnID.MCCdigit3,
-  	  plmnID.MNCdigit1, plmnID.MNCdigit2, plmnID.MNCdigit3);
-
+    MSC_NAS_UE,
+    MSC_RRC_UE,
+    NULL,0,
+    "0 NAS_CELL_SELECTION_REQ PLMN %X%X%X.%X%X%X",
+    plmnID.MCCdigit1, plmnID.MCCdigit2, plmnID.MCCdigit3,
+    plmnID.MNCdigit1, plmnID.MNCdigit2, plmnID.MNCdigit3);
   return itti_send_msg_to_task(TASK_RRC_UE, NB_eNB_INST + user_id, message_p);
 }
 
-int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t s_tmsi, plmn_t plmnID, Byte_t *data, uint32_t length, int user_id)
-{
+int nas_itti_nas_establish_req(as_cause_t cause, as_call_type_t type, as_stmsi_t s_tmsi, plmn_t plmnID, Byte_t *data, uint32_t length, int user_id) {
   MessageDef *message_p;
-
   message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_CONN_ESTABLI_REQ);
-
   NAS_CONN_ESTABLI_REQ(message_p).cause                       = cause;
   NAS_CONN_ESTABLI_REQ(message_p).type                        = type;
   NAS_CONN_ESTABLI_REQ(message_p).s_tmsi                      = s_tmsi;
   NAS_CONN_ESTABLI_REQ(message_p).plmnID                      = plmnID;
   NAS_CONN_ESTABLI_REQ(message_p).initialNasMsg.data          = data;
   NAS_CONN_ESTABLI_REQ(message_p).initialNasMsg.length        = length;
-
   MSC_LOG_TX_MESSAGE(
-		  MSC_NAS_UE,
-		  MSC_RRC_UE,
-  	      NULL,0,
-  	     "0 NAS_CONN_ESTABLI_REQ MME code %u m-TMSI %u PLMN %X%X%X.%X%X%X",
-  	     s_tmsi.MMEcode, s_tmsi.m_tmsi,
-  	     plmnID.MCCdigit1, plmnID.MCCdigit2, plmnID.MCCdigit3,
-  	     plmnID.MNCdigit1, plmnID.MNCdigit2, plmnID.MNCdigit3);
-
+    MSC_NAS_UE,
+    MSC_RRC_UE,
+    NULL,0,
+    "0 NAS_CONN_ESTABLI_REQ MME code %u m-TMSI %u PLMN %X%X%X.%X%X%X",
+    s_tmsi.MMEcode, s_tmsi.m_tmsi,
+    plmnID.MCCdigit1, plmnID.MCCdigit2, plmnID.MCCdigit3,
+    plmnID.MNCdigit1, plmnID.MNCdigit2, plmnID.MNCdigit3);
   return itti_send_msg_to_task(TASK_RRC_UE, NB_eNB_INST + user_id, message_p);
 }
 
-int nas_itti_ul_data_req(const uint32_t ue_id, void *const data, const uint32_t length, int user_id)
-{
+int nas_itti_ul_data_req(const uint32_t ue_id, void *const data, const uint32_t length, int user_id) {
   MessageDef *message_p;
-
   message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_UPLINK_DATA_REQ);
-
   NAS_UPLINK_DATA_REQ(message_p).UEid          = ue_id;
   NAS_UPLINK_DATA_REQ(message_p).nasMsg.data   = data;
   NAS_UPLINK_DATA_REQ(message_p).nasMsg.length = length;
-
   return itti_send_msg_to_task(TASK_RRC_UE, NB_eNB_INST + user_id, message_p);
 }
 
-int nas_itti_rab_establish_rsp(const as_stmsi_t s_tmsi, const as_rab_id_t rabID, const nas_error_code_t errCode, int user_id)
-{
+int nas_itti_rab_establish_rsp(const as_stmsi_t s_tmsi, const as_rab_id_t rabID, const nas_error_code_t errCode, int user_id) {
   MessageDef *message_p;
-
   message_p = itti_alloc_new_message(TASK_NAS_UE, NAS_RAB_ESTABLI_RSP);
-
   NAS_RAB_ESTABLI_RSP(message_p).s_tmsi       = s_tmsi;
   NAS_RAB_ESTABLI_RSP(message_p).rabID        = rabID;
   NAS_RAB_ESTABLI_RSP(message_p).errCode      = errCode;
-
   MSC_LOG_TX_MESSAGE(
-		  MSC_NAS_UE,
-		  MSC_RRC_UE,
-  	      NULL,0,
-  	     "0 NAS_RAB_ESTABLI_RSP MME code %u m-TMSI %u rb id %u status %u",
-  	     s_tmsi.MMEcode, s_tmsi.m_tmsi,rabID, errCode );
+    MSC_NAS_UE,
+    MSC_RRC_UE,
+    NULL,0,
+    "0 NAS_RAB_ESTABLI_RSP MME code %u m-TMSI %u rb id %u status %u",
+    s_tmsi.MMEcode, s_tmsi.m_tmsi,rabID, errCode );
   return itti_send_msg_to_task(TASK_RRC_UE, NB_eNB_INST + user_id, message_p);
 }
diff --git a/openair3/S1AP/s1ap_eNB_decoder.c b/openair3/S1AP/s1ap_eNB_decoder.c
index c12374f7586397c832725dab601e09e027fb48e3..dd1dfadc23fecb583509b5275f4db15f36d06617 100644
--- a/openair3/S1AP/s1ap_eNB_decoder.c
+++ b/openair3/S1AP/s1ap_eNB_decoder.c
@@ -36,103 +36,52 @@
 #include "s1ap_common.h"
 #include "s1ap_eNB_decoder.h"
 
-static int s1ap_eNB_decode_initiating_message(S1AP_S1AP_PDU_t *pdu)
-{
-  MessageDef *message_p;
-  MessagesIds message_id;
+static int s1ap_eNB_decode_initiating_message(S1AP_S1AP_PDU_t *pdu) {
   asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
   DevAssert(pdu != NULL);
 
   switch(pdu->choice.initiatingMessage.procedureCode) {
     case S1AP_ProcedureCode_id_downlinkNASTransport:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_DOWNLINK_NAS_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_downlink_nas_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_downlink_nas_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_InitialContextSetup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_initial_context_setup_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_UEContextRelease:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_UE_CONTEXT_RELEASE_COMMAND_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_ue_context_release_command_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_ue_context_release_command_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_Paging:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_PAGING_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_paging_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_paging_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       S1AP_INFO("Paging initiating message\n");
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_E_RABSetup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_E_RAB_SETUP_REQUEST_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_e_rab_setup_request_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_e_rab_setup_request_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       S1AP_INFO("E_RABSetup initiating message\n");
       break;
 
     case S1AP_ProcedureCode_id_E_RABModify:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_E_RAB_MODIFY_REQUEST_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_e_rab_modify_request_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_e_rab_modify_request_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       S1AP_INFO("E_RABModify initiating message\n");
       break;
 
     case S1AP_ProcedureCode_id_E_RABRelease:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_E_RAB_RELEASE_REQUEST_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_e_rab_release_request_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_e_rab_release_request_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       S1AP_INFO("TODO E_RABRelease initiating message\n");
       break;
 
     case S1AP_ProcedureCode_id_ErrorIndication:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_ERROR_INDICATION_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
-                  res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_error_indication_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_error_indication_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       S1AP_INFO("TODO ErrorIndication initiating message\n");
       break;
@@ -148,21 +97,13 @@ static int s1ap_eNB_decode_initiating_message(S1AP_S1AP_PDU_t *pdu)
   return 0;
 }
 
-static int s1ap_eNB_decode_successful_outcome(S1AP_S1AP_PDU_t *pdu)
-{
-  MessageDef *message_p;
-  MessagesIds message_id;
+static int s1ap_eNB_decode_successful_outcome(S1AP_S1AP_PDU_t *pdu) {
   asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
   DevAssert(pdu != NULL);
 
   switch(pdu->choice.successfulOutcome.procedureCode) {
     case S1AP_ProcedureCode_id_S1Setup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_S1_SETUP_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_s1_setup_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
@@ -175,21 +116,13 @@ static int s1ap_eNB_decode_successful_outcome(S1AP_S1AP_PDU_t *pdu)
   return 0;
 }
 
-static int s1ap_eNB_decode_unsuccessful_outcome(S1AP_S1AP_PDU_t *pdu)
-{
-  MessageDef *message_p;
-  MessagesIds message_id;
+static int s1ap_eNB_decode_unsuccessful_outcome(S1AP_S1AP_PDU_t *pdu) {
   asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
   DevAssert(pdu != NULL);
 
   switch(pdu->choice.unsuccessfulOutcome.procedureCode) {
     case S1AP_ProcedureCode_id_S1Setup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_S1_SETUP_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_s1_setup_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
@@ -203,13 +136,10 @@ static int s1ap_eNB_decode_unsuccessful_outcome(S1AP_S1AP_PDU_t *pdu)
 }
 
 int s1ap_eNB_decode_pdu(S1AP_S1AP_PDU_t *pdu, const uint8_t *const buffer,
-                        const uint32_t length)
-{
+                        const uint32_t length) {
   asn_dec_rval_t dec_ret;
-
   DevAssert(pdu != NULL);
   DevAssert(buffer != NULL);
-
   dec_ret = aper_decode(NULL,
                         &asn_DEF_S1AP_S1AP_PDU,
                         (void **)&pdu,
diff --git a/openair3/S1AP/s1ap_eNB_encoder.c b/openair3/S1AP/s1ap_eNB_encoder.c
index bc0c69792def7fec332f0723ed6e5e9a9d7fb640..e282d1dd78227f3104b92fd95a89d0d5128060c3 100644
--- a/openair3/S1AP/s1ap_eNB_encoder.c
+++ b/openair3/S1AP/s1ap_eNB_encoder.c
@@ -47,8 +47,7 @@ static inline int s1ap_eNB_encode_successfull_outcome(S1AP_S1AP_PDU_t *pdu,
 static inline int s1ap_eNB_encode_unsuccessfull_outcome(S1AP_S1AP_PDU_t *pdu,
     uint8_t **buffer, uint32_t *len);
 
-int s1ap_eNB_encode_pdu(S1AP_S1AP_PDU_t *pdu, uint8_t **buffer, uint32_t *len)
-{
+int s1ap_eNB_encode_pdu(S1AP_S1AP_PDU_t *pdu, uint8_t **buffer, uint32_t *len) {
   int ret = -1;
   DevAssert(pdu != NULL);
   DevAssert(buffer != NULL);
@@ -79,71 +78,38 @@ int s1ap_eNB_encode_pdu(S1AP_S1AP_PDU_t *pdu, uint8_t **buffer, uint32_t *len)
 
 static inline
 int s1ap_eNB_encode_initiating(S1AP_S1AP_PDU_t *pdu,
-                               uint8_t **buffer, uint32_t *len)
-{
-  MessageDef *message_p;
-  MessagesIds message_id;
+                               uint8_t **buffer, uint32_t *len) {
   asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
   DevAssert(pdu != NULL);
 
   switch(pdu->choice.initiatingMessage.procedureCode) {
     case S1AP_ProcedureCode_id_S1Setup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_S1_SETUP_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_s1_setup_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_uplinkNASTransport:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_UPLINK_NAS_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_uplink_nas_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_uplink_nas_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_UECapabilityInfoIndication:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_UE_CAPABILITY_IND_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_ue_capability_ind_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_ue_capability_ind_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_initialUEMessage:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_INITIAL_UE_MESSAGE_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_initial_ue_message_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_initial_ue_message_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_NASNonDeliveryIndication:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_NAS_NON_DELIVERY_IND_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_nas_non_delivery_ind_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_nas_non_delivery_ind_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_UEContextReleaseRequest:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_UE_CONTEXT_RELEASE_REQ_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_ue_context_release_req_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_ue_context_release_req_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
@@ -166,63 +132,35 @@ int s1ap_eNB_encode_initiating(S1AP_S1AP_PDU_t *pdu,
 
 static inline
 int s1ap_eNB_encode_successfull_outcome(S1AP_S1AP_PDU_t *pdu,
-                                        uint8_t **buffer, uint32_t *len)
-{
-  MessageDef *message_p;
-  MessagesIds message_id;
+                                        uint8_t **buffer, uint32_t *len) {
   asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
   DevAssert(pdu != NULL);
 
   switch(pdu->choice.successfulOutcome.procedureCode) {
     case S1AP_ProcedureCode_id_InitialContextSetup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_initial_context_setup_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_UEContextRelease:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_UE_CONTEXT_RELEASE_COMPLETE_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_ue_context_release_complete_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_ue_context_release_complete_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
     case S1AP_ProcedureCode_id_E_RABSetup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_E_RAB_SETUP_RESPONSE_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_e_rab_setup_response_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_e_rab_setup_response_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       S1AP_INFO("E_RABSetup successful message\n");
       break;
 
     case S1AP_ProcedureCode_id_E_RABModify:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_E_RAB_MODIFY_RESPONSE_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_e_rab_modify_response_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_e_rab_modify_response_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       S1AP_INFO("E_RABModify successful message\n");
       break;
 
     case S1AP_ProcedureCode_id_E_RABRelease:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_E_RAB_RELEASE_RESPONSE_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_e_rab_release_response_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_e_rab_release_response_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       S1AP_INFO("E_RAB Release successful message\n");
       break;
@@ -246,21 +184,13 @@ int s1ap_eNB_encode_successfull_outcome(S1AP_S1AP_PDU_t *pdu,
 
 static inline
 int s1ap_eNB_encode_unsuccessfull_outcome(S1AP_S1AP_PDU_t *pdu,
-    uint8_t **buffer, uint32_t *len)
-{
-  MessageDef *message_p;
-  MessagesIds message_id;
+    uint8_t **buffer, uint32_t *len) {
   asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
   DevAssert(pdu != NULL);
 
   switch(pdu->choice.unsuccessfulOutcome.procedureCode) {
     case S1AP_ProcedureCode_id_InitialContextSetup:
       res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
-      message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
-      message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
-      message_p->ittiMsg.s1ap_initial_context_setup_log.size = res.result.encoded;
-      memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, res.buffer, res.result.encoded);
-      itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
       free(res.buffer);
       break;
 
diff --git a/targets/COMMON/create_tasks.c b/targets/COMMON/create_tasks.c
index 2c27cc29e8bb542f7d41ef2c30eba9a3c55d68a2..3cb7d23467c3622617799de692350efe2eaddde4 100644
--- a/targets/COMMON/create_tasks.c
+++ b/targets/COMMON/create_tasks.c
@@ -25,40 +25,34 @@
 # include "common/utils/LOG/log.h"
 # include "targets/RT/USER/lte-softmodem.h"
 
-# ifdef OPENAIR2
-#   if defined(ENABLE_USE_MME)
-#     include "sctp_eNB_task.h"
-#     include "x2ap_eNB.h"
-#     include "s1ap_eNB.h"
-#     include "nas_ue_task.h"
-#     include "udp_eNB_task.h"
-#     include "gtpv1u_eNB_task.h"
-/* temporary warning removale while implementing noS1 */
-/* as config option                                   */
-#   else
-#     ifdef EPC_MODE_ENABLED
-#       undef  EPC_MODE_ENABLED
-#     endif
-#     define EPC_MODE_ENABLED 0
-#   endif
-#   if ENABLE_RAL
-#     include "lteRALue.h"
-#     include "lteRALenb.h"
-#   endif
-#   include "RRC/LTE/rrc_defs.h"
-# endif
+#ifdef OPENAIR2
+  #if defined(ENABLE_USE_MME)
+    #include "sctp_eNB_task.h"
+    #include "x2ap_eNB.h"
+    #include "s1ap_eNB.h"
+    #include "nas_ue_task.h"
+    #include "udp_eNB_task.h"
+    #include "gtpv1u_eNB_task.h"
+    /* temporary warning removale while implementing noS1 */
+    /* as config option                                   */
+  #else
+    #ifdef EPC_MODE_ENABLED
+      #undef  EPC_MODE_ENABLED
+    #endif
+    #define EPC_MODE_ENABLED 0
+  #endif
+  #if ENABLE_RAL
+    #include "lteRALue.h"
+    #include "lteRALenb.h"
+  #endif
+  #include "RRC/LTE/rrc_defs.h"
+#endif
 # include "enb_app.h"
 
 
-int create_tasks(uint32_t enb_nb)
-{
+int create_tasks(uint32_t enb_nb) {
   LOG_D(ENB_APP, "%s(enb_nb:%d\n", __FUNCTION__, enb_nb);
-
   itti_wait_ready(1);
-  if (itti_create_task (TASK_L2L1, l2l1_task, NULL) < 0) {
-    LOG_E(PDCP, "Create task for L2L1 failed\n");
-    return -1;
-  }
 
   if (enb_nb > 0) {
     /* Last task to create, others task must be ready before its start */
@@ -67,50 +61,52 @@ int create_tasks(uint32_t enb_nb)
       return -1;
     }
   }
+
 # if defined(ENABLE_USE_MME)
+
   if (EPC_MODE_ENABLED) {
-      if (enb_nb > 0) {
-        if (itti_create_task (TASK_X2AP, x2ap_task, NULL) < 0) {
-          LOG_E(X2AP, "Create task for X2AP failed\n");
-          return -1;
-        }
+    if (enb_nb > 0) {
+      if (itti_create_task (TASK_X2AP, x2ap_task, NULL) < 0) {
+        LOG_E(X2AP, "Create task for X2AP failed\n");
+        return -1;
+      }
 
-        if (itti_create_task (TASK_SCTP, sctp_eNB_task, NULL) < 0) {
-          LOG_E(SCTP, "Create task for SCTP failed\n");
-          return -1;
-        }
+      if (itti_create_task (TASK_SCTP, sctp_eNB_task, NULL) < 0) {
+        LOG_E(SCTP, "Create task for SCTP failed\n");
+        return -1;
+      }
 
-        if (itti_create_task (TASK_S1AP, s1ap_eNB_task, NULL) < 0) {
-          LOG_E(S1AP, "Create task for S1AP failed\n");
-          return -1;
-        }
-        if(!(get_softmodem_params()->emulate_rf)){
-          if (itti_create_task (TASK_UDP, udp_eNB_task, NULL) < 0) {
-            LOG_E(UDP_, "Create task for UDP failed\n");
-            return -1;
-          }
-        }
+      if (itti_create_task (TASK_S1AP, s1ap_eNB_task, NULL) < 0) {
+        LOG_E(S1AP, "Create task for S1AP failed\n");
+        return -1;
+      }
 
-        if (itti_create_task (TASK_GTPV1_U, &gtpv1u_eNB_task, NULL) < 0) {
-          LOG_E(GTPU, "Create task for GTPV1U failed\n");
+      if(!(get_softmodem_params()->emulate_rf)) {
+        if (itti_create_task (TASK_UDP, udp_eNB_task, NULL) < 0) {
+          LOG_E(UDP_, "Create task for UDP failed\n");
           return -1;
         }
       }
 
-  } /* if (EPC_MODE_ENABLED) */
-#endif
-    if (enb_nb > 0) {
-      LOG_I(RRC,"Creating RRC eNB Task\n");
-
-      if (itti_create_task (TASK_RRC_ENB, rrc_enb_task, NULL) < 0) {
-        LOG_E(RRC, "Create task for RRC eNB failed\n");
+      if (itti_create_task (TASK_GTPV1_U, &gtpv1u_eNB_task, NULL) < 0) {
+        LOG_E(GTPU, "Create task for GTPV1U failed\n");
         return -1;
       }
     }
+  } /* if (EPC_MODE_ENABLED) */
 
+#endif
 
-  itti_wait_ready(0);
+  if (enb_nb > 0) {
+    LOG_I(RRC,"Creating RRC eNB Task\n");
+
+    if (itti_create_task (TASK_RRC_ENB, rrc_enb_task, NULL) < 0) {
+      LOG_E(RRC, "Create task for RRC eNB failed\n");
+      return -1;
+    }
+  }
 
+  itti_wait_ready(0);
   return 0;
 }
 #endif
diff --git a/targets/COMMON/create_tasks_ue.c b/targets/COMMON/create_tasks_ue.c
index 20b5979f31ee1c5829aee774739c4095afe50a49..601b342ee88f9d5fec96182c4658fb735eaa9d5a 100644
--- a/targets/COMMON/create_tasks_ue.c
+++ b/targets/COMMON/create_tasks_ue.c
@@ -24,57 +24,52 @@
 # include "create_tasks.h"
 # include "common/utils/LOG/log.h"
 
-# ifdef OPENAIR2
-#   if defined(ENABLE_USE_MME)
-#     include "sctp_eNB_task.h"
-#     include "s1ap_eNB.h"
-#     include "nas_ue_task.h"
-#     include "udp_eNB_task.h"
-#     include "gtpv1u_eNB_task.h"
-#   endif
-#   if ENABLE_RAL
-#     include "lteRALue.h"
-#     include "lteRALenb.h"
-#   endif
-#   include "RRC/LTE/rrc_defs.h"
-# endif
+#ifdef OPENAIR2
+  #if defined(ENABLE_USE_MME)
+    #include "sctp_eNB_task.h"
+    #include "s1ap_eNB.h"
+    #include "nas_ue_task.h"
+    #include "udp_eNB_task.h"
+    #include "gtpv1u_eNB_task.h"
+  #endif
+  #if ENABLE_RAL
+    #include "lteRALue.h"
+    #include "lteRALenb.h"
+  #endif
+  #include "RRC/LTE/rrc_defs.h"
+#endif
 # include "enb_app.h"
 
-int create_tasks_ue(uint32_t ue_nb)
-{
+int create_tasks_ue(uint32_t ue_nb) {
   LOG_D(ENB_APP, "%s(ue_nb:%d)\n", __FUNCTION__, ue_nb);
-
   itti_wait_ready(1);
-  if (itti_create_task (TASK_L2L1, l2l1_task, NULL) < 0) {
-    LOG_E(PDCP, "Create task for L2L1 failed\n");
-    return -1;
-  }
-
 #      if defined(ENABLE_USE_MME)
 #      if defined(NAS_BUILT_IN_UE)
-      if (ue_nb > 0) {
-        nas_user_container_t *users = calloc(1, sizeof(*users));
-        if (users == NULL) abort();
-        users->count = ue_nb;
-        if (itti_create_task (TASK_NAS_UE, nas_ue_task, users) < 0) {
-          LOG_E(NAS, "Create task for NAS UE failed\n");
-          return -1;
-        }
-      }
-#      endif
-#      endif
 
-    if (ue_nb > 0) {
-      if (itti_create_task (TASK_RRC_UE, rrc_ue_task, NULL) < 0) {
-        LOG_E(RRC, "Create task for RRC UE failed\n");
-        return -1;
-      }
+  if (ue_nb > 0) {
+    nas_user_container_t *users = calloc(1, sizeof(*users));
+
+    if (users == NULL) abort();
+
+    users->count = ue_nb;
 
+    if (itti_create_task (TASK_NAS_UE, nas_ue_task, users) < 0) {
+      LOG_E(NAS, "Create task for NAS UE failed\n");
+      return -1;
     }
+  }
 
+#      endif
+#      endif
 
-  itti_wait_ready(0);
+  if (ue_nb > 0) {
+    if (itti_create_task (TASK_RRC_UE, rrc_ue_task, NULL) < 0) {
+      LOG_E(RRC, "Create task for RRC UE failed\n");
+      return -1;
+    }
+  }
 
+  itti_wait_ready(0);
   return 0;
 }
 #endif
diff --git a/targets/RT/USER/lte-softmodem.c b/targets/RT/USER/lte-softmodem.c
index 27869b800e15cf387f0b610a7e90112041b4f769..b349b06a06b3cfae572bd77bfaa53344f3d6ed45 100644
--- a/targets/RT/USER/lte-softmodem.c
+++ b/targets/RT/USER/lte-softmodem.c
@@ -127,10 +127,7 @@ int config_sync_var=-1;
 uint16_t runtime_phy_rx[29][6]; // SISO [MCS 0-28][RBs 0-5 : 6, 15, 25, 50, 75, 100]
 uint16_t runtime_phy_tx[29][6]; // SISO [MCS 0-28][RBs 0-5 : 6, 15, 25, 50, 75, 100]
 
-#if defined(ENABLE_ITTI)
-  volatile int             start_eNB = 0;
-  volatile int             start_UE = 0;
-#endif
+
 volatile int             oai_exit = 0;
 
 uint32_t                 downlink_frequency[MAX_NUM_CCs][4];
@@ -379,61 +376,6 @@ static void *scope_thread(void *arg) {
 #endif
 
 
-
-
-#if defined(ENABLE_ITTI)
-void *l2l1_task(void *arg) {
-  MessageDef *message_p = NULL;
-  int         result;
-  itti_set_task_real_time(TASK_L2L1);
-  itti_mark_task_ready(TASK_L2L1);
-  /* Wait for the initialize message */
-  printf("Wait for the ITTI initialize message\n");
-
-  while (1) {
-    itti_receive_msg (TASK_L2L1, &message_p);
-
-    switch (ITTI_MSG_ID(message_p)) {
-      case INITIALIZE_MESSAGE:
-        /* Start eNB thread */
-        LOG_D(PHY, "L2L1 TASK received %s\n", ITTI_MSG_NAME(message_p));
-        start_eNB = 1;
-        break;
-
-      case TERMINATE_MESSAGE:
-        LOG_W(PHY, " *** Exiting L2L1 thread\n");
-        oai_exit=1;
-        start_eNB = 0;
-        itti_exit_task ();
-        break;
-
-      case ACTIVATE_MESSAGE:
-        start_UE = 1;
-        break;
-
-      case DEACTIVATE_MESSAGE:
-        start_UE = 0;
-        break;
-
-      case MESSAGE_TEST:
-        printf("Received %s\n", ITTI_MSG_NAME(message_p));
-        break;
-
-      default:
-        printf("Received unexpected message %s\n", ITTI_MSG_NAME(message_p));
-        break;
-    }
-
-    result = itti_free (ITTI_MSG_ORIGIN_ID(message_p), message_p);
-    AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
-    message_p = NULL;
-  };
-
-  return NULL;
-}
-#endif
-
-
 static void get_options(void) {
   CONFIG_SETRTFLAG(CONFIG_NOEXITONHELP);
   get_common_options();
@@ -565,7 +507,6 @@ int stop_L1L2(module_id_t enb_id) {
 
   /* these tasks need to pick up new configuration */
   terminate_task(enb_id, TASK_ENB_APP, TASK_RRC_ENB);
-  terminate_task(enb_id, TASK_ENB_APP, TASK_L2L1);
   oai_exit = 1;
   LOG_I(ENB_APP, "calling kill_RU_proc() for instance %d\n", enb_id);
   kill_RU_proc(RC.ru[enb_id]);
@@ -617,13 +558,6 @@ int restart_L1L2(module_id_t enb_id) {
     LOG_I(RRC, "Re-created task for RRC eNB successfully\n");
   }
 
-  if (itti_create_task (TASK_L2L1, l2l1_task, NULL) < 0) {
-    LOG_E(PDCP, "Create task for L2L1 failed\n");
-    return -1;
-  } else {
-    LOG_I(PDCP, "Re-created task for L2L1 successfully\n");
-  }
-
   /* pass a reconfiguration request which will configure everything down to
    * RC.eNB[i][j]->frame_parms, too */
   msg_p = itti_alloc_new_message(TASK_ENB_APP, RRC_CONFIGURATION_REQ);
diff --git a/targets/RT/USER/lte-softmodem.h b/targets/RT/USER/lte-softmodem.h
index 65186fa72cfaba46ea1ce58572353686114ffa4c..eb02b10f37c3cda1de8d6c45d386e13c9180e0e2 100644
--- a/targets/RT/USER/lte-softmodem.h
+++ b/targets/RT/USER/lte-softmodem.h
@@ -201,6 +201,8 @@
     {"C" ,                      CONFIG_HLP_DLF,         0,                      uptr:&(downlink_frequency[0][0]),   defuintval:2680000000,          TYPE_UINT,      0},                     \
     {"a" ,                      CONFIG_HLP_CHOFF,       0,                      iptr:&CHAIN_OFFSET,                 defintval:0,                    TYPE_INT,       0},                     \
     {"d" ,                      CONFIG_HLP_SOFTS,       PARAMFLAG_BOOL,         uptr:(uint32_t *)&DO_FORMS,         defintval:0,                    TYPE_INT8,      0},                     \
+    {"W" ,                      CONFIG_HLP_L2MONW,      0,                      strptr:(char **)&in_ip,             defstrval:"127.0.0.1",          TYPE_STRING,    sizeof(in_ip)},         \
+    {"P" ,                      CONFIG_HLP_L2MONP,      0,                      strptr:(char **)&in_path,           defstrval:"/tmp/oai_opt.pcap",  TYPE_STRING,    sizeof(in_path)},       \
     {"q" ,                      CONFIG_HLP_STMON,       PARAMFLAG_BOOL,         iptr:&opp_enabled,                  defintval:0,                    TYPE_INT,       0},                     \
     {"S" ,                      CONFIG_HLP_MSLOTS,      PARAMFLAG_BOOL,         u8ptr:&exit_missed_slots,           defintval:1,                    TYPE_UINT8,     0},                     \
     {"numerology" ,             CONFIG_HLP_NUMEROLOGY,  PARAMFLAG_BOOL,         iptr:&NUMEROLOGY,                   defintval:0,                    TYPE_INT,       0},                     \
@@ -237,6 +239,7 @@
     { .s5= {NULL }} ,                   \
     { .s5= {NULL }} ,                   \
   }
+
 /***************************************************************************************************************************************/
 /*  */
 #include "threads_t.h"
@@ -292,14 +295,6 @@ extern int sync_var;
 extern int transmission_mode;
 extern double cpuf;
 
-#if defined(ENABLE_ITTI)
-  extern volatile int             start_eNB;
-  extern volatile int             start_UE;
-#endif
-
-
-
-
 // In lte-enb.c
 extern void init_eNB(int single_thread_flag,int wait_for_sync);
 extern void stop_eNB(int);
diff --git a/targets/RT/USER/lte-uesoftmodem.c b/targets/RT/USER/lte-uesoftmodem.c
index e10c10c668e3faa1059bf35983f4bccad710f66d..a3aa0036628cdda51be0b0014de6fa5aedee89fa 100644
--- a/targets/RT/USER/lte-uesoftmodem.c
+++ b/targets/RT/USER/lte-uesoftmodem.c
@@ -128,10 +128,6 @@ int config_sync_var=-1;
 uint16_t runtime_phy_rx[29][6]; // SISO [MCS 0-28][RBs 0-5 : 6, 15, 25, 50, 75, 100]
 uint16_t runtime_phy_tx[29][6]; // SISO [MCS 0-28][RBs 0-5 : 6, 15, 25, 50, 75, 100]
 
-#if defined(ENABLE_ITTI)
-  volatile int             start_eNB = 0;
-  volatile int             start_UE = 0;
-#endif
 volatile int             oai_exit = 0;
 
 clock_source_t clock_source = internal;
@@ -402,48 +398,6 @@ static void *scope_thread(void *arg) {
 
 
 
-#if defined(ENABLE_ITTI)
-void *l2l1_task(void *arg) {
-  MessageDef *message_p = NULL;
-  int         result;
-  itti_set_task_real_time(TASK_L2L1);
-  itti_mark_task_ready(TASK_L2L1);
-
-  do {
-    // Wait for a message
-    itti_receive_msg (TASK_L2L1, &message_p);
-
-    switch (ITTI_MSG_ID(message_p)) {
-      case TERMINATE_MESSAGE:
-        oai_exit=1;
-        itti_exit_task ();
-        break;
-
-      case ACTIVATE_MESSAGE:
-        start_UE = 1;
-        break;
-
-      case DEACTIVATE_MESSAGE:
-        start_UE = 0;
-        break;
-
-      case MESSAGE_TEST:
-        LOG_I(SIM, "Received %s\n", ITTI_MSG_NAME(message_p));
-        break;
-
-      default:
-        LOG_E(SIM, "Received unexpected message %s\n", ITTI_MSG_NAME(message_p));
-        break;
-    }
-
-    result = itti_free (ITTI_MSG_ORIGIN_ID(message_p), message_p);
-    AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
-  } while(!oai_exit);
-
-  return NULL;
-}
-#endif
-
 extern int16_t dlsch_demod_shift;
 
 static void get_options(void) {