diff --git a/openair2/COMMON/rrc_messages_def.h b/openair2/COMMON/rrc_messages_def.h
index f2efaa9cb2f348d16c2416a8a708e099f4bf6009..8bea6659a3f258af345394ce2ffab0246157f8e6 100644
--- a/openair2/COMMON/rrc_messages_def.h
+++ b/openair2/COMMON/rrc_messages_def.h
@@ -5,7 +5,12 @@
  *      Author: winckel
  */
 
+MESSAGE_DEF(RRC_DL_BCCH_MESSAGE,        MESSAGE_PRIORITY_MED_PLUS, RrcDlBcchMessage,            rrc_dl_bcch_message)
+MESSAGE_DEF(RRC_DL_CCCH_MESSAGE,        MESSAGE_PRIORITY_MED_PLUS, RrcDlCcchMessage,            rrc_dl_ccch_message)
+MESSAGE_DEF(RRC_DL_DCCH_MESSAGE,        MESSAGE_PRIORITY_MED_PLUS, RrcDlDcchMessage,            rrc_dl_dcch_message)
 MESSAGE_DEF(RRC_UE_EUTRA_CAPABILITY,    MESSAGE_PRIORITY_MED_PLUS, RrcUeEutraCapability,        rrc_ue_eutra_capability)
+MESSAGE_DEF(RRC_UL_CCCH_MESSAGE,        MESSAGE_PRIORITY_MED_PLUS, RrcUlCcchMessage,            rrc_ul_ccch_message)
+MESSAGE_DEF(RRC_UL_DCCH_MESSAGE,        MESSAGE_PRIORITY_MED_PLUS, RrcUlDcchMessage,            rrc_ul_dcch_message)
 
 //-------------------------------------------------------------------------------------------//
 // Messages from MAC layer
diff --git a/openair2/COMMON/rrc_messages_types.h b/openair2/COMMON/rrc_messages_types.h
index 362009a3001ad00e8389ac7a157fe4da81630cf9..75550b403602ae22ed7fada12cd03f149e5f4154 100644
--- a/openair2/COMMON/rrc_messages_types.h
+++ b/openair2/COMMON/rrc_messages_types.h
@@ -8,7 +8,12 @@
 #ifndef RRC_MESSAGES_TYPES_H_
 #define RRC_MESSAGES_TYPES_H_
 
+#include "BCCH-DL-SCH-Message.h"
+#include "DL-CCCH-Message.h"
+#include "DL-DCCH-Message.h"
 #include "UE-EUTRA-Capability.h"
+#include "UL-CCCH-Message.h"
+#include "UL-DCCH-Message.h"
 
 //-------------------------------------------------------------------------------------------//
 // Defines to access message fields.
@@ -34,7 +39,12 @@
 #define CCCH_SDU_SIZE                           (128)
 #define MCCH_SDU_SIZE                           (128)
 
