Added RRC ASN1 decoded messages in ITTI logs.
Modified SystemInformation-r8-IEs ASN1 definition to fix issue with GCC and GCCXML. pre-ci ok. git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4365 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
+47
-18
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user