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) {