-typedef UE_EUTRA_Capability_t RrcUeEutraCapability;
+typedef BCCH_DL_SCH_Message_t   RrcDlBcchMessage;
+typedef DL_CCCH_Message_t       RrcDlCcchMessage;
+typedef DL_DCCH_Message_t       RrcDlDcchMessage;
+typedef UE_EUTRA_Capability_t   RrcUeEutraCapability;
+typedef UL_CCCH_Message_t       RrcUlCcchMessage;
+typedef UL_DCCH_Message_t       RrcUlDcchMessage;
 
 //-------------------------------------------------------------------------------------------//
 // Messages from MAC layer
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index 647154570380e4fedcf4c1bc27464e03b5ff8973..6911fb15d1ba5aa696edbfea7126bbb37814003d 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -425,7 +425,7 @@ uint8_t do_SIB2_AT4(uint8_t Mod_id,
 		    BCCH_DL_SCH_Message_t *bcch_message,
 		    SystemInformationBlockType2_t **sib2) {
 
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part;
+  struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib2_part;
 
   asn_enc_rval_t enc_rval;
 
@@ -438,13 +438,13 @@ uint8_t do_SIB2_AT4(uint8_t Mod_id,
 
   bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.count=0;
 
-  sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+  memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
 
   ASN_SEQUENCE_ADD(&bcch_message->message.choice.c1.choice.systemInformation.criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list,
 		   sib2_part);
 
-  sib2_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2;
+  sib2_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2;
 
   *sib2 = &sib2_part->choice.sib2;
 
@@ -605,9 +605,9 @@ uint8_t do_SIB23(uint8_t Mod_id,
 		 ) {
 
 
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part,*sib3_part;
+  struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib2_part,*sib3_part;
 #ifdef Rel10
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib13_part;
+  struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib13_part;
   MBSFN_SubframeConfigList_t *MBSFNSubframeConfigList;
   MBSFN_AreaInfoList_r9_t *MBSFNArea_list;
   struct MBSFN_AreaInfo_r9 *MBSFN_Area1, *MBSFN_Area2;
@@ -635,22 +635,22 @@ uint8_t do_SIB23(uint8_t Mod_id,
 #else
   LOG_I(RRC,"Configuration SIB2/3\n");
 #endif
-  sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  sib3_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib3_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
+  sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+  sib3_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+  memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+  memset(sib3_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
 
-  sib2_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2;
-  sib3_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3;
+  sib2_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2;
+  sib3_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3;
 
   *sib2 = &sib2_part->choice.sib2;
   *sib3 = &sib3_part->choice.sib3;
 
 #ifdef Rel10
   if (MBMS_flag > 0) {
-    sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-    memset(sib13_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-    sib13_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920;
+    sib13_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+    memset(sib13_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+    sib13_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920;
     *sib13 = &sib13_part->choice.sib13_v920;
   }
 #endif
@@ -1919,9 +1919,9 @@ OAI_UECapability_t *fill_ue_capability() {
     MessageDef *message_p;
 
     message_p = itti_alloc_new_message (TASK_RRC_UE, RRC_UE_EUTRA_CAPABILITY);
-    memcpy (&message_p->msg, UE_EUTRA_Capability, sizeof(RrcUeEutraCapability));
+    memcpy (&message_p->msg, (void *) UE_EUTRA_Capability, sizeof(RrcUeEutraCapability));
 
-    itti_send_msg_to_task (TASK_RRC_UE, INSTANCE_DEFAULT, message_p);
+    itti_send_msg_to_task (TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
   }
 #endif
 
@@ -1957,7 +1957,7 @@ return 0;
 uint8_t do_SIB2_cell(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *buffer,
                   BCCH_DL_SCH_Message_t *bcch_message, SystemInformationBlockType2_t **sib2) {
 //-----------------------------------------------------------------------------
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *sib2_part;
+  struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *sib2_part;
   asn_enc_rval_t enc_rval;
 
   if (bcch_message) 
@@ -1973,9 +1973,9 @@ uint8_t do_SIB2_cell(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *b
   }
   LOG_I(RRC,"Configuration SIB2 CELLULAR\n");
 
-  sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member));
-  sib2_part->present = SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2;
+  sib2_part = CALLOC(1,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+  memset(sib2_part,0,sizeof(struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member));
+  sib2_part->present = SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2;
   *sib2 = &sib2_part->choice.sib2;
 
   // sib2
diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn
index 9fa19fa9bd1e874477acd9862cc6cbc801d0230c..c939e43f9607d7795c79ea554cc2def095dec4c3 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn
+++ b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-86.asn
@@ -680,21 +680,22 @@ SystemInformation ::=				SEQUENCE {
 	}
 }
 SystemInformation-r8-IEs ::=		SEQUENCE {
-	sib-TypeAndInfo						SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
-		sib2								SystemInformationBlockType2,
-		sib3								SystemInformationBlockType3,
-		sib4								SystemInformationBlockType4,
-		sib5								SystemInformationBlockType5,
-		sib6								SystemInformationBlockType6,
-		sib7								SystemInformationBlockType7,
-		sib8								SystemInformationBlockType8,
-		sib9								SystemInformationBlockType9,
-		sib10								SystemInformationBlockType10,
-		sib11								SystemInformationBlockType11,
-		...
-	},
+	sib-TypeAndInfo						SEQUENCE (SIZE (1..maxSIB)) OF SystemInformation-r8-IEs-sib-TypeAndInfo-Member,
 	nonCriticalExtension				SEQUENCE {}							OPTIONAL	-- Need OP
 }
+SystemInformation-r8-IEs-sib-TypeAndInfo-Member ::=	CHOICE {
+	sib2								SystemInformationBlockType2,
+	sib3								SystemInformationBlockType3,
+	sib4								SystemInformationBlockType4,
+	sib5								SystemInformationBlockType5,
+	sib6								SystemInformationBlockType6,
+	sib7								SystemInformationBlockType7,
+	sib8								SystemInformationBlockType8,
+	sib9								SystemInformationBlockType9,
+	sib10								SystemInformationBlockType10,
+	sib11								SystemInformationBlockType11,
+	...
+}
 
 
 SystemInformationBlockType1 ::=		SEQUENCE {
diff --git a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn
index d293f0e1de0f8ff70e3e19cc966b145b8e0642bc..416a381392899127ae3e90ba9df1b8d2bf4a2056 100755
--- a/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn
+++ b/openair2/RRC/LITE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn
@@ -1141,24 +1141,24 @@ SystemInformation ::=				SEQUENCE {
 	}
 }
 SystemInformation-r8-IEs ::=		SEQUENCE {
-	sib-TypeAndInfo						SEQUENCE (SIZE (1..maxSIB)) OF CHOICE {
-		sib2								SystemInformationBlockType2,
-		sib3								SystemInformationBlockType3,
-		sib4								SystemInformationBlockType4,
-		sib5								SystemInformationBlockType5,
-		sib6								SystemInformationBlockType6,
-		sib7								SystemInformationBlockType7,
-		sib8								SystemInformationBlockType8,
-		sib9								SystemInformationBlockType9,
-		sib10								SystemInformationBlockType10,
-		sib11								SystemInformationBlockType11,
-		...,
-		sib12-v920							SystemInformationBlockType12-r9,
-		sib13-v920							SystemInformationBlockType13-r9
-	},
+	sib-TypeAndInfo						SEQUENCE (SIZE (1..maxSIB)) OF SystemInformation-r8-IEs-sib-TypeAndInfo-Member,
 	nonCriticalExtension				SystemInformation-v8a0-IEs							OPTIONAL
 }
-
+SystemInformation-r8-IEs-sib-TypeAndInfo-Member ::=	CHOICE {
+	sib2								SystemInformationBlockType2,
+	sib3								SystemInformationBlockType3,
+	sib4								SystemInformationBlockType4,
+	sib5								SystemInformationBlockType5,
+	sib6								SystemInformationBlockType6,
+	sib7								SystemInformationBlockType7,
+	sib8								SystemInformationBlockType8,
+	sib9								SystemInformationBlockType9,
+	sib10								SystemInformationBlockType10,
+	sib11								SystemInformationBlockType11,
+	...,
+	sib12-v920							SystemInformationBlockType12-r9,
+	sib13-v920							SystemInformationBlockType13-r9
+}
 SystemInformation-v8a0-IEs ::= SEQUENCE {
 	lateNonCriticalExtension			OCTET STRING						OPTIONAL,	-- Need OP
 	nonCriticalExtension				SEQUENCE {}							OPTIONAL	-- Need OP
diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c
index 558599e525d66a1dbedb170c31565d9eb4ed78ba..5ba937a5efab309187c1cefb1910345249c52d3a 100644
--- a/openair2/RRC/LITE/rrc_UE.c
+++ b/openair2/RRC/LITE/rrc_UE.c
@@ -300,6 +300,17 @@ int rrc_ue_decode_ccch(u8 Mod_id, u32 frame, SRB_INFO *Srb_info, u8 eNB_index){
   xer_fprint(stdout,&asn_DEF_DL_CCCH_Message,(void*)dl_ccch_msg);
 #endif
 
+#if defined(ENABLE_ITTI)
+  {
+    MessageDef *message_p;
+
+    message_p = itti_alloc_new_message (TASK_RRC_UE, RRC_DL_CCCH_MESSAGE);
+    memcpy (&message_p->msg, (void *) dl_ccch_msg, sizeof(RrcDlCcchMessage));
+
+    itti_send_msg_to_task (TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
+  }
+#endif
+
   if ((dec_rval.code != RC_OK) && (dec_rval.consumed==0)) {
     LOG_E(RRC,"[UE %d] Frame %d : Failed to decode DL-CCCH-Message (%d bytes)\n",Mod_id,dec_rval.consumed);
     vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_CCCH, VCD_FUNCTION_OUT);
@@ -1290,6 +1301,17 @@ void  rrc_ue_decode_dcch(u8 Mod_id,u32 frame,u8 Srb_id, u8 *Buffer,u8 eNB_index)
   xer_fprint(stdout,&asn_DEF_DL_DCCH_Message,(void*)dl_dcch_msg);
 #endif
 
+#if defined(ENABLE_ITTI)
+  {
+    MessageDef *message_p;
+
+    message_p = itti_alloc_new_message (TASK_RRC_UE, RRC_DL_DCCH_MESSAGE);
+    memcpy (&message_p->msg, (void *) dl_dcch_msg, sizeof(RrcDlDcchMessage));
+
+    itti_send_msg_to_task (TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
+  }
+#endif
+
   if (dl_dcch_msg->message.present == DL_DCCH_MessageType_PR_c1) {
 
     if (UE_rrc_inst[Mod_id].Info[eNB_index].State >= RRC_CONNECTED) {
@@ -1419,7 +1441,18 @@ int decode_BCCH_DLSCH_Message(u8 Mod_id,u32 frame,u8 eNB_index,u8 *Sdu,u8 Sdu_le
       return -1;
     }
     //  xer_fprint(stdout,  &asn_DEF_BCCH_DL_SCH_Message, (void*)&bcch_message);
-    
+
+#if defined(ENABLE_ITTI)
+  {
+    MessageDef *message_p;
+
+    message_p = itti_alloc_new_message (TASK_RRC_UE, RRC_DL_BCCH_MESSAGE);
+    memcpy (&message_p->msg, (void *) bcch_message, sizeof(RrcDlBcchMessage));
+
+    itti_send_msg_to_task (TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
+  }
+#endif
+
     if (bcch_message->message.present == BCCH_DL_SCH_MessageType_PR_c1) {
       switch (bcch_message->message.choice.c1.present) {
       case BCCH_DL_SCH_MessageType__c1_PR_systemInformationBlockType1:
@@ -1648,7 +1681,7 @@ int decode_SI(u8 Mod_id,u32 frame,u8 eNB_index,u8 si_window) {
 
   SystemInformation_t **si=&UE_rrc_inst[Mod_id].si[eNB_index][si_window];
   int i;
-  struct SystemInformation_r8_IEs__sib_TypeAndInfo__Member *typeandinfo;
+  struct SystemInformation_r8_IEs_sib_TypeAndInfo_Member *typeandinfo;
 
   vcd_signal_dumper_dump_function_by_name(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_UE_DECODE_SI  , VCD_FUNCTION_IN);
 
@@ -1667,7 +1700,7 @@ int decode_SI(u8 Mod_id,u32 frame,u8 eNB_index,u8 si_window) {
     typeandinfo=(*si)->criticalExtensions.choice.systemInformation_r8.sib_TypeAndInfo.list.array[i];
 
     switch(typeandinfo->present) {
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib2:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib2:
       UE_rrc_inst[Mod_id].sib2[eNB_index] = &typeandinfo->choice.sib2;
       LOG_D(RRC,"[UE %d] Frame %d Found SIB2 from eNB %d\n",Mod_id,frame,eNB_index);
       dump_sib2(UE_rrc_inst[Mod_id].sib2[eNB_index]);
@@ -1712,51 +1745,51 @@ int decode_SI(u8 Mod_id,u32 frame,u8 eNB_index,u8 si_window) {
 	UE_rrc_inst[Mod_id].Info[eNB_index].State = RRC_SI_RECEIVED;
       }
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib3:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib3:
       UE_rrc_inst[Mod_id].sib3[eNB_index] = &typeandinfo->choice.sib3;
       LOG_I(RRC,"[UE %d] Frame %d Found SIB3 from eNB %d\n",Mod_id,frame,eNB_index);
       dump_sib3(UE_rrc_inst[Mod_id].sib3[eNB_index]);
       UE_rrc_inst[Mod_id].Info[eNB_index].SIStatus = 1;
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib4:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib4:
       UE_rrc_inst[Mod_id].sib4[eNB_index] = &typeandinfo->choice.sib4;
       LOG_I(RRC,"[UE %d] Frame %d Found SIB4 from eNB %d\n",Mod_id,frame,eNB_index);
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib5:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib5:
       UE_rrc_inst[Mod_id].sib5[eNB_index] = &typeandinfo->choice.sib5;
       LOG_I(RRC,"[UE %d] Found SIB5 from eNB %d\n",Mod_id,eNB_index);
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib6:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib6:
       UE_rrc_inst[Mod_id].sib6[eNB_index] = &typeandinfo->choice.sib6;
       LOG_I(RRC,"[UE %d] Found SIB6 from eNB %d\n",Mod_id,eNB_index);
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib7:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib7:
       UE_rrc_inst[Mod_id].sib7[eNB_index] = &typeandinfo->choice.sib7;
       LOG_I(RRC,"[UE %d] Found SIB7 from eNB %d\n",Mod_id,eNB_index);
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib8:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib8:
       UE_rrc_inst[Mod_id].sib8[eNB_index] = &typeandinfo->choice.sib8;
       LOG_I(RRC,"[UE %d] Found SIB8 from eNB %d\n",Mod_id,eNB_index);
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib9:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib9:
       UE_rrc_inst[Mod_id].sib9[eNB_index] = &typeandinfo->choice.sib9;
       LOG_I(RRC,"[UE %d] Found SIB9 from eNB %d\n",Mod_id,eNB_index);
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib10:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib10:
       UE_rrc_inst[Mod_id].sib10[eNB_index] = &typeandinfo->choice.sib10;
       LOG_I(RRC,"[UE %d] Found SIB10 from eNB %d\n",Mod_id,eNB_index);
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib11:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib11:
       UE_rrc_inst[Mod_id].sib11[eNB_index] = &typeandinfo->choice.sib11;
       LOG_I(RRC,"[UE %d] Found SIB11 from eNB %d\n",Mod_id,eNB_index);
       break;
 #ifdef Rel10
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib12_v920:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib12_v920:
       UE_rrc_inst[Mod_id].sib12[eNB_index] = &typeandinfo->choice.sib12_v920;
       LOG_I(RRC,"[RRC][UE %d] Found SIB12 from eNB %d\n",Mod_id,eNB_index);
 
       break;
-    case SystemInformation_r8_IEs__sib_TypeAndInfo__Member_PR_sib13_v920:
+    case SystemInformation_r8_IEs_sib_TypeAndInfo_Member_PR_sib13_v920:
       UE_rrc_inst[Mod_id].sib13[eNB_index] = &typeandinfo->choice.sib13_v920;
       LOG_I(RRC,"[RRC][UE %d] Found SIB13 from eNB %d\n",Mod_id,eNB_index);
       dump_sib13(UE_rrc_inst[Mod_id].sib13[eNB_index]);
@@ -2181,10 +2214,6 @@ void *rrc_ue_task(void *args_p) {
         LOG_D(RRC, "Received %s\n", msg_name);
         break;
 
-      case RRC_UE_EUTRA_CAPABILITY: // TODO debug code, should be removed later.
-        LOG_D(RRC, "Received %s\n", msg_name);
-        break;
-
       case RRC_MAC_IN_SYNC_IND:
         LOG_D(RRC, "Received %s: instance %d, frame %d, eNB %d\n", msg_name, instance,
               RRC_MAC_IN_SYNC_IND (msg_p).frame, RRC_MAC_IN_SYNC_IND (msg_p).enb_index);
diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c
index d3d84efe698254803dbf9d817022448f8b85a54d..3c6f6745bcf2fafc890755e83afed6409c892a4c 100644
--- a/openair2/RRC/LITE/rrc_eNB.c
+++ b/openair2/RRC/LITE/rrc_eNB.c
@@ -633,6 +633,18 @@ rrc_eNB_decode_dcch (u8 Mod_id, u32 frame, u8 Srb_id, u8 UE_index,
   dec_rval = uper_decode (NULL,
                           &asn_DEF_UL_DCCH_Message,
                           (void **) &ul_dcch_msg, Rx_sdu, sdu_size, 0, 0);
+
+#if defined(ENABLE_ITTI)
+  {
+    MessageDef *message_p;
+
+    message_p = itti_alloc_new_message (TASK_RRC_ENB, RRC_UL_DCCH_MESSAGE);
+    memcpy (&message_p->msg, (void *) ul_dcch_msg, sizeof(RrcUlDcchMessage));
+
+    itti_send_msg_to_task (TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
+  }
+#endif
+
   for (i = 0; i < sdu_size; i++)
     LOG_T (RRC, "%x.", Rx_sdu[i]);
   LOG_T (RRC, "\n");
@@ -893,7 +905,19 @@ rrc_eNB_decode_ccch (u8 Mod_id, u32 frame, SRB_INFO * Srb_info)
   dec_rval =
     uper_decode (NULL, &asn_DEF_UL_CCCH_Message, (void **) &ul_ccch_msg,
                  (uint8_t *) Srb_info->Rx_buffer.Payload, 100, 0, 0);
-  for (i = 0; i < 8; i++)
+
+#if defined(ENABLE_ITTI)
+  {
+    MessageDef *message_p;
+
+    message_p = itti_alloc_new_message (TASK_RRC_ENB, RRC_UL_CCCH_MESSAGE);
+    memcpy (&message_p->msg, (void *) ul_ccch_msg, sizeof(RrcUlCcchMessage));
+
+    itti_send_msg_to_task (TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
+  }
+#endif
+
+for (i = 0; i < 8; i++)
     LOG_T (RRC, "%x.", ((u8 *) & ul_ccch_msg)[i]);
   if (dec_rval.consumed == 0)
     {