From 3556423cf083597dc15df3239983700fc26bfc3d Mon Sep 17 00:00:00 2001 From: francescomani Date: Tue, 26 Oct 2021 13:55:29 +0200 Subject: [PATCH] read uecap file in nr_rrc_ue_process_ueCapabilityEnquiry --- openair2/RRC/NR_UE/rrc_UE.c | 34 +- .../PROJECTS/GENERIC-NR-5GC/CONF/uecap.xml | 2731 ++++++++--------- 2 files changed, 1383 insertions(+), 1382 deletions(-) diff --git a/openair2/RRC/NR_UE/rrc_UE.c b/openair2/RRC/NR_UE/rrc_UE.c index 7c664d292d..99f60a1660 100644 --- a/openair2/RRC/NR_UE/rrc_UE.c +++ b/openair2/RRC/NR_UE/rrc_UE.c @@ -2597,14 +2597,22 @@ nr_rrc_ue_process_ueCapabilityEnquiry( //----------------------------------------------------------------------------- { asn_enc_rval_t enc_rval; + asn_dec_rval_t dec_rval; NR_UL_DCCH_Message_t ul_dcch_msg; NR_UE_CapabilityRAT_Container_t ue_CapabilityRAT_Container; + char UE_NR_Capability_xer_fname[1024]; + char UE_NR_Capability_xer[8192]; + size_t size; uint8_t buffer[200]; int i; LOG_I(NR_RRC,"[UE %d] Frame %d: Receiving from SRB1 (DL-DCCH), Processing UECapabilityEnquiry (gNB %d)\n", ctxt_pP->module_id, ctxt_pP->frame, gNB_index); + + sprintf(UE_NR_Capability_xer_fname,"%stargets/PROJECTS/GENERIC-NR-5GC/CONF/uecap.xml",getenv("OPENAIR_HOME")); + FILE *f = fopen(UE_NR_Capability_xer_fname, "r"); + memset((void *)&ul_dcch_msg,0,sizeof(NR_UL_DCCH_Message_t)); memset((void *)&ue_CapabilityRAT_Container,0,sizeof(NR_UE_CapabilityRAT_Container_t)); ul_dcch_msg.message.present = NR_UL_DCCH_MessageType_PR_c1; @@ -2613,14 +2621,26 @@ nr_rrc_ue_process_ueCapabilityEnquiry( ul_dcch_msg.message.choice.c1->choice.ueCapabilityInformation = CALLOC(1, sizeof(struct NR_UECapabilityInformation)); ul_dcch_msg.message.choice.c1->choice.ueCapabilityInformation->rrc_TransactionIdentifier = UECapabilityEnquiry->rrc_TransactionIdentifier; ue_CapabilityRAT_Container.rat_Type = NR_RAT_Type_nr; - NR_UE_NR_Capability_t* UE_Capability_nr; + NR_UE_NR_Capability_t* UE_Capability_nr; UE_Capability_nr = CALLOC(1,sizeof(NR_UE_NR_Capability_t)); - NR_BandNR_t *nr_bandnr; - nr_bandnr = CALLOC(1,sizeof(NR_BandNR_t)); - nr_bandnr->bandNR = 1; - ASN_SEQUENCE_ADD( - &UE_Capability_nr->rf_Parameters.supportedBandListNR.list, - nr_bandnr); + + if(f){ + size = fread(UE_NR_Capability_xer, 1, sizeof UE_NR_Capability_xer, f); + if (size == 0 || size == sizeof UE_NR_Capability_xer) { + LOG_E(NR_RRC,"UE Capabilities XER file %s is too large\n", UE_NR_Capability_xer_fname); + free(UE_Capability_nr); + return; + } + dec_rval = xer_decode(0, &asn_DEF_NR_UE_NR_Capability, (void *)UE_Capability_nr, UE_NR_Capability_xer, size); + assert(dec_rval.code == RC_OK); + } + else { + NR_BandNR_t *nr_bandnr; + nr_bandnr = CALLOC(1,sizeof(NR_BandNR_t)); + nr_bandnr->bandNR = 1; + ASN_SEQUENCE_ADD(&UE_Capability_nr->rf_Parameters.supportedBandListNR.list, + nr_bandnr); + } OAI_NR_UECapability_t *UECap; UECap = CALLOC(1,sizeof(OAI_NR_UECapability_t)); UECap->UE_NR_Capability = UE_Capability_nr; diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/uecap.xml b/targets/PROJECTS/GENERIC-NR-5GC/CONF/uecap.xml index 00d74af54b..994b64e4ae 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/uecap.xml +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/uecap.xml @@ -1,1375 +1,1356 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 11 - - - - - - - 01 - - - - - - - - - - - - - - - - - 8 - 64 - - - - 4 - 32 - - - 2 - 2 - 0 - 2 - 2 - - - - 0 - 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 78 - - - - - - - - - - - - - - - - - - - - - - 2 - 8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 8 - 64 - - - - - - 8 - 32 - - - - - - 4 - 64 - - - - - - 2 - 64 - - - - - - 4 - - - - - 8 - 64 - - - - 4 - 32 - - - 2 - 2 - 0 - 2 - 2 - - - - 0 - 4 - - - 2 - 1 - 8 - 16 - - - - - - - - - - - - - - 0000000000 - 0001011111 - 0000000000 - - - - - 0000000000 - 0001011111 - 0000000000 - - - - - - - - 1000000000000000 - - - - - 1000000000000000 - - - - - - - - - 78 - - - - - - - - - 0 - - - - - - - - 78 - - - - - - - - - - - - - - - - 8 - 64 - - 8 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - 2 - - - - - - - - 3 - - - - - - - - 4 - - - - - - - - 5 - - - - - - - - 6 - - - - - - - - 7 - - - - - - - - 8 - - - - - - - - 9 - - - - - - - - 10 - - - - - - - - 11 - - - - - - - - 12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 2 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 3 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 4 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 5 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 6 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 7 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 8 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 9 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 10 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 11 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 12 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - 11 - - - - - - 6 - - - - 6 - - - - 2 - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2 - 2 - - - - - - - - - 7 - 38 - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 11 + + + + + + + 01 + + + + + + + + + + + + + + + + + 8 + 64 + + + + 4 + 32 + + + 2 + 2 + 0 + 2 + 2 + + + + 0 + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 78 + + + + + + + + + + + + + + + + + + + + + + 2 + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8 + 64 + + + + + + 8 + 32 + + + + + + 4 + 64 + + + + + + 2 + 64 + + + + + + 4 + + + + + 8 + 64 + + + + 4 + 32 + + + 2 + 2 + 0 + 2 + 2 + + + + 0 + 4 + + + 2 + 1 + 8 + 16 + + + + + + + + + + + + + + 0000000000 + 0001011111 + 0000000000 + + + + + 0000000000 + 0001011111 + 0000000000 + + + + + + + + 1000000000000000 + + + + + 1000000000000000 + + + + + + + + + 78 + + + + + + + + + 0 + + + + + + + + 78 + + + + + + + + + + + + + + + + 8 + 64 + + 8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + 2 + + + + + + + + 3 + + + + + + + + 4 + + + + + + + + 5 + + + + + + + + 6 + + + + + + + + 7 + + + + + + + + 8 + + + + + + + + 9 + + + + + + + + 10 + + + + + + + + 11 + + + + + + + + 12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 2 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 3 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 4 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 5 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 6 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 7 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 8 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 9 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 10 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 11 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 12 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + 11 + + + + + + 6 + + + + 6 + + + + 2 + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + 2 + + + + + + + + + 7 + 38 + + + + + + + + + + + + +