/* Do not modify this file. Changes will be overwritten. */ /* Generated automatically by the ASN.1 to Wireshark dissector compiler */ /* packet-nr-rrc.c */ /* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-UE-Variables.asn */ /* Input file: packet-nr-rrc-template.c */ #line 1 "./asn1/nr-rrc/packet-nr-rrc-template.c" /* packet-nr-rrc-template.c * NR; * Radio Resource Control (RRC) protocol specification * (3GPP TS 38.331 V15.8.0 Release 15) packet dissection * Copyright 2018-2020, Pascal Quantin * * Wireshark - Network traffic analyzer * By Gerald Combs * Copyright 1998 Gerald Combs * * SPDX-License-Identifier: GPL-2.0-or-later */ #include "config.h" #include #include #include #include #include #include #include #include #include #include "packet-per.h" #include "packet-gsm_map.h" #include "packet-cell_broadcast.h" #include "packet-mac-nr.h" #include "packet-rlc-nr.h" #include "packet-lte-rrc.h" #include "packet-nr-rrc.h" #include "packet-gsm_a_common.h" #define PNAME "NR Radio Resource Control (RRC) protocol" #define PSNAME "NR RRC" #define PFNAME "nr-rrc" void proto_register_nr_rrc(void); void proto_reg_handoff_nr_rrc(void); static dissector_handle_t nas_5gs_handle = NULL; static dissector_handle_t lte_rrc_conn_reconf_handle = NULL; static dissector_handle_t lte_rrc_conn_reconf_compl_handle = NULL; static dissector_handle_t lte_rrc_ul_dcch_handle = NULL; static wmem_map_t *nr_rrc_etws_cmas_dcs_hash = NULL; static reassembly_table nr_rrc_sib7_reassembly_table; static reassembly_table nr_rrc_sib8_reassembly_table; extern int proto_mac_nr; /* Include constants */ /*--- Included file: packet-nr-rrc-val.h ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-val.h" #define maxMeasFreqsMN 32 #define maxMeasFreqsSN 32 #define maxMeasIdentitiesMN 62 #define maxCellPrep 32 #define maxBandComb 65536 #define maxCellBlack 16 #define maxCellInter 16 #define maxCellIntra 16 #define maxCellMeasEUTRA 32 #define maxEARFCN 262143 #define maxEUTRA_CellBlack 16 #define maxEUTRA_NS_Pmax 8 #define maxMultiBands 8 #define maxNARFCN 3279165 #define maxNR_NS_Pmax 8 #define maxNrofServingCells 32 #define maxNrofServingCells_1 31 #define maxNrofAggregatedCellsPerCellGroup 16 #define maxNrofSCells 31 #define maxNrofCellMeas 32 #define maxNrofSS_BlocksToAverage 16 #define maxNrofCSI_RS_ResourcesToAverage 16 #define maxNrofDL_Allocations 16 #define maxNrofSR_ConfigPerCellGroup 8 #define maxLCG_ID 7 #define maxLC_ID 32 #define maxNrofTAGs 4 #define maxNrofTAGs_1 3 #define maxNrofBWPs 4 #define maxNrofCombIDC 128 #define maxNrofSymbols_1 13 #define maxNrofSlots 320 #define maxNrofSlots_1 319 #define maxNrofPhysicalResourceBlocks 275 #define maxNrofPhysicalResourceBlocks_1 274 #define maxNrofPhysicalResourceBlocksPlus1 276 #define maxNrofControlResourceSets_1 11 #define maxCoReSetDuration 3 #define maxNrofSearchSpaces_1 39 #define maxSFI_DCI_PayloadSize 128 #define maxSFI_DCI_PayloadSize_1 127 #define maxINT_DCI_PayloadSize 126 #define maxINT_DCI_PayloadSize_1 125 #define maxNrofRateMatchPatterns 4 #define maxNrofRateMatchPatterns_1 3 #define maxNrofRateMatchPatternsPerGroup 8 #define maxNrofCSI_ReportConfigurations 48 #define maxNrofCSI_ReportConfigurations_1 47 #define maxNrofCSI_ResourceConfigurations 112 #define maxNrofCSI_ResourceConfigurations_1 111 #define maxNrofAP_CSI_RS_ResourcesPerSet 16 #define maxNrOfCSI_AperiodicTriggers 128 #define maxNrofReportConfigPerAperiodicTrigger 16 #define maxNrofNZP_CSI_RS_Resources 192 #define maxNrofNZP_CSI_RS_Resources_1 191 #define maxNrofNZP_CSI_RS_ResourcesPerSet 64 #define maxNrofNZP_CSI_RS_ResourceSets 64 #define maxNrofNZP_CSI_RS_ResourceSets_1 63 #define maxNrofNZP_CSI_RS_ResourceSetsPerConfig 16 #define maxNrofNZP_CSI_RS_ResourcesPerConfig 128 #define maxNrofZP_CSI_RS_Resources 32 #define maxNrofZP_CSI_RS_Resources_1 31 #define maxNrofZP_CSI_RS_ResourceSets_1 15 #define maxNrofZP_CSI_RS_ResourcesPerSet 16 #define maxNrofZP_CSI_RS_ResourceSets 16 #define maxNrofCSI_IM_Resources 32 #define maxNrofCSI_IM_Resources_1 31 #define maxNrofCSI_IM_ResourcesPerSet 8 #define maxNrofCSI_IM_ResourceSets 64 #define maxNrofCSI_IM_ResourceSets_1 63 #define maxNrofCSI_IM_ResourceSetsPerConfig 16 #define maxNrofCSI_SSB_ResourcePerSet 64 #define maxNrofCSI_SSB_ResourceSets 64 #define maxNrofCSI_SSB_ResourceSets_1 63 #define maxNrofCSI_SSB_ResourceSetsPerConfig 1 #define maxNrofFailureDetectionResources 10 #define maxNrofFailureDetectionResources_1 9 #define maxNrofObjectId 64 #define maxNrofPageRec 32 #define maxNrofPCI_Ranges 8 #define maxPLMN 12 #define maxNrofCSI_RS_ResourcesRRM 96 #define maxNrofCSI_RS_ResourcesRRM_1 95 #define maxNrofMeasId 64 #define maxNrofQuantityConfig 2 #define maxNrofCSI_RS_CellsRRM 96 #define maxNrofSRS_ResourceSets 16 #define maxNrofSRS_ResourceSets_1 15 #define maxNrofSRS_Resources 64 #define maxNrofSRS_Resources_1 63 #define maxNrofSRS_ResourcesPerSet 16 #define maxNrofSRS_TriggerStates_1 3 #define maxNrofSRS_TriggerStates_2 2 #define maxRAT_CapabilityContainers 8 #define maxSimultaneousBands 32 #define maxNrofSlotFormatCombinationsPerSet 512 #define maxNrofSlotFormatCombinationsPerSet_1 511 #define maxNrofPUCCH_Resources 128 #define maxNrofPUCCH_Resources_1 127 #define maxNrofPUCCH_ResourceSets 4 #define maxNrofPUCCH_ResourceSets_1 3 #define maxNrofPUCCH_ResourcesPerSet 32 #define maxNrofPUCCH_P0_PerSet 8 #define maxNrofPUCCH_PathlossReferenceRSs 4 #define maxNrofPUCCH_PathlossReferenceRSs_1 3 #define maxNrofP0_PUSCH_AlphaSets 30 #define maxNrofP0_PUSCH_AlphaSets_1 29 #define maxNrofPUSCH_PathlossReferenceRSs 4 #define maxNrofPUSCH_PathlossReferenceRSs_1 3 #define maxNrofNAICS_Entries 8 #define maxBands 1024 #define maxBandsMRDC 1280 #define maxBandsEUTRA 256 #define maxCellReport 8 #define maxDRB 29 #define maxFreq 8 #define maxFreqIDC_MRDC 32 #define maxNrofCandidateBeams 16 #define maxNrofPCIsPerSMTC 64 #define maxNrofQFIs 64 #define maxNrOfSemiPersistentPUSCH_Triggers 64 #define maxNrofSR_Resources 8 #define maxNrofSlotFormatsPerCombination 256 #define maxNrofSpatialRelationInfos 8 #define maxNrofIndexesToReport 32 #define maxNrofIndexesToReport2 64 #define maxNrofSSBs_1 63 #define maxNrofS_NSSAI 8 #define maxNrofTCI_StatesPDCCH 64 #define maxNrofTCI_States 128 #define maxNrofTCI_States_1 127 #define maxNrofUL_Allocations 16 #define maxQFI 63 #define maxRA_CSIRS_Resources 96 #define maxRA_OccasionsPerCSIRS 64 #define maxRA_Occasions_1 511 #define maxRA_SSB_Resources 64 #define maxSCSs 5 #define maxSecondaryCellGroups 3 #define maxNrofServingCellsEUTRA 32 #define maxMBSFN_Allocations 8 #define maxNrofMultiBands 8 #define maxCellSFTD 3 #define maxReportConfigId 64 #define maxNrofCodebooks 16 #define maxNrofCSI_RS_Resources 7 #define maxNrofSRI_PUSCH_Mappings 16 #define maxNrofSRI_PUSCH_Mappings_1 15 #define maxSIB 32 #define maxSI_Message 32 #define maxPO_perPF 4 #define maxAccessCat_1 63 #define maxBarringInfoSet 8 #define maxCellEUTRA 8 #define maxEUTRA_Carrier 8 #define maxPLMNIdentities 8 #define maxDownlinkFeatureSets 1024 #define maxUplinkFeatureSets 1024 #define maxEUTRA_DL_FeatureSets 256 #define maxEUTRA_UL_FeatureSets 256 #define maxFeatureSetsPerBand 128 #define maxPerCC_FeatureSets 1024 #define maxFeatureSetCombinations 1024 #define maxInterRAT_RSTD_Freq 3 typedef enum _RAT_Type_enum { RAT_Type_nr = 0, RAT_Type_eutra_nr = 1, RAT_Type_eutra = 2, RAT_Type_spare1 = 3 } RAT_Type_enum; typedef enum _T_targetRAT_Type_enum { T_targetRAT_Type_eutra = 0, T_targetRAT_Type_spare3 = 1, T_targetRAT_Type_spare2 = 2, T_targetRAT_Type_spare1 = 3 } T_targetRAT_Type_enum; /*--- End of included file: packet-nr-rrc-val.h ---*/ #line 58 "./asn1/nr-rrc/packet-nr-rrc-template.c" /* Initialize the protocol and registered fields */ static int proto_nr_rrc = -1; /*--- Included file: packet-nr-rrc-hf.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-hf.c" static int hf_nr_rrc_nr_rrc_HandoverCommand_PDU = -1; /* HandoverCommand */ static int hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */ static int hf_nr_rrc_nr_rrc_CG_Config_PDU = -1; /* CG_Config */ static int hf_nr_rrc_nr_rrc_PH_TypeListSCG_PDU = -1; /* PH_TypeListSCG */ static int hf_nr_rrc_nr_rrc_BandCombinationIndex_PDU = -1; /* BandCombinationIndex */ static int hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU = -1; /* BandCombinationInfoSN */ static int hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU = -1; /* CG_ConfigInfo */ static int hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU = -1; /* ConfigRestrictInfoSCG */ static int hf_nr_rrc_nr_rrc_PH_TypeListMCG_PDU = -1; /* PH_TypeListMCG */ static int hf_nr_rrc_nr_rrc_FeatureSetEntryIndex_PDU = -1; /* FeatureSetEntryIndex */ static int hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU = -1; /* MeasurementTimingConfiguration */ static int hf_nr_rrc_nr_rrc_UERadioPagingInformation_PDU = -1; /* UERadioPagingInformation */ static int hf_nr_rrc_UERadioAccessCapabilityInformation_PDU = -1; /* UERadioAccessCapabilityInformation */ static int hf_nr_rrc_BCCH_BCH_Message_PDU = -1; /* BCCH_BCH_Message */ static int hf_nr_rrc_BCCH_DL_SCH_Message_PDU = -1; /* BCCH_DL_SCH_Message */ static int hf_nr_rrc_DL_CCCH_Message_PDU = -1; /* DL_CCCH_Message */ static int hf_nr_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */ static int hf_nr_rrc_PCCH_Message_PDU = -1; /* PCCH_Message */ static int hf_nr_rrc_UL_CCCH_Message_PDU = -1; /* UL_CCCH_Message */ static int hf_nr_rrc_UL_CCCH1_Message_PDU = -1; /* UL_CCCH1_Message */ static int hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */ static int hf_nr_rrc_nr_rrc_MIB_PDU = -1; /* MIB */ static int hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU = -1; /* RRCReconfiguration */ static int hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU = -1; /* RRCReconfigurationComplete */ static int hf_nr_rrc_nr_rrc_SIB1_PDU = -1; /* SIB1 */ static int hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU = -1; /* UEAssistanceInformation */ static int hf_nr_rrc_nr_rrc_SIB2_PDU = -1; /* SIB2 */ static int hf_nr_rrc_nr_rrc_SIB3_PDU = -1; /* SIB3 */ static int hf_nr_rrc_nr_rrc_SIB4_PDU = -1; /* SIB4 */ static int hf_nr_rrc_nr_rrc_SIB5_PDU = -1; /* SIB5 */ static int hf_nr_rrc_nr_rrc_SIB6_PDU = -1; /* SIB6 */ static int hf_nr_rrc_nr_rrc_SIB7_PDU = -1; /* SIB7 */ static int hf_nr_rrc_nr_rrc_SIB8_PDU = -1; /* SIB8 */ static int hf_nr_rrc_nr_rrc_SIB9_PDU = -1; /* SIB9 */ static int hf_nr_rrc_nr_rrc_CellGroupConfig_PDU = -1; /* CellGroupConfig */ static int hf_nr_rrc_nr_rrc_DRX_Config_PDU = -1; /* DRX_Config */ static int hf_nr_rrc_nr_rrc_MeasConfig_PDU = -1; /* MeasConfig */ static int hf_nr_rrc_nr_rrc_MeasGapConfig_PDU = -1; /* MeasGapConfig */ static int hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */ static int hf_nr_rrc_nr_rrc_P_Max_PDU = -1; /* P_Max */ static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1; /* RadioBearerConfig */ static int hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU = -1; /* UplinkTxDirectCurrentList */ static int hf_nr_rrc_nr_rrc_FreqBandList_PDU = -1; /* FreqBandList */ static int hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU = -1; /* UE_CapabilityRAT_ContainerList */ static int hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterCommon_PDU = -1; /* UE_CapabilityRequestFilterCommon */ static int hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterNR_PDU = -1; /* UE_CapabilityRequestFilterNR */ static int hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU = -1; /* UE_MRDC_Capability */ static int hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU = -1; /* UE_NR_Capability */ static int hf_nr_rrc_MeasResultList2NR_PDU = -1; /* MeasResultList2NR */ static int hf_nr_rrc_SystemInformation_PDU = -1; /* SystemInformation */ static int hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU = -1; /* UECapabilityEnquiry_v1560_IEs */ static int hf_nr_rrc_criticalExtensions = -1; /* T_criticalExtensions */ static int hf_nr_rrc_c1 = -1; /* T_c1 */ static int hf_nr_rrc_handoverCommand = -1; /* HandoverCommand_IEs */ static int hf_nr_rrc_spare3 = -1; /* NULL */ static int hf_nr_rrc_spare2 = -1; /* NULL */ static int hf_nr_rrc_spare1 = -1; /* NULL */ static int hf_nr_rrc_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */ static int hf_nr_rrc_handoverCommandMessage = -1; /* T_handoverCommandMessage */ static int hf_nr_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */ static int hf_nr_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */ static int hf_nr_rrc_c1_01 = -1; /* T_c1_01 */ static int hf_nr_rrc_handoverPreparationInformation = -1; /* HandoverPreparationInformation_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */ static int hf_nr_rrc_ue_CapabilityRAT_List = -1; /* UE_CapabilityRAT_ContainerList */ static int hf_nr_rrc_sourceConfig = -1; /* AS_Config */ static int hf_nr_rrc_rrm_Config = -1; /* RRM_Config */ static int hf_nr_rrc_as_Context = -1; /* AS_Context */ static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */ static int hf_nr_rrc_rrcReconfiguration = -1; /* T_rrcReconfiguration */ static int hf_nr_rrc_sourceRB_SN_Config = -1; /* T_sourceRB_SN_Config */ static int hf_nr_rrc_sourceSCG_NR_Config = -1; /* T_sourceSCG_NR_Config */ static int hf_nr_rrc_sourceSCG_EUTRA_Config = -1; /* T_sourceSCG_EUTRA_Config */ static int hf_nr_rrc_sourceSCG_Configured = -1; /* T_sourceSCG_Configured */ static int hf_nr_rrc_reestablishmentInfo = -1; /* ReestablishmentInfo */ static int hf_nr_rrc_configRestrictInfo = -1; /* ConfigRestrictInfoSCG */ static int hf_nr_rrc_ran_NotificationAreaInfo = -1; /* RAN_NotificationAreaInfo */ static int hf_nr_rrc_ueAssistanceInformation = -1; /* T_ueAssistanceInformation */ static int hf_nr_rrc_selectedBandCombinationSN = -1; /* BandCombinationInfoSN */ static int hf_nr_rrc_sourcePhysCellId = -1; /* PhysCellId */ static int hf_nr_rrc_targetCellShortMAC_I = -1; /* ShortMAC_I */ static int hf_nr_rrc_additionalReestabInfoList = -1; /* ReestabNCellInfoList */ static int hf_nr_rrc_ReestabNCellInfoList_item = -1; /* ReestabNCellInfo */ static int hf_nr_rrc_cellIdentity = -1; /* CellIdentity */ static int hf_nr_rrc_key_gNodeB_Star = -1; /* BIT_STRING_SIZE_256 */ static int hf_nr_rrc_shortMAC_I = -1; /* ShortMAC_I */ static int hf_nr_rrc_ue_InactiveTime = -1; /* T_ue_InactiveTime */ static int hf_nr_rrc_candidateCellInfoList = -1; /* MeasResultList2NR */ static int hf_nr_rrc_candidateCellInfoListSN_EUTRA = -1; /* MeasResultServFreqListEUTRA_SCG */ static int hf_nr_rrc_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */ static int hf_nr_rrc_c1_02 = -1; /* T_c1_02 */ static int hf_nr_rrc_cg_Config = -1; /* CG_Config_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */ static int hf_nr_rrc_scg_CellGroupConfig = -1; /* T_scg_CellGroupConfig */ static int hf_nr_rrc_scg_RB_Config = -1; /* T_scg_RB_Config */ static int hf_nr_rrc_configRestrictModReq = -1; /* ConfigRestrictModReqSCG */ static int hf_nr_rrc_drx_InfoSCG = -1; /* DRX_Info */ static int hf_nr_rrc_candidateCellInfoListSN = -1; /* T_candidateCellInfoListSN */ static int hf_nr_rrc_measConfigSN = -1; /* MeasConfigSN */ static int hf_nr_rrc_selectedBandCombination = -1; /* BandCombinationInfoSN */ static int hf_nr_rrc_fr_InfoListSCG = -1; /* FR_InfoList */ static int hf_nr_rrc_candidateServingFreqListNR = -1; /* CandidateServingFreqListNR */ static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* CG_Config_v1540_IEs */ static int hf_nr_rrc_pSCellFrequency = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_reportCGI_RequestNR = -1; /* T_reportCGI_RequestNR */ static int hf_nr_rrc_requestedCellInfo = -1; /* T_requestedCellInfo */ static int hf_nr_rrc_ssbFrequency = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_cellForWhichToReportCGI = -1; /* PhysCellId */ static int hf_nr_rrc_ph_InfoSCG = -1; /* PH_TypeListSCG */ static int hf_nr_rrc_nonCriticalExtension_03 = -1; /* CG_Config_v1560_IEs */ static int hf_nr_rrc_pSCellFrequencyEUTRA = -1; /* ARFCN_ValueEUTRA */ static int hf_nr_rrc_scg_CellGroupConfigEUTRA = -1; /* T_scg_CellGroupConfigEUTRA */ static int hf_nr_rrc_candidateCellInfoListSN_EUTRA_01 = -1; /* T_candidateCellInfoListSN_EUTRA */ static int hf_nr_rrc_candidateServingFreqListEUTRA = -1; /* CandidateServingFreqListEUTRA */ static int hf_nr_rrc_needForGaps = -1; /* T_needForGaps */ static int hf_nr_rrc_drx_ConfigSCG = -1; /* DRX_Config */ static int hf_nr_rrc_reportCGI_RequestEUTRA = -1; /* T_reportCGI_RequestEUTRA */ static int hf_nr_rrc_requestedCellInfoEUTRA = -1; /* T_requestedCellInfoEUTRA */ static int hf_nr_rrc_eutraFrequency = -1; /* ARFCN_ValueEUTRA */ static int hf_nr_rrc_cellForWhichToReportCGI_EUTRA = -1; /* EUTRA_PhysCellId */ static int hf_nr_rrc_nonCriticalExtension_04 = -1; /* T_nonCriticalExtension_02 */ static int hf_nr_rrc_PH_TypeListSCG_item = -1; /* PH_InfoSCG */ static int hf_nr_rrc_servCellIndex = -1; /* ServCellIndex */ static int hf_nr_rrc_ph_Uplink = -1; /* PH_UplinkCarrierSCG */ static int hf_nr_rrc_ph_SupplementaryUplink = -1; /* PH_UplinkCarrierSCG */ static int hf_nr_rrc_ph_Type1or3 = -1; /* T_ph_Type1or3 */ static int hf_nr_rrc_measuredFrequenciesSN = -1; /* SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo */ static int hf_nr_rrc_measuredFrequenciesSN_item = -1; /* NR_FreqInfo */ static int hf_nr_rrc_measuredFrequency = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_requestedBC_MRDC = -1; /* BandCombinationInfoSN */ static int hf_nr_rrc_requestedP_MaxFR1 = -1; /* P_Max */ static int hf_nr_rrc_requestedPDCCH_BlindDetectionSCG = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_requestedP_MaxEUTRA = -1; /* P_Max */ static int hf_nr_rrc_bandCombinationIndex = -1; /* BandCombinationIndex */ static int hf_nr_rrc_requestedFeatureSets = -1; /* FeatureSetEntryIndex */ static int hf_nr_rrc_FR_InfoList_item = -1; /* FR_Info */ static int hf_nr_rrc_fr_Type = -1; /* T_fr_Type */ static int hf_nr_rrc_CandidateServingFreqListNR_item = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_CandidateServingFreqListEUTRA_item = -1; /* ARFCN_ValueEUTRA */ static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */ static int hf_nr_rrc_c1_03 = -1; /* T_c1_03 */ static int hf_nr_rrc_cg_ConfigInfo = -1; /* CG_ConfigInfo_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */ static int hf_nr_rrc_ue_CapabilityInfo = -1; /* T_ue_CapabilityInfo */ static int hf_nr_rrc_candidateCellInfoListMN = -1; /* MeasResultList2NR */ static int hf_nr_rrc_candidateCellInfoListSN_01 = -1; /* T_candidateCellInfoListSN_01 */ static int hf_nr_rrc_measResultCellListSFTD_NR = -1; /* MeasResultCellListSFTD_NR */ static int hf_nr_rrc_scgFailureInfo = -1; /* T_scgFailureInfo */ static int hf_nr_rrc_failureType = -1; /* T_failureType */ static int hf_nr_rrc_measResultSCG = -1; /* T_measResultSCG */ static int hf_nr_rrc_drx_InfoMCG = -1; /* DRX_Info */ static int hf_nr_rrc_measConfigMN = -1; /* MeasConfigMN */ static int hf_nr_rrc_sourceConfigSCG = -1; /* T_sourceConfigSCG */ static int hf_nr_rrc_scg_RB_Config_01 = -1; /* T_scg_RB_Config_01 */ static int hf_nr_rrc_mcg_RB_Config = -1; /* T_mcg_RB_Config */ static int hf_nr_rrc_mrdc_AssistanceInfo = -1; /* MRDC_AssistanceInfo */ static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* CG_ConfigInfo_v1540_IEs */ static int hf_nr_rrc_ph_InfoMCG = -1; /* PH_TypeListMCG */ static int hf_nr_rrc_measResultReportCGI = -1; /* T_measResultReportCGI */ static int hf_nr_rrc_cgi_Info = -1; /* CGI_InfoNR */ static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* CG_ConfigInfo_v1560_IEs */ static int hf_nr_rrc_candidateCellInfoListMN_EUTRA = -1; /* T_candidateCellInfoListMN_EUTRA */ static int hf_nr_rrc_candidateCellInfoListSN_EUTRA_02 = -1; /* T_candidateCellInfoListSN_EUTRA_01 */ static int hf_nr_rrc_sourceConfigSCG_EUTRA = -1; /* T_sourceConfigSCG_EUTRA */ static int hf_nr_rrc_scgFailureInfoEUTRA = -1; /* T_scgFailureInfoEUTRA */ static int hf_nr_rrc_failureTypeEUTRA = -1; /* T_failureTypeEUTRA */ static int hf_nr_rrc_measResultSCG_EUTRA = -1; /* OCTET_STRING */ static int hf_nr_rrc_drx_ConfigMCG = -1; /* DRX_Config */ static int hf_nr_rrc_measResultReportCGI_EUTRA = -1; /* T_measResultReportCGI_EUTRA */ static int hf_nr_rrc_cgi_InfoEUTRA = -1; /* CGI_InfoEUTRA */ static int hf_nr_rrc_measResultCellListSFTD_EUTRA = -1; /* MeasResultCellListSFTD_EUTRA */ static int hf_nr_rrc_fr_InfoListMCG = -1; /* FR_InfoList */ static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* CG_ConfigInfo_v1570_IEs */ static int hf_nr_rrc_sftdFrequencyList_NR = -1; /* SFTD_FrequencyList_NR */ static int hf_nr_rrc_sftdFrequencyList_EUTRA = -1; /* SFTD_FrequencyList_EUTRA */ static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* T_nonCriticalExtension_03 */ static int hf_nr_rrc_SFTD_FrequencyList_NR_item = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_SFTD_FrequencyList_EUTRA_item = -1; /* ARFCN_ValueEUTRA */ static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationInfoList */ static int hf_nr_rrc_powerCoordination_FR1 = -1; /* T_powerCoordination_FR1 */ static int hf_nr_rrc_p_maxNR_FR1 = -1; /* P_Max */ static int hf_nr_rrc_p_maxEUTRA = -1; /* P_Max */ static int hf_nr_rrc_p_maxUE_FR1 = -1; /* P_Max */ static int hf_nr_rrc_servCellIndexRangeSCG = -1; /* T_servCellIndexRangeSCG */ static int hf_nr_rrc_lowBound = -1; /* ServCellIndex */ static int hf_nr_rrc_upBound = -1; /* ServCellIndex */ static int hf_nr_rrc_maxMeasFreqsSCG = -1; /* INTEGER_1_maxMeasFreqsMN */ static int hf_nr_rrc_maxMeasIdentitiesSCG_NR = -1; /* INTEGER_1_maxMeasIdentitiesMN */ static int hf_nr_rrc_selectedBandEntriesMNList = -1; /* SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN */ static int hf_nr_rrc_selectedBandEntriesMNList_item = -1; /* SelectedBandEntriesMN */ static int hf_nr_rrc_pdcch_BlindDetectionSCG = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_maxNumberROHC_ContextSessionsSN = -1; /* INTEGER_0_16384 */ static int hf_nr_rrc_SelectedBandEntriesMN_item = -1; /* BandEntryIndex */ static int hf_nr_rrc_PH_TypeListMCG_item = -1; /* PH_InfoMCG */ static int hf_nr_rrc_ph_Uplink_01 = -1; /* PH_UplinkCarrierMCG */ static int hf_nr_rrc_ph_SupplementaryUplink_01 = -1; /* PH_UplinkCarrierMCG */ static int hf_nr_rrc_ph_Type1or3_01 = -1; /* T_ph_Type1or3_01 */ static int hf_nr_rrc_BandCombinationInfoList_item = -1; /* BandCombinationInfo */ static int hf_nr_rrc_allowedFeatureSetsList = -1; /* SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex */ static int hf_nr_rrc_allowedFeatureSetsList_item = -1; /* FeatureSetEntryIndex */ static int hf_nr_rrc_drx_LongCycleStartOffset = -1; /* T_drx_LongCycleStartOffset */ static int hf_nr_rrc_ms10 = -1; /* INTEGER_0_9 */ static int hf_nr_rrc_ms20 = -1; /* INTEGER_0_19 */ static int hf_nr_rrc_ms32 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_ms40 = -1; /* INTEGER_0_39 */ static int hf_nr_rrc_ms60 = -1; /* INTEGER_0_59 */ static int hf_nr_rrc_ms64 = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_ms70 = -1; /* INTEGER_0_69 */ static int hf_nr_rrc_ms80 = -1; /* INTEGER_0_79 */ static int hf_nr_rrc_ms128 = -1; /* INTEGER_0_127 */ static int hf_nr_rrc_ms160 = -1; /* INTEGER_0_159 */ static int hf_nr_rrc_ms256 = -1; /* INTEGER_0_255 */ static int hf_nr_rrc_ms320 = -1; /* INTEGER_0_319 */ static int hf_nr_rrc_ms512 = -1; /* INTEGER_0_511 */ static int hf_nr_rrc_ms640 = -1; /* INTEGER_0_639 */ static int hf_nr_rrc_ms1024 = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_ms1280 = -1; /* INTEGER_0_1279 */ static int hf_nr_rrc_ms2048 = -1; /* INTEGER_0_2047 */ static int hf_nr_rrc_ms2560 = -1; /* INTEGER_0_2559 */ static int hf_nr_rrc_ms5120 = -1; /* INTEGER_0_5119 */ static int hf_nr_rrc_ms10240 = -1; /* INTEGER_0_10239 */ static int hf_nr_rrc_shortDRX = -1; /* T_shortDRX */ static int hf_nr_rrc_drx_ShortCycle = -1; /* T_drx_ShortCycle */ static int hf_nr_rrc_drx_ShortCycleTimer = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_measuredFrequenciesMN = -1; /* SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo */ static int hf_nr_rrc_measuredFrequenciesMN_item = -1; /* NR_FreqInfo */ static int hf_nr_rrc_measGapConfig = -1; /* T_measGapConfig */ static int hf_nr_rrc_release = -1; /* NULL */ static int hf_nr_rrc_setup = -1; /* GapConfig */ static int hf_nr_rrc_gapPurpose = -1; /* T_gapPurpose */ static int hf_nr_rrc_measGapConfigFR2 = -1; /* T_measGapConfigFR2 */ static int hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC = -1; /* SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC */ static int hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item = -1; /* AffectedCarrierFreqCombInfoMRDC */ static int hf_nr_rrc_victimSystemType = -1; /* VictimSystemType */ static int hf_nr_rrc_interferenceDirectionMRDC = -1; /* T_interferenceDirectionMRDC */ static int hf_nr_rrc_affectedCarrierFreqCombMRDC = -1; /* T_affectedCarrierFreqCombMRDC */ static int hf_nr_rrc_affectedCarrierFreqCombEUTRA = -1; /* AffectedCarrierFreqCombEUTRA */ static int hf_nr_rrc_affectedCarrierFreqCombNR = -1; /* AffectedCarrierFreqCombNR */ static int hf_nr_rrc_gps = -1; /* T_gps */ static int hf_nr_rrc_glonass = -1; /* T_glonass */ static int hf_nr_rrc_bds = -1; /* T_bds */ static int hf_nr_rrc_galileo = -1; /* T_galileo */ static int hf_nr_rrc_wlan = -1; /* T_wlan */ static int hf_nr_rrc_bluetooth = -1; /* T_bluetooth */ static int hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item = -1; /* ARFCN_ValueEUTRA */ static int hf_nr_rrc_AffectedCarrierFreqCombNR_item = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */ static int hf_nr_rrc_c1_04 = -1; /* T_c1_04 */ static int hf_nr_rrc_measTimingConf = -1; /* MeasurementTimingConfiguration_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */ static int hf_nr_rrc_measTiming = -1; /* MeasTimingList */ static int hf_nr_rrc_nonCriticalExtension_09 = -1; /* MeasurementTimingConfiguration_v1550_IEs */ static int hf_nr_rrc_campOnFirstSSB = -1; /* BOOLEAN */ static int hf_nr_rrc_psCellOnlyOnFirstSSB = -1; /* BOOLEAN */ static int hf_nr_rrc_nonCriticalExtension_10 = -1; /* T_nonCriticalExtension_04 */ static int hf_nr_rrc_MeasTimingList_item = -1; /* MeasTiming */ static int hf_nr_rrc_frequencyAndTiming = -1; /* T_frequencyAndTiming */ static int hf_nr_rrc_carrierFreq = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_ssbSubcarrierSpacing = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_ssb_MeasurementTimingConfiguration = -1; /* SSB_MTC */ static int hf_nr_rrc_ss_RSSI_Measurement = -1; /* SS_RSSI_Measurement */ static int hf_nr_rrc_ssb_ToMeasure = -1; /* SSB_ToMeasure */ static int hf_nr_rrc_physCellId = -1; /* PhysCellId */ static int hf_nr_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */ static int hf_nr_rrc_c1_05 = -1; /* T_c1_05 */ static int hf_nr_rrc_ueRadioPagingInformation = -1; /* UERadioPagingInformation_IEs */ static int hf_nr_rrc_spare7 = -1; /* NULL */ static int hf_nr_rrc_spare6 = -1; /* NULL */ static int hf_nr_rrc_spare5 = -1; /* NULL */ static int hf_nr_rrc_spare4 = -1; /* NULL */ static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */ static int hf_nr_rrc_supportedBandListNRForPaging = -1; /* SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR */ static int hf_nr_rrc_supportedBandListNRForPaging_item = -1; /* FreqBandIndicatorNR */ static int hf_nr_rrc_nonCriticalExtension_11 = -1; /* T_nonCriticalExtension_05 */ static int hf_nr_rrc_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */ static int hf_nr_rrc_c1_06 = -1; /* T_c1_06 */ static int hf_nr_rrc_ueRadioAccessCapabilityInformation = -1; /* UERadioAccessCapabilityInformation_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */ static int hf_nr_rrc_ue_RadioAccessCapabilityInfo = -1; /* T_ue_RadioAccessCapabilityInfo */ static int hf_nr_rrc_nonCriticalExtension_12 = -1; /* T_nonCriticalExtension_06 */ static int hf_nr_rrc_message = -1; /* BCCH_BCH_MessageType */ static int hf_nr_rrc_mib = -1; /* MIB */ static int hf_nr_rrc_messageClassExtension = -1; /* T_messageClassExtension */ static int hf_nr_rrc_message_01 = -1; /* BCCH_DL_SCH_MessageType */ static int hf_nr_rrc_c1_07 = -1; /* T_c1_07 */ static int hf_nr_rrc_systemInformation = -1; /* SystemInformation */ static int hf_nr_rrc_systemInformationBlockType1 = -1; /* SIB1 */ static int hf_nr_rrc_messageClassExtension_01 = -1; /* T_messageClassExtension_01 */ static int hf_nr_rrc_message_02 = -1; /* DL_CCCH_MessageType */ static int hf_nr_rrc_c1_08 = -1; /* T_c1_08 */ static int hf_nr_rrc_rrcReject = -1; /* RRCReject */ static int hf_nr_rrc_rrcSetup = -1; /* RRCSetup */ static int hf_nr_rrc_messageClassExtension_02 = -1; /* T_messageClassExtension_02 */ static int hf_nr_rrc_message_03 = -1; /* DL_DCCH_MessageType */ static int hf_nr_rrc_c1_09 = -1; /* T_c1_09 */ static int hf_nr_rrc_rrcReconfiguration_01 = -1; /* RRCReconfiguration */ static int hf_nr_rrc_rrcResume = -1; /* RRCResume */ static int hf_nr_rrc_rrcRelease = -1; /* RRCRelease */ static int hf_nr_rrc_rrcReestablishment = -1; /* RRCReestablishment */ static int hf_nr_rrc_securityModeCommand = -1; /* SecurityModeCommand */ static int hf_nr_rrc_dlInformationTransfer = -1; /* DLInformationTransfer */ static int hf_nr_rrc_ueCapabilityEnquiry = -1; /* UECapabilityEnquiry */ static int hf_nr_rrc_counterCheck = -1; /* CounterCheck */ static int hf_nr_rrc_mobilityFromNRCommand = -1; /* MobilityFromNRCommand */ static int hf_nr_rrc_messageClassExtension_03 = -1; /* T_messageClassExtension_03 */ static int hf_nr_rrc_message_04 = -1; /* PCCH_MessageType */ static int hf_nr_rrc_c1_10 = -1; /* T_c1_10 */ static int hf_nr_rrc_paging = -1; /* Paging */ static int hf_nr_rrc_messageClassExtension_04 = -1; /* T_messageClassExtension_04 */ static int hf_nr_rrc_message_05 = -1; /* UL_CCCH_MessageType */ static int hf_nr_rrc_c1_11 = -1; /* T_c1_11 */ static int hf_nr_rrc_rrcSetupRequest = -1; /* RRCSetupRequest */ static int hf_nr_rrc_rrcResumeRequest = -1; /* RRCResumeRequest */ static int hf_nr_rrc_rrcReestablishmentRequest = -1; /* RRCReestablishmentRequest */ static int hf_nr_rrc_rrcSystemInfoRequest = -1; /* RRCSystemInfoRequest */ static int hf_nr_rrc_messageClassExtension_05 = -1; /* T_messageClassExtension_05 */ static int hf_nr_rrc_message_06 = -1; /* UL_CCCH1_MessageType */ static int hf_nr_rrc_c1_12 = -1; /* T_c1_12 */ static int hf_nr_rrc_rrcResumeRequest1 = -1; /* RRCResumeRequest1 */ static int hf_nr_rrc_messageClassExtension_06 = -1; /* T_messageClassExtension_06 */ static int hf_nr_rrc_message_07 = -1; /* UL_DCCH_MessageType */ static int hf_nr_rrc_c1_13 = -1; /* T_c1_13 */ static int hf_nr_rrc_measurementReport = -1; /* MeasurementReport */ static int hf_nr_rrc_rrcReconfigurationComplete = -1; /* RRCReconfigurationComplete */ static int hf_nr_rrc_rrcSetupComplete = -1; /* RRCSetupComplete */ static int hf_nr_rrc_rrcReestablishmentComplete = -1; /* RRCReestablishmentComplete */ static int hf_nr_rrc_rrcResumeComplete = -1; /* RRCResumeComplete */ static int hf_nr_rrc_securityModeComplete = -1; /* SecurityModeComplete */ static int hf_nr_rrc_securityModeFailure = -1; /* SecurityModeFailure */ static int hf_nr_rrc_ulInformationTransfer = -1; /* ULInformationTransfer */ static int hf_nr_rrc_locationMeasurementIndication = -1; /* LocationMeasurementIndication */ static int hf_nr_rrc_ueCapabilityInformation = -1; /* UECapabilityInformation */ static int hf_nr_rrc_counterCheckResponse = -1; /* CounterCheckResponse */ static int hf_nr_rrc_ueAssistanceInformation_01 = -1; /* UEAssistanceInformation */ static int hf_nr_rrc_failureInformation = -1; /* FailureInformation */ static int hf_nr_rrc_ulInformationTransferMRDC = -1; /* ULInformationTransferMRDC */ static int hf_nr_rrc_scgFailureInformation = -1; /* SCGFailureInformation */ static int hf_nr_rrc_scgFailureInformationEUTRA = -1; /* SCGFailureInformationEUTRA */ static int hf_nr_rrc_messageClassExtension_07 = -1; /* T_messageClassExtension_07 */ static int hf_nr_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */ static int hf_nr_rrc_criticalExtensions_07 = -1; /* T_criticalExtensions_07 */ static int hf_nr_rrc_counterCheck_01 = -1; /* CounterCheck_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */ static int hf_nr_rrc_drb_CountMSB_InfoList = -1; /* DRB_CountMSB_InfoList */ static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */ static int hf_nr_rrc_nonCriticalExtension_13 = -1; /* T_nonCriticalExtension_07 */ static int hf_nr_rrc_DRB_CountMSB_InfoList_item = -1; /* DRB_CountMSB_Info */ static int hf_nr_rrc_drb_Identity = -1; /* DRB_Identity */ static int hf_nr_rrc_countMSB_Uplink = -1; /* INTEGER_0_33554431 */ static int hf_nr_rrc_countMSB_Downlink = -1; /* INTEGER_0_33554431 */ static int hf_nr_rrc_criticalExtensions_08 = -1; /* T_criticalExtensions_08 */ static int hf_nr_rrc_counterCheckResponse_01 = -1; /* CounterCheckResponse_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_08 = -1; /* T_criticalExtensionsFuture_08 */ static int hf_nr_rrc_drb_CountInfoList = -1; /* DRB_CountInfoList */ static int hf_nr_rrc_nonCriticalExtension_14 = -1; /* T_nonCriticalExtension_08 */ static int hf_nr_rrc_DRB_CountInfoList_item = -1; /* DRB_CountInfo */ static int hf_nr_rrc_count_Uplink = -1; /* INTEGER_0_4294967295 */ static int hf_nr_rrc_count_Downlink = -1; /* INTEGER_0_4294967295 */ static int hf_nr_rrc_criticalExtensions_09 = -1; /* T_criticalExtensions_09 */ static int hf_nr_rrc_dlInformationTransfer_01 = -1; /* DLInformationTransfer_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_09 = -1; /* T_criticalExtensionsFuture_09 */ static int hf_nr_rrc_dedicatedNAS_Message = -1; /* DedicatedNAS_Message */ static int hf_nr_rrc_nonCriticalExtension_15 = -1; /* T_nonCriticalExtension_09 */ static int hf_nr_rrc_criticalExtensions_10 = -1; /* T_criticalExtensions_10 */ static int hf_nr_rrc_failureInformation_01 = -1; /* FailureInformation_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_10 = -1; /* T_criticalExtensionsFuture_10 */ static int hf_nr_rrc_failureInfoRLC_Bearer = -1; /* FailureInfoRLC_Bearer */ static int hf_nr_rrc_nonCriticalExtension_16 = -1; /* T_nonCriticalExtension_10 */ static int hf_nr_rrc_cellGroupId = -1; /* CellGroupId */ static int hf_nr_rrc_logicalChannelIdentity = -1; /* LogicalChannelIdentity */ static int hf_nr_rrc_failureType_01 = -1; /* T_failureType_01 */ static int hf_nr_rrc_criticalExtensions_11 = -1; /* T_criticalExtensions_11 */ static int hf_nr_rrc_locationMeasurementIndication_01 = -1; /* LocationMeasurementIndication_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_11 = -1; /* T_criticalExtensionsFuture_11 */ static int hf_nr_rrc_measurementIndication = -1; /* T_measurementIndication */ static int hf_nr_rrc_setup_01 = -1; /* LocationMeasurementInfo */ static int hf_nr_rrc_nonCriticalExtension_17 = -1; /* T_nonCriticalExtension_11 */ static int hf_nr_rrc_criticalExtensions_12 = -1; /* T_criticalExtensions_12 */ static int hf_nr_rrc_measurementReport_01 = -1; /* MeasurementReport_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_12 = -1; /* T_criticalExtensionsFuture_12 */ static int hf_nr_rrc_measResults = -1; /* MeasResults */ static int hf_nr_rrc_nonCriticalExtension_18 = -1; /* T_nonCriticalExtension_12 */ static int hf_nr_rrc_systemFrameNumber = -1; /* BIT_STRING_SIZE_6 */ static int hf_nr_rrc_subCarrierSpacingCommon = -1; /* T_subCarrierSpacingCommon */ static int hf_nr_rrc_ssb_SubcarrierOffset = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_dmrs_TypeA_Position = -1; /* T_dmrs_TypeA_Position */ static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* PDCCH_ConfigSIB1 */ static int hf_nr_rrc_cellBarred = -1; /* T_cellBarred */ static int hf_nr_rrc_intraFreqReselection = -1; /* T_intraFreqReselection */ static int hf_nr_rrc_spare = -1; /* BIT_STRING_SIZE_1 */ static int hf_nr_rrc_criticalExtensions_13 = -1; /* T_criticalExtensions_13 */ static int hf_nr_rrc_mobilityFromNRCommand_01 = -1; /* MobilityFromNRCommand_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_13 = -1; /* T_criticalExtensionsFuture_13 */ static int hf_nr_rrc_targetRAT_Type = -1; /* T_targetRAT_Type */ static int hf_nr_rrc_targetRAT_MessageContainer = -1; /* T_targetRAT_MessageContainer */ static int hf_nr_rrc_nas_SecurityParamFromNR = -1; /* OCTET_STRING */ static int hf_nr_rrc_nonCriticalExtension_19 = -1; /* T_nonCriticalExtension_13 */ static int hf_nr_rrc_pagingRecordList = -1; /* PagingRecordList */ static int hf_nr_rrc_nonCriticalExtension_20 = -1; /* T_nonCriticalExtension_14 */ static int hf_nr_rrc_PagingRecordList_item = -1; /* PagingRecord */ static int hf_nr_rrc_ue_Identity = -1; /* PagingUE_Identity */ static int hf_nr_rrc_accessType = -1; /* T_accessType */ static int hf_nr_rrc_ng_5G_S_TMSI = -1; /* NG_5G_S_TMSI */ static int hf_nr_rrc_fullI_RNTI = -1; /* I_RNTI_Value */ static int hf_nr_rrc_criticalExtensions_14 = -1; /* T_criticalExtensions_14 */ static int hf_nr_rrc_rrcReestablishment_01 = -1; /* RRCReestablishment_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_14 = -1; /* T_criticalExtensionsFuture_14 */ static int hf_nr_rrc_nextHopChainingCount = -1; /* NextHopChainingCount */ static int hf_nr_rrc_nonCriticalExtension_21 = -1; /* T_nonCriticalExtension_15 */ static int hf_nr_rrc_criticalExtensions_15 = -1; /* T_criticalExtensions_15 */ static int hf_nr_rrc_rrcReestablishmentComplete_01 = -1; /* RRCReestablishmentComplete_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_15 = -1; /* T_criticalExtensionsFuture_15 */ static int hf_nr_rrc_nonCriticalExtension_22 = -1; /* T_nonCriticalExtension_16 */ static int hf_nr_rrc_rrcReestablishmentRequest_01 = -1; /* RRCReestablishmentRequest_IEs */ static int hf_nr_rrc_ue_Identity_01 = -1; /* ReestabUE_Identity */ static int hf_nr_rrc_reestablishmentCause = -1; /* ReestablishmentCause */ static int hf_nr_rrc_c_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_criticalExtensions_16 = -1; /* T_criticalExtensions_16 */ static int hf_nr_rrc_rrcReconfiguration_02 = -1; /* RRCReconfiguration_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_16 = -1; /* T_criticalExtensionsFuture_16 */ static int hf_nr_rrc_radioBearerConfig = -1; /* RadioBearerConfig */ static int hf_nr_rrc_secondaryCellGroup = -1; /* T_secondaryCellGroup */ static int hf_nr_rrc_measConfig = -1; /* MeasConfig */ static int hf_nr_rrc_nonCriticalExtension_23 = -1; /* RRCReconfiguration_v1530_IEs */ static int hf_nr_rrc_masterCellGroup = -1; /* T_masterCellGroup */ static int hf_nr_rrc_fullConfig = -1; /* T_fullConfig */ static int hf_nr_rrc_dedicatedNAS_MessageList = -1; /* SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message */ static int hf_nr_rrc_dedicatedNAS_MessageList_item = -1; /* DedicatedNAS_Message */ static int hf_nr_rrc_masterKeyUpdate = -1; /* MasterKeyUpdate */ static int hf_nr_rrc_dedicatedSIB1_Delivery = -1; /* T_dedicatedSIB1_Delivery */ static int hf_nr_rrc_dedicatedSystemInformationDelivery = -1; /* T_dedicatedSystemInformationDelivery */ static int hf_nr_rrc_otherConfig = -1; /* OtherConfig */ static int hf_nr_rrc_nonCriticalExtension_24 = -1; /* RRCReconfiguration_v1540_IEs */ static int hf_nr_rrc_otherConfig_v1540 = -1; /* OtherConfig_v1540 */ static int hf_nr_rrc_nonCriticalExtension_25 = -1; /* RRCReconfiguration_v1560_IEs */ static int hf_nr_rrc_mrdc_SecondaryCellGroupConfig = -1; /* T_mrdc_SecondaryCellGroupConfig */ static int hf_nr_rrc_setup_02 = -1; /* MRDC_SecondaryCellGroupConfig */ static int hf_nr_rrc_radioBearerConfig2 = -1; /* T_radioBearerConfig2 */ static int hf_nr_rrc_sk_Counter = -1; /* SK_Counter */ static int hf_nr_rrc_nonCriticalExtension_26 = -1; /* T_nonCriticalExtension_17 */ static int hf_nr_rrc_mrdc_ReleaseAndAdd = -1; /* T_mrdc_ReleaseAndAdd */ static int hf_nr_rrc_mrdc_SecondaryCellGroup = -1; /* T_mrdc_SecondaryCellGroup */ static int hf_nr_rrc_nr_SCG = -1; /* T_nr_SCG */ static int hf_nr_rrc_eutra_SCG = -1; /* T_eutra_SCG */ static int hf_nr_rrc_keySetChangeIndicator = -1; /* BOOLEAN */ static int hf_nr_rrc_nas_Container = -1; /* T_nas_Container */ static int hf_nr_rrc_criticalExtensions_17 = -1; /* T_criticalExtensions_17 */ static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_17 = -1; /* T_criticalExtensionsFuture_17 */ static int hf_nr_rrc_nonCriticalExtension_27 = -1; /* RRCReconfigurationComplete_v1530_IEs */ static int hf_nr_rrc_uplinkTxDirectCurrentList = -1; /* UplinkTxDirectCurrentList */ static int hf_nr_rrc_nonCriticalExtension_28 = -1; /* RRCReconfigurationComplete_v1560_IEs */ static int hf_nr_rrc_scg_Response = -1; /* T_scg_Response */ static int hf_nr_rrc_nr_SCG_Response = -1; /* T_nr_SCG_Response */ static int hf_nr_rrc_eutra_SCG_Response = -1; /* T_eutra_SCG_Response */ static int hf_nr_rrc_nonCriticalExtension_29 = -1; /* T_nonCriticalExtension_18 */ static int hf_nr_rrc_criticalExtensions_18 = -1; /* T_criticalExtensions_18 */ static int hf_nr_rrc_rrcReject_01 = -1; /* RRCReject_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_18 = -1; /* T_criticalExtensionsFuture_18 */ static int hf_nr_rrc_waitTime = -1; /* RejectWaitTime */ static int hf_nr_rrc_nonCriticalExtension_30 = -1; /* T_nonCriticalExtension_19 */ static int hf_nr_rrc_criticalExtensions_19 = -1; /* T_criticalExtensions_19 */ static int hf_nr_rrc_rrcRelease_01 = -1; /* RRCRelease_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_19 = -1; /* T_criticalExtensionsFuture_19 */ static int hf_nr_rrc_redirectedCarrierInfo = -1; /* RedirectedCarrierInfo */ static int hf_nr_rrc_cellReselectionPriorities = -1; /* CellReselectionPriorities */ static int hf_nr_rrc_suspendConfig = -1; /* SuspendConfig */ static int hf_nr_rrc_deprioritisationReq = -1; /* T_deprioritisationReq */ static int hf_nr_rrc_deprioritisationType = -1; /* T_deprioritisationType */ static int hf_nr_rrc_deprioritisationTimer = -1; /* T_deprioritisationTimer */ static int hf_nr_rrc_nonCriticalExtension_31 = -1; /* RRCRelease_v1540_IEs */ static int hf_nr_rrc_nonCriticalExtension_32 = -1; /* T_nonCriticalExtension_20 */ static int hf_nr_rrc_nr = -1; /* CarrierInfoNR */ static int hf_nr_rrc_eutra = -1; /* RedirectedCarrierInfo_EUTRA */ static int hf_nr_rrc_cnType = -1; /* T_cnType */ static int hf_nr_rrc_smtc = -1; /* SSB_MTC */ static int hf_nr_rrc_shortI_RNTI = -1; /* ShortI_RNTI_Value */ static int hf_nr_rrc_ran_PagingCycle = -1; /* PagingCycle */ static int hf_nr_rrc_t380 = -1; /* PeriodicRNAU_TimerValue */ static int hf_nr_rrc_freqPriorityListEUTRA = -1; /* FreqPriorityListEUTRA */ static int hf_nr_rrc_freqPriorityListNR = -1; /* FreqPriorityListNR */ static int hf_nr_rrc_t320 = -1; /* T_t320 */ static int hf_nr_rrc_FreqPriorityListEUTRA_item = -1; /* FreqPriorityEUTRA */ static int hf_nr_rrc_FreqPriorityListNR_item = -1; /* FreqPriorityNR */ static int hf_nr_rrc_carrierFreq_01 = -1; /* ARFCN_ValueEUTRA */ static int hf_nr_rrc_cellReselectionPriority = -1; /* CellReselectionPriority */ static int hf_nr_rrc_cellReselectionSubPriority = -1; /* CellReselectionSubPriority */ static int hf_nr_rrc_cellList = -1; /* PLMN_RAN_AreaCellList */ static int hf_nr_rrc_ran_AreaConfigList = -1; /* PLMN_RAN_AreaConfigList */ static int hf_nr_rrc_PLMN_RAN_AreaCellList_item = -1; /* PLMN_RAN_AreaCell */ static int hf_nr_rrc_plmn_Identity = -1; /* PLMN_Identity */ static int hf_nr_rrc_ran_AreaCells = -1; /* SEQUENCE_SIZE_1_32_OF_CellIdentity */ static int hf_nr_rrc_ran_AreaCells_item = -1; /* CellIdentity */ static int hf_nr_rrc_PLMN_RAN_AreaConfigList_item = -1; /* PLMN_RAN_AreaConfig */ static int hf_nr_rrc_ran_Area = -1; /* SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig */ static int hf_nr_rrc_ran_Area_item = -1; /* RAN_AreaConfig */ static int hf_nr_rrc_trackingAreaCode = -1; /* TrackingAreaCode */ static int hf_nr_rrc_ran_AreaCodeList = -1; /* SEQUENCE_SIZE_1_32_OF_RAN_AreaCode */ static int hf_nr_rrc_ran_AreaCodeList_item = -1; /* RAN_AreaCode */ static int hf_nr_rrc_criticalExtensions_20 = -1; /* T_criticalExtensions_20 */ static int hf_nr_rrc_rrcResume_01 = -1; /* RRCResume_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_20 = -1; /* T_criticalExtensionsFuture_20 */ static int hf_nr_rrc_masterCellGroup_01 = -1; /* T_masterCellGroup_01 */ static int hf_nr_rrc_fullConfig_01 = -1; /* T_fullConfig_01 */ static int hf_nr_rrc_nonCriticalExtension_33 = -1; /* RRCResume_v1560_IEs */ static int hf_nr_rrc_radioBearerConfig2_01 = -1; /* T_radioBearerConfig2_01 */ static int hf_nr_rrc_nonCriticalExtension_34 = -1; /* T_nonCriticalExtension_21 */ static int hf_nr_rrc_criticalExtensions_21 = -1; /* T_criticalExtensions_21 */ static int hf_nr_rrc_rrcResumeComplete_01 = -1; /* RRCResumeComplete_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_21 = -1; /* T_criticalExtensionsFuture_21 */ static int hf_nr_rrc_selectedPLMN_Identity = -1; /* INTEGER_1_maxPLMN */ static int hf_nr_rrc_nonCriticalExtension_35 = -1; /* T_nonCriticalExtension_22 */ static int hf_nr_rrc_rrcResumeRequest_01 = -1; /* RRCResumeRequest_IEs */ static int hf_nr_rrc_resumeIdentity = -1; /* ShortI_RNTI_Value */ static int hf_nr_rrc_resumeMAC_I = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_resumeCause = -1; /* ResumeCause */ static int hf_nr_rrc_rrcResumeRequest1_01 = -1; /* RRCResumeRequest1_IEs */ static int hf_nr_rrc_resumeIdentity_01 = -1; /* I_RNTI_Value */ static int hf_nr_rrc_criticalExtensions_22 = -1; /* T_criticalExtensions_22 */ static int hf_nr_rrc_rrcSetup_01 = -1; /* RRCSetup_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_22 = -1; /* T_criticalExtensionsFuture_22 */ static int hf_nr_rrc_masterCellGroup_02 = -1; /* T_masterCellGroup_02 */ static int hf_nr_rrc_nonCriticalExtension_36 = -1; /* T_nonCriticalExtension_23 */ static int hf_nr_rrc_criticalExtensions_23 = -1; /* T_criticalExtensions_23 */ static int hf_nr_rrc_rrcSetupComplete_01 = -1; /* RRCSetupComplete_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_23 = -1; /* T_criticalExtensionsFuture_23 */ static int hf_nr_rrc_registeredAMF = -1; /* RegisteredAMF */ static int hf_nr_rrc_guami_Type = -1; /* T_guami_Type */ static int hf_nr_rrc_s_NSSAI_List = -1; /* SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI */ static int hf_nr_rrc_s_NSSAI_List_item = -1; /* S_NSSAI */ static int hf_nr_rrc_ng_5G_S_TMSI_Value = -1; /* T_ng_5G_S_TMSI_Value */ static int hf_nr_rrc_ng_5G_S_TMSI_Part2 = -1; /* BIT_STRING_SIZE_9 */ static int hf_nr_rrc_nonCriticalExtension_37 = -1; /* T_nonCriticalExtension_24 */ static int hf_nr_rrc_amf_Identifier = -1; /* AMF_Identifier */ static int hf_nr_rrc_rrcSetupRequest_01 = -1; /* RRCSetupRequest_IEs */ static int hf_nr_rrc_ue_Identity_02 = -1; /* InitialUE_Identity */ static int hf_nr_rrc_establishmentCause = -1; /* EstablishmentCause */ static int hf_nr_rrc_ng_5G_S_TMSI_Part1 = -1; /* BIT_STRING_SIZE_39 */ static int hf_nr_rrc_randomValue = -1; /* BIT_STRING_SIZE_39 */ static int hf_nr_rrc_criticalExtensions_24 = -1; /* T_criticalExtensions_24 */ static int hf_nr_rrc_rrcSystemInfoRequest_01 = -1; /* RRCSystemInfoRequest_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_24 = -1; /* T_criticalExtensionsFuture_24 */ static int hf_nr_rrc_requested_SI_List = -1; /* BIT_STRING_SIZE_maxSI_Message */ static int hf_nr_rrc_spare_01 = -1; /* BIT_STRING_SIZE_12 */ static int hf_nr_rrc_criticalExtensions_25 = -1; /* T_criticalExtensions_25 */ static int hf_nr_rrc_scgFailureInformation_01 = -1; /* SCGFailureInformation_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_25 = -1; /* T_criticalExtensionsFuture_25 */ static int hf_nr_rrc_failureReportSCG = -1; /* FailureReportSCG */ static int hf_nr_rrc_nonCriticalExtension_38 = -1; /* T_nonCriticalExtension_25 */ static int hf_nr_rrc_failureType_02 = -1; /* T_failureType_02 */ static int hf_nr_rrc_measResultFreqList = -1; /* MeasResultFreqList */ static int hf_nr_rrc_measResultSCG_Failure = -1; /* T_measResultSCG_Failure */ static int hf_nr_rrc_MeasResultFreqList_item = -1; /* MeasResult2NR */ static int hf_nr_rrc_criticalExtensions_26 = -1; /* T_criticalExtensions_26 */ static int hf_nr_rrc_scgFailureInformationEUTRA_01 = -1; /* SCGFailureInformationEUTRA_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_26 = -1; /* T_criticalExtensionsFuture_26 */ static int hf_nr_rrc_failureReportSCG_EUTRA = -1; /* FailureReportSCG_EUTRA */ static int hf_nr_rrc_nonCriticalExtension_39 = -1; /* T_nonCriticalExtension_26 */ static int hf_nr_rrc_failureType_03 = -1; /* T_failureType_03 */ static int hf_nr_rrc_measResultFreqListMRDC = -1; /* MeasResultFreqListFailMRDC */ static int hf_nr_rrc_measResultSCG_FailureMRDC = -1; /* T_measResultSCG_FailureMRDC */ static int hf_nr_rrc_MeasResultFreqListFailMRDC_item = -1; /* MeasResult2EUTRA */ static int hf_nr_rrc_criticalExtensions_27 = -1; /* T_criticalExtensions_27 */ static int hf_nr_rrc_securityModeCommand_01 = -1; /* SecurityModeCommand_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_27 = -1; /* T_criticalExtensionsFuture_27 */ static int hf_nr_rrc_securityConfigSMC = -1; /* SecurityConfigSMC */ static int hf_nr_rrc_nonCriticalExtension_40 = -1; /* T_nonCriticalExtension_27 */ static int hf_nr_rrc_securityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */ static int hf_nr_rrc_criticalExtensions_28 = -1; /* T_criticalExtensions_28 */ static int hf_nr_rrc_securityModeComplete_01 = -1; /* SecurityModeComplete_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_28 = -1; /* T_criticalExtensionsFuture_28 */ static int hf_nr_rrc_nonCriticalExtension_41 = -1; /* T_nonCriticalExtension_28 */ static int hf_nr_rrc_criticalExtensions_29 = -1; /* T_criticalExtensions_29 */ static int hf_nr_rrc_securityModeFailure_01 = -1; /* SecurityModeFailure_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_29 = -1; /* T_criticalExtensionsFuture_29 */ static int hf_nr_rrc_nonCriticalExtension_42 = -1; /* T_nonCriticalExtension_29 */ static int hf_nr_rrc_cellSelectionInfo = -1; /* T_cellSelectionInfo */ static int hf_nr_rrc_q_RxLevMin = -1; /* Q_RxLevMin */ static int hf_nr_rrc_q_RxLevMinOffset = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_q_RxLevMinSUL = -1; /* Q_RxLevMin */ static int hf_nr_rrc_q_QualMin = -1; /* Q_QualMin */ static int hf_nr_rrc_q_QualMinOffset = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_cellAccessRelatedInfo = -1; /* CellAccessRelatedInfo */ static int hf_nr_rrc_connEstFailureControl = -1; /* ConnEstFailureControl */ static int hf_nr_rrc_si_SchedulingInfo = -1; /* SI_SchedulingInfo */ static int hf_nr_rrc_servingCellConfigCommon = -1; /* ServingCellConfigCommonSIB */ static int hf_nr_rrc_ims_EmergencySupport = -1; /* T_ims_EmergencySupport */ static int hf_nr_rrc_eCallOverIMS_Support = -1; /* T_eCallOverIMS_Support */ static int hf_nr_rrc_ue_TimersAndConstants = -1; /* UE_TimersAndConstants */ static int hf_nr_rrc_uac_BarringInfo = -1; /* T_uac_BarringInfo */ static int hf_nr_rrc_uac_BarringForCommon = -1; /* UAC_BarringPerCatList */ static int hf_nr_rrc_uac_BarringPerPLMN_List = -1; /* UAC_BarringPerPLMN_List */ static int hf_nr_rrc_uac_BarringInfoSetList = -1; /* UAC_BarringInfoSetList */ static int hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo = -1; /* T_uac_AccessCategory1_SelectionAssistanceInfo */ static int hf_nr_rrc_plmnCommon = -1; /* UAC_AccessCategory1_SelectionAssistanceInfo */ static int hf_nr_rrc_individualPLMNList = -1; /* SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo */ static int hf_nr_rrc_individualPLMNList_item = -1; /* UAC_AccessCategory1_SelectionAssistanceInfo */ static int hf_nr_rrc_useFullResumeID = -1; /* T_useFullResumeID */ static int hf_nr_rrc_nonCriticalExtension_43 = -1; /* T_nonCriticalExtension_30 */ static int hf_nr_rrc_criticalExtensions_30 = -1; /* T_criticalExtensions_30 */ static int hf_nr_rrc_systemInformation_01 = -1; /* SystemInformation_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_30 = -1; /* T_criticalExtensionsFuture_30 */ static int hf_nr_rrc_sib_TypeAndInfo = -1; /* T_sib_TypeAndInfo */ static int hf_nr_rrc_sib_TypeAndInfo_item = -1; /* T_sib_TypeAndInfo_item */ static int hf_nr_rrc_sib2 = -1; /* SIB2 */ static int hf_nr_rrc_sib3 = -1; /* SIB3 */ static int hf_nr_rrc_sib4 = -1; /* SIB4 */ static int hf_nr_rrc_sib5 = -1; /* SIB5 */ static int hf_nr_rrc_sib6 = -1; /* SIB6 */ static int hf_nr_rrc_sib7 = -1; /* SIB7 */ static int hf_nr_rrc_sib8 = -1; /* SIB8 */ static int hf_nr_rrc_sib9 = -1; /* SIB9 */ static int hf_nr_rrc_nonCriticalExtension_44 = -1; /* T_nonCriticalExtension_31 */ static int hf_nr_rrc_criticalExtensions_31 = -1; /* T_criticalExtensions_31 */ static int hf_nr_rrc_ueAssistanceInformation_02 = -1; /* UEAssistanceInformation_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_31 = -1; /* T_criticalExtensionsFuture_31 */ static int hf_nr_rrc_delayBudgetReport = -1; /* DelayBudgetReport */ static int hf_nr_rrc_nonCriticalExtension_45 = -1; /* UEAssistanceInformation_v1540_IEs */ static int hf_nr_rrc_type1 = -1; /* T_type1 */ static int hf_nr_rrc_overheatingAssistance = -1; /* OverheatingAssistance */ static int hf_nr_rrc_nonCriticalExtension_46 = -1; /* T_nonCriticalExtension_32 */ static int hf_nr_rrc_reducedMaxCCs = -1; /* T_reducedMaxCCs */ static int hf_nr_rrc_reducedCCsDL = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_reducedCCsUL = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_reducedMaxBW_FR1 = -1; /* T_reducedMaxBW_FR1 */ static int hf_nr_rrc_reducedBW_FR1_DL = -1; /* ReducedAggregatedBandwidth */ static int hf_nr_rrc_reducedBW_FR1_UL = -1; /* ReducedAggregatedBandwidth */ static int hf_nr_rrc_reducedMaxBW_FR2 = -1; /* T_reducedMaxBW_FR2 */ static int hf_nr_rrc_reducedBW_FR2_DL = -1; /* ReducedAggregatedBandwidth */ static int hf_nr_rrc_reducedBW_FR2_UL = -1; /* ReducedAggregatedBandwidth */ static int hf_nr_rrc_reducedMaxMIMO_LayersFR1 = -1; /* T_reducedMaxMIMO_LayersFR1 */ static int hf_nr_rrc_reducedMIMO_LayersFR1_DL = -1; /* MIMO_LayersDL */ static int hf_nr_rrc_reducedMIMO_LayersFR1_UL = -1; /* MIMO_LayersUL */ static int hf_nr_rrc_reducedMaxMIMO_LayersFR2 = -1; /* T_reducedMaxMIMO_LayersFR2 */ static int hf_nr_rrc_reducedMIMO_LayersFR2_DL = -1; /* MIMO_LayersDL */ static int hf_nr_rrc_reducedMIMO_LayersFR2_UL = -1; /* MIMO_LayersUL */ static int hf_nr_rrc_criticalExtensions_32 = -1; /* T_criticalExtensions_32 */ static int hf_nr_rrc_ueCapabilityEnquiry_01 = -1; /* UECapabilityEnquiry_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_32 = -1; /* T_criticalExtensionsFuture_32 */ static int hf_nr_rrc_ue_CapabilityRAT_RequestList = -1; /* UE_CapabilityRAT_RequestList */ static int hf_nr_rrc_ue_CapabilityEnquiryExt = -1; /* T_ue_CapabilityEnquiryExt */ static int hf_nr_rrc_capabilityRequestFilterCommon = -1; /* UE_CapabilityRequestFilterCommon */ static int hf_nr_rrc_nonCriticalExtension_47 = -1; /* T_nonCriticalExtension_33 */ static int hf_nr_rrc_criticalExtensions_33 = -1; /* T_criticalExtensions_33 */ static int hf_nr_rrc_ueCapabilityInformation_01 = -1; /* UECapabilityInformation_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_33 = -1; /* T_criticalExtensionsFuture_33 */ static int hf_nr_rrc_ue_CapabilityRAT_ContainerList = -1; /* UE_CapabilityRAT_ContainerList */ static int hf_nr_rrc_nonCriticalExtension_48 = -1; /* T_nonCriticalExtension_34 */ static int hf_nr_rrc_criticalExtensions_34 = -1; /* T_criticalExtensions_34 */ static int hf_nr_rrc_ulInformationTransfer_01 = -1; /* ULInformationTransfer_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_34 = -1; /* T_criticalExtensionsFuture_34 */ static int hf_nr_rrc_nonCriticalExtension_49 = -1; /* T_nonCriticalExtension_35 */ static int hf_nr_rrc_criticalExtensions_35 = -1; /* T_criticalExtensions_35 */ static int hf_nr_rrc_c1_14 = -1; /* T_c1_14 */ static int hf_nr_rrc_ulInformationTransferMRDC_01 = -1; /* ULInformationTransferMRDC_IEs */ static int hf_nr_rrc_criticalExtensionsFuture_35 = -1; /* T_criticalExtensionsFuture_35 */ static int hf_nr_rrc_ul_DCCH_MessageNR = -1; /* T_ul_DCCH_MessageNR */ static int hf_nr_rrc_ul_DCCH_MessageEUTRA = -1; /* T_ul_DCCH_MessageEUTRA */ static int hf_nr_rrc_nonCriticalExtension_50 = -1; /* T_nonCriticalExtension_36 */ static int hf_nr_rrc_cellReselectionInfoCommon = -1; /* T_cellReselectionInfoCommon */ static int hf_nr_rrc_nrofSS_BlocksToAverage = -1; /* INTEGER_2_maxNrofSS_BlocksToAverage */ static int hf_nr_rrc_absThreshSS_BlocksConsolidation = -1; /* ThresholdNR */ static int hf_nr_rrc_rangeToBestCell = -1; /* RangeToBestCell */ static int hf_nr_rrc_q_Hyst = -1; /* T_q_Hyst */ static int hf_nr_rrc_speedStateReselectionPars = -1; /* T_speedStateReselectionPars */ static int hf_nr_rrc_mobilityStateParameters = -1; /* MobilityStateParameters */ static int hf_nr_rrc_q_HystSF = -1; /* T_q_HystSF */ static int hf_nr_rrc_sf_Medium = -1; /* T_sf_Medium */ static int hf_nr_rrc_sf_High = -1; /* T_sf_High */ static int hf_nr_rrc_cellReselectionServingFreqInfo = -1; /* T_cellReselectionServingFreqInfo */ static int hf_nr_rrc_s_NonIntraSearchP = -1; /* ReselectionThreshold */ static int hf_nr_rrc_s_NonIntraSearchQ = -1; /* ReselectionThresholdQ */ static int hf_nr_rrc_threshServingLowP = -1; /* ReselectionThreshold */ static int hf_nr_rrc_threshServingLowQ = -1; /* ReselectionThresholdQ */ static int hf_nr_rrc_intraFreqCellReselectionInfo = -1; /* T_intraFreqCellReselectionInfo */ static int hf_nr_rrc_s_IntraSearchP = -1; /* ReselectionThreshold */ static int hf_nr_rrc_s_IntraSearchQ = -1; /* ReselectionThresholdQ */ static int hf_nr_rrc_t_ReselectionNR = -1; /* T_Reselection */ static int hf_nr_rrc_frequencyBandList = -1; /* MultiFrequencyBandListNR_SIB */ static int hf_nr_rrc_frequencyBandListSUL = -1; /* MultiFrequencyBandListNR_SIB */ static int hf_nr_rrc_p_Max = -1; /* P_Max */ static int hf_nr_rrc_deriveSSB_IndexFromCell = -1; /* BOOLEAN */ static int hf_nr_rrc_t_ReselectionNR_SF = -1; /* SpeedStateScaleFactors */ static int hf_nr_rrc_intraFreqNeighCellList = -1; /* IntraFreqNeighCellList */ static int hf_nr_rrc_intraFreqBlackCellList = -1; /* IntraFreqBlackCellList */ static int hf_nr_rrc_IntraFreqNeighCellList_item = -1; /* IntraFreqNeighCellInfo */ static int hf_nr_rrc_q_OffsetCell = -1; /* Q_OffsetRange */ static int hf_nr_rrc_q_RxLevMinOffsetCell = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_q_RxLevMinOffsetCellSUL = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_q_QualMinOffsetCell = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_IntraFreqBlackCellList_item = -1; /* PCI_Range */ static int hf_nr_rrc_interFreqCarrierFreqList = -1; /* InterFreqCarrierFreqList */ static int hf_nr_rrc_InterFreqCarrierFreqList_item = -1; /* InterFreqCarrierFreqInfo */ static int hf_nr_rrc_dl_CarrierFreq = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_threshX_HighP = -1; /* ReselectionThreshold */ static int hf_nr_rrc_threshX_LowP = -1; /* ReselectionThreshold */ static int hf_nr_rrc_threshX_Q = -1; /* T_threshX_Q */ static int hf_nr_rrc_threshX_HighQ = -1; /* ReselectionThresholdQ */ static int hf_nr_rrc_threshX_LowQ = -1; /* ReselectionThresholdQ */ static int hf_nr_rrc_q_OffsetFreq = -1; /* Q_OffsetRange */ static int hf_nr_rrc_interFreqNeighCellList = -1; /* InterFreqNeighCellList */ static int hf_nr_rrc_interFreqBlackCellList = -1; /* InterFreqBlackCellList */ static int hf_nr_rrc_InterFreqNeighCellList_item = -1; /* InterFreqNeighCellInfo */ static int hf_nr_rrc_InterFreqBlackCellList_item = -1; /* PCI_Range */ static int hf_nr_rrc_carrierFreqListEUTRA = -1; /* CarrierFreqListEUTRA */ static int hf_nr_rrc_t_ReselectionEUTRA = -1; /* T_Reselection */ static int hf_nr_rrc_t_ReselectionEUTRA_SF = -1; /* SpeedStateScaleFactors */ static int hf_nr_rrc_CarrierFreqListEUTRA_item = -1; /* CarrierFreqEUTRA */ static int hf_nr_rrc_eutra_multiBandInfoList = -1; /* EUTRA_MultiBandInfoList */ static int hf_nr_rrc_eutra_FreqNeighCellList = -1; /* EUTRA_FreqNeighCellList */ static int hf_nr_rrc_eutra_BlackCellList = -1; /* EUTRA_FreqBlackCellList */ static int hf_nr_rrc_allowedMeasBandwidth = -1; /* EUTRA_AllowedMeasBandwidth */ static int hf_nr_rrc_presenceAntennaPort1 = -1; /* EUTRA_PresenceAntennaPort1 */ static int hf_nr_rrc_threshX_High = -1; /* ReselectionThreshold */ static int hf_nr_rrc_threshX_Low = -1; /* ReselectionThreshold */ static int hf_nr_rrc_q_RxLevMin_01 = -1; /* INTEGER_M70_M22 */ static int hf_nr_rrc_q_QualMin_01 = -1; /* INTEGER_M34_M3 */ static int hf_nr_rrc_p_MaxEUTRA = -1; /* INTEGER_M30_33 */ static int hf_nr_rrc_threshX_Q_01 = -1; /* T_threshX_Q_01 */ static int hf_nr_rrc_EUTRA_FreqBlackCellList_item = -1; /* EUTRA_PhysCellIdRange */ static int hf_nr_rrc_EUTRA_FreqNeighCellList_item = -1; /* EUTRA_FreqNeighCellInfo */ static int hf_nr_rrc_physCellId_01 = -1; /* EUTRA_PhysCellId */ static int hf_nr_rrc_dummy = -1; /* EUTRA_Q_OffsetRange */ static int hf_nr_rrc_messageIdentifier = -1; /* T_messageIdentifier */ static int hf_nr_rrc_serialNumber = -1; /* T_serialNumber */ static int hf_nr_rrc_warningType = -1; /* T_warningType */ static int hf_nr_rrc_messageIdentifier_01 = -1; /* T_messageIdentifier_01 */ static int hf_nr_rrc_serialNumber_01 = -1; /* T_serialNumber_01 */ static int hf_nr_rrc_warningMessageSegmentType = -1; /* T_warningMessageSegmentType */ static int hf_nr_rrc_warningMessageSegmentNumber = -1; /* T_warningMessageSegmentNumber */ static int hf_nr_rrc_warningMessageSegment = -1; /* T_warningMessageSegment */ static int hf_nr_rrc_dataCodingScheme = -1; /* T_dataCodingScheme */ static int hf_nr_rrc_messageIdentifier_02 = -1; /* T_messageIdentifier_02 */ static int hf_nr_rrc_serialNumber_02 = -1; /* T_serialNumber_02 */ static int hf_nr_rrc_warningMessageSegmentType_01 = -1; /* T_warningMessageSegmentType_01 */ static int hf_nr_rrc_warningMessageSegmentNumber_01 = -1; /* T_warningMessageSegmentNumber_01 */ static int hf_nr_rrc_warningMessageSegment_01 = -1; /* T_warningMessageSegment_01 */ static int hf_nr_rrc_dataCodingScheme_01 = -1; /* T_dataCodingScheme_01 */ static int hf_nr_rrc_warningAreaCoordinatesSegment = -1; /* OCTET_STRING */ static int hf_nr_rrc_timeInfo = -1; /* T_timeInfo */ static int hf_nr_rrc_timeInfoUTC = -1; /* T_timeInfoUTC */ static int hf_nr_rrc_dayLightSavingTime = -1; /* T_dayLightSavingTime */ static int hf_nr_rrc_leapSeconds = -1; /* INTEGER_M127_128 */ static int hf_nr_rrc_localTimeOffset = -1; /* INTEGER_M63_64 */ static int hf_nr_rrc_rootSequenceIndex_BFR = -1; /* INTEGER_0_137 */ static int hf_nr_rrc_rach_ConfigBFR = -1; /* RACH_ConfigGeneric */ static int hf_nr_rrc_rsrp_ThresholdSSB = -1; /* RSRP_Range */ static int hf_nr_rrc_candidateBeamRSList = -1; /* SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR */ static int hf_nr_rrc_candidateBeamRSList_item = -1; /* PRACH_ResourceDedicatedBFR */ static int hf_nr_rrc_ssb_perRACH_Occasion = -1; /* T_ssb_perRACH_Occasion */ static int hf_nr_rrc_ra_ssb_OccasionMaskIndex = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_recoverySearchSpaceId = -1; /* SearchSpaceId */ static int hf_nr_rrc_ra_Prioritization = -1; /* RA_Prioritization */ static int hf_nr_rrc_beamFailureRecoveryTimer = -1; /* T_beamFailureRecoveryTimer */ static int hf_nr_rrc_msg1_SubcarrierSpacing = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_ssb = -1; /* BFR_SSB_Resource */ static int hf_nr_rrc_csi_RS = -1; /* BFR_CSIRS_Resource */ static int hf_nr_rrc_ssb_01 = -1; /* SSB_Index */ static int hf_nr_rrc_ra_PreambleIndex = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_csi_RS_01 = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_ra_OccasionList = -1; /* T_ra_OccasionList */ static int hf_nr_rrc_ra_OccasionList_item = -1; /* INTEGER_0_maxRA_Occasions_1 */ static int hf_nr_rrc_betaOffsetACK_Index1 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetACK_Index2 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetACK_Index3 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetCSI_Part1_Index1 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetCSI_Part1_Index2 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetCSI_Part2_Index1 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_betaOffsetCSI_Part2_Index2 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_periodicBSR_Timer = -1; /* T_periodicBSR_Timer */ static int hf_nr_rrc_retxBSR_Timer = -1; /* T_retxBSR_Timer */ static int hf_nr_rrc_logicalChannelSR_DelayTimer = -1; /* T_logicalChannelSR_DelayTimer */ static int hf_nr_rrc_locationAndBandwidth = -1; /* INTEGER_0_37949 */ static int hf_nr_rrc_subcarrierSpacing = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_cyclicPrefix = -1; /* T_cyclicPrefix */ static int hf_nr_rrc_bwp_Id = -1; /* BWP_Id */ static int hf_nr_rrc_bwp_Common = -1; /* BWP_DownlinkCommon */ static int hf_nr_rrc_bwp_Dedicated = -1; /* BWP_DownlinkDedicated */ static int hf_nr_rrc_genericParameters = -1; /* BWP */ static int hf_nr_rrc_pdcch_ConfigCommon = -1; /* T_pdcch_ConfigCommon */ static int hf_nr_rrc_setup_03 = -1; /* PDCCH_ConfigCommon */ static int hf_nr_rrc_pdsch_ConfigCommon = -1; /* T_pdsch_ConfigCommon */ static int hf_nr_rrc_setup_04 = -1; /* PDSCH_ConfigCommon */ static int hf_nr_rrc_pdcch_Config = -1; /* T_pdcch_Config */ static int hf_nr_rrc_setup_05 = -1; /* PDCCH_Config */ static int hf_nr_rrc_pdsch_Config = -1; /* T_pdsch_Config */ static int hf_nr_rrc_setup_06 = -1; /* PDSCH_Config */ static int hf_nr_rrc_sps_Config = -1; /* T_sps_Config */ static int hf_nr_rrc_setup_07 = -1; /* SPS_Config */ static int hf_nr_rrc_radioLinkMonitoringConfig = -1; /* T_radioLinkMonitoringConfig */ static int hf_nr_rrc_setup_08 = -1; /* RadioLinkMonitoringConfig */ static int hf_nr_rrc_bwp_Common_01 = -1; /* BWP_UplinkCommon */ static int hf_nr_rrc_bwp_Dedicated_01 = -1; /* BWP_UplinkDedicated */ static int hf_nr_rrc_rach_ConfigCommon = -1; /* T_rach_ConfigCommon */ static int hf_nr_rrc_setup_09 = -1; /* RACH_ConfigCommon */ static int hf_nr_rrc_pusch_ConfigCommon = -1; /* T_pusch_ConfigCommon */ static int hf_nr_rrc_setup_10 = -1; /* PUSCH_ConfigCommon */ static int hf_nr_rrc_pucch_ConfigCommon = -1; /* T_pucch_ConfigCommon */ static int hf_nr_rrc_setup_11 = -1; /* PUCCH_ConfigCommon */ static int hf_nr_rrc_pucch_Config = -1; /* T_pucch_Config */ static int hf_nr_rrc_setup_12 = -1; /* PUCCH_Config */ static int hf_nr_rrc_pusch_Config = -1; /* T_pusch_Config */ static int hf_nr_rrc_setup_13 = -1; /* PUSCH_Config */ static int hf_nr_rrc_configuredGrantConfig = -1; /* T_configuredGrantConfig */ static int hf_nr_rrc_setup_14 = -1; /* ConfiguredGrantConfig */ static int hf_nr_rrc_srs_Config = -1; /* T_srs_Config */ static int hf_nr_rrc_setup_15 = -1; /* SRS_Config */ static int hf_nr_rrc_beamFailureRecoveryConfig = -1; /* T_beamFailureRecoveryConfig */ static int hf_nr_rrc_setup_16 = -1; /* BeamFailureRecoveryConfig */ static int hf_nr_rrc_plmn_IdentityList = -1; /* PLMN_IdentityInfoList */ static int hf_nr_rrc_cellReservedForOtherUse = -1; /* T_cellReservedForOtherUse */ static int hf_nr_rrc_plmn_IdentityList_eutra_5gc = -1; /* PLMN_IdentityList_EUTRA_5GC */ static int hf_nr_rrc_trackingAreaCode_eutra_5gc = -1; /* TrackingAreaCode */ static int hf_nr_rrc_ranac_5gc = -1; /* RAN_AreaCode */ static int hf_nr_rrc_cellIdentity_eutra_5gc = -1; /* CellIdentity_EUTRA_5GC */ static int hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item = -1; /* PLMN_Identity_EUTRA_5GC */ static int hf_nr_rrc_plmn_Identity_EUTRA_5GC = -1; /* PLMN_Identity */ static int hf_nr_rrc_plmn_index = -1; /* INTEGER_1_maxPLMN */ static int hf_nr_rrc_cellIdentity_EUTRA = -1; /* BIT_STRING_SIZE_28 */ static int hf_nr_rrc_cellId_index = -1; /* INTEGER_1_maxPLMN */ static int hf_nr_rrc_plmn_IdentityList_eutra_epc = -1; /* PLMN_IdentityList_EUTRA_EPC */ static int hf_nr_rrc_trackingAreaCode_eutra_epc = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_cellIdentity_eutra_epc = -1; /* BIT_STRING_SIZE_28 */ static int hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item = -1; /* PLMN_Identity */ static int hf_nr_rrc_rlc_BearerToAddModList = -1; /* SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig */ static int hf_nr_rrc_rlc_BearerToAddModList_item = -1; /* RLC_BearerConfig */ static int hf_nr_rrc_rlc_BearerToReleaseList = -1; /* SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity */ static int hf_nr_rrc_rlc_BearerToReleaseList_item = -1; /* LogicalChannelIdentity */ static int hf_nr_rrc_mac_CellGroupConfig = -1; /* MAC_CellGroupConfig */ static int hf_nr_rrc_physicalCellGroupConfig = -1; /* PhysicalCellGroupConfig */ static int hf_nr_rrc_spCellConfig = -1; /* SpCellConfig */ static int hf_nr_rrc_sCellToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig */ static int hf_nr_rrc_sCellToAddModList_item = -1; /* SCellConfig */ static int hf_nr_rrc_sCellToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex */ static int hf_nr_rrc_sCellToReleaseList_item = -1; /* SCellIndex */ static int hf_nr_rrc_reportUplinkTxDirectCurrent = -1; /* T_reportUplinkTxDirectCurrent */ static int hf_nr_rrc_reconfigurationWithSync = -1; /* ReconfigurationWithSync */ static int hf_nr_rrc_rlf_TimersAndConstants = -1; /* T_rlf_TimersAndConstants */ static int hf_nr_rrc_setup_17 = -1; /* RLF_TimersAndConstants */ static int hf_nr_rrc_rlmInSyncOutOfSyncThreshold = -1; /* T_rlmInSyncOutOfSyncThreshold */ static int hf_nr_rrc_spCellConfigDedicated = -1; /* ServingCellConfig */ static int hf_nr_rrc_spCellConfigCommon = -1; /* ServingCellConfigCommon */ static int hf_nr_rrc_newUE_Identity = -1; /* RNTI_Value */ static int hf_nr_rrc_t304 = -1; /* T_t304 */ static int hf_nr_rrc_rach_ConfigDedicated = -1; /* T_rach_ConfigDedicated */ static int hf_nr_rrc_uplink = -1; /* RACH_ConfigDedicated */ static int hf_nr_rrc_supplementaryUplink = -1; /* RACH_ConfigDedicated */ static int hf_nr_rrc_sCellIndex = -1; /* SCellIndex */ static int hf_nr_rrc_sCellConfigCommon = -1; /* ServingCellConfigCommon */ static int hf_nr_rrc_sCellConfigDedicated = -1; /* ServingCellConfig */ static int hf_nr_rrc_cgi_info_EPC = -1; /* T_cgi_info_EPC */ static int hf_nr_rrc_cgi_info_EPC_legacy = -1; /* CellAccessRelatedInfo_EUTRA_EPC */ static int hf_nr_rrc_cgi_info_EPC_list = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC */ static int hf_nr_rrc_cgi_info_EPC_list_item = -1; /* CellAccessRelatedInfo_EUTRA_EPC */ static int hf_nr_rrc_cgi_info_5GC = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC */ static int hf_nr_rrc_cgi_info_5GC_item = -1; /* CellAccessRelatedInfo_EUTRA_5GC */ static int hf_nr_rrc_freqBandIndicator = -1; /* FreqBandIndicatorEUTRA */ static int hf_nr_rrc_multiBandInfoList = -1; /* MultiBandInfoListEUTRA */ static int hf_nr_rrc_freqBandIndicatorPriority = -1; /* T_freqBandIndicatorPriority */ static int hf_nr_rrc_plmn_IdentityInfoList = -1; /* PLMN_IdentityInfoList */ static int hf_nr_rrc_frequencyBandList_01 = -1; /* MultiFrequencyBandListNR */ static int hf_nr_rrc_noSIB1 = -1; /* T_noSIB1 */ static int hf_nr_rrc_codebookType = -1; /* T_codebookType */ static int hf_nr_rrc_type1_01 = -1; /* T_type1_01 */ static int hf_nr_rrc_subType = -1; /* T_subType */ static int hf_nr_rrc_typeI_SinglePanel = -1; /* T_typeI_SinglePanel */ static int hf_nr_rrc_nrOfAntennaPorts = -1; /* T_nrOfAntennaPorts */ static int hf_nr_rrc_two = -1; /* T_two */ static int hf_nr_rrc_twoTX_CodebookSubsetRestriction = -1; /* BIT_STRING_SIZE_6 */ static int hf_nr_rrc_moreThanTwo = -1; /* T_moreThanTwo */ static int hf_nr_rrc_n1_n2 = -1; /* T_n1_n2 */ static int hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_64 */ static int hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_96 */ static int hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_24 */ static int hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_128 */ static int hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_32 */ static int hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_192 */ static int hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_192 */ static int hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_48 */ static int hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_256 */ static int hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_256 */ static int hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_64 */ static int hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2 = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_typeI_SinglePanel_ri_Restriction = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_typeI_MultiPanel = -1; /* T_typeI_MultiPanel */ static int hf_nr_rrc_ng_n1_n2 = -1; /* T_ng_n1_n2 */ static int hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */ static int hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_32 */ static int hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_128 */ static int hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */ static int hf_nr_rrc_ri_Restriction = -1; /* BIT_STRING_SIZE_4 */ static int hf_nr_rrc_codebookMode = -1; /* INTEGER_1_2 */ static int hf_nr_rrc_type2 = -1; /* T_type2 */ static int hf_nr_rrc_subType_01 = -1; /* T_subType_01 */ static int hf_nr_rrc_typeII = -1; /* T_typeII */ static int hf_nr_rrc_n1_n2_codebookSubsetRestriction = -1; /* T_n1_n2_codebookSubsetRestriction */ static int hf_nr_rrc_two_one = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_two_two = -1; /* BIT_STRING_SIZE_43 */ static int hf_nr_rrc_four_one = -1; /* BIT_STRING_SIZE_32 */ static int hf_nr_rrc_three_two = -1; /* BIT_STRING_SIZE_59 */ static int hf_nr_rrc_six_one = -1; /* BIT_STRING_SIZE_48 */ static int hf_nr_rrc_four_two = -1; /* BIT_STRING_SIZE_75 */ static int hf_nr_rrc_eight_one = -1; /* BIT_STRING_SIZE_64 */ static int hf_nr_rrc_four_three = -1; /* BIT_STRING_SIZE_107 */ static int hf_nr_rrc_six_two = -1; /* BIT_STRING_SIZE_107 */ static int hf_nr_rrc_twelve_one = -1; /* BIT_STRING_SIZE_96 */ static int hf_nr_rrc_four_four = -1; /* BIT_STRING_SIZE_139 */ static int hf_nr_rrc_eight_two = -1; /* BIT_STRING_SIZE_139 */ static int hf_nr_rrc_sixteen_one = -1; /* BIT_STRING_SIZE_128 */ static int hf_nr_rrc_typeII_RI_Restriction = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_typeII_PortSelection = -1; /* T_typeII_PortSelection */ static int hf_nr_rrc_portSelectionSamplingSize = -1; /* T_portSelectionSamplingSize */ static int hf_nr_rrc_typeII_PortSelectionRI_Restriction = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_phaseAlphabetSize = -1; /* T_phaseAlphabetSize */ static int hf_nr_rrc_subbandAmplitude = -1; /* BOOLEAN */ static int hf_nr_rrc_numberOfBeams = -1; /* T_numberOfBeams */ static int hf_nr_rrc_frequencyHopping = -1; /* T_frequencyHopping */ static int hf_nr_rrc_cg_DMRS_Configuration = -1; /* DMRS_UplinkConfig */ static int hf_nr_rrc_mcs_Table = -1; /* T_mcs_Table */ static int hf_nr_rrc_mcs_TableTransformPrecoder = -1; /* T_mcs_TableTransformPrecoder */ static int hf_nr_rrc_uci_OnPUSCH = -1; /* T_uci_OnPUSCH */ static int hf_nr_rrc_setup_18 = -1; /* CG_UCI_OnPUSCH */ static int hf_nr_rrc_resourceAllocation = -1; /* T_resourceAllocation */ static int hf_nr_rrc_rbg_Size = -1; /* T_rbg_Size */ static int hf_nr_rrc_powerControlLoopToUse = -1; /* T_powerControlLoopToUse */ static int hf_nr_rrc_p0_PUSCH_Alpha = -1; /* P0_PUSCH_AlphaSetId */ static int hf_nr_rrc_transformPrecoder = -1; /* T_transformPrecoder */ static int hf_nr_rrc_nrofHARQ_Processes = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_repK = -1; /* T_repK */ static int hf_nr_rrc_repK_RV = -1; /* T_repK_RV */ static int hf_nr_rrc_periodicity = -1; /* T_periodicity */ static int hf_nr_rrc_configuredGrantTimer = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_rrc_ConfiguredUplinkGrant = -1; /* T_rrc_ConfiguredUplinkGrant */ static int hf_nr_rrc_timeDomainOffset = -1; /* INTEGER_0_5119 */ static int hf_nr_rrc_timeDomainAllocation = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_frequencyDomainAllocation = -1; /* BIT_STRING_SIZE_18 */ static int hf_nr_rrc_antennaPort = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_dmrs_SeqInitialization = -1; /* INTEGER_0_1 */ static int hf_nr_rrc_precodingAndNumberOfLayers = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_srs_ResourceIndicator = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_mcsAndTBS = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_frequencyHoppingOffset = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */ static int hf_nr_rrc_pathlossReferenceIndex = -1; /* INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 */ static int hf_nr_rrc_dynamic = -1; /* SEQUENCE_SIZE_1_4_OF_BetaOffsets */ static int hf_nr_rrc_dynamic_item = -1; /* BetaOffsets */ static int hf_nr_rrc_semiStatic = -1; /* BetaOffsets */ static int hf_nr_rrc_connEstFailCount = -1; /* T_connEstFailCount */ static int hf_nr_rrc_connEstFailOffsetValidity = -1; /* T_connEstFailOffsetValidity */ static int hf_nr_rrc_connEstFailOffset = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_controlResourceSetId = -1; /* ControlResourceSetId */ static int hf_nr_rrc_frequencyDomainResources = -1; /* BIT_STRING_SIZE_45 */ static int hf_nr_rrc_duration = -1; /* INTEGER_1_maxCoReSetDuration */ static int hf_nr_rrc_cce_REG_MappingType = -1; /* T_cce_REG_MappingType */ static int hf_nr_rrc_interleaved = -1; /* T_interleaved */ static int hf_nr_rrc_reg_BundleSize = -1; /* T_reg_BundleSize */ static int hf_nr_rrc_interleaverSize = -1; /* T_interleaverSize */ static int hf_nr_rrc_shiftIndex = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */ static int hf_nr_rrc_nonInterleaved = -1; /* NULL */ static int hf_nr_rrc_precoderGranularity = -1; /* T_precoderGranularity */ static int hf_nr_rrc_tci_StatesPDCCH_ToAddList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */ static int hf_nr_rrc_tci_StatesPDCCH_ToAddList_item = -1; /* TCI_StateId */ static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */ static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList_item = -1; /* TCI_StateId */ static int hf_nr_rrc_tci_PresentInDCI = -1; /* T_tci_PresentInDCI */ static int hf_nr_rrc_pdcch_DMRS_ScramblingID = -1; /* INTEGER_0_65535 */ static int hf_nr_rrc_schedulingCellInfo = -1; /* T_schedulingCellInfo */ static int hf_nr_rrc_own = -1; /* T_own */ static int hf_nr_rrc_cif_Presence = -1; /* BOOLEAN */ static int hf_nr_rrc_other = -1; /* T_other */ static int hf_nr_rrc_schedulingCellId = -1; /* ServCellIndex */ static int hf_nr_rrc_cif_InSchedulingCell = -1; /* INTEGER_1_7 */ static int hf_nr_rrc_CSI_AperiodicTriggerStateList_item = -1; /* CSI_AperiodicTriggerState */ static int hf_nr_rrc_associatedReportConfigInfoList = -1; /* SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo */ static int hf_nr_rrc_associatedReportConfigInfoList_item = -1; /* CSI_AssociatedReportConfigInfo */ static int hf_nr_rrc_reportConfigId = -1; /* CSI_ReportConfigId */ static int hf_nr_rrc_resourcesForChannel = -1; /* T_resourcesForChannel */ static int hf_nr_rrc_nzp_CSI_RS = -1; /* T_nzp_CSI_RS */ static int hf_nr_rrc_resourceSet = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */ static int hf_nr_rrc_qcl_info = -1; /* SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId */ static int hf_nr_rrc_qcl_info_item = -1; /* TCI_StateId */ static int hf_nr_rrc_csi_SSB_ResourceSet = -1; /* INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig */ static int hf_nr_rrc_csi_IM_ResourcesForInterference = -1; /* INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig */ static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */ static int hf_nr_rrc_startingRB = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */ static int hf_nr_rrc_nrofRBs = -1; /* INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 */ static int hf_nr_rrc_csi_IM_ResourceId = -1; /* CSI_IM_ResourceId */ static int hf_nr_rrc_csi_IM_ResourceElementPattern = -1; /* T_csi_IM_ResourceElementPattern */ static int hf_nr_rrc_pattern0 = -1; /* T_pattern0 */ static int hf_nr_rrc_subcarrierLocation_p0 = -1; /* T_subcarrierLocation_p0 */ static int hf_nr_rrc_symbolLocation_p0 = -1; /* INTEGER_0_12 */ static int hf_nr_rrc_pattern1 = -1; /* T_pattern1 */ static int hf_nr_rrc_subcarrierLocation_p1 = -1; /* T_subcarrierLocation_p1 */ static int hf_nr_rrc_symbolLocation_p1 = -1; /* INTEGER_0_13 */ static int hf_nr_rrc_freqBand = -1; /* CSI_FrequencyOccupation */ static int hf_nr_rrc_periodicityAndOffset = -1; /* CSI_ResourcePeriodicityAndOffset */ static int hf_nr_rrc_csi_IM_ResourceSetId = -1; /* CSI_IM_ResourceSetId */ static int hf_nr_rrc_csi_IM_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId */ static int hf_nr_rrc_csi_IM_Resources_item = -1; /* CSI_IM_ResourceId */ static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource */ static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item = -1; /* NZP_CSI_RS_Resource */ static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item = -1; /* NZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item = -1; /* NZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_csi_IM_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource */ static int hf_nr_rrc_csi_IM_ResourceToAddModList_item = -1; /* CSI_IM_Resource */ static int hf_nr_rrc_csi_IM_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId */ static int hf_nr_rrc_csi_IM_ResourceToReleaseList_item = -1; /* CSI_IM_ResourceId */ static int hf_nr_rrc_csi_IM_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet */ static int hf_nr_rrc_csi_IM_ResourceSetToAddModList_item = -1; /* CSI_IM_ResourceSet */ static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId */ static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item = -1; /* CSI_IM_ResourceSetId */ static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet */ static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item = -1; /* CSI_SSB_ResourceSet */ static int hf_nr_rrc_csi_SSB_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId */ static int hf_nr_rrc_csi_SSB_ResourceSetToReleaseList_item = -1; /* CSI_SSB_ResourceSetId */ static int hf_nr_rrc_csi_ResourceConfigToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig */ static int hf_nr_rrc_csi_ResourceConfigToAddModList_item = -1; /* CSI_ResourceConfig */ static int hf_nr_rrc_csi_ResourceConfigToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId */ static int hf_nr_rrc_csi_ResourceConfigToReleaseList_item = -1; /* CSI_ResourceConfigId */ static int hf_nr_rrc_csi_ReportConfigToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig */ static int hf_nr_rrc_csi_ReportConfigToAddModList_item = -1; /* CSI_ReportConfig */ static int hf_nr_rrc_csi_ReportConfigToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId */ static int hf_nr_rrc_csi_ReportConfigToReleaseList_item = -1; /* CSI_ReportConfigId */ static int hf_nr_rrc_reportTriggerSize = -1; /* INTEGER_0_6 */ static int hf_nr_rrc_aperiodicTriggerStateList = -1; /* T_aperiodicTriggerStateList */ static int hf_nr_rrc_setup_19 = -1; /* CSI_AperiodicTriggerStateList */ static int hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList = -1; /* T_semiPersistentOnPUSCH_TriggerStateList */ static int hf_nr_rrc_setup_20 = -1; /* CSI_SemiPersistentOnPUSCH_TriggerStateList */ static int hf_nr_rrc_carrier = -1; /* ServCellIndex */ static int hf_nr_rrc_resourcesForChannelMeasurement = -1; /* CSI_ResourceConfigId */ static int hf_nr_rrc_csi_IM_ResourcesForInterference_01 = -1; /* CSI_ResourceConfigId */ static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01 = -1; /* CSI_ResourceConfigId */ static int hf_nr_rrc_reportConfigType = -1; /* T_reportConfigType */ static int hf_nr_rrc_periodic = -1; /* T_periodic */ static int hf_nr_rrc_reportSlotConfig = -1; /* CSI_ReportPeriodicityAndOffset */ static int hf_nr_rrc_pucch_CSI_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource */ static int hf_nr_rrc_pucch_CSI_ResourceList_item = -1; /* PUCCH_CSI_Resource */ static int hf_nr_rrc_semiPersistentOnPUCCH = -1; /* T_semiPersistentOnPUCCH */ static int hf_nr_rrc_semiPersistentOnPUSCH = -1; /* T_semiPersistentOnPUSCH */ static int hf_nr_rrc_reportSlotConfig_01 = -1; /* T_reportSlotConfig */ static int hf_nr_rrc_reportSlotOffsetList = -1; /* T_reportSlotOffsetList */ static int hf_nr_rrc_reportSlotOffsetList_item = -1; /* INTEGER_0_32 */ static int hf_nr_rrc_p0alpha = -1; /* P0_PUSCH_AlphaSetId */ static int hf_nr_rrc_aperiodic = -1; /* T_aperiodic */ static int hf_nr_rrc_reportSlotOffsetList_01 = -1; /* T_reportSlotOffsetList_01 */ static int hf_nr_rrc_reportQuantity = -1; /* T_reportQuantity */ static int hf_nr_rrc_none = -1; /* NULL */ static int hf_nr_rrc_cri_RI_PMI_CQI = -1; /* NULL */ static int hf_nr_rrc_cri_RI_i1 = -1; /* NULL */ static int hf_nr_rrc_cri_RI_i1_CQI = -1; /* T_cri_RI_i1_CQI */ static int hf_nr_rrc_pdsch_BundleSizeForCSI = -1; /* T_pdsch_BundleSizeForCSI */ static int hf_nr_rrc_cri_RI_CQI = -1; /* NULL */ static int hf_nr_rrc_cri_RSRP = -1; /* NULL */ static int hf_nr_rrc_ssb_Index_RSRP = -1; /* NULL */ static int hf_nr_rrc_cri_RI_LI_PMI_CQI = -1; /* NULL */ static int hf_nr_rrc_reportFreqConfiguration = -1; /* T_reportFreqConfiguration */ static int hf_nr_rrc_cqi_FormatIndicator = -1; /* T_cqi_FormatIndicator */ static int hf_nr_rrc_pmi_FormatIndicator = -1; /* T_pmi_FormatIndicator */ static int hf_nr_rrc_csi_ReportingBand = -1; /* T_csi_ReportingBand */ static int hf_nr_rrc_subbands3 = -1; /* BIT_STRING_SIZE_3 */ static int hf_nr_rrc_subbands4 = -1; /* BIT_STRING_SIZE_4 */ static int hf_nr_rrc_subbands5 = -1; /* BIT_STRING_SIZE_5 */ static int hf_nr_rrc_subbands6 = -1; /* BIT_STRING_SIZE_6 */ static int hf_nr_rrc_subbands7 = -1; /* BIT_STRING_SIZE_7 */ static int hf_nr_rrc_subbands8 = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_subbands9 = -1; /* BIT_STRING_SIZE_9 */ static int hf_nr_rrc_subbands10 = -1; /* BIT_STRING_SIZE_10 */ static int hf_nr_rrc_subbands11 = -1; /* BIT_STRING_SIZE_11 */ static int hf_nr_rrc_subbands12 = -1; /* BIT_STRING_SIZE_12 */ static int hf_nr_rrc_subbands13 = -1; /* BIT_STRING_SIZE_13 */ static int hf_nr_rrc_subbands14 = -1; /* BIT_STRING_SIZE_14 */ static int hf_nr_rrc_subbands15 = -1; /* BIT_STRING_SIZE_15 */ static int hf_nr_rrc_subbands16 = -1; /* BIT_STRING_SIZE_16 */ static int hf_nr_rrc_subbands17 = -1; /* BIT_STRING_SIZE_17 */ static int hf_nr_rrc_subbands18 = -1; /* BIT_STRING_SIZE_18 */ static int hf_nr_rrc_subbands19_v1530 = -1; /* BIT_STRING_SIZE_19 */ static int hf_nr_rrc_timeRestrictionForChannelMeasurements = -1; /* T_timeRestrictionForChannelMeasurements */ static int hf_nr_rrc_timeRestrictionForInterferenceMeasurements = -1; /* T_timeRestrictionForInterferenceMeasurements */ static int hf_nr_rrc_codebookConfig = -1; /* CodebookConfig */ static int hf_nr_rrc_dummy_01 = -1; /* T_dummy */ static int hf_nr_rrc_groupBasedBeamReporting = -1; /* T_groupBasedBeamReporting */ static int hf_nr_rrc_enabled = -1; /* NULL */ static int hf_nr_rrc_disabled = -1; /* T_disabled */ static int hf_nr_rrc_nrofReportedRS = -1; /* T_nrofReportedRS */ static int hf_nr_rrc_cqi_Table = -1; /* T_cqi_Table */ static int hf_nr_rrc_subbandSize = -1; /* T_subbandSize */ static int hf_nr_rrc_non_PMI_PortIndication = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks */ static int hf_nr_rrc_non_PMI_PortIndication_item = -1; /* PortIndexFor8Ranks */ static int hf_nr_rrc_semiPersistentOnPUSCH_v1530 = -1; /* T_semiPersistentOnPUSCH_v1530 */ static int hf_nr_rrc_reportSlotConfig_v1530 = -1; /* T_reportSlotConfig_v1530 */ static int hf_nr_rrc_slots4 = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_slots5 = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_slots8 = -1; /* INTEGER_0_7 */ static int hf_nr_rrc_slots10 = -1; /* INTEGER_0_9 */ static int hf_nr_rrc_slots16 = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_slots20 = -1; /* INTEGER_0_19 */ static int hf_nr_rrc_slots40 = -1; /* INTEGER_0_39 */ static int hf_nr_rrc_slots80 = -1; /* INTEGER_0_79 */ static int hf_nr_rrc_slots160 = -1; /* INTEGER_0_159 */ static int hf_nr_rrc_slots320 = -1; /* INTEGER_0_319 */ static int hf_nr_rrc_uplinkBandwidthPartId = -1; /* BWP_Id */ static int hf_nr_rrc_pucch_Resource = -1; /* PUCCH_ResourceId */ static int hf_nr_rrc_portIndex8 = -1; /* T_portIndex8 */ static int hf_nr_rrc_rank1_8 = -1; /* PortIndex8 */ static int hf_nr_rrc_rank2_8 = -1; /* SEQUENCE_SIZE_2_OF_PortIndex8 */ static int hf_nr_rrc_rank2_8_item = -1; /* PortIndex8 */ static int hf_nr_rrc_rank3_8 = -1; /* SEQUENCE_SIZE_3_OF_PortIndex8 */ static int hf_nr_rrc_rank3_8_item = -1; /* PortIndex8 */ static int hf_nr_rrc_rank4_8 = -1; /* SEQUENCE_SIZE_4_OF_PortIndex8 */ static int hf_nr_rrc_rank4_8_item = -1; /* PortIndex8 */ static int hf_nr_rrc_rank5_8 = -1; /* SEQUENCE_SIZE_5_OF_PortIndex8 */ static int hf_nr_rrc_rank5_8_item = -1; /* PortIndex8 */ static int hf_nr_rrc_rank6_8 = -1; /* SEQUENCE_SIZE_6_OF_PortIndex8 */ static int hf_nr_rrc_rank6_8_item = -1; /* PortIndex8 */ static int hf_nr_rrc_rank7_8 = -1; /* SEQUENCE_SIZE_7_OF_PortIndex8 */ static int hf_nr_rrc_rank7_8_item = -1; /* PortIndex8 */ static int hf_nr_rrc_rank8_8 = -1; /* SEQUENCE_SIZE_8_OF_PortIndex8 */ static int hf_nr_rrc_rank8_8_item = -1; /* PortIndex8 */ static int hf_nr_rrc_portIndex4 = -1; /* T_portIndex4 */ static int hf_nr_rrc_rank1_4 = -1; /* PortIndex4 */ static int hf_nr_rrc_rank2_4 = -1; /* SEQUENCE_SIZE_2_OF_PortIndex4 */ static int hf_nr_rrc_rank2_4_item = -1; /* PortIndex4 */ static int hf_nr_rrc_rank3_4 = -1; /* SEQUENCE_SIZE_3_OF_PortIndex4 */ static int hf_nr_rrc_rank3_4_item = -1; /* PortIndex4 */ static int hf_nr_rrc_rank4_4 = -1; /* SEQUENCE_SIZE_4_OF_PortIndex4 */ static int hf_nr_rrc_rank4_4_item = -1; /* PortIndex4 */ static int hf_nr_rrc_portIndex2 = -1; /* T_portIndex2 */ static int hf_nr_rrc_rank1_2 = -1; /* PortIndex2 */ static int hf_nr_rrc_rank2_2 = -1; /* SEQUENCE_SIZE_2_OF_PortIndex2 */ static int hf_nr_rrc_rank2_2_item = -1; /* PortIndex2 */ static int hf_nr_rrc_portIndex1 = -1; /* NULL */ static int hf_nr_rrc_csi_ResourceConfigId = -1; /* CSI_ResourceConfigId */ static int hf_nr_rrc_csi_RS_ResourceSetList = -1; /* T_csi_RS_ResourceSetList */ static int hf_nr_rrc_nzp_CSI_RS_SSB = -1; /* T_nzp_CSI_RS_SSB */ static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item = -1; /* NZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_csi_SSB_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId */ static int hf_nr_rrc_csi_SSB_ResourceSetList_item = -1; /* CSI_SSB_ResourceSetId */ static int hf_nr_rrc_csi_IM_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId */ static int hf_nr_rrc_csi_IM_ResourceSetList_item = -1; /* CSI_IM_ResourceSetId */ static int hf_nr_rrc_resourceType = -1; /* T_resourceType */ static int hf_nr_rrc_slots32 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_slots64 = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_slots640 = -1; /* INTEGER_0_639 */ static int hf_nr_rrc_csi_RS_CellList_Mobility = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility */ static int hf_nr_rrc_csi_RS_CellList_Mobility_item = -1; /* CSI_RS_CellMobility */ static int hf_nr_rrc_refServCellIndex = -1; /* ServCellIndex */ static int hf_nr_rrc_cellId = -1; /* PhysCellId */ static int hf_nr_rrc_csi_rs_MeasurementBW = -1; /* T_csi_rs_MeasurementBW */ static int hf_nr_rrc_nrofPRBs = -1; /* T_nrofPRBs */ static int hf_nr_rrc_startPRB = -1; /* INTEGER_0_2169 */ static int hf_nr_rrc_density = -1; /* T_density */ static int hf_nr_rrc_csi_rs_ResourceList_Mobility = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility */ static int hf_nr_rrc_csi_rs_ResourceList_Mobility_item = -1; /* CSI_RS_Resource_Mobility */ static int hf_nr_rrc_csi_RS_Index = -1; /* CSI_RS_Index */ static int hf_nr_rrc_slotConfig = -1; /* T_slotConfig */ static int hf_nr_rrc_ms4 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_ms5 = -1; /* INTEGER_0_39 */ static int hf_nr_rrc_ms10_01 = -1; /* INTEGER_0_79 */ static int hf_nr_rrc_ms20_01 = -1; /* INTEGER_0_159 */ static int hf_nr_rrc_ms40_01 = -1; /* INTEGER_0_319 */ static int hf_nr_rrc_associatedSSB = -1; /* T_associatedSSB */ static int hf_nr_rrc_ssb_Index = -1; /* SSB_Index */ static int hf_nr_rrc_isQuasiColocated = -1; /* BOOLEAN */ static int hf_nr_rrc_frequencyDomainAllocation_01 = -1; /* T_frequencyDomainAllocation */ static int hf_nr_rrc_row1 = -1; /* BIT_STRING_SIZE_4 */ static int hf_nr_rrc_row2 = -1; /* BIT_STRING_SIZE_12 */ static int hf_nr_rrc_firstOFDMSymbolInTimeDomain = -1; /* INTEGER_0_13 */ static int hf_nr_rrc_sequenceGenerationConfig = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_frequencyDomainAllocation_02 = -1; /* T_frequencyDomainAllocation_01 */ static int hf_nr_rrc_row4 = -1; /* BIT_STRING_SIZE_3 */ static int hf_nr_rrc_other_01 = -1; /* BIT_STRING_SIZE_6 */ static int hf_nr_rrc_nrofPorts = -1; /* T_nrofPorts */ static int hf_nr_rrc_firstOFDMSymbolInTimeDomain2 = -1; /* INTEGER_2_12 */ static int hf_nr_rrc_cdm_Type = -1; /* T_cdm_Type */ static int hf_nr_rrc_density_01 = -1; /* T_density_01 */ static int hf_nr_rrc_dot5 = -1; /* T_dot5 */ static int hf_nr_rrc_one = -1; /* NULL */ static int hf_nr_rrc_three = -1; /* NULL */ static int hf_nr_rrc_spare_02 = -1; /* NULL */ static int hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item = -1; /* CSI_SemiPersistentOnPUSCH_TriggerState */ static int hf_nr_rrc_associatedReportConfigInfo = -1; /* CSI_ReportConfigId */ static int hf_nr_rrc_csi_SSB_ResourceSetId = -1; /* CSI_SSB_ResourceSetId */ static int hf_nr_rrc_csi_SSB_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index */ static int hf_nr_rrc_csi_SSB_ResourceList_item = -1; /* SSB_Index */ static int hf_nr_rrc_dmrs_Type = -1; /* T_dmrs_Type */ static int hf_nr_rrc_dmrs_AdditionalPosition = -1; /* T_dmrs_AdditionalPosition */ static int hf_nr_rrc_maxLength = -1; /* T_maxLength */ static int hf_nr_rrc_scramblingID0 = -1; /* INTEGER_0_65535 */ static int hf_nr_rrc_scramblingID1 = -1; /* INTEGER_0_65535 */ static int hf_nr_rrc_phaseTrackingRS = -1; /* T_phaseTrackingRS */ static int hf_nr_rrc_setup_21 = -1; /* PTRS_DownlinkConfig */ static int hf_nr_rrc_dmrs_Type_01 = -1; /* T_dmrs_Type_01 */ static int hf_nr_rrc_dmrs_AdditionalPosition_01 = -1; /* T_dmrs_AdditionalPosition_01 */ static int hf_nr_rrc_phaseTrackingRS_01 = -1; /* T_phaseTrackingRS_01 */ static int hf_nr_rrc_setup_22 = -1; /* PTRS_UplinkConfig */ static int hf_nr_rrc_maxLength_01 = -1; /* T_maxLength_01 */ static int hf_nr_rrc_transformPrecodingDisabled = -1; /* T_transformPrecodingDisabled */ static int hf_nr_rrc_transformPrecodingEnabled = -1; /* T_transformPrecodingEnabled */ static int hf_nr_rrc_nPUSCH_Identity = -1; /* INTEGER_0_1007 */ static int hf_nr_rrc_sequenceGroupHopping = -1; /* T_sequenceGroupHopping */ static int hf_nr_rrc_sequenceHopping = -1; /* T_sequenceHopping */ static int hf_nr_rrc_frequencyInfoDL = -1; /* FrequencyInfoDL */ static int hf_nr_rrc_initialDownlinkBWP = -1; /* BWP_DownlinkCommon */ static int hf_nr_rrc_frequencyInfoDL_01 = -1; /* FrequencyInfoDL_SIB */ static int hf_nr_rrc_bcch_Config = -1; /* BCCH_Config */ static int hf_nr_rrc_pcch_Config = -1; /* PCCH_Config */ static int hf_nr_rrc_modificationPeriodCoeff = -1; /* T_modificationPeriodCoeff */ static int hf_nr_rrc_defaultPagingCycle = -1; /* PagingCycle */ static int hf_nr_rrc_nAndPagingFrameOffset = -1; /* T_nAndPagingFrameOffset */ static int hf_nr_rrc_oneT = -1; /* NULL */ static int hf_nr_rrc_halfT = -1; /* INTEGER_0_1 */ static int hf_nr_rrc_quarterT = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_oneEighthT = -1; /* INTEGER_0_7 */ static int hf_nr_rrc_oneSixteenthT = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_ns = -1; /* T_ns */ static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO = -1; /* T_firstPDCCH_MonitoringOccasionOfPO */ static int hf_nr_rrc_sCS15KHZoneT = -1; /* T_sCS15KHZoneT */ static int hf_nr_rrc_sCS15KHZoneT_item = -1; /* INTEGER_0_139 */ static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT = -1; /* T_sCS30KHZoneT_SCS15KHZhalfT */ static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item = -1; /* INTEGER_0_279 */ static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT = -1; /* T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT */ static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item = -1; /* INTEGER_0_559 */ static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT = -1; /* T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT */ static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item = -1; /* INTEGER_0_1119 */ static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT = -1; /* T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT */ static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item = -1; /* INTEGER_0_2239 */ static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1; /* T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT */ static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item = -1; /* INTEGER_0_4479 */ static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1; /* T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT */ static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item = -1; /* INTEGER_0_8959 */ static int hf_nr_rrc_sCS120KHZoneSixteenthT = -1; /* T_sCS120KHZoneSixteenthT */ static int hf_nr_rrc_sCS120KHZoneSixteenthT_item = -1; /* INTEGER_0_17919 */ static int hf_nr_rrc_int_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_timeFrequencySet = -1; /* T_timeFrequencySet */ static int hf_nr_rrc_dci_PayloadSize = -1; /* INTEGER_0_maxINT_DCI_PayloadSize */ static int hf_nr_rrc_int_ConfigurationPerServingCell = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell */ static int hf_nr_rrc_int_ConfigurationPerServingCell_item = -1; /* INT_ConfigurationPerServingCell */ static int hf_nr_rrc_servingCellId = -1; /* ServCellIndex */ static int hf_nr_rrc_positionInDCI = -1; /* INTEGER_0_maxINT_DCI_PayloadSize_1 */ static int hf_nr_rrc_drx_onDurationTimer = -1; /* T_drx_onDurationTimer */ static int hf_nr_rrc_subMilliSeconds = -1; /* INTEGER_1_31 */ static int hf_nr_rrc_milliSeconds = -1; /* T_milliSeconds */ static int hf_nr_rrc_drx_InactivityTimer = -1; /* T_drx_InactivityTimer */ static int hf_nr_rrc_drx_HARQ_RTT_TimerDL = -1; /* INTEGER_0_56 */ static int hf_nr_rrc_drx_HARQ_RTT_TimerUL = -1; /* INTEGER_0_56 */ static int hf_nr_rrc_drx_RetransmissionTimerDL = -1; /* T_drx_RetransmissionTimerDL */ static int hf_nr_rrc_drx_RetransmissionTimerUL = -1; /* T_drx_RetransmissionTimerUL */ static int hf_nr_rrc_drx_LongCycleStartOffset_01 = -1; /* T_drx_LongCycleStartOffset_01 */ static int hf_nr_rrc_shortDRX_01 = -1; /* T_shortDRX_01 */ static int hf_nr_rrc_drx_ShortCycle_01 = -1; /* T_drx_ShortCycle_01 */ static int hf_nr_rrc_drx_SlotOffset = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_absoluteFrequencySSB = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_absoluteFrequencyPointA = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_scs_SpecificCarrierList = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ static int hf_nr_rrc_scs_SpecificCarrierList_item = -1; /* SCS_SpecificCarrier */ static int hf_nr_rrc_offsetToPointA = -1; /* INTEGER_0_2199 */ static int hf_nr_rrc_additionalSpectrumEmission = -1; /* AdditionalSpectrumEmission */ static int hf_nr_rrc_frequencyShift7p5khz = -1; /* T_frequencyShift7p5khz */ static int hf_nr_rrc_frequencyShift7p5khz_01 = -1; /* T_frequencyShift7p5khz_01 */ static int hf_nr_rrc_eutra_RSTD = -1; /* EUTRA_RSTD_InfoList */ static int hf_nr_rrc_eutra_FineTimingDetection = -1; /* NULL */ static int hf_nr_rrc_EUTRA_RSTD_InfoList_item = -1; /* EUTRA_RSTD_Info */ static int hf_nr_rrc_measPRS_Offset = -1; /* INTEGER_0_39 */ static int hf_nr_rrc_ul_SpecificParameters = -1; /* T_ul_SpecificParameters */ static int hf_nr_rrc_priority = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_prioritisedBitRate = -1; /* T_prioritisedBitRate */ static int hf_nr_rrc_bucketSizeDuration = -1; /* T_bucketSizeDuration */ static int hf_nr_rrc_allowedServingCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex */ static int hf_nr_rrc_allowedServingCells_item = -1; /* ServCellIndex */ static int hf_nr_rrc_allowedSCS_List = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing */ static int hf_nr_rrc_allowedSCS_List_item = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_maxPUSCH_Duration = -1; /* T_maxPUSCH_Duration */ static int hf_nr_rrc_configuredGrantType1Allowed = -1; /* T_configuredGrantType1Allowed */ static int hf_nr_rrc_logicalChannelGroup = -1; /* INTEGER_0_maxLCG_ID */ static int hf_nr_rrc_schedulingRequestID = -1; /* SchedulingRequestId */ static int hf_nr_rrc_logicalChannelSR_Mask = -1; /* BOOLEAN */ static int hf_nr_rrc_logicalChannelSR_DelayTimerApplied = -1; /* BOOLEAN */ static int hf_nr_rrc_bitRateQueryProhibitTimer = -1; /* T_bitRateQueryProhibitTimer */ static int hf_nr_rrc_drx_Config = -1; /* T_drx_Config */ static int hf_nr_rrc_setup_23 = -1; /* DRX_Config */ static int hf_nr_rrc_schedulingRequestConfig = -1; /* SchedulingRequestConfig */ static int hf_nr_rrc_bsr_Config = -1; /* BSR_Config */ static int hf_nr_rrc_tag_Config = -1; /* TAG_Config */ static int hf_nr_rrc_phr_Config = -1; /* T_phr_Config */ static int hf_nr_rrc_setup_24 = -1; /* PHR_Config */ static int hf_nr_rrc_skipUplinkTxDynamic = -1; /* BOOLEAN */ static int hf_nr_rrc_csi_Mask = -1; /* BOOLEAN */ static int hf_nr_rrc_dataInactivityTimer = -1; /* T_dataInactivityTimer */ static int hf_nr_rrc_setup_25 = -1; /* DataInactivityTimer */ static int hf_nr_rrc_measObjectToRemoveList = -1; /* MeasObjectToRemoveList */ static int hf_nr_rrc_measObjectToAddModList = -1; /* MeasObjectToAddModList */ static int hf_nr_rrc_reportConfigToRemoveList = -1; /* ReportConfigToRemoveList */ static int hf_nr_rrc_reportConfigToAddModList = -1; /* ReportConfigToAddModList */ static int hf_nr_rrc_measIdToRemoveList = -1; /* MeasIdToRemoveList */ static int hf_nr_rrc_measIdToAddModList = -1; /* MeasIdToAddModList */ static int hf_nr_rrc_s_MeasureConfig = -1; /* T_s_MeasureConfig */ static int hf_nr_rrc_ssb_RSRP = -1; /* RSRP_Range */ static int hf_nr_rrc_csi_RSRP = -1; /* RSRP_Range */ static int hf_nr_rrc_quantityConfig = -1; /* QuantityConfig */ static int hf_nr_rrc_measGapConfig_01 = -1; /* MeasGapConfig */ static int hf_nr_rrc_measGapSharingConfig = -1; /* MeasGapSharingConfig */ static int hf_nr_rrc_MeasObjectToRemoveList_item = -1; /* MeasObjectId */ static int hf_nr_rrc_MeasIdToRemoveList_item = -1; /* MeasId */ static int hf_nr_rrc_ReportConfigToRemoveList_item = -1; /* ReportConfigId */ static int hf_nr_rrc_gapFR2 = -1; /* T_gapFR2 */ static int hf_nr_rrc_gapFR1 = -1; /* T_gapFR1 */ static int hf_nr_rrc_gapUE = -1; /* T_gapUE */ static int hf_nr_rrc_gapOffset = -1; /* INTEGER_0_159 */ static int hf_nr_rrc_mgl = -1; /* T_mgl */ static int hf_nr_rrc_mgrp = -1; /* T_mgrp */ static int hf_nr_rrc_mgta = -1; /* T_mgta */ static int hf_nr_rrc_refServCellIndicator = -1; /* T_refServCellIndicator */ static int hf_nr_rrc_gapSharingFR2 = -1; /* T_gapSharingFR2 */ static int hf_nr_rrc_setup_26 = -1; /* MeasGapSharingScheme */ static int hf_nr_rrc_gapSharingFR1 = -1; /* T_gapSharingFR1 */ static int hf_nr_rrc_gapSharingUE = -1; /* T_gapSharingUE */ static int hf_nr_rrc_MeasIdToAddModList_item = -1; /* MeasIdToAddMod */ static int hf_nr_rrc_measId = -1; /* MeasId */ static int hf_nr_rrc_measObjectId = -1; /* MeasObjectId */ static int hf_nr_rrc_reportConfigId_01 = -1; /* ReportConfigId */ static int hf_nr_rrc_cellsToRemoveListEUTRAN = -1; /* EUTRA_CellIndexList */ static int hf_nr_rrc_cellsToAddModListEUTRAN = -1; /* SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell */ static int hf_nr_rrc_cellsToAddModListEUTRAN_item = -1; /* EUTRA_Cell */ static int hf_nr_rrc_blackCellsToRemoveListEUTRAN = -1; /* EUTRA_CellIndexList */ static int hf_nr_rrc_blackCellsToAddModListEUTRAN = -1; /* SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell */ static int hf_nr_rrc_blackCellsToAddModListEUTRAN_item = -1; /* EUTRA_BlackCell */ static int hf_nr_rrc_eutra_PresenceAntennaPort1 = -1; /* EUTRA_PresenceAntennaPort1 */ static int hf_nr_rrc_eutra_Q_OffsetRange = -1; /* EUTRA_Q_OffsetRange */ static int hf_nr_rrc_widebandRSRQ_Meas = -1; /* BOOLEAN */ static int hf_nr_rrc_EUTRA_CellIndexList_item = -1; /* EUTRA_CellIndex */ static int hf_nr_rrc_cellIndexEUTRA = -1; /* EUTRA_CellIndex */ static int hf_nr_rrc_cellIndividualOffset = -1; /* EUTRA_Q_OffsetRange */ static int hf_nr_rrc_physCellIdRange = -1; /* EUTRA_PhysCellIdRange */ static int hf_nr_rrc_smtc1 = -1; /* SSB_MTC */ static int hf_nr_rrc_smtc2 = -1; /* SSB_MTC2 */ static int hf_nr_rrc_refFreqCSI_RS = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_referenceSignalConfig = -1; /* ReferenceSignalConfig */ static int hf_nr_rrc_absThreshCSI_RS_Consolidation = -1; /* ThresholdNR */ static int hf_nr_rrc_nrofCSI_RS_ResourcesToAverage = -1; /* INTEGER_2_maxNrofCSI_RS_ResourcesToAverage */ static int hf_nr_rrc_quantityConfigIndex = -1; /* INTEGER_1_maxNrofQuantityConfig */ static int hf_nr_rrc_offsetMO = -1; /* Q_OffsetRangeList */ static int hf_nr_rrc_cellsToRemoveList = -1; /* PCI_List */ static int hf_nr_rrc_cellsToAddModList = -1; /* CellsToAddModList */ static int hf_nr_rrc_blackCellsToRemoveList = -1; /* PCI_RangeIndexList */ static int hf_nr_rrc_blackCellsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement */ static int hf_nr_rrc_blackCellsToAddModList_item = -1; /* PCI_RangeElement */ static int hf_nr_rrc_whiteCellsToRemoveList = -1; /* PCI_RangeIndexList */ static int hf_nr_rrc_whiteCellsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement */ static int hf_nr_rrc_whiteCellsToAddModList_item = -1; /* PCI_RangeElement */ static int hf_nr_rrc_freqBandIndicatorNR = -1; /* FreqBandIndicatorNR */ static int hf_nr_rrc_measCycleSCell = -1; /* T_measCycleSCell */ static int hf_nr_rrc_ssb_ConfigMobility = -1; /* SSB_ConfigMobility */ static int hf_nr_rrc_csi_rs_ResourceConfigMobility = -1; /* T_csi_rs_ResourceConfigMobility */ static int hf_nr_rrc_setup_27 = -1; /* CSI_RS_ResourceConfigMobility */ static int hf_nr_rrc_ssb_ToMeasure_01 = -1; /* T_ssb_ToMeasure */ static int hf_nr_rrc_setup_28 = -1; /* SSB_ToMeasure */ static int hf_nr_rrc_rsrpOffsetSSB = -1; /* Q_OffsetRange */ static int hf_nr_rrc_rsrqOffsetSSB = -1; /* Q_OffsetRange */ static int hf_nr_rrc_sinrOffsetSSB = -1; /* Q_OffsetRange */ static int hf_nr_rrc_rsrpOffsetCSI_RS = -1; /* Q_OffsetRange */ static int hf_nr_rrc_rsrqOffsetCSI_RS = -1; /* Q_OffsetRange */ static int hf_nr_rrc_sinrOffsetCSI_RS = -1; /* Q_OffsetRange */ static int hf_nr_rrc_thresholdRSRP = -1; /* RSRP_Range */ static int hf_nr_rrc_thresholdRSRQ = -1; /* RSRQ_Range */ static int hf_nr_rrc_thresholdSINR = -1; /* SINR_Range */ static int hf_nr_rrc_CellsToAddModList_item = -1; /* CellsToAddMod */ static int hf_nr_rrc_cellIndividualOffset_01 = -1; /* Q_OffsetRangeList */ static int hf_nr_rrc_MeasObjectToAddModList_item = -1; /* MeasObjectToAddMod */ static int hf_nr_rrc_measObject = -1; /* T_measObject */ static int hf_nr_rrc_measObjectNR = -1; /* MeasObjectNR */ static int hf_nr_rrc_measObjectEUTRA = -1; /* MeasObjectEUTRA */ static int hf_nr_rrc_MeasResultCellListSFTD_NR_item = -1; /* MeasResultCellSFTD_NR */ static int hf_nr_rrc_sfn_OffsetResult = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_frameBoundaryOffsetResult = -1; /* INTEGER_M30720_30719 */ static int hf_nr_rrc_rsrp_Result = -1; /* RSRP_Range */ static int hf_nr_rrc_MeasResultCellListSFTD_EUTRA_item = -1; /* MeasResultSFTD_EUTRA */ static int hf_nr_rrc_eutra_PhysCellId = -1; /* EUTRA_PhysCellId */ static int hf_nr_rrc_measResultServingMOList = -1; /* MeasResultServMOList */ static int hf_nr_rrc_measResultNeighCells = -1; /* T_measResultNeighCells */ static int hf_nr_rrc_measResultListNR = -1; /* MeasResultListNR */ static int hf_nr_rrc_measResultListEUTRA = -1; /* MeasResultListEUTRA */ static int hf_nr_rrc_measResultServFreqListEUTRA_SCG = -1; /* MeasResultServFreqListEUTRA_SCG */ static int hf_nr_rrc_measResultServFreqListNR_SCG = -1; /* MeasResultServFreqListNR_SCG */ static int hf_nr_rrc_measResultSFTD_EUTRA = -1; /* MeasResultSFTD_EUTRA */ static int hf_nr_rrc_measResultSFTD_NR = -1; /* MeasResultCellSFTD_NR */ static int hf_nr_rrc_MeasResultServMOList_item = -1; /* MeasResultServMO */ static int hf_nr_rrc_servCellId = -1; /* ServCellIndex */ static int hf_nr_rrc_measResultServingCell = -1; /* MeasResultNR */ static int hf_nr_rrc_measResultBestNeighCell = -1; /* MeasResultNR */ static int hf_nr_rrc_MeasResultListNR_item = -1; /* MeasResultNR */ static int hf_nr_rrc_measResult = -1; /* T_measResult */ static int hf_nr_rrc_cellResults = -1; /* T_cellResults */ static int hf_nr_rrc_resultsSSB_Cell = -1; /* MeasQuantityResults */ static int hf_nr_rrc_resultsCSI_RS_Cell = -1; /* MeasQuantityResults */ static int hf_nr_rrc_rsIndexResults = -1; /* T_rsIndexResults */ static int hf_nr_rrc_resultsSSB_Indexes = -1; /* ResultsPerSSB_IndexList */ static int hf_nr_rrc_resultsCSI_RS_Indexes = -1; /* ResultsPerCSI_RS_IndexList */ static int hf_nr_rrc_MeasResultListEUTRA_item = -1; /* MeasResultEUTRA */ static int hf_nr_rrc_eutra_PhysCellId_01 = -1; /* PhysCellId */ static int hf_nr_rrc_measResult_01 = -1; /* MeasQuantityResultsEUTRA */ static int hf_nr_rrc_cgi_Info_01 = -1; /* CGI_InfoEUTRA */ static int hf_nr_rrc_MultiBandInfoListEUTRA_item = -1; /* FreqBandIndicatorEUTRA */ static int hf_nr_rrc_rsrp = -1; /* RSRP_Range */ static int hf_nr_rrc_rsrq = -1; /* RSRQ_Range */ static int hf_nr_rrc_sinr = -1; /* SINR_Range */ static int hf_nr_rrc_rsrp_01 = -1; /* RSRP_RangeEUTRA */ static int hf_nr_rrc_rsrq_01 = -1; /* RSRQ_RangeEUTRA */ static int hf_nr_rrc_sinr_01 = -1; /* SINR_RangeEUTRA */ static int hf_nr_rrc_ResultsPerSSB_IndexList_item = -1; /* ResultsPerSSB_Index */ static int hf_nr_rrc_ssb_Results = -1; /* MeasQuantityResults */ static int hf_nr_rrc_ResultsPerCSI_RS_IndexList_item = -1; /* ResultsPerCSI_RS_Index */ static int hf_nr_rrc_csi_RS_Results = -1; /* MeasQuantityResults */ static int hf_nr_rrc_MeasResultServFreqListEUTRA_SCG_item = -1; /* MeasResult2EUTRA */ static int hf_nr_rrc_MeasResultServFreqListNR_SCG_item = -1; /* MeasResult2NR */ static int hf_nr_rrc_measResultServingCell_01 = -1; /* MeasResultEUTRA */ static int hf_nr_rrc_measResultBestNeighCell_01 = -1; /* MeasResultEUTRA */ static int hf_nr_rrc_measResultNeighCellListNR = -1; /* MeasResultListNR */ static int hf_nr_rrc_measResultPerMOList = -1; /* MeasResultList2NR */ static int hf_nr_rrc_MeasResultList2NR_item = -1; /* MeasResult2NR */ static int hf_nr_rrc_t_Evaluation = -1; /* T_t_Evaluation */ static int hf_nr_rrc_t_HystNormal = -1; /* T_t_HystNormal */ static int hf_nr_rrc_n_CellChangeMedium = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_n_CellChangeHigh = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_MultiFrequencyBandListNR_item = -1; /* FreqBandIndicatorNR */ static int hf_nr_rrc_MultiFrequencyBandListNR_SIB_item = -1; /* NR_MultiBandInfo */ static int hf_nr_rrc_nr_NS_PmaxList = -1; /* NR_NS_PmaxList */ static int hf_nr_rrc_NR_NS_PmaxList_item = -1; /* NR_NS_PmaxValue */ static int hf_nr_rrc_additionalPmax = -1; /* P_Max */ static int hf_nr_rrc_nzp_CSI_RS_ResourceId = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_resourceMapping = -1; /* CSI_RS_ResourceMapping */ static int hf_nr_rrc_powerControlOffset = -1; /* INTEGER_M8_15 */ static int hf_nr_rrc_powerControlOffsetSS = -1; /* T_powerControlOffsetSS */ static int hf_nr_rrc_scramblingID = -1; /* ScramblingId */ static int hf_nr_rrc_qcl_InfoPeriodicCSI_RS = -1; /* TCI_StateId */ static int hf_nr_rrc_nzp_CSI_ResourceSetId = -1; /* NZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_nzp_CSI_RS_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_nzp_CSI_RS_Resources_item = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_repetition = -1; /* T_repetition */ static int hf_nr_rrc_aperiodicTriggeringOffset = -1; /* INTEGER_0_6 */ static int hf_nr_rrc_trs_Info = -1; /* T_trs_Info */ static int hf_nr_rrc_PCI_List_item = -1; /* PhysCellId */ static int hf_nr_rrc_start = -1; /* PhysCellId */ static int hf_nr_rrc_range = -1; /* T_range */ static int hf_nr_rrc_pci_RangeIndex = -1; /* PCI_RangeIndex */ static int hf_nr_rrc_pci_Range = -1; /* PCI_Range */ static int hf_nr_rrc_PCI_RangeIndexList_item = -1; /* PCI_RangeIndex */ static int hf_nr_rrc_controlResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_3_OF_ControlResourceSet */ static int hf_nr_rrc_controlResourceSetToAddModList_item = -1; /* ControlResourceSet */ static int hf_nr_rrc_controlResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_3_OF_ControlResourceSetId */ static int hf_nr_rrc_controlResourceSetToReleaseList_item = -1; /* ControlResourceSetId */ static int hf_nr_rrc_searchSpacesToAddModList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpace */ static int hf_nr_rrc_searchSpacesToAddModList_item = -1; /* SearchSpace */ static int hf_nr_rrc_searchSpacesToReleaseList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpaceId */ static int hf_nr_rrc_searchSpacesToReleaseList_item = -1; /* SearchSpaceId */ static int hf_nr_rrc_downlinkPreemption = -1; /* T_downlinkPreemption */ static int hf_nr_rrc_setup_29 = -1; /* DownlinkPreemption */ static int hf_nr_rrc_tpc_PUSCH = -1; /* T_tpc_PUSCH */ static int hf_nr_rrc_setup_30 = -1; /* PUSCH_TPC_CommandConfig */ static int hf_nr_rrc_tpc_PUCCH = -1; /* T_tpc_PUCCH */ static int hf_nr_rrc_setup_31 = -1; /* PUCCH_TPC_CommandConfig */ static int hf_nr_rrc_tpc_SRS = -1; /* T_tpc_SRS */ static int hf_nr_rrc_setup_32 = -1; /* SRS_TPC_CommandConfig */ static int hf_nr_rrc_controlResourceSetZero = -1; /* ControlResourceSetZero */ static int hf_nr_rrc_commonControlResourceSet = -1; /* ControlResourceSet */ static int hf_nr_rrc_searchSpaceZero = -1; /* SearchSpaceZero */ static int hf_nr_rrc_commonSearchSpaceList = -1; /* SEQUENCE_SIZE_1_4_OF_SearchSpace */ static int hf_nr_rrc_commonSearchSpaceList_item = -1; /* SearchSpace */ static int hf_nr_rrc_searchSpaceSIB1 = -1; /* SearchSpaceId */ static int hf_nr_rrc_searchSpaceOtherSystemInformation = -1; /* SearchSpaceId */ static int hf_nr_rrc_pagingSearchSpace = -1; /* SearchSpaceId */ static int hf_nr_rrc_ra_SearchSpace = -1; /* SearchSpaceId */ static int hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_01 = -1; /* T_firstPDCCH_MonitoringOccasionOfPO_01 */ static int hf_nr_rrc_sCS15KHZoneT_01 = -1; /* T_sCS15KHZoneT_01 */ static int hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_01 = -1; /* T_sCS30KHZoneT_SCS15KHZhalfT_01 */ static int hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 = -1; /* T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 */ static int hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 = -1; /* T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 */ static int hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 = -1; /* T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 */ static int hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 = -1; /* T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 */ static int hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 = -1; /* T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 */ static int hf_nr_rrc_sCS120KHZoneSixteenthT_01 = -1; /* T_sCS120KHZoneSixteenthT_01 */ static int hf_nr_rrc_slotFormatIndicator = -1; /* T_slotFormatIndicator */ static int hf_nr_rrc_setup_33 = -1; /* SlotFormatIndicator */ static int hf_nr_rrc_drb = -1; /* T_drb */ static int hf_nr_rrc_discardTimer = -1; /* T_discardTimer */ static int hf_nr_rrc_pdcp_SN_SizeUL = -1; /* T_pdcp_SN_SizeUL */ static int hf_nr_rrc_pdcp_SN_SizeDL = -1; /* T_pdcp_SN_SizeDL */ static int hf_nr_rrc_headerCompression = -1; /* T_headerCompression */ static int hf_nr_rrc_notUsed = -1; /* NULL */ static int hf_nr_rrc_rohc = -1; /* T_rohc */ static int hf_nr_rrc_maxCID = -1; /* INTEGER_1_16383 */ static int hf_nr_rrc_profiles = -1; /* T_profiles */ static int hf_nr_rrc_profile0x0001 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0002 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0003 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0004 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0006 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0101 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0102 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0103 = -1; /* BOOLEAN */ static int hf_nr_rrc_profile0x0104 = -1; /* BOOLEAN */ static int hf_nr_rrc_drb_ContinueROHC = -1; /* T_drb_ContinueROHC */ static int hf_nr_rrc_uplinkOnlyROHC = -1; /* T_uplinkOnlyROHC */ static int hf_nr_rrc_profiles_01 = -1; /* T_profiles_01 */ static int hf_nr_rrc_drb_ContinueROHC_01 = -1; /* T_drb_ContinueROHC_01 */ static int hf_nr_rrc_integrityProtection = -1; /* T_integrityProtection */ static int hf_nr_rrc_statusReportRequired = -1; /* T_statusReportRequired */ static int hf_nr_rrc_outOfOrderDelivery = -1; /* T_outOfOrderDelivery */ static int hf_nr_rrc_moreThanOneRLC = -1; /* T_moreThanOneRLC */ static int hf_nr_rrc_primaryPath = -1; /* T_primaryPath */ static int hf_nr_rrc_cellGroup = -1; /* CellGroupId */ static int hf_nr_rrc_logicalChannel = -1; /* LogicalChannelIdentity */ static int hf_nr_rrc_ul_DataSplitThreshold = -1; /* UL_DataSplitThreshold */ static int hf_nr_rrc_pdcp_Duplication = -1; /* BOOLEAN */ static int hf_nr_rrc_t_Reordering = -1; /* T_t_Reordering */ static int hf_nr_rrc_cipheringDisabled = -1; /* T_cipheringDisabled */ static int hf_nr_rrc_dataScramblingIdentityPDSCH = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeA */ static int hf_nr_rrc_setup_34 = -1; /* DMRS_DownlinkConfig */ static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeB */ static int hf_nr_rrc_tci_StatesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State */ static int hf_nr_rrc_tci_StatesToAddModList_item = -1; /* TCI_State */ static int hf_nr_rrc_tci_StatesToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId */ static int hf_nr_rrc_tci_StatesToReleaseList_item = -1; /* TCI_StateId */ static int hf_nr_rrc_vrb_ToPRB_Interleaver = -1; /* T_vrb_ToPRB_Interleaver */ static int hf_nr_rrc_resourceAllocation_01 = -1; /* T_resourceAllocation_01 */ static int hf_nr_rrc_pdsch_TimeDomainAllocationList = -1; /* T_pdsch_TimeDomainAllocationList */ static int hf_nr_rrc_setup_35 = -1; /* PDSCH_TimeDomainResourceAllocationList */ static int hf_nr_rrc_pdsch_AggregationFactor = -1; /* T_pdsch_AggregationFactor */ static int hf_nr_rrc_rateMatchPatternToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern */ static int hf_nr_rrc_rateMatchPatternToAddModList_item = -1; /* RateMatchPattern */ static int hf_nr_rrc_rateMatchPatternToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */ static int hf_nr_rrc_rateMatchPatternToReleaseList_item = -1; /* RateMatchPatternId */ static int hf_nr_rrc_rateMatchPatternGroup1 = -1; /* RateMatchPatternGroup */ static int hf_nr_rrc_rateMatchPatternGroup2 = -1; /* RateMatchPatternGroup */ static int hf_nr_rrc_rbg_Size_01 = -1; /* T_rbg_Size_01 */ static int hf_nr_rrc_mcs_Table_01 = -1; /* T_mcs_Table_01 */ static int hf_nr_rrc_maxNrofCodeWordsScheduledByDCI = -1; /* T_maxNrofCodeWordsScheduledByDCI */ static int hf_nr_rrc_prb_BundlingType = -1; /* T_prb_BundlingType */ static int hf_nr_rrc_staticBundling = -1; /* T_staticBundling */ static int hf_nr_rrc_bundleSize = -1; /* T_bundleSize */ static int hf_nr_rrc_dynamicBundling = -1; /* T_dynamicBundling */ static int hf_nr_rrc_bundleSizeSet1 = -1; /* T_bundleSizeSet1 */ static int hf_nr_rrc_bundleSizeSet2 = -1; /* T_bundleSizeSet2 */ static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource */ static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item = -1; /* ZP_CSI_RS_Resource */ static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId */ static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item = -1; /* ZP_CSI_RS_ResourceId */ static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item = -1; /* ZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1; /* ZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item = -1; /* ZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1; /* ZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_p_ZP_CSI_RS_ResourceSet = -1; /* T_p_ZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_setup_36 = -1; /* ZP_CSI_RS_ResourceSet */ static int hf_nr_rrc_RateMatchPatternGroup_item = -1; /* RateMatchPatternGroup_item */ static int hf_nr_rrc_cellLevel = -1; /* RateMatchPatternId */ static int hf_nr_rrc_bwpLevel = -1; /* RateMatchPatternId */ static int hf_nr_rrc_pdsch_TimeDomainAllocationList_01 = -1; /* PDSCH_TimeDomainResourceAllocationList */ static int hf_nr_rrc_codeBlockGroupTransmission = -1; /* T_codeBlockGroupTransmission */ static int hf_nr_rrc_setup_37 = -1; /* PDSCH_CodeBlockGroupTransmission */ static int hf_nr_rrc_xOverhead = -1; /* T_xOverhead */ static int hf_nr_rrc_nrofHARQ_ProcessesForPDSCH = -1; /* T_nrofHARQ_ProcessesForPDSCH */ static int hf_nr_rrc_pucch_Cell = -1; /* ServCellIndex */ static int hf_nr_rrc_maxMIMO_Layers = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_processingType2Enabled = -1; /* BOOLEAN */ static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock = -1; /* T_maxCodeBlockGroupsPerTransportBlock */ static int hf_nr_rrc_codeBlockGroupFlushIndicator = -1; /* BOOLEAN */ static int hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item = -1; /* PDSCH_TimeDomainResourceAllocation */ static int hf_nr_rrc_k0 = -1; /* INTEGER_0_32 */ static int hf_nr_rrc_mappingType = -1; /* T_mappingType */ static int hf_nr_rrc_startSymbolAndLength = -1; /* INTEGER_0_127 */ static int hf_nr_rrc_phr_PeriodicTimer = -1; /* T_phr_PeriodicTimer */ static int hf_nr_rrc_phr_ProhibitTimer = -1; /* T_phr_ProhibitTimer */ static int hf_nr_rrc_phr_Tx_PowerFactorChange = -1; /* T_phr_Tx_PowerFactorChange */ static int hf_nr_rrc_multiplePHR = -1; /* BOOLEAN */ static int hf_nr_rrc_dummy_02 = -1; /* BOOLEAN */ static int hf_nr_rrc_phr_Type2OtherCell = -1; /* BOOLEAN */ static int hf_nr_rrc_phr_ModeOtherCG = -1; /* T_phr_ModeOtherCG */ static int hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH = -1; /* T_harq_ACK_SpatialBundlingPUCCH */ static int hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH = -1; /* T_harq_ACK_SpatialBundlingPUSCH */ static int hf_nr_rrc_p_NR_FR1 = -1; /* P_Max */ static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook = -1; /* T_pdsch_HARQ_ACK_Codebook */ static int hf_nr_rrc_tpc_SRS_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_tpc_PUCCH_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_tpc_PUSCH_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_sp_CSI_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_cs_RNTI = -1; /* T_cs_RNTI */ static int hf_nr_rrc_setup_38 = -1; /* RNTI_Value */ static int hf_nr_rrc_mcs_C_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_p_UE_FR1 = -1; /* P_Max */ static int hf_nr_rrc_xScale = -1; /* T_xScale */ static int hf_nr_rrc_pdcch_BlindDetection = -1; /* T_pdcch_BlindDetection */ static int hf_nr_rrc_setup_39 = -1; /* PDCCH_BlindDetection */ static int hf_nr_rrc_mcc = -1; /* MCC */ static int hf_nr_rrc_mnc = -1; /* MNC */ static int hf_nr_rrc_MCC_item = -1; /* MCC_MNC_Digit */ static int hf_nr_rrc_MNC_item = -1; /* MCC_MNC_Digit */ static int hf_nr_rrc_PLMN_IdentityInfoList_item = -1; /* PLMN_IdentityInfo */ static int hf_nr_rrc_plmn_IdentityList_01 = -1; /* SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity */ static int hf_nr_rrc_plmn_IdentityList_item = -1; /* PLMN_Identity */ static int hf_nr_rrc_ranac = -1; /* RAN_AreaCode */ static int hf_nr_rrc_cellReservedForOperatorUse = -1; /* T_cellReservedForOperatorUse */ static int hf_nr_rrc_frequencyDensity = -1; /* T_frequencyDensity */ static int hf_nr_rrc_frequencyDensity_item = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_timeDensity = -1; /* T_timeDensity */ static int hf_nr_rrc_timeDensity_item = -1; /* INTEGER_0_29 */ static int hf_nr_rrc_epre_Ratio = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_resourceElementOffset = -1; /* T_resourceElementOffset */ static int hf_nr_rrc_transformPrecoderDisabled = -1; /* T_transformPrecoderDisabled */ static int hf_nr_rrc_frequencyDensity_01 = -1; /* T_frequencyDensity_01 */ static int hf_nr_rrc_timeDensity_01 = -1; /* T_timeDensity_01 */ static int hf_nr_rrc_maxNrofPorts = -1; /* T_maxNrofPorts */ static int hf_nr_rrc_resourceElementOffset_01 = -1; /* T_resourceElementOffset_01 */ static int hf_nr_rrc_ptrs_Power = -1; /* T_ptrs_Power */ static int hf_nr_rrc_transformPrecoderEnabled = -1; /* T_transformPrecoderEnabled */ static int hf_nr_rrc_sampleDensity = -1; /* T_sampleDensity */ static int hf_nr_rrc_sampleDensity_item = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_timeDensityTransformPrecoding = -1; /* T_timeDensityTransformPrecoding */ static int hf_nr_rrc_resourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet */ static int hf_nr_rrc_resourceSetToAddModList_item = -1; /* PUCCH_ResourceSet */ static int hf_nr_rrc_resourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId */ static int hf_nr_rrc_resourceSetToReleaseList_item = -1; /* PUCCH_ResourceSetId */ static int hf_nr_rrc_resourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource */ static int hf_nr_rrc_resourceToAddModList_item = -1; /* PUCCH_Resource */ static int hf_nr_rrc_resourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId */ static int hf_nr_rrc_resourceToReleaseList_item = -1; /* PUCCH_ResourceId */ static int hf_nr_rrc_format1 = -1; /* T_format1 */ static int hf_nr_rrc_setup_40 = -1; /* PUCCH_FormatConfig */ static int hf_nr_rrc_format2 = -1; /* T_format2 */ static int hf_nr_rrc_format3 = -1; /* T_format3 */ static int hf_nr_rrc_format4 = -1; /* T_format4 */ static int hf_nr_rrc_schedulingRequestResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig */ static int hf_nr_rrc_schedulingRequestResourceToAddModList_item = -1; /* SchedulingRequestResourceConfig */ static int hf_nr_rrc_schedulingRequestResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId */ static int hf_nr_rrc_schedulingRequestResourceToReleaseList_item = -1; /* SchedulingRequestResourceId */ static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList = -1; /* SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId */ static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item = -1; /* PUCCH_ResourceId */ static int hf_nr_rrc_dl_DataToUL_ACK = -1; /* T_dl_DataToUL_ACK */ static int hf_nr_rrc_dl_DataToUL_ACK_item = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_spatialRelationInfoToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo */ static int hf_nr_rrc_spatialRelationInfoToAddModList_item = -1; /* PUCCH_SpatialRelationInfo */ static int hf_nr_rrc_spatialRelationInfoToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId */ static int hf_nr_rrc_spatialRelationInfoToReleaseList_item = -1; /* PUCCH_SpatialRelationInfoId */ static int hf_nr_rrc_pucch_PowerControl = -1; /* PUCCH_PowerControl */ static int hf_nr_rrc_interslotFrequencyHopping = -1; /* T_interslotFrequencyHopping */ static int hf_nr_rrc_additionalDMRS = -1; /* T_additionalDMRS */ static int hf_nr_rrc_maxCodeRate = -1; /* PUCCH_MaxCodeRate */ static int hf_nr_rrc_nrofSlots = -1; /* T_nrofSlots */ static int hf_nr_rrc_pi2BPSK = -1; /* T_pi2BPSK */ static int hf_nr_rrc_simultaneousHARQ_ACK_CSI = -1; /* T_simultaneousHARQ_ACK_CSI */ static int hf_nr_rrc_pucch_ResourceSetId = -1; /* PUCCH_ResourceSetId */ static int hf_nr_rrc_resourceList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId */ static int hf_nr_rrc_resourceList_item = -1; /* PUCCH_ResourceId */ static int hf_nr_rrc_maxPayloadSize = -1; /* INTEGER_4_256 */ static int hf_nr_rrc_pucch_ResourceId = -1; /* PUCCH_ResourceId */ static int hf_nr_rrc_startingPRB = -1; /* PRB_Id */ static int hf_nr_rrc_intraSlotFrequencyHopping = -1; /* T_intraSlotFrequencyHopping */ static int hf_nr_rrc_secondHopPRB = -1; /* PRB_Id */ static int hf_nr_rrc_format = -1; /* T_format */ static int hf_nr_rrc_format0 = -1; /* PUCCH_format0 */ static int hf_nr_rrc_format1_01 = -1; /* PUCCH_format1 */ static int hf_nr_rrc_format2_01 = -1; /* PUCCH_format2 */ static int hf_nr_rrc_format3_01 = -1; /* PUCCH_format3 */ static int hf_nr_rrc_format4_01 = -1; /* PUCCH_format4 */ static int hf_nr_rrc_initialCyclicShift = -1; /* INTEGER_0_11 */ static int hf_nr_rrc_nrofSymbols = -1; /* INTEGER_1_2 */ static int hf_nr_rrc_startingSymbolIndex = -1; /* INTEGER_0_13 */ static int hf_nr_rrc_nrofSymbols_01 = -1; /* INTEGER_4_14 */ static int hf_nr_rrc_startingSymbolIndex_01 = -1; /* INTEGER_0_10 */ static int hf_nr_rrc_timeDomainOCC = -1; /* INTEGER_0_6 */ static int hf_nr_rrc_nrofPRBs_01 = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_occ_Length = -1; /* T_occ_Length */ static int hf_nr_rrc_occ_Index = -1; /* T_occ_Index */ static int hf_nr_rrc_pucch_ResourceCommon = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_pucch_GroupHopping = -1; /* T_pucch_GroupHopping */ static int hf_nr_rrc_hoppingId = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_p0_nominal = -1; /* INTEGER_M202_24 */ static int hf_nr_rrc_deltaF_PUCCH_f0 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_deltaF_PUCCH_f1 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_deltaF_PUCCH_f2 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_deltaF_PUCCH_f3 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_deltaF_PUCCH_f4 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_p0_Set = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH */ static int hf_nr_rrc_p0_Set_item = -1; /* P0_PUCCH */ static int hf_nr_rrc_pathlossReferenceRSs = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS */ static int hf_nr_rrc_pathlossReferenceRSs_item = -1; /* PUCCH_PathlossReferenceRS */ static int hf_nr_rrc_twoPUCCH_PC_AdjustmentStates = -1; /* T_twoPUCCH_PC_AdjustmentStates */ static int hf_nr_rrc_p0_PUCCH_Id = -1; /* P0_PUCCH_Id */ static int hf_nr_rrc_p0_PUCCH_Value = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_pucch_PathlossReferenceRS_Id = -1; /* PUCCH_PathlossReferenceRS_Id */ static int hf_nr_rrc_referenceSignal = -1; /* T_referenceSignal */ static int hf_nr_rrc_csi_RS_Index_01 = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_pucch_SpatialRelationInfoId = -1; /* PUCCH_SpatialRelationInfoId */ static int hf_nr_rrc_referenceSignal_01 = -1; /* T_referenceSignal_01 */ static int hf_nr_rrc_srs = -1; /* T_srs */ static int hf_nr_rrc_resource = -1; /* SRS_ResourceId */ static int hf_nr_rrc_uplinkBWP = -1; /* BWP_Id */ static int hf_nr_rrc_closedLoopIndex = -1; /* T_closedLoopIndex */ static int hf_nr_rrc_tpc_IndexPCell = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_tpc_IndexPUCCH_SCell = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_dataScramblingIdentityPUSCH = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_txConfig = -1; /* T_txConfig */ static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeA */ static int hf_nr_rrc_setup_41 = -1; /* DMRS_UplinkConfig */ static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeB */ static int hf_nr_rrc_pusch_PowerControl = -1; /* PUSCH_PowerControl */ static int hf_nr_rrc_frequencyHopping_01 = -1; /* T_frequencyHopping_01 */ static int hf_nr_rrc_frequencyHoppingOffsetLists = -1; /* T_frequencyHoppingOffsetLists */ static int hf_nr_rrc_frequencyHoppingOffsetLists_item = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */ static int hf_nr_rrc_resourceAllocation_02 = -1; /* T_resourceAllocation_02 */ static int hf_nr_rrc_pusch_TimeDomainAllocationList = -1; /* T_pusch_TimeDomainAllocationList */ static int hf_nr_rrc_setup_42 = -1; /* PUSCH_TimeDomainResourceAllocationList */ static int hf_nr_rrc_pusch_AggregationFactor = -1; /* T_pusch_AggregationFactor */ static int hf_nr_rrc_mcs_Table_02 = -1; /* T_mcs_Table_02 */ static int hf_nr_rrc_mcs_TableTransformPrecoder_01 = -1; /* T_mcs_TableTransformPrecoder_01 */ static int hf_nr_rrc_transformPrecoder_01 = -1; /* T_transformPrecoder_01 */ static int hf_nr_rrc_codebookSubset = -1; /* T_codebookSubset */ static int hf_nr_rrc_maxRank = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_rbg_Size_02 = -1; /* T_rbg_Size_02 */ static int hf_nr_rrc_uci_OnPUSCH_01 = -1; /* T_uci_OnPUSCH_01 */ static int hf_nr_rrc_setup_43 = -1; /* UCI_OnPUSCH */ static int hf_nr_rrc_tp_pi2BPSK = -1; /* T_tp_pi2BPSK */ static int hf_nr_rrc_betaOffsets = -1; /* T_betaOffsets */ static int hf_nr_rrc_dynamic_01 = -1; /* SEQUENCE_SIZE_4_OF_BetaOffsets */ static int hf_nr_rrc_scaling = -1; /* T_scaling */ static int hf_nr_rrc_groupHoppingEnabledTransformPrecoding = -1; /* T_groupHoppingEnabledTransformPrecoding */ static int hf_nr_rrc_pusch_TimeDomainAllocationList_01 = -1; /* PUSCH_TimeDomainResourceAllocationList */ static int hf_nr_rrc_msg3_DeltaPreamble = -1; /* INTEGER_M1_6 */ static int hf_nr_rrc_p0_NominalWithGrant = -1; /* INTEGER_M202_24 */ static int hf_nr_rrc_tpc_Accumulation = -1; /* T_tpc_Accumulation */ static int hf_nr_rrc_msg3_Alpha = -1; /* Alpha */ static int hf_nr_rrc_p0_NominalWithoutGrant = -1; /* INTEGER_M202_24 */ static int hf_nr_rrc_p0_AlphaSets = -1; /* SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet */ static int hf_nr_rrc_p0_AlphaSets_item = -1; /* P0_PUSCH_AlphaSet */ static int hf_nr_rrc_pathlossReferenceRSToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS */ static int hf_nr_rrc_pathlossReferenceRSToAddModList_item = -1; /* PUSCH_PathlossReferenceRS */ static int hf_nr_rrc_pathlossReferenceRSToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id */ static int hf_nr_rrc_pathlossReferenceRSToReleaseList_item = -1; /* PUSCH_PathlossReferenceRS_Id */ static int hf_nr_rrc_twoPUSCH_PC_AdjustmentStates = -1; /* T_twoPUSCH_PC_AdjustmentStates */ static int hf_nr_rrc_deltaMCS = -1; /* T_deltaMCS */ static int hf_nr_rrc_sri_PUSCH_MappingToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl */ static int hf_nr_rrc_sri_PUSCH_MappingToAddModList_item = -1; /* SRI_PUSCH_PowerControl */ static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId */ static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item = -1; /* SRI_PUSCH_PowerControlId */ static int hf_nr_rrc_p0_PUSCH_AlphaSetId = -1; /* P0_PUSCH_AlphaSetId */ static int hf_nr_rrc_p0 = -1; /* INTEGER_M16_15 */ static int hf_nr_rrc_alpha = -1; /* Alpha */ static int hf_nr_rrc_pusch_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */ static int hf_nr_rrc_referenceSignal_02 = -1; /* T_referenceSignal_02 */ static int hf_nr_rrc_sri_PUSCH_PowerControlId = -1; /* SRI_PUSCH_PowerControlId */ static int hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */ static int hf_nr_rrc_sri_P0_PUSCH_AlphaSetId = -1; /* P0_PUSCH_AlphaSetId */ static int hf_nr_rrc_sri_PUSCH_ClosedLoopIndex = -1; /* T_sri_PUSCH_ClosedLoopIndex */ static int hf_nr_rrc_codeBlockGroupTransmission_01 = -1; /* T_codeBlockGroupTransmission_01 */ static int hf_nr_rrc_setup_44 = -1; /* PUSCH_CodeBlockGroupTransmission */ static int hf_nr_rrc_rateMatching = -1; /* T_rateMatching */ static int hf_nr_rrc_xOverhead_01 = -1; /* T_xOverhead_01 */ static int hf_nr_rrc_maxMIMO_Layers_01 = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01 = -1; /* T_maxCodeBlockGroupsPerTransportBlock_01 */ static int hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item = -1; /* PUSCH_TimeDomainResourceAllocation */ static int hf_nr_rrc_k2 = -1; /* INTEGER_0_32 */ static int hf_nr_rrc_mappingType_01 = -1; /* T_mappingType_01 */ static int hf_nr_rrc_tpc_Index = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_tpc_IndexSUL = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_targetCell = -1; /* ServCellIndex */ static int hf_nr_rrc_quantityConfigNR_List = -1; /* SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR */ static int hf_nr_rrc_quantityConfigNR_List_item = -1; /* QuantityConfigNR */ static int hf_nr_rrc_quantityConfigEUTRA = -1; /* FilterConfig */ static int hf_nr_rrc_quantityConfigCell = -1; /* QuantityConfigRS */ static int hf_nr_rrc_quantityConfigRS_Index = -1; /* QuantityConfigRS */ static int hf_nr_rrc_ssb_FilterConfig = -1; /* FilterConfig */ static int hf_nr_rrc_csi_RS_FilterConfig = -1; /* FilterConfig */ static int hf_nr_rrc_filterCoefficientRSRP = -1; /* FilterCoefficient */ static int hf_nr_rrc_filterCoefficientRSRQ = -1; /* FilterCoefficient */ static int hf_nr_rrc_filterCoefficientRS_SINR = -1; /* FilterCoefficient */ static int hf_nr_rrc_rach_ConfigGeneric = -1; /* RACH_ConfigGeneric */ static int hf_nr_rrc_totalNumberOfRA_Preambles = -1; /* INTEGER_1_63 */ static int hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1; /* T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB */ static int hf_nr_rrc_oneEighth = -1; /* T_oneEighth */ static int hf_nr_rrc_oneFourth = -1; /* T_oneFourth */ static int hf_nr_rrc_oneHalf = -1; /* T_oneHalf */ static int hf_nr_rrc_one_01 = -1; /* T_one */ static int hf_nr_rrc_two_01 = -1; /* T_two_01 */ static int hf_nr_rrc_four = -1; /* INTEGER_1_16 */ static int hf_nr_rrc_eight = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_sixteen = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_groupBconfigured = -1; /* T_groupBconfigured */ static int hf_nr_rrc_ra_Msg3SizeGroupA = -1; /* T_ra_Msg3SizeGroupA */ static int hf_nr_rrc_messagePowerOffsetGroupB = -1; /* T_messagePowerOffsetGroupB */ static int hf_nr_rrc_numberOfRA_PreamblesGroupA = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_ra_ContentionResolutionTimer = -1; /* T_ra_ContentionResolutionTimer */ static int hf_nr_rrc_rsrp_ThresholdSSB_SUL = -1; /* RSRP_Range */ static int hf_nr_rrc_prach_RootSequenceIndex = -1; /* T_prach_RootSequenceIndex */ static int hf_nr_rrc_l839 = -1; /* INTEGER_0_837 */ static int hf_nr_rrc_l139 = -1; /* INTEGER_0_137 */ static int hf_nr_rrc_restrictedSetConfig = -1; /* T_restrictedSetConfig */ static int hf_nr_rrc_msg3_transformPrecoder = -1; /* T_msg3_transformPrecoder */ static int hf_nr_rrc_cfra = -1; /* CFRA */ static int hf_nr_rrc_occasions = -1; /* T_occasions */ static int hf_nr_rrc_ssb_perRACH_Occasion_01 = -1; /* T_ssb_perRACH_Occasion_01 */ static int hf_nr_rrc_resources = -1; /* T_resources */ static int hf_nr_rrc_ssb_02 = -1; /* T_ssb */ static int hf_nr_rrc_ssb_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource */ static int hf_nr_rrc_ssb_ResourceList_item = -1; /* CFRA_SSB_Resource */ static int hf_nr_rrc_csirs = -1; /* T_csirs */ static int hf_nr_rrc_csirs_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource */ static int hf_nr_rrc_csirs_ResourceList_item = -1; /* CFRA_CSIRS_Resource */ static int hf_nr_rrc_rsrp_ThresholdCSI_RS = -1; /* RSRP_Range */ static int hf_nr_rrc_csi_RS_02 = -1; /* CSI_RS_Index */ static int hf_nr_rrc_ra_OccasionList_01 = -1; /* T_ra_OccasionList_01 */ static int hf_nr_rrc_prach_ConfigurationIndex = -1; /* INTEGER_0_255 */ static int hf_nr_rrc_msg1_FDM = -1; /* T_msg1_FDM */ static int hf_nr_rrc_msg1_FrequencyStart = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */ static int hf_nr_rrc_zeroCorrelationZoneConfig = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_preambleReceivedTargetPower = -1; /* INTEGER_M202_M60 */ static int hf_nr_rrc_preambleTransMax = -1; /* T_preambleTransMax */ static int hf_nr_rrc_powerRampingStep = -1; /* T_powerRampingStep */ static int hf_nr_rrc_ra_ResponseWindow = -1; /* T_ra_ResponseWindow */ static int hf_nr_rrc_powerRampingStepHighPriority = -1; /* T_powerRampingStepHighPriority */ static int hf_nr_rrc_scalingFactorBI = -1; /* T_scalingFactorBI */ static int hf_nr_rrc_srb_ToAddModList = -1; /* SRB_ToAddModList */ static int hf_nr_rrc_srb3_ToRelease = -1; /* T_srb3_ToRelease */ static int hf_nr_rrc_drb_ToAddModList = -1; /* DRB_ToAddModList */ static int hf_nr_rrc_drb_ToReleaseList = -1; /* DRB_ToReleaseList */ static int hf_nr_rrc_securityConfig = -1; /* SecurityConfig */ static int hf_nr_rrc_SRB_ToAddModList_item = -1; /* SRB_ToAddMod */ static int hf_nr_rrc_srb_Identity = -1; /* SRB_Identity */ static int hf_nr_rrc_reestablishPDCP = -1; /* T_reestablishPDCP */ static int hf_nr_rrc_discardOnPDCP = -1; /* T_discardOnPDCP */ static int hf_nr_rrc_pdcp_Config = -1; /* PDCP_Config */ static int hf_nr_rrc_DRB_ToAddModList_item = -1; /* DRB_ToAddMod */ static int hf_nr_rrc_cnAssociation = -1; /* T_cnAssociation */ static int hf_nr_rrc_eps_BearerIdentity = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_sdap_Config = -1; /* SDAP_Config */ static int hf_nr_rrc_reestablishPDCP_01 = -1; /* T_reestablishPDCP_01 */ static int hf_nr_rrc_recoverPDCP = -1; /* T_recoverPDCP */ static int hf_nr_rrc_DRB_ToReleaseList_item = -1; /* DRB_Identity */ static int hf_nr_rrc_keyToUse = -1; /* T_keyToUse */ static int hf_nr_rrc_failureDetectionResourcesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS */ static int hf_nr_rrc_failureDetectionResourcesToAddModList_item = -1; /* RadioLinkMonitoringRS */ static int hf_nr_rrc_failureDetectionResourcesToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id */ static int hf_nr_rrc_failureDetectionResourcesToReleaseList_item = -1; /* RadioLinkMonitoringRS_Id */ static int hf_nr_rrc_beamFailureInstanceMaxCount = -1; /* T_beamFailureInstanceMaxCount */ static int hf_nr_rrc_beamFailureDetectionTimer = -1; /* T_beamFailureDetectionTimer */ static int hf_nr_rrc_radioLinkMonitoringRS_Id = -1; /* RadioLinkMonitoringRS_Id */ static int hf_nr_rrc_purpose = -1; /* T_purpose */ static int hf_nr_rrc_detectionResource = -1; /* T_detectionResource */ static int hf_nr_rrc_rateMatchPatternId = -1; /* RateMatchPatternId */ static int hf_nr_rrc_patternType = -1; /* T_patternType */ static int hf_nr_rrc_bitmaps = -1; /* T_bitmaps */ static int hf_nr_rrc_resourceBlocks = -1; /* BIT_STRING_SIZE_275 */ static int hf_nr_rrc_symbolsInResourceBlock = -1; /* T_symbolsInResourceBlock */ static int hf_nr_rrc_oneSlot = -1; /* BIT_STRING_SIZE_14 */ static int hf_nr_rrc_twoSlots = -1; /* BIT_STRING_SIZE_28 */ static int hf_nr_rrc_periodicityAndPattern = -1; /* T_periodicityAndPattern */ static int hf_nr_rrc_n2 = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_n4 = -1; /* BIT_STRING_SIZE_4 */ static int hf_nr_rrc_n5 = -1; /* BIT_STRING_SIZE_5 */ static int hf_nr_rrc_n8 = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_n10 = -1; /* BIT_STRING_SIZE_10 */ static int hf_nr_rrc_n20 = -1; /* BIT_STRING_SIZE_20 */ static int hf_nr_rrc_n40 = -1; /* BIT_STRING_SIZE_40 */ static int hf_nr_rrc_controlResourceSet = -1; /* ControlResourceSetId */ static int hf_nr_rrc_dummy_03 = -1; /* T_dummy_01 */ static int hf_nr_rrc_carrierFreqDL = -1; /* INTEGER_0_16383 */ static int hf_nr_rrc_carrierBandwidthDL = -1; /* T_carrierBandwidthDL */ static int hf_nr_rrc_mbsfn_SubframeConfigList = -1; /* EUTRA_MBSFN_SubframeConfigList */ static int hf_nr_rrc_nrofCRS_Ports = -1; /* T_nrofCRS_Ports */ static int hf_nr_rrc_v_Shift = -1; /* T_v_Shift */ static int hf_nr_rrc_reportType = -1; /* T_reportType */ static int hf_nr_rrc_periodical = -1; /* PeriodicalReportConfigInterRAT */ static int hf_nr_rrc_eventTriggered = -1; /* EventTriggerConfigInterRAT */ static int hf_nr_rrc_reportCGI = -1; /* ReportCGI_EUTRA */ static int hf_nr_rrc_reportSFTD = -1; /* ReportSFTD_EUTRA */ static int hf_nr_rrc_cellForWhichToReportCGI_01 = -1; /* EUTRA_PhysCellId */ static int hf_nr_rrc_reportSFTD_Meas = -1; /* BOOLEAN */ static int hf_nr_rrc_reportRSRP = -1; /* BOOLEAN */ static int hf_nr_rrc_eventId = -1; /* T_eventId */ static int hf_nr_rrc_eventB1 = -1; /* T_eventB1 */ static int hf_nr_rrc_b1_ThresholdEUTRA = -1; /* MeasTriggerQuantityEUTRA */ static int hf_nr_rrc_reportOnLeave = -1; /* BOOLEAN */ static int hf_nr_rrc_hysteresis = -1; /* Hysteresis */ static int hf_nr_rrc_timeToTrigger = -1; /* TimeToTrigger */ static int hf_nr_rrc_eventB2 = -1; /* T_eventB2 */ static int hf_nr_rrc_b2_Threshold1 = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_b2_Threshold2EUTRA = -1; /* MeasTriggerQuantityEUTRA */ static int hf_nr_rrc_rsType = -1; /* NR_RS_Type */ static int hf_nr_rrc_reportInterval = -1; /* ReportInterval */ static int hf_nr_rrc_reportAmount = -1; /* T_reportAmount */ static int hf_nr_rrc_reportQuantity_01 = -1; /* MeasReportQuantity */ static int hf_nr_rrc_maxReportCells = -1; /* INTEGER_1_maxCellReport */ static int hf_nr_rrc_reportAmount_01 = -1; /* T_reportAmount_01 */ static int hf_nr_rrc_reportType_01 = -1; /* T_reportType_01 */ static int hf_nr_rrc_periodical_01 = -1; /* PeriodicalReportConfig */ static int hf_nr_rrc_eventTriggered_01 = -1; /* EventTriggerConfig */ static int hf_nr_rrc_reportCGI_01 = -1; /* ReportCGI */ static int hf_nr_rrc_reportSFTD_01 = -1; /* ReportSFTD_NR */ static int hf_nr_rrc_reportSFTD_NeighMeas = -1; /* T_reportSFTD_NeighMeas */ static int hf_nr_rrc_drx_SFTD_NeighMeas = -1; /* T_drx_SFTD_NeighMeas */ static int hf_nr_rrc_cellsForWhichToReportSFTD = -1; /* SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId */ static int hf_nr_rrc_cellsForWhichToReportSFTD_item = -1; /* PhysCellId */ static int hf_nr_rrc_eventId_01 = -1; /* T_eventId_01 */ static int hf_nr_rrc_eventA1 = -1; /* T_eventA1 */ static int hf_nr_rrc_a1_Threshold = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA2 = -1; /* T_eventA2 */ static int hf_nr_rrc_a2_Threshold = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA3 = -1; /* T_eventA3 */ static int hf_nr_rrc_a3_Offset = -1; /* MeasTriggerQuantityOffset */ static int hf_nr_rrc_useWhiteCellList = -1; /* BOOLEAN */ static int hf_nr_rrc_eventA4 = -1; /* T_eventA4 */ static int hf_nr_rrc_a4_Threshold = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA5 = -1; /* T_eventA5 */ static int hf_nr_rrc_a5_Threshold1 = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_a5_Threshold2 = -1; /* MeasTriggerQuantity */ static int hf_nr_rrc_eventA6 = -1; /* T_eventA6 */ static int hf_nr_rrc_a6_Offset = -1; /* MeasTriggerQuantityOffset */ static int hf_nr_rrc_reportAmount_02 = -1; /* T_reportAmount_02 */ static int hf_nr_rrc_reportQuantityCell = -1; /* MeasReportQuantity */ static int hf_nr_rrc_reportQuantityRS_Indexes = -1; /* MeasReportQuantity */ static int hf_nr_rrc_maxNrofRS_IndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */ static int hf_nr_rrc_includeBeamMeasurements = -1; /* BOOLEAN */ static int hf_nr_rrc_reportAddNeighMeas = -1; /* T_reportAddNeighMeas */ static int hf_nr_rrc_reportAmount_03 = -1; /* T_reportAmount_03 */ static int hf_nr_rrc_rsrp_02 = -1; /* INTEGER_M30_30 */ static int hf_nr_rrc_rsrq_02 = -1; /* INTEGER_M30_30 */ static int hf_nr_rrc_sinr_02 = -1; /* INTEGER_M30_30 */ static int hf_nr_rrc_rsrp_03 = -1; /* BOOLEAN */ static int hf_nr_rrc_rsrq_03 = -1; /* BOOLEAN */ static int hf_nr_rrc_sinr_03 = -1; /* BOOLEAN */ static int hf_nr_rrc_ReportConfigToAddModList_item = -1; /* ReportConfigToAddMod */ static int hf_nr_rrc_reportConfig = -1; /* T_reportConfig */ static int hf_nr_rrc_reportConfigNR = -1; /* ReportConfigNR */ static int hf_nr_rrc_reportConfigInterRAT = -1; /* ReportConfigInterRAT */ static int hf_nr_rrc_servedRadioBearer = -1; /* T_servedRadioBearer */ static int hf_nr_rrc_reestablishRLC = -1; /* T_reestablishRLC */ static int hf_nr_rrc_rlc_Config = -1; /* RLC_Config */ static int hf_nr_rrc_mac_LogicalChannelConfig = -1; /* LogicalChannelConfig */ static int hf_nr_rrc_am = -1; /* T_am */ static int hf_nr_rrc_ul_AM_RLC = -1; /* UL_AM_RLC */ static int hf_nr_rrc_dl_AM_RLC = -1; /* DL_AM_RLC */ static int hf_nr_rrc_um_Bi_Directional = -1; /* T_um_Bi_Directional */ static int hf_nr_rrc_ul_UM_RLC = -1; /* UL_UM_RLC */ static int hf_nr_rrc_dl_UM_RLC = -1; /* DL_UM_RLC */ static int hf_nr_rrc_um_Uni_Directional_UL = -1; /* T_um_Uni_Directional_UL */ static int hf_nr_rrc_um_Uni_Directional_DL = -1; /* T_um_Uni_Directional_DL */ static int hf_nr_rrc_sn_FieldLength = -1; /* SN_FieldLengthAM */ static int hf_nr_rrc_t_PollRetransmit = -1; /* T_PollRetransmit */ static int hf_nr_rrc_pollPDU = -1; /* PollPDU */ static int hf_nr_rrc_pollByte = -1; /* PollByte */ static int hf_nr_rrc_maxRetxThreshold = -1; /* T_maxRetxThreshold */ static int hf_nr_rrc_t_Reassembly = -1; /* T_Reassembly */ static int hf_nr_rrc_t_StatusProhibit = -1; /* T_StatusProhibit */ static int hf_nr_rrc_sn_FieldLength_01 = -1; /* SN_FieldLengthUM */ static int hf_nr_rrc_t310 = -1; /* T_t310 */ static int hf_nr_rrc_n310 = -1; /* T_n310 */ static int hf_nr_rrc_n311 = -1; /* T_n311 */ static int hf_nr_rrc_t311 = -1; /* T_t311 */ static int hf_nr_rrc_schedulingRequestToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod */ static int hf_nr_rrc_schedulingRequestToAddModList_item = -1; /* SchedulingRequestToAddMod */ static int hf_nr_rrc_schedulingRequestToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId */ static int hf_nr_rrc_schedulingRequestToReleaseList_item = -1; /* SchedulingRequestId */ static int hf_nr_rrc_schedulingRequestId = -1; /* SchedulingRequestId */ static int hf_nr_rrc_sr_ProhibitTimer = -1; /* T_sr_ProhibitTimer */ static int hf_nr_rrc_sr_TransMax = -1; /* T_sr_TransMax */ static int hf_nr_rrc_schedulingRequestResourceId = -1; /* SchedulingRequestResourceId */ static int hf_nr_rrc_periodicityAndOffset_01 = -1; /* T_periodicityAndOffset */ static int hf_nr_rrc_sym2 = -1; /* NULL */ static int hf_nr_rrc_sym6or7 = -1; /* NULL */ static int hf_nr_rrc_sl1 = -1; /* NULL */ static int hf_nr_rrc_sl2 = -1; /* INTEGER_0_1 */ static int hf_nr_rrc_sl4 = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_sl5 = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_sl8 = -1; /* INTEGER_0_7 */ static int hf_nr_rrc_sl10 = -1; /* INTEGER_0_9 */ static int hf_nr_rrc_sl16 = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_sl20 = -1; /* INTEGER_0_19 */ static int hf_nr_rrc_sl40 = -1; /* INTEGER_0_39 */ static int hf_nr_rrc_sl80 = -1; /* INTEGER_0_79 */ static int hf_nr_rrc_sl160 = -1; /* INTEGER_0_159 */ static int hf_nr_rrc_sl320 = -1; /* INTEGER_0_319 */ static int hf_nr_rrc_sl640 = -1; /* INTEGER_0_639 */ static int hf_nr_rrc_resource_01 = -1; /* PUCCH_ResourceId */ static int hf_nr_rrc_offsetToCarrier = -1; /* INTEGER_0_2199 */ static int hf_nr_rrc_carrierBandwidth = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks */ static int hf_nr_rrc_txDirectCurrentLocation = -1; /* INTEGER_0_4095 */ static int hf_nr_rrc_pdu_Session = -1; /* PDU_SessionID */ static int hf_nr_rrc_sdap_HeaderDL = -1; /* T_sdap_HeaderDL */ static int hf_nr_rrc_sdap_HeaderUL = -1; /* T_sdap_HeaderUL */ static int hf_nr_rrc_defaultDRB = -1; /* BOOLEAN */ static int hf_nr_rrc_mappedQoS_FlowsToAdd = -1; /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */ static int hf_nr_rrc_mappedQoS_FlowsToAdd_item = -1; /* QFI */ static int hf_nr_rrc_mappedQoS_FlowsToRelease = -1; /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */ static int hf_nr_rrc_mappedQoS_FlowsToRelease_item = -1; /* QFI */ static int hf_nr_rrc_searchSpaceId = -1; /* SearchSpaceId */ static int hf_nr_rrc_monitoringSlotPeriodicityAndOffset = -1; /* T_monitoringSlotPeriodicityAndOffset */ static int hf_nr_rrc_sl1280 = -1; /* INTEGER_0_1279 */ static int hf_nr_rrc_sl2560 = -1; /* INTEGER_0_2559 */ static int hf_nr_rrc_duration_01 = -1; /* INTEGER_2_2559 */ static int hf_nr_rrc_monitoringSymbolsWithinSlot = -1; /* BIT_STRING_SIZE_14 */ static int hf_nr_rrc_nrofCandidates = -1; /* T_nrofCandidates */ static int hf_nr_rrc_aggregationLevel1 = -1; /* T_aggregationLevel1 */ static int hf_nr_rrc_aggregationLevel2 = -1; /* T_aggregationLevel2 */ static int hf_nr_rrc_aggregationLevel4 = -1; /* T_aggregationLevel4 */ static int hf_nr_rrc_aggregationLevel8 = -1; /* T_aggregationLevel8 */ static int hf_nr_rrc_aggregationLevel16 = -1; /* T_aggregationLevel16 */ static int hf_nr_rrc_searchSpaceType = -1; /* T_searchSpaceType */ static int hf_nr_rrc_common = -1; /* T_common */ static int hf_nr_rrc_dci_Format0_0_AndFormat1_0 = -1; /* T_dci_Format0_0_AndFormat1_0 */ static int hf_nr_rrc_dci_Format2_0 = -1; /* T_dci_Format2_0 */ static int hf_nr_rrc_nrofCandidates_SFI = -1; /* T_nrofCandidates_SFI */ static int hf_nr_rrc_aggregationLevel1_01 = -1; /* T_aggregationLevel1_01 */ static int hf_nr_rrc_aggregationLevel2_01 = -1; /* T_aggregationLevel2_01 */ static int hf_nr_rrc_aggregationLevel4_01 = -1; /* T_aggregationLevel4_01 */ static int hf_nr_rrc_aggregationLevel8_01 = -1; /* T_aggregationLevel8_01 */ static int hf_nr_rrc_aggregationLevel16_01 = -1; /* T_aggregationLevel16_01 */ static int hf_nr_rrc_dci_Format2_1 = -1; /* T_dci_Format2_1 */ static int hf_nr_rrc_dci_Format2_2 = -1; /* T_dci_Format2_2 */ static int hf_nr_rrc_dci_Format2_3 = -1; /* T_dci_Format2_3 */ static int hf_nr_rrc_dummy1 = -1; /* T_dummy1 */ static int hf_nr_rrc_dummy2 = -1; /* T_dummy2 */ static int hf_nr_rrc_ue_Specific = -1; /* T_ue_Specific */ static int hf_nr_rrc_dci_Formats = -1; /* T_dci_Formats */ static int hf_nr_rrc_cipheringAlgorithm = -1; /* CipheringAlgorithm */ static int hf_nr_rrc_integrityProtAlgorithm = -1; /* IntegrityProtAlgorithm */ static int hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated = -1; /* TDD_UL_DL_ConfigDedicated */ static int hf_nr_rrc_initialDownlinkBWP_01 = -1; /* BWP_DownlinkDedicated */ static int hf_nr_rrc_downlinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */ static int hf_nr_rrc_downlinkBWP_ToReleaseList_item = -1; /* BWP_Id */ static int hf_nr_rrc_downlinkBWP_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink */ static int hf_nr_rrc_downlinkBWP_ToAddModList_item = -1; /* BWP_Downlink */ static int hf_nr_rrc_firstActiveDownlinkBWP_Id = -1; /* BWP_Id */ static int hf_nr_rrc_bwp_InactivityTimer = -1; /* T_bwp_InactivityTimer */ static int hf_nr_rrc_defaultDownlinkBWP_Id = -1; /* BWP_Id */ static int hf_nr_rrc_uplinkConfig = -1; /* UplinkConfig */ static int hf_nr_rrc_supplementaryUplink_01 = -1; /* UplinkConfig */ static int hf_nr_rrc_pdcch_ServingCellConfig = -1; /* T_pdcch_ServingCellConfig */ static int hf_nr_rrc_setup_45 = -1; /* PDCCH_ServingCellConfig */ static int hf_nr_rrc_pdsch_ServingCellConfig = -1; /* T_pdsch_ServingCellConfig */ static int hf_nr_rrc_setup_46 = -1; /* PDSCH_ServingCellConfig */ static int hf_nr_rrc_csi_MeasConfig = -1; /* T_csi_MeasConfig */ static int hf_nr_rrc_setup_47 = -1; /* CSI_MeasConfig */ static int hf_nr_rrc_sCellDeactivationTimer = -1; /* T_sCellDeactivationTimer */ static int hf_nr_rrc_crossCarrierSchedulingConfig = -1; /* CrossCarrierSchedulingConfig */ static int hf_nr_rrc_tag_Id = -1; /* TAG_Id */ static int hf_nr_rrc_dummy_04 = -1; /* T_dummy_02 */ static int hf_nr_rrc_pathlossReferenceLinking = -1; /* T_pathlossReferenceLinking */ static int hf_nr_rrc_servingCellMO = -1; /* MeasObjectId */ static int hf_nr_rrc_lte_CRS_ToMatchAround = -1; /* T_lte_CRS_ToMatchAround */ static int hf_nr_rrc_setup_48 = -1; /* RateMatchPatternLTE_CRS */ static int hf_nr_rrc_downlinkChannelBW_PerSCS_List = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ static int hf_nr_rrc_downlinkChannelBW_PerSCS_List_item = -1; /* SCS_SpecificCarrier */ static int hf_nr_rrc_initialUplinkBWP = -1; /* BWP_UplinkDedicated */ static int hf_nr_rrc_uplinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */ static int hf_nr_rrc_uplinkBWP_ToReleaseList_item = -1; /* BWP_Id */ static int hf_nr_rrc_uplinkBWP_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink */ static int hf_nr_rrc_uplinkBWP_ToAddModList_item = -1; /* BWP_Uplink */ static int hf_nr_rrc_firstActiveUplinkBWP_Id = -1; /* BWP_Id */ static int hf_nr_rrc_pusch_ServingCellConfig = -1; /* T_pusch_ServingCellConfig */ static int hf_nr_rrc_setup_49 = -1; /* PUSCH_ServingCellConfig */ static int hf_nr_rrc_carrierSwitching = -1; /* T_carrierSwitching */ static int hf_nr_rrc_setup_50 = -1; /* SRS_CarrierSwitching */ static int hf_nr_rrc_powerBoostPi2BPSK = -1; /* BOOLEAN */ static int hf_nr_rrc_uplinkChannelBW_PerSCS_List = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */ static int hf_nr_rrc_uplinkChannelBW_PerSCS_List_item = -1; /* SCS_SpecificCarrier */ static int hf_nr_rrc_downlinkConfigCommon = -1; /* DownlinkConfigCommon */ static int hf_nr_rrc_uplinkConfigCommon = -1; /* UplinkConfigCommon */ static int hf_nr_rrc_supplementaryUplinkConfig = -1; /* UplinkConfigCommon */ static int hf_nr_rrc_n_TimingAdvanceOffset = -1; /* T_n_TimingAdvanceOffset */ static int hf_nr_rrc_ssb_PositionsInBurst = -1; /* T_ssb_PositionsInBurst */ static int hf_nr_rrc_shortBitmap = -1; /* BIT_STRING_SIZE_4 */ static int hf_nr_rrc_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_longBitmap = -1; /* BIT_STRING_SIZE_64 */ static int hf_nr_rrc_ssb_periodicityServingCell = -1; /* T_ssb_periodicityServingCell */ static int hf_nr_rrc_dmrs_TypeA_Position_01 = -1; /* T_dmrs_TypeA_Position_01 */ static int hf_nr_rrc_lte_CRS_ToMatchAround_01 = -1; /* T_lte_CRS_ToMatchAround_01 */ static int hf_nr_rrc_tdd_UL_DL_ConfigurationCommon = -1; /* TDD_UL_DL_ConfigCommon */ static int hf_nr_rrc_ss_PBCH_BlockPower = -1; /* INTEGER_M60_50 */ static int hf_nr_rrc_downlinkConfigCommon_01 = -1; /* DownlinkConfigCommonSIB */ static int hf_nr_rrc_uplinkConfigCommon_01 = -1; /* UplinkConfigCommonSIB */ static int hf_nr_rrc_supplementaryUplink_02 = -1; /* UplinkConfigCommonSIB */ static int hf_nr_rrc_n_TimingAdvanceOffset_01 = -1; /* T_n_TimingAdvanceOffset_01 */ static int hf_nr_rrc_ssb_PositionsInBurst_01 = -1; /* T_ssb_PositionsInBurst_01 */ static int hf_nr_rrc_inOneGroup = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_groupPresence = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_ssb_PeriodicityServingCell = -1; /* T_ssb_PeriodicityServingCell */ static int hf_nr_rrc_schedulingInfoList = -1; /* SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo */ static int hf_nr_rrc_schedulingInfoList_item = -1; /* SchedulingInfo */ static int hf_nr_rrc_si_WindowLength = -1; /* T_si_WindowLength */ static int hf_nr_rrc_si_RequestConfig = -1; /* SI_RequestConfig */ static int hf_nr_rrc_si_RequestConfigSUL = -1; /* SI_RequestConfig */ static int hf_nr_rrc_systemInformationAreaID = -1; /* BIT_STRING_SIZE_24 */ static int hf_nr_rrc_si_BroadcastStatus = -1; /* T_si_BroadcastStatus */ static int hf_nr_rrc_si_Periodicity = -1; /* T_si_Periodicity */ static int hf_nr_rrc_sib_MappingInfo = -1; /* SIB_Mapping */ static int hf_nr_rrc_SIB_Mapping_item = -1; /* SIB_TypeInfo */ static int hf_nr_rrc_type = -1; /* T_type */ static int hf_nr_rrc_valueTag = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_areaScope = -1; /* T_areaScope */ static int hf_nr_rrc_rach_OccasionsSI = -1; /* T_rach_OccasionsSI */ static int hf_nr_rrc_rach_ConfigSI = -1; /* RACH_ConfigGeneric */ static int hf_nr_rrc_ssb_perRACH_Occasion_02 = -1; /* T_ssb_perRACH_Occasion_02 */ static int hf_nr_rrc_si_RequestPeriod = -1; /* T_si_RequestPeriod */ static int hf_nr_rrc_si_RequestResources = -1; /* SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources */ static int hf_nr_rrc_si_RequestResources_item = -1; /* SI_RequestResources */ static int hf_nr_rrc_ra_PreambleStartIndex = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_ra_AssociationPeriodIndex = -1; /* INTEGER_0_15 */ static int hf_nr_rrc_subcarrierSpacing2 = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_slotFormatCombinations = -1; /* SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination */ static int hf_nr_rrc_slotFormatCombinations_item = -1; /* SlotFormatCombination */ static int hf_nr_rrc_positionInDCI_01 = -1; /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */ static int hf_nr_rrc_slotFormatCombinationId = -1; /* SlotFormatCombinationId */ static int hf_nr_rrc_slotFormats = -1; /* T_slotFormats */ static int hf_nr_rrc_slotFormats_item = -1; /* INTEGER_0_255 */ static int hf_nr_rrc_sfi_RNTI = -1; /* RNTI_Value */ static int hf_nr_rrc_dci_PayloadSize_01 = -1; /* INTEGER_1_maxSFI_DCI_PayloadSize */ static int hf_nr_rrc_slotFormatCombToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell */ static int hf_nr_rrc_slotFormatCombToAddModList_item = -1; /* SlotFormatCombinationsPerCell */ static int hf_nr_rrc_slotFormatCombToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */ static int hf_nr_rrc_slotFormatCombToReleaseList_item = -1; /* ServCellIndex */ static int hf_nr_rrc_sst = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_sst_SD = -1; /* BIT_STRING_SIZE_32 */ static int hf_nr_rrc_sf_Medium_01 = -1; /* T_sf_Medium_01 */ static int hf_nr_rrc_sf_High_01 = -1; /* T_sf_High_01 */ static int hf_nr_rrc_periodicity_01 = -1; /* T_periodicity_01 */ static int hf_nr_rrc_nrofHARQ_Processes_01 = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_n1PUCCH_AN = -1; /* PUCCH_ResourceId */ static int hf_nr_rrc_mcs_Table_03 = -1; /* T_mcs_Table_03 */ static int hf_nr_rrc_srs_SwitchFromServCellIndex = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_srs_SwitchFromCarrier = -1; /* T_srs_SwitchFromCarrier */ static int hf_nr_rrc_srs_TPC_PDCCH_Group = -1; /* T_srs_TPC_PDCCH_Group */ static int hf_nr_rrc_typeA = -1; /* SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config */ static int hf_nr_rrc_typeA_item = -1; /* SRS_TPC_PDCCH_Config */ static int hf_nr_rrc_typeB = -1; /* SRS_TPC_PDCCH_Config */ static int hf_nr_rrc_monitoringCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex */ static int hf_nr_rrc_monitoringCells_item = -1; /* ServCellIndex */ static int hf_nr_rrc_srs_CC_SetIndexlist = -1; /* SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex */ static int hf_nr_rrc_srs_CC_SetIndexlist_item = -1; /* SRS_CC_SetIndex */ static int hf_nr_rrc_cc_SetIndex = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_cc_IndexInOneCC_Set = -1; /* INTEGER_0_7 */ static int hf_nr_rrc_srs_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */ static int hf_nr_rrc_srs_ResourceSetToReleaseList_item = -1; /* SRS_ResourceSetId */ static int hf_nr_rrc_srs_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */ static int hf_nr_rrc_srs_ResourceSetToAddModList_item = -1; /* SRS_ResourceSet */ static int hf_nr_rrc_srs_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId */ static int hf_nr_rrc_srs_ResourceToReleaseList_item = -1; /* SRS_ResourceId */ static int hf_nr_rrc_srs_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource */ static int hf_nr_rrc_srs_ResourceToAddModList_item = -1; /* SRS_Resource */ static int hf_nr_rrc_tpc_Accumulation_01 = -1; /* T_tpc_Accumulation_01 */ static int hf_nr_rrc_srs_ResourceSetId = -1; /* SRS_ResourceSetId */ static int hf_nr_rrc_srs_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId */ static int hf_nr_rrc_srs_ResourceIdList_item = -1; /* SRS_ResourceId */ static int hf_nr_rrc_resourceType_01 = -1; /* T_resourceType_01 */ static int hf_nr_rrc_aperiodic_01 = -1; /* T_aperiodic_01 */ static int hf_nr_rrc_aperiodicSRS_ResourceTrigger = -1; /* INTEGER_1_maxNrofSRS_TriggerStates_1 */ static int hf_nr_rrc_slotOffset = -1; /* INTEGER_1_32 */ static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList = -1; /* T_aperiodicSRS_ResourceTriggerList */ static int hf_nr_rrc_aperiodicSRS_ResourceTriggerList_item = -1; /* INTEGER_1_maxNrofSRS_TriggerStates_1 */ static int hf_nr_rrc_semi_persistent = -1; /* T_semi_persistent */ static int hf_nr_rrc_associatedCSI_RS = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_periodic_01 = -1; /* T_periodic_01 */ static int hf_nr_rrc_usage = -1; /* T_usage */ static int hf_nr_rrc_p0_01 = -1; /* INTEGER_M202_24 */ static int hf_nr_rrc_pathlossReferenceRS = -1; /* T_pathlossReferenceRS */ static int hf_nr_rrc_srs_PowerControlAdjustmentStates = -1; /* T_srs_PowerControlAdjustmentStates */ static int hf_nr_rrc_srs_ResourceId = -1; /* SRS_ResourceId */ static int hf_nr_rrc_nrofSRS_Ports = -1; /* T_nrofSRS_Ports */ static int hf_nr_rrc_ptrs_PortIndex = -1; /* T_ptrs_PortIndex */ static int hf_nr_rrc_transmissionComb = -1; /* T_transmissionComb */ static int hf_nr_rrc_n2_01 = -1; /* T_n2 */ static int hf_nr_rrc_combOffset_n2 = -1; /* INTEGER_0_1 */ static int hf_nr_rrc_cyclicShift_n2 = -1; /* INTEGER_0_7 */ static int hf_nr_rrc_n4_01 = -1; /* T_n4 */ static int hf_nr_rrc_combOffset_n4 = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_cyclicShift_n4 = -1; /* INTEGER_0_11 */ static int hf_nr_rrc_resourceMapping_01 = -1; /* T_resourceMapping */ static int hf_nr_rrc_startPosition = -1; /* INTEGER_0_5 */ static int hf_nr_rrc_nrofSymbols_02 = -1; /* T_nrofSymbols */ static int hf_nr_rrc_repetitionFactor = -1; /* T_repetitionFactor */ static int hf_nr_rrc_freqDomainPosition = -1; /* INTEGER_0_67 */ static int hf_nr_rrc_freqDomainShift = -1; /* INTEGER_0_268 */ static int hf_nr_rrc_freqHopping = -1; /* T_freqHopping */ static int hf_nr_rrc_c_SRS = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_b_SRS = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_b_hop = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_groupOrSequenceHopping = -1; /* T_groupOrSequenceHopping */ static int hf_nr_rrc_resourceType_02 = -1; /* T_resourceType_02 */ static int hf_nr_rrc_aperiodic_02 = -1; /* T_aperiodic_02 */ static int hf_nr_rrc_semi_persistent_01 = -1; /* T_semi_persistent_01 */ static int hf_nr_rrc_periodicityAndOffset_sp = -1; /* SRS_PeriodicityAndOffset */ static int hf_nr_rrc_periodic_02 = -1; /* T_periodic_02 */ static int hf_nr_rrc_periodicityAndOffset_p = -1; /* SRS_PeriodicityAndOffset */ static int hf_nr_rrc_sequenceId = -1; /* INTEGER_0_1023 */ static int hf_nr_rrc_spatialRelationInfo = -1; /* SRS_SpatialRelationInfo */ static int hf_nr_rrc_referenceSignal_03 = -1; /* T_referenceSignal_03 */ static int hf_nr_rrc_srs_01 = -1; /* T_srs_01 */ static int hf_nr_rrc_resourceId = -1; /* SRS_ResourceId */ static int hf_nr_rrc_sl32 = -1; /* INTEGER_0_31 */ static int hf_nr_rrc_sl64 = -1; /* INTEGER_0_63 */ static int hf_nr_rrc_startingBitOfFormat2_3 = -1; /* INTEGER_1_31 */ static int hf_nr_rrc_fieldTypeFormat2_3 = -1; /* INTEGER_0_1 */ static int hf_nr_rrc_startingBitOfFormat2_3SUL = -1; /* INTEGER_1_31 */ static int hf_nr_rrc_periodicityAndOffset_02 = -1; /* T_periodicityAndOffset_01 */ static int hf_nr_rrc_sf5 = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_sf10 = -1; /* INTEGER_0_9 */ static int hf_nr_rrc_sf20 = -1; /* INTEGER_0_19 */ static int hf_nr_rrc_sf40 = -1; /* INTEGER_0_39 */ static int hf_nr_rrc_sf80 = -1; /* INTEGER_0_79 */ static int hf_nr_rrc_sf160 = -1; /* INTEGER_0_159 */ static int hf_nr_rrc_duration_02 = -1; /* T_duration */ static int hf_nr_rrc_pci_List = -1; /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId */ static int hf_nr_rrc_pci_List_item = -1; /* PhysCellId */ static int hf_nr_rrc_periodicity_02 = -1; /* T_periodicity_02 */ static int hf_nr_rrc_measurementSlots = -1; /* BIT_STRING_SIZE_1_80 */ static int hf_nr_rrc_endSymbol = -1; /* INTEGER_0_3 */ static int hf_nr_rrc_tag_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id */ static int hf_nr_rrc_tag_ToReleaseList_item = -1; /* TAG_Id */ static int hf_nr_rrc_tag_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG */ static int hf_nr_rrc_tag_ToAddModList_item = -1; /* TAG */ static int hf_nr_rrc_timeAlignmentTimer = -1; /* TimeAlignmentTimer */ static int hf_nr_rrc_tci_StateId = -1; /* TCI_StateId */ static int hf_nr_rrc_qcl_Type1 = -1; /* QCL_Info */ static int hf_nr_rrc_qcl_Type2 = -1; /* QCL_Info */ static int hf_nr_rrc_cell = -1; /* ServCellIndex */ static int hf_nr_rrc_referenceSignal_04 = -1; /* T_referenceSignal_04 */ static int hf_nr_rrc_csi_rs = -1; /* NZP_CSI_RS_ResourceId */ static int hf_nr_rrc_qcl_Type = -1; /* T_qcl_Type */ static int hf_nr_rrc_referenceSubcarrierSpacing = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_pattern1_01 = -1; /* TDD_UL_DL_Pattern */ static int hf_nr_rrc_pattern2 = -1; /* TDD_UL_DL_Pattern */ static int hf_nr_rrc_dl_UL_TransmissionPeriodicity = -1; /* T_dl_UL_TransmissionPeriodicity */ static int hf_nr_rrc_nrofDownlinkSlots = -1; /* INTEGER_0_maxNrofSlots */ static int hf_nr_rrc_nrofDownlinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */ static int hf_nr_rrc_nrofUplinkSlots = -1; /* INTEGER_0_maxNrofSlots */ static int hf_nr_rrc_nrofUplinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */ static int hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530 = -1; /* T_dl_UL_TransmissionPeriodicity_v1530 */ static int hf_nr_rrc_slotSpecificConfigurationsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig */ static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_item = -1; /* TDD_UL_DL_SlotConfig */ static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */ static int hf_nr_rrc_slotSpecificConfigurationsToReleaseList_item = -1; /* TDD_UL_DL_SlotIndex */ static int hf_nr_rrc_slotIndex = -1; /* TDD_UL_DL_SlotIndex */ static int hf_nr_rrc_symbols = -1; /* T_symbols */ static int hf_nr_rrc_allDownlink = -1; /* NULL */ static int hf_nr_rrc_allUplink = -1; /* NULL */ static int hf_nr_rrc_explicit = -1; /* T_explicit */ static int hf_nr_rrc_nrofDownlinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */ static int hf_nr_rrc_nrofUplinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */ static int hf_nr_rrc_UAC_BarringInfoSetList_item = -1; /* UAC_BarringInfoSet */ static int hf_nr_rrc_uac_BarringFactor = -1; /* T_uac_BarringFactor */ static int hf_nr_rrc_uac_BarringTime = -1; /* T_uac_BarringTime */ static int hf_nr_rrc_uac_BarringForAccessIdentity = -1; /* BIT_STRING_SIZE_7 */ static int hf_nr_rrc_UAC_BarringPerCatList_item = -1; /* UAC_BarringPerCat */ static int hf_nr_rrc_accessCategory = -1; /* INTEGER_1_maxAccessCat_1 */ static int hf_nr_rrc_uac_barringInfoSetIndex = -1; /* UAC_BarringInfoSetIndex */ static int hf_nr_rrc_UAC_BarringPerPLMN_List_item = -1; /* UAC_BarringPerPLMN */ static int hf_nr_rrc_plmn_IdentityIndex = -1; /* INTEGER_1_maxPLMN */ static int hf_nr_rrc_uac_ACBarringListType = -1; /* T_uac_ACBarringListType */ static int hf_nr_rrc_uac_ImplicitACBarringList = -1; /* SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex */ static int hf_nr_rrc_uac_ImplicitACBarringList_item = -1; /* UAC_BarringInfoSetIndex */ static int hf_nr_rrc_uac_ExplicitACBarringList = -1; /* UAC_BarringPerCatList */ static int hf_nr_rrc_t300 = -1; /* T_t300 */ static int hf_nr_rrc_t301 = -1; /* T_t301 */ static int hf_nr_rrc_t310_01 = -1; /* T_t310_01 */ static int hf_nr_rrc_n310_01 = -1; /* T_n310_01 */ static int hf_nr_rrc_t311_01 = -1; /* T_t311_01 */ static int hf_nr_rrc_n311_01 = -1; /* T_n311_01 */ static int hf_nr_rrc_t319 = -1; /* T_t319 */ static int hf_nr_rrc_frequencyInfoUL = -1; /* FrequencyInfoUL */ static int hf_nr_rrc_initialUplinkBWP_01 = -1; /* BWP_UplinkCommon */ static int hf_nr_rrc_dummy_05 = -1; /* TimeAlignmentTimer */ static int hf_nr_rrc_frequencyInfoUL_01 = -1; /* FrequencyInfoUL_SIB */ static int hf_nr_rrc_timeAlignmentTimerCommon = -1; /* TimeAlignmentTimer */ static int hf_nr_rrc_UplinkTxDirectCurrentList_item = -1; /* UplinkTxDirectCurrentCell */ static int hf_nr_rrc_uplinkDirectCurrentBWP = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP */ static int hf_nr_rrc_uplinkDirectCurrentBWP_item = -1; /* UplinkTxDirectCurrentBWP */ static int hf_nr_rrc_uplinkDirectCurrentBWP_SUL = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP */ static int hf_nr_rrc_uplinkDirectCurrentBWP_SUL_item = -1; /* UplinkTxDirectCurrentBWP */ static int hf_nr_rrc_shift7dot5kHz = -1; /* BOOLEAN */ static int hf_nr_rrc_txDirectCurrentLocation_01 = -1; /* INTEGER_0_3301 */ static int hf_nr_rrc_zp_CSI_RS_ResourceId = -1; /* ZP_CSI_RS_ResourceId */ static int hf_nr_rrc_zp_CSI_RS_ResourceSetId = -1; /* ZP_CSI_RS_ResourceSetId */ static int hf_nr_rrc_zp_CSI_RS_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId */ static int hf_nr_rrc_zp_CSI_RS_ResourceIdList_item = -1; /* ZP_CSI_RS_ResourceId */ static int hf_nr_rrc_BandCombinationList_item = -1; /* BandCombination */ static int hf_nr_rrc_BandCombinationList_v1540_item = -1; /* BandCombination_v1540 */ static int hf_nr_rrc_BandCombinationList_v1550_item = -1; /* BandCombination_v1550 */ static int hf_nr_rrc_BandCombinationList_v1560_item = -1; /* BandCombination_v1560 */ static int hf_nr_rrc_BandCombinationList_v1570_item = -1; /* BandCombination_v1570 */ static int hf_nr_rrc_BandCombinationList_v1580_item = -1; /* BandCombination_v1580 */ static int hf_nr_rrc_bandList = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters */ static int hf_nr_rrc_bandList_item = -1; /* BandParameters */ static int hf_nr_rrc_featureSetCombination = -1; /* FeatureSetCombinationId */ static int hf_nr_rrc_ca_ParametersEUTRA = -1; /* CA_ParametersEUTRA */ static int hf_nr_rrc_ca_ParametersNR = -1; /* CA_ParametersNR */ static int hf_nr_rrc_mrdc_Parameters = -1; /* MRDC_Parameters */ static int hf_nr_rrc_supportedBandwidthCombinationSet = -1; /* BIT_STRING_SIZE_1_32 */ static int hf_nr_rrc_powerClass_v1530 = -1; /* T_powerClass_v1530 */ static int hf_nr_rrc_bandList_v1540 = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540 */ static int hf_nr_rrc_bandList_v1540_item = -1; /* BandParameters_v1540 */ static int hf_nr_rrc_ca_ParametersNR_v1540 = -1; /* CA_ParametersNR_v1540 */ static int hf_nr_rrc_ca_ParametersNR_v1550 = -1; /* CA_ParametersNR_v1550 */ static int hf_nr_rrc_ne_DC_BC = -1; /* T_ne_DC_BC */ static int hf_nr_rrc_ca_ParametersNRDC = -1; /* CA_ParametersNRDC */ static int hf_nr_rrc_ca_ParametersEUTRA_v1560 = -1; /* CA_ParametersEUTRA_v1560 */ static int hf_nr_rrc_ca_ParametersNR_v1560 = -1; /* CA_ParametersNR_v1560 */ static int hf_nr_rrc_ca_ParametersEUTRA_v1570 = -1; /* CA_ParametersEUTRA_v1570 */ static int hf_nr_rrc_mrdc_Parameters_v1580 = -1; /* MRDC_Parameters_v1580 */ static int hf_nr_rrc_eutra_01 = -1; /* T_eutra */ static int hf_nr_rrc_bandEUTRA = -1; /* FreqBandIndicatorEUTRA */ static int hf_nr_rrc_ca_BandwidthClassDL_EUTRA = -1; /* CA_BandwidthClassEUTRA */ static int hf_nr_rrc_ca_BandwidthClassUL_EUTRA = -1; /* CA_BandwidthClassEUTRA */ static int hf_nr_rrc_nr_01 = -1; /* T_nr */ static int hf_nr_rrc_bandNR = -1; /* FreqBandIndicatorNR */ static int hf_nr_rrc_ca_BandwidthClassDL_NR = -1; /* CA_BandwidthClassNR */ static int hf_nr_rrc_ca_BandwidthClassUL_NR = -1; /* CA_BandwidthClassNR */ static int hf_nr_rrc_srs_CarrierSwitch = -1; /* T_srs_CarrierSwitch */ static int hf_nr_rrc_nr_02 = -1; /* T_nr_01 */ static int hf_nr_rrc_srs_SwitchingTimesListNR = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR */ static int hf_nr_rrc_srs_SwitchingTimesListNR_item = -1; /* SRS_SwitchingTimeNR */ static int hf_nr_rrc_eutra_02 = -1; /* T_eutra_01 */ static int hf_nr_rrc_srs_SwitchingTimesListEUTRA = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA */ static int hf_nr_rrc_srs_SwitchingTimesListEUTRA_item = -1; /* SRS_SwitchingTimeEUTRA */ static int hf_nr_rrc_srs_TxSwitch = -1; /* T_srs_TxSwitch */ static int hf_nr_rrc_supportedSRS_TxPortSwitch = -1; /* T_supportedSRS_TxPortSwitch */ static int hf_nr_rrc_txSwitchImpactToRx = -1; /* INTEGER_1_32 */ static int hf_nr_rrc_txSwitchWithAnotherBand = -1; /* INTEGER_1_32 */ static int hf_nr_rrc_multipleTimingAdvance = -1; /* T_multipleTimingAdvance */ static int hf_nr_rrc_simultaneousRx_Tx = -1; /* T_simultaneousRx_Tx */ static int hf_nr_rrc_supportedNAICS_2CRS_AP = -1; /* BIT_STRING_SIZE_1_8 */ static int hf_nr_rrc_additionalRx_Tx_PerformanceReq = -1; /* T_additionalRx_Tx_PerformanceReq */ static int hf_nr_rrc_ue_CA_PowerClass_N = -1; /* T_ue_CA_PowerClass_N */ static int hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530 = -1; /* BIT_STRING_SIZE_1_32 */ static int hf_nr_rrc_fd_MIMO_TotalWeightedLayers = -1; /* INTEGER_2_128 */ static int hf_nr_rrc_dl_1024QAM_TotalWeightedLayers = -1; /* INTEGER_0_10 */ static int hf_nr_rrc_dummy_06 = -1; /* T_dummy_03 */ static int hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH = -1; /* T_parallelTxSRS_PUCCH_PUSCH */ static int hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH = -1; /* T_parallelTxPRACH_SRS_PUCCH_PUSCH */ static int hf_nr_rrc_simultaneousRxTxInterBandCA = -1; /* T_simultaneousRxTxInterBandCA */ static int hf_nr_rrc_simultaneousRxTxSUL = -1; /* T_simultaneousRxTxSUL */ static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group = -1; /* T_diffNumerologyAcrossPUCCH_Group */ static int hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS = -1; /* T_diffNumerologyWithinPUCCH_GroupSmallerSCS */ static int hf_nr_rrc_supportedNumberTAG = -1; /* T_supportedNumberTAG */ static int hf_nr_rrc_simultaneousSRS_AssocCSI_RS_AllCC = -1; /* INTEGER_5_32 */ static int hf_nr_rrc_csi_RS_IM_ReceptionForFeedbackPerBandComb = -1; /* T_csi_RS_IM_ReceptionForFeedbackPerBandComb */ static int hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC = -1; /* INTEGER_2_256 */ static int hf_nr_rrc_simultaneousCSI_ReportsAllCC = -1; /* INTEGER_5_32 */ static int hf_nr_rrc_dualPA_Architecture = -1; /* T_dualPA_Architecture */ static int hf_nr_rrc_dummy_07 = -1; /* T_dummy_04 */ static int hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS = -1; /* T_diffNumerologyWithinPUCCH_GroupLargerSCS */ static int hf_nr_rrc_ca_ParametersNR_ForDC = -1; /* CA_ParametersNR */ static int hf_nr_rrc_ca_ParametersNR_ForDC_v1540 = -1; /* CA_ParametersNR_v1540 */ static int hf_nr_rrc_ca_ParametersNR_ForDC_v1550 = -1; /* CA_ParametersNR_v1550 */ static int hf_nr_rrc_ca_ParametersNR_ForDC_v1560 = -1; /* CA_ParametersNR_v1560 */ static int hf_nr_rrc_featureSetCombinationDC = -1; /* FeatureSetCombinationId */ static int hf_nr_rrc_type1_02 = -1; /* T_type1_02 */ static int hf_nr_rrc_singlePanel = -1; /* T_singlePanel */ static int hf_nr_rrc_supportedCSI_RS_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource */ static int hf_nr_rrc_supportedCSI_RS_ResourceList_item = -1; /* SupportedCSI_RS_Resource */ static int hf_nr_rrc_modes = -1; /* T_modes */ static int hf_nr_rrc_maxNumberCSI_RS_PerResourceSet = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_multiPanel = -1; /* T_multiPanel */ static int hf_nr_rrc_modes_01 = -1; /* T_modes_01 */ static int hf_nr_rrc_nrofPanels = -1; /* T_nrofPanels */ static int hf_nr_rrc_type2_01 = -1; /* T_type2_01 */ static int hf_nr_rrc_parameterLx = -1; /* INTEGER_2_4 */ static int hf_nr_rrc_amplitudeScalingType = -1; /* T_amplitudeScalingType */ static int hf_nr_rrc_amplitudeSubsetRestriction = -1; /* T_amplitudeSubsetRestriction */ static int hf_nr_rrc_type2_PortSelection = -1; /* T_type2_PortSelection */ static int hf_nr_rrc_amplitudeScalingType_01 = -1; /* T_amplitudeScalingType_01 */ static int hf_nr_rrc_maxNumberTxPortsPerResource = -1; /* T_maxNumberTxPortsPerResource */ static int hf_nr_rrc_maxNumberResourcesPerBand = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_totalNumberTxPortsPerBand = -1; /* INTEGER_2_256 */ static int hf_nr_rrc_FeatureSetCombination_item = -1; /* FeatureSetsPerBand */ static int hf_nr_rrc_FeatureSetsPerBand_item = -1; /* FeatureSet */ static int hf_nr_rrc_eutra_03 = -1; /* T_eutra_02 */ static int hf_nr_rrc_downlinkSetEUTRA = -1; /* FeatureSetEUTRA_DownlinkId */ static int hf_nr_rrc_uplinkSetEUTRA = -1; /* FeatureSetEUTRA_UplinkId */ static int hf_nr_rrc_nr_03 = -1; /* T_nr_02 */ static int hf_nr_rrc_downlinkSetNR = -1; /* FeatureSetDownlinkId */ static int hf_nr_rrc_uplinkSetNR = -1; /* FeatureSetUplinkId */ static int hf_nr_rrc_featureSetListPerDownlinkCC = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id */ static int hf_nr_rrc_featureSetListPerDownlinkCC_item = -1; /* FeatureSetDownlinkPerCC_Id */ static int hf_nr_rrc_intraBandFreqSeparationDL = -1; /* FreqSeparationClass */ static int hf_nr_rrc_scalingFactor = -1; /* T_scalingFactor */ static int hf_nr_rrc_crossCarrierScheduling_OtherSCS = -1; /* T_crossCarrierScheduling_OtherSCS */ static int hf_nr_rrc_scellWithoutSSB = -1; /* T_scellWithoutSSB */ static int hf_nr_rrc_csi_RS_MeasSCellWithoutSSB = -1; /* T_csi_RS_MeasSCellWithoutSSB */ static int hf_nr_rrc_dummy1_01 = -1; /* T_dummy1_01 */ static int hf_nr_rrc_type1_3_CSS = -1; /* T_type1_3_CSS */ static int hf_nr_rrc_pdcch_MonitoringAnyOccasions = -1; /* T_pdcch_MonitoringAnyOccasions */ static int hf_nr_rrc_dummy2_01 = -1; /* T_dummy2_01 */ static int hf_nr_rrc_ue_SpecificUL_DL_Assignment = -1; /* T_ue_SpecificUL_DL_Assignment */ static int hf_nr_rrc_searchSpaceSharingCA_DL = -1; /* T_searchSpaceSharingCA_DL */ static int hf_nr_rrc_timeDurationForQCL = -1; /* T_timeDurationForQCL */ static int hf_nr_rrc_scs_60kHz = -1; /* T_scs_60kHz */ static int hf_nr_rrc_scs_120kHz = -1; /* T_scs_120kHz */ static int hf_nr_rrc_pdsch_ProcessingType1_DifferentTB_PerSlot = -1; /* T_pdsch_ProcessingType1_DifferentTB_PerSlot */ static int hf_nr_rrc_scs_15kHz = -1; /* T_scs_15kHz */ static int hf_nr_rrc_scs_30kHz = -1; /* T_scs_30kHz */ static int hf_nr_rrc_scs_60kHz_01 = -1; /* T_scs_60kHz_01 */ static int hf_nr_rrc_scs_120kHz_01 = -1; /* T_scs_120kHz_01 */ static int hf_nr_rrc_dummy3 = -1; /* DummyA */ static int hf_nr_rrc_dummy4 = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB */ static int hf_nr_rrc_dummy4_item = -1; /* DummyB */ static int hf_nr_rrc_dummy5 = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC */ static int hf_nr_rrc_dummy5_item = -1; /* DummyC */ static int hf_nr_rrc_dummy6 = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD */ static int hf_nr_rrc_dummy6_item = -1; /* DummyD */ static int hf_nr_rrc_dummy7 = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE */ static int hf_nr_rrc_dummy7_item = -1; /* DummyE */ static int hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_DL = -1; /* T_oneFL_DMRS_TwoAdditionalDMRS_DL */ static int hf_nr_rrc_additionalDMRS_DL_Alt = -1; /* T_additionalDMRS_DL_Alt */ static int hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_DL = -1; /* T_twoFL_DMRS_TwoAdditionalDMRS_DL */ static int hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_DL = -1; /* T_oneFL_DMRS_ThreeAdditionalDMRS_DL */ static int hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap = -1; /* T_pdcch_MonitoringAnyOccasionsWithSpanGap */ static int hf_nr_rrc_scs_15kHz_01 = -1; /* T_scs_15kHz_01 */ static int hf_nr_rrc_scs_30kHz_01 = -1; /* T_scs_30kHz_01 */ static int hf_nr_rrc_scs_60kHz_02 = -1; /* T_scs_60kHz_02 */ static int hf_nr_rrc_scs_120kHz_02 = -1; /* T_scs_120kHz_02 */ static int hf_nr_rrc_pdsch_SeparationWithGap = -1; /* T_pdsch_SeparationWithGap */ static int hf_nr_rrc_pdsch_ProcessingType2 = -1; /* T_pdsch_ProcessingType2 */ static int hf_nr_rrc_scs_15kHz_02 = -1; /* ProcessingParameters */ static int hf_nr_rrc_scs_30kHz_02 = -1; /* ProcessingParameters */ static int hf_nr_rrc_scs_60kHz_03 = -1; /* ProcessingParameters */ static int hf_nr_rrc_pdsch_ProcessingType2_Limited = -1; /* T_pdsch_ProcessingType2_Limited */ static int hf_nr_rrc_differentTB_PerSlot_SCS_30kHz = -1; /* T_differentTB_PerSlot_SCS_30kHz */ static int hf_nr_rrc_dl_MCS_TableAlt_DynamicIndication = -1; /* T_dl_MCS_TableAlt_DynamicIndication */ static int hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC = -1; /* INTEGER_1_32 */ static int hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC = -1; /* T_maxNumberPortsAcrossNZP_CSI_RS_PerCC */ static int hf_nr_rrc_maxNumberCS_IM_PerCC = -1; /* T_maxNumberCS_IM_PerCC */ static int hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC = -1; /* T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC */ static int hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC = -1; /* T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC */ static int hf_nr_rrc_maxNumberTxPortsPerResource_01 = -1; /* T_maxNumberTxPortsPerResource_01 */ static int hf_nr_rrc_maxNumberResources = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_totalNumberTxPorts = -1; /* INTEGER_2_256 */ static int hf_nr_rrc_supportedCodebookMode = -1; /* T_supportedCodebookMode */ static int hf_nr_rrc_maxNumberTxPortsPerResource_02 = -1; /* T_maxNumberTxPortsPerResource_02 */ static int hf_nr_rrc_supportedCodebookMode_01 = -1; /* T_supportedCodebookMode_01 */ static int hf_nr_rrc_supportedNumberPanels = -1; /* T_supportedNumberPanels */ static int hf_nr_rrc_maxNumberTxPortsPerResource_03 = -1; /* T_maxNumberTxPortsPerResource_03 */ static int hf_nr_rrc_amplitudeScalingType_02 = -1; /* T_amplitudeScalingType_02 */ static int hf_nr_rrc_amplitudeSubsetRestriction_01 = -1; /* T_amplitudeSubsetRestriction_01 */ static int hf_nr_rrc_maxNumberTxPortsPerResource_04 = -1; /* T_maxNumberTxPortsPerResource_04 */ static int hf_nr_rrc_amplitudeScalingType_03 = -1; /* T_amplitudeScalingType_03 */ static int hf_nr_rrc_supportedSubcarrierSpacingDL = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_supportedBandwidthDL = -1; /* SupportedBandwidth */ static int hf_nr_rrc_channelBW_90mhz = -1; /* T_channelBW_90mhz */ static int hf_nr_rrc_maxNumberMIMO_LayersPDSCH = -1; /* MIMO_LayersDL */ static int hf_nr_rrc_supportedModulationOrderDL = -1; /* ModulationOrder */ static int hf_nr_rrc_featureSetsDownlink = -1; /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink */ static int hf_nr_rrc_featureSetsDownlink_item = -1; /* FeatureSetDownlink */ static int hf_nr_rrc_featureSetsDownlinkPerCC = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC */ static int hf_nr_rrc_featureSetsDownlinkPerCC_item = -1; /* FeatureSetDownlinkPerCC */ static int hf_nr_rrc_featureSetsUplink = -1; /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink */ static int hf_nr_rrc_featureSetsUplink_item = -1; /* FeatureSetUplink */ static int hf_nr_rrc_featureSetsUplinkPerCC = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC */ static int hf_nr_rrc_featureSetsUplinkPerCC_item = -1; /* FeatureSetUplinkPerCC */ static int hf_nr_rrc_featureSetsDownlink_v1540 = -1; /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540 */ static int hf_nr_rrc_featureSetsDownlink_v1540_item = -1; /* FeatureSetDownlink_v1540 */ static int hf_nr_rrc_featureSetsUplink_v1540 = -1; /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540 */ static int hf_nr_rrc_featureSetsUplink_v1540_item = -1; /* FeatureSetUplink_v1540 */ static int hf_nr_rrc_featureSetsUplinkPerCC_v1540 = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 */ static int hf_nr_rrc_featureSetsUplinkPerCC_v1540_item = -1; /* FeatureSetUplinkPerCC_v1540 */ static int hf_nr_rrc_featureSetListPerUplinkCC = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id */ static int hf_nr_rrc_featureSetListPerUplinkCC_item = -1; /* FeatureSetUplinkPerCC_Id */ static int hf_nr_rrc_scalingFactor_01 = -1; /* T_scalingFactor_01 */ static int hf_nr_rrc_crossCarrierScheduling_OtherSCS_01 = -1; /* T_crossCarrierScheduling_OtherSCS_01 */ static int hf_nr_rrc_intraBandFreqSeparationUL = -1; /* FreqSeparationClass */ static int hf_nr_rrc_searchSpaceSharingCA_UL = -1; /* T_searchSpaceSharingCA_UL */ static int hf_nr_rrc_dummy1_02 = -1; /* DummyI */ static int hf_nr_rrc_supportedSRS_Resources = -1; /* SRS_Resources */ static int hf_nr_rrc_twoPUCCH_Group = -1; /* T_twoPUCCH_Group */ static int hf_nr_rrc_dynamicSwitchSUL = -1; /* T_dynamicSwitchSUL */ static int hf_nr_rrc_simultaneousTxSUL_NonSUL = -1; /* T_simultaneousTxSUL_NonSUL */ static int hf_nr_rrc_pusch_ProcessingType1_DifferentTB_PerSlot = -1; /* T_pusch_ProcessingType1_DifferentTB_PerSlot */ static int hf_nr_rrc_scs_15kHz_03 = -1; /* T_scs_15kHz_02 */ static int hf_nr_rrc_scs_30kHz_03 = -1; /* T_scs_30kHz_02 */ static int hf_nr_rrc_scs_60kHz_04 = -1; /* T_scs_60kHz_03 */ static int hf_nr_rrc_scs_120kHz_03 = -1; /* T_scs_120kHz_03 */ static int hf_nr_rrc_dummy2_02 = -1; /* DummyF */ static int hf_nr_rrc_zeroSlotOffsetAperiodicSRS = -1; /* T_zeroSlotOffsetAperiodicSRS */ static int hf_nr_rrc_pa_PhaseDiscontinuityImpacts = -1; /* T_pa_PhaseDiscontinuityImpacts */ static int hf_nr_rrc_pusch_SeparationWithGap = -1; /* T_pusch_SeparationWithGap */ static int hf_nr_rrc_pusch_ProcessingType2 = -1; /* T_pusch_ProcessingType2 */ static int hf_nr_rrc_ul_MCS_TableAlt_DynamicIndication = -1; /* T_ul_MCS_TableAlt_DynamicIndication */ static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP = -1; /* T_maxNumberAperiodicSRS_PerBWP */ static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */ static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP = -1; /* T_maxNumberPeriodicSRS_PerBWP */ static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */ static int hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP = -1; /* T_maxNumberSemiPersistentSRS_PerBWP */ static int hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */ static int hf_nr_rrc_maxNumberSRS_Ports_PerResource = -1; /* T_maxNumberSRS_Ports_PerResource */ static int hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_supportedSubcarrierSpacingUL = -1; /* SubcarrierSpacing */ static int hf_nr_rrc_supportedBandwidthUL = -1; /* SupportedBandwidth */ static int hf_nr_rrc_channelBW_90mhz_01 = -1; /* T_channelBW_90mhz_01 */ static int hf_nr_rrc_mimo_CB_PUSCH = -1; /* T_mimo_CB_PUSCH */ static int hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH = -1; /* MIMO_LayersUL */ static int hf_nr_rrc_maxNumberSRS_ResourcePerSet = -1; /* INTEGER_1_2 */ static int hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH = -1; /* MIMO_LayersUL */ static int hf_nr_rrc_supportedModulationOrderUL = -1; /* ModulationOrder */ static int hf_nr_rrc_mimo_NonCB_PUSCH = -1; /* T_mimo_NonCB_PUSCH */ static int hf_nr_rrc_maxNumberSRS_ResourcePerSet_01 = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberSimultaneousSRS_ResourceTx = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_FreqBandList_item = -1; /* FreqBandInformation */ static int hf_nr_rrc_bandInformationEUTRA = -1; /* FreqBandInformationEUTRA */ static int hf_nr_rrc_bandInformationNR = -1; /* FreqBandInformationNR */ static int hf_nr_rrc_maxBandwidthRequestedDL = -1; /* AggregatedBandwidth */ static int hf_nr_rrc_maxBandwidthRequestedUL = -1; /* AggregatedBandwidth */ static int hf_nr_rrc_maxCarriersRequestedDL = -1; /* INTEGER_1_maxNrofServingCells */ static int hf_nr_rrc_maxCarriersRequestedUL = -1; /* INTEGER_1_maxNrofServingCells */ static int hf_nr_rrc_ims_ParametersCommon = -1; /* IMS_ParametersCommon */ static int hf_nr_rrc_ims_ParametersFRX_Diff = -1; /* IMS_ParametersFRX_Diff */ static int hf_nr_rrc_voiceOverEUTRA_5GC = -1; /* T_voiceOverEUTRA_5GC */ static int hf_nr_rrc_voiceOverSCG_BearerEUTRA_5GC = -1; /* T_voiceOverSCG_BearerEUTRA_5GC */ static int hf_nr_rrc_voiceOverNR = -1; /* T_voiceOverNR */ static int hf_nr_rrc_eutra_04 = -1; /* EUTRA_Parameters */ static int hf_nr_rrc_supportedBandListEUTRA = -1; /* SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA */ static int hf_nr_rrc_supportedBandListEUTRA_item = -1; /* FreqBandIndicatorEUTRA */ static int hf_nr_rrc_eutra_ParametersCommon = -1; /* EUTRA_ParametersCommon */ static int hf_nr_rrc_eutra_ParametersXDD_Diff = -1; /* EUTRA_ParametersXDD_Diff */ static int hf_nr_rrc_mfbi_EUTRA = -1; /* T_mfbi_EUTRA */ static int hf_nr_rrc_modifiedMPR_BehaviorEUTRA = -1; /* BIT_STRING_SIZE_32 */ static int hf_nr_rrc_multiNS_Pmax_EUTRA = -1; /* T_multiNS_Pmax_EUTRA */ static int hf_nr_rrc_rs_SINR_MeasEUTRA = -1; /* T_rs_SINR_MeasEUTRA */ static int hf_nr_rrc_ne_DC = -1; /* T_ne_DC */ static int hf_nr_rrc_rsrqMeasWidebandEUTRA = -1; /* T_rsrqMeasWidebandEUTRA */ static int hf_nr_rrc_mac_ParametersCommon = -1; /* MAC_ParametersCommon */ static int hf_nr_rrc_mac_ParametersXDD_Diff = -1; /* MAC_ParametersXDD_Diff */ static int hf_nr_rrc_lcp_Restriction = -1; /* T_lcp_Restriction */ static int hf_nr_rrc_dummy_08 = -1; /* T_dummy_05 */ static int hf_nr_rrc_lch_ToSCellRestriction = -1; /* T_lch_ToSCellRestriction */ static int hf_nr_rrc_recommendedBitRate = -1; /* T_recommendedBitRate */ static int hf_nr_rrc_recommendedBitRateQuery = -1; /* T_recommendedBitRateQuery */ static int hf_nr_rrc_skipUplinkTxDynamic_01 = -1; /* T_skipUplinkTxDynamic */ static int hf_nr_rrc_logicalChannelSR_DelayTimer_01 = -1; /* T_logicalChannelSR_DelayTimer_01 */ static int hf_nr_rrc_longDRX_Cycle = -1; /* T_longDRX_Cycle */ static int hf_nr_rrc_shortDRX_Cycle = -1; /* T_shortDRX_Cycle */ static int hf_nr_rrc_multipleSR_Configurations = -1; /* T_multipleSR_Configurations */ static int hf_nr_rrc_multipleConfiguredGrants = -1; /* T_multipleConfiguredGrants */ static int hf_nr_rrc_measAndMobParametersCommon = -1; /* MeasAndMobParametersCommon */ static int hf_nr_rrc_measAndMobParametersXDD_Diff = -1; /* MeasAndMobParametersXDD_Diff */ static int hf_nr_rrc_measAndMobParametersFRX_Diff = -1; /* MeasAndMobParametersFRX_Diff */ static int hf_nr_rrc_supportedGapPattern = -1; /* BIT_STRING_SIZE_22 */ static int hf_nr_rrc_ssb_RLM = -1; /* T_ssb_RLM */ static int hf_nr_rrc_ssb_AndCSI_RS_RLM = -1; /* T_ssb_AndCSI_RS_RLM */ static int hf_nr_rrc_eventB_MeasAndReport = -1; /* T_eventB_MeasAndReport */ static int hf_nr_rrc_handoverFDD_TDD = -1; /* T_handoverFDD_TDD */ static int hf_nr_rrc_eutra_CGI_Reporting = -1; /* T_eutra_CGI_Reporting */ static int hf_nr_rrc_nr_CGI_Reporting = -1; /* T_nr_CGI_Reporting */ static int hf_nr_rrc_independentGapConfig = -1; /* T_independentGapConfig */ static int hf_nr_rrc_periodicEUTRA_MeasAndReport = -1; /* T_periodicEUTRA_MeasAndReport */ static int hf_nr_rrc_handoverFR1_FR2 = -1; /* T_handoverFR1_FR2 */ static int hf_nr_rrc_maxNumberCSI_RS_RRM_RS_SINR = -1; /* T_maxNumberCSI_RS_RRM_RS_SINR */ static int hf_nr_rrc_nr_CGI_Reporting_ENDC = -1; /* T_nr_CGI_Reporting_ENDC */ static int hf_nr_rrc_intraAndInterF_MeasAndReport = -1; /* T_intraAndInterF_MeasAndReport */ static int hf_nr_rrc_eventA_MeasAndReport = -1; /* T_eventA_MeasAndReport */ static int hf_nr_rrc_handoverInterF = -1; /* T_handoverInterF */ static int hf_nr_rrc_handoverLTE_EPC = -1; /* T_handoverLTE_EPC */ static int hf_nr_rrc_handoverLTE_5GC = -1; /* T_handoverLTE_5GC */ static int hf_nr_rrc_sftd_MeasNR_Neigh = -1; /* T_sftd_MeasNR_Neigh */ static int hf_nr_rrc_sftd_MeasNR_Neigh_DRX = -1; /* T_sftd_MeasNR_Neigh_DRX */ static int hf_nr_rrc_ss_SINR_Meas = -1; /* T_ss_SINR_Meas */ static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithSSB */ static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithoutSSB */ static int hf_nr_rrc_csi_SINR_Meas = -1; /* T_csi_SINR_Meas */ static int hf_nr_rrc_csi_RS_RLM = -1; /* T_csi_RS_RLM */ static int hf_nr_rrc_handoverInterF_01 = -1; /* T_handoverInterF_01 */ static int hf_nr_rrc_handoverLTE_EPC_01 = -1; /* T_handoverLTE_EPC_01 */ static int hf_nr_rrc_handoverLTE_5GC_01 = -1; /* T_handoverLTE_5GC_01 */ static int hf_nr_rrc_maxNumberResource_CSI_RS_RLM = -1; /* T_maxNumberResource_CSI_RS_RLM */ static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology = -1; /* T_simultaneousRxDataSSB_DiffNumerology */ static int hf_nr_rrc_measAndMobParametersMRDC_Common = -1; /* MeasAndMobParametersMRDC_Common */ static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff = -1; /* MeasAndMobParametersMRDC_XDD_Diff */ static int hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff = -1; /* MeasAndMobParametersMRDC_FRX_Diff */ static int hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560 = -1; /* MeasAndMobParametersMRDC_XDD_Diff_v1560 */ static int hf_nr_rrc_independentGapConfig_01 = -1; /* T_independentGapConfig_01 */ static int hf_nr_rrc_sftd_MeasPSCell = -1; /* T_sftd_MeasPSCell */ static int hf_nr_rrc_sftd_MeasNR_Cell = -1; /* T_sftd_MeasNR_Cell */ static int hf_nr_rrc_sftd_MeasPSCell_NEDC = -1; /* T_sftd_MeasPSCell_NEDC */ static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01 = -1; /* T_simultaneousRxDataSSB_DiffNumerology_01 */ static int hf_nr_rrc_tci_StatePDSCH = -1; /* T_tci_StatePDSCH */ static int hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC = -1; /* T_maxNumberConfiguredTCIstatesPerCC */ static int hf_nr_rrc_maxNumberActiveTCI_PerBWP = -1; /* T_maxNumberActiveTCI_PerBWP */ static int hf_nr_rrc_additionalActiveTCI_StatePDCCH = -1; /* T_additionalActiveTCI_StatePDCCH */ static int hf_nr_rrc_pusch_TransCoherence = -1; /* T_pusch_TransCoherence */ static int hf_nr_rrc_beamCorrespondenceWithoutUL_BeamSweeping = -1; /* T_beamCorrespondenceWithoutUL_BeamSweeping */ static int hf_nr_rrc_periodicBeamReport = -1; /* T_periodicBeamReport */ static int hf_nr_rrc_aperiodicBeamReport = -1; /* T_aperiodicBeamReport */ static int hf_nr_rrc_sp_BeamReportPUCCH = -1; /* T_sp_BeamReportPUCCH */ static int hf_nr_rrc_sp_BeamReportPUSCH = -1; /* T_sp_BeamReportPUSCH */ static int hf_nr_rrc_dummy1_03 = -1; /* DummyG */ static int hf_nr_rrc_maxNumberRxBeam = -1; /* INTEGER_2_8 */ static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL = -1; /* T_maxNumberRxTxBeamSwitchDL */ static int hf_nr_rrc_scs_15kHz_04 = -1; /* T_scs_15kHz_03 */ static int hf_nr_rrc_scs_30kHz_04 = -1; /* T_scs_30kHz_03 */ static int hf_nr_rrc_scs_60kHz_05 = -1; /* T_scs_60kHz_04 */ static int hf_nr_rrc_scs_120kHz_04 = -1; /* T_scs_120kHz_04 */ static int hf_nr_rrc_scs_240kHz = -1; /* T_scs_240kHz */ static int hf_nr_rrc_maxNumberNonGroupBeamReporting = -1; /* T_maxNumberNonGroupBeamReporting */ static int hf_nr_rrc_groupBeamReporting = -1; /* T_groupBeamReporting */ static int hf_nr_rrc_uplinkBeamManagement = -1; /* T_uplinkBeamManagement */ static int hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM = -1; /* T_maxNumberSRS_ResourcePerSet_BM */ static int hf_nr_rrc_maxNumberSRS_ResourceSet = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_maxNumberCSI_RS_BFD = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_maxNumberSSB_BFD = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_maxNumberCSI_RS_SSB_CBD = -1; /* INTEGER_1_256 */ static int hf_nr_rrc_dummy2_03 = -1; /* T_dummy2_02 */ static int hf_nr_rrc_twoPortsPTRS_UL = -1; /* T_twoPortsPTRS_UL */ static int hf_nr_rrc_dummy5_01 = -1; /* SRS_Resources */ static int hf_nr_rrc_dummy3_01 = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_beamReportTiming = -1; /* T_beamReportTiming */ static int hf_nr_rrc_scs_15kHz_05 = -1; /* T_scs_15kHz_04 */ static int hf_nr_rrc_scs_30kHz_05 = -1; /* T_scs_30kHz_04 */ static int hf_nr_rrc_scs_60kHz_06 = -1; /* T_scs_60kHz_05 */ static int hf_nr_rrc_scs_120kHz_05 = -1; /* T_scs_120kHz_05 */ static int hf_nr_rrc_ptrs_DensityRecommendationSetDL = -1; /* T_ptrs_DensityRecommendationSetDL */ static int hf_nr_rrc_scs_15kHz_06 = -1; /* PTRS_DensityRecommendationDL */ static int hf_nr_rrc_scs_30kHz_06 = -1; /* PTRS_DensityRecommendationDL */ static int hf_nr_rrc_scs_60kHz_07 = -1; /* PTRS_DensityRecommendationDL */ static int hf_nr_rrc_scs_120kHz_06 = -1; /* PTRS_DensityRecommendationDL */ static int hf_nr_rrc_ptrs_DensityRecommendationSetUL = -1; /* T_ptrs_DensityRecommendationSetUL */ static int hf_nr_rrc_scs_15kHz_07 = -1; /* PTRS_DensityRecommendationUL */ static int hf_nr_rrc_scs_30kHz_07 = -1; /* PTRS_DensityRecommendationUL */ static int hf_nr_rrc_scs_60kHz_08 = -1; /* PTRS_DensityRecommendationUL */ static int hf_nr_rrc_scs_120kHz_07 = -1; /* PTRS_DensityRecommendationUL */ static int hf_nr_rrc_dummy4_01 = -1; /* DummyH */ static int hf_nr_rrc_aperiodicTRS = -1; /* T_aperiodicTRS */ static int hf_nr_rrc_dummy6_01 = -1; /* T_dummy6 */ static int hf_nr_rrc_beamManagementSSB_CSI_RS = -1; /* BeamManagementSSB_CSI_RS */ static int hf_nr_rrc_beamSwitchTiming = -1; /* T_beamSwitchTiming */ static int hf_nr_rrc_scs_60kHz_09 = -1; /* T_scs_60kHz_06 */ static int hf_nr_rrc_scs_120kHz_08 = -1; /* T_scs_120kHz_06 */ static int hf_nr_rrc_codebookParameters = -1; /* CodebookParameters */ static int hf_nr_rrc_csi_RS_IM_ReceptionForFeedback = -1; /* CSI_RS_IM_ReceptionForFeedback */ static int hf_nr_rrc_csi_RS_ProcFrameworkForSRS = -1; /* CSI_RS_ProcFrameworkForSRS */ static int hf_nr_rrc_csi_ReportFramework = -1; /* CSI_ReportFramework */ static int hf_nr_rrc_csi_RS_ForTracking = -1; /* CSI_RS_ForTracking */ static int hf_nr_rrc_srs_AssocCSI_RS = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource */ static int hf_nr_rrc_srs_AssocCSI_RS_item = -1; /* SupportedCSI_RS_Resource */ static int hf_nr_rrc_spatialRelations = -1; /* SpatialRelations */ static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceOneTx */ static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceTwoTx */ static int hf_nr_rrc_supportedCSI_RS_Density = -1; /* T_supportedCSI_RS_Density */ static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx_01 = -1; /* T_maxNumberSSB_CSI_RS_ResourceOneTx_01 */ static int hf_nr_rrc_maxNumberCSI_RS_Resource = -1; /* T_maxNumberCSI_RS_Resource */ static int hf_nr_rrc_maxNumberCSI_RS_ResourceTwoTx = -1; /* T_maxNumberCSI_RS_ResourceTwoTx */ static int hf_nr_rrc_supportedCSI_RS_Density_01 = -1; /* T_supportedCSI_RS_Density_01 */ static int hf_nr_rrc_maxNumberAperiodicCSI_RS_Resource = -1; /* T_maxNumberAperiodicCSI_RS_Resource */ static int hf_nr_rrc_burstLength = -1; /* INTEGER_1_2 */ static int hf_nr_rrc_maxSimultaneousResourceSetsPerCC = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_maxConfiguredResourceSetsPerCC = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_maxConfiguredResourceSetsAllCC = -1; /* INTEGER_1_128 */ static int hf_nr_rrc_maxBurstLength = -1; /* INTEGER_1_2 */ static int hf_nr_rrc_maxConfiguredResourceSetsAllCC_01 = -1; /* INTEGER_1_256 */ static int hf_nr_rrc_maxConfigNumberNZP_CSI_RS_PerCC = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC = -1; /* INTEGER_2_256 */ static int hf_nr_rrc_maxConfigNumberCSI_IM_PerCC = -1; /* T_maxConfigNumberCSI_IM_PerCC */ static int hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_PerCC = -1; /* INTEGER_1_64 */ static int hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_PerCC = -1; /* INTEGER_2_256 */ static int hf_nr_rrc_maxNumberPeriodicSRS_AssocCSI_RS_PerBWP = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberAperiodicSRS_AssocCSI_RS_PerBWP = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberSP_SRS_AssocCSI_RS_PerBWP = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_simultaneousSRS_AssocCSI_RS_PerCC = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForCSI_Report = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_Report = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForBeamReport = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForBeamReport = -1; /* INTEGER_1_4 */ static int hf_nr_rrc_maxNumberAperiodicCSI_triggeringStatePerCC = -1; /* T_maxNumberAperiodicCSI_triggeringStatePerCC */ static int hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForBeamReport = -1; /* INTEGER_0_4 */ static int hf_nr_rrc_simultaneousCSI_ReportsPerCC = -1; /* INTEGER_1_8 */ static int hf_nr_rrc_frequencyDensity1 = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_frequencyDensity2 = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_timeDensity1 = -1; /* INTEGER_0_29 */ static int hf_nr_rrc_timeDensity2 = -1; /* INTEGER_0_29 */ static int hf_nr_rrc_timeDensity3 = -1; /* INTEGER_0_29 */ static int hf_nr_rrc_sampleDensity1 = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_sampleDensity2 = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_sampleDensity3 = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_sampleDensity4 = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_sampleDensity5 = -1; /* INTEGER_1_276 */ static int hf_nr_rrc_maxNumberConfiguredSpatialRelations = -1; /* T_maxNumberConfiguredSpatialRelations */ static int hf_nr_rrc_maxNumberActiveSpatialRelations = -1; /* T_maxNumberActiveSpatialRelations */ static int hf_nr_rrc_additionalActiveSpatialRelationPUCCH = -1; /* T_additionalActiveSpatialRelationPUCCH */ static int hf_nr_rrc_maxNumberDL_RS_QCL_TypeD = -1; /* T_maxNumberDL_RS_QCL_TypeD */ static int hf_nr_rrc_supportedSRS_TxPortSwitch_01 = -1; /* T_supportedSRS_TxPortSwitch_01 */ static int hf_nr_rrc_txSwitchImpactToRx_01 = -1; /* T_txSwitchImpactToRx */ static int hf_nr_rrc_singleUL_Transmission = -1; /* T_singleUL_Transmission */ static int hf_nr_rrc_dynamicPowerSharingENDC = -1; /* T_dynamicPowerSharingENDC */ static int hf_nr_rrc_tdm_Pattern = -1; /* T_tdm_Pattern */ static int hf_nr_rrc_ul_SharingEUTRA_NR = -1; /* T_ul_SharingEUTRA_NR */ static int hf_nr_rrc_ul_SwitchingTimeEUTRA_NR = -1; /* T_ul_SwitchingTimeEUTRA_NR */ static int hf_nr_rrc_simultaneousRxTxInterBandENDC = -1; /* T_simultaneousRxTxInterBandENDC */ static int hf_nr_rrc_asyncIntraBandENDC = -1; /* T_asyncIntraBandENDC */ static int hf_nr_rrc_dualPA_Architecture_01 = -1; /* T_dualPA_Architecture_01 */ static int hf_nr_rrc_intraBandENDC_Support = -1; /* T_intraBandENDC_Support */ static int hf_nr_rrc_ul_TimingAlignmentEUTRA_NR = -1; /* T_ul_TimingAlignmentEUTRA_NR */ static int hf_nr_rrc_dynamicPowerSharingNEDC = -1; /* T_dynamicPowerSharingNEDC */ static int hf_nr_rrc_measAndMobParametersNRDC = -1; /* MeasAndMobParametersMRDC */ static int hf_nr_rrc_generalParametersNRDC = -1; /* GeneralParametersMRDC_XDD_Diff */ static int hf_nr_rrc_fdd_Add_UE_NRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */ static int hf_nr_rrc_tdd_Add_UE_NRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */ static int hf_nr_rrc_fr1_Add_UE_NRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */ static int hf_nr_rrc_fr2_Add_UE_NRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */ static int hf_nr_rrc_dummy_09 = -1; /* T_dummy_06 */ static int hf_nr_rrc_sfn_SyncNRDC = -1; /* T_sfn_SyncNRDC */ static int hf_nr_rrc_supportedROHC_Profiles = -1; /* T_supportedROHC_Profiles */ static int hf_nr_rrc_profile0x0000 = -1; /* BOOLEAN */ static int hf_nr_rrc_maxNumberROHC_ContextSessions = -1; /* T_maxNumberROHC_ContextSessions */ static int hf_nr_rrc_uplinkOnlyROHC_Profiles = -1; /* T_uplinkOnlyROHC_Profiles */ static int hf_nr_rrc_continueROHC_Context = -1; /* T_continueROHC_Context */ static int hf_nr_rrc_outOfOrderDelivery_01 = -1; /* T_outOfOrderDelivery_01 */ static int hf_nr_rrc_shortSN = -1; /* T_shortSN */ static int hf_nr_rrc_pdcp_DuplicationSRB = -1; /* T_pdcp_DuplicationSRB */ static int hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB = -1; /* T_pdcp_DuplicationMCG_OrSCG_DRB */ static int hf_nr_rrc_pdcp_DuplicationSplitSRB = -1; /* T_pdcp_DuplicationSplitSRB */ static int hf_nr_rrc_pdcp_DuplicationSplitDRB = -1; /* T_pdcp_DuplicationSplitDRB */ static int hf_nr_rrc_phy_ParametersCommon = -1; /* Phy_ParametersCommon */ static int hf_nr_rrc_phy_ParametersXDD_Diff = -1; /* Phy_ParametersXDD_Diff */ static int hf_nr_rrc_phy_ParametersFRX_Diff = -1; /* Phy_ParametersFRX_Diff */ static int hf_nr_rrc_phy_ParametersFR1 = -1; /* Phy_ParametersFR1 */ static int hf_nr_rrc_phy_ParametersFR2 = -1; /* Phy_ParametersFR2 */ static int hf_nr_rrc_csi_RS_CFRA_ForHO = -1; /* T_csi_RS_CFRA_ForHO */ static int hf_nr_rrc_dynamicPRB_BundlingDL = -1; /* T_dynamicPRB_BundlingDL */ static int hf_nr_rrc_sp_CSI_ReportPUCCH = -1; /* T_sp_CSI_ReportPUCCH */ static int hf_nr_rrc_sp_CSI_ReportPUSCH = -1; /* T_sp_CSI_ReportPUSCH */ static int hf_nr_rrc_nzp_CSI_RS_IntefMgmt = -1; /* T_nzp_CSI_RS_IntefMgmt */ static int hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH = -1; /* T_type2_SP_CSI_Feedback_LongPUCCH */ static int hf_nr_rrc_precoderGranularityCORESET = -1; /* T_precoderGranularityCORESET */ static int hf_nr_rrc_dynamicHARQ_ACK_Codebook = -1; /* T_dynamicHARQ_ACK_Codebook */ static int hf_nr_rrc_semiStaticHARQ_ACK_Codebook = -1; /* T_semiStaticHARQ_ACK_Codebook */ static int hf_nr_rrc_spatialBundlingHARQ_ACK = -1; /* T_spatialBundlingHARQ_ACK */ static int hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI = -1; /* T_dynamicBetaOffsetInd_HARQ_ACK_CSI */ static int hf_nr_rrc_pucch_Repetition_F1_3_4 = -1; /* T_pucch_Repetition_F1_3_4 */ static int hf_nr_rrc_ra_Type0_PUSCH = -1; /* T_ra_Type0_PUSCH */ static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH = -1; /* T_dynamicSwitchRA_Type0_1_PDSCH */ static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH = -1; /* T_dynamicSwitchRA_Type0_1_PUSCH */ static int hf_nr_rrc_pdsch_MappingTypeA = -1; /* T_pdsch_MappingTypeA */ static int hf_nr_rrc_pdsch_MappingTypeB = -1; /* T_pdsch_MappingTypeB */ static int hf_nr_rrc_interleavingVRB_ToPRB_PDSCH = -1; /* T_interleavingVRB_ToPRB_PDSCH */ static int hf_nr_rrc_interSlotFreqHopping_PUSCH = -1; /* T_interSlotFreqHopping_PUSCH */ static int hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots = -1; /* T_type1_PUSCH_RepetitionMultiSlots */ static int hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots = -1; /* T_type2_PUSCH_RepetitionMultiSlots */ static int hf_nr_rrc_pusch_RepetitionMultiSlots = -1; /* T_pusch_RepetitionMultiSlots */ static int hf_nr_rrc_pdsch_RepetitionMultiSlots = -1; /* T_pdsch_RepetitionMultiSlots */ static int hf_nr_rrc_downlinkSPS = -1; /* T_downlinkSPS */ static int hf_nr_rrc_configuredUL_GrantType1 = -1; /* T_configuredUL_GrantType1 */ static int hf_nr_rrc_configuredUL_GrantType2 = -1; /* T_configuredUL_GrantType2 */ static int hf_nr_rrc_pre_EmptIndication_DL = -1; /* T_pre_EmptIndication_DL */ static int hf_nr_rrc_cbg_TransIndication_DL = -1; /* T_cbg_TransIndication_DL */ static int hf_nr_rrc_cbg_TransIndication_UL = -1; /* T_cbg_TransIndication_UL */ static int hf_nr_rrc_cbg_FlushIndication_DL = -1; /* T_cbg_FlushIndication_DL */ static int hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL = -1; /* T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL */ static int hf_nr_rrc_rateMatchingResrcSetSemi_Static = -1; /* T_rateMatchingResrcSetSemi_Static */ static int hf_nr_rrc_rateMatchingResrcSetDynamic = -1; /* T_rateMatchingResrcSetDynamic */ static int hf_nr_rrc_bwp_SwitchingDelay = -1; /* T_bwp_SwitchingDelay */ static int hf_nr_rrc_dummy_10 = -1; /* T_dummy_07 */ static int hf_nr_rrc_maxNumberSearchSpaces = -1; /* T_maxNumberSearchSpaces */ static int hf_nr_rrc_rateMatchingCtrlResrcSetDynamic = -1; /* T_rateMatchingCtrlResrcSetDynamic */ static int hf_nr_rrc_maxLayersMIMO_Indication = -1; /* T_maxLayersMIMO_Indication */ static int hf_nr_rrc_dynamicSFI = -1; /* T_dynamicSFI */ static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols = -1; /* T_twoPUCCH_F0_2_ConsecSymbols */ static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH = -1; /* T_twoDifferentTPC_Loop_PUSCH */ static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH = -1; /* T_twoDifferentTPC_Loop_PUCCH */ static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA = -1; /* T_dl_SchedulingOffset_PDSCH_TypeA */ static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB = -1; /* T_dl_SchedulingOffset_PDSCH_TypeB */ static int hf_nr_rrc_ul_SchedulingOffset = -1; /* T_ul_SchedulingOffset */ static int hf_nr_rrc_dynamicSFI_01 = -1; /* T_dynamicSFI_01 */ static int hf_nr_rrc_dummy1_04 = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_twoFL_DMRS = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_dummy2_04 = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_dummy3_02 = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_supportedDMRS_TypeDL = -1; /* T_supportedDMRS_TypeDL */ static int hf_nr_rrc_supportedDMRS_TypeUL = -1; /* T_supportedDMRS_TypeUL */ static int hf_nr_rrc_semiOpenLoopCSI = -1; /* T_semiOpenLoopCSI */ static int hf_nr_rrc_csi_ReportWithoutPMI = -1; /* T_csi_ReportWithoutPMI */ static int hf_nr_rrc_csi_ReportWithoutCQI = -1; /* T_csi_ReportWithoutCQI */ static int hf_nr_rrc_onePortsPTRS = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01 = -1; /* T_twoPUCCH_F0_2_ConsecSymbols_01 */ static int hf_nr_rrc_pucch_F2_WithFH = -1; /* T_pucch_F2_WithFH */ static int hf_nr_rrc_pucch_F3_WithFH = -1; /* T_pucch_F3_WithFH */ static int hf_nr_rrc_pucch_F4_WithFH = -1; /* T_pucch_F4_WithFH */ static int hf_nr_rrc_pucch_F0_2WithoutFH = -1; /* T_pucch_F0_2WithoutFH */ static int hf_nr_rrc_pucch_F1_3_4WithoutFH = -1; /* T_pucch_F1_3_4WithoutFH */ static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot = -1; /* T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot */ static int hf_nr_rrc_uci_CodeBlockSegmentation = -1; /* T_uci_CodeBlockSegmentation */ static int hf_nr_rrc_onePUCCH_LongAndShortFormat = -1; /* T_onePUCCH_LongAndShortFormat */ static int hf_nr_rrc_twoPUCCH_AnyOthersInSlot = -1; /* T_twoPUCCH_AnyOthersInSlot */ static int hf_nr_rrc_intraSlotFreqHopping_PUSCH = -1; /* T_intraSlotFreqHopping_PUSCH */ static int hf_nr_rrc_pusch_LBRM = -1; /* T_pusch_LBRM */ static int hf_nr_rrc_pdcch_BlindDetectionCA = -1; /* INTEGER_4_16 */ static int hf_nr_rrc_tpc_PUSCH_RNTI_01 = -1; /* T_tpc_PUSCH_RNTI */ static int hf_nr_rrc_tpc_PUCCH_RNTI_01 = -1; /* T_tpc_PUCCH_RNTI */ static int hf_nr_rrc_tpc_SRS_RNTI_01 = -1; /* T_tpc_SRS_RNTI */ static int hf_nr_rrc_absoluteTPC_Command = -1; /* T_absoluteTPC_Command */ static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01 = -1; /* T_twoDifferentTPC_Loop_PUSCH_01 */ static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01 = -1; /* T_twoDifferentTPC_Loop_PUCCH_01 */ static int hf_nr_rrc_pusch_HalfPi_BPSK = -1; /* T_pusch_HalfPi_BPSK */ static int hf_nr_rrc_pucch_F3_4_HalfPi_BPSK = -1; /* T_pucch_F3_4_HalfPi_BPSK */ static int hf_nr_rrc_almostContiguousCP_OFDM_UL = -1; /* T_almostContiguousCP_OFDM_UL */ static int hf_nr_rrc_sp_CSI_RS = -1; /* T_sp_CSI_RS */ static int hf_nr_rrc_sp_CSI_IM = -1; /* T_sp_CSI_IM */ static int hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot = -1; /* T_tdd_MultiDL_UL_SwitchPerSlot */ static int hf_nr_rrc_multipleCORESET = -1; /* T_multipleCORESET */ static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot = -1; /* T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot */ static int hf_nr_rrc_sameSymbol = -1; /* T_sameSymbol */ static int hf_nr_rrc_diffSymbol = -1; /* T_diffSymbol */ static int hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH = -1; /* T_mux_SR_HARQ_ACK_PUCCH */ static int hf_nr_rrc_mux_MultipleGroupCtrlCH_Overlap = -1; /* T_mux_MultipleGroupCtrlCH_Overlap */ static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_01 = -1; /* T_dl_SchedulingOffset_PDSCH_TypeA_01 */ static int hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_01 = -1; /* T_dl_SchedulingOffset_PDSCH_TypeB_01 */ static int hf_nr_rrc_ul_SchedulingOffset_01 = -1; /* T_ul_SchedulingOffset_01 */ static int hf_nr_rrc_dl_64QAM_MCS_TableAlt = -1; /* T_dl_64QAM_MCS_TableAlt */ static int hf_nr_rrc_ul_64QAM_MCS_TableAlt = -1; /* T_ul_64QAM_MCS_TableAlt */ static int hf_nr_rrc_cqi_TableAlt = -1; /* T_cqi_TableAlt */ static int hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_UL = -1; /* T_oneFL_DMRS_TwoAdditionalDMRS_UL */ static int hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_UL = -1; /* T_twoFL_DMRS_TwoAdditionalDMRS_UL */ static int hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_UL = -1; /* T_oneFL_DMRS_ThreeAdditionalDMRS_UL */ static int hf_nr_rrc_pdcch_BlindDetectionNRDC = -1; /* T_pdcch_BlindDetectionNRDC */ static int hf_nr_rrc_pdcch_BlindDetectionMCG_UE = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_pdcch_BlindDetectionSCG_UE = -1; /* INTEGER_1_15 */ static int hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol = -1; /* T_mux_HARQ_ACK_PUSCH_DiffSymbol */ static int hf_nr_rrc_pdcch_MonitoringSingleOccasion = -1; /* T_pdcch_MonitoringSingleOccasion */ static int hf_nr_rrc_scs_60kHz_10 = -1; /* T_scs_60kHz_07 */ static int hf_nr_rrc_pdsch_256QAM_FR1 = -1; /* T_pdsch_256QAM_FR1 */ static int hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol = -1; /* T_pdsch_RE_MappingFR1_PerSymbol */ static int hf_nr_rrc_pdsch_RE_MappingFR1_PerSlot = -1; /* T_pdsch_RE_MappingFR1_PerSlot */ static int hf_nr_rrc_dummy_11 = -1; /* T_dummy_08 */ static int hf_nr_rrc_pdsch_RE_MappingFR2_PerSymbol = -1; /* T_pdsch_RE_MappingFR2_PerSymbol */ static int hf_nr_rrc_pCell_FR2 = -1; /* T_pCell_FR2 */ static int hf_nr_rrc_pdsch_RE_MappingFR2_PerSlot = -1; /* T_pdsch_RE_MappingFR2_PerSlot */ static int hf_nr_rrc_naics_Capability_List = -1; /* SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry */ static int hf_nr_rrc_naics_Capability_List_item = -1; /* NAICS_Capability_Entry */ static int hf_nr_rrc_numberOfNAICS_CapableCC = -1; /* INTEGER_1_5 */ static int hf_nr_rrc_numberOfAggregatedPRB = -1; /* T_numberOfAggregatedPRB */ static int hf_nr_rrc_fallback = -1; /* T_fallback */ static int hf_nr_rrc_differentTB_PerSlot = -1; /* T_differentTB_PerSlot */ static int hf_nr_rrc_upto1 = -1; /* NumberOfCarriers */ static int hf_nr_rrc_upto2 = -1; /* NumberOfCarriers */ static int hf_nr_rrc_upto4 = -1; /* NumberOfCarriers */ static int hf_nr_rrc_upto7 = -1; /* NumberOfCarriers */ static int hf_nr_rrc_supportedBandListNR = -1; /* SEQUENCE_SIZE_1_maxBands_OF_BandNR */ static int hf_nr_rrc_supportedBandListNR_item = -1; /* BandNR */ static int hf_nr_rrc_supportedBandCombinationList = -1; /* BandCombinationList */ static int hf_nr_rrc_appliedFreqBandListFilter = -1; /* FreqBandList */ static int hf_nr_rrc_supportedBandCombinationList_v1540 = -1; /* BandCombinationList_v1540 */ static int hf_nr_rrc_srs_SwitchingTimeRequested = -1; /* T_srs_SwitchingTimeRequested */ static int hf_nr_rrc_supportedBandCombinationList_v1550 = -1; /* BandCombinationList_v1550 */ static int hf_nr_rrc_supportedBandCombinationList_v1560 = -1; /* BandCombinationList_v1560 */ static int hf_nr_rrc_modifiedMPR_Behaviour = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_mimo_ParametersPerBand = -1; /* MIMO_ParametersPerBand */ static int hf_nr_rrc_extendedCP = -1; /* T_extendedCP */ static int hf_nr_rrc_multipleTCI = -1; /* T_multipleTCI */ static int hf_nr_rrc_bwp_WithoutRestriction = -1; /* T_bwp_WithoutRestriction */ static int hf_nr_rrc_bwp_SameNumerology = -1; /* T_bwp_SameNumerology */ static int hf_nr_rrc_bwp_DiffNumerology = -1; /* T_bwp_DiffNumerology */ static int hf_nr_rrc_crossCarrierScheduling_SameSCS = -1; /* T_crossCarrierScheduling_SameSCS */ static int hf_nr_rrc_pdsch_256QAM_FR2 = -1; /* T_pdsch_256QAM_FR2 */ static int hf_nr_rrc_pusch_256QAM = -1; /* T_pusch_256QAM */ static int hf_nr_rrc_ue_PowerClass = -1; /* T_ue_PowerClass */ static int hf_nr_rrc_rateMatchingLTE_CRS = -1; /* T_rateMatchingLTE_CRS */ static int hf_nr_rrc_channelBWs_DL = -1; /* T_channelBWs_DL */ static int hf_nr_rrc_fr1 = -1; /* T_fr1 */ static int hf_nr_rrc_scs_15kHz_08 = -1; /* BIT_STRING_SIZE_10 */ static int hf_nr_rrc_scs_30kHz_08 = -1; /* BIT_STRING_SIZE_10 */ static int hf_nr_rrc_scs_60kHz_11 = -1; /* BIT_STRING_SIZE_10 */ static int hf_nr_rrc_fr2 = -1; /* T_fr2 */ static int hf_nr_rrc_scs_60kHz_12 = -1; /* BIT_STRING_SIZE_3 */ static int hf_nr_rrc_scs_120kHz_09 = -1; /* BIT_STRING_SIZE_3 */ static int hf_nr_rrc_channelBWs_UL = -1; /* T_channelBWs_UL */ static int hf_nr_rrc_fr1_01 = -1; /* T_fr1_01 */ static int hf_nr_rrc_fr2_01 = -1; /* T_fr2_01 */ static int hf_nr_rrc_maxUplinkDutyCycle_PC2_FR1 = -1; /* T_maxUplinkDutyCycle_PC2_FR1 */ static int hf_nr_rrc_pucch_SpatialRelInfoMAC_CE = -1; /* T_pucch_SpatialRelInfoMAC_CE */ static int hf_nr_rrc_powerBoosting_pi2BPSK = -1; /* T_powerBoosting_pi2BPSK */ static int hf_nr_rrc_maxUplinkDutyCycle_FR2 = -1; /* T_maxUplinkDutyCycle_FR2 */ static int hf_nr_rrc_srs_SwitchingTimeRequested_01 = -1; /* T_srs_SwitchingTimeRequested_01 */ static int hf_nr_rrc_supportedBandCombinationListNEDC_Only = -1; /* BandCombinationList */ static int hf_nr_rrc_supportedBandCombinationList_v1570 = -1; /* BandCombinationList_v1570 */ static int hf_nr_rrc_supportedBandCombinationList_v1580 = -1; /* BandCombinationList_v1580 */ static int hf_nr_rrc_am_WithShortSN = -1; /* T_am_WithShortSN */ static int hf_nr_rrc_um_WithShortSN = -1; /* T_um_WithShortSN */ static int hf_nr_rrc_um_WithLongSN = -1; /* T_um_WithLongSN */ static int hf_nr_rrc_as_ReflectiveQoS = -1; /* T_as_ReflectiveQoS */ static int hf_nr_rrc_switchingTimeDL = -1; /* T_switchingTimeDL */ static int hf_nr_rrc_switchingTimeUL = -1; /* T_switchingTimeUL */ static int hf_nr_rrc_switchingTimeDL_01 = -1; /* T_switchingTimeDL_01 */ static int hf_nr_rrc_switchingTimeUL_01 = -1; /* T_switchingTimeUL_01 */ static int hf_nr_rrc_fr1_02 = -1; /* T_fr1_02 */ static int hf_nr_rrc_fr2_02 = -1; /* T_fr2_02 */ static int hf_nr_rrc_UE_CapabilityRAT_ContainerList_item = -1; /* UE_CapabilityRAT_Container */ static int hf_nr_rrc_rat_Type = -1; /* RAT_Type */ static int hf_nr_rrc_ue_CapabilityRAT_Container = -1; /* T_ue_CapabilityRAT_Container */ static int hf_nr_rrc_UE_CapabilityRAT_RequestList_item = -1; /* UE_CapabilityRAT_Request */ static int hf_nr_rrc_capabilityRequestFilter = -1; /* T_capabilityRequestFilter */ static int hf_nr_rrc_mrdc_Request = -1; /* T_mrdc_Request */ static int hf_nr_rrc_omitEN_DC = -1; /* T_omitEN_DC */ static int hf_nr_rrc_includeNR_DC = -1; /* T_includeNR_DC */ static int hf_nr_rrc_includeNE_DC = -1; /* T_includeNE_DC */ static int hf_nr_rrc_frequencyBandListFilter = -1; /* FreqBandList */ static int hf_nr_rrc_nonCriticalExtension_51 = -1; /* UE_CapabilityRequestFilterNR_v1540 */ static int hf_nr_rrc_srs_SwitchingTimeRequest = -1; /* T_srs_SwitchingTimeRequest */ static int hf_nr_rrc_nonCriticalExtension_52 = -1; /* T_nonCriticalExtension_37 */ static int hf_nr_rrc_measAndMobParametersMRDC = -1; /* MeasAndMobParametersMRDC */ static int hf_nr_rrc_phy_ParametersMRDC_v1530 = -1; /* Phy_ParametersMRDC */ static int hf_nr_rrc_rf_ParametersMRDC = -1; /* RF_ParametersMRDC */ static int hf_nr_rrc_generalParametersMRDC = -1; /* GeneralParametersMRDC_XDD_Diff */ static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */ static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */ static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */ static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */ static int hf_nr_rrc_featureSetCombinations = -1; /* SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination */ static int hf_nr_rrc_featureSetCombinations_item = -1; /* FeatureSetCombination */ static int hf_nr_rrc_pdcp_ParametersMRDC_v1530 = -1; /* PDCP_ParametersMRDC */ static int hf_nr_rrc_nonCriticalExtension_53 = -1; /* UE_MRDC_Capability_v1560 */ static int hf_nr_rrc_receivedFilters = -1; /* T_receivedFilters */ static int hf_nr_rrc_measAndMobParametersMRDC_v1560 = -1; /* MeasAndMobParametersMRDC_v1560 */ static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560 = -1; /* UE_MRDC_CapabilityAddXDD_Mode_v1560 */ static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560 = -1; /* UE_MRDC_CapabilityAddXDD_Mode_v1560 */ static int hf_nr_rrc_nonCriticalExtension_54 = -1; /* T_nonCriticalExtension_38 */ static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1; /* GeneralParametersMRDC_XDD_Diff */ static int hf_nr_rrc_splitSRB_WithOneUL_Path = -1; /* T_splitSRB_WithOneUL_Path */ static int hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG = -1; /* T_splitDRB_withUL_Both_MCG_SCG */ static int hf_nr_rrc_srb3 = -1; /* T_srb3 */ static int hf_nr_rrc_v2x_EUTRA = -1; /* T_v2x_EUTRA */ static int hf_nr_rrc_accessStratumRelease = -1; /* AccessStratumRelease */ static int hf_nr_rrc_pdcp_Parameters = -1; /* PDCP_Parameters */ static int hf_nr_rrc_rlc_Parameters = -1; /* RLC_Parameters */ static int hf_nr_rrc_mac_Parameters = -1; /* MAC_Parameters */ static int hf_nr_rrc_phy_Parameters = -1; /* Phy_Parameters */ static int hf_nr_rrc_rf_Parameters = -1; /* RF_Parameters */ static int hf_nr_rrc_measAndMobParameters = -1; /* MeasAndMobParameters */ static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */ static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */ static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */ static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */ static int hf_nr_rrc_featureSets = -1; /* FeatureSets */ static int hf_nr_rrc_nonCriticalExtension_55 = -1; /* UE_NR_Capability_v1530 */ static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities_v1530 = -1; /* UE_NR_CapabilityAddXDD_Mode_v1530 */ static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities_v1530 = -1; /* UE_NR_CapabilityAddXDD_Mode_v1530 */ static int hf_nr_rrc_dummy_12 = -1; /* T_dummy_09 */ static int hf_nr_rrc_interRAT_Parameters = -1; /* InterRAT_Parameters */ static int hf_nr_rrc_inactiveState = -1; /* T_inactiveState */ static int hf_nr_rrc_delayBudgetReporting = -1; /* T_delayBudgetReporting */ static int hf_nr_rrc_nonCriticalExtension_56 = -1; /* UE_NR_Capability_v1540 */ static int hf_nr_rrc_sdap_Parameters = -1; /* SDAP_Parameters */ static int hf_nr_rrc_overheatingInd = -1; /* T_overheatingInd */ static int hf_nr_rrc_ims_Parameters = -1; /* IMS_Parameters */ static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540 = -1; /* UE_NR_CapabilityAddFRX_Mode_v1540 */ static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540 = -1; /* UE_NR_CapabilityAddFRX_Mode_v1540 */ static int hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */ static int hf_nr_rrc_nonCriticalExtension_57 = -1; /* UE_NR_Capability_v1550 */ static int hf_nr_rrc_reducedCP_Latency = -1; /* T_reducedCP_Latency */ static int hf_nr_rrc_nonCriticalExtension_58 = -1; /* UE_NR_Capability_v1560 */ static int hf_nr_rrc_nrdc_Parameters = -1; /* NRDC_Parameters */ static int hf_nr_rrc_receivedFilters_01 = -1; /* T_receivedFilters_01 */ static int hf_nr_rrc_nonCriticalExtension_59 = -1; /* UE_NR_Capability_v1570 */ static int hf_nr_rrc_nrdc_Parameters_v1570 = -1; /* NRDC_Parameters_v1570 */ static int hf_nr_rrc_nonCriticalExtension_60 = -1; /* T_nonCriticalExtension_39 */ static int hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item = -1; /* EUTRA_MBSFN_SubframeConfig */ static int hf_nr_rrc_radioframeAllocationPeriod = -1; /* T_radioframeAllocationPeriod */ static int hf_nr_rrc_radioframeAllocationOffset = -1; /* INTEGER_0_7 */ static int hf_nr_rrc_subframeAllocation1 = -1; /* T_subframeAllocation1 */ static int hf_nr_rrc_oneFrame = -1; /* BIT_STRING_SIZE_6 */ static int hf_nr_rrc_fourFrames = -1; /* BIT_STRING_SIZE_24 */ static int hf_nr_rrc_subframeAllocation2 = -1; /* T_subframeAllocation2 */ static int hf_nr_rrc_oneFrame_01 = -1; /* BIT_STRING_SIZE_2 */ static int hf_nr_rrc_fourFrames_01 = -1; /* BIT_STRING_SIZE_8 */ static int hf_nr_rrc_EUTRA_MultiBandInfoList_item = -1; /* EUTRA_MultiBandInfo */ static int hf_nr_rrc_eutra_FreqBandIndicator = -1; /* FreqBandIndicatorEUTRA */ static int hf_nr_rrc_eutra_NS_PmaxList = -1; /* EUTRA_NS_PmaxList */ static int hf_nr_rrc_EUTRA_NS_PmaxList_item = -1; /* EUTRA_NS_PmaxValue */ static int hf_nr_rrc_additionalPmax_01 = -1; /* INTEGER_M30_33 */ static int hf_nr_rrc_additionalSpectrumEmission_01 = -1; /* INTEGER_1_288 */ static int hf_nr_rrc_start_01 = -1; /* EUTRA_PhysCellId */ static int hf_nr_rrc_range_01 = -1; /* T_range_01 */ static int hf_nr_rrc_delayBudgetReportingConfig = -1; /* T_delayBudgetReportingConfig */ static int hf_nr_rrc_setup_51 = -1; /* T_setup */ static int hf_nr_rrc_delayBudgetReportingProhibitTimer = -1; /* T_delayBudgetReportingProhibitTimer */ static int hf_nr_rrc_overheatingAssistanceConfig = -1; /* T_overheatingAssistanceConfig */ static int hf_nr_rrc_setup_52 = -1; /* OverheatingAssistanceConfig */ static int hf_nr_rrc_overheatingIndicationProhibitTimer = -1; /* T_overheatingIndicationProhibitTimer */ static int dummy_hf_nr_rrc_eag_field = -1; /* never registered */ /*--- End of included file: packet-nr-rrc-hf.c ---*/ #line 62 "./asn1/nr-rrc/packet-nr-rrc-template.c" static int hf_nr_rrc_serialNumber_gs = -1; static int hf_nr_rrc_serialNumber_msg_code = -1; static int hf_nr_rrc_serialNumber_upd_nb = -1; static int hf_nr_rrc_warningType_value = -1; static int hf_nr_rrc_warningType_emergency_user_alert = -1; static int hf_nr_rrc_warningType_popup = -1; static int hf_nr_rrc_warningMessageSegment_nb_pages = -1; static int hf_nr_rrc_warningMessageSegment_decoded_page = -1; static int hf_nr_rrc_sib7_fragments = -1; static int hf_nr_rrc_sib7_fragment = -1; static int hf_nr_rrc_sib7_fragment_overlap = -1; static int hf_nr_rrc_sib7_fragment_overlap_conflict = -1; static int hf_nr_rrc_sib7_fragment_multiple_tails = -1; static int hf_nr_rrc_sib7_fragment_too_long_fragment = -1; static int hf_nr_rrc_sib7_fragment_error = -1; static int hf_nr_rrc_sib7_fragment_count = -1; static int hf_nr_rrc_sib7_reassembled_in = -1; static int hf_nr_rrc_sib7_reassembled_length = -1; static int hf_nr_rrc_sib7_reassembled_data = -1; static int hf_nr_rrc_sib8_fragments = -1; static int hf_nr_rrc_sib8_fragment = -1; static int hf_nr_rrc_sib8_fragment_overlap = -1; static int hf_nr_rrc_sib8_fragment_overlap_conflict = -1; static int hf_nr_rrc_sib8_fragment_multiple_tails = -1; static int hf_nr_rrc_sib8_fragment_too_long_fragment = -1; static int hf_nr_rrc_sib8_fragment_error = -1; static int hf_nr_rrc_sib8_fragment_count = -1; static int hf_nr_rrc_sib8_reassembled_in = -1; static int hf_nr_rrc_sib8_reassembled_length = -1; static int hf_nr_rrc_sib8_reassembled_data = -1; static int hf_nr_rrc_utc_time = -1; static int hf_nr_rrc_local_time = -1; /* Initialize the subtree pointers */ static gint ett_nr_rrc = -1; /*--- Included file: packet-nr-rrc-ett.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-ett.c" static gint ett_nr_rrc_HandoverCommand = -1; static gint ett_nr_rrc_T_criticalExtensions = -1; static gint ett_nr_rrc_T_c1 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture = -1; static gint ett_nr_rrc_HandoverCommand_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension = -1; static gint ett_nr_rrc_HandoverPreparationInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_01 = -1; static gint ett_nr_rrc_T_c1_01 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_01 = -1; static gint ett_nr_rrc_HandoverPreparationInformation_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1; static gint ett_nr_rrc_AS_Config = -1; static gint ett_nr_rrc_AS_Context = -1; static gint ett_nr_rrc_ReestablishmentInfo = -1; static gint ett_nr_rrc_ReestabNCellInfoList = -1; static gint ett_nr_rrc_ReestabNCellInfo = -1; static gint ett_nr_rrc_RRM_Config = -1; static gint ett_nr_rrc_CG_Config = -1; static gint ett_nr_rrc_T_criticalExtensions_02 = -1; static gint ett_nr_rrc_T_c1_02 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_02 = -1; static gint ett_nr_rrc_CG_Config_IEs = -1; static gint ett_nr_rrc_CG_Config_v1540_IEs = -1; static gint ett_nr_rrc_T_reportCGI_RequestNR = -1; static gint ett_nr_rrc_T_requestedCellInfo = -1; static gint ett_nr_rrc_CG_Config_v1560_IEs = -1; static gint ett_nr_rrc_T_reportCGI_RequestEUTRA = -1; static gint ett_nr_rrc_T_requestedCellInfoEUTRA = -1; static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1; static gint ett_nr_rrc_PH_TypeListSCG = -1; static gint ett_nr_rrc_PH_InfoSCG = -1; static gint ett_nr_rrc_PH_UplinkCarrierSCG = -1; static gint ett_nr_rrc_MeasConfigSN = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo = -1; static gint ett_nr_rrc_NR_FreqInfo = -1; static gint ett_nr_rrc_ConfigRestrictModReqSCG = -1; static gint ett_nr_rrc_BandCombinationInfoSN = -1; static gint ett_nr_rrc_FR_InfoList = -1; static gint ett_nr_rrc_FR_Info = -1; static gint ett_nr_rrc_CandidateServingFreqListNR = -1; static gint ett_nr_rrc_CandidateServingFreqListEUTRA = -1; static gint ett_nr_rrc_CG_ConfigInfo = -1; static gint ett_nr_rrc_T_criticalExtensions_03 = -1; static gint ett_nr_rrc_T_c1_03 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_03 = -1; static gint ett_nr_rrc_CG_ConfigInfo_IEs = -1; static gint ett_nr_rrc_T_scgFailureInfo = -1; static gint ett_nr_rrc_CG_ConfigInfo_v1540_IEs = -1; static gint ett_nr_rrc_T_measResultReportCGI = -1; static gint ett_nr_rrc_CG_ConfigInfo_v1560_IEs = -1; static gint ett_nr_rrc_T_scgFailureInfoEUTRA = -1; static gint ett_nr_rrc_T_measResultReportCGI_EUTRA = -1; static gint ett_nr_rrc_CG_ConfigInfo_v1570_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1; static gint ett_nr_rrc_SFTD_FrequencyList_NR = -1; static gint ett_nr_rrc_SFTD_FrequencyList_EUTRA = -1; static gint ett_nr_rrc_ConfigRestrictInfoSCG = -1; static gint ett_nr_rrc_T_powerCoordination_FR1 = -1; static gint ett_nr_rrc_T_servCellIndexRangeSCG = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN = -1; static gint ett_nr_rrc_SelectedBandEntriesMN = -1; static gint ett_nr_rrc_PH_TypeListMCG = -1; static gint ett_nr_rrc_PH_InfoMCG = -1; static gint ett_nr_rrc_PH_UplinkCarrierMCG = -1; static gint ett_nr_rrc_BandCombinationInfoList = -1; static gint ett_nr_rrc_BandCombinationInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex = -1; static gint ett_nr_rrc_DRX_Info = -1; static gint ett_nr_rrc_T_drx_LongCycleStartOffset = -1; static gint ett_nr_rrc_T_shortDRX = -1; static gint ett_nr_rrc_MeasConfigMN = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo = -1; static gint ett_nr_rrc_T_measGapConfig = -1; static gint ett_nr_rrc_T_measGapConfigFR2 = -1; static gint ett_nr_rrc_MRDC_AssistanceInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC = -1; static gint ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC = -1; static gint ett_nr_rrc_T_affectedCarrierFreqCombMRDC = -1; static gint ett_nr_rrc_VictimSystemType = -1; static gint ett_nr_rrc_AffectedCarrierFreqCombEUTRA = -1; static gint ett_nr_rrc_AffectedCarrierFreqCombNR = -1; static gint ett_nr_rrc_MeasurementTimingConfiguration = -1; static gint ett_nr_rrc_T_criticalExtensions_04 = -1; static gint ett_nr_rrc_T_c1_04 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_04 = -1; static gint ett_nr_rrc_MeasurementTimingConfiguration_IEs = -1; static gint ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1; static gint ett_nr_rrc_MeasTimingList = -1; static gint ett_nr_rrc_MeasTiming = -1; static gint ett_nr_rrc_T_frequencyAndTiming = -1; static gint ett_nr_rrc_UERadioPagingInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_05 = -1; static gint ett_nr_rrc_T_c1_05 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_05 = -1; static gint ett_nr_rrc_UERadioPagingInformation_IEs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR = -1; static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1; static gint ett_nr_rrc_UERadioAccessCapabilityInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_06 = -1; static gint ett_nr_rrc_T_c1_06 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_06 = -1; static gint ett_nr_rrc_UERadioAccessCapabilityInformation_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1; static gint ett_nr_rrc_BCCH_BCH_Message = -1; static gint ett_nr_rrc_BCCH_BCH_MessageType = -1; static gint ett_nr_rrc_T_messageClassExtension = -1; static gint ett_nr_rrc_BCCH_DL_SCH_Message = -1; static gint ett_nr_rrc_BCCH_DL_SCH_MessageType = -1; static gint ett_nr_rrc_T_c1_07 = -1; static gint ett_nr_rrc_T_messageClassExtension_01 = -1; static gint ett_nr_rrc_DL_CCCH_Message = -1; static gint ett_nr_rrc_DL_CCCH_MessageType = -1; static gint ett_nr_rrc_T_c1_08 = -1; static gint ett_nr_rrc_T_messageClassExtension_02 = -1; static gint ett_nr_rrc_DL_DCCH_Message = -1; static gint ett_nr_rrc_DL_DCCH_MessageType = -1; static gint ett_nr_rrc_T_c1_09 = -1; static gint ett_nr_rrc_T_messageClassExtension_03 = -1; static gint ett_nr_rrc_PCCH_Message = -1; static gint ett_nr_rrc_PCCH_MessageType = -1; static gint ett_nr_rrc_T_c1_10 = -1; static gint ett_nr_rrc_T_messageClassExtension_04 = -1; static gint ett_nr_rrc_UL_CCCH_Message = -1; static gint ett_nr_rrc_UL_CCCH_MessageType = -1; static gint ett_nr_rrc_T_c1_11 = -1; static gint ett_nr_rrc_T_messageClassExtension_05 = -1; static gint ett_nr_rrc_UL_CCCH1_Message = -1; static gint ett_nr_rrc_UL_CCCH1_MessageType = -1; static gint ett_nr_rrc_T_c1_12 = -1; static gint ett_nr_rrc_T_messageClassExtension_06 = -1; static gint ett_nr_rrc_UL_DCCH_Message = -1; static gint ett_nr_rrc_UL_DCCH_MessageType = -1; static gint ett_nr_rrc_T_c1_13 = -1; static gint ett_nr_rrc_T_messageClassExtension_07 = -1; static gint ett_nr_rrc_CounterCheck = -1; static gint ett_nr_rrc_T_criticalExtensions_07 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_07 = -1; static gint ett_nr_rrc_CounterCheck_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1; static gint ett_nr_rrc_DRB_CountMSB_InfoList = -1; static gint ett_nr_rrc_DRB_CountMSB_Info = -1; static gint ett_nr_rrc_CounterCheckResponse = -1; static gint ett_nr_rrc_T_criticalExtensions_08 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_08 = -1; static gint ett_nr_rrc_CounterCheckResponse_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_08 = -1; static gint ett_nr_rrc_DRB_CountInfoList = -1; static gint ett_nr_rrc_DRB_CountInfo = -1; static gint ett_nr_rrc_DLInformationTransfer = -1; static gint ett_nr_rrc_T_criticalExtensions_09 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_09 = -1; static gint ett_nr_rrc_DLInformationTransfer_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_09 = -1; static gint ett_nr_rrc_FailureInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_10 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_10 = -1; static gint ett_nr_rrc_FailureInformation_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_10 = -1; static gint ett_nr_rrc_FailureInfoRLC_Bearer = -1; static gint ett_nr_rrc_LocationMeasurementIndication = -1; static gint ett_nr_rrc_T_criticalExtensions_11 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_11 = -1; static gint ett_nr_rrc_LocationMeasurementIndication_IEs = -1; static gint ett_nr_rrc_T_measurementIndication = -1; static gint ett_nr_rrc_T_nonCriticalExtension_11 = -1; static gint ett_nr_rrc_MeasurementReport = -1; static gint ett_nr_rrc_T_criticalExtensions_12 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_12 = -1; static gint ett_nr_rrc_MeasurementReport_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_12 = -1; static gint ett_nr_rrc_MIB = -1; static gint ett_nr_rrc_MobilityFromNRCommand = -1; static gint ett_nr_rrc_T_criticalExtensions_13 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_13 = -1; static gint ett_nr_rrc_MobilityFromNRCommand_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_13 = -1; static gint ett_nr_rrc_Paging = -1; static gint ett_nr_rrc_T_nonCriticalExtension_14 = -1; static gint ett_nr_rrc_PagingRecordList = -1; static gint ett_nr_rrc_PagingRecord = -1; static gint ett_nr_rrc_PagingUE_Identity = -1; static gint ett_nr_rrc_RRCReestablishment = -1; static gint ett_nr_rrc_T_criticalExtensions_14 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_14 = -1; static gint ett_nr_rrc_RRCReestablishment_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_15 = -1; static gint ett_nr_rrc_RRCReestablishmentComplete = -1; static gint ett_nr_rrc_T_criticalExtensions_15 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_15 = -1; static gint ett_nr_rrc_RRCReestablishmentComplete_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_16 = -1; static gint ett_nr_rrc_RRCReestablishmentRequest = -1; static gint ett_nr_rrc_RRCReestablishmentRequest_IEs = -1; static gint ett_nr_rrc_ReestabUE_Identity = -1; static gint ett_nr_rrc_RRCReconfiguration = -1; static gint ett_nr_rrc_T_criticalExtensions_16 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_16 = -1; static gint ett_nr_rrc_RRCReconfiguration_IEs = -1; static gint ett_nr_rrc_RRCReconfiguration_v1530_IEs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message = -1; static gint ett_nr_rrc_RRCReconfiguration_v1540_IEs = -1; static gint ett_nr_rrc_RRCReconfiguration_v1560_IEs = -1; static gint ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig = -1; static gint ett_nr_rrc_T_nonCriticalExtension_17 = -1; static gint ett_nr_rrc_MRDC_SecondaryCellGroupConfig = -1; static gint ett_nr_rrc_T_mrdc_SecondaryCellGroup = -1; static gint ett_nr_rrc_MasterKeyUpdate = -1; static gint ett_nr_rrc_RRCReconfigurationComplete = -1; static gint ett_nr_rrc_T_criticalExtensions_17 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_17 = -1; static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1; static gint ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs = -1; static gint ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs = -1; static gint ett_nr_rrc_T_scg_Response = -1; static gint ett_nr_rrc_T_nonCriticalExtension_18 = -1; static gint ett_nr_rrc_RRCReject = -1; static gint ett_nr_rrc_T_criticalExtensions_18 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_18 = -1; static gint ett_nr_rrc_RRCReject_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_19 = -1; static gint ett_nr_rrc_RRCRelease = -1; static gint ett_nr_rrc_T_criticalExtensions_19 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_19 = -1; static gint ett_nr_rrc_RRCRelease_IEs = -1; static gint ett_nr_rrc_T_deprioritisationReq = -1; static gint ett_nr_rrc_RRCRelease_v1540_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_20 = -1; static gint ett_nr_rrc_RedirectedCarrierInfo = -1; static gint ett_nr_rrc_RedirectedCarrierInfo_EUTRA = -1; static gint ett_nr_rrc_CarrierInfoNR = -1; static gint ett_nr_rrc_SuspendConfig = -1; static gint ett_nr_rrc_CellReselectionPriorities = -1; static gint ett_nr_rrc_FreqPriorityListEUTRA = -1; static gint ett_nr_rrc_FreqPriorityListNR = -1; static gint ett_nr_rrc_FreqPriorityEUTRA = -1; static gint ett_nr_rrc_FreqPriorityNR = -1; static gint ett_nr_rrc_RAN_NotificationAreaInfo = -1; static gint ett_nr_rrc_PLMN_RAN_AreaCellList = -1; static gint ett_nr_rrc_PLMN_RAN_AreaCell = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity = -1; static gint ett_nr_rrc_PLMN_RAN_AreaConfigList = -1; static gint ett_nr_rrc_PLMN_RAN_AreaConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig = -1; static gint ett_nr_rrc_RAN_AreaConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode = -1; static gint ett_nr_rrc_RRCResume = -1; static gint ett_nr_rrc_T_criticalExtensions_20 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_20 = -1; static gint ett_nr_rrc_RRCResume_IEs = -1; static gint ett_nr_rrc_RRCResume_v1560_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_21 = -1; static gint ett_nr_rrc_RRCResumeComplete = -1; static gint ett_nr_rrc_T_criticalExtensions_21 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_21 = -1; static gint ett_nr_rrc_RRCResumeComplete_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_22 = -1; static gint ett_nr_rrc_RRCResumeRequest = -1; static gint ett_nr_rrc_RRCResumeRequest_IEs = -1; static gint ett_nr_rrc_RRCResumeRequest1 = -1; static gint ett_nr_rrc_RRCResumeRequest1_IEs = -1; static gint ett_nr_rrc_RRCSetup = -1; static gint ett_nr_rrc_T_criticalExtensions_22 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_22 = -1; static gint ett_nr_rrc_RRCSetup_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_23 = -1; static gint ett_nr_rrc_RRCSetupComplete = -1; static gint ett_nr_rrc_T_criticalExtensions_23 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_23 = -1; static gint ett_nr_rrc_RRCSetupComplete_IEs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI = -1; static gint ett_nr_rrc_T_ng_5G_S_TMSI_Value = -1; static gint ett_nr_rrc_T_nonCriticalExtension_24 = -1; static gint ett_nr_rrc_RegisteredAMF = -1; static gint ett_nr_rrc_RRCSetupRequest = -1; static gint ett_nr_rrc_RRCSetupRequest_IEs = -1; static gint ett_nr_rrc_InitialUE_Identity = -1; static gint ett_nr_rrc_RRCSystemInfoRequest = -1; static gint ett_nr_rrc_T_criticalExtensions_24 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_24 = -1; static gint ett_nr_rrc_RRCSystemInfoRequest_IEs = -1; static gint ett_nr_rrc_SCGFailureInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_25 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_25 = -1; static gint ett_nr_rrc_SCGFailureInformation_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_25 = -1; static gint ett_nr_rrc_FailureReportSCG = -1; static gint ett_nr_rrc_MeasResultFreqList = -1; static gint ett_nr_rrc_SCGFailureInformationEUTRA = -1; static gint ett_nr_rrc_T_criticalExtensions_26 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_26 = -1; static gint ett_nr_rrc_SCGFailureInformationEUTRA_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_26 = -1; static gint ett_nr_rrc_FailureReportSCG_EUTRA = -1; static gint ett_nr_rrc_MeasResultFreqListFailMRDC = -1; static gint ett_nr_rrc_SecurityModeCommand = -1; static gint ett_nr_rrc_T_criticalExtensions_27 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_27 = -1; static gint ett_nr_rrc_SecurityModeCommand_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_27 = -1; static gint ett_nr_rrc_SecurityConfigSMC = -1; static gint ett_nr_rrc_SecurityModeComplete = -1; static gint ett_nr_rrc_T_criticalExtensions_28 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_28 = -1; static gint ett_nr_rrc_SecurityModeComplete_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_28 = -1; static gint ett_nr_rrc_SecurityModeFailure = -1; static gint ett_nr_rrc_T_criticalExtensions_29 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_29 = -1; static gint ett_nr_rrc_SecurityModeFailure_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_29 = -1; static gint ett_nr_rrc_SIB1 = -1; static gint ett_nr_rrc_T_cellSelectionInfo = -1; static gint ett_nr_rrc_T_uac_BarringInfo = -1; static gint ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo = -1; static gint ett_nr_rrc_T_nonCriticalExtension_30 = -1; static gint ett_nr_rrc_SystemInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_30 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_30 = -1; static gint ett_nr_rrc_SystemInformation_IEs = -1; static gint ett_nr_rrc_T_sib_TypeAndInfo = -1; static gint ett_nr_rrc_T_sib_TypeAndInfo_item = -1; static gint ett_nr_rrc_T_nonCriticalExtension_31 = -1; static gint ett_nr_rrc_UEAssistanceInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_31 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_31 = -1; static gint ett_nr_rrc_UEAssistanceInformation_IEs = -1; static gint ett_nr_rrc_DelayBudgetReport = -1; static gint ett_nr_rrc_UEAssistanceInformation_v1540_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_32 = -1; static gint ett_nr_rrc_OverheatingAssistance = -1; static gint ett_nr_rrc_T_reducedMaxCCs = -1; static gint ett_nr_rrc_T_reducedMaxBW_FR1 = -1; static gint ett_nr_rrc_T_reducedMaxBW_FR2 = -1; static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR1 = -1; static gint ett_nr_rrc_T_reducedMaxMIMO_LayersFR2 = -1; static gint ett_nr_rrc_UECapabilityEnquiry = -1; static gint ett_nr_rrc_T_criticalExtensions_32 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_32 = -1; static gint ett_nr_rrc_UECapabilityEnquiry_IEs = -1; static gint ett_nr_rrc_UECapabilityEnquiry_v1560_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_33 = -1; static gint ett_nr_rrc_UECapabilityInformation = -1; static gint ett_nr_rrc_T_criticalExtensions_33 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_33 = -1; static gint ett_nr_rrc_UECapabilityInformation_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_34 = -1; static gint ett_nr_rrc_ULInformationTransfer = -1; static gint ett_nr_rrc_T_criticalExtensions_34 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_34 = -1; static gint ett_nr_rrc_ULInformationTransfer_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_35 = -1; static gint ett_nr_rrc_ULInformationTransferMRDC = -1; static gint ett_nr_rrc_T_criticalExtensions_35 = -1; static gint ett_nr_rrc_T_c1_14 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_35 = -1; static gint ett_nr_rrc_ULInformationTransferMRDC_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_36 = -1; static gint ett_nr_rrc_SIB2 = -1; static gint ett_nr_rrc_T_cellReselectionInfoCommon = -1; static gint ett_nr_rrc_T_speedStateReselectionPars = -1; static gint ett_nr_rrc_T_q_HystSF = -1; static gint ett_nr_rrc_T_cellReselectionServingFreqInfo = -1; static gint ett_nr_rrc_T_intraFreqCellReselectionInfo = -1; static gint ett_nr_rrc_SIB3 = -1; static gint ett_nr_rrc_IntraFreqNeighCellList = -1; static gint ett_nr_rrc_IntraFreqNeighCellInfo = -1; static gint ett_nr_rrc_IntraFreqBlackCellList = -1; static gint ett_nr_rrc_SIB4 = -1; static gint ett_nr_rrc_InterFreqCarrierFreqList = -1; static gint ett_nr_rrc_InterFreqCarrierFreqInfo = -1; static gint ett_nr_rrc_T_threshX_Q = -1; static gint ett_nr_rrc_InterFreqNeighCellList = -1; static gint ett_nr_rrc_InterFreqNeighCellInfo = -1; static gint ett_nr_rrc_InterFreqBlackCellList = -1; static gint ett_nr_rrc_SIB5 = -1; static gint ett_nr_rrc_CarrierFreqListEUTRA = -1; static gint ett_nr_rrc_CarrierFreqEUTRA = -1; static gint ett_nr_rrc_T_threshX_Q_01 = -1; static gint ett_nr_rrc_EUTRA_FreqBlackCellList = -1; static gint ett_nr_rrc_EUTRA_FreqNeighCellList = -1; static gint ett_nr_rrc_EUTRA_FreqNeighCellInfo = -1; static gint ett_nr_rrc_SIB6 = -1; static gint ett_nr_rrc_SIB7 = -1; static gint ett_nr_rrc_SIB8 = -1; static gint ett_nr_rrc_SIB9 = -1; static gint ett_nr_rrc_T_timeInfo = -1; static gint ett_nr_rrc_BeamFailureRecoveryConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR = -1; static gint ett_nr_rrc_PRACH_ResourceDedicatedBFR = -1; static gint ett_nr_rrc_BFR_SSB_Resource = -1; static gint ett_nr_rrc_BFR_CSIRS_Resource = -1; static gint ett_nr_rrc_T_ra_OccasionList = -1; static gint ett_nr_rrc_BetaOffsets = -1; static gint ett_nr_rrc_BSR_Config = -1; static gint ett_nr_rrc_BWP = -1; static gint ett_nr_rrc_BWP_Downlink = -1; static gint ett_nr_rrc_BWP_DownlinkCommon = -1; static gint ett_nr_rrc_T_pdcch_ConfigCommon = -1; static gint ett_nr_rrc_T_pdsch_ConfigCommon = -1; static gint ett_nr_rrc_BWP_DownlinkDedicated = -1; static gint ett_nr_rrc_T_pdcch_Config = -1; static gint ett_nr_rrc_T_pdsch_Config = -1; static gint ett_nr_rrc_T_sps_Config = -1; static gint ett_nr_rrc_T_radioLinkMonitoringConfig = -1; static gint ett_nr_rrc_BWP_Uplink = -1; static gint ett_nr_rrc_BWP_UplinkCommon = -1; static gint ett_nr_rrc_T_rach_ConfigCommon = -1; static gint ett_nr_rrc_T_pusch_ConfigCommon = -1; static gint ett_nr_rrc_T_pucch_ConfigCommon = -1; static gint ett_nr_rrc_BWP_UplinkDedicated = -1; static gint ett_nr_rrc_T_pucch_Config = -1; static gint ett_nr_rrc_T_pusch_Config = -1; static gint ett_nr_rrc_T_configuredGrantConfig = -1; static gint ett_nr_rrc_T_srs_Config = -1; static gint ett_nr_rrc_T_beamFailureRecoveryConfig = -1; static gint ett_nr_rrc_CellAccessRelatedInfo = -1; static gint ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC = -1; static gint ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC = -1; static gint ett_nr_rrc_PLMN_Identity_EUTRA_5GC = -1; static gint ett_nr_rrc_CellIdentity_EUTRA_5GC = -1; static gint ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC = -1; static gint ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC = -1; static gint ett_nr_rrc_CellGroupConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex = -1; static gint ett_nr_rrc_SpCellConfig = -1; static gint ett_nr_rrc_T_rlf_TimersAndConstants = -1; static gint ett_nr_rrc_ReconfigurationWithSync = -1; static gint ett_nr_rrc_T_rach_ConfigDedicated = -1; static gint ett_nr_rrc_SCellConfig = -1; static gint ett_nr_rrc_CGI_InfoEUTRA = -1; static gint ett_nr_rrc_T_cgi_info_EPC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC = -1; static gint ett_nr_rrc_CGI_InfoNR = -1; static gint ett_nr_rrc_T_noSIB1 = -1; static gint ett_nr_rrc_CodebookConfig = -1; static gint ett_nr_rrc_T_codebookType = -1; static gint ett_nr_rrc_T_type1_01 = -1; static gint ett_nr_rrc_T_subType = -1; static gint ett_nr_rrc_T_typeI_SinglePanel = -1; static gint ett_nr_rrc_T_nrOfAntennaPorts = -1; static gint ett_nr_rrc_T_two = -1; static gint ett_nr_rrc_T_moreThanTwo = -1; static gint ett_nr_rrc_T_n1_n2 = -1; static gint ett_nr_rrc_T_typeI_MultiPanel = -1; static gint ett_nr_rrc_T_ng_n1_n2 = -1; static gint ett_nr_rrc_T_type2 = -1; static gint ett_nr_rrc_T_subType_01 = -1; static gint ett_nr_rrc_T_typeII = -1; static gint ett_nr_rrc_T_n1_n2_codebookSubsetRestriction = -1; static gint ett_nr_rrc_T_typeII_PortSelection = -1; static gint ett_nr_rrc_ConfiguredGrantConfig = -1; static gint ett_nr_rrc_T_uci_OnPUSCH = -1; static gint ett_nr_rrc_T_rrc_ConfiguredUplinkGrant = -1; static gint ett_nr_rrc_CG_UCI_OnPUSCH = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets = -1; static gint ett_nr_rrc_ConnEstFailureControl = -1; static gint ett_nr_rrc_ControlResourceSet = -1; static gint ett_nr_rrc_T_cce_REG_MappingType = -1; static gint ett_nr_rrc_T_interleaved = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId = -1; static gint ett_nr_rrc_CrossCarrierSchedulingConfig = -1; static gint ett_nr_rrc_T_schedulingCellInfo = -1; static gint ett_nr_rrc_T_own = -1; static gint ett_nr_rrc_T_other = -1; static gint ett_nr_rrc_CSI_AperiodicTriggerStateList = -1; static gint ett_nr_rrc_CSI_AperiodicTriggerState = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo = -1; static gint ett_nr_rrc_CSI_AssociatedReportConfigInfo = -1; static gint ett_nr_rrc_T_resourcesForChannel = -1; static gint ett_nr_rrc_T_nzp_CSI_RS = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId = -1; static gint ett_nr_rrc_CSI_FrequencyOccupation = -1; static gint ett_nr_rrc_CSI_IM_Resource = -1; static gint ett_nr_rrc_T_csi_IM_ResourceElementPattern = -1; static gint ett_nr_rrc_T_pattern0 = -1; static gint ett_nr_rrc_T_pattern1 = -1; static gint ett_nr_rrc_CSI_IM_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId = -1; static gint ett_nr_rrc_CSI_MeasConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId = -1; static gint ett_nr_rrc_T_aperiodicTriggerStateList = -1; static gint ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList = -1; static gint ett_nr_rrc_CSI_ReportConfig = -1; static gint ett_nr_rrc_T_reportConfigType = -1; static gint ett_nr_rrc_T_periodic = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource = -1; static gint ett_nr_rrc_T_semiPersistentOnPUCCH = -1; static gint ett_nr_rrc_T_semiPersistentOnPUSCH = -1; static gint ett_nr_rrc_T_reportSlotOffsetList = -1; static gint ett_nr_rrc_T_aperiodic = -1; static gint ett_nr_rrc_T_reportSlotOffsetList_01 = -1; static gint ett_nr_rrc_T_reportQuantity = -1; static gint ett_nr_rrc_T_cri_RI_i1_CQI = -1; static gint ett_nr_rrc_T_reportFreqConfiguration = -1; static gint ett_nr_rrc_T_csi_ReportingBand = -1; static gint ett_nr_rrc_T_groupBasedBeamReporting = -1; static gint ett_nr_rrc_T_disabled = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks = -1; static gint ett_nr_rrc_T_semiPersistentOnPUSCH_v1530 = -1; static gint ett_nr_rrc_CSI_ReportPeriodicityAndOffset = -1; static gint ett_nr_rrc_PUCCH_CSI_Resource = -1; static gint ett_nr_rrc_PortIndexFor8Ranks = -1; static gint ett_nr_rrc_T_portIndex8 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8 = -1; static gint ett_nr_rrc_T_portIndex4 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4 = -1; static gint ett_nr_rrc_T_portIndex2 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2 = -1; static gint ett_nr_rrc_CSI_ResourceConfig = -1; static gint ett_nr_rrc_T_csi_RS_ResourceSetList = -1; static gint ett_nr_rrc_T_nzp_CSI_RS_SSB = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId = -1; static gint ett_nr_rrc_CSI_ResourcePeriodicityAndOffset = -1; static gint ett_nr_rrc_CSI_RS_ResourceConfigMobility = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility = -1; static gint ett_nr_rrc_CSI_RS_CellMobility = -1; static gint ett_nr_rrc_T_csi_rs_MeasurementBW = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility = -1; static gint ett_nr_rrc_CSI_RS_Resource_Mobility = -1; static gint ett_nr_rrc_T_slotConfig = -1; static gint ett_nr_rrc_T_associatedSSB = -1; static gint ett_nr_rrc_T_frequencyDomainAllocation = -1; static gint ett_nr_rrc_CSI_RS_ResourceMapping = -1; static gint ett_nr_rrc_T_frequencyDomainAllocation_01 = -1; static gint ett_nr_rrc_T_density_01 = -1; static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList = -1; static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState = -1; static gint ett_nr_rrc_CSI_SSB_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index = -1; static gint ett_nr_rrc_DMRS_DownlinkConfig = -1; static gint ett_nr_rrc_T_phaseTrackingRS = -1; static gint ett_nr_rrc_DMRS_UplinkConfig = -1; static gint ett_nr_rrc_T_phaseTrackingRS_01 = -1; static gint ett_nr_rrc_T_transformPrecodingDisabled = -1; static gint ett_nr_rrc_T_transformPrecodingEnabled = -1; static gint ett_nr_rrc_DownlinkConfigCommon = -1; static gint ett_nr_rrc_DownlinkConfigCommonSIB = -1; static gint ett_nr_rrc_BCCH_Config = -1; static gint ett_nr_rrc_PCCH_Config = -1; static gint ett_nr_rrc_T_nAndPagingFrameOffset = -1; static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO = -1; static gint ett_nr_rrc_T_sCS15KHZoneT = -1; static gint ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT = -1; static gint ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT = -1; static gint ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT = -1; static gint ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT = -1; static gint ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT = -1; static gint ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT = -1; static gint ett_nr_rrc_T_sCS120KHZoneSixteenthT = -1; static gint ett_nr_rrc_DownlinkPreemption = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell = -1; static gint ett_nr_rrc_INT_ConfigurationPerServingCell = -1; static gint ett_nr_rrc_DRX_Config = -1; static gint ett_nr_rrc_T_drx_onDurationTimer = -1; static gint ett_nr_rrc_T_drx_LongCycleStartOffset_01 = -1; static gint ett_nr_rrc_T_shortDRX_01 = -1; static gint ett_nr_rrc_FrequencyInfoDL = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier = -1; static gint ett_nr_rrc_FrequencyInfoDL_SIB = -1; static gint ett_nr_rrc_FrequencyInfoUL = -1; static gint ett_nr_rrc_FrequencyInfoUL_SIB = -1; static gint ett_nr_rrc_LocationMeasurementInfo = -1; static gint ett_nr_rrc_EUTRA_RSTD_InfoList = -1; static gint ett_nr_rrc_EUTRA_RSTD_Info = -1; static gint ett_nr_rrc_LogicalChannelConfig = -1; static gint ett_nr_rrc_T_ul_SpecificParameters = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing = -1; static gint ett_nr_rrc_MAC_CellGroupConfig = -1; static gint ett_nr_rrc_T_drx_Config = -1; static gint ett_nr_rrc_T_phr_Config = -1; static gint ett_nr_rrc_T_dataInactivityTimer = -1; static gint ett_nr_rrc_MeasConfig = -1; static gint ett_nr_rrc_T_s_MeasureConfig = -1; static gint ett_nr_rrc_MeasObjectToRemoveList = -1; static gint ett_nr_rrc_MeasIdToRemoveList = -1; static gint ett_nr_rrc_ReportConfigToRemoveList = -1; static gint ett_nr_rrc_MeasGapConfig = -1; static gint ett_nr_rrc_T_gapFR2 = -1; static gint ett_nr_rrc_T_gapFR1 = -1; static gint ett_nr_rrc_T_gapUE = -1; static gint ett_nr_rrc_GapConfig = -1; static gint ett_nr_rrc_MeasGapSharingConfig = -1; static gint ett_nr_rrc_T_gapSharingFR2 = -1; static gint ett_nr_rrc_T_gapSharingFR1 = -1; static gint ett_nr_rrc_T_gapSharingUE = -1; static gint ett_nr_rrc_MeasIdToAddModList = -1; static gint ett_nr_rrc_MeasIdToAddMod = -1; static gint ett_nr_rrc_MeasObjectEUTRA = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell = -1; static gint ett_nr_rrc_EUTRA_CellIndexList = -1; static gint ett_nr_rrc_EUTRA_Cell = -1; static gint ett_nr_rrc_EUTRA_BlackCell = -1; static gint ett_nr_rrc_MeasObjectNR = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement = -1; static gint ett_nr_rrc_ReferenceSignalConfig = -1; static gint ett_nr_rrc_T_csi_rs_ResourceConfigMobility = -1; static gint ett_nr_rrc_SSB_ConfigMobility = -1; static gint ett_nr_rrc_T_ssb_ToMeasure = -1; static gint ett_nr_rrc_Q_OffsetRangeList = -1; static gint ett_nr_rrc_ThresholdNR = -1; static gint ett_nr_rrc_CellsToAddModList = -1; static gint ett_nr_rrc_CellsToAddMod = -1; static gint ett_nr_rrc_MeasObjectToAddModList = -1; static gint ett_nr_rrc_MeasObjectToAddMod = -1; static gint ett_nr_rrc_T_measObject = -1; static gint ett_nr_rrc_MeasResultCellListSFTD_NR = -1; static gint ett_nr_rrc_MeasResultCellSFTD_NR = -1; static gint ett_nr_rrc_MeasResultCellListSFTD_EUTRA = -1; static gint ett_nr_rrc_MeasResultSFTD_EUTRA = -1; static gint ett_nr_rrc_MeasResults = -1; static gint ett_nr_rrc_T_measResultNeighCells = -1; static gint ett_nr_rrc_MeasResultServMOList = -1; static gint ett_nr_rrc_MeasResultServMO = -1; static gint ett_nr_rrc_MeasResultListNR = -1; static gint ett_nr_rrc_MeasResultNR = -1; static gint ett_nr_rrc_T_measResult = -1; static gint ett_nr_rrc_T_cellResults = -1; static gint ett_nr_rrc_T_rsIndexResults = -1; static gint ett_nr_rrc_MeasResultListEUTRA = -1; static gint ett_nr_rrc_MeasResultEUTRA = -1; static gint ett_nr_rrc_MultiBandInfoListEUTRA = -1; static gint ett_nr_rrc_MeasQuantityResults = -1; static gint ett_nr_rrc_MeasQuantityResultsEUTRA = -1; static gint ett_nr_rrc_ResultsPerSSB_IndexList = -1; static gint ett_nr_rrc_ResultsPerSSB_Index = -1; static gint ett_nr_rrc_ResultsPerCSI_RS_IndexList = -1; static gint ett_nr_rrc_ResultsPerCSI_RS_Index = -1; static gint ett_nr_rrc_MeasResultServFreqListEUTRA_SCG = -1; static gint ett_nr_rrc_MeasResultServFreqListNR_SCG = -1; static gint ett_nr_rrc_MeasResult2EUTRA = -1; static gint ett_nr_rrc_MeasResult2NR = -1; static gint ett_nr_rrc_MeasResultSCG_Failure = -1; static gint ett_nr_rrc_MeasResultList2NR = -1; static gint ett_nr_rrc_MeasTriggerQuantityEUTRA = -1; static gint ett_nr_rrc_MobilityStateParameters = -1; static gint ett_nr_rrc_MultiFrequencyBandListNR = -1; static gint ett_nr_rrc_MultiFrequencyBandListNR_SIB = -1; static gint ett_nr_rrc_NR_MultiBandInfo = -1; static gint ett_nr_rrc_NR_NS_PmaxList = -1; static gint ett_nr_rrc_NR_NS_PmaxValue = -1; static gint ett_nr_rrc_NZP_CSI_RS_Resource = -1; static gint ett_nr_rrc_NZP_CSI_RS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId = -1; static gint ett_nr_rrc_PCI_List = -1; static gint ett_nr_rrc_PCI_Range = -1; static gint ett_nr_rrc_PCI_RangeElement = -1; static gint ett_nr_rrc_PCI_RangeIndexList = -1; static gint ett_nr_rrc_PDCCH_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId = -1; static gint ett_nr_rrc_T_downlinkPreemption = -1; static gint ett_nr_rrc_T_tpc_PUSCH = -1; static gint ett_nr_rrc_T_tpc_PUCCH = -1; static gint ett_nr_rrc_T_tpc_SRS = -1; static gint ett_nr_rrc_PDCCH_ConfigCommon = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace = -1; static gint ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01 = -1; static gint ett_nr_rrc_T_sCS15KHZoneT_01 = -1; static gint ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01 = -1; static gint ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 = -1; static gint ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 = -1; static gint ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 = -1; static gint ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 = -1; static gint ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 = -1; static gint ett_nr_rrc_T_sCS120KHZoneSixteenthT_01 = -1; static gint ett_nr_rrc_PDCCH_ConfigSIB1 = -1; static gint ett_nr_rrc_PDCCH_ServingCellConfig = -1; static gint ett_nr_rrc_T_slotFormatIndicator = -1; static gint ett_nr_rrc_PDCP_Config = -1; static gint ett_nr_rrc_T_drb = -1; static gint ett_nr_rrc_T_headerCompression = -1; static gint ett_nr_rrc_T_rohc = -1; static gint ett_nr_rrc_T_profiles = -1; static gint ett_nr_rrc_T_uplinkOnlyROHC = -1; static gint ett_nr_rrc_T_profiles_01 = -1; static gint ett_nr_rrc_T_moreThanOneRLC = -1; static gint ett_nr_rrc_T_primaryPath = -1; static gint ett_nr_rrc_PDSCH_Config = -1; static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA = -1; static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId = -1; static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationList = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId = -1; static gint ett_nr_rrc_T_prb_BundlingType = -1; static gint ett_nr_rrc_T_staticBundling = -1; static gint ett_nr_rrc_T_dynamicBundling = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId = -1; static gint ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet = -1; static gint ett_nr_rrc_RateMatchPatternGroup = -1; static gint ett_nr_rrc_RateMatchPatternGroup_item = -1; static gint ett_nr_rrc_PDSCH_ConfigCommon = -1; static gint ett_nr_rrc_PDSCH_ServingCellConfig = -1; static gint ett_nr_rrc_T_codeBlockGroupTransmission = -1; static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmission = -1; static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList = -1; static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation = -1; static gint ett_nr_rrc_PHR_Config = -1; static gint ett_nr_rrc_PhysicalCellGroupConfig = -1; static gint ett_nr_rrc_T_cs_RNTI = -1; static gint ett_nr_rrc_T_pdcch_BlindDetection = -1; static gint ett_nr_rrc_PLMN_Identity = -1; static gint ett_nr_rrc_MCC = -1; static gint ett_nr_rrc_MNC = -1; static gint ett_nr_rrc_PLMN_IdentityInfoList = -1; static gint ett_nr_rrc_PLMN_IdentityInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity = -1; static gint ett_nr_rrc_PTRS_DownlinkConfig = -1; static gint ett_nr_rrc_T_frequencyDensity = -1; static gint ett_nr_rrc_T_timeDensity = -1; static gint ett_nr_rrc_PTRS_UplinkConfig = -1; static gint ett_nr_rrc_T_transformPrecoderDisabled = -1; static gint ett_nr_rrc_T_frequencyDensity_01 = -1; static gint ett_nr_rrc_T_timeDensity_01 = -1; static gint ett_nr_rrc_T_transformPrecoderEnabled = -1; static gint ett_nr_rrc_T_sampleDensity = -1; static gint ett_nr_rrc_PUCCH_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId = -1; static gint ett_nr_rrc_T_format1 = -1; static gint ett_nr_rrc_T_format2 = -1; static gint ett_nr_rrc_T_format3 = -1; static gint ett_nr_rrc_T_format4 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId = -1; static gint ett_nr_rrc_T_dl_DataToUL_ACK = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId = -1; static gint ett_nr_rrc_PUCCH_FormatConfig = -1; static gint ett_nr_rrc_PUCCH_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId = -1; static gint ett_nr_rrc_PUCCH_Resource = -1; static gint ett_nr_rrc_T_format = -1; static gint ett_nr_rrc_PUCCH_format0 = -1; static gint ett_nr_rrc_PUCCH_format1 = -1; static gint ett_nr_rrc_PUCCH_format2 = -1; static gint ett_nr_rrc_PUCCH_format3 = -1; static gint ett_nr_rrc_PUCCH_format4 = -1; static gint ett_nr_rrc_PUCCH_ConfigCommon = -1; static gint ett_nr_rrc_PUCCH_PowerControl = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS = -1; static gint ett_nr_rrc_P0_PUCCH = -1; static gint ett_nr_rrc_PUCCH_PathlossReferenceRS = -1; static gint ett_nr_rrc_T_referenceSignal = -1; static gint ett_nr_rrc_PUCCH_SpatialRelationInfo = -1; static gint ett_nr_rrc_T_referenceSignal_01 = -1; static gint ett_nr_rrc_T_srs = -1; static gint ett_nr_rrc_PUCCH_TPC_CommandConfig = -1; static gint ett_nr_rrc_PUSCH_Config = -1; static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA = -1; static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB = -1; static gint ett_nr_rrc_T_frequencyHoppingOffsetLists = -1; static gint ett_nr_rrc_T_pusch_TimeDomainAllocationList = -1; static gint ett_nr_rrc_T_uci_OnPUSCH_01 = -1; static gint ett_nr_rrc_UCI_OnPUSCH = -1; static gint ett_nr_rrc_T_betaOffsets = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets = -1; static gint ett_nr_rrc_PUSCH_ConfigCommon = -1; static gint ett_nr_rrc_PUSCH_PowerControl = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId = -1; static gint ett_nr_rrc_P0_PUSCH_AlphaSet = -1; static gint ett_nr_rrc_PUSCH_PathlossReferenceRS = -1; static gint ett_nr_rrc_T_referenceSignal_02 = -1; static gint ett_nr_rrc_SRI_PUSCH_PowerControl = -1; static gint ett_nr_rrc_PUSCH_ServingCellConfig = -1; static gint ett_nr_rrc_T_codeBlockGroupTransmission_01 = -1; static gint ett_nr_rrc_PUSCH_CodeBlockGroupTransmission = -1; static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList = -1; static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocation = -1; static gint ett_nr_rrc_PUSCH_TPC_CommandConfig = -1; static gint ett_nr_rrc_QuantityConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR = -1; static gint ett_nr_rrc_QuantityConfigNR = -1; static gint ett_nr_rrc_QuantityConfigRS = -1; static gint ett_nr_rrc_FilterConfig = -1; static gint ett_nr_rrc_RACH_ConfigCommon = -1; static gint ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1; static gint ett_nr_rrc_T_groupBconfigured = -1; static gint ett_nr_rrc_T_prach_RootSequenceIndex = -1; static gint ett_nr_rrc_RACH_ConfigDedicated = -1; static gint ett_nr_rrc_CFRA = -1; static gint ett_nr_rrc_T_occasions = -1; static gint ett_nr_rrc_T_resources = -1; static gint ett_nr_rrc_T_ssb = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource = -1; static gint ett_nr_rrc_T_csirs = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource = -1; static gint ett_nr_rrc_CFRA_SSB_Resource = -1; static gint ett_nr_rrc_CFRA_CSIRS_Resource = -1; static gint ett_nr_rrc_T_ra_OccasionList_01 = -1; static gint ett_nr_rrc_RACH_ConfigGeneric = -1; static gint ett_nr_rrc_RA_Prioritization = -1; static gint ett_nr_rrc_RadioBearerConfig = -1; static gint ett_nr_rrc_SRB_ToAddModList = -1; static gint ett_nr_rrc_SRB_ToAddMod = -1; static gint ett_nr_rrc_DRB_ToAddModList = -1; static gint ett_nr_rrc_DRB_ToAddMod = -1; static gint ett_nr_rrc_T_cnAssociation = -1; static gint ett_nr_rrc_DRB_ToReleaseList = -1; static gint ett_nr_rrc_SecurityConfig = -1; static gint ett_nr_rrc_RadioLinkMonitoringConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id = -1; static gint ett_nr_rrc_RadioLinkMonitoringRS = -1; static gint ett_nr_rrc_T_detectionResource = -1; static gint ett_nr_rrc_RateMatchPattern = -1; static gint ett_nr_rrc_T_patternType = -1; static gint ett_nr_rrc_T_bitmaps = -1; static gint ett_nr_rrc_T_symbolsInResourceBlock = -1; static gint ett_nr_rrc_T_periodicityAndPattern = -1; static gint ett_nr_rrc_RateMatchPatternLTE_CRS = -1; static gint ett_nr_rrc_ReportConfigInterRAT = -1; static gint ett_nr_rrc_T_reportType = -1; static gint ett_nr_rrc_ReportCGI_EUTRA = -1; static gint ett_nr_rrc_ReportSFTD_EUTRA = -1; static gint ett_nr_rrc_EventTriggerConfigInterRAT = -1; static gint ett_nr_rrc_T_eventId = -1; static gint ett_nr_rrc_T_eventB1 = -1; static gint ett_nr_rrc_T_eventB2 = -1; static gint ett_nr_rrc_PeriodicalReportConfigInterRAT = -1; static gint ett_nr_rrc_ReportConfigNR = -1; static gint ett_nr_rrc_T_reportType_01 = -1; static gint ett_nr_rrc_ReportCGI = -1; static gint ett_nr_rrc_ReportSFTD_NR = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId = -1; static gint ett_nr_rrc_EventTriggerConfig = -1; static gint ett_nr_rrc_T_eventId_01 = -1; static gint ett_nr_rrc_T_eventA1 = -1; static gint ett_nr_rrc_T_eventA2 = -1; static gint ett_nr_rrc_T_eventA3 = -1; static gint ett_nr_rrc_T_eventA4 = -1; static gint ett_nr_rrc_T_eventA5 = -1; static gint ett_nr_rrc_T_eventA6 = -1; static gint ett_nr_rrc_PeriodicalReportConfig = -1; static gint ett_nr_rrc_MeasTriggerQuantity = -1; static gint ett_nr_rrc_MeasTriggerQuantityOffset = -1; static gint ett_nr_rrc_MeasReportQuantity = -1; static gint ett_nr_rrc_ReportConfigToAddModList = -1; static gint ett_nr_rrc_ReportConfigToAddMod = -1; static gint ett_nr_rrc_T_reportConfig = -1; static gint ett_nr_rrc_RLC_BearerConfig = -1; static gint ett_nr_rrc_T_servedRadioBearer = -1; static gint ett_nr_rrc_RLC_Config = -1; static gint ett_nr_rrc_T_am = -1; static gint ett_nr_rrc_T_um_Bi_Directional = -1; static gint ett_nr_rrc_T_um_Uni_Directional_UL = -1; static gint ett_nr_rrc_T_um_Uni_Directional_DL = -1; static gint ett_nr_rrc_UL_AM_RLC = -1; static gint ett_nr_rrc_DL_AM_RLC = -1; static gint ett_nr_rrc_UL_UM_RLC = -1; static gint ett_nr_rrc_DL_UM_RLC = -1; static gint ett_nr_rrc_RLF_TimersAndConstants = -1; static gint ett_nr_rrc_SchedulingRequestConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId = -1; static gint ett_nr_rrc_SchedulingRequestToAddMod = -1; static gint ett_nr_rrc_SchedulingRequestResourceConfig = -1; static gint ett_nr_rrc_T_periodicityAndOffset = -1; static gint ett_nr_rrc_SCS_SpecificCarrier = -1; static gint ett_nr_rrc_SDAP_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI = -1; static gint ett_nr_rrc_SearchSpace = -1; static gint ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset = -1; static gint ett_nr_rrc_T_nrofCandidates = -1; static gint ett_nr_rrc_T_searchSpaceType = -1; static gint ett_nr_rrc_T_common = -1; static gint ett_nr_rrc_T_dci_Format0_0_AndFormat1_0 = -1; static gint ett_nr_rrc_T_dci_Format2_0 = -1; static gint ett_nr_rrc_T_nrofCandidates_SFI = -1; static gint ett_nr_rrc_T_dci_Format2_1 = -1; static gint ett_nr_rrc_T_dci_Format2_2 = -1; static gint ett_nr_rrc_T_dci_Format2_3 = -1; static gint ett_nr_rrc_T_ue_Specific = -1; static gint ett_nr_rrc_SecurityAlgorithmConfig = -1; static gint ett_nr_rrc_ServingCellConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink = -1; static gint ett_nr_rrc_T_pdcch_ServingCellConfig = -1; static gint ett_nr_rrc_T_pdsch_ServingCellConfig = -1; static gint ett_nr_rrc_T_csi_MeasConfig = -1; static gint ett_nr_rrc_T_lte_CRS_ToMatchAround = -1; static gint ett_nr_rrc_UplinkConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink = -1; static gint ett_nr_rrc_T_pusch_ServingCellConfig = -1; static gint ett_nr_rrc_T_carrierSwitching = -1; static gint ett_nr_rrc_ServingCellConfigCommon = -1; static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1; static gint ett_nr_rrc_T_lte_CRS_ToMatchAround_01 = -1; static gint ett_nr_rrc_ServingCellConfigCommonSIB = -1; static gint ett_nr_rrc_T_ssb_PositionsInBurst_01 = -1; static gint ett_nr_rrc_SI_SchedulingInfo = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo = -1; static gint ett_nr_rrc_SchedulingInfo = -1; static gint ett_nr_rrc_SIB_Mapping = -1; static gint ett_nr_rrc_SIB_TypeInfo = -1; static gint ett_nr_rrc_SI_RequestConfig = -1; static gint ett_nr_rrc_T_rach_OccasionsSI = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources = -1; static gint ett_nr_rrc_SI_RequestResources = -1; static gint ett_nr_rrc_SlotFormatCombinationsPerCell = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination = -1; static gint ett_nr_rrc_SlotFormatCombination = -1; static gint ett_nr_rrc_T_slotFormats = -1; static gint ett_nr_rrc_SlotFormatIndicator = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex = -1; static gint ett_nr_rrc_S_NSSAI = -1; static gint ett_nr_rrc_SpeedStateScaleFactors = -1; static gint ett_nr_rrc_SPS_Config = -1; static gint ett_nr_rrc_SRS_CarrierSwitching = -1; static gint ett_nr_rrc_T_srs_TPC_PDCCH_Group = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex = -1; static gint ett_nr_rrc_SRS_TPC_PDCCH_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex = -1; static gint ett_nr_rrc_SRS_CC_SetIndex = -1; static gint ett_nr_rrc_SRS_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource = -1; static gint ett_nr_rrc_SRS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId = -1; static gint ett_nr_rrc_T_resourceType_01 = -1; static gint ett_nr_rrc_T_aperiodic_01 = -1; static gint ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList = -1; static gint ett_nr_rrc_T_semi_persistent = -1; static gint ett_nr_rrc_T_periodic_01 = -1; static gint ett_nr_rrc_T_pathlossReferenceRS = -1; static gint ett_nr_rrc_SRS_Resource = -1; static gint ett_nr_rrc_T_transmissionComb = -1; static gint ett_nr_rrc_T_n2 = -1; static gint ett_nr_rrc_T_n4 = -1; static gint ett_nr_rrc_T_resourceMapping = -1; static gint ett_nr_rrc_T_freqHopping = -1; static gint ett_nr_rrc_T_resourceType_02 = -1; static gint ett_nr_rrc_T_aperiodic_02 = -1; static gint ett_nr_rrc_T_semi_persistent_01 = -1; static gint ett_nr_rrc_T_periodic_02 = -1; static gint ett_nr_rrc_SRS_SpatialRelationInfo = -1; static gint ett_nr_rrc_T_referenceSignal_03 = -1; static gint ett_nr_rrc_T_srs_01 = -1; static gint ett_nr_rrc_SRS_PeriodicityAndOffset = -1; static gint ett_nr_rrc_SRS_TPC_CommandConfig = -1; static gint ett_nr_rrc_SSB_MTC = -1; static gint ett_nr_rrc_T_periodicityAndOffset_01 = -1; static gint ett_nr_rrc_SSB_MTC2 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId = -1; static gint ett_nr_rrc_SSB_ToMeasure = -1; static gint ett_nr_rrc_SS_RSSI_Measurement = -1; static gint ett_nr_rrc_TAG_Config = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG = -1; static gint ett_nr_rrc_TAG = -1; static gint ett_nr_rrc_TCI_State = -1; static gint ett_nr_rrc_QCL_Info = -1; static gint ett_nr_rrc_T_referenceSignal_04 = -1; static gint ett_nr_rrc_TDD_UL_DL_ConfigCommon = -1; static gint ett_nr_rrc_TDD_UL_DL_Pattern = -1; static gint ett_nr_rrc_TDD_UL_DL_ConfigDedicated = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex = -1; static gint ett_nr_rrc_TDD_UL_DL_SlotConfig = -1; static gint ett_nr_rrc_T_symbols = -1; static gint ett_nr_rrc_T_explicit = -1; static gint ett_nr_rrc_UAC_BarringInfoSetList = -1; static gint ett_nr_rrc_UAC_BarringInfoSet = -1; static gint ett_nr_rrc_UAC_BarringPerCatList = -1; static gint ett_nr_rrc_UAC_BarringPerCat = -1; static gint ett_nr_rrc_UAC_BarringPerPLMN_List = -1; static gint ett_nr_rrc_UAC_BarringPerPLMN = -1; static gint ett_nr_rrc_T_uac_ACBarringListType = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex = -1; static gint ett_nr_rrc_UE_TimersAndConstants = -1; static gint ett_nr_rrc_UplinkConfigCommon = -1; static gint ett_nr_rrc_UplinkConfigCommonSIB = -1; static gint ett_nr_rrc_UplinkTxDirectCurrentList = -1; static gint ett_nr_rrc_UplinkTxDirectCurrentCell = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP = -1; static gint ett_nr_rrc_UplinkTxDirectCurrentBWP = -1; static gint ett_nr_rrc_ZP_CSI_RS_Resource = -1; static gint ett_nr_rrc_ZP_CSI_RS_ResourceSet = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId = -1; static gint ett_nr_rrc_BandCombinationList = -1; static gint ett_nr_rrc_BandCombinationList_v1540 = -1; static gint ett_nr_rrc_BandCombinationList_v1550 = -1; static gint ett_nr_rrc_BandCombinationList_v1560 = -1; static gint ett_nr_rrc_BandCombinationList_v1570 = -1; static gint ett_nr_rrc_BandCombinationList_v1580 = -1; static gint ett_nr_rrc_BandCombination = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters = -1; static gint ett_nr_rrc_BandCombination_v1540 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540 = -1; static gint ett_nr_rrc_BandCombination_v1550 = -1; static gint ett_nr_rrc_BandCombination_v1560 = -1; static gint ett_nr_rrc_BandCombination_v1570 = -1; static gint ett_nr_rrc_BandCombination_v1580 = -1; static gint ett_nr_rrc_BandParameters = -1; static gint ett_nr_rrc_T_eutra = -1; static gint ett_nr_rrc_T_nr = -1; static gint ett_nr_rrc_BandParameters_v1540 = -1; static gint ett_nr_rrc_T_srs_CarrierSwitch = -1; static gint ett_nr_rrc_T_nr_01 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR = -1; static gint ett_nr_rrc_T_eutra_01 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA = -1; static gint ett_nr_rrc_T_srs_TxSwitch = -1; static gint ett_nr_rrc_CA_ParametersEUTRA = -1; static gint ett_nr_rrc_CA_ParametersEUTRA_v1560 = -1; static gint ett_nr_rrc_CA_ParametersEUTRA_v1570 = -1; static gint ett_nr_rrc_CA_ParametersNR = -1; static gint ett_nr_rrc_CA_ParametersNR_v1540 = -1; static gint ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb = -1; static gint ett_nr_rrc_CA_ParametersNR_v1550 = -1; static gint ett_nr_rrc_CA_ParametersNR_v1560 = -1; static gint ett_nr_rrc_CA_ParametersNRDC = -1; static gint ett_nr_rrc_CodebookParameters = -1; static gint ett_nr_rrc_T_type1_02 = -1; static gint ett_nr_rrc_T_singlePanel = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource = -1; static gint ett_nr_rrc_T_multiPanel = -1; static gint ett_nr_rrc_T_type2_01 = -1; static gint ett_nr_rrc_T_type2_PortSelection = -1; static gint ett_nr_rrc_SupportedCSI_RS_Resource = -1; static gint ett_nr_rrc_FeatureSetCombination = -1; static gint ett_nr_rrc_FeatureSetsPerBand = -1; static gint ett_nr_rrc_FeatureSet = -1; static gint ett_nr_rrc_T_eutra_02 = -1; static gint ett_nr_rrc_T_nr_02 = -1; static gint ett_nr_rrc_FeatureSetDownlink = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id = -1; static gint ett_nr_rrc_T_timeDurationForQCL = -1; static gint ett_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE = -1; static gint ett_nr_rrc_FeatureSetDownlink_v1540 = -1; static gint ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap = -1; static gint ett_nr_rrc_T_pdsch_ProcessingType2 = -1; static gint ett_nr_rrc_T_pdsch_ProcessingType2_Limited = -1; static gint ett_nr_rrc_DummyA = -1; static gint ett_nr_rrc_DummyB = -1; static gint ett_nr_rrc_DummyC = -1; static gint ett_nr_rrc_DummyD = -1; static gint ett_nr_rrc_DummyE = -1; static gint ett_nr_rrc_FeatureSetDownlinkPerCC = -1; static gint ett_nr_rrc_FeatureSets = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540 = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 = -1; static gint ett_nr_rrc_FeatureSetUplink = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id = -1; static gint ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot = -1; static gint ett_nr_rrc_FeatureSetUplink_v1540 = -1; static gint ett_nr_rrc_T_pusch_ProcessingType2 = -1; static gint ett_nr_rrc_SRS_Resources = -1; static gint ett_nr_rrc_DummyF = -1; static gint ett_nr_rrc_FeatureSetUplinkPerCC = -1; static gint ett_nr_rrc_T_mimo_CB_PUSCH = -1; static gint ett_nr_rrc_FeatureSetUplinkPerCC_v1540 = -1; static gint ett_nr_rrc_T_mimo_NonCB_PUSCH = -1; static gint ett_nr_rrc_FreqBandList = -1; static gint ett_nr_rrc_FreqBandInformation = -1; static gint ett_nr_rrc_FreqBandInformationEUTRA = -1; static gint ett_nr_rrc_FreqBandInformationNR = -1; static gint ett_nr_rrc_IMS_Parameters = -1; static gint ett_nr_rrc_IMS_ParametersCommon = -1; static gint ett_nr_rrc_IMS_ParametersFRX_Diff = -1; static gint ett_nr_rrc_InterRAT_Parameters = -1; static gint ett_nr_rrc_EUTRA_Parameters = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA = -1; static gint ett_nr_rrc_EUTRA_ParametersCommon = -1; static gint ett_nr_rrc_EUTRA_ParametersXDD_Diff = -1; static gint ett_nr_rrc_MAC_Parameters = -1; static gint ett_nr_rrc_MAC_ParametersCommon = -1; static gint ett_nr_rrc_MAC_ParametersXDD_Diff = -1; static gint ett_nr_rrc_MeasAndMobParameters = -1; static gint ett_nr_rrc_MeasAndMobParametersCommon = -1; static gint ett_nr_rrc_MeasAndMobParametersXDD_Diff = -1; static gint ett_nr_rrc_MeasAndMobParametersFRX_Diff = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_v1560 = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_Common = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560 = -1; static gint ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff = -1; static gint ett_nr_rrc_MIMO_ParametersPerBand = -1; static gint ett_nr_rrc_T_tci_StatePDSCH = -1; static gint ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL = -1; static gint ett_nr_rrc_T_uplinkBeamManagement = -1; static gint ett_nr_rrc_T_beamReportTiming = -1; static gint ett_nr_rrc_T_ptrs_DensityRecommendationSetDL = -1; static gint ett_nr_rrc_T_ptrs_DensityRecommendationSetUL = -1; static gint ett_nr_rrc_T_beamSwitchTiming = -1; static gint ett_nr_rrc_DummyG = -1; static gint ett_nr_rrc_BeamManagementSSB_CSI_RS = -1; static gint ett_nr_rrc_DummyH = -1; static gint ett_nr_rrc_CSI_RS_ForTracking = -1; static gint ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback = -1; static gint ett_nr_rrc_CSI_RS_ProcFrameworkForSRS = -1; static gint ett_nr_rrc_CSI_ReportFramework = -1; static gint ett_nr_rrc_PTRS_DensityRecommendationDL = -1; static gint ett_nr_rrc_PTRS_DensityRecommendationUL = -1; static gint ett_nr_rrc_SpatialRelations = -1; static gint ett_nr_rrc_DummyI = -1; static gint ett_nr_rrc_MRDC_Parameters = -1; static gint ett_nr_rrc_MRDC_Parameters_v1580 = -1; static gint ett_nr_rrc_NRDC_Parameters = -1; static gint ett_nr_rrc_T_dummy_06 = -1; static gint ett_nr_rrc_NRDC_Parameters_v1570 = -1; static gint ett_nr_rrc_PDCP_Parameters = -1; static gint ett_nr_rrc_T_supportedROHC_Profiles = -1; static gint ett_nr_rrc_PDCP_ParametersMRDC = -1; static gint ett_nr_rrc_Phy_Parameters = -1; static gint ett_nr_rrc_Phy_ParametersCommon = -1; static gint ett_nr_rrc_Phy_ParametersXDD_Diff = -1; static gint ett_nr_rrc_Phy_ParametersFRX_Diff = -1; static gint ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot = -1; static gint ett_nr_rrc_T_pdcch_BlindDetectionNRDC = -1; static gint ett_nr_rrc_Phy_ParametersFR1 = -1; static gint ett_nr_rrc_Phy_ParametersFR2 = -1; static gint ett_nr_rrc_Phy_ParametersMRDC = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry = -1; static gint ett_nr_rrc_NAICS_Capability_Entry = -1; static gint ett_nr_rrc_ProcessingParameters = -1; static gint ett_nr_rrc_T_differentTB_PerSlot = -1; static gint ett_nr_rrc_RF_Parameters = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR = -1; static gint ett_nr_rrc_BandNR = -1; static gint ett_nr_rrc_T_channelBWs_DL = -1; static gint ett_nr_rrc_T_fr1 = -1; static gint ett_nr_rrc_T_fr2 = -1; static gint ett_nr_rrc_T_channelBWs_UL = -1; static gint ett_nr_rrc_T_fr1_01 = -1; static gint ett_nr_rrc_T_fr2_01 = -1; static gint ett_nr_rrc_RF_ParametersMRDC = -1; static gint ett_nr_rrc_RLC_Parameters = -1; static gint ett_nr_rrc_SDAP_Parameters = -1; static gint ett_nr_rrc_SRS_SwitchingTimeNR = -1; static gint ett_nr_rrc_SRS_SwitchingTimeEUTRA = -1; static gint ett_nr_rrc_SupportedBandwidth = -1; static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1; static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1; static gint ett_nr_rrc_UE_CapabilityRAT_RequestList = -1; static gint ett_nr_rrc_UE_CapabilityRAT_Request = -1; static gint ett_nr_rrc_UE_CapabilityRequestFilterCommon = -1; static gint ett_nr_rrc_T_mrdc_Request = -1; static gint ett_nr_rrc_UE_CapabilityRequestFilterNR = -1; static gint ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540 = -1; static gint ett_nr_rrc_T_nonCriticalExtension_37 = -1; static gint ett_nr_rrc_UE_MRDC_Capability = -1; static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination = -1; static gint ett_nr_rrc_UE_MRDC_Capability_v1560 = -1; static gint ett_nr_rrc_T_nonCriticalExtension_38 = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode = -1; static gint ett_nr_rrc_GeneralParametersMRDC_XDD_Diff = -1; static gint ett_nr_rrc_UE_NR_Capability = -1; static gint ett_nr_rrc_UE_NR_Capability_v1530 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1540 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1550 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1560 = -1; static gint ett_nr_rrc_UE_NR_Capability_v1570 = -1; static gint ett_nr_rrc_T_nonCriticalExtension_39 = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530 = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 = -1; static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList = -1; static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfig = -1; static gint ett_nr_rrc_T_subframeAllocation1 = -1; static gint ett_nr_rrc_T_subframeAllocation2 = -1; static gint ett_nr_rrc_EUTRA_MultiBandInfoList = -1; static gint ett_nr_rrc_EUTRA_MultiBandInfo = -1; static gint ett_nr_rrc_EUTRA_NS_PmaxList = -1; static gint ett_nr_rrc_EUTRA_NS_PmaxValue = -1; static gint ett_nr_rrc_EUTRA_PhysCellIdRange = -1; static gint ett_nr_rrc_OtherConfig = -1; static gint ett_nr_rrc_T_delayBudgetReportingConfig = -1; static gint ett_nr_rrc_T_setup = -1; static gint ett_nr_rrc_OtherConfig_v1540 = -1; static gint ett_nr_rrc_T_overheatingAssistanceConfig = -1; static gint ett_nr_rrc_OverheatingAssistanceConfig = -1; /*--- End of included file: packet-nr-rrc-ett.c ---*/ #line 98 "./asn1/nr-rrc/packet-nr-rrc-template.c" static gint ett_nr_rrc_DedicatedNAS_Message = -1; static gint ett_rr_rrc_targetRAT_MessageContainer = -1; static gint ett_nr_rrc_nas_Container = -1; static gint ett_nr_rrc_serialNumber = -1; static gint ett_nr_rrc_warningType = -1; static gint ett_nr_rrc_dataCodingScheme = -1; static gint ett_nr_rrc_sib7_fragment = -1; static gint ett_nr_rrc_sib7_fragments = -1; static gint ett_nr_rrc_sib8_fragment = -1; static gint ett_nr_rrc_sib8_fragments = -1; static gint ett_nr_rrc_warningMessageSegment = -1; static gint ett_nr_rrc_timeInfo = -1; static gint ett_nr_rrc_capabilityRequestFilter = -1; static gint ett_nr_rrc_sourceSCG_EUTRA_Config = -1; static gint ett_nr_rrc_scg_CellGroupConfigEUTRA = -1; static gint ett_nr_rrc_candidateCellInfoListSN_EUTRA = -1; static gint ett_nr_rrc_candidateCellInfoListMN_EUTRA = -1; static gint ett_nr_rrc_sourceConfigSCG_EUTRA = -1; static gint ett_nr_rrc_eutra_SCG = -1; static gint ett_nr_rrc_nr_SCG_Response = -1; static gint ett_nr_rrc_eutra_SCG_Response = -1; static gint ett_nr_rrc_measResultSCG_FailureMRDC = -1; static gint ett_nr_rrc_ul_DCCH_MessageNR = -1; static gint ett_nr_rrc_ul_DCCH_MessageEUTRA = -1; static expert_field ei_nr_rrc_number_pages_le15 = EI_INIT; static const unit_name_string units_periodicities = { " periodicity", " periodicities" }; static const unit_name_string units_prbs = { " PRB", " PRBs" }; static const unit_name_string units_slots = { " slot", " slots" }; typedef struct { guint8 rat_type; guint8 target_rat_type; guint16 message_identifier; guint8 warning_message_segment_type; guint8 warning_message_segment_number; nr_drb_mapping_t drb_mapping; } nr_rrc_private_data_t; /* Helper function to get or create a struct that will be actx->private_data */ static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx) { if (actx->private_data == NULL) { actx->private_data = wmem_new0(wmem_packet_scope(), nr_rrc_private_data_t); } return (nr_rrc_private_data_t*)actx->private_data; } static void nr_rrc_call_dissector(dissector_handle_t handle, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { TRY { call_dissector(handle, tvb, pinfo, tree); } CATCH_BOUNDS_ERRORS { show_exception(tvb, pinfo, tree, EXCEPT_CODE, GET_MESSAGE); } ENDTRY; } static void nr_rrc_q_RxLevMin_fmt(gchar *s, guint32 v) { g_snprintf(s, ITEM_LABEL_LENGTH, "%u dB (%u)", 2*v, v); } static const value_string nr_rrc_serialNumber_gs_vals[] = { { 0, "Display mode immediate, cell wide"}, { 1, "Display mode normal, PLMN wide"}, { 2, "Display mode normal, tracking area wide"}, { 3, "Display mode normal, cell wide"}, { 0, NULL}, }; static const value_string nr_rrc_warningType_vals[] = { { 0, "Earthquake"}, { 1, "Tsunami"}, { 2, "Earthquake and Tsunami"}, { 3, "Test"}, { 4, "Other"}, { 0, NULL}, }; static const fragment_items nr_rrc_sib7_frag_items = { &ett_nr_rrc_sib7_fragment, &ett_nr_rrc_sib7_fragments, &hf_nr_rrc_sib7_fragments, &hf_nr_rrc_sib7_fragment, &hf_nr_rrc_sib7_fragment_overlap, &hf_nr_rrc_sib7_fragment_overlap_conflict, &hf_nr_rrc_sib7_fragment_multiple_tails, &hf_nr_rrc_sib7_fragment_too_long_fragment, &hf_nr_rrc_sib7_fragment_error, &hf_nr_rrc_sib7_fragment_count, &hf_nr_rrc_sib7_reassembled_in, &hf_nr_rrc_sib7_reassembled_length, &hf_nr_rrc_sib7_reassembled_data, "SIB7 warning message segments" }; static const fragment_items nr_rrc_sib8_frag_items = { &ett_nr_rrc_sib8_fragment, &ett_nr_rrc_sib8_fragments, &hf_nr_rrc_sib8_fragments, &hf_nr_rrc_sib8_fragment, &hf_nr_rrc_sib8_fragment_overlap, &hf_nr_rrc_sib8_fragment_overlap_conflict, &hf_nr_rrc_sib8_fragment_multiple_tails, &hf_nr_rrc_sib8_fragment_too_long_fragment, &hf_nr_rrc_sib8_fragment_error, &hf_nr_rrc_sib8_fragment_count, &hf_nr_rrc_sib8_reassembled_in, &hf_nr_rrc_sib8_reassembled_length, &hf_nr_rrc_sib8_reassembled_data, "SIB8 warning message segments" }; static void dissect_nr_rrc_warningMessageSegment(tvbuff_t *warning_msg_seg_tvb, proto_tree *tree, packet_info *pinfo, guint8 dataCodingScheme) { guint32 offset; guint8 nb_of_pages, length, *str; proto_item *ti; tvbuff_t *cb_data_page_tvb, *cb_data_tvb; int i; nb_of_pages = tvb_get_guint8(warning_msg_seg_tvb, 0); ti = proto_tree_add_uint(tree, hf_nr_rrc_warningMessageSegment_nb_pages, warning_msg_seg_tvb, 0, 1, nb_of_pages); if (nb_of_pages > 15) { expert_add_info_format(pinfo, ti, &ei_nr_rrc_number_pages_le15, "Number of pages should be <=15 (found %u)", nb_of_pages); nb_of_pages = 15; } for (i = 0, offset = 1; i < nb_of_pages; i++) { length = tvb_get_guint8(warning_msg_seg_tvb, offset+82); cb_data_page_tvb = tvb_new_subset_length(warning_msg_seg_tvb, offset, length); cb_data_tvb = dissect_cbs_data(dataCodingScheme, cb_data_page_tvb, tree, pinfo, 0); if (cb_data_tvb) { str = tvb_get_string_enc(wmem_packet_scope(), cb_data_tvb, 0, tvb_reported_length(cb_data_tvb), ENC_UTF_8|ENC_NA); proto_tree_add_string_format(tree, hf_nr_rrc_warningMessageSegment_decoded_page, warning_msg_seg_tvb, offset, 83, str, "Decoded Page %u: %s", i+1, str); } offset += 83; } } static const value_string nr_rrc_daylightSavingTime_vals[] = { { 0, "No adjustment for Daylight Saving Time"}, { 1, "+1 hour adjustment for Daylight Saving Time"}, { 2, "+2 hours adjustment for Daylight Saving Time"}, { 3, "Reserved"}, { 0, NULL}, }; static void nr_rrc_localTimeOffset_fmt(gchar *s, guint32 v) { gint32 time_offset = (gint32) v; g_snprintf(s, ITEM_LABEL_LENGTH, "UTC time %c %dhr %dmin (%d)", (time_offset < 0) ? '-':'+', abs(time_offset) >> 2, (abs(time_offset) & 0x03) * 15, time_offset); } static void nr_rrc_drx_SlotOffset_fmt(gchar *s, guint32 v) { g_snprintf(s, ITEM_LABEL_LENGTH, "%g ms (%u)", 1./32 * v, v); } static void nr_rrc_Hysteresis_fmt(gchar *s, guint32 v) { g_snprintf(s, ITEM_LABEL_LENGTH, "%gdB (%u)", 0.5 * v, v); } static void nr_rrc_msg3_DeltaPreamble_fmt(gchar *s, guint32 v) { gint32 d = (gint32)v; g_snprintf(s, ITEM_LABEL_LENGTH, "%ddB (%d)", 2 * d, d); } static void nr_rrc_Q_RxLevMin_fmt(gchar *s, guint32 v) { gint32 d = (gint32)v; g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm (%d)", 2 * d, d); } static void nr_rrc_RSRP_RangeEUTRA_fmt(gchar *s, guint32 v) { if (v == 0) { g_snprintf(s, ITEM_LABEL_LENGTH, "RSRP < -140dBm (0)"); } else if (v < 97) { g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= RSRP < %ddBm (%u)", v-141, v-140, v); } else { g_snprintf(s, ITEM_LABEL_LENGTH, "-44dBm <= RSRP (97)"); } } static void nr_rrc_RSRQ_RangeEUTRA_fmt(gchar *s, guint32 v) { if (v == 0) { g_snprintf(s, ITEM_LABEL_LENGTH, "RSRQ < -19.5dB (0)"); } else if (v < 34) { g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= RSRQ < %.1fdB (%u)", ((float)v/2)-20, (((float)v+1)/2)-20, v); } else { g_snprintf(s, ITEM_LABEL_LENGTH, "-3dB <= RSRQ (34)"); } } static void nr_rrc_SINR_RangeEUTRA_fmt(gchar *s, guint32 v) { if (v == 0) { g_snprintf(s, ITEM_LABEL_LENGTH, "SINR < -23dB (0)"); } else if (v == 127) { g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SINR (127)"); } else { g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v); } } static void nr_rrc_ReselectionThreshold_fmt(gchar *s, guint32 v) { g_snprintf(s, ITEM_LABEL_LENGTH, "%udB (%u)", 2 * v, v); } static void nr_rrc_RSRP_Range_fmt(gchar *s, guint32 v) { if (v == 0) { g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRP < -156dBm (0)"); } else if (v < 126) { g_snprintf(s, ITEM_LABEL_LENGTH, "%ddBm <= SS-RSRP < %ddBm (%u)", v-157, v-156, v); } else if (v == 126) { g_snprintf(s, ITEM_LABEL_LENGTH, "-31dBm <= SS-RSRP (126)"); } else { g_snprintf(s, ITEM_LABEL_LENGTH, "infinity (127)"); } } static void nr_rrc_RSRQ_Range_fmt(gchar *s, guint32 v) { if (v == 0) { g_snprintf(s, ITEM_LABEL_LENGTH, "SS-RSRQ < -43dB (0)"); } else if (v < 127) { g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-RSRQ < %.1fdB (%u)", (((float)v-1)/2)-43, ((float)v/2)-43, v); } else { g_snprintf(s, ITEM_LABEL_LENGTH, "-20dB <= SS-RSRQ (127)"); } } static void nr_rrc_SINR_Range_fmt(gchar *s, guint32 v) { if (v == 0) { g_snprintf(s, ITEM_LABEL_LENGTH, "SS-SINR < -23dB (0)"); } else if (v < 127) { g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB <= SS-SINR < %.1fdB (%u)", (((float)v-1)/2)-23, ((float)v/2)-23, v); } else { g_snprintf(s, ITEM_LABEL_LENGTH, "40dB <= SS-SINR (127)"); } } static void nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt(gchar *s, guint32 v) { g_snprintf(s, ITEM_LABEL_LENGTH, "%u (%u)", 10+(2*v), v); } /*--- Included file: packet-nr-rrc-fn.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-fn.c" /*--- PDUs declarations ---*/ static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_UECapabilityEnquiry_v1560_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); static int dissect_nr_rrc_T_handoverCommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); return offset; } static const per_sequence_t T_nonCriticalExtension_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension, T_nonCriticalExtension_sequence); return offset; } static const per_sequence_t HandoverCommand_IEs_sequence[] = { { &hf_nr_rrc_handoverCommandMessage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_handoverCommandMessage }, { &hf_nr_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_HandoverCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_HandoverCommand_IEs, HandoverCommand_IEs_sequence); return offset; } static int dissect_nr_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_null(tvb, offset, actx, tree, hf_index); return offset; } static const value_string nr_rrc_T_c1_vals[] = { { 0, "handoverCommand" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_choice[] = { { 0, &hf_nr_rrc_handoverCommand, ASN1_NO_EXTENSIONS , dissect_nr_rrc_HandoverCommand_IEs }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1, T_c1_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_choice[] = { { 0, &hf_nr_rrc_c1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1 }, { 1, &hf_nr_rrc_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions, T_criticalExtensions_choice, NULL); return offset; } static const per_sequence_t HandoverCommand_sequence[] = { { &hf_nr_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_HandoverCommand, HandoverCommand_sequence); return offset; } static const value_string nr_rrc_RAT_Type_vals[] = { { RAT_Type_nr, "nr" }, { RAT_Type_eutra_nr, "eutra-nr" }, { RAT_Type_eutra, "eutra" }, { RAT_Type_spare1, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 rat_type; nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, &rat_type, TRUE, 0, NULL); nr_priv->rat_type = (guint8)rat_type; return offset; } static int dissect_nr_rrc_T_ue_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *ue_cap_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &ue_cap_tvb); if (ue_cap_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container); switch(nr_priv->rat_type){ case RAT_Type_nr: dissect_nr_rrc_UE_NR_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); break; case RAT_Type_eutra_nr: dissect_nr_rrc_UE_MRDC_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); break; case RAT_Type_eutra: dissect_lte_rrc_UE_EUTRA_Capability_PDU(ue_cap_tvb, actx->pinfo, subtree, NULL); break; default: break; } } return offset; } static const per_sequence_t UE_CapabilityRAT_Container_sequence[] = { { &hf_nr_rrc_rat_Type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAT_Type }, { &hf_nr_rrc_ue_CapabilityRAT_Container, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ue_CapabilityRAT_Container }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_CapabilityRAT_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); /* Initialise to invalid value */ nr_priv->rat_type = 0xFF; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_CapabilityRAT_Container, UE_CapabilityRAT_Container_sequence); return offset; } static const per_sequence_t UE_CapabilityRAT_ContainerList_sequence_of[1] = { { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_Container }, }; static int dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_CapabilityRAT_ContainerList, UE_CapabilityRAT_ContainerList_sequence_of, 0, maxRAT_CapabilityContainers, FALSE); return offset; } static int dissect_nr_rrc_T_rrcReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); return offset; } static int dissect_nr_rrc_T_sourceRB_SN_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU); return offset; } static int dissect_nr_rrc_T_sourceSCG_NR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); return offset; } static int dissect_nr_rrc_T_sourceSCG_EUTRA_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *src_scg_eutra_config_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &src_scg_eutra_config_tvb); if (src_scg_eutra_config_tvb && lte_rrc_conn_reconf_handle) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_targetRAT_MessageContainer); nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, src_scg_eutra_config_tvb, actx->pinfo, subtree); } return offset; } static const per_sequence_t AS_Config_eag_1_sequence[] = { { &hf_nr_rrc_sourceRB_SN_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceRB_SN_Config }, { &hf_nr_rrc_sourceSCG_NR_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceSCG_NR_Config }, { &hf_nr_rrc_sourceSCG_EUTRA_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceSCG_EUTRA_Config }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AS_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_1_sequence); return offset; } static const value_string nr_rrc_T_sourceSCG_Configured_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_sourceSCG_Configured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t AS_Config_eag_2_sequence[] = { { &hf_nr_rrc_sourceSCG_Configured, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceSCG_Configured }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AS_Config_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Config_eag_2_sequence); return offset; } static const per_sequence_t AS_Config_sequence[] = { { &hf_nr_rrc_rrcReconfiguration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rrcReconfiguration }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Config_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Config_eag_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_AS_Config, AS_Config_sequence); return offset; } static const value_string nr_rrc_T_ue_InactiveTime_vals[] = { { 0, "s1" }, { 1, "s2" }, { 2, "s3" }, { 3, "s5" }, { 4, "s7" }, { 5, "s10" }, { 6, "s15" }, { 7, "s20" }, { 8, "s25" }, { 9, "s30" }, { 10, "s40" }, { 11, "s50" }, { 12, "min1" }, { 13, "min1s20" }, { 14, "min1s40" }, { 15, "min2" }, { 16, "min2s30" }, { 17, "min3" }, { 18, "min3s30" }, { 19, "min4" }, { 20, "min5" }, { 21, "min6" }, { 22, "min7" }, { 23, "min8" }, { 24, "min9" }, { 25, "min10" }, { 26, "min12" }, { 27, "min14" }, { 28, "min17" }, { 29, "min20" }, { 30, "min24" }, { 31, "min28" }, { 32, "min33" }, { 33, "min38" }, { 34, "min44" }, { 35, "min50" }, { 36, "hr1" }, { 37, "hr1min30" }, { 38, "hr2" }, { 39, "hr2min30" }, { 40, "hr3" }, { 41, "hr3min30" }, { 42, "hr4" }, { 43, "hr5" }, { 44, "hr6" }, { 45, "hr8" }, { 46, "hr10" }, { 47, "hr13" }, { 48, "hr16" }, { 49, "hr20" }, { 50, "day1" }, { 51, "day1hr12" }, { 52, "day2" }, { 53, "day2hr12" }, { 54, "day3" }, { 55, "day4" }, { 56, "day5" }, { 57, "day7" }, { 58, "day10" }, { 59, "day14" }, { 60, "day19" }, { 61, "day24" }, { 62, "day30" }, { 63, "dayMoreThan30" }, { 0, NULL } }; static value_string_ext nr_rrc_T_ue_InactiveTime_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_ue_InactiveTime_vals); static int dissect_nr_rrc_T_ue_InactiveTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 64, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_ARFCN_ValueNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNARFCN, NULL, FALSE); return offset; } static int dissect_nr_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1007U, NULL, FALSE); return offset; } static int dissect_nr_rrc_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, NULL, FALSE); return offset; } static int dissect_nr_rrc_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, NULL, FALSE); return offset; } static int dissect_nr_rrc_SINR_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, NULL, FALSE); return offset; } static const per_sequence_t MeasQuantityResults_sequence[] = { { &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, { &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range }, { &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasQuantityResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasQuantityResults, MeasQuantityResults_sequence); return offset; } static const per_sequence_t T_cellResults_sequence[] = { { &hf_nr_rrc_resultsSSB_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, { &hf_nr_rrc_resultsCSI_RS_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_cellResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cellResults, T_cellResults_sequence); return offset; } static int dissect_nr_rrc_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSSBs_1, NULL, FALSE); return offset; } static const per_sequence_t ResultsPerSSB_Index_sequence[] = { { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, { &hf_nr_rrc_ssb_Results , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ResultsPerSSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ResultsPerSSB_Index, ResultsPerSSB_Index_sequence); return offset; } static const per_sequence_t ResultsPerSSB_IndexList_sequence_of[1] = { { &hf_nr_rrc_ResultsPerSSB_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_Index }, }; static int dissect_nr_rrc_ResultsPerSSB_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ResultsPerSSB_IndexList, ResultsPerSSB_IndexList_sequence_of, 1, maxNrofIndexesToReport2, FALSE); return offset; } static int dissect_nr_rrc_CSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofCSI_RS_ResourcesRRM_1, NULL, FALSE); return offset; } static const per_sequence_t ResultsPerCSI_RS_Index_sequence[] = { { &hf_nr_rrc_csi_RS_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index }, { &hf_nr_rrc_csi_RS_Results, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ResultsPerCSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ResultsPerCSI_RS_Index, ResultsPerCSI_RS_Index_sequence); return offset; } static const per_sequence_t ResultsPerCSI_RS_IndexList_sequence_of[1] = { { &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerCSI_RS_Index }, }; static int dissect_nr_rrc_ResultsPerCSI_RS_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ResultsPerCSI_RS_IndexList, ResultsPerCSI_RS_IndexList_sequence_of, 1, maxNrofIndexesToReport2, FALSE); return offset; } static const per_sequence_t T_rsIndexResults_sequence[] = { { &hf_nr_rrc_resultsSSB_Indexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerSSB_IndexList }, { &hf_nr_rrc_resultsCSI_RS_Indexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerCSI_RS_IndexList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_rsIndexResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_rsIndexResults, T_rsIndexResults_sequence); return offset; } static const per_sequence_t T_measResult_sequence[] = { { &hf_nr_rrc_cellResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults }, { &hf_nr_rrc_rsIndexResults, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rsIndexResults }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measResult, T_measResult_sequence); return offset; } static int dissect_nr_rrc_MCC_MNC_Digit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 9U, NULL, FALSE); return offset; } static const per_sequence_t MCC_sequence_of[1] = { { &hf_nr_rrc_MCC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCC_MNC_Digit }, }; static int dissect_nr_rrc_MCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MCC, MCC_sequence_of, 3, 3, FALSE); return offset; } static const per_sequence_t MNC_sequence_of[1] = { { &hf_nr_rrc_MNC_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MCC_MNC_Digit }, }; static int dissect_nr_rrc_MNC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MNC, MNC_sequence_of, 2, 3, FALSE); return offset; } static const per_sequence_t PLMN_Identity_sequence[] = { { &hf_nr_rrc_mcc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MCC }, { &hf_nr_rrc_mnc , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MNC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_Identity, PLMN_Identity_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity_sequence_of[1] = { { &hf_nr_rrc_plmn_IdentityList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity, SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity_sequence_of, 1, maxPLMN, FALSE); return offset; } static int dissect_nr_rrc_TrackingAreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 24, 24, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_RAN_AreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, NULL, FALSE); return offset; } static int dissect_nr_rrc_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 36, 36, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_cellReservedForOperatorUse_vals[] = { { 0, "reserved" }, { 1, "notReserved" }, { 0, NULL } }; static int dissect_nr_rrc_T_cellReservedForOperatorUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PLMN_IdentityInfo_sequence[] = { { &hf_nr_rrc_plmn_IdentityList_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity }, { &hf_nr_rrc_trackingAreaCode, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TrackingAreaCode }, { &hf_nr_rrc_ranac , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RAN_AreaCode }, { &hf_nr_rrc_cellIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity }, { &hf_nr_rrc_cellReservedForOperatorUse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReservedForOperatorUse }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PLMN_IdentityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_IdentityInfo, PLMN_IdentityInfo_sequence); return offset; } static const per_sequence_t PLMN_IdentityInfoList_sequence_of[1] = { { &hf_nr_rrc_PLMN_IdentityInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfo }, }; static int dissect_nr_rrc_PLMN_IdentityInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_IdentityInfoList, PLMN_IdentityInfoList_sequence_of, 1, maxPLMN, FALSE); return offset; } static int dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 1024U, NULL, FALSE); return offset; } static const per_sequence_t MultiFrequencyBandListNR_sequence_of[1] = { { &hf_nr_rrc_MultiFrequencyBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, }; static int dissect_nr_rrc_MultiFrequencyBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MultiFrequencyBandListNR, MultiFrequencyBandListNR_sequence_of, 1, maxNrofMultiBands, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 15U, NULL, FALSE); return offset; } static int dissect_nr_rrc_ControlResourceSetZero(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 15U, NULL, FALSE); return offset; } static int dissect_nr_rrc_SearchSpaceZero(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 15U, NULL, FALSE); return offset; } static const per_sequence_t PDCCH_ConfigSIB1_sequence[] = { { &hf_nr_rrc_controlResourceSetZero, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetZero }, { &hf_nr_rrc_searchSpaceZero, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceZero }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCCH_ConfigSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDCCH_ConfigSIB1, PDCCH_ConfigSIB1_sequence); return offset; } static const per_sequence_t T_noSIB1_sequence[] = { { &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigSIB1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_noSIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_noSIB1, T_noSIB1_sequence); return offset; } static const per_sequence_t CGI_InfoNR_sequence[] = { { &hf_nr_rrc_plmn_IdentityInfoList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_IdentityInfoList }, { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR }, { &hf_nr_rrc_noSIB1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_noSIB1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CGI_InfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CGI_InfoNR, CGI_InfoNR_sequence); return offset; } static const per_sequence_t MeasResultNR_eag_1_sequence[] = { { &hf_nr_rrc_cgi_Info , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CGI_InfoNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResultNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResultNR_eag_1_sequence); return offset; } static const per_sequence_t MeasResultNR_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_measResult , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResultNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultNR, MeasResultNR_sequence); return offset; } static const per_sequence_t MeasResultListNR_sequence_of[1] = { { &hf_nr_rrc_MeasResultListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR }, }; static int dissect_nr_rrc_MeasResultListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultListNR, MeasResultListNR_sequence_of, 1, maxCellReport, FALSE); return offset; } static const per_sequence_t MeasResult2NR_sequence[] = { { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR }, { &hf_nr_rrc_measResultNeighCellListNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultListNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResult2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResult2NR, MeasResult2NR_sequence); return offset; } static const per_sequence_t MeasResultList2NR_sequence_of[1] = { { &hf_nr_rrc_MeasResultList2NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR }, }; static int dissect_nr_rrc_MeasResultList2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultList2NR, MeasResultList2NR_sequence_of, 1, maxFreq, FALSE); return offset; } static int dissect_nr_rrc_ARFCN_ValueEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxEARFCN, NULL, FALSE); return offset; } static int dissect_nr_rrc_RSRP_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 97U, NULL, FALSE); return offset; } static int dissect_nr_rrc_RSRQ_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 34U, NULL, FALSE); return offset; } static int dissect_nr_rrc_SINR_RangeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, NULL, FALSE); return offset; } static const per_sequence_t MeasQuantityResultsEUTRA_sequence[] = { { &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_RangeEUTRA }, { &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_RangeEUTRA }, { &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_RangeEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasQuantityResultsEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasQuantityResultsEUTRA, MeasQuantityResultsEUTRA_sequence); return offset; } static const per_sequence_t PLMN_IdentityList_EUTRA_EPC_sequence_of[1] = { { &hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity }, }; static int dissect_nr_rrc_PLMN_IdentityList_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC, PLMN_IdentityList_EUTRA_EPC_sequence_of, 1, maxPLMN, FALSE); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 28, 28, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t CellAccessRelatedInfo_EUTRA_EPC_sequence[] = { { &hf_nr_rrc_plmn_IdentityList_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityList_EUTRA_EPC }, { &hf_nr_rrc_trackingAreaCode_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 }, { &hf_nr_rrc_cellIdentity_eutra_epc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_28 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC, CellAccessRelatedInfo_EUTRA_EPC_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC_sequence_of[1] = { { &hf_nr_rrc_cgi_info_EPC_list_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC, SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC_sequence_of, 1, maxPLMN, FALSE); return offset; } static const per_sequence_t T_cgi_info_EPC_sequence[] = { { &hf_nr_rrc_cgi_info_EPC_legacy, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC }, { &hf_nr_rrc_cgi_info_EPC_list, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_cgi_info_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cgi_info_EPC, T_cgi_info_EPC_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_maxPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxPLMN, NULL, FALSE); return offset; } static const value_string nr_rrc_PLMN_Identity_EUTRA_5GC_vals[] = { { 0, "plmn-Identity-EUTRA-5GC" }, { 1, "plmn-index" }, { 0, NULL } }; static const per_choice_t PLMN_Identity_EUTRA_5GC_choice[] = { { 0, &hf_nr_rrc_plmn_Identity_EUTRA_5GC, ASN1_NO_EXTENSIONS , dissect_nr_rrc_PLMN_Identity }, { 1, &hf_nr_rrc_plmn_index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_maxPLMN }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_PLMN_Identity_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_Identity_EUTRA_5GC, PLMN_Identity_EUTRA_5GC_choice, NULL); return offset; } static const per_sequence_t PLMN_IdentityList_EUTRA_5GC_sequence_of[1] = { { &hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_Identity_EUTRA_5GC }, }; static int dissect_nr_rrc_PLMN_IdentityList_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC, PLMN_IdentityList_EUTRA_5GC_sequence_of, 1, maxPLMN, FALSE); return offset; } static const value_string nr_rrc_CellIdentity_EUTRA_5GC_vals[] = { { 0, "cellIdentity-EUTRA" }, { 1, "cellId-index" }, { 0, NULL } }; static const per_choice_t CellIdentity_EUTRA_5GC_choice[] = { { 0, &hf_nr_rrc_cellIdentity_EUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_28 }, { 1, &hf_nr_rrc_cellId_index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_maxPLMN }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_CellIdentity_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellIdentity_EUTRA_5GC, CellIdentity_EUTRA_5GC_choice, NULL); return offset; } static const per_sequence_t CellAccessRelatedInfo_EUTRA_5GC_sequence[] = { { &hf_nr_rrc_plmn_IdentityList_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityList_EUTRA_5GC }, { &hf_nr_rrc_trackingAreaCode_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode }, { &hf_nr_rrc_ranac_5gc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RAN_AreaCode }, { &hf_nr_rrc_cellIdentity_eutra_5gc, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity_EUTRA_5GC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC, CellAccessRelatedInfo_EUTRA_5GC_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC_sequence_of[1] = { { &hf_nr_rrc_cgi_info_5GC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC, SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC_sequence_of, 1, maxPLMN, FALSE); return offset; } static int dissect_nr_rrc_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxBandsEUTRA, NULL, FALSE); return offset; } static const per_sequence_t MultiBandInfoListEUTRA_sequence_of[1] = { { &hf_nr_rrc_MultiBandInfoListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA }, }; static int dissect_nr_rrc_MultiBandInfoListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MultiBandInfoListEUTRA, MultiBandInfoListEUTRA_sequence_of, 1, maxMultiBands, FALSE); return offset; } static const value_string nr_rrc_T_freqBandIndicatorPriority_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_freqBandIndicatorPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CGI_InfoEUTRA_sequence[] = { { &hf_nr_rrc_cgi_info_EPC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cgi_info_EPC }, { &hf_nr_rrc_cgi_info_5GC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC }, { &hf_nr_rrc_freqBandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA }, { &hf_nr_rrc_multiBandInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MultiBandInfoListEUTRA }, { &hf_nr_rrc_freqBandIndicatorPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_freqBandIndicatorPriority }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CGI_InfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CGI_InfoEUTRA, CGI_InfoEUTRA_sequence); return offset; } static const per_sequence_t MeasResultEUTRA_sequence[] = { { &hf_nr_rrc_eutra_PhysCellId_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_measResult_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasQuantityResultsEUTRA }, { &hf_nr_rrc_cgi_Info_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CGI_InfoEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResultEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultEUTRA, MeasResultEUTRA_sequence); return offset; } static const per_sequence_t MeasResult2EUTRA_sequence[] = { { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_measResultServingCell_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultEUTRA }, { &hf_nr_rrc_measResultBestNeighCell_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResult2EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResult2EUTRA, MeasResult2EUTRA_sequence); return offset; } static const per_sequence_t MeasResultServFreqListEUTRA_SCG_sequence_of[1] = { { &hf_nr_rrc_MeasResultServFreqListEUTRA_SCG_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA }, }; static int dissect_nr_rrc_MeasResultServFreqListEUTRA_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultServFreqListEUTRA_SCG, MeasResultServFreqListEUTRA_SCG_sequence_of, 1, maxNrofServingCellsEUTRA, FALSE); return offset; } static const per_sequence_t RRM_Config_eag_1_sequence[] = { { &hf_nr_rrc_candidateCellInfoListSN_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultServFreqListEUTRA_SCG }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRM_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RRM_Config_eag_1_sequence); return offset; } static const per_sequence_t RRM_Config_sequence[] = { { &hf_nr_rrc_ue_InactiveTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_InactiveTime }, { &hf_nr_rrc_candidateCellInfoList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2NR }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRM_Config_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRM_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRM_Config, RRM_Config_sequence); return offset; } static int dissect_nr_rrc_ShortMAC_I(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 256, 256, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t ReestabNCellInfo_sequence[] = { { &hf_nr_rrc_cellIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity }, { &hf_nr_rrc_key_gNodeB_Star, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_256 }, { &hf_nr_rrc_shortMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReestabNCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReestabNCellInfo, ReestabNCellInfo_sequence); return offset; } static const per_sequence_t ReestabNCellInfoList_sequence_of[1] = { { &hf_nr_rrc_ReestabNCellInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestabNCellInfo }, }; static int dissect_nr_rrc_ReestabNCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReestabNCellInfoList, ReestabNCellInfoList_sequence_of, 1, maxCellPrep, FALSE); return offset; } static const per_sequence_t ReestablishmentInfo_sequence[] = { { &hf_nr_rrc_sourcePhysCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_targetCellShortMAC_I, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I }, { &hf_nr_rrc_additionalReestabInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ReestabNCellInfoList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReestablishmentInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReestablishmentInfo, ReestablishmentInfo_sequence); return offset; } static int dissect_nr_rrc_BandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxBandComb, NULL, FALSE); return offset; } static int dissect_nr_rrc_FeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxFeatureSetsPerBand, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex_sequence_of[1] = { { &hf_nr_rrc_allowedFeatureSetsList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEntryIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex, SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex_sequence_of, 1, maxFeatureSetsPerBand, FALSE); return offset; } static const per_sequence_t BandCombinationInfo_sequence[] = { { &hf_nr_rrc_bandCombinationIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex }, { &hf_nr_rrc_allowedFeatureSetsList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombinationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationInfo, BandCombinationInfo_sequence); return offset; } static const per_sequence_t BandCombinationInfoList_sequence_of[1] = { { &hf_nr_rrc_BandCombinationInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationInfo }, }; static int dissect_nr_rrc_BandCombinationInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationInfoList, BandCombinationInfoList_sequence_of, 1, maxBandComb, FALSE); return offset; } static int dissect_nr_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -30, 33U, NULL, FALSE); return offset; } static const per_sequence_t T_powerCoordination_FR1_sequence[] = { { &hf_nr_rrc_p_maxNR_FR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_p_maxEUTRA , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_p_maxUE_FR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_powerCoordination_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_powerCoordination_FR1, T_powerCoordination_FR1_sequence); return offset; } static int dissect_nr_rrc_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofServingCells_1, NULL, FALSE); return offset; } static const per_sequence_t T_servCellIndexRangeSCG_sequence[] = { { &hf_nr_rrc_lowBound , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_upBound , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_servCellIndexRangeSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_servCellIndexRangeSCG, T_servCellIndexRangeSCG_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxMeasFreqsMN, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxMeasIdentitiesMN, NULL, FALSE); return offset; } static int dissect_nr_rrc_BandEntryIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofServingCells, NULL, FALSE); return offset; } static const per_sequence_t SelectedBandEntriesMN_sequence_of[1] = { { &hf_nr_rrc_SelectedBandEntriesMN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandEntryIndex }, }; static int dissect_nr_rrc_SelectedBandEntriesMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SelectedBandEntriesMN, SelectedBandEntriesMN_sequence_of, 1, maxSimultaneousBands, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN_sequence_of[1] = { { &hf_nr_rrc_selectedBandEntriesMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SelectedBandEntriesMN }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN, SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN_sequence_of, 1, maxBandComb, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 15U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_16384(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 16384U, NULL, FALSE); return offset; } static const per_sequence_t ConfigRestrictInfoSCG_eag_1_sequence[] = { { &hf_nr_rrc_selectedBandEntriesMNList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN }, { &hf_nr_rrc_pdcch_BlindDetectionSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 }, { &hf_nr_rrc_maxNumberROHC_ContextSessionsSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_16384 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ConfigRestrictInfoSCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictInfoSCG_eag_1_sequence); return offset; } static const per_sequence_t ConfigRestrictInfoSCG_sequence[] = { { &hf_nr_rrc_allowedBC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoList }, { &hf_nr_rrc_powerCoordination_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerCoordination_FR1 }, { &hf_nr_rrc_servCellIndexRangeSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_servCellIndexRangeSCG }, { &hf_nr_rrc_maxMeasFreqsSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN }, { &hf_nr_rrc_maxMeasIdentitiesSCG_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictInfoSCG_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ConfigRestrictInfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ConfigRestrictInfoSCG, ConfigRestrictInfoSCG_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_32_OF_CellIdentity_sequence_of[1] = { { &hf_nr_rrc_ran_AreaCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity, SEQUENCE_SIZE_1_32_OF_CellIdentity_sequence_of, 1, 32, FALSE); return offset; } static const per_sequence_t PLMN_RAN_AreaCell_sequence[] = { { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity }, { &hf_nr_rrc_ran_AreaCells, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PLMN_RAN_AreaCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_RAN_AreaCell, PLMN_RAN_AreaCell_sequence); return offset; } static const per_sequence_t PLMN_RAN_AreaCellList_sequence_of[1] = { { &hf_nr_rrc_PLMN_RAN_AreaCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_RAN_AreaCell }, }; static int dissect_nr_rrc_PLMN_RAN_AreaCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_RAN_AreaCellList, PLMN_RAN_AreaCellList_sequence_of, 1, maxPLMNIdentities, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_32_OF_RAN_AreaCode_sequence_of[1] = { { &hf_nr_rrc_ran_AreaCodeList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAN_AreaCode }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode, SEQUENCE_SIZE_1_32_OF_RAN_AreaCode_sequence_of, 1, 32, FALSE); return offset; } static const per_sequence_t RAN_AreaConfig_sequence[] = { { &hf_nr_rrc_trackingAreaCode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TrackingAreaCode }, { &hf_nr_rrc_ran_AreaCodeList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RAN_AreaConfig, RAN_AreaConfig_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig_sequence_of[1] = { { &hf_nr_rrc_ran_Area_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAN_AreaConfig }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig, SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig_sequence_of, 1, 16, FALSE); return offset; } static const per_sequence_t PLMN_RAN_AreaConfig_sequence[] = { { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity }, { &hf_nr_rrc_ran_Area , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PLMN_RAN_AreaConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_RAN_AreaConfig, PLMN_RAN_AreaConfig_sequence); return offset; } static const per_sequence_t PLMN_RAN_AreaConfigList_sequence_of[1] = { { &hf_nr_rrc_PLMN_RAN_AreaConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_RAN_AreaConfig }, }; static int dissect_nr_rrc_PLMN_RAN_AreaConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PLMN_RAN_AreaConfigList, PLMN_RAN_AreaConfigList_sequence_of, 1, maxPLMNIdentities, FALSE); return offset; } static const value_string nr_rrc_RAN_NotificationAreaInfo_vals[] = { { 0, "cellList" }, { 1, "ran-AreaConfigList" }, { 0, NULL } }; static const per_choice_t RAN_NotificationAreaInfo_choice[] = { { 0, &hf_nr_rrc_cellList , ASN1_EXTENSION_ROOT , dissect_nr_rrc_PLMN_RAN_AreaCellList }, { 1, &hf_nr_rrc_ran_AreaConfigList, ASN1_EXTENSION_ROOT , dissect_nr_rrc_PLMN_RAN_AreaConfigList }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_RAN_NotificationAreaInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RAN_NotificationAreaInfo, RAN_NotificationAreaInfo_choice, NULL); return offset; } static const per_sequence_t AS_Context_eag_1_sequence[] = { { &hf_nr_rrc_ran_NotificationAreaInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RAN_NotificationAreaInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AS_Context_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_1_sequence); return offset; } static int dissect_nr_rrc_T_ueAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UEAssistanceInformation_PDU); return offset; } static const per_sequence_t AS_Context_eag_2_sequence[] = { { &hf_nr_rrc_ueAssistanceInformation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ueAssistanceInformation }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AS_Context_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_2_sequence); return offset; } static const per_sequence_t BandCombinationInfoSN_sequence[] = { { &hf_nr_rrc_bandCombinationIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex }, { &hf_nr_rrc_requestedFeatureSets, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEntryIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombinationInfoSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationInfoSN, BandCombinationInfoSN_sequence); return offset; } static const per_sequence_t AS_Context_eag_3_sequence[] = { { &hf_nr_rrc_selectedBandCombinationSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoSN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AS_Context_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, AS_Context_eag_3_sequence); return offset; } static const per_sequence_t AS_Context_sequence[] = { { &hf_nr_rrc_reestablishmentInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReestablishmentInfo }, { &hf_nr_rrc_configRestrictInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoSCG }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_AS_Context_eag_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AS_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_AS_Context, AS_Context_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_01_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence); return offset; } static const per_sequence_t HandoverPreparationInformation_IEs_sequence[] = { { &hf_nr_rrc_ue_CapabilityRAT_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_ContainerList }, { &hf_nr_rrc_sourceConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AS_Config }, { &hf_nr_rrc_rrm_Config , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRM_Config }, { &hf_nr_rrc_as_Context , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AS_Context }, { &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_HandoverPreparationInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_HandoverPreparationInformation_IEs, HandoverPreparationInformation_IEs_sequence); return offset; } static const value_string nr_rrc_T_c1_01_vals[] = { { 0, "handoverPreparationInformation" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_01_choice[] = { { 0, &hf_nr_rrc_handoverPreparationInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_HandoverPreparationInformation_IEs }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_01, T_c1_01_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_01_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_01_choice[] = { { 0, &hf_nr_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_01 }, { 1, &hf_nr_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_01 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice, NULL); return offset; } static const per_sequence_t HandoverPreparationInformation_sequence[] = { { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_HandoverPreparationInformation, HandoverPreparationInformation_sequence); return offset; } static int dissect_nr_rrc_T_scg_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); return offset; } static int dissect_nr_rrc_T_scg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU); return offset; } static const per_sequence_t ConfigRestrictModReqSCG_eag_1_sequence[] = { { &hf_nr_rrc_requestedPDCCH_BlindDetectionSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 }, { &hf_nr_rrc_requestedP_MaxEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ConfigRestrictModReqSCG_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ConfigRestrictModReqSCG_eag_1_sequence); return offset; } static const per_sequence_t ConfigRestrictModReqSCG_sequence[] = { { &hf_nr_rrc_requestedBC_MRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoSN }, { &hf_nr_rrc_requestedP_MaxFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ConfigRestrictModReqSCG_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ConfigRestrictModReqSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ConfigRestrictModReqSCG, ConfigRestrictModReqSCG_sequence); return offset; } static int dissect_nr_rrc_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 9U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 19U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 31U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 39U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 59U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 63U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_69(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 69U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 79U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 127U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 159U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 319U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 511U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_639(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 639U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1023U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_1279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1279U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 2047U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 2559U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 5119U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_10239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 10239U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_drx_LongCycleStartOffset_vals[] = { { 0, "ms10" }, { 1, "ms20" }, { 2, "ms32" }, { 3, "ms40" }, { 4, "ms60" }, { 5, "ms64" }, { 6, "ms70" }, { 7, "ms80" }, { 8, "ms128" }, { 9, "ms160" }, { 10, "ms256" }, { 11, "ms320" }, { 12, "ms512" }, { 13, "ms640" }, { 14, "ms1024" }, { 15, "ms1280" }, { 16, "ms2048" }, { 17, "ms2560" }, { 18, "ms5120" }, { 19, "ms10240" }, { 0, NULL } }; static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_vals); static const per_choice_t T_drx_LongCycleStartOffset_choice[] = { { 0, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 1, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 2, &hf_nr_rrc_ms32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, { 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 4, &hf_nr_rrc_ms60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_59 }, { 5, &hf_nr_rrc_ms64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 }, { 6, &hf_nr_rrc_ms70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_69 }, { 7, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 8, &hf_nr_rrc_ms128 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_127 }, { 9, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 10, &hf_nr_rrc_ms256 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 }, { 11, &hf_nr_rrc_ms320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 12, &hf_nr_rrc_ms512 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_511 }, { 13, &hf_nr_rrc_ms640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, { 14, &hf_nr_rrc_ms1024 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1023 }, { 15, &hf_nr_rrc_ms1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 }, { 16, &hf_nr_rrc_ms2048 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2047 }, { 17, &hf_nr_rrc_ms2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 }, { 18, &hf_nr_rrc_ms5120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_5119 }, { 19, &hf_nr_rrc_ms10240 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_10239 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_drx_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_drx_LongCycleStartOffset, T_drx_LongCycleStartOffset_choice, NULL); return offset; } static const value_string nr_rrc_T_drx_ShortCycle_vals[] = { { 0, "ms2" }, { 1, "ms3" }, { 2, "ms4" }, { 3, "ms5" }, { 4, "ms6" }, { 5, "ms7" }, { 6, "ms8" }, { 7, "ms10" }, { 8, "ms14" }, { 9, "ms16" }, { 10, "ms20" }, { 11, "ms30" }, { 12, "ms32" }, { 13, "ms35" }, { 14, "ms40" }, { 15, "ms64" }, { 16, "ms80" }, { 17, "ms128" }, { 18, "ms160" }, { 19, "ms256" }, { 20, "ms320" }, { 21, "ms512" }, { 22, "ms640" }, { 23, "spare9" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_drx_ShortCycle_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_vals); static int dissect_nr_rrc_T_drx_ShortCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 16U, NULL, FALSE); return offset; } static const per_sequence_t T_shortDRX_sequence[] = { { &hf_nr_rrc_drx_ShortCycle, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle }, { &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_shortDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_shortDRX, T_shortDRX_sequence); return offset; } static const per_sequence_t DRX_Info_sequence[] = { { &hf_nr_rrc_drx_LongCycleStartOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset }, { &hf_nr_rrc_shortDRX , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DRX_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRX_Info, DRX_Info_sequence); return offset; } static int dissect_nr_rrc_T_candidateCellInfoListSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultList2NR_PDU); return offset; } static const per_sequence_t NR_FreqInfo_sequence[] = { { &hf_nr_rrc_measuredFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NR_FreqInfo, NR_FreqInfo_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo_sequence_of[1] = { { &hf_nr_rrc_measuredFrequenciesSN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_FreqInfo }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo, SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo_sequence_of, 1, maxMeasFreqsSN, FALSE); return offset; } static const per_sequence_t MeasConfigSN_sequence[] = { { &hf_nr_rrc_measuredFrequenciesSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasConfigSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasConfigSN, MeasConfigSN_sequence); return offset; } static const value_string nr_rrc_T_fr_Type_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static int dissect_nr_rrc_T_fr_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t FR_Info_sequence[] = { { &hf_nr_rrc_servCellIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_fr_Type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_fr_Type }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FR_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FR_Info, FR_Info_sequence); return offset; } static const per_sequence_t FR_InfoList_sequence_of[1] = { { &hf_nr_rrc_FR_InfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FR_Info }, }; static int dissect_nr_rrc_FR_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FR_InfoList, FR_InfoList_sequence_of, 1, maxNrofServingCells_1, FALSE); return offset; } static const per_sequence_t CandidateServingFreqListNR_sequence_of[1] = { { &hf_nr_rrc_CandidateServingFreqListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, }; static int dissect_nr_rrc_CandidateServingFreqListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CandidateServingFreqListNR, CandidateServingFreqListNR_sequence_of, 1, maxFreqIDC_MRDC, FALSE); return offset; } static const per_sequence_t T_requestedCellInfo_sequence[] = { { &hf_nr_rrc_ssbFrequency , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_requestedCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_requestedCellInfo, T_requestedCellInfo_sequence); return offset; } static const per_sequence_t T_reportCGI_RequestNR_sequence[] = { { &hf_nr_rrc_requestedCellInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_requestedCellInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reportCGI_RequestNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportCGI_RequestNR, T_reportCGI_RequestNR_sequence); return offset; } static const value_string nr_rrc_T_ph_Type1or3_vals[] = { { 0, "type1" }, { 1, "type3" }, { 0, NULL } }; static int dissect_nr_rrc_T_ph_Type1or3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PH_UplinkCarrierSCG_sequence[] = { { &hf_nr_rrc_ph_Type1or3 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ph_Type1or3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PH_UplinkCarrierSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PH_UplinkCarrierSCG, PH_UplinkCarrierSCG_sequence); return offset; } static const per_sequence_t PH_InfoSCG_sequence[] = { { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_ph_Uplink , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_UplinkCarrierSCG }, { &hf_nr_rrc_ph_SupplementaryUplink, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PH_UplinkCarrierSCG }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PH_InfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PH_InfoSCG, PH_InfoSCG_sequence); return offset; } static const per_sequence_t PH_TypeListSCG_sequence_of[1] = { { &hf_nr_rrc_PH_TypeListSCG_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_InfoSCG }, }; static int dissect_nr_rrc_PH_TypeListSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PH_TypeListSCG, PH_TypeListSCG_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static int dissect_nr_rrc_T_scg_CellGroupConfigEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *scg_cell_group_config_eutra_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &scg_cell_group_config_eutra_tvb); if (scg_cell_group_config_eutra_tvb && lte_rrc_conn_reconf_handle) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_scg_CellGroupConfigEUTRA); nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, scg_cell_group_config_eutra_tvb, actx->pinfo, subtree); } return offset; } static int dissect_nr_rrc_T_candidateCellInfoListSN_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &cand_cell_info_list_sn_eutra_tvb); if (cand_cell_info_list_sn_eutra_tvb) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA); dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t CandidateServingFreqListEUTRA_sequence_of[1] = { { &hf_nr_rrc_CandidateServingFreqListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, }; static int dissect_nr_rrc_CandidateServingFreqListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CandidateServingFreqListEUTRA, CandidateServingFreqListEUTRA_sequence_of, 1, maxFreqIDC_MRDC, FALSE); return offset; } static const value_string nr_rrc_T_needForGaps_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_needForGaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 31U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_milliSeconds_vals[] = { { 0, "ms1" }, { 1, "ms2" }, { 2, "ms3" }, { 3, "ms4" }, { 4, "ms5" }, { 5, "ms6" }, { 6, "ms8" }, { 7, "ms10" }, { 8, "ms20" }, { 9, "ms30" }, { 10, "ms40" }, { 11, "ms50" }, { 12, "ms60" }, { 13, "ms80" }, { 14, "ms100" }, { 15, "ms200" }, { 16, "ms300" }, { 17, "ms400" }, { 18, "ms500" }, { 19, "ms600" }, { 20, "ms800" }, { 21, "ms1000" }, { 22, "ms1200" }, { 23, "ms1600" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_milliSeconds_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_vals); static int dissect_nr_rrc_T_milliSeconds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_drx_onDurationTimer_vals[] = { { 0, "subMilliSeconds" }, { 1, "milliSeconds" }, { 0, NULL } }; static const per_choice_t T_drx_onDurationTimer_choice[] = { { 0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_31 }, { 1, &hf_nr_rrc_milliSeconds , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_milliSeconds }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_drx_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_drx_onDurationTimer, T_drx_onDurationTimer_choice, NULL); return offset; } static const value_string nr_rrc_T_drx_InactivityTimer_vals[] = { { 0, "ms0" }, { 1, "ms1" }, { 2, "ms2" }, { 3, "ms3" }, { 4, "ms4" }, { 5, "ms5" }, { 6, "ms6" }, { 7, "ms8" }, { 8, "ms10" }, { 9, "ms20" }, { 10, "ms30" }, { 11, "ms40" }, { 12, "ms50" }, { 13, "ms60" }, { 14, "ms80" }, { 15, "ms100" }, { 16, "ms200" }, { 17, "ms300" }, { 18, "ms500" }, { 19, "ms750" }, { 20, "ms1280" }, { 21, "ms1920" }, { 22, "ms2560" }, { 23, "spare9" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_drx_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_InactivityTimer_vals); static int dissect_nr_rrc_T_drx_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 56U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_drx_RetransmissionTimerDL_vals[] = { { 0, "sl0" }, { 1, "sl1" }, { 2, "sl2" }, { 3, "sl4" }, { 4, "sl6" }, { 5, "sl8" }, { 6, "sl16" }, { 7, "sl24" }, { 8, "sl33" }, { 9, "sl40" }, { 10, "sl64" }, { 11, "sl80" }, { 12, "sl96" }, { 13, "sl112" }, { 14, "sl128" }, { 15, "sl160" }, { 16, "sl320" }, { 17, "spare15" }, { 18, "spare14" }, { 19, "spare13" }, { 20, "spare12" }, { 21, "spare11" }, { 22, "spare10" }, { 23, "spare9" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_drx_RetransmissionTimerDL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerDL_vals); static int dissect_nr_rrc_T_drx_RetransmissionTimerDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_drx_RetransmissionTimerUL_vals[] = { { 0, "sl0" }, { 1, "sl1" }, { 2, "sl2" }, { 3, "sl4" }, { 4, "sl6" }, { 5, "sl8" }, { 6, "sl16" }, { 7, "sl24" }, { 8, "sl33" }, { 9, "sl40" }, { 10, "sl64" }, { 11, "sl80" }, { 12, "sl96" }, { 13, "sl112" }, { 14, "sl128" }, { 15, "sl160" }, { 16, "sl320" }, { 17, "spare15" }, { 18, "spare14" }, { 19, "spare13" }, { 20, "spare12" }, { 21, "spare11" }, { 22, "spare10" }, { 23, "spare9" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_drx_RetransmissionTimerUL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerUL_vals); static int dissect_nr_rrc_T_drx_RetransmissionTimerUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_drx_LongCycleStartOffset_01_vals[] = { { 0, "ms10" }, { 1, "ms20" }, { 2, "ms32" }, { 3, "ms40" }, { 4, "ms60" }, { 5, "ms64" }, { 6, "ms70" }, { 7, "ms80" }, { 8, "ms128" }, { 9, "ms160" }, { 10, "ms256" }, { 11, "ms320" }, { 12, "ms512" }, { 13, "ms640" }, { 14, "ms1024" }, { 15, "ms1280" }, { 16, "ms2048" }, { 17, "ms2560" }, { 18, "ms5120" }, { 19, "ms10240" }, { 0, NULL } }; static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_01_vals); static const per_choice_t T_drx_LongCycleStartOffset_01_choice[] = { { 0, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 1, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 2, &hf_nr_rrc_ms32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, { 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 4, &hf_nr_rrc_ms60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_59 }, { 5, &hf_nr_rrc_ms64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 }, { 6, &hf_nr_rrc_ms70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_69 }, { 7, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 8, &hf_nr_rrc_ms128 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_127 }, { 9, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 10, &hf_nr_rrc_ms256 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 }, { 11, &hf_nr_rrc_ms320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 12, &hf_nr_rrc_ms512 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_511 }, { 13, &hf_nr_rrc_ms640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, { 14, &hf_nr_rrc_ms1024 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1023 }, { 15, &hf_nr_rrc_ms1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 }, { 16, &hf_nr_rrc_ms2048 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2047 }, { 17, &hf_nr_rrc_ms2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 }, { 18, &hf_nr_rrc_ms5120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_5119 }, { 19, &hf_nr_rrc_ms10240 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_10239 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_drx_LongCycleStartOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_drx_LongCycleStartOffset_01, T_drx_LongCycleStartOffset_01_choice, NULL); return offset; } static const value_string nr_rrc_T_drx_ShortCycle_01_vals[] = { { 0, "ms2" }, { 1, "ms3" }, { 2, "ms4" }, { 3, "ms5" }, { 4, "ms6" }, { 5, "ms7" }, { 6, "ms8" }, { 7, "ms10" }, { 8, "ms14" }, { 9, "ms16" }, { 10, "ms20" }, { 11, "ms30" }, { 12, "ms32" }, { 13, "ms35" }, { 14, "ms40" }, { 15, "ms64" }, { 16, "ms80" }, { 17, "ms128" }, { 18, "ms160" }, { 19, "ms256" }, { 20, "ms320" }, { 21, "ms512" }, { 22, "ms640" }, { 23, "spare9" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_drx_ShortCycle_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_01_vals); static int dissect_nr_rrc_T_drx_ShortCycle_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_shortDRX_01_sequence[] = { { &hf_nr_rrc_drx_ShortCycle_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle_01 }, { &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_shortDRX_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_shortDRX_01, T_shortDRX_01_sequence); return offset; } static const per_sequence_t DRX_Config_sequence[] = { { &hf_nr_rrc_drx_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer }, { &hf_nr_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer }, { &hf_nr_rrc_drx_HARQ_RTT_TimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 }, { &hf_nr_rrc_drx_HARQ_RTT_TimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 }, { &hf_nr_rrc_drx_RetransmissionTimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerDL }, { &hf_nr_rrc_drx_RetransmissionTimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerUL }, { &hf_nr_rrc_drx_LongCycleStartOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset_01 }, { &hf_nr_rrc_shortDRX_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_01 }, { &hf_nr_rrc_drx_SlotOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRX_Config, DRX_Config_sequence); return offset; } static int dissect_nr_rrc_EUTRA_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 503U, NULL, FALSE); return offset; } static const per_sequence_t T_requestedCellInfoEUTRA_sequence[] = { { &hf_nr_rrc_eutraFrequency, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_cellForWhichToReportCGI_EUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_requestedCellInfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_requestedCellInfoEUTRA, T_requestedCellInfoEUTRA_sequence); return offset; } static const per_sequence_t T_reportCGI_RequestEUTRA_sequence[] = { { &hf_nr_rrc_requestedCellInfoEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_requestedCellInfoEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reportCGI_RequestEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportCGI_RequestEUTRA, T_reportCGI_RequestEUTRA_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_02_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence); return offset; } static const per_sequence_t CG_Config_v1560_IEs_sequence[] = { { &hf_nr_rrc_pSCellFrequencyEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_scg_CellGroupConfigEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_CellGroupConfigEUTRA }, { &hf_nr_rrc_candidateCellInfoListSN_EUTRA_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN_EUTRA }, { &hf_nr_rrc_candidateServingFreqListEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CandidateServingFreqListEUTRA }, { &hf_nr_rrc_needForGaps , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_needForGaps }, { &hf_nr_rrc_drx_ConfigSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Config }, { &hf_nr_rrc_reportCGI_RequestEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportCGI_RequestEUTRA }, { &hf_nr_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_Config_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_Config_v1560_IEs, CG_Config_v1560_IEs_sequence); return offset; } static const per_sequence_t CG_Config_v1540_IEs_sequence[] = { { &hf_nr_rrc_pSCellFrequency, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_reportCGI_RequestNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportCGI_RequestNR }, { &hf_nr_rrc_ph_InfoSCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PH_TypeListSCG }, { &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_Config_v1560_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_Config_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_Config_v1540_IEs, CG_Config_v1540_IEs_sequence); return offset; } static const per_sequence_t CG_Config_IEs_sequence[] = { { &hf_nr_rrc_scg_CellGroupConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_CellGroupConfig }, { &hf_nr_rrc_scg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config }, { &hf_nr_rrc_configRestrictModReq, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictModReqSCG }, { &hf_nr_rrc_drx_InfoSCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info }, { &hf_nr_rrc_candidateCellInfoListSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN }, { &hf_nr_rrc_measConfigSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfigSN }, { &hf_nr_rrc_selectedBandCombination, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationInfoSN }, { &hf_nr_rrc_fr_InfoListSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FR_InfoList }, { &hf_nr_rrc_candidateServingFreqListNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CandidateServingFreqListNR }, { &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_Config_v1540_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_Config_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_Config_IEs, CG_Config_IEs_sequence); return offset; } static const value_string nr_rrc_T_c1_02_vals[] = { { 0, "cg-Config" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_02_choice[] = { { 0, &hf_nr_rrc_cg_Config , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_Config_IEs }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_02, T_c1_02_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_02_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_02_choice[] = { { 0, &hf_nr_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_02 }, { 1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_02 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice, NULL); return offset; } static const per_sequence_t CG_Config_sequence[] = { { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_Config, CG_Config_sequence); return offset; } static int dissect_nr_rrc_T_ue_CapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU); return offset; } static int dissect_nr_rrc_T_candidateCellInfoListSN_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultList2NR_PDU); return offset; } static int dissect_nr_rrc_INTEGER_M30720_30719(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -30720, 30719U, NULL, FALSE); return offset; } static const per_sequence_t MeasResultCellSFTD_NR_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_sfn_OffsetResult, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 }, { &hf_nr_rrc_frameBoundaryOffsetResult, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30720_30719 }, { &hf_nr_rrc_rsrp_Result , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResultCellSFTD_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultCellSFTD_NR, MeasResultCellSFTD_NR_sequence); return offset; } static const per_sequence_t MeasResultCellListSFTD_NR_sequence_of[1] = { { &hf_nr_rrc_MeasResultCellListSFTD_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCellSFTD_NR }, }; static int dissect_nr_rrc_MeasResultCellListSFTD_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultCellListSFTD_NR, MeasResultCellListSFTD_NR_sequence_of, 1, maxCellSFTD, FALSE); return offset; } static const value_string nr_rrc_T_failureType_vals[] = { { 0, "t310-Expiry" }, { 1, "randomAccessProblem" }, { 2, "rlc-MaxNumRetx" }, { 3, "synchReconfigFailure-SCG" }, { 4, "scg-reconfigFailure" }, { 5, "srb3-IntegrityFailure" }, { 0, NULL } }; static int dissect_nr_rrc_T_failureType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_T_measResultSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MeasResultSCG_Failure_PDU); return offset; } static const per_sequence_t T_scgFailureInfo_sequence[] = { { &hf_nr_rrc_failureType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType }, { &hf_nr_rrc_measResultSCG, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResultSCG }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_scgFailureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_scgFailureInfo, T_scgFailureInfo_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of[1] = { { &hf_nr_rrc_measuredFrequenciesMN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_FreqInfo }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo, SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of, 1, maxMeasFreqsMN, FALSE); return offset; } static const value_string nr_rrc_T_mgl_vals[] = { { 0, "ms1dot5" }, { 1, "ms3" }, { 2, "ms3dot5" }, { 3, "ms4" }, { 4, "ms5dot5" }, { 5, "ms6" }, { 0, NULL } }; static int dissect_nr_rrc_T_mgl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mgrp_vals[] = { { 0, "ms20" }, { 1, "ms40" }, { 2, "ms80" }, { 3, "ms160" }, { 0, NULL } }; static int dissect_nr_rrc_T_mgrp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mgta_vals[] = { { 0, "ms0" }, { 1, "ms0dot25" }, { 2, "ms0dot5" }, { 0, NULL } }; static int dissect_nr_rrc_T_mgta(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_refServCellIndicator_vals[] = { { 0, "pCell" }, { 1, "pSCell" }, { 2, "mcg-FR2" }, { 0, NULL } }; static int dissect_nr_rrc_T_refServCellIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t GapConfig_eag_1_sequence[] = { { &hf_nr_rrc_refServCellIndicator, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_refServCellIndicator }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_GapConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, GapConfig_eag_1_sequence); return offset; } static const per_sequence_t GapConfig_sequence[] = { { &hf_nr_rrc_gapOffset , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 }, { &hf_nr_rrc_mgl , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgl }, { &hf_nr_rrc_mgrp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgrp }, { &hf_nr_rrc_mgta , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgta }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_GapConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_GapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_GapConfig, GapConfig_sequence); return offset; } static const value_string nr_rrc_T_measGapConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_measGapConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_measGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measGapConfig, T_measGapConfig_choice, NULL); return offset; } static const value_string nr_rrc_T_gapPurpose_vals[] = { { 0, "perUE" }, { 1, "perFR1" }, { 0, NULL } }; static int dissect_nr_rrc_T_gapPurpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_measGapConfigFR2_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_measGapConfigFR2_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_measGapConfigFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measGapConfigFR2, T_measGapConfigFR2_choice, NULL); return offset; } static const per_sequence_t MeasConfigMN_eag_1_sequence[] = { { &hf_nr_rrc_measGapConfigFR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measGapConfigFR2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasConfigMN_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasConfigMN_eag_1_sequence); return offset; } static const per_sequence_t MeasConfigMN_sequence[] = { { &hf_nr_rrc_measuredFrequenciesMN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo }, { &hf_nr_rrc_measGapConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measGapConfig }, { &hf_nr_rrc_gapPurpose , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapPurpose }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasConfigMN_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasConfigMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasConfigMN, MeasConfigMN_sequence); return offset; } static int dissect_nr_rrc_T_sourceConfigSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); return offset; } static int dissect_nr_rrc_T_scg_RB_Config_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU); return offset; } static int dissect_nr_rrc_T_mcg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU); return offset; } static const value_string nr_rrc_T_gps_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_gps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_glonass_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_glonass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bds_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_bds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_galileo_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_galileo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_wlan_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_wlan(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bluetooth_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_bluetooth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t VictimSystemType_sequence[] = { { &hf_nr_rrc_gps , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gps }, { &hf_nr_rrc_glonass , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_glonass }, { &hf_nr_rrc_bds , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bds }, { &hf_nr_rrc_galileo , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_galileo }, { &hf_nr_rrc_wlan , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_wlan }, { &hf_nr_rrc_bluetooth , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bluetooth }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_VictimSystemType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_VictimSystemType, VictimSystemType_sequence); return offset; } static const value_string nr_rrc_T_interferenceDirectionMRDC_vals[] = { { 0, "eutra-nr" }, { 1, "nr" }, { 2, "other" }, { 3, "utra-nr-other" }, { 4, "nr-other" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_interferenceDirectionMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t AffectedCarrierFreqCombEUTRA_sequence_of[1] = { { &hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, }; static int dissect_nr_rrc_AffectedCarrierFreqCombEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_AffectedCarrierFreqCombEUTRA, AffectedCarrierFreqCombEUTRA_sequence_of, 1, maxNrofServingCellsEUTRA, FALSE); return offset; } static const per_sequence_t AffectedCarrierFreqCombNR_sequence_of[1] = { { &hf_nr_rrc_AffectedCarrierFreqCombNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, }; static int dissect_nr_rrc_AffectedCarrierFreqCombNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_AffectedCarrierFreqCombNR, AffectedCarrierFreqCombNR_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const per_sequence_t T_affectedCarrierFreqCombMRDC_sequence[] = { { &hf_nr_rrc_affectedCarrierFreqCombEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AffectedCarrierFreqCombEUTRA }, { &hf_nr_rrc_affectedCarrierFreqCombNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqCombNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_affectedCarrierFreqCombMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_affectedCarrierFreqCombMRDC, T_affectedCarrierFreqCombMRDC_sequence); return offset; } static const per_sequence_t AffectedCarrierFreqCombInfoMRDC_sequence[] = { { &hf_nr_rrc_victimSystemType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_VictimSystemType }, { &hf_nr_rrc_interferenceDirectionMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interferenceDirectionMRDC }, { &hf_nr_rrc_affectedCarrierFreqCombMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_affectedCarrierFreqCombMRDC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_AffectedCarrierFreqCombInfoMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC, AffectedCarrierFreqCombInfoMRDC_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC_sequence_of[1] = { { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AffectedCarrierFreqCombInfoMRDC }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC, SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC_sequence_of, 1, maxNrofCombIDC, FALSE); return offset; } static const per_sequence_t MRDC_AssistanceInfo_sequence[] = { { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MRDC_AssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MRDC_AssistanceInfo, MRDC_AssistanceInfo_sequence); return offset; } static const value_string nr_rrc_T_ph_Type1or3_01_vals[] = { { 0, "type1" }, { 1, "type3" }, { 0, NULL } }; static int dissect_nr_rrc_T_ph_Type1or3_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PH_UplinkCarrierMCG_sequence[] = { { &hf_nr_rrc_ph_Type1or3_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ph_Type1or3_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PH_UplinkCarrierMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PH_UplinkCarrierMCG, PH_UplinkCarrierMCG_sequence); return offset; } static const per_sequence_t PH_InfoMCG_sequence[] = { { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_ph_Uplink_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_UplinkCarrierMCG }, { &hf_nr_rrc_ph_SupplementaryUplink_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PH_UplinkCarrierMCG }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PH_InfoMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PH_InfoMCG, PH_InfoMCG_sequence); return offset; } static const per_sequence_t PH_TypeListMCG_sequence_of[1] = { { &hf_nr_rrc_PH_TypeListMCG_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PH_InfoMCG }, }; static int dissect_nr_rrc_PH_TypeListMCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PH_TypeListMCG, PH_TypeListMCG_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const per_sequence_t T_measResultReportCGI_sequence[] = { { &hf_nr_rrc_ssbFrequency , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_cgi_Info , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_measResultReportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measResultReportCGI, T_measResultReportCGI_sequence); return offset; } static int dissect_nr_rrc_T_candidateCellInfoListMN_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *cand_cell_info_list_mn_eutra_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &cand_cell_info_list_mn_eutra_tvb); if (cand_cell_info_list_mn_eutra_tvb) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListMN_EUTRA); dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_mn_eutra_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_nr_rrc_T_candidateCellInfoListSN_EUTRA_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *cand_cell_info_list_sn_eutra_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &cand_cell_info_list_sn_eutra_tvb); if (cand_cell_info_list_sn_eutra_tvb) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_candidateCellInfoListSN_EUTRA); dissect_lte_rrc_MeasResultList3EUTRA_r15_PDU(cand_cell_info_list_sn_eutra_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_nr_rrc_T_sourceConfigSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *source_config_scg_eutra_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &source_config_scg_eutra_tvb); if (source_config_scg_eutra_tvb && lte_rrc_conn_reconf_handle) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_sourceConfigSCG_EUTRA); nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, source_config_scg_eutra_tvb, actx->pinfo, subtree); } return offset; } static const value_string nr_rrc_T_failureTypeEUTRA_vals[] = { { 0, "t313-Expiry" }, { 1, "randomAccessProblem" }, { 2, "rlc-MaxNumRetx" }, { 3, "scg-ChangeFailure" }, { 0, NULL } }; static int dissect_nr_rrc_T_failureTypeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, NULL); return offset; } static const per_sequence_t T_scgFailureInfoEUTRA_sequence[] = { { &hf_nr_rrc_failureTypeEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureTypeEUTRA }, { &hf_nr_rrc_measResultSCG_EUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_scgFailureInfoEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_scgFailureInfoEUTRA, T_scgFailureInfoEUTRA_sequence); return offset; } static const per_sequence_t T_measResultReportCGI_EUTRA_sequence[] = { { &hf_nr_rrc_eutraFrequency, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_cellForWhichToReportCGI_EUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, { &hf_nr_rrc_cgi_InfoEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CGI_InfoEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_measResultReportCGI_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measResultReportCGI_EUTRA, T_measResultReportCGI_EUTRA_sequence); return offset; } static const per_sequence_t MeasResultSFTD_EUTRA_sequence[] = { { &hf_nr_rrc_eutra_PhysCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, { &hf_nr_rrc_sfn_OffsetResult, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 }, { &hf_nr_rrc_frameBoundaryOffsetResult, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30720_30719 }, { &hf_nr_rrc_rsrp_Result , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResultSFTD_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultSFTD_EUTRA, MeasResultSFTD_EUTRA_sequence); return offset; } static const per_sequence_t MeasResultCellListSFTD_EUTRA_sequence_of[1] = { { &hf_nr_rrc_MeasResultCellListSFTD_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultSFTD_EUTRA }, }; static int dissect_nr_rrc_MeasResultCellListSFTD_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultCellListSFTD_EUTRA, MeasResultCellListSFTD_EUTRA_sequence_of, 1, maxCellSFTD, FALSE); return offset; } static const per_sequence_t SFTD_FrequencyList_NR_sequence_of[1] = { { &hf_nr_rrc_SFTD_FrequencyList_NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, }; static int dissect_nr_rrc_SFTD_FrequencyList_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SFTD_FrequencyList_NR, SFTD_FrequencyList_NR_sequence_of, 1, maxCellSFTD, FALSE); return offset; } static const per_sequence_t SFTD_FrequencyList_EUTRA_sequence_of[1] = { { &hf_nr_rrc_SFTD_FrequencyList_EUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, }; static int dissect_nr_rrc_SFTD_FrequencyList_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SFTD_FrequencyList_EUTRA, SFTD_FrequencyList_EUTRA_sequence_of, 1, maxCellSFTD, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_03_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence); return offset; } static const per_sequence_t CG_ConfigInfo_v1570_IEs_sequence[] = { { &hf_nr_rrc_sftdFrequencyList_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SFTD_FrequencyList_NR }, { &hf_nr_rrc_sftdFrequencyList_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SFTD_FrequencyList_EUTRA }, { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_ConfigInfo_v1570_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_ConfigInfo_v1570_IEs, CG_ConfigInfo_v1570_IEs_sequence); return offset; } static const per_sequence_t CG_ConfigInfo_v1560_IEs_sequence[] = { { &hf_nr_rrc_candidateCellInfoListMN_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListMN_EUTRA }, { &hf_nr_rrc_candidateCellInfoListSN_EUTRA_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN_EUTRA_01 }, { &hf_nr_rrc_sourceConfigSCG_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceConfigSCG_EUTRA }, { &hf_nr_rrc_scgFailureInfoEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scgFailureInfoEUTRA }, { &hf_nr_rrc_drx_ConfigMCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Config }, { &hf_nr_rrc_measResultReportCGI_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultReportCGI_EUTRA }, { &hf_nr_rrc_measResultCellListSFTD_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCellListSFTD_EUTRA }, { &hf_nr_rrc_fr_InfoListMCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FR_InfoList }, { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1570_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_ConfigInfo_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_ConfigInfo_v1560_IEs, CG_ConfigInfo_v1560_IEs_sequence); return offset; } static const per_sequence_t CG_ConfigInfo_v1540_IEs_sequence[] = { { &hf_nr_rrc_ph_InfoMCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PH_TypeListMCG }, { &hf_nr_rrc_measResultReportCGI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultReportCGI }, { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1560_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_ConfigInfo_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_ConfigInfo_v1540_IEs, CG_ConfigInfo_v1540_IEs_sequence); return offset; } static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = { { &hf_nr_rrc_ue_CapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_CapabilityInfo }, { &hf_nr_rrc_candidateCellInfoListMN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2NR }, { &hf_nr_rrc_candidateCellInfoListSN_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN_01 }, { &hf_nr_rrc_measResultCellListSFTD_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCellListSFTD_NR }, { &hf_nr_rrc_scgFailureInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scgFailureInfo }, { &hf_nr_rrc_configRestrictInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoSCG }, { &hf_nr_rrc_drx_InfoMCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info }, { &hf_nr_rrc_measConfigMN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfigMN }, { &hf_nr_rrc_sourceConfigSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceConfigSCG }, { &hf_nr_rrc_scg_RB_Config_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config_01 }, { &hf_nr_rrc_mcg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcg_RB_Config }, { &hf_nr_rrc_mrdc_AssistanceInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MRDC_AssistanceInfo }, { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CG_ConfigInfo_v1540_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_ConfigInfo_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_ConfigInfo_IEs, CG_ConfigInfo_IEs_sequence); return offset; } static const value_string nr_rrc_T_c1_03_vals[] = { { 0, "cg-ConfigInfo" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_03_choice[] = { { 0, &hf_nr_rrc_cg_ConfigInfo, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_ConfigInfo_IEs }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_03, T_c1_03_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_03_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_03_choice[] = { { 0, &hf_nr_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_03 }, { 1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_03 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice, NULL); return offset; } static const per_sequence_t CG_ConfigInfo_sequence[] = { { &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_ConfigInfo, CG_ConfigInfo_sequence); return offset; } static const value_string nr_rrc_SubcarrierSpacing_vals[] = { { 0, "kHz15" }, { 1, "kHz30" }, { 2, "kHz60" }, { 3, "kHz120" }, { 4, "kHz240" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_periodicityAndOffset_01_vals[] = { { 0, "sf5" }, { 1, "sf10" }, { 2, "sf20" }, { 3, "sf40" }, { 4, "sf80" }, { 5, "sf160" }, { 0, NULL } }; static const per_choice_t T_periodicityAndOffset_01_choice[] = { { 0, &hf_nr_rrc_sf5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, { 1, &hf_nr_rrc_sf10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 2, &hf_nr_rrc_sf20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 3, &hf_nr_rrc_sf40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 4, &hf_nr_rrc_sf80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 5, &hf_nr_rrc_sf160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_periodicityAndOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_periodicityAndOffset_01, T_periodicityAndOffset_01_choice, NULL); return offset; } static const value_string nr_rrc_T_duration_vals[] = { { 0, "sf1" }, { 1, "sf2" }, { 2, "sf3" }, { 3, "sf4" }, { 4, "sf5" }, { 0, NULL } }; static int dissect_nr_rrc_T_duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SSB_MTC_sequence[] = { { &hf_nr_rrc_periodicityAndOffset_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset_01 }, { &hf_nr_rrc_duration_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SSB_MTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SSB_MTC, SSB_MTC_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_1_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 80, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); return offset; } static const per_sequence_t SS_RSSI_Measurement_sequence[] = { { &hf_nr_rrc_measurementSlots, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_80 }, { &hf_nr_rrc_endSymbol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SS_RSSI_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SS_RSSI_Measurement, SS_RSSI_Measurement_sequence); return offset; } static const per_sequence_t T_frequencyAndTiming_sequence[] = { { &hf_nr_rrc_carrierFreq , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_ssb_MeasurementTimingConfiguration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC }, { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_frequencyAndTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_frequencyAndTiming, T_frequencyAndTiming_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 4, 4, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 64, 64, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_SSB_ToMeasure_vals[] = { { 0, "shortBitmap" }, { 1, "mediumBitmap" }, { 2, "longBitmap" }, { 0, NULL } }; static const per_choice_t SSB_ToMeasure_choice[] = { { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_SSB_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SSB_ToMeasure, SSB_ToMeasure_choice, NULL); return offset; } static const per_sequence_t MeasTiming_eag_1_sequence[] = { { &hf_nr_rrc_ssb_ToMeasure, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ToMeasure }, { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasTiming_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasTiming_eag_1_sequence); return offset; } static const per_sequence_t MeasTiming_sequence[] = { { &hf_nr_rrc_frequencyAndTiming, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyAndTiming }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTiming_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasTiming, MeasTiming_sequence); return offset; } static const per_sequence_t MeasTimingList_sequence_of[1] = { { &hf_nr_rrc_MeasTimingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTiming }, }; static int dissect_nr_rrc_MeasTimingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasTimingList, MeasTimingList_sequence_of, 1, maxMeasFreqsMN, FALSE); return offset; } static int dissect_nr_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); return offset; } static const per_sequence_t T_nonCriticalExtension_04_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence); return offset; } static const per_sequence_t MeasurementTimingConfiguration_v1550_IEs_sequence[] = { { &hf_nr_rrc_campOnFirstSSB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_psCellOnlyOnFirstSSB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasurementTimingConfiguration_v1550_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs, MeasurementTimingConfiguration_v1550_IEs_sequence); return offset; } static const per_sequence_t MeasurementTimingConfiguration_IEs_sequence[] = { { &hf_nr_rrc_measTiming , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasTimingList }, { &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasurementTimingConfiguration_v1550_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasurementTimingConfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasurementTimingConfiguration_IEs, MeasurementTimingConfiguration_IEs_sequence); return offset; } static const value_string nr_rrc_T_c1_04_vals[] = { { 0, "measTimingConf" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_04_choice[] = { { 0, &hf_nr_rrc_measTimingConf, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementTimingConfiguration_IEs }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_04, T_c1_04_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_04_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_04_choice[] = { { 0, &hf_nr_rrc_c1_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_04 }, { 1, &hf_nr_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_04 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice, NULL); return offset; } static const per_sequence_t MeasurementTimingConfiguration_sequence[] = { { &hf_nr_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_04 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasurementTimingConfiguration, MeasurementTimingConfiguration_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR_sequence_of[1] = { { &hf_nr_rrc_supportedBandListNRForPaging_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR, SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR_sequence_of, 1, maxBands, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_05_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence); return offset; } static const per_sequence_t UERadioPagingInformation_IEs_sequence[] = { { &hf_nr_rrc_supportedBandListNRForPaging, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR }, { &hf_nr_rrc_nonCriticalExtension_11, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UERadioPagingInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UERadioPagingInformation_IEs, UERadioPagingInformation_IEs_sequence); return offset; } static const value_string nr_rrc_T_c1_05_vals[] = { { 0, "ueRadioPagingInformation" }, { 1, "spare7" }, { 2, "spare6" }, { 3, "spare5" }, { 4, "spare4" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_05_choice[] = { { 0, &hf_nr_rrc_ueRadioPagingInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UERadioPagingInformation_IEs }, { 1, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 4, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 5, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 6, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 7, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_05, T_c1_05_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_05_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_05_choice[] = { { 0, &hf_nr_rrc_c1_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_05 }, { 1, &hf_nr_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_05 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice, NULL); return offset; } static const per_sequence_t UERadioPagingInformation_sequence[] = { { &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UERadioPagingInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UERadioPagingInformation, UERadioPagingInformation_sequence); return offset; } static int dissect_nr_rrc_T_ue_RadioAccessCapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU); return offset; } static const per_sequence_t T_nonCriticalExtension_06_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence); return offset; } static const per_sequence_t UERadioAccessCapabilityInformation_IEs_sequence[] = { { &hf_nr_rrc_ue_RadioAccessCapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ue_RadioAccessCapabilityInfo }, { &hf_nr_rrc_nonCriticalExtension_12, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UERadioAccessCapabilityInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UERadioAccessCapabilityInformation_IEs, UERadioAccessCapabilityInformation_IEs_sequence); return offset; } static const value_string nr_rrc_T_c1_06_vals[] = { { 0, "ueRadioAccessCapabilityInformation" }, { 1, "spare7" }, { 2, "spare6" }, { 3, "spare5" }, { 4, "spare4" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_06_choice[] = { { 0, &hf_nr_rrc_ueRadioAccessCapabilityInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UERadioAccessCapabilityInformation_IEs }, { 1, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 4, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 5, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 6, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 7, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_06, T_c1_06_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_06_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_06_choice[] = { { 0, &hf_nr_rrc_c1_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_06 }, { 1, &hf_nr_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_06 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice, NULL); return offset; } static const per_sequence_t UERadioAccessCapabilityInformation_sequence[] = { { &hf_nr_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_06 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UERadioAccessCapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UERadioAccessCapabilityInformation, UERadioAccessCapabilityInformation_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 6, 6, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_subCarrierSpacingCommon_vals[] = { { 0, "scs15or60" }, { 1, "scs30or120" }, { 0, NULL } }; static int dissect_nr_rrc_T_subCarrierSpacingCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dmrs_TypeA_Position_vals[] = { { 0, "pos2" }, { 1, "pos3" }, { 0, NULL } }; static int dissect_nr_rrc_T_dmrs_TypeA_Position(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_cellBarred_vals[] = { { 0, "barred" }, { 1, "notBarred" }, { 0, NULL } }; static int dissect_nr_rrc_T_cellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_intraFreqReselection_vals[] = { { 0, "allowed" }, { 1, "notAllowed" }, { 0, NULL } }; static int dissect_nr_rrc_T_intraFreqReselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 1, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t MIB_sequence[] = { { &hf_nr_rrc_systemFrameNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 }, { &hf_nr_rrc_subCarrierSpacingCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subCarrierSpacingCommon }, { &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_dmrs_TypeA_Position, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position }, { &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigSIB1 }, { &hf_nr_rrc_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellBarred }, { &hf_nr_rrc_intraFreqReselection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqReselection }, { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MIB, MIB_sequence); return offset; } static const per_sequence_t T_messageClassExtension_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension, T_messageClassExtension_sequence); return offset; } static const value_string nr_rrc_BCCH_BCH_MessageType_vals[] = { { 0, "mib" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t BCCH_BCH_MessageType_choice[] = { { 0, &hf_nr_rrc_mib , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MIB }, { 1, &hf_nr_rrc_messageClassExtension, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_BCCH_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BCCH_BCH_MessageType, BCCH_BCH_MessageType_choice, NULL); return offset; } static const per_sequence_t BCCH_BCH_Message_sequence[] = { { &hf_nr_rrc_message , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_BCH_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BCCH_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BCCH_BCH_Message, BCCH_BCH_Message_sequence); return offset; } static int dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, maxNrofSS_BlocksToAverage, NULL, FALSE); return offset; } static const per_sequence_t ThresholdNR_sequence[] = { { &hf_nr_rrc_thresholdRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, { &hf_nr_rrc_thresholdRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range }, { &hf_nr_rrc_thresholdSINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ThresholdNR, ThresholdNR_sequence); return offset; } static const value_string nr_rrc_Q_OffsetRange_vals[] = { { 0, "dB-24" }, { 1, "dB-22" }, { 2, "dB-20" }, { 3, "dB-18" }, { 4, "dB-16" }, { 5, "dB-14" }, { 6, "dB-12" }, { 7, "dB-10" }, { 8, "dB-8" }, { 9, "dB-6" }, { 10, "dB-5" }, { 11, "dB-4" }, { 12, "dB-3" }, { 13, "dB-2" }, { 14, "dB-1" }, { 15, "dB0" }, { 16, "dB1" }, { 17, "dB2" }, { 18, "dB3" }, { 19, "dB4" }, { 20, "dB5" }, { 21, "dB6" }, { 22, "dB8" }, { 23, "dB10" }, { 24, "dB12" }, { 25, "dB14" }, { 26, "dB16" }, { 27, "dB18" }, { 28, "dB20" }, { 29, "dB22" }, { 30, "dB24" }, { 0, NULL } }; static value_string_ext nr_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_Q_OffsetRange_vals); static int dissect_nr_rrc_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 31, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_RangeToBestCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_nr_rrc_Q_OffsetRange(tvb, offset, actx, tree, hf_index); return offset; } static const value_string nr_rrc_T_q_Hyst_vals[] = { { 0, "dB0" }, { 1, "dB1" }, { 2, "dB2" }, { 3, "dB3" }, { 4, "dB4" }, { 5, "dB5" }, { 6, "dB6" }, { 7, "dB8" }, { 8, "dB10" }, { 9, "dB12" }, { 10, "dB14" }, { 11, "dB16" }, { 12, "dB18" }, { 13, "dB20" }, { 14, "dB22" }, { 15, "dB24" }, { 0, NULL } }; static int dissect_nr_rrc_T_q_Hyst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t_Evaluation_vals[] = { { 0, "s30" }, { 1, "s60" }, { 2, "s120" }, { 3, "s180" }, { 4, "s240" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_t_Evaluation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t_HystNormal_vals[] = { { 0, "s30" }, { 1, "s60" }, { 2, "s120" }, { 3, "s180" }, { 4, "s240" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_t_HystNormal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MobilityStateParameters_sequence[] = { { &hf_nr_rrc_t_Evaluation , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_Evaluation }, { &hf_nr_rrc_t_HystNormal , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t_HystNormal }, { &hf_nr_rrc_n_CellChangeMedium, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { &hf_nr_rrc_n_CellChangeHigh, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MobilityStateParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MobilityStateParameters, MobilityStateParameters_sequence); return offset; } static const value_string nr_rrc_T_sf_Medium_vals[] = { { 0, "dB-6" }, { 1, "dB-4" }, { 2, "dB-2" }, { 3, "dB0" }, { 0, NULL } }; static int dissect_nr_rrc_T_sf_Medium(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sf_High_vals[] = { { 0, "dB-6" }, { 1, "dB-4" }, { 2, "dB-2" }, { 3, "dB0" }, { 0, NULL } }; static int dissect_nr_rrc_T_sf_High(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_q_HystSF_sequence[] = { { &hf_nr_rrc_sf_Medium , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_Medium }, { &hf_nr_rrc_sf_High , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_High }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_q_HystSF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_q_HystSF, T_q_HystSF_sequence); return offset; } static const per_sequence_t T_speedStateReselectionPars_sequence[] = { { &hf_nr_rrc_mobilityStateParameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MobilityStateParameters }, { &hf_nr_rrc_q_HystSF , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_q_HystSF }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_speedStateReselectionPars(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_speedStateReselectionPars, T_speedStateReselectionPars_sequence); return offset; } static const per_sequence_t T_cellReselectionInfoCommon_sequence[] = { { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage }, { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR }, { &hf_nr_rrc_rangeToBestCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RangeToBestCell }, { &hf_nr_rrc_q_Hyst , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_q_Hyst }, { &hf_nr_rrc_speedStateReselectionPars, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_speedStateReselectionPars }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_cellReselectionInfoCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cellReselectionInfoCommon, T_cellReselectionInfoCommon_sequence); return offset; } static int dissect_nr_rrc_ReselectionThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 31U, NULL, FALSE); return offset; } static int dissect_nr_rrc_ReselectionThresholdQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 31U, NULL, FALSE); return offset; } static int dissect_nr_rrc_CellReselectionPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static const value_string nr_rrc_CellReselectionSubPriority_vals[] = { { 0, "oDot2" }, { 1, "oDot4" }, { 2, "oDot6" }, { 3, "oDot8" }, { 0, NULL } }; static int dissect_nr_rrc_CellReselectionSubPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_cellReselectionServingFreqInfo_sequence[] = { { &hf_nr_rrc_s_NonIntraSearchP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThreshold }, { &hf_nr_rrc_s_NonIntraSearchQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThresholdQ }, { &hf_nr_rrc_threshServingLowP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold }, { &hf_nr_rrc_threshServingLowQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThresholdQ }, { &hf_nr_rrc_cellReselectionPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority }, { &hf_nr_rrc_cellReselectionSubPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_cellReselectionServingFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cellReselectionServingFreqInfo, T_cellReselectionServingFreqInfo_sequence); return offset; } static int dissect_nr_rrc_Q_RxLevMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -70, -22, NULL, FALSE); return offset; } static int dissect_nr_rrc_Q_QualMin(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -43, -12, NULL, FALSE); return offset; } static int dissect_nr_rrc_T_Reselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static int dissect_nr_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static const per_sequence_t NR_NS_PmaxValue_sequence[] = { { &hf_nr_rrc_additionalPmax, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_additionalSpectrumEmission, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AdditionalSpectrumEmission }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NR_NS_PmaxValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NR_NS_PmaxValue, NR_NS_PmaxValue_sequence); return offset; } static const per_sequence_t NR_NS_PmaxList_sequence_of[1] = { { &hf_nr_rrc_NR_NS_PmaxList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_NS_PmaxValue }, }; static int dissect_nr_rrc_NR_NS_PmaxList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NR_NS_PmaxList, NR_NS_PmaxList_sequence_of, 1, maxNR_NS_Pmax, FALSE); return offset; } static const per_sequence_t NR_MultiBandInfo_sequence[] = { { &hf_nr_rrc_freqBandIndicatorNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandIndicatorNR }, { &hf_nr_rrc_nr_NS_PmaxList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NR_NS_PmaxList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NR_MultiBandInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NR_MultiBandInfo, NR_MultiBandInfo_sequence); return offset; } static const per_sequence_t MultiFrequencyBandListNR_SIB_sequence_of[1] = { { &hf_nr_rrc_MultiFrequencyBandListNR_SIB_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_MultiBandInfo }, }; static int dissect_nr_rrc_MultiFrequencyBandListNR_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MultiFrequencyBandListNR_SIB, MultiFrequencyBandListNR_SIB_sequence_of, 1, maxNrofMultiBands, FALSE); return offset; } static const value_string nr_rrc_T_sf_Medium_01_vals[] = { { 0, "oDot25" }, { 1, "oDot5" }, { 2, "oDot75" }, { 3, "lDot0" }, { 0, NULL } }; static int dissect_nr_rrc_T_sf_Medium_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sf_High_01_vals[] = { { 0, "oDot25" }, { 1, "oDot5" }, { 2, "oDot75" }, { 3, "lDot0" }, { 0, NULL } }; static int dissect_nr_rrc_T_sf_High_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SpeedStateScaleFactors_sequence[] = { { &hf_nr_rrc_sf_Medium_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_Medium_01 }, { &hf_nr_rrc_sf_High_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sf_High_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SpeedStateScaleFactors(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SpeedStateScaleFactors, SpeedStateScaleFactors_sequence); return offset; } static const per_sequence_t T_eag_1_sequence[] = { { &hf_nr_rrc_t_ReselectionNR_SF, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SpeedStateScaleFactors }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_sequence); return offset; } static const per_sequence_t T_intraFreqCellReselectionInfo_sequence[] = { { &hf_nr_rrc_q_RxLevMin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin }, { &hf_nr_rrc_q_RxLevMinSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_RxLevMin }, { &hf_nr_rrc_q_QualMin , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_QualMin }, { &hf_nr_rrc_s_IntraSearchP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold }, { &hf_nr_rrc_s_IntraSearchQ, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReselectionThresholdQ }, { &hf_nr_rrc_t_ReselectionNR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection }, { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB }, { &hf_nr_rrc_frequencyBandListSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB }, { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_smtc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC }, { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement }, { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ToMeasure }, { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_intraFreqCellReselectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_intraFreqCellReselectionInfo, T_intraFreqCellReselectionInfo_sequence); return offset; } static const per_sequence_t SIB2_sequence[] = { { &hf_nr_rrc_cellReselectionInfoCommon, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionInfoCommon }, { &hf_nr_rrc_cellReselectionServingFreqInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellReselectionServingFreqInfo }, { &hf_nr_rrc_intraFreqCellReselectionInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqCellReselectionInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB2"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB2, SIB2_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 8U, NULL, FALSE); return offset; } static const per_sequence_t IntraFreqNeighCellInfo_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_q_OffsetCell , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_q_RxLevMinOffsetCellSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_IntraFreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_IntraFreqNeighCellInfo, IntraFreqNeighCellInfo_sequence); return offset; } static const per_sequence_t IntraFreqNeighCellList_sequence_of[1] = { { &hf_nr_rrc_IntraFreqNeighCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_IntraFreqNeighCellInfo }, }; static int dissect_nr_rrc_IntraFreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_IntraFreqNeighCellList, IntraFreqNeighCellList_sequence_of, 1, maxCellIntra, FALSE); return offset; } static const value_string nr_rrc_T_range_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n12" }, { 3, "n16" }, { 4, "n24" }, { 5, "n32" }, { 6, "n48" }, { 7, "n64" }, { 8, "n84" }, { 9, "n96" }, { 10, "n128" }, { 11, "n168" }, { 12, "n252" }, { 13, "n504" }, { 14, "n1008" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PCI_Range_sequence[] = { { &hf_nr_rrc_start , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PCI_Range, PCI_Range_sequence); return offset; } static const per_sequence_t IntraFreqBlackCellList_sequence_of[1] = { { &hf_nr_rrc_IntraFreqBlackCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, }; static int dissect_nr_rrc_IntraFreqBlackCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_IntraFreqBlackCellList, IntraFreqBlackCellList_sequence_of, 1, maxCellBlack, FALSE); return offset; } static const per_sequence_t SIB3_sequence[] = { { &hf_nr_rrc_intraFreqNeighCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntraFreqNeighCellList }, { &hf_nr_rrc_intraFreqBlackCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntraFreqBlackCellList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB3"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB3, SIB3_sequence); return offset; } static const per_sequence_t T_threshX_Q_sequence[] = { { &hf_nr_rrc_threshX_HighQ, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ }, { &hf_nr_rrc_threshX_LowQ , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_threshX_Q(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_threshX_Q, T_threshX_Q_sequence); return offset; } static const per_sequence_t InterFreqNeighCellInfo_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_q_OffsetCell , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_q_RxLevMinOffsetCellSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_InterFreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_InterFreqNeighCellInfo, InterFreqNeighCellInfo_sequence); return offset; } static const per_sequence_t InterFreqNeighCellList_sequence_of[1] = { { &hf_nr_rrc_InterFreqNeighCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqNeighCellInfo }, }; static int dissect_nr_rrc_InterFreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_InterFreqNeighCellList, InterFreqNeighCellList_sequence_of, 1, maxCellInter, FALSE); return offset; } static const per_sequence_t InterFreqBlackCellList_sequence_of[1] = { { &hf_nr_rrc_InterFreqBlackCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, }; static int dissect_nr_rrc_InterFreqBlackCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_InterFreqBlackCellList, InterFreqBlackCellList_sequence_of, 1, maxCellBlack, FALSE); return offset; } static const per_sequence_t InterFreqCarrierFreqInfo_sequence[] = { { &hf_nr_rrc_dl_CarrierFreq, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB }, { &hf_nr_rrc_frequencyBandListSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB }, { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage }, { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR }, { &hf_nr_rrc_smtc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC }, { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ToMeasure }, { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement }, { &hf_nr_rrc_q_RxLevMin , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin }, { &hf_nr_rrc_q_RxLevMinSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_RxLevMin }, { &hf_nr_rrc_q_QualMin , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_QualMin }, { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_t_ReselectionNR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection }, { &hf_nr_rrc_t_ReselectionNR_SF, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpeedStateScaleFactors }, { &hf_nr_rrc_threshX_HighP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold }, { &hf_nr_rrc_threshX_LowP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold }, { &hf_nr_rrc_threshX_Q , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_threshX_Q }, { &hf_nr_rrc_cellReselectionPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionPriority }, { &hf_nr_rrc_cellReselectionSubPriority, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority }, { &hf_nr_rrc_q_OffsetFreq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_interFreqNeighCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_InterFreqNeighCellList }, { &hf_nr_rrc_interFreqBlackCellList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_InterFreqBlackCellList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_InterFreqCarrierFreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_InterFreqCarrierFreqInfo, InterFreqCarrierFreqInfo_sequence); return offset; } static const per_sequence_t InterFreqCarrierFreqList_sequence_of[1] = { { &hf_nr_rrc_InterFreqCarrierFreqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqInfo }, }; static int dissect_nr_rrc_InterFreqCarrierFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_InterFreqCarrierFreqList, InterFreqCarrierFreqList_sequence_of, 1, maxFreq, FALSE); return offset; } static const per_sequence_t SIB4_sequence[] = { { &hf_nr_rrc_interFreqCarrierFreqList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InterFreqCarrierFreqList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB4"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB4, SIB4_sequence); return offset; } static int dissect_nr_rrc_INTEGER_M30_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -30, 33U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_288(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 288U, NULL, FALSE); return offset; } static const per_sequence_t EUTRA_NS_PmaxValue_sequence[] = { { &hf_nr_rrc_additionalPmax_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M30_33 }, { &hf_nr_rrc_additionalSpectrumEmission_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_288 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_NS_PmaxValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_NS_PmaxValue, EUTRA_NS_PmaxValue_sequence); return offset; } static const per_sequence_t EUTRA_NS_PmaxList_sequence_of[1] = { { &hf_nr_rrc_EUTRA_NS_PmaxList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_NS_PmaxValue }, }; static int dissect_nr_rrc_EUTRA_NS_PmaxList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_NS_PmaxList, EUTRA_NS_PmaxList_sequence_of, 1, maxEUTRA_NS_Pmax, FALSE); return offset; } static const per_sequence_t EUTRA_MultiBandInfo_sequence[] = { { &hf_nr_rrc_eutra_FreqBandIndicator, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA }, { &hf_nr_rrc_eutra_NS_PmaxList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_NS_PmaxList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_MultiBandInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_MultiBandInfo, EUTRA_MultiBandInfo_sequence); return offset; } static const per_sequence_t EUTRA_MultiBandInfoList_sequence_of[1] = { { &hf_nr_rrc_EUTRA_MultiBandInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_MultiBandInfo }, }; static int dissect_nr_rrc_EUTRA_MultiBandInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_MultiBandInfoList, EUTRA_MultiBandInfoList_sequence_of, 1, maxMultiBands, FALSE); return offset; } static const value_string nr_rrc_EUTRA_Q_OffsetRange_vals[] = { { 0, "dB-24" }, { 1, "dB-22" }, { 2, "dB-20" }, { 3, "dB-18" }, { 4, "dB-16" }, { 5, "dB-14" }, { 6, "dB-12" }, { 7, "dB-10" }, { 8, "dB-8" }, { 9, "dB-6" }, { 10, "dB-5" }, { 11, "dB-4" }, { 12, "dB-3" }, { 13, "dB-2" }, { 14, "dB-1" }, { 15, "dB0" }, { 16, "dB1" }, { 17, "dB2" }, { 18, "dB3" }, { 19, "dB4" }, { 20, "dB5" }, { 21, "dB6" }, { 22, "dB8" }, { 23, "dB10" }, { 24, "dB12" }, { 25, "dB14" }, { 26, "dB16" }, { 27, "dB18" }, { 28, "dB20" }, { 29, "dB22" }, { 30, "dB24" }, { 0, NULL } }; static value_string_ext nr_rrc_EUTRA_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_EUTRA_Q_OffsetRange_vals); static int dissect_nr_rrc_EUTRA_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 31, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t EUTRA_FreqNeighCellInfo_sequence[] = { { &hf_nr_rrc_physCellId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, { &hf_nr_rrc_dummy , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Q_OffsetRange }, { &hf_nr_rrc_q_RxLevMinOffsetCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_q_QualMinOffsetCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_FreqNeighCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_FreqNeighCellInfo, EUTRA_FreqNeighCellInfo_sequence); return offset; } static const per_sequence_t EUTRA_FreqNeighCellList_sequence_of[1] = { { &hf_nr_rrc_EUTRA_FreqNeighCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_FreqNeighCellInfo }, }; static int dissect_nr_rrc_EUTRA_FreqNeighCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_FreqNeighCellList, EUTRA_FreqNeighCellList_sequence_of, 1, maxCellEUTRA, FALSE); return offset; } static const value_string nr_rrc_T_range_01_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n12" }, { 3, "n16" }, { 4, "n24" }, { 5, "n32" }, { 6, "n48" }, { 7, "n64" }, { 8, "n84" }, { 9, "n96" }, { 10, "n128" }, { 11, "n168" }, { 12, "n252" }, { 13, "n504" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_range_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t EUTRA_PhysCellIdRange_sequence[] = { { &hf_nr_rrc_start_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, { &hf_nr_rrc_range_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_PhysCellIdRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_PhysCellIdRange, EUTRA_PhysCellIdRange_sequence); return offset; } static const per_sequence_t EUTRA_FreqBlackCellList_sequence_of[1] = { { &hf_nr_rrc_EUTRA_FreqBlackCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange }, }; static int dissect_nr_rrc_EUTRA_FreqBlackCellList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_FreqBlackCellList, EUTRA_FreqBlackCellList_sequence_of, 1, maxEUTRA_CellBlack, FALSE); return offset; } static const value_string nr_rrc_EUTRA_AllowedMeasBandwidth_vals[] = { { 0, "mbw6" }, { 1, "mbw15" }, { 2, "mbw25" }, { 3, "mbw50" }, { 4, "mbw75" }, { 5, "mbw100" }, { 0, NULL } }; static int dissect_nr_rrc_EUTRA_AllowedMeasBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_EUTRA_PresenceAntennaPort1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL); return offset; } static int dissect_nr_rrc_INTEGER_M70_M22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -70, -22, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_M34_M3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -34, -3, NULL, FALSE); return offset; } static const per_sequence_t T_threshX_Q_01_sequence[] = { { &hf_nr_rrc_threshX_HighQ, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ }, { &hf_nr_rrc_threshX_LowQ , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThresholdQ }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_threshX_Q_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_threshX_Q_01, T_threshX_Q_01_sequence); return offset; } static const per_sequence_t CarrierFreqEUTRA_sequence[] = { { &hf_nr_rrc_carrierFreq_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_eutra_multiBandInfoList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_MultiBandInfoList }, { &hf_nr_rrc_eutra_FreqNeighCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_FreqNeighCellList }, { &hf_nr_rrc_eutra_BlackCellList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_FreqBlackCellList }, { &hf_nr_rrc_allowedMeasBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth }, { &hf_nr_rrc_presenceAntennaPort1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PresenceAntennaPort1 }, { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionPriority }, { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority }, { &hf_nr_rrc_threshX_High , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold }, { &hf_nr_rrc_threshX_Low , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReselectionThreshold }, { &hf_nr_rrc_q_RxLevMin_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M70_M22 }, { &hf_nr_rrc_q_QualMin_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M34_M3 }, { &hf_nr_rrc_p_MaxEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M30_33 }, { &hf_nr_rrc_threshX_Q_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_threshX_Q_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CarrierFreqEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CarrierFreqEUTRA, CarrierFreqEUTRA_sequence); return offset; } static const per_sequence_t CarrierFreqListEUTRA_sequence_of[1] = { { &hf_nr_rrc_CarrierFreqListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CarrierFreqEUTRA }, }; static int dissect_nr_rrc_CarrierFreqListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CarrierFreqListEUTRA, CarrierFreqListEUTRA_sequence_of, 1, maxEUTRA_Carrier, FALSE); return offset; } static const per_sequence_t SIB5_sequence[] = { { &hf_nr_rrc_carrierFreqListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CarrierFreqListEUTRA }, { &hf_nr_rrc_t_ReselectionEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reselection }, { &hf_nr_rrc_t_ReselectionEUTRA_SF, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpeedStateScaleFactors }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB5"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB5, SIB5_sequence); return offset; } static int dissect_nr_rrc_T_messageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *msg_id_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 16, 16, FALSE, NULL, 0, &msg_id_tvb, NULL); if (msg_id_tvb) { actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN); } return offset; } static int dissect_nr_rrc_T_serialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *serial_nb_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, &serial_nb_tvb, NULL); if (serial_nb_tvb) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); } return offset; } static int dissect_nr_rrc_T_warningType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *warning_type_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 2, 2, FALSE, &warning_type_tvb); if (warning_type_tvb) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningType); proto_tree_add_item(subtree, hf_nr_rrc_warningType_value, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_warningType_emergency_user_alert, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_warningType_popup, warning_type_tvb, 0, 2, ENC_BIG_ENDIAN); } return offset; } static const per_sequence_t SIB6_sequence[] = { { &hf_nr_rrc_messageIdentifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier }, { &hf_nr_rrc_serialNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber }, { &hf_nr_rrc_warningType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningType }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB6"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB6, SIB6_sequence); return offset; } static int dissect_nr_rrc_T_messageIdentifier_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *msg_id_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 16, 16, FALSE, NULL, 0, &msg_id_tvb, NULL); if (msg_id_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16; actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN); } return offset; } static int dissect_nr_rrc_T_serialNumber_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *serial_nb_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, &serial_nb_tvb, NULL); if (serial_nb_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0); subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); } return offset; } static const value_string nr_rrc_T_warningMessageSegmentType_vals[] = { { 0, "notLastSegment" }, { 1, "lastSegment" }, { 0, NULL } }; static int dissect_nr_rrc_T_warningMessageSegmentType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); guint32 segment_type; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &segment_type, FALSE, 0, NULL); nr_priv->warning_message_segment_type = (guint8)segment_type; return offset; } static int dissect_nr_rrc_T_warningMessageSegmentNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); guint32 segment_number; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 63U, &segment_number, FALSE); nr_priv->warning_message_segment_number = (guint8)segment_number; return offset; } static int dissect_nr_rrc_T_warningMessageSegment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *warning_msg_seg_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &warning_msg_seg_tvb); if (warning_msg_seg_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; tvbuff_t *frag_tvb; gpointer p_dcs; fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib7_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, nr_priv->message_identifier, NULL, nr_priv->warning_message_segment_number, tvb_reported_length(warning_msg_seg_tvb), nr_priv->warning_message_segment_type ? FALSE : TRUE); subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment); frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB7 warning message", frag_data, &nr_rrc_sib7_frag_items, NULL, subtree); p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier)); if (frag_tvb && p_dcs) { dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); } } return offset; } static int dissect_nr_rrc_T_dataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *data_coding_scheme_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 1, FALSE, &data_coding_scheme_tvb); if (data_coding_scheme_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; guint32 dataCodingScheme; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme); dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier), GUINT_TO_POINTER(dataCodingScheme)); } return offset; } static const per_sequence_t SIB7_sequence[] = { { &hf_nr_rrc_messageIdentifier_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier_01 }, { &hf_nr_rrc_serialNumber_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber_01 }, { &hf_nr_rrc_warningMessageSegmentType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentType }, { &hf_nr_rrc_warningMessageSegmentNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentNumber }, { &hf_nr_rrc_warningMessageSegment, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegment }, { &hf_nr_rrc_dataCodingScheme, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dataCodingScheme }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB7"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB7, SIB7_sequence); return offset; } static int dissect_nr_rrc_T_messageIdentifier_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *msg_id_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 16, 16, FALSE, NULL, 0, &msg_id_tvb, NULL); if (msg_id_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); nr_priv->message_identifier = tvb_get_ntohs(msg_id_tvb, 0) << 16; actx->created_item = proto_tree_add_item(tree, hf_index, msg_id_tvb, 0, 2, ENC_BIG_ENDIAN); } return offset; } static int dissect_nr_rrc_T_serialNumber_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *serial_nb_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 16, 16, FALSE, NULL, 0, &serial_nb_tvb, NULL); if (serial_nb_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; nr_priv->message_identifier |= tvb_get_ntohs(serial_nb_tvb, 0); subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_serialNumber); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_gs, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_msg_code, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); proto_tree_add_item(subtree, hf_nr_rrc_serialNumber_upd_nb, serial_nb_tvb, 0, 2, ENC_BIG_ENDIAN); } return offset; } static const value_string nr_rrc_T_warningMessageSegmentType_01_vals[] = { { 0, "notLastSegment" }, { 1, "lastSegment" }, { 0, NULL } }; static int dissect_nr_rrc_T_warningMessageSegmentType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); guint32 segment_type; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &segment_type, FALSE, 0, NULL); nr_priv->warning_message_segment_type = (guint8)segment_type; return offset; } static int dissect_nr_rrc_T_warningMessageSegmentNumber_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); guint32 segment_number; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 63U, &segment_number, FALSE); nr_priv->warning_message_segment_number = (guint8)segment_number; return offset; } static int dissect_nr_rrc_T_warningMessageSegment_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *warning_msg_seg_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &warning_msg_seg_tvb); if (warning_msg_seg_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; tvbuff_t *frag_tvb; gpointer p_dcs; fragment_head *frag_data = fragment_add_seq_check(&nr_rrc_sib8_reassembly_table, warning_msg_seg_tvb, 0, actx->pinfo, nr_priv->message_identifier, NULL, nr_priv->warning_message_segment_number, tvb_reported_length(warning_msg_seg_tvb), nr_priv->warning_message_segment_type ? FALSE : TRUE); subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_warningMessageSegment); frag_tvb = process_reassembled_data(warning_msg_seg_tvb, 0, actx->pinfo, "Reassembled SIB8 warning message", frag_data, &nr_rrc_sib8_frag_items, NULL, subtree); p_dcs = wmem_map_lookup(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier)); if (frag_tvb && p_dcs) { dissect_nr_rrc_warningMessageSegment(frag_tvb, subtree, actx->pinfo, GPOINTER_TO_UINT(p_dcs)); } } return offset; } static int dissect_nr_rrc_T_dataCodingScheme_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *data_coding_scheme_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 1, FALSE, &data_coding_scheme_tvb); if (data_coding_scheme_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; guint32 dataCodingScheme; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_dataCodingScheme); dataCodingScheme = dissect_cbs_data_coding_scheme(data_coding_scheme_tvb, actx->pinfo, subtree, 0); wmem_map_insert(nr_rrc_etws_cmas_dcs_hash, GUINT_TO_POINTER((guint)nr_priv->message_identifier), GUINT_TO_POINTER(dataCodingScheme)); } return offset; } static const per_sequence_t SIB8_sequence[] = { { &hf_nr_rrc_messageIdentifier_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messageIdentifier_02 }, { &hf_nr_rrc_serialNumber_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_serialNumber_02 }, { &hf_nr_rrc_warningMessageSegmentType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentType_01 }, { &hf_nr_rrc_warningMessageSegmentNumber_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegmentNumber_01 }, { &hf_nr_rrc_warningMessageSegment_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_warningMessageSegment_01 }, { &hf_nr_rrc_dataCodingScheme_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dataCodingScheme_01 }, { &hf_nr_rrc_warningAreaCoordinatesSegment, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB8"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB8, SIB8_sequence); return offset; } static int dissect_nr_rrc_T_timeInfoUTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint64 timeInfo; proto_tree *subtree; nstime_t ts; guint32 old_offset = offset; offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index, 0U, G_GUINT64_CONSTANT(549755813887), &timeInfo, FALSE); subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_timeInfo); ts.secs = (time_t)(timeInfo/100)-2208988800U; /* epoch is 00:00:00 (midnight) UTC on 1900-01-01 */ ts.nsecs = (int)(timeInfo%100)*10000000; proto_tree_add_time(subtree, hf_nr_rrc_utc_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts); proto_tree_add_time(subtree, hf_nr_rrc_local_time, tvb, old_offset>>3, (old_offset&0x07) ? 6 : 5, &ts); return offset; } static int dissect_nr_rrc_T_dayLightSavingTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *daylight_saving_time_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 2, 2, FALSE, NULL, 0, &daylight_saving_time_tvb, NULL); if (daylight_saving_time_tvb) { guint bitvalue = tvb_get_bits8(daylight_saving_time_tvb, 0, 2); actx->created_item = proto_tree_add_uint(tree, hf_index, daylight_saving_time_tvb, 0, 1, bitvalue); } return offset; } static int dissect_nr_rrc_INTEGER_M127_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -127, 128U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_M63_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -63, 64U, NULL, FALSE); return offset; } static const per_sequence_t T_timeInfo_sequence[] = { { &hf_nr_rrc_timeInfoUTC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeInfoUTC }, { &hf_nr_rrc_dayLightSavingTime, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dayLightSavingTime }, { &hf_nr_rrc_leapSeconds , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M127_128 }, { &hf_nr_rrc_localTimeOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M63_64 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_timeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_timeInfo, T_timeInfo_sequence); return offset; } static const per_sequence_t SIB9_sequence[] = { { &hf_nr_rrc_timeInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeInfo }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_str(actx->pinfo->cinfo, COL_INFO, " SIB9"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB9, SIB9_sequence); return offset; } static const value_string nr_rrc_T_sib_TypeAndInfo_item_vals[] = { { 0, "sib2" }, { 1, "sib3" }, { 2, "sib4" }, { 3, "sib5" }, { 4, "sib6" }, { 5, "sib7" }, { 6, "sib8" }, { 7, "sib9" }, { 0, NULL } }; static const per_choice_t T_sib_TypeAndInfo_item_choice[] = { { 0, &hf_nr_rrc_sib2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB2 }, { 1, &hf_nr_rrc_sib3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB3 }, { 2, &hf_nr_rrc_sib4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB4 }, { 3, &hf_nr_rrc_sib5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB5 }, { 4, &hf_nr_rrc_sib6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB6 }, { 5, &hf_nr_rrc_sib7 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB7 }, { 6, &hf_nr_rrc_sib8 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB8 }, { 7, &hf_nr_rrc_sib9 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_SIB9 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_sib_TypeAndInfo_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sib_TypeAndInfo_item, T_sib_TypeAndInfo_item_choice, NULL); return offset; } static const per_sequence_t T_sib_TypeAndInfo_sequence_of[1] = { { &hf_nr_rrc_sib_TypeAndInfo_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sib_TypeAndInfo_item }, }; static int dissect_nr_rrc_T_sib_TypeAndInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sib_TypeAndInfo, T_sib_TypeAndInfo_sequence_of, 1, maxSIB, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_31_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_31, T_nonCriticalExtension_31_sequence); return offset; } static const per_sequence_t SystemInformation_IEs_sequence[] = { { &hf_nr_rrc_sib_TypeAndInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sib_TypeAndInfo }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_44, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_31 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SystemInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SystemInformation_IEs, SystemInformation_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_30_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_30, T_criticalExtensionsFuture_30_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_30_vals[] = { { 0, "systemInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_30_choice[] = { { 0, &hf_nr_rrc_systemInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SystemInformation_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_30, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_30 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_30, T_criticalExtensions_30_choice, NULL); return offset; } static const per_sequence_t SystemInformation_sequence[] = { { &hf_nr_rrc_criticalExtensions_30, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_30 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SystemInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "System Information ["); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SystemInformation, SystemInformation_sequence); col_append_str(actx->pinfo->cinfo, COL_INFO, " ]"); return offset; } static const per_sequence_t T_cellSelectionInfo_sequence[] = { { &hf_nr_rrc_q_RxLevMin , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_RxLevMin }, { &hf_nr_rrc_q_RxLevMinOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_q_RxLevMinSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_RxLevMin }, { &hf_nr_rrc_q_QualMin , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_QualMin }, { &hf_nr_rrc_q_QualMinOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_cellSelectionInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cellSelectionInfo, T_cellSelectionInfo_sequence); return offset; } static const value_string nr_rrc_T_cellReservedForOtherUse_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_cellReservedForOtherUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CellAccessRelatedInfo_sequence[] = { { &hf_nr_rrc_plmn_IdentityList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PLMN_IdentityInfoList }, { &hf_nr_rrc_cellReservedForOtherUse, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cellReservedForOtherUse }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CellAccessRelatedInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellAccessRelatedInfo, CellAccessRelatedInfo_sequence); return offset; } static const value_string nr_rrc_T_connEstFailCount_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_connEstFailCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_connEstFailOffsetValidity_vals[] = { { 0, "s30" }, { 1, "s60" }, { 2, "s120" }, { 3, "s240" }, { 4, "s300" }, { 5, "s420" }, { 6, "s600" }, { 7, "s900" }, { 0, NULL } }; static int dissect_nr_rrc_T_connEstFailOffsetValidity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t ConnEstFailureControl_sequence[] = { { &hf_nr_rrc_connEstFailCount, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connEstFailCount }, { &hf_nr_rrc_connEstFailOffsetValidity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_connEstFailOffsetValidity }, { &hf_nr_rrc_connEstFailOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ConnEstFailureControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ConnEstFailureControl, ConnEstFailureControl_sequence); return offset; } static const value_string nr_rrc_T_si_BroadcastStatus_vals[] = { { 0, "broadcasting" }, { 1, "notBroadcasting" }, { 0, NULL } }; static int dissect_nr_rrc_T_si_BroadcastStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_si_Periodicity_vals[] = { { 0, "rf8" }, { 1, "rf16" }, { 2, "rf32" }, { 3, "rf64" }, { 4, "rf128" }, { 5, "rf256" }, { 6, "rf512" }, { 0, NULL } }; static int dissect_nr_rrc_T_si_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_type_vals[] = { { 0, "sibType2" }, { 1, "sibType3" }, { 2, "sibType4" }, { 3, "sibType5" }, { 4, "sibType6" }, { 5, "sibType7" }, { 6, "sibType8" }, { 7, "sibType9" }, { 8, "spare8" }, { 9, "spare7" }, { 10, "spare6" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, TRUE, 0, NULL); return offset; } static const value_string nr_rrc_T_areaScope_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_areaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SIB_TypeInfo_sequence[] = { { &hf_nr_rrc_type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_type }, { &hf_nr_rrc_valueTag , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_areaScope , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_areaScope }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB_TypeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB_TypeInfo, SIB_TypeInfo_sequence); return offset; } static const per_sequence_t SIB_Mapping_sequence_of[1] = { { &hf_nr_rrc_SIB_Mapping_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_TypeInfo }, }; static int dissect_nr_rrc_SIB_Mapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB_Mapping, SIB_Mapping_sequence_of, 1, maxSIB, FALSE); return offset; } static const per_sequence_t SchedulingInfo_sequence[] = { { &hf_nr_rrc_si_BroadcastStatus, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_BroadcastStatus }, { &hf_nr_rrc_si_Periodicity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_Periodicity }, { &hf_nr_rrc_sib_MappingInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SIB_Mapping }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SchedulingInfo, SchedulingInfo_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo_sequence_of[1] = { { &hf_nr_rrc_schedulingInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingInfo }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo, SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo_sequence_of, 1, maxSI_Message, FALSE); return offset; } static const value_string nr_rrc_T_si_WindowLength_vals[] = { { 0, "s5" }, { 1, "s10" }, { 2, "s20" }, { 3, "s40" }, { 4, "s80" }, { 5, "s160" }, { 6, "s320" }, { 7, "s640" }, { 8, "s1280" }, { 0, NULL } }; static int dissect_nr_rrc_T_si_WindowLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 9, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_msg1_FDM_vals[] = { { 0, "one" }, { 1, "two" }, { 2, "four" }, { 3, "eight" }, { 0, NULL } }; static int dissect_nr_rrc_T_msg1_FDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_M202_M60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -202, -60, NULL, FALSE); return offset; } static const value_string nr_rrc_T_preambleTransMax_vals[] = { { 0, "n3" }, { 1, "n4" }, { 2, "n5" }, { 3, "n6" }, { 4, "n7" }, { 5, "n8" }, { 6, "n10" }, { 7, "n20" }, { 8, "n50" }, { 9, "n100" }, { 10, "n200" }, { 0, NULL } }; static int dissect_nr_rrc_T_preambleTransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 11, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_powerRampingStep_vals[] = { { 0, "dB0" }, { 1, "dB2" }, { 2, "dB4" }, { 3, "dB6" }, { 0, NULL } }; static int dissect_nr_rrc_T_powerRampingStep(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ra_ResponseWindow_vals[] = { { 0, "sl1" }, { 1, "sl2" }, { 2, "sl4" }, { 3, "sl8" }, { 4, "sl10" }, { 5, "sl20" }, { 6, "sl40" }, { 7, "sl80" }, { 0, NULL } }; static int dissect_nr_rrc_T_ra_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RACH_ConfigGeneric_sequence[] = { { &hf_nr_rrc_prach_ConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 }, { &hf_nr_rrc_msg1_FDM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_msg1_FDM }, { &hf_nr_rrc_msg1_FrequencyStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, { &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_preambleReceivedTargetPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M202_M60 }, { &hf_nr_rrc_preambleTransMax, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax }, { &hf_nr_rrc_powerRampingStep, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStep }, { &hf_nr_rrc_ra_ResponseWindow, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ResponseWindow }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RACH_ConfigGeneric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RACH_ConfigGeneric, RACH_ConfigGeneric_sequence); return offset; } static const value_string nr_rrc_T_ssb_perRACH_Occasion_02_vals[] = { { 0, "oneEighth" }, { 1, "oneFourth" }, { 2, "oneHalf" }, { 3, "one" }, { 4, "two" }, { 5, "four" }, { 6, "eight" }, { 7, "sixteen" }, { 0, NULL } }; static int dissect_nr_rrc_T_ssb_perRACH_Occasion_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_rach_OccasionsSI_sequence[] = { { &hf_nr_rrc_rach_ConfigSI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric }, { &hf_nr_rrc_ssb_perRACH_Occasion_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_perRACH_Occasion_02 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_rach_OccasionsSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_rach_OccasionsSI, T_rach_OccasionsSI_sequence); return offset; } static const value_string nr_rrc_T_si_RequestPeriod_vals[] = { { 0, "one" }, { 1, "two" }, { 2, "four" }, { 3, "six" }, { 4, "eight" }, { 5, "ten" }, { 6, "twelve" }, { 7, "sixteen" }, { 0, NULL } }; static int dissect_nr_rrc_T_si_RequestPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SI_RequestResources_sequence[] = { { &hf_nr_rrc_ra_PreambleStartIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, { &hf_nr_rrc_ra_AssociationPeriodIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SI_RequestResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SI_RequestResources, SI_RequestResources_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources_sequence_of[1] = { { &hf_nr_rrc_si_RequestResources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SI_RequestResources }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources, SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources_sequence_of, 1, maxSI_Message, FALSE); return offset; } static const per_sequence_t SI_RequestConfig_sequence[] = { { &hf_nr_rrc_rach_OccasionsSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_OccasionsSI }, { &hf_nr_rrc_si_RequestPeriod, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_si_RequestPeriod }, { &hf_nr_rrc_si_RequestResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SI_RequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SI_RequestConfig, SI_RequestConfig_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 24, 24, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t SI_SchedulingInfo_sequence[] = { { &hf_nr_rrc_schedulingInfoList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo }, { &hf_nr_rrc_si_WindowLength, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_si_WindowLength }, { &hf_nr_rrc_si_RequestConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SI_RequestConfig }, { &hf_nr_rrc_si_RequestConfigSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SI_RequestConfig }, { &hf_nr_rrc_systemInformationAreaID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_24 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SI_SchedulingInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SI_SchedulingInfo, SI_SchedulingInfo_sequence); return offset; } static int dissect_nr_rrc_INTEGER_0_2199(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 2199U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofPhysicalResourceBlocks, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4095U, NULL, FALSE); return offset; } static const per_sequence_t SCS_SpecificCarrier_eag_1_sequence[] = { { &hf_nr_rrc_txDirectCurrentLocation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4095 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCS_SpecificCarrier_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCS_SpecificCarrier_eag_1_sequence); return offset; } static const per_sequence_t SCS_SpecificCarrier_sequence[] = { { &hf_nr_rrc_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 }, { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SCS_SpecificCarrier, SCS_SpecificCarrier_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of[1] = { { &hf_nr_rrc_scs_SpecificCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier, SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of, 1, maxSCSs, FALSE); return offset; } static const per_sequence_t FrequencyInfoDL_SIB_sequence[] = { { &hf_nr_rrc_frequencyBandList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR_SIB }, { &hf_nr_rrc_offsetToPointA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 }, { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FrequencyInfoDL_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FrequencyInfoDL_SIB, FrequencyInfoDL_SIB_sequence); return offset; } static int dissect_nr_rrc_INTEGER_0_37949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 37949U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_cyclicPrefix_vals[] = { { 0, "extended" }, { 0, NULL } }; static int dissect_nr_rrc_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BWP_sequence[] = { { &hf_nr_rrc_locationAndBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 }, { &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_cyclicPrefix , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cyclicPrefix }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BWP, BWP_sequence); return offset; } static int dissect_nr_rrc_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofControlResourceSets_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 45, 45, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_maxCoReSetDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxCoReSetDuration, NULL, FALSE); return offset; } static const value_string nr_rrc_T_reg_BundleSize_vals[] = { { 0, "n2" }, { 1, "n3" }, { 2, "n6" }, { 0, NULL } }; static int dissect_nr_rrc_T_reg_BundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_interleaverSize_vals[] = { { 0, "n2" }, { 1, "n3" }, { 2, "n6" }, { 0, NULL } }; static int dissect_nr_rrc_T_interleaverSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_interleaved_sequence[] = { { &hf_nr_rrc_reg_BundleSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reg_BundleSize }, { &hf_nr_rrc_interleaverSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interleaverSize }, { &hf_nr_rrc_shiftIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_interleaved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_interleaved, T_interleaved_sequence); return offset; } static const value_string nr_rrc_T_cce_REG_MappingType_vals[] = { { 0, "interleaved" }, { 1, "nonInterleaved" }, { 0, NULL } }; static const per_choice_t T_cce_REG_MappingType_choice[] = { { 0, &hf_nr_rrc_interleaved , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_interleaved }, { 1, &hf_nr_rrc_nonInterleaved, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_cce_REG_MappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cce_REG_MappingType, T_cce_REG_MappingType_choice, NULL); return offset; } static const value_string nr_rrc_T_precoderGranularity_vals[] = { { 0, "sameAsREG-bundle" }, { 1, "allContiguousRBs" }, { 0, NULL } }; static int dissect_nr_rrc_T_precoderGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofTCI_States_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of[1] = { { &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of, 1, maxNrofTCI_StatesPDCCH, FALSE); return offset; } static const value_string nr_rrc_T_tci_PresentInDCI_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, NULL, FALSE); return offset; } static const per_sequence_t ControlResourceSet_sequence[] = { { &hf_nr_rrc_controlResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId }, { &hf_nr_rrc_frequencyDomainResources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_45 }, { &hf_nr_rrc_duration , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration }, { &hf_nr_rrc_cce_REG_MappingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_REG_MappingType }, { &hf_nr_rrc_precoderGranularity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_precoderGranularity }, { &hf_nr_rrc_tci_StatesPDCCH_ToAddList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId }, { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId }, { &hf_nr_rrc_tci_PresentInDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_PresentInDCI }, { &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ControlResourceSet, ControlResourceSet_sequence); return offset; } static int dissect_nr_rrc_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSearchSpaces_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals[] = { { 0, "sl1" }, { 1, "sl2" }, { 2, "sl4" }, { 3, "sl5" }, { 4, "sl8" }, { 5, "sl10" }, { 6, "sl16" }, { 7, "sl20" }, { 8, "sl40" }, { 9, "sl80" }, { 10, "sl160" }, { 11, "sl320" }, { 12, "sl640" }, { 13, "sl1280" }, { 14, "sl2560" }, { 0, NULL } }; static const per_choice_t T_monitoringSlotPeriodicityAndOffset_choice[] = { { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 }, { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 }, { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 }, { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 8, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 9, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 10, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 11, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 12, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, { 13, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 }, { 14, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset, T_monitoringSlotPeriodicityAndOffset_choice, NULL); return offset; } static int dissect_nr_rrc_INTEGER_2_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, 2559U, NULL, FALSE); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 14, 14, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel1_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel2_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel4_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel8_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel16_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 6, "n6" }, { 7, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_nrofCandidates_sequence[] = { { &hf_nr_rrc_aggregationLevel1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel1 }, { &hf_nr_rrc_aggregationLevel2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel2 }, { &hf_nr_rrc_aggregationLevel4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel4 }, { &hf_nr_rrc_aggregationLevel8, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel8 }, { &hf_nr_rrc_aggregationLevel16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel16 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nrofCandidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nrofCandidates, T_nrofCandidates_sequence); return offset; } static const per_sequence_t T_dci_Format0_0_AndFormat1_0_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dci_Format0_0_AndFormat1_0, T_dci_Format0_0_AndFormat1_0_sequence); return offset; } static const value_string nr_rrc_T_aggregationLevel1_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel2_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel4_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel4_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel8_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel8_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aggregationLevel16_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_aggregationLevel16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_nrofCandidates_SFI_sequence[] = { { &hf_nr_rrc_aggregationLevel1_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel1_01 }, { &hf_nr_rrc_aggregationLevel2_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel2_01 }, { &hf_nr_rrc_aggregationLevel4_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel4_01 }, { &hf_nr_rrc_aggregationLevel8_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel8_01 }, { &hf_nr_rrc_aggregationLevel16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel16_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nrofCandidates_SFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nrofCandidates_SFI, T_nrofCandidates_SFI_sequence); return offset; } static const per_sequence_t T_dci_Format2_0_sequence[] = { { &hf_nr_rrc_nrofCandidates_SFI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_SFI }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_dci_Format2_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dci_Format2_0, T_dci_Format2_0_sequence); return offset; } static const per_sequence_t T_dci_Format2_1_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_nr_rrc_T_dci_Format2_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dci_Format2_1, T_dci_Format2_1_sequence); return offset; } static const per_sequence_t T_dci_Format2_2_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_nr_rrc_T_dci_Format2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dci_Format2_2, T_dci_Format2_2_sequence); return offset; } static const value_string nr_rrc_T_dummy1_vals[] = { { 0, "sl1" }, { 1, "sl2" }, { 2, "sl4" }, { 3, "sl5" }, { 4, "sl8" }, { 5, "sl10" }, { 6, "sl16" }, { 7, "sl20" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dummy2_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_dci_Format2_3_sequence[] = { { &hf_nr_rrc_dummy1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy1 }, { &hf_nr_rrc_dummy2 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_dci_Format2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dci_Format2_3, T_dci_Format2_3_sequence); return offset; } static const per_sequence_t T_common_sequence[] = { { &hf_nr_rrc_dci_Format0_0_AndFormat1_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0 }, { &hf_nr_rrc_dci_Format2_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_0 }, { &hf_nr_rrc_dci_Format2_1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_1 }, { &hf_nr_rrc_dci_Format2_2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_2 }, { &hf_nr_rrc_dci_Format2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_common, T_common_sequence); return offset; } static const value_string nr_rrc_T_dci_Formats_vals[] = { { 0, "formats0-0-And-1-0" }, { 1, "formats0-1-And-1-1" }, { 0, NULL } }; static int dissect_nr_rrc_T_dci_Formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_ue_Specific_sequence[] = { { &hf_nr_rrc_dci_Formats , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dci_Formats }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_ue_Specific(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ue_Specific, T_ue_Specific_sequence); return offset; } static const value_string nr_rrc_T_searchSpaceType_vals[] = { { 0, "common" }, { 1, "ue-Specific" }, { 0, NULL } }; static const per_choice_t T_searchSpaceType_choice[] = { { 0, &hf_nr_rrc_common , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_common }, { 1, &hf_nr_rrc_ue_Specific , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_ue_Specific }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_searchSpaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_searchSpaceType, T_searchSpaceType_choice, NULL); return offset; } static const per_sequence_t SearchSpace_sequence[] = { { &hf_nr_rrc_searchSpaceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId }, { &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId }, { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset }, { &hf_nr_rrc_duration_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_2559 }, { &hf_nr_rrc_monitoringSymbolsWithinSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_14 }, { &hf_nr_rrc_nrofCandidates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofCandidates }, { &hf_nr_rrc_searchSpaceType, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SearchSpace, SearchSpace_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of[1] = { { &hf_nr_rrc_commonSearchSpaceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of, 1, 4, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_139(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 139U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS15KHZoneT_01_sequence_of[1] = { { &hf_nr_rrc_sCS15KHZoneT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_139 }, }; static int dissect_nr_rrc_T_sCS15KHZoneT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS15KHZoneT_01, T_sCS15KHZoneT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 279U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS30KHZoneT_SCS15KHZhalfT_01_sequence_of[1] = { { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_279 }, }; static int dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01, T_sCS30KHZoneT_SCS15KHZhalfT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 559U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01_sequence_of[1] = { { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_559 }, }; static int dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01, T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_1119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1119U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1119 }, }; static int dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01, T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_2239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 2239U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2239 }, }; static int dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01, T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_4479(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4479U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4479 }, }; static int dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01, T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_8959(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 8959U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8959 }, }; static int dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01, T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_17919(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 17919U, NULL, FALSE); return offset; } static const per_sequence_t T_sCS120KHZoneSixteenthT_01_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_17919 }, }; static int dissect_nr_rrc_T_sCS120KHZoneSixteenthT_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZoneSixteenthT_01, T_sCS120KHZoneSixteenthT_01_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01_vals[] = { { 0, "sCS15KHZoneT" }, { 1, "sCS30KHZoneT-SCS15KHZhalfT" }, { 2, "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT" }, { 3, "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT" }, { 4, "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT" }, { 5, "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT" }, { 6, "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT" }, { 7, "sCS120KHZoneSixteenthT" }, { 0, NULL } }; static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPO_01_choice[] = { { 0, &hf_nr_rrc_sCS15KHZoneT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS15KHZoneT_01 }, { 1, &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01 }, { 2, &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01 }, { 3, &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01 }, { 4, &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01 }, { 5, &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01 }, { 6, &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01 }, { 7, &hf_nr_rrc_sCS120KHZoneSixteenthT_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneSixteenthT_01 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01, T_firstPDCCH_MonitoringOccasionOfPO_01_choice, NULL); return offset; } static const per_sequence_t PDCCH_ConfigCommon_eag_1_sequence[] = { { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCCH_ConfigCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCCH_ConfigCommon_eag_1_sequence); return offset; } static const per_sequence_t PDCCH_ConfigCommon_sequence[] = { { &hf_nr_rrc_controlResourceSetZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetZero }, { &hf_nr_rrc_commonControlResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSet }, { &hf_nr_rrc_searchSpaceZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceZero }, { &hf_nr_rrc_commonSearchSpaceList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace }, { &hf_nr_rrc_searchSpaceSIB1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId }, { &hf_nr_rrc_searchSpaceOtherSystemInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId }, { &hf_nr_rrc_pagingSearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId }, { &hf_nr_rrc_ra_SearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCCH_ConfigCommon_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDCCH_ConfigCommon, PDCCH_ConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdcch_ConfigCommon_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdcch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdcch_ConfigCommon, T_pdcch_ConfigCommon_choice, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 32U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_mappingType_vals[] = { { 0, "typeA" }, { 1, "typeB" }, { 0, NULL } }; static int dissect_nr_rrc_T_mappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PDSCH_TimeDomainResourceAllocation_sequence[] = { { &hf_nr_rrc_k0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 }, { &hf_nr_rrc_mappingType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType }, { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, PDSCH_TimeDomainResourceAllocation_sequence); return offset; } static const per_sequence_t PDSCH_TimeDomainResourceAllocationList_sequence_of[1] = { { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation }, }; static int dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, PDSCH_TimeDomainResourceAllocationList_sequence_of, 1, maxNrofDL_Allocations, FALSE); return offset; } static const per_sequence_t PDSCH_ConfigCommon_sequence[] = { { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDSCH_ConfigCommon, PDSCH_ConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdsch_ConfigCommon_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdsch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdsch_ConfigCommon, T_pdsch_ConfigCommon_choice, NULL); return offset; } static const per_sequence_t BWP_DownlinkCommon_sequence[] = { { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP }, { &hf_nr_rrc_pdcch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ConfigCommon }, { &hf_nr_rrc_pdsch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ConfigCommon }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BWP_DownlinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BWP_DownlinkCommon, BWP_DownlinkCommon_sequence); return offset; } static const value_string nr_rrc_T_modificationPeriodCoeff_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n8" }, { 3, "n16" }, { 0, NULL } }; static int dissect_nr_rrc_T_modificationPeriodCoeff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BCCH_Config_sequence[] = { { &hf_nr_rrc_modificationPeriodCoeff, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_modificationPeriodCoeff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BCCH_Config, BCCH_Config_sequence); return offset; } static const value_string nr_rrc_PagingCycle_vals[] = { { 0, "rf32" }, { 1, "rf64" }, { 2, "rf128" }, { 3, "rf256" }, { 0, NULL } }; static int dissect_nr_rrc_PagingCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_nAndPagingFrameOffset_vals[] = { { 0, "oneT" }, { 1, "halfT" }, { 2, "quarterT" }, { 3, "oneEighthT" }, { 4, "oneSixteenthT" }, { 0, NULL } }; static const per_choice_t T_nAndPagingFrameOffset_choice[] = { { 0, &hf_nr_rrc_oneT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_halfT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 }, { 2, &hf_nr_rrc_quarterT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 }, { 3, &hf_nr_rrc_oneEighthT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 }, { 4, &hf_nr_rrc_oneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_nAndPagingFrameOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nAndPagingFrameOffset, T_nAndPagingFrameOffset_choice, NULL); return offset; } static const value_string nr_rrc_T_ns_vals[] = { { 0, "four" }, { 1, "two" }, { 2, "one" }, { 0, NULL } }; static int dissect_nr_rrc_T_ns(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_sCS15KHZoneT_sequence_of[1] = { { &hf_nr_rrc_sCS15KHZoneT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_139 }, }; static int dissect_nr_rrc_T_sCS15KHZoneT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS15KHZoneT, T_sCS15KHZoneT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const per_sequence_t T_sCS30KHZoneT_SCS15KHZhalfT_sequence_of[1] = { { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_279 }, }; static int dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT, T_sCS30KHZoneT_SCS15KHZhalfT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const per_sequence_t T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_sequence_of[1] = { { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_559 }, }; static int dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const per_sequence_t T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1119 }, }; static int dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const per_sequence_t T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2239 }, }; static int dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const per_sequence_t T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4479 }, }; static int dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const per_sequence_t T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_8959 }, }; static int dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const per_sequence_t T_sCS120KHZoneSixteenthT_sequence_of[1] = { { &hf_nr_rrc_sCS120KHZoneSixteenthT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_17919 }, }; static int dissect_nr_rrc_T_sCS120KHZoneSixteenthT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sCS120KHZoneSixteenthT, T_sCS120KHZoneSixteenthT_sequence_of, 1, maxPO_perPF, FALSE); return offset; } static const value_string nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_vals[] = { { 0, "sCS15KHZoneT" }, { 1, "sCS30KHZoneT-SCS15KHZhalfT" }, { 2, "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT" }, { 3, "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT" }, { 4, "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT" }, { 5, "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT" }, { 6, "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT" }, { 7, "sCS120KHZoneSixteenthT" }, { 0, NULL } }; static const per_choice_t T_firstPDCCH_MonitoringOccasionOfPO_choice[] = { { 0, &hf_nr_rrc_sCS15KHZoneT , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS15KHZoneT }, { 1, &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT }, { 2, &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT }, { 3, &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT }, { 4, &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT }, { 5, &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT }, { 6, &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT }, { 7, &hf_nr_rrc_sCS120KHZoneSixteenthT, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_sCS120KHZoneSixteenthT }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO, T_firstPDCCH_MonitoringOccasionOfPO_choice, NULL); return offset; } static const per_sequence_t PCCH_Config_sequence[] = { { &hf_nr_rrc_defaultPagingCycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingCycle }, { &hf_nr_rrc_nAndPagingFrameOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nAndPagingFrameOffset }, { &hf_nr_rrc_ns , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ns }, { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PCCH_Config, PCCH_Config_sequence); return offset; } static const per_sequence_t DownlinkConfigCommonSIB_sequence[] = { { &hf_nr_rrc_frequencyInfoDL_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FrequencyInfoDL_SIB }, { &hf_nr_rrc_initialDownlinkBWP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_DownlinkCommon }, { &hf_nr_rrc_bcch_Config , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_Config }, { &hf_nr_rrc_pcch_Config , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_Config }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DownlinkConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DownlinkConfigCommonSIB, DownlinkConfigCommonSIB_sequence); return offset; } static const value_string nr_rrc_T_frequencyShift7p5khz_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_frequencyShift7p5khz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t FrequencyInfoUL_SIB_sequence[] = { { &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR_SIB }, { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_frequencyShift7p5khz_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FrequencyInfoUL_SIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FrequencyInfoUL_SIB, FrequencyInfoUL_SIB_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 63U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_oneEighth_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n12" }, { 3, "n16" }, { 4, "n20" }, { 5, "n24" }, { 6, "n28" }, { 7, "n32" }, { 8, "n36" }, { 9, "n40" }, { 10, "n44" }, { 11, "n48" }, { 12, "n52" }, { 13, "n56" }, { 14, "n60" }, { 15, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_oneEighth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_oneFourth_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n12" }, { 3, "n16" }, { 4, "n20" }, { 5, "n24" }, { 6, "n28" }, { 7, "n32" }, { 8, "n36" }, { 9, "n40" }, { 10, "n44" }, { 11, "n48" }, { 12, "n52" }, { 13, "n56" }, { 14, "n60" }, { 15, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_oneFourth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_oneHalf_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n12" }, { 3, "n16" }, { 4, "n20" }, { 5, "n24" }, { 6, "n28" }, { 7, "n32" }, { 8, "n36" }, { 9, "n40" }, { 10, "n44" }, { 11, "n48" }, { 12, "n52" }, { 13, "n56" }, { 14, "n60" }, { 15, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_oneHalf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_one_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n12" }, { 3, "n16" }, { 4, "n20" }, { 5, "n24" }, { 6, "n28" }, { 7, "n32" }, { 8, "n36" }, { 9, "n40" }, { 10, "n44" }, { 11, "n48" }, { 12, "n52" }, { 13, "n56" }, { 14, "n60" }, { 15, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_one(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_two_01_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n12" }, { 3, "n16" }, { 4, "n20" }, { 5, "n24" }, { 6, "n28" }, { 7, "n32" }, { 0, NULL } }; static int dissect_nr_rrc_T_two_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 4U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals[] = { { 0, "oneEighth" }, { 1, "oneFourth" }, { 2, "oneHalf" }, { 3, "one" }, { 4, "two" }, { 5, "four" }, { 6, "eight" }, { 7, "sixteen" }, { 0, NULL } }; static const per_choice_t T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice[] = { { 0, &hf_nr_rrc_oneEighth , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneEighth }, { 1, &hf_nr_rrc_oneFourth , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneFourth }, { 2, &hf_nr_rrc_oneHalf , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneHalf }, { 3, &hf_nr_rrc_one_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_one }, { 4, &hf_nr_rrc_two_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_two_01 }, { 5, &hf_nr_rrc_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_16 }, { 6, &hf_nr_rrc_eight , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_8 }, { 7, &hf_nr_rrc_sixteen , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_4 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice, NULL); return offset; } static const value_string nr_rrc_T_ra_Msg3SizeGroupA_vals[] = { { 0, "b56" }, { 1, "b144" }, { 2, "b208" }, { 3, "b256" }, { 4, "b282" }, { 5, "b480" }, { 6, "b640" }, { 7, "b800" }, { 8, "b1000" }, { 9, "b72" }, { 10, "spare6" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_ra_Msg3SizeGroupA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_messagePowerOffsetGroupB_vals[] = { { 0, "minusinfinity" }, { 1, "dB0" }, { 2, "dB5" }, { 3, "dB8" }, { 4, "dB10" }, { 5, "dB12" }, { 6, "dB15" }, { 7, "dB18" }, { 0, NULL } }; static int dissect_nr_rrc_T_messagePowerOffsetGroupB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 64U, NULL, FALSE); return offset; } static const per_sequence_t T_groupBconfigured_sequence[] = { { &hf_nr_rrc_ra_Msg3SizeGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_Msg3SizeGroupA }, { &hf_nr_rrc_messagePowerOffsetGroupB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB }, { &hf_nr_rrc_numberOfRA_PreamblesGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_groupBconfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_groupBconfigured, T_groupBconfigured_sequence); return offset; } static const value_string nr_rrc_T_ra_ContentionResolutionTimer_vals[] = { { 0, "sf8" }, { 1, "sf16" }, { 2, "sf24" }, { 3, "sf32" }, { 4, "sf40" }, { 5, "sf48" }, { 6, "sf56" }, { 7, "sf64" }, { 0, NULL } }; static int dissect_nr_rrc_T_ra_ContentionResolutionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 837U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_137(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 137U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_prach_RootSequenceIndex_vals[] = { { 0, "l839" }, { 1, "l139" }, { 0, NULL } }; static const per_choice_t T_prach_RootSequenceIndex_choice[] = { { 0, &hf_nr_rrc_l839 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_837 }, { 1, &hf_nr_rrc_l139 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_137 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_prach_RootSequenceIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_prach_RootSequenceIndex, T_prach_RootSequenceIndex_choice, NULL); return offset; } static const value_string nr_rrc_T_restrictedSetConfig_vals[] = { { 0, "unrestrictedSet" }, { 1, "restrictedSetTypeA" }, { 2, "restrictedSetTypeB" }, { 0, NULL } }; static int dissect_nr_rrc_T_restrictedSetConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_msg3_transformPrecoder_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_msg3_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RACH_ConfigCommon_sequence[] = { { &hf_nr_rrc_rach_ConfigGeneric, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric }, { &hf_nr_rrc_totalNumberOfRA_Preambles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_63 }, { &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB }, { &hf_nr_rrc_groupBconfigured, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBconfigured }, { &hf_nr_rrc_ra_ContentionResolutionTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ContentionResolutionTimer }, { &hf_nr_rrc_rsrp_ThresholdSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, { &hf_nr_rrc_rsrp_ThresholdSSB_SUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, { &hf_nr_rrc_prach_RootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prach_RootSequenceIndex }, { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_restrictedSetConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_restrictedSetConfig }, { &hf_nr_rrc_msg3_transformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msg3_transformPrecoder }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RACH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RACH_ConfigCommon, RACH_ConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_rach_ConfigCommon_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_rach_ConfigCommon_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_rach_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_rach_ConfigCommon, T_rach_ConfigCommon_choice, NULL); return offset; } static const value_string nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mappingType_01_vals[] = { { 0, "typeA" }, { 1, "typeB" }, { 0, NULL } }; static int dissect_nr_rrc_T_mappingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUSCH_TimeDomainResourceAllocation_sequence[] = { { &hf_nr_rrc_k2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 }, { &hf_nr_rrc_mappingType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType_01 }, { &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_TimeDomainResourceAllocation, PUSCH_TimeDomainResourceAllocation_sequence); return offset; } static const per_sequence_t PUSCH_TimeDomainResourceAllocationList_sequence_of[1] = { { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation }, }; static int dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList, PUSCH_TimeDomainResourceAllocationList_sequence_of, 1, maxNrofUL_Allocations, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_M1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -1, 6U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_M202_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -202, 24U, NULL, FALSE); return offset; } static const per_sequence_t PUSCH_ConfigCommon_sequence[] = { { &hf_nr_rrc_groupHoppingEnabledTransformPrecoding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding }, { &hf_nr_rrc_pusch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList }, { &hf_nr_rrc_msg3_DeltaPreamble, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M1_6 }, { &hf_nr_rrc_p0_NominalWithGrant, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_ConfigCommon, PUSCH_ConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_pusch_ConfigCommon_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pusch_ConfigCommon_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pusch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pusch_ConfigCommon, T_pusch_ConfigCommon_choice, NULL); return offset; } static const value_string nr_rrc_T_pucch_GroupHopping_vals[] = { { 0, "neither" }, { 1, "enable" }, { 2, "disable" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_GroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUCCH_ConfigCommon_sequence[] = { { &hf_nr_rrc_pucch_ResourceCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_pucch_GroupHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_GroupHopping }, { &hf_nr_rrc_hoppingId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, { &hf_nr_rrc_p0_nominal , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_ConfigCommon, PUCCH_ConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_pucch_ConfigCommon_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pucch_ConfigCommon_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pucch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pucch_ConfigCommon, T_pucch_ConfigCommon_choice, NULL); return offset; } static const per_sequence_t BWP_UplinkCommon_sequence[] = { { &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP }, { &hf_nr_rrc_rach_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigCommon }, { &hf_nr_rrc_pusch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ConfigCommon }, { &hf_nr_rrc_pucch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_ConfigCommon }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BWP_UplinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BWP_UplinkCommon, BWP_UplinkCommon_sequence); return offset; } static const value_string nr_rrc_TimeAlignmentTimer_vals[] = { { 0, "ms500" }, { 1, "ms750" }, { 2, "ms1280" }, { 3, "ms1920" }, { 4, "ms2560" }, { 5, "ms5120" }, { 6, "ms10240" }, { 7, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_TimeAlignmentTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t UplinkConfigCommonSIB_sequence[] = { { &hf_nr_rrc_frequencyInfoUL_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FrequencyInfoUL_SIB }, { &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_UplinkCommon }, { &hf_nr_rrc_timeAlignmentTimerCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UplinkConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UplinkConfigCommonSIB, UplinkConfigCommonSIB_sequence); return offset; } static const value_string nr_rrc_T_n_TimingAdvanceOffset_01_vals[] = { { 0, "n0" }, { 1, "n25600" }, { 2, "n39936" }, { 0, NULL } }; static int dissect_nr_rrc_T_n_TimingAdvanceOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_ssb_PositionsInBurst_01_sequence[] = { { &hf_nr_rrc_inOneGroup , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 }, { &hf_nr_rrc_groupPresence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_ssb_PositionsInBurst_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ssb_PositionsInBurst_01, T_ssb_PositionsInBurst_01_sequence); return offset; } static const value_string nr_rrc_T_ssb_PeriodicityServingCell_vals[] = { { 0, "ms5" }, { 1, "ms10" }, { 2, "ms20" }, { 3, "ms40" }, { 4, "ms80" }, { 5, "ms160" }, { 0, NULL } }; static int dissect_nr_rrc_T_ssb_PeriodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_vals[] = { { 0, "ms0p5" }, { 1, "ms0p625" }, { 2, "ms1" }, { 3, "ms1p25" }, { 4, "ms2" }, { 5, "ms2p5" }, { 6, "ms5" }, { 7, "ms10" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_maxNrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSlots, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSymbols_1, NULL, FALSE); return offset; } static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530_vals[] = { { 0, "ms3" }, { 1, "ms4" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t TDD_UL_DL_Pattern_eag_1_sequence[] = { { &hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TDD_UL_DL_Pattern_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, TDD_UL_DL_Pattern_eag_1_sequence); return offset; } static const per_sequence_t TDD_UL_DL_Pattern_sequence[] = { { &hf_nr_rrc_dl_UL_TransmissionPeriodicity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity }, { &hf_nr_rrc_nrofDownlinkSlots, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots }, { &hf_nr_rrc_nrofDownlinkSymbols, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 }, { &hf_nr_rrc_nrofUplinkSlots, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots }, { &hf_nr_rrc_nrofUplinkSymbols, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_Pattern_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TDD_UL_DL_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_TDD_UL_DL_Pattern, TDD_UL_DL_Pattern_sequence); return offset; } static const per_sequence_t TDD_UL_DL_ConfigCommon_sequence[] = { { &hf_nr_rrc_referenceSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_pattern1_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_Pattern }, { &hf_nr_rrc_pattern2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_Pattern }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TDD_UL_DL_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_TDD_UL_DL_ConfigCommon, TDD_UL_DL_ConfigCommon_sequence); return offset; } static int dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -60, 50U, NULL, FALSE); return offset; } static const per_sequence_t ServingCellConfigCommonSIB_sequence[] = { { &hf_nr_rrc_downlinkConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DownlinkConfigCommonSIB }, { &hf_nr_rrc_uplinkConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommonSIB }, { &hf_nr_rrc_supplementaryUplink_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommonSIB }, { &hf_nr_rrc_n_TimingAdvanceOffset_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_n_TimingAdvanceOffset_01 }, { &hf_nr_rrc_ssb_PositionsInBurst_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PositionsInBurst_01 }, { &hf_nr_rrc_ssb_PeriodicityServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PeriodicityServingCell }, { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon }, { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ServingCellConfigCommonSIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ServingCellConfigCommonSIB, ServingCellConfigCommonSIB_sequence); return offset; } static const value_string nr_rrc_T_ims_EmergencySupport_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_ims_EmergencySupport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_eCallOverIMS_Support_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_eCallOverIMS_Support(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t300_vals[] = { { 0, "ms100" }, { 1, "ms200" }, { 2, "ms300" }, { 3, "ms400" }, { 4, "ms600" }, { 5, "ms1000" }, { 6, "ms1500" }, { 7, "ms2000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t300(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t301_vals[] = { { 0, "ms100" }, { 1, "ms200" }, { 2, "ms300" }, { 3, "ms400" }, { 4, "ms600" }, { 5, "ms1000" }, { 6, "ms1500" }, { 7, "ms2000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t310_01_vals[] = { { 0, "ms0" }, { 1, "ms50" }, { 2, "ms100" }, { 3, "ms200" }, { 4, "ms500" }, { 5, "ms1000" }, { 6, "ms2000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t310_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_n310_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 6, "n10" }, { 7, "n20" }, { 0, NULL } }; static int dissect_nr_rrc_T_n310_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t311_01_vals[] = { { 0, "ms1000" }, { 1, "ms3000" }, { 2, "ms5000" }, { 3, "ms10000" }, { 4, "ms15000" }, { 5, "ms20000" }, { 6, "ms30000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t311_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_n311_01_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 0, NULL } }; static int dissect_nr_rrc_T_n311_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t319_vals[] = { { 0, "ms100" }, { 1, "ms200" }, { 2, "ms300" }, { 3, "ms400" }, { 4, "ms600" }, { 5, "ms1000" }, { 6, "ms1500" }, { 7, "ms2000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t UE_TimersAndConstants_sequence[] = { { &hf_nr_rrc_t300 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t300 }, { &hf_nr_rrc_t301 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t301 }, { &hf_nr_rrc_t310_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310_01 }, { &hf_nr_rrc_n310_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310_01 }, { &hf_nr_rrc_t311_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t311_01 }, { &hf_nr_rrc_n311_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311_01 }, { &hf_nr_rrc_t319 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t319 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_TimersAndConstants, UE_TimersAndConstants_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_maxAccessCat_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxAccessCat_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_UAC_BarringInfoSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxBarringInfoSet, NULL, FALSE); return offset; } static const per_sequence_t UAC_BarringPerCat_sequence[] = { { &hf_nr_rrc_accessCategory, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxAccessCat_1 }, { &hf_nr_rrc_uac_barringInfoSetIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UAC_BarringPerCat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UAC_BarringPerCat, UAC_BarringPerCat_sequence); return offset; } static const per_sequence_t UAC_BarringPerCatList_sequence_of[1] = { { &hf_nr_rrc_UAC_BarringPerCatList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringPerCat }, }; static int dissect_nr_rrc_UAC_BarringPerCatList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UAC_BarringPerCatList, UAC_BarringPerCatList_sequence_of, 1, maxAccessCat_1, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex_sequence_of[1] = { { &hf_nr_rrc_uac_ImplicitACBarringList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex, SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex_sequence_of, maxAccessCat_1, maxAccessCat_1, FALSE); return offset; } static const value_string nr_rrc_T_uac_ACBarringListType_vals[] = { { 0, "uac-ImplicitACBarringList" }, { 1, "uac-ExplicitACBarringList" }, { 0, NULL } }; static const per_choice_t T_uac_ACBarringListType_choice[] = { { 0, &hf_nr_rrc_uac_ImplicitACBarringList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex }, { 1, &hf_nr_rrc_uac_ExplicitACBarringList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UAC_BarringPerCatList }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_uac_ACBarringListType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_uac_ACBarringListType, T_uac_ACBarringListType_choice, NULL); return offset; } static const per_sequence_t UAC_BarringPerPLMN_sequence[] = { { &hf_nr_rrc_plmn_IdentityIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN }, { &hf_nr_rrc_uac_ACBarringListType, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uac_ACBarringListType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UAC_BarringPerPLMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UAC_BarringPerPLMN, UAC_BarringPerPLMN_sequence); return offset; } static const per_sequence_t UAC_BarringPerPLMN_List_sequence_of[1] = { { &hf_nr_rrc_UAC_BarringPerPLMN_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringPerPLMN }, }; static int dissect_nr_rrc_UAC_BarringPerPLMN_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UAC_BarringPerPLMN_List, UAC_BarringPerPLMN_List_sequence_of, 1, maxPLMN, FALSE); return offset; } static const value_string nr_rrc_T_uac_BarringFactor_vals[] = { { 0, "p00" }, { 1, "p05" }, { 2, "p10" }, { 3, "p15" }, { 4, "p20" }, { 5, "p25" }, { 6, "p30" }, { 7, "p40" }, { 8, "p50" }, { 9, "p60" }, { 10, "p70" }, { 11, "p75" }, { 12, "p80" }, { 13, "p85" }, { 14, "p90" }, { 15, "p95" }, { 0, NULL } }; static int dissect_nr_rrc_T_uac_BarringFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_uac_BarringTime_vals[] = { { 0, "s4" }, { 1, "s8" }, { 2, "s16" }, { 3, "s32" }, { 4, "s64" }, { 5, "s128" }, { 6, "s256" }, { 7, "s512" }, { 0, NULL } }; static int dissect_nr_rrc_T_uac_BarringTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 7, 7, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t UAC_BarringInfoSet_sequence[] = { { &hf_nr_rrc_uac_BarringFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uac_BarringFactor }, { &hf_nr_rrc_uac_BarringTime, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uac_BarringTime }, { &hf_nr_rrc_uac_BarringForAccessIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_7 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UAC_BarringInfoSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UAC_BarringInfoSet, UAC_BarringInfoSet_sequence); return offset; } static const per_sequence_t UAC_BarringInfoSetList_sequence_of[1] = { { &hf_nr_rrc_UAC_BarringInfoSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSet }, }; static int dissect_nr_rrc_UAC_BarringInfoSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UAC_BarringInfoSetList, UAC_BarringInfoSetList_sequence_of, 1, maxBarringInfoSet, FALSE); return offset; } static const value_string nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals[] = { { 0, "a" }, { 1, "b" }, { 2, "c" }, { 0, NULL } }; static int dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo_sequence_of[1] = { { &hf_nr_rrc_individualPLMNList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo, SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo_sequence_of, 2, maxPLMN, FALSE); return offset; } static const value_string nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo_vals[] = { { 0, "plmnCommon" }, { 1, "individualPLMNList" }, { 0, NULL } }; static const per_choice_t T_uac_AccessCategory1_SelectionAssistanceInfo_choice[] = { { 0, &hf_nr_rrc_plmnCommon , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo }, { 1, &hf_nr_rrc_individualPLMNList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo, T_uac_AccessCategory1_SelectionAssistanceInfo_choice, NULL); return offset; } static const per_sequence_t T_uac_BarringInfo_sequence[] = { { &hf_nr_rrc_uac_BarringForCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UAC_BarringPerCatList }, { &hf_nr_rrc_uac_BarringPerPLMN_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UAC_BarringPerPLMN_List }, { &hf_nr_rrc_uac_BarringInfoSetList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UAC_BarringInfoSetList }, { &hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_uac_BarringInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_uac_BarringInfo, T_uac_BarringInfo_sequence); return offset; } static const value_string nr_rrc_T_useFullResumeID_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_useFullResumeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_nonCriticalExtension_30_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_30, T_nonCriticalExtension_30_sequence); return offset; } static const per_sequence_t SIB1_sequence[] = { { &hf_nr_rrc_cellSelectionInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cellSelectionInfo }, { &hf_nr_rrc_cellAccessRelatedInfo, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellAccessRelatedInfo }, { &hf_nr_rrc_connEstFailureControl, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConnEstFailureControl }, { &hf_nr_rrc_si_SchedulingInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SI_SchedulingInfo }, { &hf_nr_rrc_servingCellConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommonSIB }, { &hf_nr_rrc_ims_EmergencySupport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ims_EmergencySupport }, { &hf_nr_rrc_eCallOverIMS_Support, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eCallOverIMS_Support }, { &hf_nr_rrc_ue_TimersAndConstants, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_TimersAndConstants }, { &hf_nr_rrc_uac_BarringInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_uac_BarringInfo }, { &hf_nr_rrc_useFullResumeID, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_useFullResumeID }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_43, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_30 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SIB1"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SIB1, SIB1_sequence); return offset; } static const value_string nr_rrc_T_c1_07_vals[] = { { 0, "systemInformation" }, { 1, "systemInformationBlockType1" }, { 0, NULL } }; static const per_choice_t T_c1_07_choice[] = { { 0, &hf_nr_rrc_systemInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SystemInformation }, { 1, &hf_nr_rrc_systemInformationBlockType1, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SIB1 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_07, T_c1_07_choice, NULL); return offset; } static const per_sequence_t T_messageClassExtension_01_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension_01, T_messageClassExtension_01_sequence); return offset; } static const value_string nr_rrc_BCCH_DL_SCH_MessageType_vals[] = { { 0, "c1" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t BCCH_DL_SCH_MessageType_choice[] = { { 0, &hf_nr_rrc_c1_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_07 }, { 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_BCCH_DL_SCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BCCH_DL_SCH_MessageType, BCCH_DL_SCH_MessageType_choice, NULL); return offset; } static const per_sequence_t BCCH_DL_SCH_Message_sequence[] = { { &hf_nr_rrc_message_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_DL_SCH_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BCCH_DL_SCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BCCH_DL_SCH_Message, BCCH_DL_SCH_Message_sequence); return offset; } static int dissect_nr_rrc_RejectWaitTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 16U, NULL, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_19_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_19, T_nonCriticalExtension_19_sequence); return offset; } static const per_sequence_t RRCReject_IEs_sequence[] = { { &hf_nr_rrc_waitTime , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RejectWaitTime }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_30, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_19 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReject_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReject_IEs, RRCReject_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_18_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_18, T_criticalExtensionsFuture_18_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_18_vals[] = { { 0, "rrcReject" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_18_choice[] = { { 0, &hf_nr_rrc_rrcReject_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReject_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_18, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_18 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_18, T_criticalExtensions_18_choice, NULL); return offset; } static const per_sequence_t RRCReject_sequence[] = { { &hf_nr_rrc_criticalExtensions_18, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_18 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reject"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReject, RRCReject_sequence); return offset; } static int dissect_nr_rrc_RRC_TransactionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); return offset; } static int dissect_nr_rrc_SRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 3U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_reestablishPDCP_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_reestablishPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_discardOnPDCP_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_discardOnPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_discardTimer_vals[] = { { 0, "ms10" }, { 1, "ms20" }, { 2, "ms30" }, { 3, "ms40" }, { 4, "ms50" }, { 5, "ms60" }, { 6, "ms75" }, { 7, "ms100" }, { 8, "ms150" }, { 9, "ms200" }, { 10, "ms250" }, { 11, "ms300" }, { 12, "ms500" }, { 13, "ms750" }, { 14, "ms1500" }, { 15, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_discardTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdcp_SN_SizeUL_vals[] = { { 0, "len12bits" }, { 1, "len18bits" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcp_SN_SizeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 value; nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, FALSE, 0, NULL); mapping->pdcpUlSnLength_present = TRUE; mapping->pdcpUlSnLength = (value) ? 18 : 12; return offset; } static const value_string nr_rrc_T_pdcp_SN_SizeDL_vals[] = { { 0, "len12bits" }, { 1, "len18bits" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcp_SN_SizeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 value; nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, FALSE, 0, NULL); mapping->pdcpDlSnLength_present = TRUE; mapping->pdcpDlSnLength = (value) ? 18 : 12; return offset; } static int dissect_nr_rrc_INTEGER_1_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 16383U, NULL, FALSE); return offset; } static const per_sequence_t T_profiles_sequence[] = { { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_profiles, T_profiles_sequence); return offset; } static const value_string nr_rrc_T_drb_ContinueROHC_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_drb_ContinueROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_rohc_sequence[] = { { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 }, { &hf_nr_rrc_profiles , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles }, { &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_rohc, T_rohc_sequence); return offset; } static const per_sequence_t T_profiles_01_sequence[] = { { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_profiles_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_profiles_01, T_profiles_01_sequence); return offset; } static const value_string nr_rrc_T_drb_ContinueROHC_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_drb_ContinueROHC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_uplinkOnlyROHC_sequence[] = { { &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 }, { &hf_nr_rrc_profiles_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_01 }, { &hf_nr_rrc_drb_ContinueROHC_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_uplinkOnlyROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_uplinkOnlyROHC, T_uplinkOnlyROHC_sequence); return offset; } static const value_string nr_rrc_T_headerCompression_vals[] = { { 0, "notUsed" }, { 1, "rohc" }, { 2, "uplinkOnlyROHC" }, { 0, NULL } }; static const per_choice_t T_headerCompression_choice[] = { { 0, &hf_nr_rrc_notUsed , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_rohc , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_rohc }, { 2, &hf_nr_rrc_uplinkOnlyROHC, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_uplinkOnlyROHC }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_headerCompression, T_headerCompression_choice, NULL); return offset; } static const value_string nr_rrc_T_integrityProtection_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_integrityProtection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_statusReportRequired_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_statusReportRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_outOfOrderDelivery_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_outOfOrderDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_drb_sequence[] = { { &hf_nr_rrc_discardTimer , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discardTimer }, { &hf_nr_rrc_pdcp_SN_SizeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeUL }, { &hf_nr_rrc_pdcp_SN_SizeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeDL }, { &hf_nr_rrc_headerCompression, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_headerCompression }, { &hf_nr_rrc_integrityProtection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_integrityProtection }, { &hf_nr_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_statusReportRequired }, { &hf_nr_rrc_outOfOrderDelivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_drb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_drb, T_drb_sequence); return offset; } static int dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxSecondaryCellGroups, NULL, FALSE); return offset; } static int dissect_nr_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 value; nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxLC_ID, &value, FALSE); mapping->lcid = (guint8)value; mapping->lcid_present = TRUE; return offset; } static const per_sequence_t T_primaryPath_sequence[] = { { &hf_nr_rrc_cellGroup , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellGroupId }, { &hf_nr_rrc_logicalChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelIdentity }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_primaryPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_primaryPath, T_primaryPath_sequence); return offset; } static const value_string nr_rrc_UL_DataSplitThreshold_vals[] = { { 0, "b0" }, { 1, "b100" }, { 2, "b200" }, { 3, "b400" }, { 4, "b800" }, { 5, "b1600" }, { 6, "b3200" }, { 7, "b6400" }, { 8, "b12800" }, { 9, "b25600" }, { 10, "b51200" }, { 11, "b102400" }, { 12, "b204800" }, { 13, "b409600" }, { 14, "b819200" }, { 15, "b1228800" }, { 16, "b1638400" }, { 17, "b2457600" }, { 18, "b3276800" }, { 19, "b4096000" }, { 20, "b4915200" }, { 21, "b5734400" }, { 22, "b6553600" }, { 23, "infinity" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_UL_DataSplitThreshold_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UL_DataSplitThreshold_vals); static int dissect_nr_rrc_UL_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_moreThanOneRLC_sequence[] = { { &hf_nr_rrc_primaryPath , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_primaryPath }, { &hf_nr_rrc_ul_DataSplitThreshold, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UL_DataSplitThreshold }, { &hf_nr_rrc_pdcp_Duplication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_moreThanOneRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_moreThanOneRLC, T_moreThanOneRLC_sequence); return offset; } static const value_string nr_rrc_T_t_Reordering_vals[] = { { 0, "ms0" }, { 1, "ms1" }, { 2, "ms2" }, { 3, "ms4" }, { 4, "ms5" }, { 5, "ms8" }, { 6, "ms10" }, { 7, "ms15" }, { 8, "ms20" }, { 9, "ms30" }, { 10, "ms40" }, { 11, "ms50" }, { 12, "ms60" }, { 13, "ms80" }, { 14, "ms100" }, { 15, "ms120" }, { 16, "ms140" }, { 17, "ms160" }, { 18, "ms180" }, { 19, "ms200" }, { 20, "ms220" }, { 21, "ms240" }, { 22, "ms260" }, { 23, "ms280" }, { 24, "ms300" }, { 25, "ms500" }, { 26, "ms750" }, { 27, "ms1000" }, { 28, "ms1250" }, { 29, "ms1500" }, { 30, "ms1750" }, { 31, "ms2000" }, { 32, "ms2250" }, { 33, "ms2500" }, { 34, "ms2750" }, { 35, "ms3000" }, { 36, "spare28" }, { 37, "spare27" }, { 38, "spare26" }, { 39, "spare25" }, { 40, "spare24" }, { 41, "spare23" }, { 42, "spare22" }, { 43, "spare21" }, { 44, "spare20" }, { 45, "spare19" }, { 46, "spare18" }, { 47, "spare17" }, { 48, "spare16" }, { 49, "spare15" }, { 50, "spare14" }, { 51, "spare13" }, { 52, "spare12" }, { 53, "spare11" }, { 54, "spare10" }, { 55, "spare09" }, { 56, "spare08" }, { 57, "spare07" }, { 58, "spare06" }, { 59, "spare05" }, { 60, "spare04" }, { 61, "spare03" }, { 62, "spare02" }, { 63, "spare01" }, { 0, NULL } }; static value_string_ext nr_rrc_T_t_Reordering_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_t_Reordering_vals); static int dissect_nr_rrc_T_t_Reordering(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 64, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_cipheringDisabled_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_cipheringDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PDCP_Config_eag_1_sequence[] = { { &hf_nr_rrc_cipheringDisabled, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cipheringDisabled }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCP_Config_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDCP_Config_eag_1_sequence); return offset; } static const per_sequence_t PDCP_Config_sequence[] = { { &hf_nr_rrc_drb , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb }, { &hf_nr_rrc_moreThanOneRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_moreThanOneRLC }, { &hf_nr_rrc_t_Reordering , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t_Reordering }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Config_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDCP_Config, PDCP_Config_sequence); return offset; } static const per_sequence_t SRB_ToAddMod_sequence[] = { { &hf_nr_rrc_srb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_Identity }, { &hf_nr_rrc_reestablishPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP }, { &hf_nr_rrc_discardOnPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_discardOnPDCP }, { &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRB_ToAddMod, SRB_ToAddMod_sequence); return offset; } static const per_sequence_t SRB_ToAddModList_sequence_of[1] = { { &hf_nr_rrc_SRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_ToAddMod }, }; static int dissect_nr_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRB_ToAddModList, SRB_ToAddModList_sequence_of, 1, 2, FALSE); return offset; } static const value_string nr_rrc_T_srb3_ToRelease_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_srb3_ToRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_PDU_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_sdap_HeaderDL_vals[] = { { 0, "present" }, { 1, "absent" }, { 0, NULL } }; static int dissect_nr_rrc_T_sdap_HeaderDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sdap_HeaderUL_vals[] = { { 0, "present" }, { 1, "absent" }, { 0, NULL } }; static int dissect_nr_rrc_T_sdap_HeaderUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxQFI, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of[1] = { { &hf_nr_rrc_mappedQoS_FlowsToAdd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QFI }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of, 1, maxNrofQFIs, FALSE); return offset; } static const per_sequence_t SDAP_Config_sequence[] = { { &hf_nr_rrc_pdu_Session , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDU_SessionID }, { &hf_nr_rrc_sdap_HeaderDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderDL }, { &hf_nr_rrc_sdap_HeaderUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderUL }, { &hf_nr_rrc_defaultDRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_mappedQoS_FlowsToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI }, { &hf_nr_rrc_mappedQoS_FlowsToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SDAP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SDAP_Config, SDAP_Config_sequence); return offset; } static const value_string nr_rrc_T_cnAssociation_vals[] = { { 0, "eps-BearerIdentity" }, { 1, "sdap-Config" }, { 0, NULL } }; static const per_choice_t T_cnAssociation_choice[] = { { 0, &hf_nr_rrc_eps_BearerIdentity, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, { 1, &hf_nr_rrc_sdap_Config , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SDAP_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_cnAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cnAssociation, T_cnAssociation_choice, NULL); return offset; } static int dissect_nr_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 value; nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 32U, &value, FALSE); mapping->drbid = (guint8)value; return offset; } static const value_string nr_rrc_T_reestablishPDCP_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_reestablishPDCP_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_recoverPDCP_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_recoverPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DRB_ToAddMod_sequence[] = { { &hf_nr_rrc_cnAssociation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cnAssociation }, { &hf_nr_rrc_drb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity }, { &hf_nr_rrc_reestablishPDCP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP_01 }, { &hf_nr_rrc_recoverPDCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_recoverPDCP }, { &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; memset(mapping, 0, sizeof(*mapping)); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRB_ToAddMod, DRB_ToAddMod_sequence); /* Need UE identifier */ mac_nr_info *p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0); if (p_mac_nr_info) { /* Configure PDCP SN length(s) for this DRB */ if (mapping->pdcpUlSnLength_present || mapping->pdcpDlSnLength_present) { set_rlc_nr_drb_pdcp_seqnum_length(actx->pinfo, p_mac_nr_info->ueid, mapping->drbid, mapping->pdcpUlSnLength, mapping->pdcpDlSnLength); } } return offset; } static const per_sequence_t DRB_ToAddModList_sequence_of[1] = { { &hf_nr_rrc_DRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_ToAddMod }, }; static int dissect_nr_rrc_DRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRB_ToAddModList, DRB_ToAddModList_sequence_of, 1, maxDRB, FALSE); return offset; } static const per_sequence_t DRB_ToReleaseList_sequence_of[1] = { { &hf_nr_rrc_DRB_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity }, }; static int dissect_nr_rrc_DRB_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRB_ToReleaseList, DRB_ToReleaseList_sequence_of, 1, maxDRB, FALSE); return offset; } static const value_string nr_rrc_CipheringAlgorithm_vals[] = { { 0, "nea0" }, { 1, "nea1" }, { 2, "nea2" }, { 3, "nea3" }, { 4, "spare4" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_CipheringAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, TRUE, 0, NULL); return offset; } static const value_string nr_rrc_IntegrityProtAlgorithm_vals[] = { { 0, "nia0" }, { 1, "nia1" }, { 2, "nia2" }, { 3, "nia3" }, { 4, "spare4" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_IntegrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t SecurityAlgorithmConfig_sequence[] = { { &hf_nr_rrc_cipheringAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CipheringAlgorithm }, { &hf_nr_rrc_integrityProtAlgorithm, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntegrityProtAlgorithm }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityAlgorithmConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityAlgorithmConfig, SecurityAlgorithmConfig_sequence); return offset; } static const value_string nr_rrc_T_keyToUse_vals[] = { { 0, "master" }, { 1, "secondary" }, { 0, NULL } }; static int dissect_nr_rrc_T_keyToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SecurityConfig_sequence[] = { { &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityAlgorithmConfig }, { &hf_nr_rrc_keyToUse , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_keyToUse }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityConfig, SecurityConfig_sequence); return offset; } static const per_sequence_t RadioBearerConfig_sequence[] = { { &hf_nr_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRB_ToAddModList }, { &hf_nr_rrc_srb3_ToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3_ToRelease }, { &hf_nr_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToAddModList }, { &hf_nr_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToReleaseList }, { &hf_nr_rrc_securityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RadioBearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RadioBearerConfig, RadioBearerConfig_sequence); return offset; } static int dissect_nr_rrc_T_masterCellGroup_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU); return offset; } static const per_sequence_t T_nonCriticalExtension_23_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_23, T_nonCriticalExtension_23_sequence); return offset; } static const per_sequence_t RRCSetup_IEs_sequence[] = { { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioBearerConfig }, { &hf_nr_rrc_masterCellGroup_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_masterCellGroup_02 }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_36, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_23 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSetup_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSetup_IEs, RRCSetup_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_22_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_22, T_criticalExtensionsFuture_22_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_22_vals[] = { { 0, "rrcSetup" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_22_choice[] = { { 0, &hf_nr_rrc_rrcSetup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetup_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_22, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_22 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_22, T_criticalExtensions_22_choice, NULL); return offset; } static const per_sequence_t RRCSetup_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_22, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_22 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSetup, RRCSetup_sequence); return offset; } static const value_string nr_rrc_T_c1_08_vals[] = { { 0, "rrcReject" }, { 1, "rrcSetup" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_08_choice[] = { { 0, &hf_nr_rrc_rrcReject , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReject }, { 1, &hf_nr_rrc_rrcSetup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetup }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_08, T_c1_08_choice, NULL); return offset; } static const per_sequence_t T_messageClassExtension_02_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension_02, T_messageClassExtension_02_sequence); return offset; } static const value_string nr_rrc_DL_CCCH_MessageType_vals[] = { { 0, "c1" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t DL_CCCH_MessageType_choice[] = { { 0, &hf_nr_rrc_c1_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_08 }, { 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_DL_CCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DL_CCCH_MessageType, DL_CCCH_MessageType_choice, NULL); return offset; } static const per_sequence_t DL_CCCH_Message_sequence[] = { { &hf_nr_rrc_message_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_CCCH_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DL_CCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); actx->pinfo->link_dir = P2P_DIR_DL; ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DL_CCCH_Message, DL_CCCH_Message_sequence); return offset; } static int dissect_nr_rrc_T_secondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU); return offset; } static int dissect_nr_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofObjectId, NULL, FALSE); return offset; } static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = { { &hf_nr_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId }, }; static int dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of, 1, maxNrofObjectId, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of[1] = { { &hf_nr_rrc_pci_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of, 1, maxNrofPCIsPerSMTC, FALSE); return offset; } static const value_string nr_rrc_T_periodicity_02_vals[] = { { 0, "sf5" }, { 1, "sf10" }, { 2, "sf20" }, { 3, "sf40" }, { 4, "sf80" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_periodicity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SSB_MTC2_sequence[] = { { &hf_nr_rrc_pci_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId }, { &hf_nr_rrc_periodicity_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_02 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SSB_MTC2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SSB_MTC2, SSB_MTC2_sequence); return offset; } static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_ssb_ToMeasure_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ssb_ToMeasure, T_ssb_ToMeasure_choice, NULL); return offset; } static const per_sequence_t SSB_ConfigMobility_sequence[] = { { &hf_nr_rrc_ssb_ToMeasure_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure }, { &hf_nr_rrc_deriveSSB_IndexFromCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SSB_ConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence); return offset; } static const value_string nr_rrc_T_nrofPRBs_vals[] = { { 0, "size24" }, { 1, "size48" }, { 2, "size96" }, { 3, "size192" }, { 4, "size264" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 2169U, NULL, FALSE); return offset; } static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = { { &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs }, { &hf_nr_rrc_startPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence); return offset; } static const value_string nr_rrc_T_density_vals[] = { { 0, "d1" }, { 1, "d3" }, { 0, NULL } }; static int dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_slotConfig_vals[] = { { 0, "ms4" }, { 1, "ms5" }, { 2, "ms10" }, { 3, "ms20" }, { 4, "ms40" }, { 0, NULL } }; static const per_choice_t T_slotConfig_choice[] = { { 0, &hf_nr_rrc_ms4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, { 1, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 2, &hf_nr_rrc_ms10_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 3, &hf_nr_rrc_ms20_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 4, &hf_nr_rrc_ms40_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_slotConfig, T_slotConfig_choice, NULL); return offset; } static const per_sequence_t T_associatedSSB_sequence[] = { { &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, { &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 12, 12, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = { { 0, "row1" }, { 1, "row2" }, { 0, NULL } }; static const per_choice_t T_frequencyDomainAllocation_choice[] = { { 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, { 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 13U, NULL, FALSE); return offset; } static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = { { &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index }, { &hf_nr_rrc_slotConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig }, { &hf_nr_rrc_associatedSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_associatedSSB }, { &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation }, { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, { &hf_nr_rrc_sequenceGenerationConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = { { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of, 1, maxNrofCSI_RS_ResourcesRRM, FALSE); return offset; } static const per_sequence_t CSI_RS_CellMobility_sequence[] = { { &hf_nr_rrc_cellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW }, { &hf_nr_rrc_density , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_density }, { &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of[1] = { { &hf_nr_rrc_csi_RS_CellList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of, 1, maxNrofCSI_RS_CellsRRM, FALSE); return offset; } static const per_sequence_t CSI_RS_ResourceConfigMobility_eag_1_sequence[] = { { &hf_nr_rrc_refServCellIndex, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_ResourceConfigMobility_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_RS_ResourceConfigMobility_eag_1_sequence); return offset; } static const per_sequence_t CSI_RS_ResourceConfigMobility_sequence[] = { { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_csi_RS_CellList_Mobility, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceConfigMobility_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_RS_ResourceConfigMobility, CSI_RS_ResourceConfigMobility_sequence); return offset; } static const value_string nr_rrc_T_csi_rs_ResourceConfigMobility_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_csi_rs_ResourceConfigMobility_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_RS_ResourceConfigMobility }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_csi_rs_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csi_rs_ResourceConfigMobility, T_csi_rs_ResourceConfigMobility_choice, NULL); return offset; } static const per_sequence_t ReferenceSignalConfig_sequence[] = { { &hf_nr_rrc_ssb_ConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ConfigMobility }, { &hf_nr_rrc_csi_rs_ResourceConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_rs_ResourceConfigMobility }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReferenceSignalConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReferenceSignalConfig, ReferenceSignalConfig_sequence); return offset; } static int dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, maxNrofCSI_RS_ResourcesToAverage, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofQuantityConfig, NULL, FALSE); return offset; } static const per_sequence_t Q_OffsetRangeList_sequence[] = { { &hf_nr_rrc_rsrpOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_rsrqOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_sinrOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_rsrpOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_rsrqOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange }, { &hf_nr_rrc_sinrOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Q_OffsetRangeList, Q_OffsetRangeList_sequence); return offset; } static const per_sequence_t PCI_List_sequence_of[1] = { { &hf_nr_rrc_PCI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, }; static int dissect_nr_rrc_PCI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PCI_List, PCI_List_sequence_of, 1, maxNrofCellMeas, FALSE); return offset; } static const per_sequence_t CellsToAddMod_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_cellIndividualOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellsToAddMod, CellsToAddMod_sequence); return offset; } static const per_sequence_t CellsToAddModList_sequence_of[1] = { { &hf_nr_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddMod }, }; static int dissect_nr_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellsToAddModList, CellsToAddModList_sequence_of, 1, maxNrofCellMeas, FALSE); return offset; } static int dissect_nr_rrc_PCI_RangeIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofPCI_Ranges, NULL, FALSE); return offset; } static const per_sequence_t PCI_RangeIndexList_sequence_of[1] = { { &hf_nr_rrc_PCI_RangeIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex }, }; static int dissect_nr_rrc_PCI_RangeIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PCI_RangeIndexList, PCI_RangeIndexList_sequence_of, 1, maxNrofPCI_Ranges, FALSE); return offset; } static const per_sequence_t PCI_RangeElement_sequence[] = { { &hf_nr_rrc_pci_RangeIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex }, { &hf_nr_rrc_pci_Range , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PCI_RangeElement, PCI_RangeElement_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of[1] = { { &hf_nr_rrc_blackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeElement }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement, SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of, 1, maxNrofPCI_Ranges, FALSE); return offset; } static const value_string nr_rrc_T_measCycleSCell_vals[] = { { 0, "sf160" }, { 1, "sf256" }, { 2, "sf320" }, { 3, "sf512" }, { 4, "sf640" }, { 5, "sf1024" }, { 6, "sf1280" }, { 0, NULL } }; static int dissect_nr_rrc_T_measCycleSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasObjectNR_eag_1_sequence[] = { { &hf_nr_rrc_freqBandIndicatorNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandIndicatorNR }, { &hf_nr_rrc_measCycleSCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_measCycleSCell }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasObjectNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasObjectNR_eag_1_sequence); return offset; } static const per_sequence_t MeasObjectNR_sequence[] = { { &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_smtc1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC }, { &hf_nr_rrc_smtc2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC2 }, { &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_referenceSignalConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceSignalConfig }, { &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR }, { &hf_nr_rrc_absThreshCSI_RS_Consolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR }, { &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage }, { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage }, { &hf_nr_rrc_quantityConfigIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig }, { &hf_nr_rrc_offsetMO , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList }, { &hf_nr_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_List }, { &hf_nr_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellsToAddModList }, { &hf_nr_rrc_blackCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList }, { &hf_nr_rrc_blackCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement }, { &hf_nr_rrc_whiteCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList }, { &hf_nr_rrc_whiteCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectNR_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasObjectNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasObjectNR, MeasObjectNR_sequence); return offset; } static int dissect_nr_rrc_EUTRA_CellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxCellMeasEUTRA, NULL, FALSE); return offset; } static const per_sequence_t EUTRA_CellIndexList_sequence_of[1] = { { &hf_nr_rrc_EUTRA_CellIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex }, }; static int dissect_nr_rrc_EUTRA_CellIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_CellIndexList, EUTRA_CellIndexList_sequence_of, 1, maxCellMeasEUTRA, FALSE); return offset; } static const per_sequence_t EUTRA_Cell_sequence[] = { { &hf_nr_rrc_cellIndexEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex }, { &hf_nr_rrc_physCellId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, { &hf_nr_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Q_OffsetRange }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_Cell, EUTRA_Cell_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell_sequence_of[1] = { { &hf_nr_rrc_cellsToAddModListEUTRAN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_Cell }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell, SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell_sequence_of, 1, maxCellMeasEUTRA, FALSE); return offset; } static const per_sequence_t EUTRA_BlackCell_sequence[] = { { &hf_nr_rrc_cellIndexEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_CellIndex }, { &hf_nr_rrc_physCellIdRange, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellIdRange }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_BlackCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_BlackCell, EUTRA_BlackCell_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell_sequence_of[1] = { { &hf_nr_rrc_blackCellsToAddModListEUTRAN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_BlackCell }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell, SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell_sequence_of, 1, maxCellMeasEUTRA, FALSE); return offset; } static const per_sequence_t MeasObjectEUTRA_sequence[] = { { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_allowedMeasBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_AllowedMeasBandwidth }, { &hf_nr_rrc_cellsToRemoveListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_CellIndexList }, { &hf_nr_rrc_cellsToAddModListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell }, { &hf_nr_rrc_blackCellsToRemoveListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_CellIndexList }, { &hf_nr_rrc_blackCellsToAddModListEUTRAN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell }, { &hf_nr_rrc_eutra_PresenceAntennaPort1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PresenceAntennaPort1 }, { &hf_nr_rrc_eutra_Q_OffsetRange, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_Q_OffsetRange }, { &hf_nr_rrc_widebandRSRQ_Meas, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasObjectEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasObjectEUTRA, MeasObjectEUTRA_sequence); return offset; } static const value_string nr_rrc_T_measObject_vals[] = { { 0, "measObjectNR" }, { 1, "measObjectEUTRA" }, { 0, NULL } }; static const per_choice_t T_measObject_choice[] = { { 0, &hf_nr_rrc_measObjectNR , ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasObjectNR }, { 1, &hf_nr_rrc_measObjectEUTRA, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasObjectEUTRA }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measObject, T_measObject_choice, NULL); return offset; } static const per_sequence_t MeasObjectToAddMod_sequence[] = { { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId }, { &hf_nr_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measObject }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence); return offset; } static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = { { &hf_nr_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectToAddMod }, }; static int dissect_nr_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of, 1, maxNrofObjectId, FALSE); return offset; } static int dissect_nr_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxReportConfigId, NULL, FALSE); return offset; } static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = { { &hf_nr_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId }, }; static int dissect_nr_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of, 1, maxReportConfigId, FALSE); return offset; } static const value_string nr_rrc_NR_RS_Type_vals[] = { { 0, "ssb" }, { 1, "csi-rs" }, { 0, NULL } }; static int dissect_nr_rrc_NR_RS_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_ReportInterval_vals[] = { { 0, "ms120" }, { 1, "ms240" }, { 2, "ms480" }, { 3, "ms640" }, { 4, "ms1024" }, { 5, "ms2048" }, { 6, "ms5120" }, { 7, "ms10240" }, { 8, "ms20480" }, { 9, "ms40960" }, { 10, "min1" }, { 11, "min6" }, { 12, "min12" }, { 13, "min30" }, { 0, NULL } }; static int dissect_nr_rrc_ReportInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 14, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_reportAmount_03_vals[] = { { 0, "r1" }, { 1, "r2" }, { 2, "r4" }, { 3, "r8" }, { 4, "r16" }, { 5, "r32" }, { 6, "r64" }, { 7, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportAmount_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasReportQuantity_sequence[] = { { &hf_nr_rrc_rsrp_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_rsrq_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_sinr_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasReportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasReportQuantity, MeasReportQuantity_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxCellReport, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofIndexesToReport, NULL, FALSE); return offset; } static const per_sequence_t PeriodicalReportConfig_sequence[] = { { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type }, { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, { &hf_nr_rrc_reportAmount_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_03 }, { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity }, { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport }, { &hf_nr_rrc_reportQuantityRS_Indexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity }, { &hf_nr_rrc_maxNrofRS_IndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport }, { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_useWhiteCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PeriodicalReportConfig, PeriodicalReportConfig_sequence); return offset; } static const value_string nr_rrc_MeasTriggerQuantity_vals[] = { { 0, "rsrp" }, { 1, "rsrq" }, { 2, "sinr" }, { 0, NULL } }; static const per_choice_t MeasTriggerQuantity_choice[] = { { 0, &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range }, { 1, &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQ_Range }, { 2, &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINR_Range }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_MeasTriggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasTriggerQuantity, MeasTriggerQuantity_choice, NULL); return offset; } static int dissect_nr_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 30U, NULL, FALSE); return offset; } static const value_string nr_rrc_TimeToTrigger_vals[] = { { 0, "ms0" }, { 1, "ms40" }, { 2, "ms64" }, { 3, "ms80" }, { 4, "ms100" }, { 5, "ms128" }, { 6, "ms160" }, { 7, "ms256" }, { 8, "ms320" }, { 9, "ms480" }, { 10, "ms512" }, { 11, "ms640" }, { 12, "ms1024" }, { 13, "ms1280" }, { 14, "ms2560" }, { 15, "ms5120" }, { 0, NULL } }; static int dissect_nr_rrc_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_eventA1_sequence[] = { { &hf_nr_rrc_a1_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventA1, T_eventA1_sequence); return offset; } static const per_sequence_t T_eventA2_sequence[] = { { &hf_nr_rrc_a2_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventA2, T_eventA2_sequence); return offset; } static int dissect_nr_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -30, 30U, NULL, FALSE); return offset; } static const value_string nr_rrc_MeasTriggerQuantityOffset_vals[] = { { 0, "rsrp" }, { 1, "rsrq" }, { 2, "sinr" }, { 0, NULL } }; static const per_choice_t MeasTriggerQuantityOffset_choice[] = { { 0, &hf_nr_rrc_rsrp_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 }, { 1, &hf_nr_rrc_rsrq_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 }, { 2, &hf_nr_rrc_sinr_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_MeasTriggerQuantityOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasTriggerQuantityOffset, MeasTriggerQuantityOffset_choice, NULL); return offset; } static const per_sequence_t T_eventA3_sequence[] = { { &hf_nr_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset }, { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventA3, T_eventA3_sequence); return offset; } static const per_sequence_t T_eventA4_sequence[] = { { &hf_nr_rrc_a4_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventA4, T_eventA4_sequence); return offset; } static const per_sequence_t T_eventA5_sequence[] = { { &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, { &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventA5, T_eventA5_sequence); return offset; } static const per_sequence_t T_eventA6_sequence[] = { { &hf_nr_rrc_a6_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset }, { &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventA6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventA6, T_eventA6_sequence); return offset; } static const value_string nr_rrc_T_eventId_01_vals[] = { { 0, "eventA1" }, { 1, "eventA2" }, { 2, "eventA3" }, { 3, "eventA4" }, { 4, "eventA5" }, { 5, "eventA6" }, { 0, NULL } }; static const per_choice_t T_eventId_01_choice[] = { { 0, &hf_nr_rrc_eventA1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA1 }, { 1, &hf_nr_rrc_eventA2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA2 }, { 2, &hf_nr_rrc_eventA3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA3 }, { 3, &hf_nr_rrc_eventA4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA4 }, { 4, &hf_nr_rrc_eventA5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA5 }, { 5, &hf_nr_rrc_eventA6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA6 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_eventId_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventId_01, T_eventId_01_choice, NULL); return offset; } static const value_string nr_rrc_T_reportAmount_02_vals[] = { { 0, "r1" }, { 1, "r2" }, { 2, "r4" }, { 3, "r8" }, { 4, "r16" }, { 5, "r32" }, { 6, "r64" }, { 7, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportAmount_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_reportAddNeighMeas_vals[] = { { 0, "setup" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportAddNeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t EventTriggerConfig_sequence[] = { { &hf_nr_rrc_eventId_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId_01 }, { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type }, { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, { &hf_nr_rrc_reportAmount_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_02 }, { &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity }, { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport }, { &hf_nr_rrc_reportQuantityRS_Indexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity }, { &hf_nr_rrc_maxNrofRS_IndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport }, { &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_reportAddNeighMeas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeas }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EventTriggerConfig, EventTriggerConfig_sequence); return offset; } static const per_sequence_t ReportCGI_sequence[] = { { &hf_nr_rrc_cellForWhichToReportCGI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportCGI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportCGI, ReportCGI_sequence); return offset; } static const value_string nr_rrc_T_reportSFTD_NeighMeas_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportSFTD_NeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_drx_SFTD_NeighMeas_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_drx_SFTD_NeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId_sequence_of[1] = { { &hf_nr_rrc_cellsForWhichToReportSFTD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId, SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId_sequence_of, 1, maxCellSFTD, FALSE); return offset; } static const per_sequence_t ReportSFTD_NR_eag_1_sequence[] = { { &hf_nr_rrc_reportSFTD_NeighMeas, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportSFTD_NeighMeas }, { &hf_nr_rrc_drx_SFTD_NeighMeas, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_SFTD_NeighMeas }, { &hf_nr_rrc_cellsForWhichToReportSFTD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportSFTD_NR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReportSFTD_NR_eag_1_sequence); return offset; } static const per_sequence_t ReportSFTD_NR_sequence[] = { { &hf_nr_rrc_reportSFTD_Meas, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_reportRSRP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportSFTD_NR_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportSFTD_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportSFTD_NR, ReportSFTD_NR_sequence); return offset; } static const value_string nr_rrc_T_reportType_01_vals[] = { { 0, "periodical" }, { 1, "eventTriggered" }, { 2, "reportCGI" }, { 3, "reportSFTD" }, { 0, NULL } }; static const per_choice_t T_reportType_01_choice[] = { { 0, &hf_nr_rrc_periodical_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig }, { 1, &hf_nr_rrc_eventTriggered_01, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig }, { 2, &hf_nr_rrc_reportCGI_01 , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportCGI }, { 3, &hf_nr_rrc_reportSFTD_01, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportSFTD_NR }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_reportType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportType_01, T_reportType_01_choice, NULL); return offset; } static const per_sequence_t ReportConfigNR_sequence[] = { { &hf_nr_rrc_reportType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportConfigNR, ReportConfigNR_sequence); return offset; } static const value_string nr_rrc_T_reportAmount_01_vals[] = { { 0, "r1" }, { 1, "r2" }, { 2, "r4" }, { 3, "r8" }, { 4, "r16" }, { 5, "r32" }, { 6, "r64" }, { 7, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PeriodicalReportConfigInterRAT_sequence[] = { { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, { &hf_nr_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 }, { &hf_nr_rrc_reportQuantity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity }, { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PeriodicalReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PeriodicalReportConfigInterRAT, PeriodicalReportConfigInterRAT_sequence); return offset; } static const value_string nr_rrc_MeasTriggerQuantityEUTRA_vals[] = { { 0, "rsrp" }, { 1, "rsrq" }, { 2, "sinr" }, { 0, NULL } }; static const per_choice_t MeasTriggerQuantityEUTRA_choice[] = { { 0, &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_RangeEUTRA }, { 1, &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQ_RangeEUTRA }, { 2, &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINR_RangeEUTRA }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_MeasTriggerQuantityEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasTriggerQuantityEUTRA, MeasTriggerQuantityEUTRA_choice, NULL); return offset; } static const per_sequence_t T_eventB1_sequence[] = { { &hf_nr_rrc_b1_ThresholdEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityEUTRA }, { &hf_nr_rrc_reportOnLeave, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventB1, T_eventB1_sequence); return offset; } static const per_sequence_t T_eventB2_sequence[] = { { &hf_nr_rrc_b2_Threshold1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity }, { &hf_nr_rrc_b2_Threshold2EUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityEUTRA }, { &hf_nr_rrc_reportOnLeave, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_hysteresis , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis }, { &hf_nr_rrc_timeToTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eventB2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventB2, T_eventB2_sequence); return offset; } static const value_string nr_rrc_T_eventId_vals[] = { { 0, "eventB1" }, { 1, "eventB2" }, { 0, NULL } }; static const per_choice_t T_eventId_choice[] = { { 0, &hf_nr_rrc_eventB1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventB1 }, { 1, &hf_nr_rrc_eventB2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventB2 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eventId, T_eventId_choice, NULL); return offset; } static const value_string nr_rrc_T_reportAmount_vals[] = { { 0, "r1" }, { 1, "r2" }, { 2, "r4" }, { 3, "r8" }, { 4, "r16" }, { 5, "r32" }, { 6, "r64" }, { 7, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t EventTriggerConfigInterRAT_sequence[] = { { &hf_nr_rrc_eventId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId }, { &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type }, { &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval }, { &hf_nr_rrc_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount }, { &hf_nr_rrc_reportQuantity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity }, { &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EventTriggerConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EventTriggerConfigInterRAT, EventTriggerConfigInterRAT_sequence); return offset; } static const per_sequence_t ReportCGI_EUTRA_sequence[] = { { &hf_nr_rrc_cellForWhichToReportCGI_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_PhysCellId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportCGI_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportCGI_EUTRA, ReportCGI_EUTRA_sequence); return offset; } static const per_sequence_t ReportSFTD_EUTRA_sequence[] = { { &hf_nr_rrc_reportSFTD_Meas, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_reportRSRP , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportSFTD_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportSFTD_EUTRA, ReportSFTD_EUTRA_sequence); return offset; } static const value_string nr_rrc_T_reportType_vals[] = { { 0, "periodical" }, { 1, "eventTriggered" }, { 2, "reportCGI" }, { 3, "reportSFTD" }, { 0, NULL } }; static const per_choice_t T_reportType_choice[] = { { 0, &hf_nr_rrc_periodical , ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfigInterRAT }, { 1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfigInterRAT }, { 2, &hf_nr_rrc_reportCGI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportCGI_EUTRA }, { 3, &hf_nr_rrc_reportSFTD , ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportSFTD_EUTRA }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportType, T_reportType_choice, NULL); return offset; } static const per_sequence_t ReportConfigInterRAT_sequence[] = { { &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportConfigInterRAT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportConfigInterRAT, ReportConfigInterRAT_sequence); return offset; } static const value_string nr_rrc_T_reportConfig_vals[] = { { 0, "reportConfigNR" }, { 1, "reportConfigInterRAT" }, { 0, NULL } }; static const per_choice_t T_reportConfig_choice[] = { { 0, &hf_nr_rrc_reportConfigNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportConfigNR }, { 1, &hf_nr_rrc_reportConfigInterRAT, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_ReportConfigInterRAT }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportConfig, T_reportConfig_choice, NULL); return offset; } static const per_sequence_t ReportConfigToAddMod_sequence[] = { { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId }, { &hf_nr_rrc_reportConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence); return offset; } static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = { { &hf_nr_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigToAddMod }, }; static int dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of, 1, maxReportConfigId, FALSE); return offset; } static int dissect_nr_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofMeasId, NULL, FALSE); return offset; } static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = { { &hf_nr_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId }, }; static int dissect_nr_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of, 1, maxNrofMeasId, FALSE); return offset; } static const per_sequence_t MeasIdToAddMod_sequence[] = { { &hf_nr_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId }, { &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId }, { &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence); return offset; } static const per_sequence_t MeasIdToAddModList_sequence_of[1] = { { &hf_nr_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdToAddMod }, }; static int dissect_nr_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of, 1, maxNrofMeasId, FALSE); return offset; } static const value_string nr_rrc_T_s_MeasureConfig_vals[] = { { 0, "ssb-RSRP" }, { 1, "csi-RSRP" }, { 0, NULL } }; static const per_choice_t T_s_MeasureConfig_choice[] = { { 0, &hf_nr_rrc_ssb_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range }, { 1, &hf_nr_rrc_csi_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_s_MeasureConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_s_MeasureConfig, T_s_MeasureConfig_choice, NULL); return offset; } static const value_string nr_rrc_FilterCoefficient_vals[] = { { 0, "fc0" }, { 1, "fc1" }, { 2, "fc2" }, { 3, "fc3" }, { 4, "fc4" }, { 5, "fc5" }, { 6, "fc6" }, { 7, "fc7" }, { 8, "fc8" }, { 9, "fc9" }, { 10, "fc11" }, { 11, "fc13" }, { 12, "fc15" }, { 13, "fc17" }, { 14, "fc19" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_FilterCoefficient(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t FilterConfig_sequence[] = { { &hf_nr_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, { &hf_nr_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, { &hf_nr_rrc_filterCoefficientRS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FilterConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FilterConfig, FilterConfig_sequence); return offset; } static const per_sequence_t QuantityConfigRS_sequence[] = { { &hf_nr_rrc_ssb_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig }, { &hf_nr_rrc_csi_RS_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_QuantityConfigRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_QuantityConfigRS, QuantityConfigRS_sequence); return offset; } static const per_sequence_t QuantityConfigNR_sequence[] = { { &hf_nr_rrc_quantityConfigCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigRS }, { &hf_nr_rrc_quantityConfigRS_Index, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigRS }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_QuantityConfigNR, QuantityConfigNR_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of[1] = { { &hf_nr_rrc_quantityConfigNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigNR }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of, 1, maxNrofQuantityConfig, FALSE); return offset; } static const per_sequence_t QuantityConfig_eag_1_sequence[] = { { &hf_nr_rrc_quantityConfigEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_QuantityConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, QuantityConfig_eag_1_sequence); return offset; } static const per_sequence_t QuantityConfig_sequence[] = { { &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_QuantityConfig, QuantityConfig_sequence); return offset; } static const value_string nr_rrc_T_gapFR2_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_gapFR2_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_gapFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_gapFR2, T_gapFR2_choice, NULL); return offset; } static const value_string nr_rrc_T_gapFR1_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_gapFR1_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_gapFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_gapFR1, T_gapFR1_choice, NULL); return offset; } static const value_string nr_rrc_T_gapUE_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_gapUE_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_gapUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_gapUE, T_gapUE_choice, NULL); return offset; } static const per_sequence_t MeasGapConfig_eag_1_sequence[] = { { &hf_nr_rrc_gapFR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapFR1 }, { &hf_nr_rrc_gapUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapUE }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasGapConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasGapConfig_eag_1_sequence); return offset; } static const per_sequence_t MeasGapConfig_sequence[] = { { &hf_nr_rrc_gapFR2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapFR2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasGapConfig, MeasGapConfig_sequence); return offset; } static const value_string nr_rrc_MeasGapSharingScheme_vals[] = { { 0, "scheme00" }, { 1, "scheme01" }, { 2, "scheme10" }, { 3, "scheme11" }, { 0, NULL } }; static int dissect_nr_rrc_MeasGapSharingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_gapSharingFR2_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_gapSharingFR2_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_gapSharingFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_gapSharingFR2, T_gapSharingFR2_choice, NULL); return offset; } static const value_string nr_rrc_T_gapSharingFR1_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_gapSharingFR1_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_gapSharingFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_gapSharingFR1, T_gapSharingFR1_choice, NULL); return offset; } static const value_string nr_rrc_T_gapSharingUE_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_gapSharingUE_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_gapSharingUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_gapSharingUE, T_gapSharingUE_choice, NULL); return offset; } static const per_sequence_t MeasGapSharingConfig_eag_1_sequence[] = { { &hf_nr_rrc_gapSharingFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingFR1 }, { &hf_nr_rrc_gapSharingUE , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingUE }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasGapSharingConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasGapSharingConfig_eag_1_sequence); return offset; } static const per_sequence_t MeasGapSharingConfig_sequence[] = { { &hf_nr_rrc_gapSharingFR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingFR2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasGapSharingConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasGapSharingConfig, MeasGapSharingConfig_sequence); return offset; } static const per_sequence_t MeasConfig_sequence[] = { { &hf_nr_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToRemoveList }, { &hf_nr_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToAddModList }, { &hf_nr_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToRemoveList }, { &hf_nr_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToAddModList }, { &hf_nr_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToRemoveList }, { &hf_nr_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToAddModList }, { &hf_nr_rrc_s_MeasureConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_s_MeasureConfig }, { &hf_nr_rrc_quantityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfig }, { &hf_nr_rrc_measGapConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapConfig }, { &hf_nr_rrc_measGapSharingConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapSharingConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasConfig, MeasConfig_sequence); return offset; } static int dissect_nr_rrc_T_masterCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU); return offset; } static const value_string nr_rrc_T_fullConfig_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_fullConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_DedicatedNAS_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *nas_5gs_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &nas_5gs_tvb); if (nas_5gs_tvb && nas_5gs_handle) { subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_DedicatedNAS_Message); nr_rrc_call_dissector(nas_5gs_handle, nas_5gs_tvb, actx->pinfo, subtree); } return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message_sequence_of[1] = { { &hf_nr_rrc_dedicatedNAS_MessageList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DedicatedNAS_Message }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message, SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message_sequence_of, 1, maxDRB, FALSE); return offset; } static int dissect_nr_rrc_NextHopChainingCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static int dissect_nr_rrc_T_nas_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *nas_5gs_tvb = NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &nas_5gs_tvb); if (nas_5gs_tvb) { subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_nas_Container); de_nas_5gs_s1_mode_to_n1_mode_nas_transparent_cont(tvb, subtree, actx->pinfo); } return offset; } static const per_sequence_t MasterKeyUpdate_sequence[] = { { &hf_nr_rrc_keySetChangeIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount }, { &hf_nr_rrc_nas_Container, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nas_Container }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MasterKeyUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MasterKeyUpdate, MasterKeyUpdate_sequence); return offset; } static int dissect_nr_rrc_T_dedicatedSIB1_Delivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_SIB1_PDU); return offset; } static int dissect_nr_rrc_T_dedicatedSystemInformationDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_SystemInformation_PDU); return offset; } static const value_string nr_rrc_T_delayBudgetReportingProhibitTimer_vals[] = { { 0, "s0" }, { 1, "s0dot4" }, { 2, "s0dot8" }, { 3, "s1dot6" }, { 4, "s3" }, { 5, "s6" }, { 6, "s12" }, { 7, "s30" }, { 0, NULL } }; static int dissect_nr_rrc_T_delayBudgetReportingProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_setup_sequence[] = { { &hf_nr_rrc_delayBudgetReportingProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_delayBudgetReportingProhibitTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_setup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_setup, T_setup_sequence); return offset; } static const value_string nr_rrc_T_delayBudgetReportingConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_delayBudgetReportingConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_51 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_setup }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_delayBudgetReportingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_delayBudgetReportingConfig, T_delayBudgetReportingConfig_choice, NULL); return offset; } static const per_sequence_t OtherConfig_sequence[] = { { &hf_nr_rrc_delayBudgetReportingConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_delayBudgetReportingConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_OtherConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_OtherConfig, OtherConfig_sequence); return offset; } static const value_string nr_rrc_T_overheatingIndicationProhibitTimer_vals[] = { { 0, "s0" }, { 1, "s0dot5" }, { 2, "s1" }, { 3, "s2" }, { 4, "s5" }, { 5, "s10" }, { 6, "s20" }, { 7, "s30" }, { 8, "s60" }, { 9, "s90" }, { 10, "s120" }, { 11, "s300" }, { 12, "s600" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_overheatingIndicationProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t OverheatingAssistanceConfig_sequence[] = { { &hf_nr_rrc_overheatingIndicationProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_overheatingIndicationProhibitTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_OverheatingAssistanceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_OverheatingAssistanceConfig, OverheatingAssistanceConfig_sequence); return offset; } static const value_string nr_rrc_T_overheatingAssistanceConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_overheatingAssistanceConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_52 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_OverheatingAssistanceConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_overheatingAssistanceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_overheatingAssistanceConfig, T_overheatingAssistanceConfig_choice, NULL); return offset; } static const per_sequence_t OtherConfig_v1540_sequence[] = { { &hf_nr_rrc_overheatingAssistanceConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_overheatingAssistanceConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_OtherConfig_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_OtherConfig_v1540, OtherConfig_v1540_sequence); return offset; } static const value_string nr_rrc_T_mrdc_ReleaseAndAdd_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_mrdc_ReleaseAndAdd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_T_nr_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); return offset; } static int dissect_nr_rrc_T_eutra_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *eutra_scg_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &eutra_scg_tvb); if (eutra_scg_tvb && lte_rrc_conn_reconf_handle) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG); nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, eutra_scg_tvb, actx->pinfo, subtree); } return offset; } static const value_string nr_rrc_T_mrdc_SecondaryCellGroup_vals[] = { { 0, "nr-SCG" }, { 1, "eutra-SCG" }, { 0, NULL } }; static const per_choice_t T_mrdc_SecondaryCellGroup_choice[] = { { 0, &hf_nr_rrc_nr_SCG , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_SCG }, { 1, &hf_nr_rrc_eutra_SCG , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_SCG }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_mrdc_SecondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_mrdc_SecondaryCellGroup, T_mrdc_SecondaryCellGroup_choice, NULL); return offset; } static const per_sequence_t MRDC_SecondaryCellGroupConfig_sequence[] = { { &hf_nr_rrc_mrdc_ReleaseAndAdd, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mrdc_ReleaseAndAdd }, { &hf_nr_rrc_mrdc_SecondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mrdc_SecondaryCellGroup }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MRDC_SecondaryCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MRDC_SecondaryCellGroupConfig, MRDC_SecondaryCellGroupConfig_sequence); return offset; } static const value_string nr_rrc_T_mrdc_SecondaryCellGroupConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_mrdc_SecondaryCellGroupConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MRDC_SecondaryCellGroupConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_mrdc_SecondaryCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig, T_mrdc_SecondaryCellGroupConfig_choice, NULL); return offset; } static int dissect_nr_rrc_T_radioBearerConfig2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU); return offset; } static int dissect_nr_rrc_SK_Counter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, NULL, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_17_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_17, T_nonCriticalExtension_17_sequence); return offset; } static const per_sequence_t RRCReconfiguration_v1560_IEs_sequence[] = { { &hf_nr_rrc_mrdc_SecondaryCellGroupConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mrdc_SecondaryCellGroupConfig }, { &hf_nr_rrc_radioBearerConfig2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_radioBearerConfig2 }, { &hf_nr_rrc_sk_Counter , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SK_Counter }, { &hf_nr_rrc_nonCriticalExtension_26, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_17 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfiguration_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfiguration_v1560_IEs, RRCReconfiguration_v1560_IEs_sequence); return offset; } static const per_sequence_t RRCReconfiguration_v1540_IEs_sequence[] = { { &hf_nr_rrc_otherConfig_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OtherConfig_v1540 }, { &hf_nr_rrc_nonCriticalExtension_25, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1560_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfiguration_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfiguration_v1540_IEs, RRCReconfiguration_v1540_IEs_sequence); return offset; } static const per_sequence_t RRCReconfiguration_v1530_IEs_sequence[] = { { &hf_nr_rrc_masterCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_masterCellGroup }, { &hf_nr_rrc_fullConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fullConfig }, { &hf_nr_rrc_dedicatedNAS_MessageList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message }, { &hf_nr_rrc_masterKeyUpdate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MasterKeyUpdate }, { &hf_nr_rrc_dedicatedSIB1_Delivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dedicatedSIB1_Delivery }, { &hf_nr_rrc_dedicatedSystemInformationDelivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dedicatedSystemInformationDelivery }, { &hf_nr_rrc_otherConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OtherConfig }, { &hf_nr_rrc_nonCriticalExtension_24, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1540_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfiguration_v1530_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfiguration_v1530_IEs, RRCReconfiguration_v1530_IEs_sequence); return offset; } static const per_sequence_t RRCReconfiguration_IEs_sequence[] = { { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig }, { &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryCellGroup }, { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_23, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfiguration_v1530_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfiguration_IEs, RRCReconfiguration_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_16_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_16, T_criticalExtensionsFuture_16_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_16_vals[] = { { 0, "rrcReconfiguration" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_16_choice[] = { { 0, &hf_nr_rrc_rrcReconfiguration_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_16, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_16 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_16, T_criticalExtensions_16_choice, NULL); return offset; } static const per_sequence_t RRCReconfiguration_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_16 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfiguration, RRCReconfiguration_sequence); return offset; } static int dissect_nr_rrc_T_masterCellGroup_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU); return offset; } static const value_string nr_rrc_T_fullConfig_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_fullConfig_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_T_radioBearerConfig2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU); return offset; } static const per_sequence_t T_nonCriticalExtension_21_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_21, T_nonCriticalExtension_21_sequence); return offset; } static const per_sequence_t RRCResume_v1560_IEs_sequence[] = { { &hf_nr_rrc_radioBearerConfig2_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_radioBearerConfig2_01 }, { &hf_nr_rrc_sk_Counter , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SK_Counter }, { &hf_nr_rrc_nonCriticalExtension_34, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_21 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResume_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResume_v1560_IEs, RRCResume_v1560_IEs_sequence); return offset; } static const per_sequence_t RRCResume_IEs_sequence[] = { { &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig }, { &hf_nr_rrc_masterCellGroup_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_masterCellGroup_01 }, { &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig }, { &hf_nr_rrc_fullConfig_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_fullConfig_01 }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_33, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCResume_v1560_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResume_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResume_IEs, RRCResume_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_20_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_20, T_criticalExtensionsFuture_20_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_20_vals[] = { { 0, "rrcResume" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_20_choice[] = { { 0, &hf_nr_rrc_rrcResume_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResume_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_20, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_20 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_20, T_criticalExtensions_20_choice, NULL); return offset; } static const per_sequence_t RRCResume_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_20, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_20 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResume(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResume, RRCResume_sequence); return offset; } static const per_sequence_t CarrierInfoNR_sequence[] = { { &hf_nr_rrc_carrierFreq , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_smtc , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CarrierInfoNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CarrierInfoNR, CarrierInfoNR_sequence); return offset; } static const value_string nr_rrc_T_cnType_vals[] = { { 0, "epc" }, { 1, "fiveGC" }, { 0, NULL } }; static int dissect_nr_rrc_T_cnType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RedirectedCarrierInfo_EUTRA_sequence[] = { { &hf_nr_rrc_eutraFrequency, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_cnType , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cnType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RedirectedCarrierInfo_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RedirectedCarrierInfo_EUTRA, RedirectedCarrierInfo_EUTRA_sequence); return offset; } static const value_string nr_rrc_RedirectedCarrierInfo_vals[] = { { 0, "nr" }, { 1, "eutra" }, { 0, NULL } }; static const per_choice_t RedirectedCarrierInfo_choice[] = { { 0, &hf_nr_rrc_nr , ASN1_EXTENSION_ROOT , dissect_nr_rrc_CarrierInfoNR }, { 1, &hf_nr_rrc_eutra , ASN1_EXTENSION_ROOT , dissect_nr_rrc_RedirectedCarrierInfo_EUTRA }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_RedirectedCarrierInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RedirectedCarrierInfo, RedirectedCarrierInfo_choice, NULL); return offset; } static const per_sequence_t FreqPriorityEUTRA_sequence[] = { { &hf_nr_rrc_carrierFreq_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority }, { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FreqPriorityEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqPriorityEUTRA, FreqPriorityEUTRA_sequence); return offset; } static const per_sequence_t FreqPriorityListEUTRA_sequence_of[1] = { { &hf_nr_rrc_FreqPriorityListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPriorityEUTRA }, }; static int dissect_nr_rrc_FreqPriorityListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqPriorityListEUTRA, FreqPriorityListEUTRA_sequence_of, 1, maxFreq, FALSE); return offset; } static const per_sequence_t FreqPriorityNR_sequence[] = { { &hf_nr_rrc_carrierFreq , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_cellReselectionPriority, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellReselectionPriority }, { &hf_nr_rrc_cellReselectionSubPriority, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionSubPriority }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FreqPriorityNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqPriorityNR, FreqPriorityNR_sequence); return offset; } static const per_sequence_t FreqPriorityListNR_sequence_of[1] = { { &hf_nr_rrc_FreqPriorityListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqPriorityNR }, }; static int dissect_nr_rrc_FreqPriorityListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqPriorityListNR, FreqPriorityListNR_sequence_of, 1, maxFreq, FALSE); return offset; } static const value_string nr_rrc_T_t320_vals[] = { { 0, "min5" }, { 1, "min10" }, { 2, "min20" }, { 3, "min30" }, { 4, "min60" }, { 5, "min120" }, { 6, "min180" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_t320(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CellReselectionPriorities_sequence[] = { { &hf_nr_rrc_freqPriorityListEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqPriorityListEUTRA }, { &hf_nr_rrc_freqPriorityListNR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqPriorityListNR }, { &hf_nr_rrc_t320 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t320 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CellReselectionPriorities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellReselectionPriorities, CellReselectionPriorities_sequence); return offset; } static int dissect_nr_rrc_I_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 40, 40, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_ShortI_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 24, 24, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_PeriodicRNAU_TimerValue_vals[] = { { 0, "min5" }, { 1, "min10" }, { 2, "min20" }, { 3, "min30" }, { 4, "min60" }, { 5, "min120" }, { 6, "min360" }, { 7, "min720" }, { 0, NULL } }; static int dissect_nr_rrc_PeriodicRNAU_TimerValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SuspendConfig_sequence[] = { { &hf_nr_rrc_fullI_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_I_RNTI_Value }, { &hf_nr_rrc_shortI_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortI_RNTI_Value }, { &hf_nr_rrc_ran_PagingCycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingCycle }, { &hf_nr_rrc_ran_NotificationAreaInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RAN_NotificationAreaInfo }, { &hf_nr_rrc_t380 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PeriodicRNAU_TimerValue }, { &hf_nr_rrc_nextHopChainingCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SuspendConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SuspendConfig, SuspendConfig_sequence); return offset; } static const value_string nr_rrc_T_deprioritisationType_vals[] = { { 0, "frequency" }, { 1, "nr" }, { 0, NULL } }; static int dissect_nr_rrc_T_deprioritisationType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_deprioritisationTimer_vals[] = { { 0, "min5" }, { 1, "min10" }, { 2, "min15" }, { 3, "min30" }, { 0, NULL } }; static int dissect_nr_rrc_T_deprioritisationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_deprioritisationReq_sequence[] = { { &hf_nr_rrc_deprioritisationType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_deprioritisationType }, { &hf_nr_rrc_deprioritisationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_deprioritisationTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_deprioritisationReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_deprioritisationReq, T_deprioritisationReq_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_20_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_20, T_nonCriticalExtension_20_sequence); return offset; } static const per_sequence_t RRCRelease_v1540_IEs_sequence[] = { { &hf_nr_rrc_waitTime , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RejectWaitTime }, { &hf_nr_rrc_nonCriticalExtension_32, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_20 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCRelease_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCRelease_v1540_IEs, RRCRelease_v1540_IEs_sequence); return offset; } static const per_sequence_t RRCRelease_IEs_sequence[] = { { &hf_nr_rrc_redirectedCarrierInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RedirectedCarrierInfo }, { &hf_nr_rrc_cellReselectionPriorities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellReselectionPriorities }, { &hf_nr_rrc_suspendConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SuspendConfig }, { &hf_nr_rrc_deprioritisationReq, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_deprioritisationReq }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_31, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCRelease_v1540_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCRelease_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCRelease_IEs, RRCRelease_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_19_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_19, T_criticalExtensionsFuture_19_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_19_vals[] = { { 0, "rrcRelease" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_19_choice[] = { { 0, &hf_nr_rrc_rrcRelease_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCRelease_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_19, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_19 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_19, T_criticalExtensions_19_choice, NULL); return offset; } static const per_sequence_t RRCRelease_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_19, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_19 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Release"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCRelease, RRCRelease_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_15_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_15, T_nonCriticalExtension_15_sequence); return offset; } static const per_sequence_t RRCReestablishment_IEs_sequence[] = { { &hf_nr_rrc_nextHopChainingCount, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NextHopChainingCount }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_21, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReestablishment_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReestablishment_IEs, RRCReestablishment_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_14_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_14, T_criticalExtensionsFuture_14_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_14_vals[] = { { 0, "rrcReestablishment" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_14_choice[] = { { 0, &hf_nr_rrc_rrcReestablishment_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishment_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_14, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_14 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_14, T_criticalExtensions_14_choice, NULL); return offset; } static const per_sequence_t RRCReestablishment_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_14, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_14 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReestablishment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReestablishment, RRCReestablishment_sequence); return offset; } static const per_sequence_t SecurityConfigSMC_sequence[] = { { &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SecurityAlgorithmConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityConfigSMC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityConfigSMC, SecurityConfigSMC_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_27_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_27, T_nonCriticalExtension_27_sequence); return offset; } static const per_sequence_t SecurityModeCommand_IEs_sequence[] = { { &hf_nr_rrc_securityConfigSMC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SecurityConfigSMC }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_40, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_27 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityModeCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityModeCommand_IEs, SecurityModeCommand_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_27_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_27, T_criticalExtensionsFuture_27_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_27_vals[] = { { 0, "securityModeCommand" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_27_choice[] = { { 0, &hf_nr_rrc_securityModeCommand_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeCommand_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_27, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_27 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_27(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_27, T_criticalExtensions_27_choice, NULL); return offset; } static const per_sequence_t SecurityModeCommand_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_27, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_27 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Command"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityModeCommand, SecurityModeCommand_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_09_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence); return offset; } static const per_sequence_t DLInformationTransfer_IEs_sequence[] = { { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DedicatedNAS_Message }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_15, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_09 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DLInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DLInformationTransfer_IEs, DLInformationTransfer_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_09_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_09, T_criticalExtensionsFuture_09_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_09_vals[] = { { 0, "dlInformationTransfer" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_09_choice[] = { { 0, &hf_nr_rrc_dlInformationTransfer_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLInformationTransfer_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_09, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_09 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_09, T_criticalExtensions_09_choice, NULL); return offset; } static const per_sequence_t DLInformationTransfer_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_09, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_09 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DLInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DL Information Transfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DLInformationTransfer, DLInformationTransfer_sequence); return offset; } static int dissect_nr_rrc_T_capabilityRequestFilter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *cap_req_filter_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &cap_req_filter_tvb); if (cap_req_filter_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_capabilityRequestFilter); switch(nr_priv->rat_type){ case RAT_Type_nr: dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(cap_req_filter_tvb, actx->pinfo, subtree, NULL); break; default: break; } } return offset; } static const per_sequence_t UE_CapabilityRAT_Request_sequence[] = { { &hf_nr_rrc_rat_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RAT_Type }, { &hf_nr_rrc_capabilityRequestFilter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_capabilityRequestFilter }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_CapabilityRAT_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); /* Initialise to invalid value */ nr_priv->rat_type = 0xFF; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_CapabilityRAT_Request, UE_CapabilityRAT_Request_sequence); return offset; } static const per_sequence_t UE_CapabilityRAT_RequestList_sequence_of[1] = { { &hf_nr_rrc_UE_CapabilityRAT_RequestList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_Request }, }; static int dissect_nr_rrc_UE_CapabilityRAT_RequestList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_CapabilityRAT_RequestList, UE_CapabilityRAT_RequestList_sequence_of, 1, maxRAT_CapabilityContainers, FALSE); return offset; } static int dissect_nr_rrc_T_ue_CapabilityEnquiryExt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityEnquiry_v1560_IEs_PDU); return offset; } static const per_sequence_t UECapabilityEnquiry_IEs_sequence[] = { { &hf_nr_rrc_ue_CapabilityRAT_RequestList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_RequestList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_ue_CapabilityEnquiryExt, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_CapabilityEnquiryExt }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UECapabilityEnquiry_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UECapabilityEnquiry_IEs, UECapabilityEnquiry_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_32_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_32, T_criticalExtensionsFuture_32_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_32_vals[] = { { 0, "ueCapabilityEnquiry" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_32_choice[] = { { 0, &hf_nr_rrc_ueCapabilityEnquiry_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityEnquiry_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_32, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_32 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_32, T_criticalExtensions_32_choice, NULL); return offset; } static const per_sequence_t UECapabilityEnquiry_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_32, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_32 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UECapabilityEnquiry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Enquiry"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UECapabilityEnquiry, UECapabilityEnquiry_sequence); return offset; } static int dissect_nr_rrc_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 33554431U, NULL, FALSE); return offset; } static const per_sequence_t DRB_CountMSB_Info_sequence[] = { { &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity }, { &hf_nr_rrc_countMSB_Uplink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_33554431 }, { &hf_nr_rrc_countMSB_Downlink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_33554431 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DRB_CountMSB_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRB_CountMSB_Info, DRB_CountMSB_Info_sequence); return offset; } static const per_sequence_t DRB_CountMSB_InfoList_sequence_of[1] = { { &hf_nr_rrc_DRB_CountMSB_InfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountMSB_Info }, }; static int dissect_nr_rrc_DRB_CountMSB_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRB_CountMSB_InfoList, DRB_CountMSB_InfoList_sequence_of, 1, maxDRB, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_07_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence); return offset; } static const per_sequence_t CounterCheck_IEs_sequence[] = { { &hf_nr_rrc_drb_CountMSB_InfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountMSB_InfoList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_13, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CounterCheck_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CounterCheck_IEs, CounterCheck_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_07_vals[] = { { 0, "counterCheck" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_07_choice[] = { { 0, &hf_nr_rrc_counterCheck_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheck_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_07 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_07, T_criticalExtensions_07_choice, NULL); return offset; } static const per_sequence_t CounterCheck_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_07, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_07 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CounterCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CounterCheck, CounterCheck_sequence); return offset; } static const value_string nr_rrc_T_targetRAT_Type_vals[] = { { T_targetRAT_Type_eutra, "eutra" }, { T_targetRAT_Type_spare3, "spare3" }, { T_targetRAT_Type_spare2, "spare2" }, { T_targetRAT_Type_spare1, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_targetRAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 target_rat_type; nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, &target_rat_type, TRUE, 0, NULL); nr_priv->target_rat_type = (guint8)target_rat_type; return offset; } static int dissect_nr_rrc_T_targetRAT_MessageContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *target_rat_msg_cont_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &target_rat_msg_cont_tvb); if (target_rat_msg_cont_tvb) { nr_rrc_private_data_t *nr_priv = nr_rrc_get_private_data(actx); proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_rr_rrc_targetRAT_MessageContainer); switch (nr_priv->target_rat_type) { case T_targetRAT_Type_eutra: /* eutra */ if (lte_rrc_conn_reconf_handle) nr_rrc_call_dissector(lte_rrc_conn_reconf_handle, target_rat_msg_cont_tvb, actx->pinfo, subtree); break; default: break; } } return offset; } static const per_sequence_t T_nonCriticalExtension_13_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_13, T_nonCriticalExtension_13_sequence); return offset; } static const per_sequence_t MobilityFromNRCommand_IEs_sequence[] = { { &hf_nr_rrc_targetRAT_Type, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_targetRAT_Type }, { &hf_nr_rrc_targetRAT_MessageContainer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_targetRAT_MessageContainer }, { &hf_nr_rrc_nas_SecurityParamFromNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_19, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_13 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MobilityFromNRCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MobilityFromNRCommand_IEs, MobilityFromNRCommand_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_13_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_13, T_criticalExtensionsFuture_13_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_13_vals[] = { { 0, "mobilityFromNRCommand" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_13_choice[] = { { 0, &hf_nr_rrc_mobilityFromNRCommand_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MobilityFromNRCommand_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_13, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_13 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_13, T_criticalExtensions_13_choice, NULL); return offset; } static const per_sequence_t MobilityFromNRCommand_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_13, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_13 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MobilityFromNRCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Mobility From NR Command"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MobilityFromNRCommand, MobilityFromNRCommand_sequence); return offset; } static const value_string nr_rrc_T_c1_09_vals[] = { { 0, "rrcReconfiguration" }, { 1, "rrcResume" }, { 2, "rrcRelease" }, { 3, "rrcReestablishment" }, { 4, "securityModeCommand" }, { 5, "dlInformationTransfer" }, { 6, "ueCapabilityEnquiry" }, { 7, "counterCheck" }, { 8, "mobilityFromNRCommand" }, { 9, "spare7" }, { 10, "spare6" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_09_choice[] = { { 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration }, { 1, &hf_nr_rrc_rrcResume , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResume }, { 2, &hf_nr_rrc_rrcRelease , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCRelease }, { 3, &hf_nr_rrc_rrcReestablishment, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishment }, { 4, &hf_nr_rrc_securityModeCommand, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeCommand }, { 5, &hf_nr_rrc_dlInformationTransfer, ASN1_NO_EXTENSIONS , dissect_nr_rrc_DLInformationTransfer }, { 6, &hf_nr_rrc_ueCapabilityEnquiry, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityEnquiry }, { 7, &hf_nr_rrc_counterCheck , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheck }, { 8, &hf_nr_rrc_mobilityFromNRCommand, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MobilityFromNRCommand }, { 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_09, T_c1_09_choice, NULL); return offset; } static const per_sequence_t T_messageClassExtension_03_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension_03, T_messageClassExtension_03_sequence); return offset; } static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = { { 0, "c1" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t DL_DCCH_MessageType_choice[] = { { 0, &hf_nr_rrc_c1_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_09 }, { 1, &hf_nr_rrc_messageClassExtension_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_03 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice, NULL); return offset; } static const per_sequence_t DL_DCCH_Message_sequence[] = { { &hf_nr_rrc_message_03 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_DCCH_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); actx->pinfo->link_dir = P2P_DIR_DL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence); return offset; } static int dissect_nr_rrc_NG_5G_S_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 48, 48, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_PagingUE_Identity_vals[] = { { 0, "ng-5G-S-TMSI" }, { 1, "fullI-RNTI" }, { 0, NULL } }; static const per_choice_t PagingUE_Identity_choice[] = { { 0, &hf_nr_rrc_ng_5G_S_TMSI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NG_5G_S_TMSI }, { 1, &hf_nr_rrc_fullI_RNTI , ASN1_EXTENSION_ROOT , dissect_nr_rrc_I_RNTI_Value }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_PagingUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PagingUE_Identity, PagingUE_Identity_choice, NULL); return offset; } static const value_string nr_rrc_T_accessType_vals[] = { { 0, "non3GPP" }, { 0, NULL } }; static int dissect_nr_rrc_T_accessType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PagingRecord_sequence[] = { { &hf_nr_rrc_ue_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingUE_Identity }, { &hf_nr_rrc_accessType , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_accessType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PagingRecord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PagingRecord, PagingRecord_sequence); return offset; } static const per_sequence_t PagingRecordList_sequence_of[1] = { { &hf_nr_rrc_PagingRecordList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PagingRecord }, }; static int dissect_nr_rrc_PagingRecordList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PagingRecordList, PagingRecordList_sequence_of, 1, maxNrofPageRec, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_14_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_14, T_nonCriticalExtension_14_sequence); return offset; } static const per_sequence_t Paging_sequence[] = { { &hf_nr_rrc_pagingRecordList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PagingRecordList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_20, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_14 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Paging, Paging_sequence); return offset; } static const value_string nr_rrc_T_c1_10_vals[] = { { 0, "paging" }, { 1, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_10_choice[] = { { 0, &hf_nr_rrc_paging , ASN1_NO_EXTENSIONS , dissect_nr_rrc_Paging }, { 1, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_10, T_c1_10_choice, NULL); return offset; } static const per_sequence_t T_messageClassExtension_04_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension_04, T_messageClassExtension_04_sequence); return offset; } static const value_string nr_rrc_PCCH_MessageType_vals[] = { { 0, "c1" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t PCCH_MessageType_choice[] = { { 0, &hf_nr_rrc_c1_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_10 }, { 1, &hf_nr_rrc_messageClassExtension_04, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_04 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_PCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PCCH_MessageType, PCCH_MessageType_choice, NULL); return offset; } static const per_sequence_t PCCH_Message_sequence[] = { { &hf_nr_rrc_message_04 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCCH_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PCCH_Message, PCCH_Message_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 39, 39, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_InitialUE_Identity_vals[] = { { 0, "ng-5G-S-TMSI-Part1" }, { 1, "randomValue" }, { 0, NULL } }; static const per_choice_t InitialUE_Identity_choice[] = { { 0, &hf_nr_rrc_ng_5G_S_TMSI_Part1, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_39 }, { 1, &hf_nr_rrc_randomValue , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_39 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_InitialUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_InitialUE_Identity, InitialUE_Identity_choice, NULL); return offset; } static const value_string nr_rrc_EstablishmentCause_vals[] = { { 0, "emergency" }, { 1, "highPriorityAccess" }, { 2, "mt-Access" }, { 3, "mo-Signalling" }, { 4, "mo-Data" }, { 5, "mo-VoiceCall" }, { 6, "mo-VideoCall" }, { 7, "mo-SMS" }, { 8, "mps-PriorityAccess" }, { 9, "mcs-PriorityAccess" }, { 10, "spare6" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_EstablishmentCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RRCSetupRequest_IEs_sequence[] = { { &hf_nr_rrc_ue_Identity_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_InitialUE_Identity }, { &hf_nr_rrc_establishmentCause, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EstablishmentCause }, { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSetupRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSetupRequest_IEs, RRCSetupRequest_IEs_sequence); return offset; } static const per_sequence_t RRCSetupRequest_sequence[] = { { &hf_nr_rrc_rrcSetupRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCSetupRequest_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Request"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSetupRequest, RRCSetupRequest_sequence); return offset; } static const value_string nr_rrc_ResumeCause_vals[] = { { 0, "emergency" }, { 1, "highPriorityAccess" }, { 2, "mt-Access" }, { 3, "mo-Signalling" }, { 4, "mo-Data" }, { 5, "mo-VoiceCall" }, { 6, "mo-VideoCall" }, { 7, "mo-SMS" }, { 8, "rna-Update" }, { 9, "mps-PriorityAccess" }, { 10, "mcs-PriorityAccess" }, { 11, "spare1" }, { 12, "spare2" }, { 13, "spare3" }, { 14, "spare4" }, { 15, "spare5" }, { 0, NULL } }; static int dissect_nr_rrc_ResumeCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RRCResumeRequest_IEs_sequence[] = { { &hf_nr_rrc_resumeIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortI_RNTI_Value }, { &hf_nr_rrc_resumeMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 }, { &hf_nr_rrc_resumeCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResumeCause }, { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResumeRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResumeRequest_IEs, RRCResumeRequest_IEs_sequence); return offset; } static const per_sequence_t RRCResumeRequest_sequence[] = { { &hf_nr_rrc_rrcResumeRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCResumeRequest_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResumeRequest, RRCResumeRequest_sequence); return offset; } static int dissect_nr_rrc_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, NULL, FALSE); return offset; } static const per_sequence_t ReestabUE_Identity_sequence[] = { { &hf_nr_rrc_c_RNTI , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_shortMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReestabUE_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReestabUE_Identity, ReestabUE_Identity_sequence); return offset; } static const value_string nr_rrc_ReestablishmentCause_vals[] = { { 0, "reconfigurationFailure" }, { 1, "handoverFailure" }, { 2, "otherFailure" }, { 3, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_ReestablishmentCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RRCReestablishmentRequest_IEs_sequence[] = { { &hf_nr_rrc_ue_Identity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestabUE_Identity }, { &hf_nr_rrc_reestablishmentCause, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestablishmentCause }, { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReestablishmentRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReestablishmentRequest_IEs, RRCReestablishmentRequest_IEs_sequence); return offset; } static const per_sequence_t RRCReestablishmentRequest_sequence[] = { { &hf_nr_rrc_rrcReestablishmentRequest_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCReestablishmentRequest_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReestablishmentRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Request"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReestablishmentRequest, RRCReestablishmentRequest_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, maxSI_Message, maxSI_Message, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t RRCSystemInfoRequest_IEs_sequence[] = { { &hf_nr_rrc_requested_SI_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_maxSI_Message }, { &hf_nr_rrc_spare_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_12 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSystemInfoRequest_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSystemInfoRequest_IEs, RRCSystemInfoRequest_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_24_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_24, T_criticalExtensionsFuture_24_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_24_vals[] = { { 0, "rrcSystemInfoRequest" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_24_choice[] = { { 0, &hf_nr_rrc_rrcSystemInfoRequest_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSystemInfoRequest_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_24, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_24 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_24, T_criticalExtensions_24_choice, NULL); return offset; } static const per_sequence_t RRCSystemInfoRequest_sequence[] = { { &hf_nr_rrc_criticalExtensions_24, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_24 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSystemInfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC System Info Request"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSystemInfoRequest, RRCSystemInfoRequest_sequence); return offset; } static const value_string nr_rrc_T_c1_11_vals[] = { { 0, "rrcSetupRequest" }, { 1, "rrcResumeRequest" }, { 2, "rrcReestablishmentRequest" }, { 3, "rrcSystemInfoRequest" }, { 0, NULL } }; static const per_choice_t T_c1_11_choice[] = { { 0, &hf_nr_rrc_rrcSetupRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetupRequest }, { 1, &hf_nr_rrc_rrcResumeRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeRequest }, { 2, &hf_nr_rrc_rrcReestablishmentRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishmentRequest }, { 3, &hf_nr_rrc_rrcSystemInfoRequest, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSystemInfoRequest }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_11, T_c1_11_choice, NULL); return offset; } static const per_sequence_t T_messageClassExtension_05_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension_05, T_messageClassExtension_05_sequence); return offset; } static const value_string nr_rrc_UL_CCCH_MessageType_vals[] = { { 0, "c1" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t UL_CCCH_MessageType_choice[] = { { 0, &hf_nr_rrc_c1_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_11 }, { 1, &hf_nr_rrc_messageClassExtension_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_05 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_UL_CCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_CCCH_MessageType, UL_CCCH_MessageType_choice, NULL); return offset; } static const per_sequence_t UL_CCCH_Message_sequence[] = { { &hf_nr_rrc_message_05 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_CCCH_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UL_CCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); actx->pinfo->link_dir = P2P_DIR_UL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_CCCH_Message, UL_CCCH_Message_sequence); return offset; } static const per_sequence_t RRCResumeRequest1_IEs_sequence[] = { { &hf_nr_rrc_resumeIdentity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_I_RNTI_Value }, { &hf_nr_rrc_resumeMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_16 }, { &hf_nr_rrc_resumeCause , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResumeCause }, { &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResumeRequest1_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResumeRequest1_IEs, RRCResumeRequest1_IEs_sequence); return offset; } static const per_sequence_t RRCResumeRequest1_sequence[] = { { &hf_nr_rrc_rrcResumeRequest1_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRCResumeRequest1_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResumeRequest1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Request 1"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResumeRequest1, RRCResumeRequest1_sequence); return offset; } static const value_string nr_rrc_T_c1_12_vals[] = { { 0, "rrcResumeRequest1" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_12_choice[] = { { 0, &hf_nr_rrc_rrcResumeRequest1, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeRequest1 }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_12, T_c1_12_choice, NULL); return offset; } static const per_sequence_t T_messageClassExtension_06_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension_06, T_messageClassExtension_06_sequence); return offset; } static const value_string nr_rrc_UL_CCCH1_MessageType_vals[] = { { 0, "c1" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t UL_CCCH1_MessageType_choice[] = { { 0, &hf_nr_rrc_c1_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_12 }, { 1, &hf_nr_rrc_messageClassExtension_06, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_06 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_UL_CCCH1_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_CCCH1_MessageType, UL_CCCH1_MessageType_choice, NULL); return offset; } static const per_sequence_t UL_CCCH1_Message_sequence[] = { { &hf_nr_rrc_message_06 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_CCCH1_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UL_CCCH1_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); actx->pinfo->link_dir = P2P_DIR_UL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_CCCH1_Message, UL_CCCH1_Message_sequence); return offset; } static const per_sequence_t MeasResultServMO_sequence[] = { { &hf_nr_rrc_servCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR }, { &hf_nr_rrc_measResultBestNeighCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResultServMO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultServMO, MeasResultServMO_sequence); return offset; } static const per_sequence_t MeasResultServMOList_sequence_of[1] = { { &hf_nr_rrc_MeasResultServMOList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMO }, }; static int dissect_nr_rrc_MeasResultServMOList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultServMOList, MeasResultServMOList_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const per_sequence_t MeasResultListEUTRA_sequence_of[1] = { { &hf_nr_rrc_MeasResultListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultEUTRA }, }; static int dissect_nr_rrc_MeasResultListEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultListEUTRA, MeasResultListEUTRA_sequence_of, 1, maxCellReport, FALSE); return offset; } static const value_string nr_rrc_T_measResultNeighCells_vals[] = { { 0, "measResultListNR" }, { 1, "measResultListEUTRA" }, { 0, NULL } }; static const per_choice_t T_measResultNeighCells_choice[] = { { 0, &hf_nr_rrc_measResultListNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultListNR }, { 1, &hf_nr_rrc_measResultListEUTRA, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_MeasResultListEUTRA }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measResultNeighCells, T_measResultNeighCells_choice, NULL); return offset; } static const per_sequence_t MeasResultServFreqListNR_SCG_sequence_of[1] = { { &hf_nr_rrc_MeasResultServFreqListNR_SCG_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR }, }; static int dissect_nr_rrc_MeasResultServFreqListNR_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultServFreqListNR_SCG, MeasResultServFreqListNR_SCG_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const per_sequence_t MeasResults_eag_1_sequence[] = { { &hf_nr_rrc_measResultServFreqListEUTRA_SCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultServFreqListEUTRA_SCG }, { &hf_nr_rrc_measResultServFreqListNR_SCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultServFreqListNR_SCG }, { &hf_nr_rrc_measResultSFTD_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultSFTD_EUTRA }, { &hf_nr_rrc_measResultSFTD_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCellSFTD_NR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResults_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResults_eag_1_sequence); return offset; } static const per_sequence_t MeasResults_eag_2_sequence[] = { { &hf_nr_rrc_measResultCellListSFTD_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCellListSFTD_NR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResults_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasResults_eag_2_sequence); return offset; } static const per_sequence_t MeasResults_sequence[] = { { &hf_nr_rrc_measId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId }, { &hf_nr_rrc_measResultServingMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMOList }, { &hf_nr_rrc_measResultNeighCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults_eag_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResults, MeasResults_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_12_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_12, T_nonCriticalExtension_12_sequence); return offset; } static const per_sequence_t MeasurementReport_IEs_sequence[] = { { &hf_nr_rrc_measResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResults }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_18, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_12 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasurementReport_IEs, MeasurementReport_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_12_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_12, T_criticalExtensionsFuture_12_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_12_vals[] = { { 0, "measurementReport" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_12_choice[] = { { 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_12, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_12 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_12, T_criticalExtensions_12_choice, NULL); return offset; } static const per_sequence_t MeasurementReport_sequence[] = { { &hf_nr_rrc_criticalExtensions_12, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_12 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasurementReport, MeasurementReport_sequence); return offset; } static int dissect_nr_rrc_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofBWPs, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_3301(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3301U, NULL, FALSE); return offset; } static const per_sequence_t UplinkTxDirectCurrentBWP_sequence[] = { { &hf_nr_rrc_bwp_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_shift7dot5kHz, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_txDirectCurrentLocation_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3301 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UplinkTxDirectCurrentBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UplinkTxDirectCurrentBWP, UplinkTxDirectCurrentBWP_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP_sequence_of[1] = { { &hf_nr_rrc_uplinkDirectCurrentBWP_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentBWP }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP, SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP_sequence_of, 1, maxNrofBWPs, FALSE); return offset; } static const per_sequence_t UplinkTxDirectCurrentCell_eag_1_sequence[] = { { &hf_nr_rrc_uplinkDirectCurrentBWP_SUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UplinkTxDirectCurrentCell_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UplinkTxDirectCurrentCell_eag_1_sequence); return offset; } static const per_sequence_t UplinkTxDirectCurrentCell_sequence[] = { { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_uplinkDirectCurrentBWP, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentCell_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UplinkTxDirectCurrentCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UplinkTxDirectCurrentCell, UplinkTxDirectCurrentCell_sequence); return offset; } static const per_sequence_t UplinkTxDirectCurrentList_sequence_of[1] = { { &hf_nr_rrc_UplinkTxDirectCurrentList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkTxDirectCurrentCell }, }; static int dissect_nr_rrc_UplinkTxDirectCurrentList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UplinkTxDirectCurrentList, UplinkTxDirectCurrentList_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static int dissect_nr_rrc_T_nr_SCG_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfigurationComplete_PDU); return offset; } static int dissect_nr_rrc_T_eutra_SCG_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *eutra_scg_response_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &eutra_scg_response_tvb); if (eutra_scg_response_tvb && lte_rrc_conn_reconf_compl_handle) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_eutra_SCG_Response); nr_rrc_call_dissector(lte_rrc_conn_reconf_compl_handle, eutra_scg_response_tvb, actx->pinfo, subtree); } return offset; } static const value_string nr_rrc_T_scg_Response_vals[] = { { 0, "nr-SCG-Response" }, { 1, "eutra-SCG-Response" }, { 0, NULL } }; static const per_choice_t T_scg_Response_choice[] = { { 0, &hf_nr_rrc_nr_SCG_Response, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_SCG_Response }, { 1, &hf_nr_rrc_eutra_SCG_Response, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_SCG_Response }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_scg_Response(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_scg_Response, T_scg_Response_choice, NULL); return offset; } static const per_sequence_t T_nonCriticalExtension_18_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_18, T_nonCriticalExtension_18_sequence); return offset; } static const per_sequence_t RRCReconfigurationComplete_v1560_IEs_sequence[] = { { &hf_nr_rrc_scg_Response , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_Response }, { &hf_nr_rrc_nonCriticalExtension_29, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_18 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfigurationComplete_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs, RRCReconfigurationComplete_v1560_IEs_sequence); return offset; } static const per_sequence_t RRCReconfigurationComplete_v1530_IEs_sequence[] = { { &hf_nr_rrc_uplinkTxDirectCurrentList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkTxDirectCurrentList }, { &hf_nr_rrc_nonCriticalExtension_28, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1560_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs, RRCReconfigurationComplete_v1530_IEs_sequence); return offset; } static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = { { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_27, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RRCReconfigurationComplete_v1530_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfigurationComplete_IEs, RRCReconfigurationComplete_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_17_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_17, T_criticalExtensionsFuture_17_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_17_vals[] = { { 0, "rrcReconfigurationComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_17_choice[] = { { 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_17, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_17 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_17, T_criticalExtensions_17_choice, NULL); return offset; } static const per_sequence_t RRCReconfigurationComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_17, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_17 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReconfigurationComplete, RRCReconfigurationComplete_sequence); return offset; } static int dissect_nr_rrc_AMF_Identifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 24, 24, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t RegisteredAMF_sequence[] = { { &hf_nr_rrc_plmn_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PLMN_Identity }, { &hf_nr_rrc_amf_Identifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AMF_Identifier }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RegisteredAMF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RegisteredAMF, RegisteredAMF_sequence); return offset; } static const value_string nr_rrc_T_guami_Type_vals[] = { { 0, "native" }, { 1, "mapped" }, { 0, NULL } }; static int dissect_nr_rrc_T_guami_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 32, 32, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_S_NSSAI_vals[] = { { 0, "sst" }, { 1, "sst-SD" }, { 0, NULL } }; static const per_choice_t S_NSSAI_choice[] = { { 0, &hf_nr_rrc_sst , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 1, &hf_nr_rrc_sst_SD , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_S_NSSAI, S_NSSAI_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI_sequence_of[1] = { { &hf_nr_rrc_s_NSSAI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_S_NSSAI }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI, SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI_sequence_of, 1, maxNrofS_NSSAI, FALSE); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 9, 9, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_ng_5G_S_TMSI_Value_vals[] = { { 0, "ng-5G-S-TMSI" }, { 1, "ng-5G-S-TMSI-Part2" }, { 0, NULL } }; static const per_choice_t T_ng_5G_S_TMSI_Value_choice[] = { { 0, &hf_nr_rrc_ng_5G_S_TMSI , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NG_5G_S_TMSI }, { 1, &hf_nr_rrc_ng_5G_S_TMSI_Part2, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_9 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_ng_5G_S_TMSI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ng_5G_S_TMSI_Value, T_ng_5G_S_TMSI_Value_choice, NULL); return offset; } static const per_sequence_t T_nonCriticalExtension_24_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_24, T_nonCriticalExtension_24_sequence); return offset; } static const per_sequence_t RRCSetupComplete_IEs_sequence[] = { { &hf_nr_rrc_selectedPLMN_Identity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxPLMN }, { &hf_nr_rrc_registeredAMF, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RegisteredAMF }, { &hf_nr_rrc_guami_Type , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_guami_Type }, { &hf_nr_rrc_s_NSSAI_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI }, { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DedicatedNAS_Message }, { &hf_nr_rrc_ng_5G_S_TMSI_Value, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ng_5G_S_TMSI_Value }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_37, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_24 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSetupComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSetupComplete_IEs, RRCSetupComplete_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_23_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_23, T_criticalExtensionsFuture_23_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_23_vals[] = { { 0, "rrcSetupComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_23_choice[] = { { 0, &hf_nr_rrc_rrcSetupComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetupComplete_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_23, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_23 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_23(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_23, T_criticalExtensions_23_choice, NULL); return offset; } static const per_sequence_t RRCSetupComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_23, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_23 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCSetupComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Setup Complete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCSetupComplete, RRCSetupComplete_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_16_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_16, T_nonCriticalExtension_16_sequence); return offset; } static const per_sequence_t RRCReestablishmentComplete_IEs_sequence[] = { { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_22, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_16 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReestablishmentComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReestablishmentComplete_IEs, RRCReestablishmentComplete_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_15_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_15, T_criticalExtensionsFuture_15_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_15_vals[] = { { 0, "rrcReestablishmentComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_15_choice[] = { { 0, &hf_nr_rrc_rrcReestablishmentComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishmentComplete_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_15, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_15 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_15, T_criticalExtensions_15_choice, NULL); return offset; } static const per_sequence_t RRCReestablishmentComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_15, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCReestablishmentComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reestablishment Complete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCReestablishmentComplete, RRCReestablishmentComplete_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_22_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_22, T_nonCriticalExtension_22_sequence); return offset; } static const per_sequence_t RRCResumeComplete_IEs_sequence[] = { { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DedicatedNAS_Message }, { &hf_nr_rrc_selectedPLMN_Identity, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxPLMN }, { &hf_nr_rrc_uplinkTxDirectCurrentList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkTxDirectCurrentList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_35, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_22 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResumeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResumeComplete_IEs, RRCResumeComplete_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_21_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_21, T_criticalExtensionsFuture_21_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_21_vals[] = { { 0, "rrcResumeComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_21_choice[] = { { 0, &hf_nr_rrc_rrcResumeComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeComplete_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_21, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_21 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_21(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_21, T_criticalExtensions_21_choice, NULL); return offset; } static const per_sequence_t RRCResumeComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_21, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_21 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RRCResumeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Resume Complete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RRCResumeComplete, RRCResumeComplete_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_28_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_28, T_nonCriticalExtension_28_sequence); return offset; } static const per_sequence_t SecurityModeComplete_IEs_sequence[] = { { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_41, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_28 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityModeComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityModeComplete_IEs, SecurityModeComplete_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_28_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_28, T_criticalExtensionsFuture_28_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_28_vals[] = { { 0, "securityModeComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_28_choice[] = { { 0, &hf_nr_rrc_securityModeComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeComplete_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_28, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_28 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_28, T_criticalExtensions_28_choice, NULL); return offset; } static const per_sequence_t SecurityModeComplete_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_28, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_28 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityModeComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Complete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityModeComplete, SecurityModeComplete_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_29_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_29, T_nonCriticalExtension_29_sequence); return offset; } static const per_sequence_t SecurityModeFailure_IEs_sequence[] = { { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_42, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_29 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityModeFailure_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityModeFailure_IEs, SecurityModeFailure_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_29_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_29, T_criticalExtensionsFuture_29_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_29_vals[] = { { 0, "securityModeFailure" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_29_choice[] = { { 0, &hf_nr_rrc_securityModeFailure_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeFailure_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_29, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_29 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_29, T_criticalExtensions_29_choice, NULL); return offset; } static const per_sequence_t SecurityModeFailure_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_29, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_29 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SecurityModeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Security Mode Failure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SecurityModeFailure, SecurityModeFailure_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_35_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_35, T_nonCriticalExtension_35_sequence); return offset; } static const per_sequence_t ULInformationTransfer_IEs_sequence[] = { { &hf_nr_rrc_dedicatedNAS_Message, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DedicatedNAS_Message }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_49, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_35 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ULInformationTransfer_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ULInformationTransfer_IEs, ULInformationTransfer_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_34_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_34, T_criticalExtensionsFuture_34_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_34_vals[] = { { 0, "ulInformationTransfer" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_34_choice[] = { { 0, &hf_nr_rrc_ulInformationTransfer_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransfer_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_34, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_34 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_34, T_criticalExtensions_34_choice, NULL); return offset; } static const per_sequence_t ULInformationTransfer_sequence[] = { { &hf_nr_rrc_criticalExtensions_34, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_34 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ULInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ULInformationTransfer, ULInformationTransfer_sequence); return offset; } static const per_sequence_t EUTRA_RSTD_Info_sequence[] = { { &hf_nr_rrc_carrierFreq_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueEUTRA }, { &hf_nr_rrc_measPRS_Offset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_39 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_RSTD_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_RSTD_Info, EUTRA_RSTD_Info_sequence); return offset; } static const per_sequence_t EUTRA_RSTD_InfoList_sequence_of[1] = { { &hf_nr_rrc_EUTRA_RSTD_InfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_RSTD_Info }, }; static int dissect_nr_rrc_EUTRA_RSTD_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_RSTD_InfoList, EUTRA_RSTD_InfoList_sequence_of, 1, maxInterRAT_RSTD_Freq, FALSE); return offset; } static const value_string nr_rrc_LocationMeasurementInfo_vals[] = { { 0, "eutra-RSTD" }, { 1, "eutra-FineTimingDetection" }, { 0, NULL } }; static const per_choice_t LocationMeasurementInfo_choice[] = { { 0, &hf_nr_rrc_eutra_RSTD , ASN1_EXTENSION_ROOT , dissect_nr_rrc_EUTRA_RSTD_InfoList }, { 1, &hf_nr_rrc_eutra_FineTimingDetection, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_LocationMeasurementInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_LocationMeasurementInfo, LocationMeasurementInfo_choice, NULL); return offset; } static const value_string nr_rrc_T_measurementIndication_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_measurementIndication_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_LocationMeasurementInfo }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_measurementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_measurementIndication, T_measurementIndication_choice, NULL); return offset; } static const per_sequence_t T_nonCriticalExtension_11_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_11, T_nonCriticalExtension_11_sequence); return offset; } static const per_sequence_t LocationMeasurementIndication_IEs_sequence[] = { { &hf_nr_rrc_measurementIndication, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measurementIndication }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_17, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_11 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_LocationMeasurementIndication_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_LocationMeasurementIndication_IEs, LocationMeasurementIndication_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_11_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_11, T_criticalExtensionsFuture_11_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_11_vals[] = { { 0, "locationMeasurementIndication" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_11_choice[] = { { 0, &hf_nr_rrc_locationMeasurementIndication_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LocationMeasurementIndication_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_11, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_11 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_11, T_criticalExtensions_11_choice, NULL); return offset; } static const per_sequence_t LocationMeasurementIndication_sequence[] = { { &hf_nr_rrc_criticalExtensions_11, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_11 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_LocationMeasurementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Location Measurement Indication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_LocationMeasurementIndication, LocationMeasurementIndication_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_34_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_34(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_34, T_nonCriticalExtension_34_sequence); return offset; } static const per_sequence_t UECapabilityInformation_IEs_sequence[] = { { &hf_nr_rrc_ue_CapabilityRAT_ContainerList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRAT_ContainerList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_48, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_34 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UECapabilityInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UECapabilityInformation_IEs, UECapabilityInformation_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_33_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_33, T_criticalExtensionsFuture_33_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_33_vals[] = { { 0, "ueCapabilityInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_33_choice[] = { { 0, &hf_nr_rrc_ueCapabilityInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityInformation_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_33, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_33 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_33, T_criticalExtensions_33_choice, NULL); return offset; } static const per_sequence_t UECapabilityInformation_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_33, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_33 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UECapabilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Capability Information"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UECapabilityInformation, UECapabilityInformation_sequence); return offset; } static int dissect_nr_rrc_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 4294967295U, NULL, FALSE); return offset; } static const per_sequence_t DRB_CountInfo_sequence[] = { { &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity }, { &hf_nr_rrc_count_Uplink , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4294967295 }, { &hf_nr_rrc_count_Downlink, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4294967295 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DRB_CountInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRB_CountInfo, DRB_CountInfo_sequence); return offset; } static const per_sequence_t DRB_CountInfoList_sequence_of[1] = { { &hf_nr_rrc_DRB_CountInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountInfo }, }; static int dissect_nr_rrc_DRB_CountInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DRB_CountInfoList, DRB_CountInfoList_sequence_of, 0, maxDRB, FALSE); return offset; } static const per_sequence_t T_nonCriticalExtension_08_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence); return offset; } static const per_sequence_t CounterCheckResponse_IEs_sequence[] = { { &hf_nr_rrc_drb_CountInfoList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_CountInfoList }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_14, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CounterCheckResponse_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CounterCheckResponse_IEs, CounterCheckResponse_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_08_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_08, T_criticalExtensionsFuture_08_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_08_vals[] = { { 0, "counterCheckResponse" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_08_choice[] = { { 0, &hf_nr_rrc_counterCheckResponse_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheckResponse_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_08, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_08 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_08, T_criticalExtensions_08_choice, NULL); return offset; } static const per_sequence_t CounterCheckResponse_sequence[] = { { &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier }, { &hf_nr_rrc_criticalExtensions_08, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_08 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CounterCheckResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Counter Check Response"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CounterCheckResponse, CounterCheckResponse_sequence); return offset; } static const value_string nr_rrc_T_type1_vals[] = { { 0, "msMinus1280" }, { 1, "msMinus640" }, { 2, "msMinus320" }, { 3, "msMinus160" }, { 4, "msMinus80" }, { 5, "msMinus60" }, { 6, "msMinus40" }, { 7, "msMinus20" }, { 8, "ms0" }, { 9, "ms20" }, { 10, "ms40" }, { 11, "ms60" }, { 12, "ms80" }, { 13, "ms160" }, { 14, "ms320" }, { 15, "ms640" }, { 16, "ms1280" }, { 0, NULL } }; static value_string_ext nr_rrc_T_type1_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_type1_vals); static int dissect_nr_rrc_T_type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 17, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_DelayBudgetReport_vals[] = { { 0, "type1" }, { 0, NULL } }; static const per_choice_t DelayBudgetReport_choice[] = { { 0, &hf_nr_rrc_type1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_type1 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_DelayBudgetReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DelayBudgetReport, DelayBudgetReport_choice, NULL); return offset; } static const per_sequence_t T_reducedMaxCCs_sequence[] = { { &hf_nr_rrc_reducedCCsDL , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_reducedCCsUL , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reducedMaxCCs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reducedMaxCCs, T_reducedMaxCCs_sequence); return offset; } static const value_string nr_rrc_ReducedAggregatedBandwidth_vals[] = { { 0, "mhz0" }, { 1, "mhz10" }, { 2, "mhz20" }, { 3, "mhz30" }, { 4, "mhz40" }, { 5, "mhz50" }, { 6, "mhz60" }, { 7, "mhz80" }, { 8, "mhz100" }, { 9, "mhz200" }, { 10, "mhz300" }, { 11, "mhz400" }, { 0, NULL } }; static int dissect_nr_rrc_ReducedAggregatedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 12, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_reducedMaxBW_FR1_sequence[] = { { &hf_nr_rrc_reducedBW_FR1_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, { &hf_nr_rrc_reducedBW_FR1_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reducedMaxBW_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reducedMaxBW_FR1, T_reducedMaxBW_FR1_sequence); return offset; } static const per_sequence_t T_reducedMaxBW_FR2_sequence[] = { { &hf_nr_rrc_reducedBW_FR2_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, { &hf_nr_rrc_reducedBW_FR2_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReducedAggregatedBandwidth }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reducedMaxBW_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reducedMaxBW_FR2, T_reducedMaxBW_FR2_sequence); return offset; } static const value_string nr_rrc_MIMO_LayersDL_vals[] = { { 0, "twoLayers" }, { 1, "fourLayers" }, { 2, "eightLayers" }, { 0, NULL } }; static int dissect_nr_rrc_MIMO_LayersDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_MIMO_LayersUL_vals[] = { { 0, "oneLayer" }, { 1, "twoLayers" }, { 2, "fourLayers" }, { 0, NULL } }; static int dissect_nr_rrc_MIMO_LayersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_reducedMaxMIMO_LayersFR1_sequence[] = { { &hf_nr_rrc_reducedMIMO_LayersFR1_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL }, { &hf_nr_rrc_reducedMIMO_LayersFR1_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reducedMaxMIMO_LayersFR1, T_reducedMaxMIMO_LayersFR1_sequence); return offset; } static const per_sequence_t T_reducedMaxMIMO_LayersFR2_sequence[] = { { &hf_nr_rrc_reducedMIMO_LayersFR2_DL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersDL }, { &hf_nr_rrc_reducedMIMO_LayersFR2_UL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_LayersUL }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reducedMaxMIMO_LayersFR2, T_reducedMaxMIMO_LayersFR2_sequence); return offset; } static const per_sequence_t OverheatingAssistance_sequence[] = { { &hf_nr_rrc_reducedMaxCCs, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxCCs }, { &hf_nr_rrc_reducedMaxBW_FR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxBW_FR1 }, { &hf_nr_rrc_reducedMaxBW_FR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxBW_FR2 }, { &hf_nr_rrc_reducedMaxMIMO_LayersFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR1 }, { &hf_nr_rrc_reducedMaxMIMO_LayersFR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedMaxMIMO_LayersFR2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_OverheatingAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_OverheatingAssistance, OverheatingAssistance_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_32_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_32, T_nonCriticalExtension_32_sequence); return offset; } static const per_sequence_t UEAssistanceInformation_v1540_IEs_sequence[] = { { &hf_nr_rrc_overheatingAssistance, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OverheatingAssistance }, { &hf_nr_rrc_nonCriticalExtension_46, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_32 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UEAssistanceInformation_v1540_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UEAssistanceInformation_v1540_IEs, UEAssistanceInformation_v1540_IEs_sequence); return offset; } static const per_sequence_t UEAssistanceInformation_IEs_sequence[] = { { &hf_nr_rrc_delayBudgetReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DelayBudgetReport }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_45, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UEAssistanceInformation_v1540_IEs }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UEAssistanceInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UEAssistanceInformation_IEs, UEAssistanceInformation_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_31_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_31, T_criticalExtensionsFuture_31_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_31_vals[] = { { 0, "ueAssistanceInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_31_choice[] = { { 0, &hf_nr_rrc_ueAssistanceInformation_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEAssistanceInformation_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_31, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_31 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_31, T_criticalExtensions_31_choice, NULL); return offset; } static const per_sequence_t UEAssistanceInformation_sequence[] = { { &hf_nr_rrc_criticalExtensions_31, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_31 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UEAssistanceInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UE Assistance Information"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UEAssistanceInformation, UEAssistanceInformation_sequence); return offset; } static const value_string nr_rrc_T_failureType_01_vals[] = { { 0, "rlc-failure" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_failureType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t FailureInfoRLC_Bearer_sequence[] = { { &hf_nr_rrc_cellGroupId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId }, { &hf_nr_rrc_logicalChannelIdentity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity }, { &hf_nr_rrc_failureType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FailureInfoRLC_Bearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FailureInfoRLC_Bearer, FailureInfoRLC_Bearer_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_10_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence); return offset; } static const per_sequence_t FailureInformation_IEs_sequence[] = { { &hf_nr_rrc_failureInfoRLC_Bearer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureInfoRLC_Bearer }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_16, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_10 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FailureInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FailureInformation_IEs, FailureInformation_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_10_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_10, T_criticalExtensionsFuture_10_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_10_vals[] = { { 0, "failureInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_10_choice[] = { { 0, &hf_nr_rrc_failureInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_FailureInformation_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_10, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_10 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_10, T_criticalExtensions_10_choice, NULL); return offset; } static const per_sequence_t FailureInformation_sequence[] = { { &hf_nr_rrc_criticalExtensions_10, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_10 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FailureInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Failure Information"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FailureInformation, FailureInformation_sequence); return offset; } static int dissect_nr_rrc_T_ul_DCCH_MessageNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *ul_dcch_msg_nr_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &ul_dcch_msg_nr_tvb); if (ul_dcch_msg_nr_tvb) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageNR); dissect_nr_rrc_UL_DCCH_Message_PDU(ul_dcch_msg_nr_tvb, actx->pinfo, subtree, NULL); } return offset; } static int dissect_nr_rrc_T_ul_DCCH_MessageEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *ul_dcch_msg_eutra_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &ul_dcch_msg_eutra_tvb); if (ul_dcch_msg_eutra_tvb && lte_rrc_ul_dcch_handle) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_ul_DCCH_MessageEUTRA); nr_rrc_call_dissector(lte_rrc_ul_dcch_handle, ul_dcch_msg_eutra_tvb, actx->pinfo, subtree); } return offset; } static const per_sequence_t T_nonCriticalExtension_36_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_36(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_36, T_nonCriticalExtension_36_sequence); return offset; } static const per_sequence_t ULInformationTransferMRDC_IEs_sequence[] = { { &hf_nr_rrc_ul_DCCH_MessageNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_DCCH_MessageNR }, { &hf_nr_rrc_ul_DCCH_MessageEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_DCCH_MessageEUTRA }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_50, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_36 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ULInformationTransferMRDC_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ULInformationTransferMRDC_IEs, ULInformationTransferMRDC_IEs_sequence); return offset; } static const value_string nr_rrc_T_c1_14_vals[] = { { 0, "ulInformationTransferMRDC" }, { 1, "spare3" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static const per_choice_t T_c1_14_choice[] = { { 0, &hf_nr_rrc_ulInformationTransferMRDC_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransferMRDC_IEs }, { 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_14, T_c1_14_choice, NULL); return offset; } static const per_sequence_t T_criticalExtensionsFuture_35_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_35, T_criticalExtensionsFuture_35_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_35_vals[] = { { 0, "c1" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_35_choice[] = { { 0, &hf_nr_rrc_c1_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_14 }, { 1, &hf_nr_rrc_criticalExtensionsFuture_35, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_35 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_35(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_35, T_criticalExtensions_35_choice, NULL); return offset; } static const per_sequence_t ULInformationTransferMRDC_sequence[] = { { &hf_nr_rrc_criticalExtensions_35, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_35 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ULInformationTransferMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UL Information Transfer MRDC"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ULInformationTransferMRDC, ULInformationTransferMRDC_sequence); return offset; } static const value_string nr_rrc_T_failureType_02_vals[] = { { 0, "t310-Expiry" }, { 1, "randomAccessProblem" }, { 2, "rlc-MaxNumRetx" }, { 3, "synchReconfigFailureSCG" }, { 4, "scg-ReconfigFailure" }, { 5, "srb3-IntegrityFailure" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_failureType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasResultFreqList_sequence_of[1] = { { &hf_nr_rrc_MeasResultFreqList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR }, }; static int dissect_nr_rrc_MeasResultFreqList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultFreqList, MeasResultFreqList_sequence_of, 1, maxFreq, FALSE); return offset; } static int dissect_nr_rrc_T_measResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_MeasResultSCG_Failure_PDU); return offset; } static const per_sequence_t FailureReportSCG_sequence[] = { { &hf_nr_rrc_failureType_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_02 }, { &hf_nr_rrc_measResultFreqList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultFreqList }, { &hf_nr_rrc_measResultSCG_Failure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultSCG_Failure }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FailureReportSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FailureReportSCG, FailureReportSCG_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_25_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_25, T_nonCriticalExtension_25_sequence); return offset; } static const per_sequence_t SCGFailureInformation_IEs_sequence[] = { { &hf_nr_rrc_failureReportSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureReportSCG }, { &hf_nr_rrc_nonCriticalExtension_38, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_25 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCGFailureInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SCGFailureInformation_IEs, SCGFailureInformation_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_25_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_25, T_criticalExtensionsFuture_25_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_25_vals[] = { { 0, "scgFailureInformation" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_25_choice[] = { { 0, &hf_nr_rrc_scgFailureInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SCGFailureInformation_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_25, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_25 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_25(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_25, T_criticalExtensions_25_choice, NULL); return offset; } static const per_sequence_t SCGFailureInformation_sequence[] = { { &hf_nr_rrc_criticalExtensions_25, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_25 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCGFailureInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SCGFailureInformation, SCGFailureInformation_sequence); return offset; } static const value_string nr_rrc_T_failureType_03_vals[] = { { 0, "t313-Expiry" }, { 1, "randomAccessProblem" }, { 2, "rlc-MaxNumRetx" }, { 3, "scg-ChangeFailure" }, { 4, "spare4" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_failureType_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasResultFreqListFailMRDC_sequence_of[1] = { { &hf_nr_rrc_MeasResultFreqListFailMRDC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2EUTRA }, }; static int dissect_nr_rrc_MeasResultFreqListFailMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultFreqListFailMRDC, MeasResultFreqListFailMRDC_sequence_of, 1, maxFreq, FALSE); return offset; } static int dissect_nr_rrc_T_measResultSCG_FailureMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { tvbuff_t *meas_result_scg_fail_mrdc_tvb = NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, &meas_result_scg_fail_mrdc_tvb); if (meas_result_scg_fail_mrdc_tvb) { proto_tree *subtree; subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_measResultSCG_FailureMRDC); dissect_lte_rrc_MeasResultSCG_FailureMRDC_r15_PDU(meas_result_scg_fail_mrdc_tvb, actx->pinfo, subtree, NULL); } return offset; } static const per_sequence_t FailureReportSCG_EUTRA_sequence[] = { { &hf_nr_rrc_failureType_03, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_failureType_03 }, { &hf_nr_rrc_measResultFreqListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultFreqListFailMRDC }, { &hf_nr_rrc_measResultSCG_FailureMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultSCG_FailureMRDC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FailureReportSCG_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FailureReportSCG_EUTRA, FailureReportSCG_EUTRA_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_26_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_26, T_nonCriticalExtension_26_sequence); return offset; } static const per_sequence_t SCGFailureInformationEUTRA_IEs_sequence[] = { { &hf_nr_rrc_failureReportSCG_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FailureReportSCG_EUTRA }, { &hf_nr_rrc_nonCriticalExtension_39, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_26 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCGFailureInformationEUTRA_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SCGFailureInformationEUTRA_IEs, SCGFailureInformationEUTRA_IEs_sequence); return offset; } static const per_sequence_t T_criticalExtensionsFuture_26_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensionsFuture_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensionsFuture_26, T_criticalExtensionsFuture_26_sequence); return offset; } static const value_string nr_rrc_T_criticalExtensions_26_vals[] = { { 0, "scgFailureInformationEUTRA" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; static const per_choice_t T_criticalExtensions_26_choice[] = { { 0, &hf_nr_rrc_scgFailureInformationEUTRA_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SCGFailureInformationEUTRA_IEs }, { 1, &hf_nr_rrc_criticalExtensionsFuture_26, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_26 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_criticalExtensions_26(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_criticalExtensions_26, T_criticalExtensions_26_choice, NULL); return offset; } static const per_sequence_t SCGFailureInformationEUTRA_sequence[] = { { &hf_nr_rrc_criticalExtensions_26, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_26 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCGFailureInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SCG Failure Information EUTRA"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SCGFailureInformationEUTRA, SCGFailureInformationEUTRA_sequence); return offset; } static const value_string nr_rrc_T_c1_13_vals[] = { { 0, "measurementReport" }, { 1, "rrcReconfigurationComplete" }, { 2, "rrcSetupComplete" }, { 3, "rrcReestablishmentComplete" }, { 4, "rrcResumeComplete" }, { 5, "securityModeComplete" }, { 6, "securityModeFailure" }, { 7, "ulInformationTransfer" }, { 8, "locationMeasurementIndication" }, { 9, "ueCapabilityInformation" }, { 10, "counterCheckResponse" }, { 11, "ueAssistanceInformation" }, { 12, "failureInformation" }, { 13, "ulInformationTransferMRDC" }, { 14, "scgFailureInformation" }, { 15, "scgFailureInformationEUTRA" }, { 0, NULL } }; static const per_choice_t T_c1_13_choice[] = { { 0, &hf_nr_rrc_measurementReport, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport }, { 1, &hf_nr_rrc_rrcReconfigurationComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete }, { 2, &hf_nr_rrc_rrcSetupComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCSetupComplete }, { 3, &hf_nr_rrc_rrcReestablishmentComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReestablishmentComplete }, { 4, &hf_nr_rrc_rrcResumeComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCResumeComplete }, { 5, &hf_nr_rrc_securityModeComplete, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeComplete }, { 6, &hf_nr_rrc_securityModeFailure, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SecurityModeFailure }, { 7, &hf_nr_rrc_ulInformationTransfer, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransfer }, { 8, &hf_nr_rrc_locationMeasurementIndication, ASN1_NO_EXTENSIONS , dissect_nr_rrc_LocationMeasurementIndication }, { 9, &hf_nr_rrc_ueCapabilityInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UECapabilityInformation }, { 10, &hf_nr_rrc_counterCheckResponse, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CounterCheckResponse }, { 11, &hf_nr_rrc_ueAssistanceInformation_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_UEAssistanceInformation }, { 12, &hf_nr_rrc_failureInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_FailureInformation }, { 13, &hf_nr_rrc_ulInformationTransferMRDC, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ULInformationTransferMRDC }, { 14, &hf_nr_rrc_scgFailureInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SCGFailureInformation }, { 15, &hf_nr_rrc_scgFailureInformationEUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SCGFailureInformationEUTRA }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_c1_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_c1_13, T_c1_13_choice, NULL); return offset; } static const per_sequence_t T_messageClassExtension_07_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_messageClassExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_messageClassExtension_07, T_messageClassExtension_07_sequence); return offset; } static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = { { 0, "c1" }, { 1, "messageClassExtension" }, { 0, NULL } }; static const per_choice_t UL_DCCH_MessageType_choice[] = { { 0, &hf_nr_rrc_c1_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_13 }, { 1, &hf_nr_rrc_messageClassExtension_07, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_07 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_UL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_DCCH_MessageType, UL_DCCH_MessageType_choice, NULL); return offset; } static const per_sequence_t UL_DCCH_Message_sequence[] = { { &hf_nr_rrc_message_07 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_DCCH_MessageType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *ti; col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC"); col_clear(actx->pinfo->cinfo, COL_INFO); ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); tree = proto_item_add_subtree(ti, ett_nr_rrc); actx->pinfo->link_dir = P2P_DIR_UL; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_DCCH_Message, UL_DCCH_Message_sequence); return offset; } static const value_string nr_rrc_T_omitEN_DC_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_omitEN_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_includeNR_DC_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_includeNR_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_includeNE_DC_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_includeNE_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_mrdc_Request_sequence[] = { { &hf_nr_rrc_omitEN_DC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_omitEN_DC }, { &hf_nr_rrc_includeNR_DC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeNR_DC }, { &hf_nr_rrc_includeNE_DC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_includeNE_DC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_mrdc_Request(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_mrdc_Request, T_mrdc_Request_sequence); return offset; } static const per_sequence_t UE_CapabilityRequestFilterCommon_sequence[] = { { &hf_nr_rrc_mrdc_Request , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mrdc_Request }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_CapabilityRequestFilterCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_CapabilityRequestFilterCommon, UE_CapabilityRequestFilterCommon_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_33_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_33(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_33, T_nonCriticalExtension_33_sequence); return offset; } static const per_sequence_t UECapabilityEnquiry_v1560_IEs_sequence[] = { { &hf_nr_rrc_capabilityRequestFilterCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRequestFilterCommon }, { &hf_nr_rrc_nonCriticalExtension_47, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_33 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UECapabilityEnquiry_v1560_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UECapabilityEnquiry_v1560_IEs, UECapabilityEnquiry_v1560_IEs_sequence); return offset; } static const value_string nr_rrc_Alpha_vals[] = { { 0, "alpha0" }, { 1, "alpha04" }, { 2, "alpha05" }, { 3, "alpha06" }, { 4, "alpha07" }, { 5, "alpha08" }, { 6, "alpha09" }, { 7, "alpha1" }, { 0, NULL } }; static int dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BFR_SSB_Resource_sequence[] = { { &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BFR_SSB_Resource, BFR_SSB_Resource_sequence); return offset; } static int dissect_nr_rrc_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofNZP_CSI_RS_Resources_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxRA_Occasions_1, NULL, FALSE); return offset; } static const per_sequence_t T_ra_OccasionList_sequence_of[1] = { { &hf_nr_rrc_ra_OccasionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1 }, }; static int dissect_nr_rrc_T_ra_OccasionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ra_OccasionList, T_ra_OccasionList_sequence_of, 1, maxRA_OccasionsPerCSIRS, FALSE); return offset; } static const per_sequence_t BFR_CSIRS_Resource_sequence[] = { { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { &hf_nr_rrc_ra_OccasionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_OccasionList }, { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_63 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BFR_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BFR_CSIRS_Resource, BFR_CSIRS_Resource_sequence); return offset; } static const value_string nr_rrc_PRACH_ResourceDedicatedBFR_vals[] = { { 0, "ssb" }, { 1, "csi-RS" }, { 0, NULL } }; static const per_choice_t PRACH_ResourceDedicatedBFR_choice[] = { { 0, &hf_nr_rrc_ssb , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BFR_SSB_Resource }, { 1, &hf_nr_rrc_csi_RS , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BFR_CSIRS_Resource }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PRACH_ResourceDedicatedBFR, PRACH_ResourceDedicatedBFR_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of[1] = { { &hf_nr_rrc_candidateBeamRSList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRACH_ResourceDedicatedBFR }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR, SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of, 1, maxNrofCandidateBeams, FALSE); return offset; } static const value_string nr_rrc_T_ssb_perRACH_Occasion_vals[] = { { 0, "oneEighth" }, { 1, "oneFourth" }, { 2, "oneHalf" }, { 3, "one" }, { 4, "two" }, { 5, "four" }, { 6, "eight" }, { 7, "sixteen" }, { 0, NULL } }; static int dissect_nr_rrc_T_ssb_perRACH_Occasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_powerRampingStepHighPriority_vals[] = { { 0, "dB0" }, { 1, "dB2" }, { 2, "dB4" }, { 3, "dB6" }, { 0, NULL } }; static int dissect_nr_rrc_T_powerRampingStepHighPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scalingFactorBI_vals[] = { { 0, "zero" }, { 1, "dot25" }, { 2, "dot5" }, { 3, "dot75" }, { 0, NULL } }; static int dissect_nr_rrc_T_scalingFactorBI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RA_Prioritization_sequence[] = { { &hf_nr_rrc_powerRampingStepHighPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStepHighPriority }, { &hf_nr_rrc_scalingFactorBI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactorBI }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RA_Prioritization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RA_Prioritization, RA_Prioritization_sequence); return offset; } static const value_string nr_rrc_T_beamFailureRecoveryTimer_vals[] = { { 0, "ms10" }, { 1, "ms20" }, { 2, "ms40" }, { 3, "ms60" }, { 4, "ms80" }, { 5, "ms100" }, { 6, "ms150" }, { 7, "ms200" }, { 0, NULL } }; static int dissect_nr_rrc_T_beamFailureRecoveryTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BeamFailureRecoveryConfig_eag_1_sequence[] = { { &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BeamFailureRecoveryConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BeamFailureRecoveryConfig_eag_1_sequence); return offset; } static const per_sequence_t BeamFailureRecoveryConfig_sequence[] = { { &hf_nr_rrc_rootSequenceIndex_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_137 }, { &hf_nr_rrc_rach_ConfigBFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RACH_ConfigGeneric }, { &hf_nr_rrc_rsrp_ThresholdSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range }, { &hf_nr_rrc_candidateBeamRSList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR }, { &hf_nr_rrc_ssb_perRACH_Occasion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_perRACH_Occasion }, { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_recoverySearchSpaceId, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId }, { &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization }, { &hf_nr_rrc_beamFailureRecoveryTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryTimer }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BeamFailureRecoveryConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BeamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BeamFailureRecoveryConfig, BeamFailureRecoveryConfig_sequence); return offset; } static const per_sequence_t BetaOffsets_sequence[] = { { &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_betaOffsetACK_Index3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_betaOffsetCSI_Part1_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_betaOffsetCSI_Part1_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_betaOffsetCSI_Part2_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_betaOffsetCSI_Part2_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BetaOffsets, BetaOffsets_sequence); return offset; } static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = { { 0, "sf1" }, { 1, "sf5" }, { 2, "sf10" }, { 3, "sf16" }, { 4, "sf20" }, { 5, "sf32" }, { 6, "sf40" }, { 7, "sf64" }, { 8, "sf80" }, { 9, "sf128" }, { 10, "sf160" }, { 11, "sf320" }, { 12, "sf640" }, { 13, "sf1280" }, { 14, "sf2560" }, { 15, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_retxBSR_Timer_vals[] = { { 0, "sf10" }, { 1, "sf20" }, { 2, "sf40" }, { 3, "sf80" }, { 4, "sf160" }, { 5, "sf320" }, { 6, "sf640" }, { 7, "sf1280" }, { 8, "sf2560" }, { 9, "sf5120" }, { 10, "sf10240" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = { { 0, "sf20" }, { 1, "sf40" }, { 2, "sf64" }, { 3, "sf128" }, { 4, "sf512" }, { 5, "sf1024" }, { 6, "sf2560" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BSR_Config_sequence[] = { { &hf_nr_rrc_periodicBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer }, { &hf_nr_rrc_retxBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer }, { &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BSR_Config, BSR_Config_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of[1] = { { &hf_nr_rrc_controlResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet, SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of, 1, 3, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of[1] = { { &hf_nr_rrc_controlResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId, SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of, 1, 3, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of[1] = { { &hf_nr_rrc_searchSpacesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace, SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of, 1, 10, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of[1] = { { &hf_nr_rrc_searchSpacesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId, SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of, 1, 10, FALSE); return offset; } static const value_string nr_rrc_T_timeFrequencySet_vals[] = { { 0, "set0" }, { 1, "set1" }, { 0, NULL } }; static int dissect_nr_rrc_T_timeFrequencySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxINT_DCI_PayloadSize, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxINT_DCI_PayloadSize_1, NULL, FALSE); return offset; } static const per_sequence_t INT_ConfigurationPerServingCell_sequence[] = { { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_positionInDCI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_INT_ConfigurationPerServingCell, INT_ConfigurationPerServingCell_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of[1] = { { &hf_nr_rrc_int_ConfigurationPerServingCell_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INT_ConfigurationPerServingCell }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell, SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const per_sequence_t DownlinkPreemption_sequence[] = { { &hf_nr_rrc_int_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_timeFrequencySet, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeFrequencySet }, { &hf_nr_rrc_dci_PayloadSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize }, { &hf_nr_rrc_int_ConfigurationPerServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DownlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DownlinkPreemption, DownlinkPreemption_sequence); return offset; } static const value_string nr_rrc_T_downlinkPreemption_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_downlinkPreemption_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DownlinkPreemption }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_downlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_downlinkPreemption, T_downlinkPreemption_choice, NULL); return offset; } static const per_sequence_t PUSCH_TPC_CommandConfig_sequence[] = { { &hf_nr_rrc_tpc_Index , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 }, { &hf_nr_rrc_tpc_IndexSUL , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 }, { &hf_nr_rrc_targetCell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_TPC_CommandConfig, PUSCH_TPC_CommandConfig_sequence); return offset; } static const value_string nr_rrc_T_tpc_PUSCH_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_tpc_PUSCH_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TPC_CommandConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_tpc_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_tpc_PUSCH, T_tpc_PUSCH_choice, NULL); return offset; } static const per_sequence_t PUCCH_TPC_CommandConfig_sequence[] = { { &hf_nr_rrc_tpc_IndexPCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 }, { &hf_nr_rrc_tpc_IndexPUCCH_SCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_TPC_CommandConfig, PUCCH_TPC_CommandConfig_sequence); return offset; } static const value_string nr_rrc_T_tpc_PUCCH_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_tpc_PUCCH_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_TPC_CommandConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_tpc_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_tpc_PUCCH, T_tpc_PUCCH_choice, NULL); return offset; } static const per_sequence_t SRS_TPC_CommandConfig_eag_1_sequence[] = { { &hf_nr_rrc_startingBitOfFormat2_3SUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_31 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_TPC_CommandConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SRS_TPC_CommandConfig_eag_1_sequence); return offset; } static const per_sequence_t SRS_TPC_CommandConfig_sequence[] = { { &hf_nr_rrc_startingBitOfFormat2_3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_31 }, { &hf_nr_rrc_fieldTypeFormat2_3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_TPC_CommandConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_TPC_CommandConfig, SRS_TPC_CommandConfig_sequence); return offset; } static const value_string nr_rrc_T_tpc_SRS_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_tpc_SRS_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_CommandConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_tpc_SRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_tpc_SRS, T_tpc_SRS_choice, NULL); return offset; } static const per_sequence_t PDCCH_Config_sequence[] = { { &hf_nr_rrc_controlResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet }, { &hf_nr_rrc_controlResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId }, { &hf_nr_rrc_searchSpacesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace }, { &hf_nr_rrc_searchSpacesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId }, { &hf_nr_rrc_downlinkPreemption, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkPreemption }, { &hf_nr_rrc_tpc_PUSCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH }, { &hf_nr_rrc_tpc_PUCCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH }, { &hf_nr_rrc_tpc_SRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDCCH_Config, PDCCH_Config_sequence); return offset; } static const value_string nr_rrc_T_pdcch_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdcch_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdcch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdcch_Config, T_pdcch_Config_choice, NULL); return offset; } static const value_string nr_rrc_T_dmrs_Type_vals[] = { { 0, "type2" }, { 0, NULL } }; static int dissect_nr_rrc_T_dmrs_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dmrs_AdditionalPosition_vals[] = { { 0, "pos0" }, { 1, "pos1" }, { 2, "pos3" }, { 0, NULL } }; static int dissect_nr_rrc_T_dmrs_AdditionalPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxLength_vals[] = { { 0, "len2" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_276(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 276U, NULL, FALSE); return offset; } static const per_sequence_t T_frequencyDensity_sequence_of[1] = { { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, }; static int dissect_nr_rrc_T_frequencyDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_frequencyDensity, T_frequencyDensity_sequence_of, 2, 2, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 29U, NULL, FALSE); return offset; } static const per_sequence_t T_timeDensity_sequence_of[1] = { { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, }; static int dissect_nr_rrc_T_timeDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_timeDensity, T_timeDensity_sequence_of, 3, 3, FALSE); return offset; } static const value_string nr_rrc_T_resourceElementOffset_vals[] = { { 0, "offset01" }, { 1, "offset10" }, { 2, "offset11" }, { 0, NULL } }; static int dissect_nr_rrc_T_resourceElementOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PTRS_DownlinkConfig_sequence[] = { { &hf_nr_rrc_frequencyDensity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity }, { &hf_nr_rrc_timeDensity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity }, { &hf_nr_rrc_epre_Ratio , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 }, { &hf_nr_rrc_resourceElementOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PTRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PTRS_DownlinkConfig, PTRS_DownlinkConfig_sequence); return offset; } static const value_string nr_rrc_T_phaseTrackingRS_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_phaseTrackingRS_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_phaseTrackingRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_phaseTrackingRS, T_phaseTrackingRS_choice, NULL); return offset; } static const per_sequence_t DMRS_DownlinkConfig_sequence[] = { { &hf_nr_rrc_dmrs_Type , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type }, { &hf_nr_rrc_dmrs_AdditionalPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition }, { &hf_nr_rrc_maxLength , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength }, { &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, { &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, { &hf_nr_rrc_phaseTrackingRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DMRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DMRS_DownlinkConfig, DMRS_DownlinkConfig_sequence); return offset; } static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeA_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA, T_dmrs_DownlinkForPDSCH_MappingTypeA_choice, NULL); return offset; } static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeB_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB, T_dmrs_DownlinkForPDSCH_MappingTypeB_choice, NULL); return offset; } static const value_string nr_rrc_T_referenceSignal_04_vals[] = { { 0, "csi-rs" }, { 1, "ssb" }, { 0, NULL } }; static const per_choice_t T_referenceSignal_04_choice[] = { { 0, &hf_nr_rrc_csi_rs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { 1, &hf_nr_rrc_ssb_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_referenceSignal_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_referenceSignal_04, T_referenceSignal_04_choice, NULL); return offset; } static const value_string nr_rrc_T_qcl_Type_vals[] = { { 0, "typeA" }, { 1, "typeB" }, { 2, "typeC" }, { 3, "typeD" }, { 0, NULL } }; static int dissect_nr_rrc_T_qcl_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t QCL_Info_sequence[] = { { &hf_nr_rrc_cell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_referenceSignal_04, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_04 }, { &hf_nr_rrc_qcl_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_qcl_Type }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_QCL_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_QCL_Info, QCL_Info_sequence); return offset; } static const per_sequence_t TCI_State_sequence[] = { { &hf_nr_rrc_tci_StateId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId }, { &hf_nr_rrc_qcl_Type1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QCL_Info }, { &hf_nr_rrc_qcl_Type2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QCL_Info }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_TCI_State, TCI_State_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of[1] = { { &hf_nr_rrc_tci_StatesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_State }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of, 1, maxNrofTCI_States, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of[1] = { { &hf_nr_rrc_tci_StatesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of, 1, maxNrofTCI_States, FALSE); return offset; } static const value_string nr_rrc_T_vrb_ToPRB_Interleaver_vals[] = { { 0, "n2" }, { 1, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_vrb_ToPRB_Interleaver(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_resourceAllocation_01_vals[] = { { 0, "resourceAllocationType0" }, { 1, "resourceAllocationType1" }, { 2, "dynamicSwitch" }, { 0, NULL } }; static int dissect_nr_rrc_T_resourceAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_TimeDomainAllocationList_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdsch_TimeDomainAllocationList_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_35 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdsch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdsch_TimeDomainAllocationList, T_pdsch_TimeDomainAllocationList_choice, NULL); return offset; } static const value_string nr_rrc_T_pdsch_AggregationFactor_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofRateMatchPatterns_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 275, 275, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_symbolsInResourceBlock_vals[] = { { 0, "oneSlot" }, { 1, "twoSlots" }, { 0, NULL } }; static const per_choice_t T_symbolsInResourceBlock_choice[] = { { 0, &hf_nr_rrc_oneSlot , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_14 }, { 1, &hf_nr_rrc_twoSlots , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_28 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_symbolsInResourceBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_symbolsInResourceBlock, T_symbolsInResourceBlock_choice, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 2, 2, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 5, 5, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 10, 10, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 20, 20, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 40, 40, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_periodicityAndPattern_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n5" }, { 3, "n8" }, { 4, "n10" }, { 5, "n20" }, { 6, "n40" }, { 0, NULL } }; static const per_choice_t T_periodicityAndPattern_choice[] = { { 0, &hf_nr_rrc_n2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 }, { 1, &hf_nr_rrc_n4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, { 2, &hf_nr_rrc_n5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_5 }, { 3, &hf_nr_rrc_n8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 4, &hf_nr_rrc_n10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { 5, &hf_nr_rrc_n20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_20 }, { 6, &hf_nr_rrc_n40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_40 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_periodicityAndPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_periodicityAndPattern, T_periodicityAndPattern_choice, NULL); return offset; } static const per_sequence_t T_bitmaps_sequence[] = { { &hf_nr_rrc_resourceBlocks, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_275 }, { &hf_nr_rrc_symbolsInResourceBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbolsInResourceBlock }, { &hf_nr_rrc_periodicityAndPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndPattern }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_bitmaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_bitmaps, T_bitmaps_sequence); return offset; } static const value_string nr_rrc_T_patternType_vals[] = { { 0, "bitmaps" }, { 1, "controlResourceSet" }, { 0, NULL } }; static const per_choice_t T_patternType_choice[] = { { 0, &hf_nr_rrc_bitmaps , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_bitmaps }, { 1, &hf_nr_rrc_controlResourceSet, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ControlResourceSetId }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_patternType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_patternType, T_patternType_choice, NULL); return offset; } static const value_string nr_rrc_T_dummy_01_vals[] = { { 0, "dynamic" }, { 1, "semiStatic" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RateMatchPattern_sequence[] = { { &hf_nr_rrc_rateMatchPatternId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId }, { &hf_nr_rrc_patternType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_patternType }, { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_dummy_03 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dummy_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RateMatchPattern, RateMatchPattern_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of[1] = { { &hf_nr_rrc_rateMatchPatternToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPattern }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of, 1, maxNrofRateMatchPatterns, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of[1] = { { &hf_nr_rrc_rateMatchPatternToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of, 1, maxNrofRateMatchPatterns, FALSE); return offset; } static const value_string nr_rrc_RateMatchPatternGroup_item_vals[] = { { 0, "cellLevel" }, { 1, "bwpLevel" }, { 0, NULL } }; static const per_choice_t RateMatchPatternGroup_item_choice[] = { { 0, &hf_nr_rrc_cellLevel , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternId }, { 1, &hf_nr_rrc_bwpLevel , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternId }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_RateMatchPatternGroup_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RateMatchPatternGroup_item, RateMatchPatternGroup_item_choice, NULL); return offset; } static const per_sequence_t RateMatchPatternGroup_sequence_of[1] = { { &hf_nr_rrc_RateMatchPatternGroup_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternGroup_item }, }; static int dissect_nr_rrc_RateMatchPatternGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RateMatchPatternGroup, RateMatchPatternGroup_sequence_of, 1, maxNrofRateMatchPatternsPerGroup, FALSE); return offset; } static const value_string nr_rrc_T_rbg_Size_01_vals[] = { { 0, "config1" }, { 1, "config2" }, { 0, NULL } }; static int dissect_nr_rrc_T_rbg_Size_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mcs_Table_01_vals[] = { { 0, "qam256" }, { 1, "qam64LowSE" }, { 0, NULL } }; static int dissect_nr_rrc_T_mcs_Table_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bundleSize_vals[] = { { 0, "n4" }, { 1, "wideband" }, { 0, NULL } }; static int dissect_nr_rrc_T_bundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_staticBundling_sequence[] = { { &hf_nr_rrc_bundleSize , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSize }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_staticBundling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_staticBundling, T_staticBundling_sequence); return offset; } static const value_string nr_rrc_T_bundleSizeSet1_vals[] = { { 0, "n4" }, { 1, "wideband" }, { 2, "n2-wideband" }, { 3, "n4-wideband" }, { 0, NULL } }; static int dissect_nr_rrc_T_bundleSizeSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bundleSizeSet2_vals[] = { { 0, "n4" }, { 1, "wideband" }, { 0, NULL } }; static int dissect_nr_rrc_T_bundleSizeSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_dynamicBundling_sequence[] = { { &hf_nr_rrc_bundleSizeSet1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet1 }, { &hf_nr_rrc_bundleSizeSet2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_dynamicBundling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dynamicBundling, T_dynamicBundling_sequence); return offset; } static const value_string nr_rrc_T_prb_BundlingType_vals[] = { { 0, "staticBundling" }, { 1, "dynamicBundling" }, { 0, NULL } }; static const per_choice_t T_prb_BundlingType_choice[] = { { 0, &hf_nr_rrc_staticBundling, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_staticBundling }, { 1, &hf_nr_rrc_dynamicBundling, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dynamicBundling }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_prb_BundlingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_prb_BundlingType, T_prb_BundlingType_choice, NULL); return offset; } static int dissect_nr_rrc_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofZP_CSI_RS_Resources_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 3, 3, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_frequencyDomainAllocation_01_vals[] = { { 0, "row1" }, { 1, "row2" }, { 2, "row4" }, { 3, "other" }, { 0, NULL } }; static const per_choice_t T_frequencyDomainAllocation_01_choice[] = { { 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, { 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 }, { 2, &hf_nr_rrc_row4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { 3, &hf_nr_rrc_other_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_frequencyDomainAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_frequencyDomainAllocation_01, T_frequencyDomainAllocation_01_choice, NULL); return offset; } static const value_string nr_rrc_T_nrofPorts_vals[] = { { 0, "p1" }, { 1, "p2" }, { 2, "p4" }, { 3, "p8" }, { 4, "p12" }, { 5, "p16" }, { 6, "p24" }, { 7, "p32" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_2_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, 12U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_cdm_Type_vals[] = { { 0, "noCDM" }, { 1, "fd-CDM2" }, { 2, "cdm4-FD2-TD2" }, { 3, "cdm8-FD2-TD4" }, { 0, NULL } }; static int dissect_nr_rrc_T_cdm_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dot5_vals[] = { { 0, "evenPRBs" }, { 1, "oddPRBs" }, { 0, NULL } }; static int dissect_nr_rrc_T_dot5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_density_01_vals[] = { { 0, "dot5" }, { 1, "one" }, { 2, "three" }, { 3, "spare" }, { 0, NULL } }; static const per_choice_t T_density_01_choice[] = { { 0, &hf_nr_rrc_dot5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dot5 }, { 1, &hf_nr_rrc_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_spare_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_density_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_density_01, T_density_01_choice, NULL); return offset; } static int dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocksPlus1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 24U, maxNrofPhysicalResourceBlocksPlus1, NULL, FALSE); return offset; } static const per_sequence_t CSI_FrequencyOccupation_sequence[] = { { &hf_nr_rrc_startingRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 }, { &hf_nr_rrc_nrofRBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_FrequencyOccupation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_FrequencyOccupation, CSI_FrequencyOccupation_sequence); return offset; } static const per_sequence_t CSI_RS_ResourceMapping_sequence[] = { { &hf_nr_rrc_frequencyDomainAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation_01 }, { &hf_nr_rrc_nrofPorts , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPorts }, { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, { &hf_nr_rrc_firstOFDMSymbolInTimeDomain2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_12 }, { &hf_nr_rrc_cdm_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cdm_Type }, { &hf_nr_rrc_density_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_density_01 }, { &hf_nr_rrc_freqBand , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_FrequencyOccupation }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_ResourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_RS_ResourceMapping, CSI_RS_ResourceMapping_sequence); return offset; } static const value_string nr_rrc_CSI_ResourcePeriodicityAndOffset_vals[] = { { 0, "slots4" }, { 1, "slots5" }, { 2, "slots8" }, { 3, "slots10" }, { 4, "slots16" }, { 5, "slots20" }, { 6, "slots32" }, { 7, "slots40" }, { 8, "slots64" }, { 9, "slots80" }, { 10, "slots160" }, { 11, "slots320" }, { 12, "slots640" }, { 0, NULL } }; static const per_choice_t CSI_ResourcePeriodicityAndOffset_choice[] = { { 0, &hf_nr_rrc_slots4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 }, { 1, &hf_nr_rrc_slots5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, { 2, &hf_nr_rrc_slots8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 }, { 3, &hf_nr_rrc_slots10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 4, &hf_nr_rrc_slots16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, { 5, &hf_nr_rrc_slots20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 6, &hf_nr_rrc_slots32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, { 7, &hf_nr_rrc_slots40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 8, &hf_nr_rrc_slots64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 }, { 9, &hf_nr_rrc_slots80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 10, &hf_nr_rrc_slots160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 11, &hf_nr_rrc_slots320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 12, &hf_nr_rrc_slots640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_ResourcePeriodicityAndOffset, CSI_ResourcePeriodicityAndOffset_choice, NULL); return offset; } static const per_sequence_t ZP_CSI_RS_Resource_sequence[] = { { &hf_nr_rrc_zp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId }, { &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping }, { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ZP_CSI_RS_Resource, ZP_CSI_RS_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of[1] = { { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of, 1, maxNrofZP_CSI_RS_Resources, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = { { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of, 1, maxNrofZP_CSI_RS_Resources, FALSE); return offset; } static int dissect_nr_rrc_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofZP_CSI_RS_ResourceSets_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = { { &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of, 1, maxNrofZP_CSI_RS_ResourcesPerSet, FALSE); return offset; } static const per_sequence_t ZP_CSI_RS_ResourceSet_sequence[] = { { &hf_nr_rrc_zp_CSI_RS_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_zp_CSI_RS_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ZP_CSI_RS_ResourceSet, ZP_CSI_RS_ResourceSet_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet_sequence_of[1] = { { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet_sequence_of, 1, maxNrofZP_CSI_RS_ResourceSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId_sequence_of, 1, maxNrofZP_CSI_RS_ResourceSets, FALSE); return offset; } static const value_string nr_rrc_T_p_ZP_CSI_RS_ResourceSet_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_p_ZP_CSI_RS_ResourceSet_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ZP_CSI_RS_ResourceSet }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet, T_p_ZP_CSI_RS_ResourceSet_choice, NULL); return offset; } static const per_sequence_t PDSCH_Config_sequence[] = { { &hf_nr_rrc_dataScramblingIdentityPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA }, { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB }, { &hf_nr_rrc_tci_StatesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State }, { &hf_nr_rrc_tci_StatesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId }, { &hf_nr_rrc_vrb_ToPRB_Interleaver, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_vrb_ToPRB_Interleaver }, { &hf_nr_rrc_resourceAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_01 }, { &hf_nr_rrc_pdsch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_TimeDomainAllocationList }, { &hf_nr_rrc_pdsch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_AggregationFactor }, { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern }, { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId }, { &hf_nr_rrc_rateMatchPatternGroup1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RateMatchPatternGroup }, { &hf_nr_rrc_rateMatchPatternGroup2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RateMatchPatternGroup }, { &hf_nr_rrc_rbg_Size_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rbg_Size_01 }, { &hf_nr_rrc_mcs_Table_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_01 }, { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI }, { &hf_nr_rrc_prb_BundlingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prb_BundlingType }, { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource }, { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId }, { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet }, { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet }, { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_p_ZP_CSI_RS_ResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDSCH_Config, PDSCH_Config_sequence); return offset; } static const value_string nr_rrc_T_pdsch_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdsch_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdsch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdsch_Config, T_pdsch_Config_choice, NULL); return offset; } static const value_string nr_rrc_T_periodicity_01_vals[] = { { 0, "ms10" }, { 1, "ms20" }, { 2, "ms32" }, { 3, "ms40" }, { 4, "ms64" }, { 5, "ms80" }, { 6, "ms128" }, { 7, "ms160" }, { 8, "ms320" }, { 9, "ms640" }, { 10, "spare6" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_periodicity_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_01_vals); static int dissect_nr_rrc_T_periodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofPUCCH_Resources_1, NULL, FALSE); return offset; } static const value_string nr_rrc_T_mcs_Table_03_vals[] = { { 0, "qam64LowSE" }, { 0, NULL } }; static int dissect_nr_rrc_T_mcs_Table_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SPS_Config_sequence[] = { { &hf_nr_rrc_periodicity_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_01 }, { &hf_nr_rrc_nrofHARQ_Processes_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_n1PUCCH_AN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId }, { &hf_nr_rrc_mcs_Table_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_03 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SPS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SPS_Config, SPS_Config_sequence); return offset; } static const value_string nr_rrc_T_sps_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_sps_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_sps_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sps_Config, T_sps_Config_choice, NULL); return offset; } static int dissect_nr_rrc_RadioLinkMonitoringRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofFailureDetectionResources_1, NULL, FALSE); return offset; } static const value_string nr_rrc_T_purpose_vals[] = { { 0, "beamFailure" }, { 1, "rlf" }, { 2, "both" }, { 0, NULL } }; static int dissect_nr_rrc_T_purpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_detectionResource_vals[] = { { 0, "ssb-Index" }, { 1, "csi-RS-Index" }, { 0, NULL } }; static const per_choice_t T_detectionResource_choice[] = { { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_detectionResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_detectionResource, T_detectionResource_choice, NULL); return offset; } static const per_sequence_t RadioLinkMonitoringRS_sequence[] = { { &hf_nr_rrc_radioLinkMonitoringRS_Id, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS_Id }, { &hf_nr_rrc_purpose , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_purpose }, { &hf_nr_rrc_detectionResource, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_detectionResource }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RadioLinkMonitoringRS, RadioLinkMonitoringRS_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of[1] = { { &hf_nr_rrc_failureDetectionResourcesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS, SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of, 1, maxNrofFailureDetectionResources, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id_sequence_of[1] = { { &hf_nr_rrc_failureDetectionResourcesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS_Id }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id, SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id_sequence_of, 1, maxNrofFailureDetectionResources, FALSE); return offset; } static const value_string nr_rrc_T_beamFailureInstanceMaxCount_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 0, NULL } }; static int dissect_nr_rrc_T_beamFailureInstanceMaxCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_beamFailureDetectionTimer_vals[] = { { 0, "pbfd1" }, { 1, "pbfd2" }, { 2, "pbfd3" }, { 3, "pbfd4" }, { 4, "pbfd5" }, { 5, "pbfd6" }, { 6, "pbfd8" }, { 7, "pbfd10" }, { 0, NULL } }; static int dissect_nr_rrc_T_beamFailureDetectionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RadioLinkMonitoringConfig_sequence[] = { { &hf_nr_rrc_failureDetectionResourcesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS }, { &hf_nr_rrc_failureDetectionResourcesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id }, { &hf_nr_rrc_beamFailureInstanceMaxCount, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureInstanceMaxCount }, { &hf_nr_rrc_beamFailureDetectionTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureDetectionTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RadioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RadioLinkMonitoringConfig, RadioLinkMonitoringConfig_sequence); return offset; } static const value_string nr_rrc_T_radioLinkMonitoringConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_radioLinkMonitoringConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_radioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_radioLinkMonitoringConfig, T_radioLinkMonitoringConfig_choice, NULL); return offset; } static const per_sequence_t BWP_DownlinkDedicated_sequence[] = { { &hf_nr_rrc_pdcch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_Config }, { &hf_nr_rrc_pdsch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_Config }, { &hf_nr_rrc_sps_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sps_Config }, { &hf_nr_rrc_radioLinkMonitoringConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_radioLinkMonitoringConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BWP_DownlinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BWP_DownlinkDedicated, BWP_DownlinkDedicated_sequence); return offset; } static const per_sequence_t BWP_Downlink_sequence[] = { { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_bwp_Common , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon }, { &hf_nr_rrc_bwp_Dedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BWP_Downlink, BWP_Downlink_sequence); return offset; } static int dissect_nr_rrc_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofPUCCH_ResourceSets_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of[1] = { { &hf_nr_rrc_resourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of, 1, maxNrofPUCCH_ResourcesPerSet, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_4_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 4U, 256U, NULL, FALSE); return offset; } static const per_sequence_t PUCCH_ResourceSet_sequence[] = { { &hf_nr_rrc_pucch_ResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId }, { &hf_nr_rrc_resourceList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId }, { &hf_nr_rrc_maxPayloadSize, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_256 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_ResourceSet, PUCCH_ResourceSet_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of[1] = { { &hf_nr_rrc_resourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of, 1, maxNrofPUCCH_ResourceSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_resourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of, 1, maxNrofPUCCH_ResourceSets, FALSE); return offset; } static int dissect_nr_rrc_PRB_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE); return offset; } static const value_string nr_rrc_T_intraSlotFrequencyHopping_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_intraSlotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 11U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 2U, NULL, FALSE); return offset; } static const per_sequence_t PUCCH_format0_sequence[] = { { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 }, { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_format0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_format0, PUCCH_format0_sequence); return offset; } static int dissect_nr_rrc_INTEGER_4_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 4U, 14U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 10U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 6U, NULL, FALSE); return offset; } static const per_sequence_t PUCCH_format1_sequence[] = { { &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 }, { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 }, { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 }, { &hf_nr_rrc_timeDomainOCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_format1, PUCCH_format1_sequence); return offset; } static const per_sequence_t PUCCH_format2_sequence[] = { { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, { &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_format2, PUCCH_format2_sequence); return offset; } static const per_sequence_t PUCCH_format3_sequence[] = { { &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 }, { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_format3, PUCCH_format3_sequence); return offset; } static const value_string nr_rrc_T_occ_Length_vals[] = { { 0, "n2" }, { 1, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_occ_Length(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_occ_Index_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 0, NULL } }; static int dissect_nr_rrc_T_occ_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUCCH_format4_sequence[] = { { &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 }, { &hf_nr_rrc_occ_Length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Length }, { &hf_nr_rrc_occ_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Index }, { &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_format4, PUCCH_format4_sequence); return offset; } static const value_string nr_rrc_T_format_vals[] = { { 0, "format0" }, { 1, "format1" }, { 2, "format2" }, { 3, "format3" }, { 4, "format4" }, { 0, NULL } }; static const per_choice_t T_format_choice[] = { { 0, &hf_nr_rrc_format0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format0 }, { 1, &hf_nr_rrc_format1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format1 }, { 2, &hf_nr_rrc_format2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format2 }, { 3, &hf_nr_rrc_format3_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format3 }, { 4, &hf_nr_rrc_format4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format4 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_format, T_format_choice, NULL); return offset; } static const per_sequence_t PUCCH_Resource_sequence[] = { { &hf_nr_rrc_pucch_ResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, { &hf_nr_rrc_startingPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRB_Id }, { &hf_nr_rrc_intraSlotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFrequencyHopping }, { &hf_nr_rrc_secondHopPRB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PRB_Id }, { &hf_nr_rrc_format , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_format }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_Resource, PUCCH_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of[1] = { { &hf_nr_rrc_resourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of, 1, maxNrofPUCCH_Resources, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of[1] = { { &hf_nr_rrc_resourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of, 1, maxNrofPUCCH_Resources, FALSE); return offset; } static const value_string nr_rrc_T_interslotFrequencyHopping_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_interslotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_additionalDMRS_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_additionalDMRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_PUCCH_MaxCodeRate_vals[] = { { 0, "zeroDot08" }, { 1, "zeroDot15" }, { 2, "zeroDot25" }, { 3, "zeroDot35" }, { 4, "zeroDot45" }, { 5, "zeroDot60" }, { 6, "zeroDot80" }, { 0, NULL } }; static int dissect_nr_rrc_PUCCH_MaxCodeRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_nrofSlots_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pi2BPSK_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_simultaneousHARQ_ACK_CSI_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUCCH_FormatConfig_sequence[] = { { &hf_nr_rrc_interslotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping }, { &hf_nr_rrc_additionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS }, { &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_MaxCodeRate }, { &hf_nr_rrc_nrofSlots , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots }, { &hf_nr_rrc_pi2BPSK , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2BPSK }, { &hf_nr_rrc_simultaneousHARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_FormatConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_FormatConfig, PUCCH_FormatConfig_sequence); return offset; } static const value_string nr_rrc_T_format1_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_format1_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_format1, T_format1_choice, NULL); return offset; } static const value_string nr_rrc_T_format2_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_format2_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_format2, T_format2_choice, NULL); return offset; } static const value_string nr_rrc_T_format3_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_format3_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_format3, T_format3_choice, NULL); return offset; } static const value_string nr_rrc_T_format4_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_format4_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_format4, T_format4_choice, NULL); return offset; } static int dissect_nr_rrc_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofSR_Resources, NULL, FALSE); return offset; } static int dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_periodicityAndOffset_vals[] = { { 0, "sym2" }, { 1, "sym6or7" }, { 2, "sl1" }, { 3, "sl2" }, { 4, "sl4" }, { 5, "sl5" }, { 6, "sl8" }, { 7, "sl10" }, { 8, "sl16" }, { 9, "sl20" }, { 10, "sl40" }, { 11, "sl80" }, { 12, "sl160" }, { 13, "sl320" }, { 14, "sl640" }, { 0, NULL } }; static const per_choice_t T_periodicityAndOffset_choice[] = { { 0, &hf_nr_rrc_sym2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_sym6or7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 }, { 4, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 }, { 5, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, { 6, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 }, { 7, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 8, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, { 9, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 10, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_periodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_periodicityAndOffset, T_periodicityAndOffset_choice, NULL); return offset; } static const per_sequence_t SchedulingRequestResourceConfig_sequence[] = { { &hf_nr_rrc_schedulingRequestResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId }, { &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId }, { &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndOffset }, { &hf_nr_rrc_resource_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SchedulingRequestResourceConfig, SchedulingRequestResourceConfig_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of[1] = { { &hf_nr_rrc_schedulingRequestResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfig }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of, 1, maxNrofSR_Resources, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of[1] = { { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of, 1, maxNrofSR_Resources, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of[1] = { { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of, 1, 2, FALSE); return offset; } static const per_sequence_t T_dl_DataToUL_ACK_sequence_of[1] = { { &hf_nr_rrc_dl_DataToUL_ACK_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, }; static int dissect_nr_rrc_T_dl_DataToUL_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dl_DataToUL_ACK, T_dl_DataToUL_ACK_sequence_of, 1, 8, FALSE); return offset; } static int dissect_nr_rrc_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofSpatialRelationInfos, NULL, FALSE); return offset; } static int dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSRS_Resources_1, NULL, FALSE); return offset; } static const per_sequence_t T_srs_sequence[] = { { &hf_nr_rrc_resource , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId }, { &hf_nr_rrc_uplinkBWP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_srs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_srs, T_srs_sequence); return offset; } static const value_string nr_rrc_T_referenceSignal_01_vals[] = { { 0, "ssb-Index" }, { 1, "csi-RS-Index" }, { 2, "srs" }, { 0, NULL } }; static const per_choice_t T_referenceSignal_01_choice[] = { { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_referenceSignal_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_referenceSignal_01, T_referenceSignal_01_choice, NULL); return offset; } static int dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofPUCCH_PathlossReferenceRSs_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_P0_PUCCH_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 8U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_closedLoopIndex_vals[] = { { 0, "i0" }, { 1, "i1" }, { 0, NULL } }; static int dissect_nr_rrc_T_closedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUCCH_SpatialRelationInfo_sequence[] = { { &hf_nr_rrc_pucch_SpatialRelationInfoId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId }, { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_referenceSignal_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_01 }, { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id }, { &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id }, { &hf_nr_rrc_closedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_closedLoopIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_SpatialRelationInfo, PUCCH_SpatialRelationInfo_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = { { &hf_nr_rrc_spatialRelationInfoToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of, 1, maxNrofSpatialRelationInfos, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = { { &hf_nr_rrc_spatialRelationInfoToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of, 1, maxNrofSpatialRelationInfos, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -16, 15U, NULL, FALSE); return offset; } static const per_sequence_t P0_PUCCH_sequence[] = { { &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id }, { &hf_nr_rrc_p0_PUCCH_Value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M16_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_P0_PUCCH, P0_PUCCH_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of[1] = { { &hf_nr_rrc_p0_Set_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of, 1, maxNrofPUCCH_P0_PerSet, FALSE); return offset; } static const value_string nr_rrc_T_referenceSignal_vals[] = { { 0, "ssb-Index" }, { 1, "csi-RS-Index" }, { 0, NULL } }; static const per_choice_t T_referenceSignal_choice[] = { { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_referenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_referenceSignal, T_referenceSignal_choice, NULL); return offset; } static const per_sequence_t PUCCH_PathlossReferenceRS_sequence[] = { { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id }, { &hf_nr_rrc_referenceSignal, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_PathlossReferenceRS, PUCCH_PathlossReferenceRS_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of[1] = { { &hf_nr_rrc_pathlossReferenceRSs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of, 1, maxNrofPUCCH_PathlossReferenceRSs, FALSE); return offset; } static const value_string nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals[] = { { 0, "twoStates" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUCCH_PowerControl_sequence[] = { { &hf_nr_rrc_deltaF_PUCCH_f0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, { &hf_nr_rrc_deltaF_PUCCH_f1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, { &hf_nr_rrc_deltaF_PUCCH_f2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, { &hf_nr_rrc_deltaF_PUCCH_f3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, { &hf_nr_rrc_deltaF_PUCCH_f4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, { &hf_nr_rrc_p0_Set , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH }, { &hf_nr_rrc_pathlossReferenceRSs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS }, { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_PowerControl, PUCCH_PowerControl_sequence); return offset; } static const per_sequence_t PUCCH_Config_sequence[] = { { &hf_nr_rrc_resourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet }, { &hf_nr_rrc_resourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId }, { &hf_nr_rrc_resourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource }, { &hf_nr_rrc_resourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId }, { &hf_nr_rrc_format1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format1 }, { &hf_nr_rrc_format2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format2 }, { &hf_nr_rrc_format3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format3 }, { &hf_nr_rrc_format4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format4 }, { &hf_nr_rrc_schedulingRequestResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig }, { &hf_nr_rrc_schedulingRequestResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId }, { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId }, { &hf_nr_rrc_dl_DataToUL_ACK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DataToUL_ACK }, { &hf_nr_rrc_spatialRelationInfoToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo }, { &hf_nr_rrc_spatialRelationInfoToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId }, { &hf_nr_rrc_pucch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_PowerControl }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_Config, PUCCH_Config_sequence); return offset; } static const value_string nr_rrc_T_pucch_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pucch_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pucch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pucch_Config, T_pucch_Config_choice, NULL); return offset; } static const value_string nr_rrc_T_txConfig_vals[] = { { 0, "codebook" }, { 1, "nonCodebook" }, { 0, NULL } }; static int dissect_nr_rrc_T_txConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dmrs_Type_01_vals[] = { { 0, "type2" }, { 0, NULL } }; static int dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dmrs_AdditionalPosition_01_vals[] = { { 0, "pos0" }, { 1, "pos1" }, { 2, "pos3" }, { 0, NULL } }; static int dissect_nr_rrc_T_dmrs_AdditionalPosition_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_frequencyDensity_01_sequence_of[1] = { { &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, }; static int dissect_nr_rrc_T_frequencyDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_frequencyDensity_01, T_frequencyDensity_01_sequence_of, 2, 2, FALSE); return offset; } static const per_sequence_t T_timeDensity_01_sequence_of[1] = { { &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, }; static int dissect_nr_rrc_T_timeDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_timeDensity_01, T_timeDensity_01_sequence_of, 3, 3, FALSE); return offset; } static const value_string nr_rrc_T_maxNrofPorts_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_resourceElementOffset_01_vals[] = { { 0, "offset01" }, { 1, "offset10" }, { 2, "offset11" }, { 0, NULL } }; static int dissect_nr_rrc_T_resourceElementOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ptrs_Power_vals[] = { { 0, "p00" }, { 1, "p01" }, { 2, "p10" }, { 3, "p11" }, { 0, NULL } }; static int dissect_nr_rrc_T_ptrs_Power(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_transformPrecoderDisabled_sequence[] = { { &hf_nr_rrc_frequencyDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity_01 }, { &hf_nr_rrc_timeDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity_01 }, { &hf_nr_rrc_maxNrofPorts , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNrofPorts }, { &hf_nr_rrc_resourceElementOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset_01 }, { &hf_nr_rrc_ptrs_Power , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ptrs_Power }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_transformPrecoderDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_transformPrecoderDisabled, T_transformPrecoderDisabled_sequence); return offset; } static const per_sequence_t T_sampleDensity_sequence_of[1] = { { &hf_nr_rrc_sampleDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, }; static int dissect_nr_rrc_T_sampleDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_sampleDensity, T_sampleDensity_sequence_of, 5, 5, FALSE); return offset; } static const value_string nr_rrc_T_timeDensityTransformPrecoding_vals[] = { { 0, "d2" }, { 0, NULL } }; static int dissect_nr_rrc_T_timeDensityTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_transformPrecoderEnabled_sequence[] = { { &hf_nr_rrc_sampleDensity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sampleDensity }, { &hf_nr_rrc_timeDensityTransformPrecoding, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensityTransformPrecoding }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_transformPrecoderEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_transformPrecoderEnabled, T_transformPrecoderEnabled_sequence); return offset; } static const per_sequence_t PTRS_UplinkConfig_sequence[] = { { &hf_nr_rrc_transformPrecoderDisabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoderDisabled }, { &hf_nr_rrc_transformPrecoderEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoderEnabled }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PTRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PTRS_UplinkConfig, PTRS_UplinkConfig_sequence); return offset; } static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_phaseTrackingRS_01_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_phaseTrackingRS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_phaseTrackingRS_01, T_phaseTrackingRS_01_choice, NULL); return offset; } static const value_string nr_rrc_T_maxLength_01_vals[] = { { 0, "len2" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_transformPrecodingDisabled_sequence[] = { { &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, { &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_transformPrecodingDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_transformPrecodingDisabled, T_transformPrecodingDisabled_sequence); return offset; } static int dissect_nr_rrc_INTEGER_0_1007(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1007U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_sequenceGroupHopping_vals[] = { { 0, "disabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_sequenceGroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sequenceHopping_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_sequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_transformPrecodingEnabled_sequence[] = { { &hf_nr_rrc_nPUSCH_Identity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1007 }, { &hf_nr_rrc_sequenceGroupHopping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sequenceGroupHopping }, { &hf_nr_rrc_sequenceHopping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sequenceHopping }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_transformPrecodingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_transformPrecodingEnabled, T_transformPrecodingEnabled_sequence); return offset; } static const per_sequence_t DMRS_UplinkConfig_sequence[] = { { &hf_nr_rrc_dmrs_Type_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type_01 }, { &hf_nr_rrc_dmrs_AdditionalPosition_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition_01 }, { &hf_nr_rrc_phaseTrackingRS_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS_01 }, { &hf_nr_rrc_maxLength_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength_01 }, { &hf_nr_rrc_transformPrecodingDisabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingDisabled }, { &hf_nr_rrc_transformPrecodingEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingEnabled }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DMRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DMRS_UplinkConfig, DMRS_UplinkConfig_sequence); return offset; } static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, T_dmrs_UplinkForPUSCH_MappingTypeA_choice, NULL); return offset; } static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, T_dmrs_UplinkForPUSCH_MappingTypeB_choice, NULL); return offset; } static const value_string nr_rrc_T_tpc_Accumulation_vals[] = { { 0, "disabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_tpc_Accumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_P0_PUSCH_AlphaSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofP0_PUSCH_AlphaSets_1, NULL, FALSE); return offset; } static const per_sequence_t P0_PUSCH_AlphaSet_sequence[] = { { &hf_nr_rrc_p0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId }, { &hf_nr_rrc_p0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 }, { &hf_nr_rrc_alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_P0_PUSCH_AlphaSet, P0_PUSCH_AlphaSet_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of[1] = { { &hf_nr_rrc_p0_AlphaSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of, 1, maxNrofP0_PUSCH_AlphaSets, FALSE); return offset; } static int dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE); return offset; } static const value_string nr_rrc_T_referenceSignal_02_vals[] = { { 0, "ssb-Index" }, { 1, "csi-RS-Index" }, { 0, NULL } }; static const per_choice_t T_referenceSignal_02_choice[] = { { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_referenceSignal_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_referenceSignal_02, T_referenceSignal_02_choice, NULL); return offset; } static const per_sequence_t PUSCH_PathlossReferenceRS_sequence[] = { { &hf_nr_rrc_pusch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id }, { &hf_nr_rrc_referenceSignal_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_02 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_PathlossReferenceRS, PUSCH_PathlossReferenceRS_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of[1] = { { &hf_nr_rrc_pathlossReferenceRSToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of, 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of[1] = { { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of, 1, maxNrofPUSCH_PathlossReferenceRSs, FALSE); return offset; } static const value_string nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals[] = { { 0, "twoStates" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_deltaMCS_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_deltaMCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSRI_PUSCH_Mappings_1, NULL, FALSE); return offset; } static const value_string nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals[] = { { 0, "i0" }, { 1, "i1" }, { 0, NULL } }; static int dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SRI_PUSCH_PowerControl_sequence[] = { { &hf_nr_rrc_sri_PUSCH_PowerControlId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId }, { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id }, { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId }, { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRI_PUSCH_PowerControl, SRI_PUSCH_PowerControl_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of[1] = { { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControl }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of, 1, maxNrofSRI_PUSCH_Mappings, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of[1] = { { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of, 1, maxNrofSRI_PUSCH_Mappings, FALSE); return offset; } static const per_sequence_t PUSCH_PowerControl_sequence[] = { { &hf_nr_rrc_tpc_Accumulation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation }, { &hf_nr_rrc_msg3_Alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha }, { &hf_nr_rrc_p0_NominalWithoutGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 }, { &hf_nr_rrc_p0_AlphaSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet }, { &hf_nr_rrc_pathlossReferenceRSToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS }, { &hf_nr_rrc_pathlossReferenceRSToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id }, { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates }, { &hf_nr_rrc_deltaMCS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_deltaMCS }, { &hf_nr_rrc_sri_PUSCH_MappingToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl }, { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_PowerControl, PUSCH_PowerControl_sequence); return offset; } static const value_string nr_rrc_T_frequencyHopping_01_vals[] = { { 0, "intraSlot" }, { 1, "interSlot" }, { 0, NULL } }; static int dissect_nr_rrc_T_frequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE); return offset; } static const per_sequence_t T_frequencyHoppingOffsetLists_sequence_of[1] = { { &hf_nr_rrc_frequencyHoppingOffsetLists_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 }, }; static int dissect_nr_rrc_T_frequencyHoppingOffsetLists(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_frequencyHoppingOffsetLists, T_frequencyHoppingOffsetLists_sequence_of, 1, 4, FALSE); return offset; } static const value_string nr_rrc_T_resourceAllocation_02_vals[] = { { 0, "resourceAllocationType0" }, { 1, "resourceAllocationType1" }, { 2, "dynamicSwitch" }, { 0, NULL } }; static int dissect_nr_rrc_T_resourceAllocation_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pusch_TimeDomainAllocationList_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pusch_TimeDomainAllocationList_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_42 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pusch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pusch_TimeDomainAllocationList, T_pusch_TimeDomainAllocationList_choice, NULL); return offset; } static const value_string nr_rrc_T_pusch_AggregationFactor_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_pusch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mcs_Table_02_vals[] = { { 0, "qam256" }, { 1, "qam64LowSE" }, { 0, NULL } }; static int dissect_nr_rrc_T_mcs_Table_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = { { 0, "qam256" }, { 1, "qam64LowSE" }, { 0, NULL } }; static int dissect_nr_rrc_T_mcs_TableTransformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_transformPrecoder_01_vals[] = { { 0, "enabled" }, { 1, "disabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_transformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_codebookSubset_vals[] = { { 0, "fullyAndPartialAndNonCoherent" }, { 1, "partialAndNonCoherent" }, { 2, "nonCoherent" }, { 0, NULL } }; static int dissect_nr_rrc_T_codebookSubset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_rbg_Size_02_vals[] = { { 0, "config2" }, { 0, NULL } }; static int dissect_nr_rrc_T_rbg_Size_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of[1] = { { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of, 4, 4, FALSE); return offset; } static const value_string nr_rrc_T_betaOffsets_vals[] = { { 0, "dynamic" }, { 1, "semiStatic" }, { 0, NULL } }; static const per_choice_t T_betaOffsets_choice[] = { { 0, &hf_nr_rrc_dynamic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets }, { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_betaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_betaOffsets, T_betaOffsets_choice, NULL); return offset; } static const value_string nr_rrc_T_scaling_vals[] = { { 0, "f0p5" }, { 1, "f0p65" }, { 2, "f0p8" }, { 3, "f1" }, { 0, NULL } }; static int dissect_nr_rrc_T_scaling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t UCI_OnPUSCH_sequence[] = { { &hf_nr_rrc_betaOffsets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_betaOffsets }, { &hf_nr_rrc_scaling , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scaling }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UCI_OnPUSCH, UCI_OnPUSCH_sequence); return offset; } static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_uci_OnPUSCH_01_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_uci_OnPUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_uci_OnPUSCH_01, T_uci_OnPUSCH_01_choice, NULL); return offset; } static const value_string nr_rrc_T_tp_pi2BPSK_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_tp_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUSCH_Config_sequence[] = { { &hf_nr_rrc_dataScramblingIdentityPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 }, { &hf_nr_rrc_txConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_txConfig }, { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA }, { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB }, { &hf_nr_rrc_pusch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_PowerControl }, { &hf_nr_rrc_frequencyHopping_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping_01 }, { &hf_nr_rrc_frequencyHoppingOffsetLists, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingOffsetLists }, { &hf_nr_rrc_resourceAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_02 }, { &hf_nr_rrc_pusch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TimeDomainAllocationList }, { &hf_nr_rrc_pusch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_AggregationFactor }, { &hf_nr_rrc_mcs_Table_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_02 }, { &hf_nr_rrc_mcs_TableTransformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder_01 }, { &hf_nr_rrc_transformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder_01 }, { &hf_nr_rrc_codebookSubset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codebookSubset }, { &hf_nr_rrc_maxRank , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_rbg_Size_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size_02 }, { &hf_nr_rrc_uci_OnPUSCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH_01 }, { &hf_nr_rrc_tp_pi2BPSK , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tp_pi2BPSK }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_Config, PUSCH_Config_sequence); return offset; } static const value_string nr_rrc_T_pusch_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pusch_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pusch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pusch_Config, T_pusch_Config_choice, NULL); return offset; } static const value_string nr_rrc_T_frequencyHopping_vals[] = { { 0, "intraSlot" }, { 1, "interSlot" }, { 0, NULL } }; static int dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mcs_Table_vals[] = { { 0, "qam256" }, { 1, "qam64LowSE" }, { 0, NULL } }; static int dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = { { 0, "qam256" }, { 1, "qam64LowSE" }, { 0, NULL } }; static int dissect_nr_rrc_T_mcs_TableTransformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of[1] = { { &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of, 1, 4, FALSE); return offset; } static const value_string nr_rrc_CG_UCI_OnPUSCH_vals[] = { { 0, "dynamic" }, { 1, "semiStatic" }, { 0, NULL } }; static const per_choice_t CG_UCI_OnPUSCH_choice[] = { { 0, &hf_nr_rrc_dynamic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets }, { 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_CG_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CG_UCI_OnPUSCH, CG_UCI_OnPUSCH_choice, NULL); return offset; } static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_uci_OnPUSCH_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_uci_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_uci_OnPUSCH, T_uci_OnPUSCH_choice, NULL); return offset; } static const value_string nr_rrc_T_resourceAllocation_vals[] = { { 0, "resourceAllocationType0" }, { 1, "resourceAllocationType1" }, { 2, "dynamicSwitch" }, { 0, NULL } }; static int dissect_nr_rrc_T_resourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_rbg_Size_vals[] = { { 0, "config2" }, { 0, NULL } }; static int dissect_nr_rrc_T_rbg_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_powerControlLoopToUse_vals[] = { { 0, "n0" }, { 1, "n1" }, { 0, NULL } }; static int dissect_nr_rrc_T_powerControlLoopToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_transformPrecoder_vals[] = { { 0, "enabled" }, { 1, "disabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_repK_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_repK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_repK_RV_vals[] = { { 0, "s1-0231" }, { 1, "s2-0303" }, { 2, "s3-0000" }, { 0, NULL } }; static int dissect_nr_rrc_T_repK_RV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_periodicity_vals[] = { { 0, "sym2" }, { 1, "sym7" }, { 2, "sym1x14" }, { 3, "sym2x14" }, { 4, "sym4x14" }, { 5, "sym5x14" }, { 6, "sym8x14" }, { 7, "sym10x14" }, { 8, "sym16x14" }, { 9, "sym20x14" }, { 10, "sym32x14" }, { 11, "sym40x14" }, { 12, "sym64x14" }, { 13, "sym80x14" }, { 14, "sym128x14" }, { 15, "sym160x14" }, { 16, "sym256x14" }, { 17, "sym320x14" }, { 18, "sym512x14" }, { 19, "sym640x14" }, { 20, "sym1024x14" }, { 21, "sym1280x14" }, { 22, "sym2560x14" }, { 23, "sym5120x14" }, { 24, "sym6" }, { 25, "sym1x12" }, { 26, "sym2x12" }, { 27, "sym4x12" }, { 28, "sym5x12" }, { 29, "sym8x12" }, { 30, "sym10x12" }, { 31, "sym16x12" }, { 32, "sym20x12" }, { 33, "sym32x12" }, { 34, "sym40x12" }, { 35, "sym64x12" }, { 36, "sym80x12" }, { 37, "sym128x12" }, { 38, "sym160x12" }, { 39, "sym256x12" }, { 40, "sym320x12" }, { 41, "sym512x12" }, { 42, "sym640x12" }, { 43, "sym1280x12" }, { 44, "sym2560x12" }, { 0, NULL } }; static value_string_ext nr_rrc_T_periodicity_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_vals); static int dissect_nr_rrc_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 45, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 18, 18, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE); return offset; } static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = { { &hf_nr_rrc_timeDomainOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5119 }, { &hf_nr_rrc_timeDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_frequencyDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_18 }, { &hf_nr_rrc_antennaPort , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_dmrs_SeqInitialization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 }, { &hf_nr_rrc_precodingAndNumberOfLayers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, { &hf_nr_rrc_srs_ResourceIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 }, { &hf_nr_rrc_mcsAndTBS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_frequencyHoppingOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 }, { &hf_nr_rrc_pathlossReferenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_rrc_ConfiguredUplinkGrant, T_rrc_ConfiguredUplinkGrant_sequence); return offset; } static const per_sequence_t ConfiguredGrantConfig_sequence[] = { { &hf_nr_rrc_frequencyHopping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping }, { &hf_nr_rrc_cg_DMRS_Configuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_UplinkConfig }, { &hf_nr_rrc_mcs_Table , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table }, { &hf_nr_rrc_mcs_TableTransformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder }, { &hf_nr_rrc_uci_OnPUSCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH }, { &hf_nr_rrc_resourceAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation }, { &hf_nr_rrc_rbg_Size , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size }, { &hf_nr_rrc_powerControlLoopToUse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerControlLoopToUse }, { &hf_nr_rrc_p0_PUSCH_Alpha, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId }, { &hf_nr_rrc_transformPrecoder, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder }, { &hf_nr_rrc_nrofHARQ_Processes, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { &hf_nr_rrc_repK , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repK }, { &hf_nr_rrc_repK_RV , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_repK_RV }, { &hf_nr_rrc_periodicity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity }, { &hf_nr_rrc_configuredGrantTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_rrc_ConfiguredUplinkGrant, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ConfiguredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ConfiguredGrantConfig, ConfiguredGrantConfig_sequence); return offset; } static const value_string nr_rrc_T_configuredGrantConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_configuredGrantConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_configuredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_configuredGrantConfig, T_configuredGrantConfig_choice, NULL); return offset; } static int dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSRS_ResourceSets_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_srs_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of, 1, maxNrofSRS_ResourceSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of[1] = { { &hf_nr_rrc_srs_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of, 1, maxNrofSRS_ResourcesPerSet, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofSRS_TriggerStates_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 32U, NULL, FALSE); return offset; } static const per_sequence_t T_aperiodicSRS_ResourceTriggerList_sequence_of[1] = { { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 }, }; static int dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList, T_aperiodicSRS_ResourceTriggerList_sequence_of, 1, maxNrofSRS_TriggerStates_2, FALSE); return offset; } static const per_sequence_t T_eag_1_01_sequence[] = { { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicSRS_ResourceTriggerList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eag_1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, T_eag_1_01_sequence); return offset; } static const per_sequence_t T_aperiodic_01_sequence[] = { { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 }, { &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { &hf_nr_rrc_slotOffset , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eag_1_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_aperiodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_aperiodic_01, T_aperiodic_01_sequence); return offset; } static const per_sequence_t T_semi_persistent_sequence[] = { { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_semi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_semi_persistent, T_semi_persistent_sequence); return offset; } static const per_sequence_t T_periodic_01_sequence[] = { { &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_periodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_periodic_01, T_periodic_01_sequence); return offset; } static const value_string nr_rrc_T_resourceType_01_vals[] = { { 0, "aperiodic" }, { 1, "semi-persistent" }, { 2, "periodic" }, { 0, NULL } }; static const per_choice_t T_resourceType_01_choice[] = { { 0, &hf_nr_rrc_aperiodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_01 }, { 1, &hf_nr_rrc_semi_persistent, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent }, { 2, &hf_nr_rrc_periodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_01 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_resourceType_01, T_resourceType_01_choice, NULL); return offset; } static const value_string nr_rrc_T_usage_vals[] = { { 0, "beamManagement" }, { 1, "codebook" }, { 2, "nonCodebook" }, { 3, "antennaSwitching" }, { 0, NULL } }; static int dissect_nr_rrc_T_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pathlossReferenceRS_vals[] = { { 0, "ssb-Index" }, { 1, "csi-RS-Index" }, { 0, NULL } }; static const per_choice_t T_pathlossReferenceRS_choice[] = { { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pathlossReferenceRS, T_pathlossReferenceRS_choice, NULL); return offset; } static const value_string nr_rrc_T_srs_PowerControlAdjustmentStates_vals[] = { { 0, "sameAsFci2" }, { 1, "separateClosedLoop" }, { 0, NULL } }; static int dissect_nr_rrc_T_srs_PowerControlAdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SRS_ResourceSet_sequence[] = { { &hf_nr_rrc_srs_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId }, { &hf_nr_rrc_srs_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId }, { &hf_nr_rrc_resourceType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_01 }, { &hf_nr_rrc_usage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_usage }, { &hf_nr_rrc_alpha , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Alpha }, { &hf_nr_rrc_p0_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 }, { &hf_nr_rrc_pathlossReferenceRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRS }, { &hf_nr_rrc_srs_PowerControlAdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_PowerControlAdjustmentStates }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_ResourceSet, SRS_ResourceSet_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = { { &hf_nr_rrc_srs_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of, 1, maxNrofSRS_ResourceSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of[1] = { { &hf_nr_rrc_srs_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of, 1, maxNrofSRS_Resources, FALSE); return offset; } static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = { { 0, "port1" }, { 1, "ports2" }, { 2, "ports4" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ptrs_PortIndex_vals[] = { { 0, "n0" }, { 1, "n1" }, { 0, NULL } }; static int dissect_nr_rrc_T_ptrs_PortIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_n2_sequence[] = { { &hf_nr_rrc_combOffset_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 }, { &hf_nr_rrc_cyclicShift_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_n2, T_n2_sequence); return offset; } static const per_sequence_t T_n4_sequence[] = { { &hf_nr_rrc_combOffset_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, { &hf_nr_rrc_cyclicShift_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_n4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_n4, T_n4_sequence); return offset; } static const value_string nr_rrc_T_transmissionComb_vals[] = { { 0, "n2" }, { 1, "n4" }, { 0, NULL } }; static const per_choice_t T_transmissionComb_choice[] = { { 0, &hf_nr_rrc_n2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n2 }, { 1, &hf_nr_rrc_n4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n4 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_transmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_transmissionComb, T_transmissionComb_choice, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 5U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_nrofSymbols_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_repetitionFactor_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_resourceMapping_sequence[] = { { &hf_nr_rrc_startPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 }, { &hf_nr_rrc_nrofSymbols_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols }, { &hf_nr_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_resourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_resourceMapping, T_resourceMapping_sequence); return offset; } static int dissect_nr_rrc_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 67U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 268U, NULL, FALSE); return offset; } static const per_sequence_t T_freqHopping_sequence[] = { { &hf_nr_rrc_c_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, { &hf_nr_rrc_b_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, { &hf_nr_rrc_b_hop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_freqHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_freqHopping, T_freqHopping_sequence); return offset; } static const value_string nr_rrc_T_groupOrSequenceHopping_vals[] = { { 0, "neither" }, { 1, "groupHopping" }, { 2, "sequenceHopping" }, { 0, NULL } }; static int dissect_nr_rrc_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_aperiodic_02_sequence[] = { { NULL, ASN1_EXTENSION_ROOT, 0, NULL } }; static int dissect_nr_rrc_T_aperiodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_aperiodic_02, T_aperiodic_02_sequence); return offset; } static const value_string nr_rrc_SRS_PeriodicityAndOffset_vals[] = { { 0, "sl1" }, { 1, "sl2" }, { 2, "sl4" }, { 3, "sl5" }, { 4, "sl8" }, { 5, "sl10" }, { 6, "sl16" }, { 7, "sl20" }, { 8, "sl32" }, { 9, "sl40" }, { 10, "sl64" }, { 11, "sl80" }, { 12, "sl160" }, { 13, "sl320" }, { 14, "sl640" }, { 15, "sl1280" }, { 16, "sl2560" }, { 0, NULL } }; static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_vals); static const per_choice_t SRS_PeriodicityAndOffset_choice[] = { { 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 }, { 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 }, { 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, { 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 }, { 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, { 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 8, &hf_nr_rrc_sl32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 }, { 9, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 10, &hf_nr_rrc_sl64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 }, { 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 }, { 15, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 }, { 16, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_SRS_PeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_PeriodicityAndOffset, SRS_PeriodicityAndOffset_choice, NULL); return offset; } static const per_sequence_t T_semi_persistent_01_sequence[] = { { &hf_nr_rrc_periodicityAndOffset_sp, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_semi_persistent_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_semi_persistent_01, T_semi_persistent_01_sequence); return offset; } static const per_sequence_t T_periodic_02_sequence[] = { { &hf_nr_rrc_periodicityAndOffset_p, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_periodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_periodic_02, T_periodic_02_sequence); return offset; } static const value_string nr_rrc_T_resourceType_02_vals[] = { { 0, "aperiodic" }, { 1, "semi-persistent" }, { 2, "periodic" }, { 0, NULL } }; static const per_choice_t T_resourceType_02_choice[] = { { 0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_02 }, { 1, &hf_nr_rrc_semi_persistent_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_01 }, { 2, &hf_nr_rrc_periodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_02 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_resourceType_02, T_resourceType_02_choice, NULL); return offset; } static const per_sequence_t T_srs_01_sequence[] = { { &hf_nr_rrc_resourceId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId }, { &hf_nr_rrc_uplinkBWP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_srs_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_srs_01, T_srs_01_sequence); return offset; } static const value_string nr_rrc_T_referenceSignal_03_vals[] = { { 0, "ssb-Index" }, { 1, "csi-RS-Index" }, { 2, "srs" }, { 0, NULL } }; static const per_choice_t T_referenceSignal_03_choice[] = { { 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index }, { 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { 2, &hf_nr_rrc_srs_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs_01 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_referenceSignal_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_referenceSignal_03, T_referenceSignal_03_choice, NULL); return offset; } static const per_sequence_t SRS_SpatialRelationInfo_sequence[] = { { &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_referenceSignal_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_03 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_SpatialRelationInfo, SRS_SpatialRelationInfo_sequence); return offset; } static const per_sequence_t SRS_Resource_sequence[] = { { &hf_nr_rrc_srs_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId }, { &hf_nr_rrc_nrofSRS_Ports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSRS_Ports }, { &hf_nr_rrc_ptrs_PortIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_PortIndex }, { &hf_nr_rrc_transmissionComb, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb }, { &hf_nr_rrc_resourceMapping_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping }, { &hf_nr_rrc_freqDomainPosition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_67 }, { &hf_nr_rrc_freqDomainShift, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 }, { &hf_nr_rrc_freqHopping , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping }, { &hf_nr_rrc_groupOrSequenceHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping }, { &hf_nr_rrc_resourceType_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_02 }, { &hf_nr_rrc_sequenceId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 }, { &hf_nr_rrc_spatialRelationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_SpatialRelationInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_Resource, SRS_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of[1] = { { &hf_nr_rrc_srs_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of, 1, maxNrofSRS_Resources, FALSE); return offset; } static const value_string nr_rrc_T_tpc_Accumulation_01_vals[] = { { 0, "disabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_tpc_Accumulation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SRS_Config_sequence[] = { { &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId }, { &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet }, { &hf_nr_rrc_srs_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId }, { &hf_nr_rrc_srs_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource }, { &hf_nr_rrc_tpc_Accumulation_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_Config, SRS_Config_sequence); return offset; } static const value_string nr_rrc_T_srs_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_srs_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_srs_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_srs_Config, T_srs_Config_choice, NULL); return offset; } static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_beamFailureRecoveryConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_beamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_beamFailureRecoveryConfig, T_beamFailureRecoveryConfig_choice, NULL); return offset; } static const per_sequence_t BWP_UplinkDedicated_sequence[] = { { &hf_nr_rrc_pucch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Config }, { &hf_nr_rrc_pusch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_Config }, { &hf_nr_rrc_configuredGrantConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantConfig }, { &hf_nr_rrc_srs_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_Config }, { &hf_nr_rrc_beamFailureRecoveryConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BWP_UplinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BWP_UplinkDedicated, BWP_UplinkDedicated_sequence); return offset; } static const per_sequence_t BWP_Uplink_sequence[] = { { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_bwp_Common_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon }, { &hf_nr_rrc_bwp_Dedicated_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BWP_Uplink, BWP_Uplink_sequence); return offset; } static const value_string nr_rrc_T_servedRadioBearer_vals[] = { { 0, "srb-Identity" }, { 1, "drb-Identity" }, { 0, NULL } }; static const per_choice_t T_servedRadioBearer_choice[] = { { 0, &hf_nr_rrc_srb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRB_Identity }, { 1, &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRB_Identity }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_servedRadioBearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_servedRadioBearer, T_servedRadioBearer_choice, NULL); return offset; } static const value_string nr_rrc_T_reestablishRLC_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_reestablishRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_SN_FieldLengthAM_vals[] = { { 0, "size12" }, { 1, "size18" }, { 0, NULL } }; static int dissect_nr_rrc_SN_FieldLengthAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, FALSE, 0, NULL); nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; if (mapping->tempDirection == DIRECTION_UPLINK) { mapping->rlcUlSnLength_present = TRUE; mapping->rlcUlSnLength = (value=0) ? 12 : 18; } else { mapping->rlcDlSnLength_present = TRUE; mapping->rlcDlSnLength = (value=0) ? 12 : 18; } return offset; } static const value_string nr_rrc_T_PollRetransmit_vals[] = { { 0, "ms5" }, { 1, "ms10" }, { 2, "ms15" }, { 3, "ms20" }, { 4, "ms25" }, { 5, "ms30" }, { 6, "ms35" }, { 7, "ms40" }, { 8, "ms45" }, { 9, "ms50" }, { 10, "ms55" }, { 11, "ms60" }, { 12, "ms65" }, { 13, "ms70" }, { 14, "ms75" }, { 15, "ms80" }, { 16, "ms85" }, { 17, "ms90" }, { 18, "ms95" }, { 19, "ms100" }, { 20, "ms105" }, { 21, "ms110" }, { 22, "ms115" }, { 23, "ms120" }, { 24, "ms125" }, { 25, "ms130" }, { 26, "ms135" }, { 27, "ms140" }, { 28, "ms145" }, { 29, "ms150" }, { 30, "ms155" }, { 31, "ms160" }, { 32, "ms165" }, { 33, "ms170" }, { 34, "ms175" }, { 35, "ms180" }, { 36, "ms185" }, { 37, "ms190" }, { 38, "ms195" }, { 39, "ms200" }, { 40, "ms205" }, { 41, "ms210" }, { 42, "ms215" }, { 43, "ms220" }, { 44, "ms225" }, { 45, "ms230" }, { 46, "ms235" }, { 47, "ms240" }, { 48, "ms245" }, { 49, "ms250" }, { 50, "ms300" }, { 51, "ms350" }, { 52, "ms400" }, { 53, "ms450" }, { 54, "ms500" }, { 55, "ms800" }, { 56, "ms1000" }, { 57, "ms2000" }, { 58, "ms4000" }, { 59, "spare5" }, { 60, "spare4" }, { 61, "spare3" }, { 62, "spare2" }, { 63, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_PollRetransmit_vals); static int dissect_nr_rrc_T_PollRetransmit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 64, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_PollPDU_vals[] = { { 0, "p4" }, { 1, "p8" }, { 2, "p16" }, { 3, "p32" }, { 4, "p64" }, { 5, "p128" }, { 6, "p256" }, { 7, "p512" }, { 8, "p1024" }, { 9, "p2048" }, { 10, "p4096" }, { 11, "p6144" }, { 12, "p8192" }, { 13, "p12288" }, { 14, "p16384" }, { 15, "p20480" }, { 16, "p24576" }, { 17, "p28672" }, { 18, "p32768" }, { 19, "p40960" }, { 20, "p49152" }, { 21, "p57344" }, { 22, "p65536" }, { 23, "infinity" }, { 24, "spare8" }, { 25, "spare7" }, { 26, "spare6" }, { 27, "spare5" }, { 28, "spare4" }, { 29, "spare3" }, { 30, "spare2" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_PollPDU_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollPDU_vals); static int dissect_nr_rrc_PollPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_PollByte_vals[] = { { 0, "kB1" }, { 1, "kB2" }, { 2, "kB5" }, { 3, "kB8" }, { 4, "kB10" }, { 5, "kB15" }, { 6, "kB25" }, { 7, "kB50" }, { 8, "kB75" }, { 9, "kB100" }, { 10, "kB125" }, { 11, "kB250" }, { 12, "kB375" }, { 13, "kB500" }, { 14, "kB750" }, { 15, "kB1000" }, { 16, "kB1250" }, { 17, "kB1500" }, { 18, "kB2000" }, { 19, "kB3000" }, { 20, "kB4000" }, { 21, "kB4500" }, { 22, "kB5000" }, { 23, "kB5500" }, { 24, "kB6000" }, { 25, "kB6500" }, { 26, "kB7000" }, { 27, "kB7500" }, { 28, "mB8" }, { 29, "mB9" }, { 30, "mB10" }, { 31, "mB11" }, { 32, "mB12" }, { 33, "mB13" }, { 34, "mB14" }, { 35, "mB15" }, { 36, "mB16" }, { 37, "mB17" }, { 38, "mB18" }, { 39, "mB20" }, { 40, "mB25" }, { 41, "mB30" }, { 42, "mB40" }, { 43, "infinity" }, { 44, "spare20" }, { 45, "spare19" }, { 46, "spare18" }, { 47, "spare17" }, { 48, "spare16" }, { 49, "spare15" }, { 50, "spare14" }, { 51, "spare13" }, { 52, "spare12" }, { 53, "spare11" }, { 54, "spare10" }, { 55, "spare9" }, { 56, "spare8" }, { 57, "spare7" }, { 58, "spare6" }, { 59, "spare5" }, { 60, "spare4" }, { 61, "spare3" }, { 62, "spare2" }, { 63, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_PollByte_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollByte_vals); static int dissect_nr_rrc_PollByte(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 64, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxRetxThreshold_vals[] = { { 0, "t1" }, { 1, "t2" }, { 2, "t3" }, { 3, "t4" }, { 4, "t6" }, { 5, "t8" }, { 6, "t16" }, { 7, "t32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t UL_AM_RLC_sequence[] = { { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, { &hf_nr_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit }, { &hf_nr_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU }, { &hf_nr_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte }, { &hf_nr_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxRetxThreshold }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; mapping->tempDirection = DIRECTION_UPLINK; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_AM_RLC, UL_AM_RLC_sequence); return offset; } static const value_string nr_rrc_T_Reassembly_vals[] = { { 0, "ms0" }, { 1, "ms5" }, { 2, "ms10" }, { 3, "ms15" }, { 4, "ms20" }, { 5, "ms25" }, { 6, "ms30" }, { 7, "ms35" }, { 8, "ms40" }, { 9, "ms45" }, { 10, "ms50" }, { 11, "ms55" }, { 12, "ms60" }, { 13, "ms65" }, { 14, "ms70" }, { 15, "ms75" }, { 16, "ms80" }, { 17, "ms85" }, { 18, "ms90" }, { 19, "ms95" }, { 20, "ms100" }, { 21, "ms110" }, { 22, "ms120" }, { 23, "ms130" }, { 24, "ms140" }, { 25, "ms150" }, { 26, "ms160" }, { 27, "ms170" }, { 28, "ms180" }, { 29, "ms190" }, { 30, "ms200" }, { 31, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_Reassembly_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_Reassembly_vals); static int dissect_nr_rrc_T_Reassembly(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 32, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_StatusProhibit_vals[] = { { 0, "ms0" }, { 1, "ms5" }, { 2, "ms10" }, { 3, "ms15" }, { 4, "ms20" }, { 5, "ms25" }, { 6, "ms30" }, { 7, "ms35" }, { 8, "ms40" }, { 9, "ms45" }, { 10, "ms50" }, { 11, "ms55" }, { 12, "ms60" }, { 13, "ms65" }, { 14, "ms70" }, { 15, "ms75" }, { 16, "ms80" }, { 17, "ms85" }, { 18, "ms90" }, { 19, "ms95" }, { 20, "ms100" }, { 21, "ms105" }, { 22, "ms110" }, { 23, "ms115" }, { 24, "ms120" }, { 25, "ms125" }, { 26, "ms130" }, { 27, "ms135" }, { 28, "ms140" }, { 29, "ms145" }, { 30, "ms150" }, { 31, "ms155" }, { 32, "ms160" }, { 33, "ms165" }, { 34, "ms170" }, { 35, "ms175" }, { 36, "ms180" }, { 37, "ms185" }, { 38, "ms190" }, { 39, "ms195" }, { 40, "ms200" }, { 41, "ms205" }, { 42, "ms210" }, { 43, "ms215" }, { 44, "ms220" }, { 45, "ms225" }, { 46, "ms230" }, { 47, "ms235" }, { 48, "ms240" }, { 49, "ms245" }, { 50, "ms250" }, { 51, "ms300" }, { 52, "ms350" }, { 53, "ms400" }, { 54, "ms450" }, { 55, "ms500" }, { 56, "ms800" }, { 57, "ms1000" }, { 58, "ms1200" }, { 59, "ms1600" }, { 60, "ms2000" }, { 61, "ms2400" }, { 62, "spare2" }, { 63, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_StatusProhibit_vals); static int dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 64, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DL_AM_RLC_sequence[] = { { &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM }, { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly }, { &hf_nr_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_StatusProhibit }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; mapping->tempDirection = DIRECTION_DOWNLINK; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DL_AM_RLC, DL_AM_RLC_sequence); return offset; } static const per_sequence_t T_am_sequence[] = { { &hf_nr_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_AM_RLC }, { &hf_nr_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_am, T_am_sequence); return offset; } static const value_string nr_rrc_SN_FieldLengthUM_vals[] = { { 0, "size6" }, { 1, "size12" }, { 0, NULL } }; static int dissect_nr_rrc_SN_FieldLengthUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, FALSE, 0, NULL); nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; if (mapping->tempDirection == DIRECTION_UPLINK) { mapping->rlcUlSnLength_present = TRUE; mapping->rlcUlSnLength = (value=0) ? 6 : 12; } else { mapping->rlcDlSnLength_present = TRUE; mapping->rlcDlSnLength = (value=0) ? 6 : 12; } return offset; } static const per_sequence_t UL_UM_RLC_sequence[] = { { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; mapping->tempDirection = DIRECTION_UPLINK; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UL_UM_RLC, UL_UM_RLC_sequence); return offset; } static const per_sequence_t DL_UM_RLC_sequence[] = { { &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM }, { &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; mapping->tempDirection = DIRECTION_DOWNLINK; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DL_UM_RLC, DL_UM_RLC_sequence); return offset; } static const per_sequence_t T_um_Bi_Directional_sequence[] = { { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC }, { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence); return offset; } static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = { { &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence); return offset; } static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = { { &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence); return offset; } static const value_string nr_rrc_RLC_Config_vals[] = { { 0, "am" }, { 1, "um-Bi-Directional" }, { 2, "um-Uni-Directional-UL" }, { 3, "um-Uni-Directional-DL" }, { 0, NULL } }; static const per_choice_t RLC_Config_choice[] = { { 0, &hf_nr_rrc_am , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_am }, { 1, &hf_nr_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Bi_Directional }, { 2, &hf_nr_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_UL }, { 3, &hf_nr_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_DL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { guint32 value; nr_drb_mapping_t *mapping = &nr_rrc_get_private_data(actx)->drb_mapping; offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RLC_Config, RLC_Config_choice, &value); mapping->rlcMode = (value==0) ? RLC_AM_MODE : RLC_UM_MODE; mapping->rlcMode_present = TRUE; return offset; } static const value_string nr_rrc_T_prioritisedBitRate_vals[] = { { 0, "kBps0" }, { 1, "kBps8" }, { 2, "kBps16" }, { 3, "kBps32" }, { 4, "kBps64" }, { 5, "kBps128" }, { 6, "kBps256" }, { 7, "kBps512" }, { 8, "kBps1024" }, { 9, "kBps2048" }, { 10, "kBps4096" }, { 11, "kBps8192" }, { 12, "kBps16384" }, { 13, "kBps32768" }, { 14, "kBps65536" }, { 15, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bucketSizeDuration_vals[] = { { 0, "ms5" }, { 1, "ms10" }, { 2, "ms20" }, { 3, "ms50" }, { 4, "ms100" }, { 5, "ms150" }, { 6, "ms300" }, { 7, "ms500" }, { 8, "ms1000" }, { 9, "spare7" }, { 10, "spare6" }, { 11, "spare5" }, { 12, "spare4" }, { 13, "spare3" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of[1] = { { &hf_nr_rrc_allowedServingCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of, 1, maxNrofServingCells_1, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of[1] = { { &hf_nr_rrc_allowedSCS_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of, 1, maxSCSs, FALSE); return offset; } static const value_string nr_rrc_T_maxPUSCH_Duration_vals[] = { { 0, "ms0p02" }, { 1, "ms0p04" }, { 2, "ms0p0625" }, { 3, "ms0p125" }, { 4, "ms0p25" }, { 5, "ms0p5" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxPUSCH_Duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_configuredGrantType1Allowed_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_configuredGrantType1Allowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxLCG_ID, NULL, FALSE); return offset; } static const value_string nr_rrc_T_bitRateQueryProhibitTimer_vals[] = { { 0, "s0" }, { 1, "s0dot4" }, { 2, "s0dot8" }, { 3, "s1dot6" }, { 4, "s3" }, { 5, "s6" }, { 6, "s12" }, { 7, "s30" }, { 0, NULL } }; static int dissect_nr_rrc_T_bitRateQueryProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_ul_SpecificParameters_sequence[] = { { &hf_nr_rrc_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 }, { &hf_nr_rrc_prioritisedBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate }, { &hf_nr_rrc_bucketSizeDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration }, { &hf_nr_rrc_allowedServingCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex }, { &hf_nr_rrc_allowedSCS_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing }, { &hf_nr_rrc_maxPUSCH_Duration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxPUSCH_Duration }, { &hf_nr_rrc_configuredGrantType1Allowed, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantType1Allowed }, { &hf_nr_rrc_logicalChannelGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCG_ID }, { &hf_nr_rrc_schedulingRequestID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId }, { &hf_nr_rrc_logicalChannelSR_Mask, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_bitRateQueryProhibitTimer, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_nr_rrc_T_bitRateQueryProhibitTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence); return offset; } static const per_sequence_t LogicalChannelConfig_sequence[] = { { &hf_nr_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SpecificParameters }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence); return offset; } static const per_sequence_t RLC_BearerConfig_sequence[] = { { &hf_nr_rrc_logicalChannelIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity }, { &hf_nr_rrc_servedRadioBearer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_servedRadioBearer }, { &hf_nr_rrc_reestablishRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishRLC }, { &hf_nr_rrc_rlc_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Config }, { &hf_nr_rrc_mac_LogicalChannelConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RLC_BearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { struct mac_nr_info *p_mac_nr_info; /* Get the struct and clear it out */ nr_drb_mapping_t *drb_mapping = &nr_rrc_get_private_data(actx)->drb_mapping; memset(drb_mapping, 0, sizeof(nr_drb_mapping_t)); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RLC_BearerConfig, RLC_BearerConfig_sequence); /* Need UE identifier */ p_mac_nr_info = (mac_nr_info *)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_mac_nr, 0); if (p_mac_nr_info) { drb_mapping->ueid = p_mac_nr_info->ueid; /* Tell MAC about this mapping */ set_mac_nr_bearer_mapping(drb_mapping); } return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig_sequence_of[1] = { { &hf_nr_rrc_rlc_BearerToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_BearerConfig }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig, SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig_sequence_of, 1, maxLC_ID, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of[1] = { { &hf_nr_rrc_rlc_BearerToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity, SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of, 1, maxLC_ID, FALSE); return offset; } static const value_string nr_rrc_T_drx_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_drx_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_23 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_drx_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_drx_Config, T_drx_Config_choice, NULL); return offset; } static const value_string nr_rrc_T_sr_ProhibitTimer_vals[] = { { 0, "ms1" }, { 1, "ms2" }, { 2, "ms4" }, { 3, "ms8" }, { 4, "ms16" }, { 5, "ms32" }, { 6, "ms64" }, { 7, "ms128" }, { 0, NULL } }; static int dissect_nr_rrc_T_sr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sr_TransMax_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n16" }, { 3, "n32" }, { 4, "n64" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_sr_TransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SchedulingRequestToAddMod_sequence[] = { { &hf_nr_rrc_schedulingRequestId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId }, { &hf_nr_rrc_sr_ProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sr_ProhibitTimer }, { &hf_nr_rrc_sr_TransMax , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sr_TransMax }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SchedulingRequestToAddMod, SchedulingRequestToAddMod_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of[1] = { { &hf_nr_rrc_schedulingRequestToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestToAddMod }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of, 1, maxNrofSR_ConfigPerCellGroup, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of[1] = { { &hf_nr_rrc_schedulingRequestToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of, 1, maxNrofSR_ConfigPerCellGroup, FALSE); return offset; } static const per_sequence_t SchedulingRequestConfig_sequence[] = { { &hf_nr_rrc_schedulingRequestToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod }, { &hf_nr_rrc_schedulingRequestToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SchedulingRequestConfig, SchedulingRequestConfig_sequence); return offset; } static int dissect_nr_rrc_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofTAGs_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of[1] = { { &hf_nr_rrc_tag_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of, 1, maxNrofTAGs, FALSE); return offset; } static const per_sequence_t TAG_sequence[] = { { &hf_nr_rrc_tag_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id }, { &hf_nr_rrc_timeAlignmentTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_TAG, TAG_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_sequence_of[1] = { { &hf_nr_rrc_tag_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_sequence_of, 1, maxNrofTAGs, FALSE); return offset; } static const per_sequence_t TAG_Config_sequence[] = { { &hf_nr_rrc_tag_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id }, { &hf_nr_rrc_tag_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TAG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_TAG_Config, TAG_Config_sequence); return offset; } static const value_string nr_rrc_T_phr_PeriodicTimer_vals[] = { { 0, "sf10" }, { 1, "sf20" }, { 2, "sf50" }, { 3, "sf100" }, { 4, "sf200" }, { 5, "sf500" }, { 6, "sf1000" }, { 7, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_phr_PeriodicTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_phr_ProhibitTimer_vals[] = { { 0, "sf0" }, { 1, "sf10" }, { 2, "sf20" }, { 3, "sf50" }, { 4, "sf100" }, { 5, "sf200" }, { 6, "sf500" }, { 7, "sf1000" }, { 0, NULL } }; static int dissect_nr_rrc_T_phr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_phr_Tx_PowerFactorChange_vals[] = { { 0, "dB1" }, { 1, "dB3" }, { 2, "dB6" }, { 3, "infinity" }, { 0, NULL } }; static int dissect_nr_rrc_T_phr_Tx_PowerFactorChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_phr_ModeOtherCG_vals[] = { { 0, "real" }, { 1, "virtual" }, { 0, NULL } }; static int dissect_nr_rrc_T_phr_ModeOtherCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PHR_Config_sequence[] = { { &hf_nr_rrc_phr_PeriodicTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_PeriodicTimer }, { &hf_nr_rrc_phr_ProhibitTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ProhibitTimer }, { &hf_nr_rrc_phr_Tx_PowerFactorChange, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_Tx_PowerFactorChange }, { &hf_nr_rrc_multiplePHR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_dummy_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_phr_Type2OtherCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_phr_ModeOtherCG, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ModeOtherCG }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PHR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PHR_Config, PHR_Config_sequence); return offset; } static const value_string nr_rrc_T_phr_Config_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_phr_Config_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_24 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_phr_Config, T_phr_Config_choice, NULL); return offset; } static const value_string nr_rrc_DataInactivityTimer_vals[] = { { 0, "s1" }, { 1, "s2" }, { 2, "s3" }, { 3, "s5" }, { 4, "s7" }, { 5, "s10" }, { 6, "s15" }, { 7, "s20" }, { 8, "s40" }, { 9, "s50" }, { 10, "s60" }, { 11, "s80" }, { 12, "s100" }, { 13, "s120" }, { 14, "s150" }, { 15, "s180" }, { 0, NULL } }; static int dissect_nr_rrc_DataInactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dataInactivityTimer_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_dataInactivityTimer_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DataInactivityTimer }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_dataInactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dataInactivityTimer, T_dataInactivityTimer_choice, NULL); return offset; } static const per_sequence_t MAC_CellGroupConfig_eag_1_sequence[] = { { &hf_nr_rrc_csi_Mask , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_dataInactivityTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dataInactivityTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MAC_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_CellGroupConfig_eag_1_sequence); return offset; } static const per_sequence_t MAC_CellGroupConfig_sequence[] = { { &hf_nr_rrc_drx_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_Config }, { &hf_nr_rrc_schedulingRequestConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestConfig }, { &hf_nr_rrc_bsr_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BSR_Config }, { &hf_nr_rrc_tag_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TAG_Config }, { &hf_nr_rrc_phr_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phr_Config }, { &hf_nr_rrc_skipUplinkTxDynamic, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_CellGroupConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MAC_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MAC_CellGroupConfig, MAC_CellGroupConfig_sequence); return offset; } static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals[] = { { 0, "semiStatic" }, { 1, "dynamic" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_cs_RNTI_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_cs_RNTI_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RNTI_Value }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_cs_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cs_RNTI, T_cs_RNTI_choice, NULL); return offset; } static const per_sequence_t PhysicalCellGroupConfig_eag_1_sequence[] = { { &hf_nr_rrc_mcs_C_RNTI , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_p_UE_FR1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PhysicalCellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_1_sequence); return offset; } static const value_string nr_rrc_T_xScale_vals[] = { { 0, "dB0" }, { 1, "dB6" }, { 2, "spare2" }, { 3, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_xScale(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PhysicalCellGroupConfig_eag_2_sequence[] = { { &hf_nr_rrc_xScale , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_xScale }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PhysicalCellGroupConfig_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_2_sequence); return offset; } static int dissect_nr_rrc_PDCCH_BlindDetection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 15U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_pdcch_BlindDetection_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdcch_BlindDetection_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_BlindDetection }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdcch_BlindDetection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdcch_BlindDetection, T_pdcch_BlindDetection_choice, NULL); return offset; } static const per_sequence_t PhysicalCellGroupConfig_eag_3_sequence[] = { { &hf_nr_rrc_pdcch_BlindDetection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetection }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PhysicalCellGroupConfig_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PhysicalCellGroupConfig_eag_3_sequence); return offset; } static const per_sequence_t PhysicalCellGroupConfig_sequence[] = { { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH }, { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH }, { &hf_nr_rrc_p_NR_FR1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook }, { &hf_nr_rrc_tpc_SRS_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_tpc_PUCCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_tpc_PUSCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_sp_CSI_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_cs_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cs_RNTI }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysicalCellGroupConfig_eag_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PhysicalCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PhysicalCellGroupConfig, PhysicalCellGroupConfig_sequence); return offset; } static const per_sequence_t FrequencyInfoDL_sequence[] = { { &hf_nr_rrc_absoluteFrequencySSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR }, { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FrequencyInfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FrequencyInfoDL, FrequencyInfoDL_sequence); return offset; } static const per_sequence_t DownlinkConfigCommon_sequence[] = { { &hf_nr_rrc_frequencyInfoDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoDL }, { &hf_nr_rrc_initialDownlinkBWP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DownlinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DownlinkConfigCommon, DownlinkConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_frequencyShift7p5khz_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t FrequencyInfoUL_sequence[] = { { &hf_nr_rrc_frequencyBandList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR }, { &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, { &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, { &hf_nr_rrc_additionalSpectrumEmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_AdditionalSpectrumEmission }, { &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max }, { &hf_nr_rrc_frequencyShift7p5khz, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FrequencyInfoUL, FrequencyInfoUL_sequence); return offset; } static const per_sequence_t UplinkConfigCommon_sequence[] = { { &hf_nr_rrc_frequencyInfoUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoUL }, { &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon }, { &hf_nr_rrc_dummy_05 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UplinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UplinkConfigCommon, UplinkConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_n_TimingAdvanceOffset_vals[] = { { 0, "n0" }, { 1, "n25600" }, { 2, "n39936" }, { 0, NULL } }; static int dissect_nr_rrc_T_n_TimingAdvanceOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ssb_PositionsInBurst_vals[] = { { 0, "shortBitmap" }, { 1, "mediumBitmap" }, { 2, "longBitmap" }, { 0, NULL } }; static const per_choice_t T_ssb_PositionsInBurst_choice[] = { { 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 }, { 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_ssb_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ssb_PositionsInBurst, T_ssb_PositionsInBurst_choice, NULL); return offset; } static const value_string nr_rrc_T_ssb_periodicityServingCell_vals[] = { { 0, "ms5" }, { 1, "ms10" }, { 2, "ms20" }, { 3, "ms40" }, { 4, "ms80" }, { 5, "ms160" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_ssb_periodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dmrs_TypeA_Position_01_vals[] = { { 0, "pos2" }, { 1, "pos3" }, { 0, NULL } }; static int dissect_nr_rrc_T_dmrs_TypeA_Position_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 16383U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_carrierBandwidthDL_vals[] = { { 0, "n6" }, { 1, "n15" }, { 2, "n25" }, { 3, "n50" }, { 4, "n75" }, { 5, "n100" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_carrierBandwidthDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_radioframeAllocationPeriod_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 0, NULL } }; static int dissect_nr_rrc_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_subframeAllocation1_vals[] = { { 0, "oneFrame" }, { 1, "fourFrames" }, { 0, NULL } }; static const per_choice_t T_subframeAllocation1_choice[] = { { 0, &hf_nr_rrc_oneFrame , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 }, { 1, &hf_nr_rrc_fourFrames , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_24 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_subframeAllocation1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_subframeAllocation1, T_subframeAllocation1_choice, NULL); return offset; } static const value_string nr_rrc_T_subframeAllocation2_vals[] = { { 0, "oneFrame" }, { 1, "fourFrames" }, { 0, NULL } }; static const per_choice_t T_subframeAllocation2_choice[] = { { 0, &hf_nr_rrc_oneFrame_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 }, { 1, &hf_nr_rrc_fourFrames_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_subframeAllocation2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_subframeAllocation2, T_subframeAllocation2_choice, NULL); return offset; } static const per_sequence_t EUTRA_MBSFN_SubframeConfig_sequence[] = { { &hf_nr_rrc_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_radioframeAllocationPeriod }, { &hf_nr_rrc_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 }, { &hf_nr_rrc_subframeAllocation1, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subframeAllocation1 }, { &hf_nr_rrc_subframeAllocation2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_subframeAllocation2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_MBSFN_SubframeConfig, EUTRA_MBSFN_SubframeConfig_sequence); return offset; } static const per_sequence_t EUTRA_MBSFN_SubframeConfigList_sequence_of[1] = { { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig }, }; static int dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList, EUTRA_MBSFN_SubframeConfigList_sequence_of, 1, maxMBSFN_Allocations, FALSE); return offset; } static const value_string nr_rrc_T_nrofCRS_Ports_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofCRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_v_Shift_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n2" }, { 3, "n3" }, { 4, "n4" }, { 5, "n5" }, { 0, NULL } }; static int dissect_nr_rrc_T_v_Shift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RateMatchPatternLTE_CRS_sequence[] = { { &hf_nr_rrc_carrierFreqDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_16383 }, { &hf_nr_rrc_carrierBandwidthDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_carrierBandwidthDL }, { &hf_nr_rrc_mbsfn_SubframeConfigList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList }, { &hf_nr_rrc_nrofCRS_Ports, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCRS_Ports }, { &hf_nr_rrc_v_Shift , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_v_Shift }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RateMatchPatternLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RateMatchPatternLTE_CRS, RateMatchPatternLTE_CRS_sequence); return offset; } static const value_string nr_rrc_T_lte_CRS_ToMatchAround_01_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_lte_CRS_ToMatchAround_01_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_48 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_lte_CRS_ToMatchAround_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_lte_CRS_ToMatchAround_01, T_lte_CRS_ToMatchAround_01_choice, NULL); return offset; } static const per_sequence_t ServingCellConfigCommon_sequence[] = { { &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId }, { &hf_nr_rrc_downlinkConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DownlinkConfigCommon }, { &hf_nr_rrc_uplinkConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon }, { &hf_nr_rrc_supplementaryUplinkConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon }, { &hf_nr_rrc_n_TimingAdvanceOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_n_TimingAdvanceOffset }, { &hf_nr_rrc_ssb_PositionsInBurst, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_PositionsInBurst }, { &hf_nr_rrc_ssb_periodicityServingCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_periodicityServingCell }, { &hf_nr_rrc_dmrs_TypeA_Position_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position_01 }, { &hf_nr_rrc_lte_CRS_ToMatchAround_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_ToMatchAround_01 }, { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern }, { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId }, { &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon }, { &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ServingCellConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ServingCellConfigCommon, ServingCellConfigCommon_sequence); return offset; } static const value_string nr_rrc_T_t304_vals[] = { { 0, "ms50" }, { 1, "ms100" }, { 2, "ms150" }, { 3, "ms200" }, { 4, "ms500" }, { 5, "ms1000" }, { 6, "ms2000" }, { 7, "ms10000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ssb_perRACH_Occasion_01_vals[] = { { 0, "oneEighth" }, { 1, "oneFourth" }, { 2, "oneHalf" }, { 3, "one" }, { 4, "two" }, { 5, "four" }, { 6, "eight" }, { 7, "sixteen" }, { 0, NULL } }; static int dissect_nr_rrc_T_ssb_perRACH_Occasion_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_occasions_sequence[] = { { &hf_nr_rrc_rach_ConfigGeneric, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric }, { &hf_nr_rrc_ssb_perRACH_Occasion_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_perRACH_Occasion_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_occasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_occasions, T_occasions_sequence); return offset; } static const per_sequence_t CFRA_SSB_Resource_sequence[] = { { &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CFRA_SSB_Resource, CFRA_SSB_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of[1] = { { &hf_nr_rrc_ssb_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_SSB_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource, SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of, 1, maxRA_SSB_Resources, FALSE); return offset; } static const per_sequence_t T_ssb_sequence[] = { { &hf_nr_rrc_ssb_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource }, { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_ssb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ssb, T_ssb_sequence); return offset; } static const per_sequence_t T_ra_OccasionList_01_sequence_of[1] = { { &hf_nr_rrc_ra_OccasionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1 }, }; static int dissect_nr_rrc_T_ra_OccasionList_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ra_OccasionList_01, T_ra_OccasionList_01_sequence_of, 1, maxRA_OccasionsPerCSIRS, FALSE); return offset; } static const per_sequence_t CFRA_CSIRS_Resource_sequence[] = { { &hf_nr_rrc_csi_RS_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index }, { &hf_nr_rrc_ra_OccasionList_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_OccasionList_01 }, { &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CFRA_CSIRS_Resource, CFRA_CSIRS_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of[1] = { { &hf_nr_rrc_csirs_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_CSIRS_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource, SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of, 1, maxRA_CSIRS_Resources, FALSE); return offset; } static const per_sequence_t T_csirs_sequence[] = { { &hf_nr_rrc_csirs_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource }, { &hf_nr_rrc_rsrp_ThresholdCSI_RS, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_csirs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csirs, T_csirs_sequence); return offset; } static const value_string nr_rrc_T_resources_vals[] = { { 0, "ssb" }, { 1, "csirs" }, { 0, NULL } }; static const per_choice_t T_resources_choice[] = { { 0, &hf_nr_rrc_ssb_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_ssb }, { 1, &hf_nr_rrc_csirs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_csirs }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_resources, T_resources_choice, NULL); return offset; } static const per_sequence_t CFRA_eag_1_sequence[] = { { &hf_nr_rrc_totalNumberOfRA_Preambles, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_63 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CFRA_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CFRA_eag_1_sequence); return offset; } static const per_sequence_t CFRA_sequence[] = { { &hf_nr_rrc_occasions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_occasions }, { &hf_nr_rrc_resources , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resources }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CFRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CFRA, CFRA_sequence); return offset; } static const per_sequence_t RACH_ConfigDedicated_sequence[] = { { &hf_nr_rrc_cfra , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CFRA }, { &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RACH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RACH_ConfigDedicated, RACH_ConfigDedicated_sequence); return offset; } static const value_string nr_rrc_T_rach_ConfigDedicated_vals[] = { { 0, "uplink" }, { 1, "supplementaryUplink" }, { 0, NULL } }; static const per_choice_t T_rach_ConfigDedicated_choice[] = { { 0, &hf_nr_rrc_uplink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated }, { 1, &hf_nr_rrc_supplementaryUplink, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_rach_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_rach_ConfigDedicated, T_rach_ConfigDedicated_choice, NULL); return offset; } static const per_sequence_t ReconfigurationWithSync_eag_1_sequence[] = { { &hf_nr_rrc_smtc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReconfigurationWithSync_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ReconfigurationWithSync_eag_1_sequence); return offset; } static const per_sequence_t ReconfigurationWithSync_sequence[] = { { &hf_nr_rrc_spCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon }, { &hf_nr_rrc_newUE_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_t304 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t304 }, { &hf_nr_rrc_rach_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigDedicated }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReconfigurationWithSync_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ReconfigurationWithSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ReconfigurationWithSync, ReconfigurationWithSync_sequence); return offset; } static const value_string nr_rrc_T_t310_vals[] = { { 0, "ms0" }, { 1, "ms50" }, { 2, "ms100" }, { 3, "ms200" }, { 4, "ms500" }, { 5, "ms1000" }, { 6, "ms2000" }, { 7, "ms4000" }, { 8, "ms6000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 9, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_n310_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n6" }, { 5, "n8" }, { 6, "n10" }, { 7, "n20" }, { 0, NULL } }; static int dissect_nr_rrc_T_n310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_n311_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 4, "n5" }, { 5, "n6" }, { 6, "n8" }, { 7, "n10" }, { 0, NULL } }; static int dissect_nr_rrc_T_n311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_t311_vals[] = { { 0, "ms1000" }, { 1, "ms3000" }, { 2, "ms5000" }, { 3, "ms10000" }, { 4, "ms15000" }, { 5, "ms20000" }, { 6, "ms30000" }, { 0, NULL } }; static int dissect_nr_rrc_T_t311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RLF_TimersAndConstants_eag_1_sequence[] = { { &hf_nr_rrc_t311 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t311 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RLF_TimersAndConstants_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RLF_TimersAndConstants_eag_1_sequence); return offset; } static const per_sequence_t RLF_TimersAndConstants_sequence[] = { { &hf_nr_rrc_t310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310 }, { &hf_nr_rrc_n310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310 }, { &hf_nr_rrc_n311 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLF_TimersAndConstants_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RLF_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RLF_TimersAndConstants, RLF_TimersAndConstants_sequence); return offset; } static const value_string nr_rrc_T_rlf_TimersAndConstants_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_rlf_TimersAndConstants_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_rlf_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_rlf_TimersAndConstants, T_rlf_TimersAndConstants_choice, NULL); return offset; } static const value_string nr_rrc_T_rlmInSyncOutOfSyncThreshold_vals[] = { { 0, "n1" }, { 0, NULL } }; static int dissect_nr_rrc_T_rlmInSyncOutOfSyncThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSlots_1, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofSymbols_1, NULL, FALSE); return offset; } static const per_sequence_t T_explicit_sequence[] = { { &hf_nr_rrc_nrofDownlinkSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 }, { &hf_nr_rrc_nrofUplinkSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_explicit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_explicit, T_explicit_sequence); return offset; } static const value_string nr_rrc_T_symbols_vals[] = { { 0, "allDownlink" }, { 1, "allUplink" }, { 2, "explicit" }, { 0, NULL } }; static const per_choice_t T_symbols_choice[] = { { 0, &hf_nr_rrc_allDownlink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_allUplink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_explicit , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_explicit }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_symbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_symbols, T_symbols_choice, NULL); return offset; } static const per_sequence_t TDD_UL_DL_SlotConfig_sequence[] = { { &hf_nr_rrc_slotIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex }, { &hf_nr_rrc_symbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_TDD_UL_DL_SlotConfig, TDD_UL_DL_SlotConfig_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of[1] = { { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotConfig }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of, 1, maxNrofSlots, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of[1] = { { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of, 1, maxNrofSlots, FALSE); return offset; } static const per_sequence_t TDD_UL_DL_ConfigDedicated_sequence[] = { { &hf_nr_rrc_slotSpecificConfigurationsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig }, { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_TDD_UL_DL_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_TDD_UL_DL_ConfigDedicated, TDD_UL_DL_ConfigDedicated_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of[1] = { { &hf_nr_rrc_downlinkBWP_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of, 1, maxNrofBWPs, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of[1] = { { &hf_nr_rrc_downlinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Downlink }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of, 1, maxNrofBWPs, FALSE); return offset; } static const value_string nr_rrc_T_bwp_InactivityTimer_vals[] = { { 0, "ms2" }, { 1, "ms3" }, { 2, "ms4" }, { 3, "ms5" }, { 4, "ms6" }, { 5, "ms8" }, { 6, "ms10" }, { 7, "ms20" }, { 8, "ms30" }, { 9, "ms40" }, { 10, "ms50" }, { 11, "ms60" }, { 12, "ms80" }, { 13, "ms100" }, { 14, "ms200" }, { 15, "ms300" }, { 16, "ms500" }, { 17, "ms750" }, { 18, "ms1280" }, { 19, "ms1920" }, { 20, "ms2560" }, { 21, "spare10" }, { 22, "spare9" }, { 23, "spare8" }, { 24, "spare7" }, { 25, "spare6" }, { 26, "spare5" }, { 27, "spare4" }, { 28, "spare3" }, { 29, "spare2" }, { 30, "spare1" }, { 0, NULL } }; static value_string_ext nr_rrc_T_bwp_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_bwp_InactivityTimer_vals); static int dissect_nr_rrc_T_bwp_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 31, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of[1] = { { &hf_nr_rrc_uplinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Uplink }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of, 1, maxNrofBWPs, FALSE); return offset; } static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n6" }, { 3, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUSCH_CodeBlockGroupTransmission_sequence[] = { { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_CodeBlockGroupTransmission, PUSCH_CodeBlockGroupTransmission_sequence); return offset; } static const value_string nr_rrc_T_codeBlockGroupTransmission_01_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_codeBlockGroupTransmission_01_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_44 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_codeBlockGroupTransmission_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_codeBlockGroupTransmission_01, T_codeBlockGroupTransmission_01_choice, NULL); return offset; } static const value_string nr_rrc_T_rateMatching_vals[] = { { 0, "limitedBufferRM" }, { 0, NULL } }; static int dissect_nr_rrc_T_rateMatching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_xOverhead_01_vals[] = { { 0, "xoh6" }, { 1, "xoh12" }, { 2, "xoh18" }, { 0, NULL } }; static int dissect_nr_rrc_T_xOverhead_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PUSCH_ServingCellConfig_eag_1_sequence[] = { { &hf_nr_rrc_maxMIMO_Layers_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_processingType2Enabled, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PUSCH_ServingCellConfig_eag_1_sequence); return offset; } static const per_sequence_t PUSCH_ServingCellConfig_sequence[] = { { &hf_nr_rrc_codeBlockGroupTransmission_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission_01 }, { &hf_nr_rrc_rateMatching , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatching }, { &hf_nr_rrc_xOverhead_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead_01 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_ServingCellConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUSCH_ServingCellConfig, PUSCH_ServingCellConfig_sequence); return offset; } static const value_string nr_rrc_T_pusch_ServingCellConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pusch_ServingCellConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_49 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pusch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pusch_ServingCellConfig, T_pusch_ServingCellConfig_choice, NULL); return offset; } static const value_string nr_rrc_T_srs_SwitchFromCarrier_vals[] = { { 0, "sUL" }, { 1, "nUL" }, { 0, NULL } }; static int dissect_nr_rrc_T_srs_SwitchFromCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SRS_CC_SetIndex_sequence[] = { { &hf_nr_rrc_cc_SetIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 }, { &hf_nr_rrc_cc_IndexInOneCC_Set, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_CC_SetIndex, SRS_CC_SetIndex_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of[1] = { { &hf_nr_rrc_srs_CC_SetIndexlist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_CC_SetIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex, SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of, 1, 4, FALSE); return offset; } static const per_sequence_t SRS_TPC_PDCCH_Config_sequence[] = { { &hf_nr_rrc_srs_CC_SetIndexlist, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_TPC_PDCCH_Config, SRS_TPC_PDCCH_Config_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of[1] = { { &hf_nr_rrc_typeA_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_TPC_PDCCH_Config }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config, SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of, 1, 32, FALSE); return offset; } static const value_string nr_rrc_T_srs_TPC_PDCCH_Group_vals[] = { { 0, "typeA" }, { 1, "typeB" }, { 0, NULL } }; static const per_choice_t T_srs_TPC_PDCCH_Group_choice[] = { { 0, &hf_nr_rrc_typeA , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config }, { 1, &hf_nr_rrc_typeB , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_PDCCH_Config }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_srs_TPC_PDCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_srs_TPC_PDCCH_Group, T_srs_TPC_PDCCH_Group_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of[1] = { { &hf_nr_rrc_monitoringCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const per_sequence_t SRS_CarrierSwitching_sequence[] = { { &hf_nr_rrc_srs_SwitchFromServCellIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 }, { &hf_nr_rrc_srs_SwitchFromCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_srs_SwitchFromCarrier }, { &hf_nr_rrc_srs_TPC_PDCCH_Group, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_TPC_PDCCH_Group }, { &hf_nr_rrc_monitoringCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_CarrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_CarrierSwitching, SRS_CarrierSwitching_sequence); return offset; } static const value_string nr_rrc_T_carrierSwitching_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_carrierSwitching_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_50 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_CarrierSwitching }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_carrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_carrierSwitching, T_carrierSwitching_choice, NULL); return offset; } static const per_sequence_t UplinkConfig_eag_1_sequence[] = { { &hf_nr_rrc_powerBoostPi2BPSK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_uplinkChannelBW_PerSCS_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UplinkConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, UplinkConfig_eag_1_sequence); return offset; } static const per_sequence_t UplinkConfig_sequence[] = { { &hf_nr_rrc_initialUplinkBWP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated }, { &hf_nr_rrc_uplinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id }, { &hf_nr_rrc_uplinkBWP_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink }, { &hf_nr_rrc_firstActiveUplinkBWP_Id, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_pusch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ServingCellConfig }, { &hf_nr_rrc_carrierSwitching, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_carrierSwitching }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_UplinkConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UplinkConfig, UplinkConfig_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxSFI_DCI_PayloadSize, NULL, FALSE); return offset; } static int dissect_nr_rrc_SlotFormatCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofSlotFormatCombinationsPerSet_1, NULL, FALSE); return offset; } static const per_sequence_t T_slotFormats_sequence_of[1] = { { &hf_nr_rrc_slotFormats_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 }, }; static int dissect_nr_rrc_T_slotFormats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_slotFormats, T_slotFormats_sequence_of, 1, maxNrofSlotFormatsPerCombination, FALSE); return offset; } static const per_sequence_t SlotFormatCombination_sequence[] = { { &hf_nr_rrc_slotFormatCombinationId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationId }, { &hf_nr_rrc_slotFormats , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotFormats }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SlotFormatCombination, SlotFormatCombination_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of[1] = { { &hf_nr_rrc_slotFormatCombinations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombination }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination, SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of, 1, maxNrofSlotFormatCombinationsPerSet, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxSFI_DCI_PayloadSize_1, NULL, FALSE); return offset; } static const per_sequence_t SlotFormatCombinationsPerCell_sequence[] = { { &hf_nr_rrc_servingCellId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_subcarrierSpacing2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_slotFormatCombinations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination }, { &hf_nr_rrc_positionInDCI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SlotFormatCombinationsPerCell, SlotFormatCombinationsPerCell_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of[1] = { { &hf_nr_rrc_slotFormatCombToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of, 1, maxNrofAggregatedCellsPerCellGroup, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of[1] = { { &hf_nr_rrc_slotFormatCombToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of, 1, maxNrofAggregatedCellsPerCellGroup, FALSE); return offset; } static const per_sequence_t SlotFormatIndicator_sequence[] = { { &hf_nr_rrc_sfi_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value }, { &hf_nr_rrc_dci_PayloadSize_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize }, { &hf_nr_rrc_slotFormatCombToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell }, { &hf_nr_rrc_slotFormatCombToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SlotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SlotFormatIndicator, SlotFormatIndicator_sequence); return offset; } static const value_string nr_rrc_T_slotFormatIndicator_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_slotFormatIndicator_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotFormatIndicator }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_slotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_slotFormatIndicator, T_slotFormatIndicator_choice, NULL); return offset; } static const per_sequence_t PDCCH_ServingCellConfig_sequence[] = { { &hf_nr_rrc_slotFormatIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_slotFormatIndicator }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDCCH_ServingCellConfig, PDCCH_ServingCellConfig_sequence); return offset; } static const value_string nr_rrc_T_pdcch_ServingCellConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdcch_ServingCellConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_45 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdcch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdcch_ServingCellConfig, T_pdcch_ServingCellConfig_choice, NULL); return offset; } static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n6" }, { 3, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PDSCH_CodeBlockGroupTransmission_sequence[] = { { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock }, { &hf_nr_rrc_codeBlockGroupFlushIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDSCH_CodeBlockGroupTransmission, PDSCH_CodeBlockGroupTransmission_sequence); return offset; } static const value_string nr_rrc_T_codeBlockGroupTransmission_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_codeBlockGroupTransmission_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_codeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_codeBlockGroupTransmission, T_codeBlockGroupTransmission_choice, NULL); return offset; } static const value_string nr_rrc_T_xOverhead_vals[] = { { 0, "xOh6" }, { 1, "xOh12" }, { 2, "xOh18" }, { 0, NULL } }; static int dissect_nr_rrc_T_xOverhead(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n6" }, { 3, "n10" }, { 4, "n12" }, { 5, "n16" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PDSCH_ServingCellConfig_eag_1_sequence[] = { { &hf_nr_rrc_maxMIMO_Layers, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_processingType2Enabled, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDSCH_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, PDSCH_ServingCellConfig_eag_1_sequence); return offset; } static const per_sequence_t PDSCH_ServingCellConfig_sequence[] = { { &hf_nr_rrc_codeBlockGroupTransmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission }, { &hf_nr_rrc_xOverhead , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead }, { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH }, { &hf_nr_rrc_pucch_Cell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_ServingCellConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDSCH_ServingCellConfig, PDSCH_ServingCellConfig_sequence); return offset; } static const value_string nr_rrc_T_pdsch_ServingCellConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_pdsch_ServingCellConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_46 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_pdsch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdsch_ServingCellConfig, T_pdsch_ServingCellConfig_choice, NULL); return offset; } static int dissect_nr_rrc_INTEGER_M8_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, -8, 15U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_powerControlOffsetSS_vals[] = { { 0, "db-3" }, { 1, "db0" }, { 2, "db3" }, { 3, "db6" }, { 0, NULL } }; static int dissect_nr_rrc_T_powerControlOffsetSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_ScramblingId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1023U, NULL, FALSE); return offset; } static const per_sequence_t NZP_CSI_RS_Resource_sequence[] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId }, { &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping }, { &hf_nr_rrc_powerControlOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M8_15 }, { &hf_nr_rrc_powerControlOffsetSS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerControlOffsetSS }, { &hf_nr_rrc_scramblingID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ScramblingId }, { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset }, { &hf_nr_rrc_qcl_InfoPeriodicCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TCI_StateId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NZP_CSI_RS_Resource, NZP_CSI_RS_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of[1] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of, 1, maxNrofNZP_CSI_RS_Resources, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of, 1, maxNrofNZP_CSI_RS_Resources, FALSE); return offset; } static int dissect_nr_rrc_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofNZP_CSI_RS_ResourceSets_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = { { &hf_nr_rrc_nzp_CSI_RS_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of, 1, maxNrofNZP_CSI_RS_ResourcesPerSet, FALSE); return offset; } static const value_string nr_rrc_T_repetition_vals[] = { { 0, "on" }, { 1, "off" }, { 0, NULL } }; static int dissect_nr_rrc_T_repetition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_trs_Info_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_trs_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t NZP_CSI_RS_ResourceSet_sequence[] = { { &hf_nr_rrc_nzp_CSI_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_nzp_CSI_RS_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId }, { &hf_nr_rrc_repetition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_repetition }, { &hf_nr_rrc_aperiodicTriggeringOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 }, { &hf_nr_rrc_trs_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_trs_Info }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NZP_CSI_RS_ResourceSet, NZP_CSI_RS_ResourceSet_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of[1] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of, 1, maxNrofNZP_CSI_RS_ResourceSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of, 1, maxNrofNZP_CSI_RS_ResourceSets, FALSE); return offset; } static int dissect_nr_rrc_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofCSI_IM_Resources_1, NULL, FALSE); return offset; } static const value_string nr_rrc_T_subcarrierLocation_p0_vals[] = { { 0, "s0" }, { 1, "s2" }, { 2, "s4" }, { 3, "s6" }, { 4, "s8" }, { 5, "s10" }, { 0, NULL } }; static int dissect_nr_rrc_T_subcarrierLocation_p0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_0_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 12U, NULL, FALSE); return offset; } static const per_sequence_t T_pattern0_sequence[] = { { &hf_nr_rrc_subcarrierLocation_p0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p0 }, { &hf_nr_rrc_symbolLocation_p0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_12 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pattern0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pattern0, T_pattern0_sequence); return offset; } static const value_string nr_rrc_T_subcarrierLocation_p1_vals[] = { { 0, "s0" }, { 1, "s4" }, { 2, "s8" }, { 0, NULL } }; static int dissect_nr_rrc_T_subcarrierLocation_p1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_pattern1_sequence[] = { { &hf_nr_rrc_subcarrierLocation_p1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p1 }, { &hf_nr_rrc_symbolLocation_p1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pattern1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pattern1, T_pattern1_sequence); return offset; } static const value_string nr_rrc_T_csi_IM_ResourceElementPattern_vals[] = { { 0, "pattern0" }, { 1, "pattern1" }, { 0, NULL } }; static const per_choice_t T_csi_IM_ResourceElementPattern_choice[] = { { 0, &hf_nr_rrc_pattern0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pattern0 }, { 1, &hf_nr_rrc_pattern1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pattern1 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_csi_IM_ResourceElementPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csi_IM_ResourceElementPattern, T_csi_IM_ResourceElementPattern_choice, NULL); return offset; } static const per_sequence_t CSI_IM_Resource_sequence[] = { { &hf_nr_rrc_csi_IM_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId }, { &hf_nr_rrc_csi_IM_ResourceElementPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_IM_ResourceElementPattern }, { &hf_nr_rrc_freqBand , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_FrequencyOccupation }, { &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_IM_Resource, CSI_IM_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of[1] = { { &hf_nr_rrc_csi_IM_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of, 1, maxNrofCSI_IM_Resources, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of[1] = { { &hf_nr_rrc_csi_IM_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of, 1, maxNrofCSI_IM_Resources, FALSE); return offset; } static int dissect_nr_rrc_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofCSI_IM_ResourceSets_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of[1] = { { &hf_nr_rrc_csi_IM_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of, 1, maxNrofCSI_IM_ResourcesPerSet, FALSE); return offset; } static const per_sequence_t CSI_IM_ResourceSet_sequence[] = { { &hf_nr_rrc_csi_IM_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId }, { &hf_nr_rrc_csi_IM_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_IM_ResourceSet, CSI_IM_ResourceSet_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of[1] = { { &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of, 1, maxNrofCSI_IM_ResourceSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of, 1, maxNrofCSI_IM_ResourceSets, FALSE); return offset; } static int dissect_nr_rrc_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofCSI_SSB_ResourceSets_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of[1] = { { &hf_nr_rrc_csi_SSB_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of, 1, maxNrofCSI_SSB_ResourcePerSet, FALSE); return offset; } static const per_sequence_t CSI_SSB_ResourceSet_sequence[] = { { &hf_nr_rrc_csi_SSB_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId }, { &hf_nr_rrc_csi_SSB_ResourceList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_SSB_ResourceSet, CSI_SSB_ResourceSet_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of[1] = { { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSet }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of, 1, maxNrofCSI_SSB_ResourceSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of, 1, maxNrofCSI_SSB_ResourceSets, FALSE); return offset; } static int dissect_nr_rrc_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofCSI_ResourceConfigurations_1, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of, 1, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_csi_SSB_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of, 1, maxNrofCSI_SSB_ResourceSetsPerConfig, FALSE); return offset; } static const per_sequence_t T_nzp_CSI_RS_SSB_sequence[] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_csi_SSB_ResourceSetList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nzp_CSI_RS_SSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nzp_CSI_RS_SSB, T_nzp_CSI_RS_SSB_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of[1] = { { &hf_nr_rrc_csi_IM_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of, 1, maxNrofCSI_IM_ResourceSetsPerConfig, FALSE); return offset; } static const value_string nr_rrc_T_csi_RS_ResourceSetList_vals[] = { { 0, "nzp-CSI-RS-SSB" }, { 1, "csi-IM-ResourceSetList" }, { 0, NULL } }; static const per_choice_t T_csi_RS_ResourceSetList_choice[] = { { 0, &hf_nr_rrc_nzp_CSI_RS_SSB, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nzp_CSI_RS_SSB }, { 1, &hf_nr_rrc_csi_IM_ResourceSetList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_csi_RS_ResourceSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csi_RS_ResourceSetList, T_csi_RS_ResourceSetList_choice, NULL); return offset; } static const value_string nr_rrc_T_resourceType_vals[] = { { 0, "aperiodic" }, { 1, "semiPersistent" }, { 2, "periodic" }, { 0, NULL } }; static int dissect_nr_rrc_T_resourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CSI_ResourceConfig_sequence[] = { { &hf_nr_rrc_csi_ResourceConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId }, { &hf_nr_rrc_csi_RS_ResourceSetList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_ResourceSetList }, { &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_resourceType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_ResourceConfig, CSI_ResourceConfig_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of[1] = { { &hf_nr_rrc_csi_ResourceConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfig }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of, 1, maxNrofCSI_ResourceConfigurations, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of[1] = { { &hf_nr_rrc_csi_ResourceConfigToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of, 1, maxNrofCSI_ResourceConfigurations, FALSE); return offset; } static int dissect_nr_rrc_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrofCSI_ReportConfigurations_1, NULL, FALSE); return offset; } static const value_string nr_rrc_CSI_ReportPeriodicityAndOffset_vals[] = { { 0, "slots4" }, { 1, "slots5" }, { 2, "slots8" }, { 3, "slots10" }, { 4, "slots16" }, { 5, "slots20" }, { 6, "slots40" }, { 7, "slots80" }, { 8, "slots160" }, { 9, "slots320" }, { 0, NULL } }; static const per_choice_t CSI_ReportPeriodicityAndOffset_choice[] = { { 0, &hf_nr_rrc_slots4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 }, { 1, &hf_nr_rrc_slots5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 }, { 2, &hf_nr_rrc_slots8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 }, { 3, &hf_nr_rrc_slots10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 }, { 4, &hf_nr_rrc_slots16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 }, { 5, &hf_nr_rrc_slots20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 }, { 6, &hf_nr_rrc_slots40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 }, { 7, &hf_nr_rrc_slots80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 }, { 8, &hf_nr_rrc_slots160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 }, { 9, &hf_nr_rrc_slots320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_CSI_ReportPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_ReportPeriodicityAndOffset, CSI_ReportPeriodicityAndOffset_choice, NULL); return offset; } static const per_sequence_t PUCCH_CSI_Resource_sequence[] = { { &hf_nr_rrc_uplinkBandwidthPartId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_pucch_Resource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PUCCH_CSI_Resource, PUCCH_CSI_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of[1] = { { &hf_nr_rrc_pucch_CSI_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_CSI_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource, SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of, 1, maxNrofBWPs, FALSE); return offset; } static const per_sequence_t T_periodic_sequence[] = { { &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset }, { &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_periodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_periodic, T_periodic_sequence); return offset; } static const per_sequence_t T_semiPersistentOnPUCCH_sequence[] = { { &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset }, { &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_semiPersistentOnPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_semiPersistentOnPUCCH, T_semiPersistentOnPUCCH_sequence); return offset; } static const value_string nr_rrc_T_reportSlotConfig_vals[] = { { 0, "sl5" }, { 1, "sl10" }, { 2, "sl20" }, { 3, "sl40" }, { 4, "sl80" }, { 5, "sl160" }, { 6, "sl320" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportSlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_reportSlotOffsetList_sequence_of[1] = { { &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 }, }; static int dissect_nr_rrc_T_reportSlotOffsetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportSlotOffsetList, T_reportSlotOffsetList_sequence_of, 1, maxNrofUL_Allocations, FALSE); return offset; } static const per_sequence_t T_semiPersistentOnPUSCH_sequence[] = { { &hf_nr_rrc_reportSlotConfig_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig }, { &hf_nr_rrc_reportSlotOffsetList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList }, { &hf_nr_rrc_p0alpha , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_semiPersistentOnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_semiPersistentOnPUSCH, T_semiPersistentOnPUSCH_sequence); return offset; } static const per_sequence_t T_reportSlotOffsetList_01_sequence_of[1] = { { &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 }, }; static int dissect_nr_rrc_T_reportSlotOffsetList_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportSlotOffsetList_01, T_reportSlotOffsetList_01_sequence_of, 1, maxNrofUL_Allocations, FALSE); return offset; } static const per_sequence_t T_aperiodic_sequence[] = { { &hf_nr_rrc_reportSlotOffsetList_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_aperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_aperiodic, T_aperiodic_sequence); return offset; } static const value_string nr_rrc_T_reportConfigType_vals[] = { { 0, "periodic" }, { 1, "semiPersistentOnPUCCH" }, { 2, "semiPersistentOnPUSCH" }, { 3, "aperiodic" }, { 0, NULL } }; static const per_choice_t T_reportConfigType_choice[] = { { 0, &hf_nr_rrc_periodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic }, { 1, &hf_nr_rrc_semiPersistentOnPUCCH, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semiPersistentOnPUCCH }, { 2, &hf_nr_rrc_semiPersistentOnPUSCH, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semiPersistentOnPUSCH }, { 3, &hf_nr_rrc_aperiodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_reportConfigType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportConfigType, T_reportConfigType_choice, NULL); return offset; } static const value_string nr_rrc_T_pdsch_BundleSizeForCSI_vals[] = { { 0, "n2" }, { 1, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_BundleSizeForCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_cri_RI_i1_CQI_sequence[] = { { &hf_nr_rrc_pdsch_BundleSizeForCSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_BundleSizeForCSI }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_cri_RI_i1_CQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_cri_RI_i1_CQI, T_cri_RI_i1_CQI_sequence); return offset; } static const value_string nr_rrc_T_reportQuantity_vals[] = { { 0, "none" }, { 1, "cri-RI-PMI-CQI" }, { 2, "cri-RI-i1" }, { 3, "cri-RI-i1-CQI" }, { 4, "cri-RI-CQI" }, { 5, "cri-RSRP" }, { 6, "ssb-Index-RSRP" }, { 7, "cri-RI-LI-PMI-CQI" }, { 0, NULL } }; static const per_choice_t T_reportQuantity_choice[] = { { 0, &hf_nr_rrc_none , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_cri_RI_PMI_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_cri_RI_i1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 3, &hf_nr_rrc_cri_RI_i1_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cri_RI_i1_CQI }, { 4, &hf_nr_rrc_cri_RI_CQI , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 5, &hf_nr_rrc_cri_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 6, &hf_nr_rrc_ssb_Index_RSRP, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 7, &hf_nr_rrc_cri_RI_LI_PMI_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_reportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportQuantity, T_reportQuantity_choice, NULL); return offset; } static const value_string nr_rrc_T_cqi_FormatIndicator_vals[] = { { 0, "widebandCQI" }, { 1, "subbandCQI" }, { 0, NULL } }; static int dissect_nr_rrc_T_cqi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pmi_FormatIndicator_vals[] = { { 0, "widebandPMI" }, { 1, "subbandPMI" }, { 0, NULL } }; static int dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 11, 11, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 13, 13, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 15, 15, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 17, 17, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 19, 19, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_csi_ReportingBand_vals[] = { { 0, "subbands3" }, { 1, "subbands4" }, { 2, "subbands5" }, { 3, "subbands6" }, { 4, "subbands7" }, { 5, "subbands8" }, { 6, "subbands9" }, { 7, "subbands10" }, { 8, "subbands11" }, { 9, "subbands12" }, { 10, "subbands13" }, { 11, "subbands14" }, { 12, "subbands15" }, { 13, "subbands16" }, { 14, "subbands17" }, { 15, "subbands18" }, { 16, "subbands19-v1530" }, { 0, NULL } }; static value_string_ext nr_rrc_T_csi_ReportingBand_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_csi_ReportingBand_vals); static const per_choice_t T_csi_ReportingBand_choice[] = { { 0, &hf_nr_rrc_subbands3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { 1, &hf_nr_rrc_subbands4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_4 }, { 2, &hf_nr_rrc_subbands5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_5 }, { 3, &hf_nr_rrc_subbands6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_6 }, { 4, &hf_nr_rrc_subbands7 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_7 }, { 5, &hf_nr_rrc_subbands8 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 6, &hf_nr_rrc_subbands9 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_9 }, { 7, &hf_nr_rrc_subbands10 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { 8, &hf_nr_rrc_subbands11 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_11 }, { 9, &hf_nr_rrc_subbands12 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_12 }, { 10, &hf_nr_rrc_subbands13 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_13 }, { 11, &hf_nr_rrc_subbands14 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_14 }, { 12, &hf_nr_rrc_subbands15 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_15 }, { 13, &hf_nr_rrc_subbands16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { 14, &hf_nr_rrc_subbands17 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_17 }, { 15, &hf_nr_rrc_subbands18 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_18 }, { 16, &hf_nr_rrc_subbands19_v1530, ASN1_NOT_EXTENSION_ROOT, dissect_nr_rrc_BIT_STRING_SIZE_19 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_csi_ReportingBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csi_ReportingBand, T_csi_ReportingBand_choice, NULL); return offset; } static const per_sequence_t T_reportFreqConfiguration_sequence[] = { { &hf_nr_rrc_cqi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_FormatIndicator }, { &hf_nr_rrc_pmi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pmi_FormatIndicator }, { &hf_nr_rrc_csi_ReportingBand, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportingBand }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_reportFreqConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_reportFreqConfiguration, T_reportFreqConfiguration_sequence); return offset; } static const value_string nr_rrc_T_timeRestrictionForChannelMeasurements_vals[] = { { 0, "configured" }, { 1, "notConfigured" }, { 0, NULL } }; static int dissect_nr_rrc_T_timeRestrictionForChannelMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals[] = { { 0, "configured" }, { 1, "notConfigured" }, { 0, NULL } }; static int dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_two_sequence[] = { { &hf_nr_rrc_twoTX_CodebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_two(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_two, T_two_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_96(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 96, 96, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 128, 128, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 192, 192, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 48, 48, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_n1_n2_vals[] = { { 0, "two-one-TypeI-SinglePanel-Restriction" }, { 1, "two-two-TypeI-SinglePanel-Restriction" }, { 2, "four-one-TypeI-SinglePanel-Restriction" }, { 3, "three-two-TypeI-SinglePanel-Restriction" }, { 4, "six-one-TypeI-SinglePanel-Restriction" }, { 5, "four-two-TypeI-SinglePanel-Restriction" }, { 6, "eight-one-TypeI-SinglePanel-Restriction" }, { 7, "four-three-TypeI-SinglePanel-Restriction" }, { 8, "six-two-TypeI-SinglePanel-Restriction" }, { 9, "twelve-one-TypeI-SinglePanel-Restriction" }, { 10, "four-four-TypeI-SinglePanel-Restriction" }, { 11, "eight-two-TypeI-SinglePanel-Restriction" }, { 12, "sixteen-one-TypeI-SinglePanel-Restriction" }, { 0, NULL } }; static const per_choice_t T_n1_n2_choice[] = { { 0, &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 1, &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, { 2, &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { 3, &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_96 }, { 4, &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_24 }, { 5, &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 }, { 6, &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 }, { 7, &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_192 }, { 8, &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_192 }, { 9, &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_48 }, { 10, &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 }, { 11, &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 }, { 12, &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_n1_n2, T_n1_n2_choice, NULL); return offset; } static const per_sequence_t T_moreThanTwo_sequence[] = { { &hf_nr_rrc_n1_n2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2 }, { &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_moreThanTwo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_moreThanTwo, T_moreThanTwo_sequence); return offset; } static const value_string nr_rrc_T_nrOfAntennaPorts_vals[] = { { 0, "two" }, { 1, "moreThanTwo" }, { 0, NULL } }; static const per_choice_t T_nrOfAntennaPorts_choice[] = { { 0, &hf_nr_rrc_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_two }, { 1, &hf_nr_rrc_moreThanTwo , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_moreThanTwo }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_nrOfAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nrOfAntennaPorts, T_nrOfAntennaPorts_choice, NULL); return offset; } static const per_sequence_t T_typeI_SinglePanel_sequence[] = { { &hf_nr_rrc_nrOfAntennaPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrOfAntennaPorts }, { &hf_nr_rrc_typeI_SinglePanel_ri_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_typeI_SinglePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_typeI_SinglePanel, T_typeI_SinglePanel_sequence); return offset; } static const value_string nr_rrc_T_ng_n1_n2_vals[] = { { 0, "two-two-one-TypeI-MultiPanel-Restriction" }, { 1, "two-four-one-TypeI-MultiPanel-Restriction" }, { 2, "four-two-one-TypeI-MultiPanel-Restriction" }, { 3, "two-two-two-TypeI-MultiPanel-Restriction" }, { 4, "two-eight-one-TypeI-MultiPanel-Restriction" }, { 5, "four-four-one-TypeI-MultiPanel-Restriction" }, { 6, "two-four-two-TypeI-MultiPanel-Restriction" }, { 7, "four-two-two-TypeI-MultiPanel-Restriction" }, { 0, NULL } }; static const per_choice_t T_ng_n1_n2_choice[] = { { 0, &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 1, &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { 2, &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { 3, &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, { 4, &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 }, { 5, &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { 6, &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 }, { 7, &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_ng_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ng_n1_n2, T_ng_n1_n2_choice, NULL); return offset; } static const per_sequence_t T_typeI_MultiPanel_sequence[] = { { &hf_nr_rrc_ng_n1_n2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ng_n1_n2 }, { &hf_nr_rrc_ri_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_typeI_MultiPanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_typeI_MultiPanel, T_typeI_MultiPanel_sequence); return offset; } static const value_string nr_rrc_T_subType_vals[] = { { 0, "typeI-SinglePanel" }, { 1, "typeI-MultiPanel" }, { 0, NULL } }; static const per_choice_t T_subType_choice[] = { { 0, &hf_nr_rrc_typeI_SinglePanel, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeI_SinglePanel }, { 1, &hf_nr_rrc_typeI_MultiPanel, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeI_MultiPanel }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_subType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_subType, T_subType_choice, NULL); return offset; } static const per_sequence_t T_type1_01_sequence[] = { { &hf_nr_rrc_subType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType }, { &hf_nr_rrc_codebookMode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_type1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_type1_01, T_type1_01_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 43, 43, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 59, 59, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 75, 75, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_107(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 107, 107, FALSE, NULL, 0, NULL, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_139(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 139, 139, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_n1_n2_codebookSubsetRestriction_vals[] = { { 0, "two-one" }, { 1, "two-two" }, { 2, "four-one" }, { 3, "three-two" }, { 4, "six-one" }, { 5, "four-two" }, { 6, "eight-one" }, { 7, "four-three" }, { 8, "six-two" }, { 9, "twelve-one" }, { 10, "four-four" }, { 11, "eight-two" }, { 12, "sixteen-one" }, { 0, NULL } }; static const per_choice_t T_n1_n2_codebookSubsetRestriction_choice[] = { { 0, &hf_nr_rrc_two_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 }, { 1, &hf_nr_rrc_two_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_43 }, { 2, &hf_nr_rrc_four_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 }, { 3, &hf_nr_rrc_three_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_59 }, { 4, &hf_nr_rrc_six_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_48 }, { 5, &hf_nr_rrc_four_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_75 }, { 6, &hf_nr_rrc_eight_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 }, { 7, &hf_nr_rrc_four_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 }, { 8, &hf_nr_rrc_six_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 }, { 9, &hf_nr_rrc_twelve_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_96 }, { 10, &hf_nr_rrc_four_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 }, { 11, &hf_nr_rrc_eight_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 }, { 12, &hf_nr_rrc_sixteen_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_n1_n2_codebookSubsetRestriction, T_n1_n2_codebookSubsetRestriction_choice, NULL); return offset; } static const per_sequence_t T_typeII_sequence[] = { { &hf_nr_rrc_n1_n2_codebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction }, { &hf_nr_rrc_typeII_RI_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_typeII(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_typeII, T_typeII_sequence); return offset; } static const value_string nr_rrc_T_portSelectionSamplingSize_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_portSelectionSamplingSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_typeII_PortSelection_sequence[] = { { &hf_nr_rrc_portSelectionSamplingSize, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_portSelectionSamplingSize }, { &hf_nr_rrc_typeII_PortSelectionRI_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_typeII_PortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_typeII_PortSelection, T_typeII_PortSelection_sequence); return offset; } static const value_string nr_rrc_T_subType_01_vals[] = { { 0, "typeII" }, { 1, "typeII-PortSelection" }, { 0, NULL } }; static const per_choice_t T_subType_01_choice[] = { { 0, &hf_nr_rrc_typeII , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII }, { 1, &hf_nr_rrc_typeII_PortSelection, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII_PortSelection }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_subType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_subType_01, T_subType_01_choice, NULL); return offset; } static const value_string nr_rrc_T_phaseAlphabetSize_vals[] = { { 0, "n4" }, { 1, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_phaseAlphabetSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_numberOfBeams_vals[] = { { 0, "two" }, { 1, "three" }, { 2, "four" }, { 0, NULL } }; static int dissect_nr_rrc_T_numberOfBeams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_type2_sequence[] = { { &hf_nr_rrc_subType_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType_01 }, { &hf_nr_rrc_phaseAlphabetSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phaseAlphabetSize }, { &hf_nr_rrc_subbandAmplitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_numberOfBeams, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfBeams }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_type2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_type2, T_type2_sequence); return offset; } static const value_string nr_rrc_T_codebookType_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } }; static const per_choice_t T_codebookType_choice[] = { { 0, &hf_nr_rrc_type1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type1_01 }, { 1, &hf_nr_rrc_type2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type2 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_codebookType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_codebookType, T_codebookType_choice, NULL); return offset; } static const per_sequence_t CodebookConfig_sequence[] = { { &hf_nr_rrc_codebookType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CodebookConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CodebookConfig, CodebookConfig_sequence); return offset; } static const value_string nr_rrc_T_dummy_vals[] = { { 0, "n1" }, { 1, "n2" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_nrofReportedRS_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n3" }, { 3, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofReportedRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_disabled_sequence[] = { { &hf_nr_rrc_nrofReportedRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofReportedRS }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_disabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_disabled, T_disabled_sequence); return offset; } static const value_string nr_rrc_T_groupBasedBeamReporting_vals[] = { { 0, "enabled" }, { 1, "disabled" }, { 0, NULL } }; static const per_choice_t T_groupBasedBeamReporting_choice[] = { { 0, &hf_nr_rrc_enabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_disabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_disabled }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_groupBasedBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_groupBasedBeamReporting, T_groupBasedBeamReporting_choice, NULL); return offset; } static const value_string nr_rrc_T_cqi_Table_vals[] = { { 0, "table1" }, { 1, "table2" }, { 2, "table3" }, { 3, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_cqi_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_subbandSize_vals[] = { { 0, "value1" }, { 1, "value2" }, { 0, NULL } }; static int dissect_nr_rrc_T_subbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 7U, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex8_sequence_of[1] = { { &hf_nr_rrc_rank2_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8, SEQUENCE_SIZE_2_OF_PortIndex8_sequence_of, 2, 2, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_3_OF_PortIndex8_sequence_of[1] = { { &hf_nr_rrc_rank3_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8, SEQUENCE_SIZE_3_OF_PortIndex8_sequence_of, 3, 3, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_4_OF_PortIndex8_sequence_of[1] = { { &hf_nr_rrc_rank4_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8, SEQUENCE_SIZE_4_OF_PortIndex8_sequence_of, 4, 4, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_5_OF_PortIndex8_sequence_of[1] = { { &hf_nr_rrc_rank5_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8, SEQUENCE_SIZE_5_OF_PortIndex8_sequence_of, 5, 5, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_6_OF_PortIndex8_sequence_of[1] = { { &hf_nr_rrc_rank6_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8, SEQUENCE_SIZE_6_OF_PortIndex8_sequence_of, 6, 6, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_7_OF_PortIndex8_sequence_of[1] = { { &hf_nr_rrc_rank7_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8, SEQUENCE_SIZE_7_OF_PortIndex8_sequence_of, 7, 7, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_8_OF_PortIndex8_sequence_of[1] = { { &hf_nr_rrc_rank8_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8, SEQUENCE_SIZE_8_OF_PortIndex8_sequence_of, 8, 8, FALSE); return offset; } static const per_sequence_t T_portIndex8_sequence[] = { { &hf_nr_rrc_rank1_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PortIndex8 }, { &hf_nr_rrc_rank2_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8 }, { &hf_nr_rrc_rank3_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8 }, { &hf_nr_rrc_rank4_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8 }, { &hf_nr_rrc_rank5_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8 }, { &hf_nr_rrc_rank6_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8 }, { &hf_nr_rrc_rank7_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8 }, { &hf_nr_rrc_rank8_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_portIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_portIndex8, T_portIndex8_sequence); return offset; } static int dissect_nr_rrc_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 3U, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex4_sequence_of[1] = { { &hf_nr_rrc_rank2_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4, SEQUENCE_SIZE_2_OF_PortIndex4_sequence_of, 2, 2, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_3_OF_PortIndex4_sequence_of[1] = { { &hf_nr_rrc_rank3_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4, SEQUENCE_SIZE_3_OF_PortIndex4_sequence_of, 3, 3, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_4_OF_PortIndex4_sequence_of[1] = { { &hf_nr_rrc_rank4_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4, SEQUENCE_SIZE_4_OF_PortIndex4_sequence_of, 4, 4, FALSE); return offset; } static const per_sequence_t T_portIndex4_sequence[] = { { &hf_nr_rrc_rank1_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PortIndex4 }, { &hf_nr_rrc_rank2_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4 }, { &hf_nr_rrc_rank3_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4 }, { &hf_nr_rrc_rank4_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_portIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_portIndex4, T_portIndex4_sequence); return offset; } static int dissect_nr_rrc_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1U, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex2_sequence_of[1] = { { &hf_nr_rrc_rank2_2_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex2 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2, SEQUENCE_SIZE_2_OF_PortIndex2_sequence_of, 2, 2, FALSE); return offset; } static const per_sequence_t T_portIndex2_sequence[] = { { &hf_nr_rrc_rank1_2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PortIndex2 }, { &hf_nr_rrc_rank2_2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_portIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_portIndex2, T_portIndex2_sequence); return offset; } static const value_string nr_rrc_PortIndexFor8Ranks_vals[] = { { 0, "portIndex8" }, { 1, "portIndex4" }, { 2, "portIndex2" }, { 3, "portIndex1" }, { 0, NULL } }; static const per_choice_t PortIndexFor8Ranks_choice[] = { { 0, &hf_nr_rrc_portIndex8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex8 }, { 1, &hf_nr_rrc_portIndex4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex4 }, { 2, &hf_nr_rrc_portIndex2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex2 }, { 3, &hf_nr_rrc_portIndex1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PortIndexFor8Ranks, PortIndexFor8Ranks_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of[1] = { { &hf_nr_rrc_non_PMI_PortIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndexFor8Ranks }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of, 1, maxNrofNZP_CSI_RS_ResourcesPerConfig, FALSE); return offset; } static const value_string nr_rrc_T_reportSlotConfig_v1530_vals[] = { { 0, "sl4" }, { 1, "sl8" }, { 2, "sl16" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportSlotConfig_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_semiPersistentOnPUSCH_v1530_sequence[] = { { &hf_nr_rrc_reportSlotConfig_v1530, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig_v1530 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_semiPersistentOnPUSCH_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_semiPersistentOnPUSCH_v1530, T_semiPersistentOnPUSCH_v1530_sequence); return offset; } static const per_sequence_t CSI_ReportConfig_eag_1_sequence[] = { { &hf_nr_rrc_semiPersistentOnPUSCH_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_semiPersistentOnPUSCH_v1530 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_ReportConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CSI_ReportConfig_eag_1_sequence); return offset; } static const per_sequence_t CSI_ReportConfig_sequence[] = { { &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId }, { &hf_nr_rrc_carrier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_resourcesForChannelMeasurement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId }, { &hf_nr_rrc_csi_IM_ResourcesForInterference_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId }, { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId }, { &hf_nr_rrc_reportConfigType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfigType }, { &hf_nr_rrc_reportQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantity }, { &hf_nr_rrc_reportFreqConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportFreqConfiguration }, { &hf_nr_rrc_timeRestrictionForChannelMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForChannelMeasurements }, { &hf_nr_rrc_timeRestrictionForInterferenceMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements }, { &hf_nr_rrc_codebookConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CodebookConfig }, { &hf_nr_rrc_dummy_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy }, { &hf_nr_rrc_groupBasedBeamReporting, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupBasedBeamReporting }, { &hf_nr_rrc_cqi_Table , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_Table }, { &hf_nr_rrc_subbandSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subbandSize }, { &hf_nr_rrc_non_PMI_PortIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_ReportConfig, CSI_ReportConfig_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of[1] = { { &hf_nr_rrc_csi_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of, 1, maxNrofCSI_ReportConfigurations, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of[1] = { { &hf_nr_rrc_csi_ReportConfigToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of, 1, maxNrofCSI_ReportConfigurations, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of[1] = { { &hf_nr_rrc_qcl_info_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of, 1, maxNrofAP_CSI_RS_ResourcesPerSet, FALSE); return offset; } static const per_sequence_t T_nzp_CSI_RS_sequence[] = { { &hf_nr_rrc_resourceSet , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig }, { &hf_nr_rrc_qcl_info , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nzp_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nzp_CSI_RS, T_nzp_CSI_RS_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofCSI_SSB_ResourceSetsPerConfig, NULL, FALSE); return offset; } static const value_string nr_rrc_T_resourcesForChannel_vals[] = { { 0, "nzp-CSI-RS" }, { 1, "csi-SSB-ResourceSet" }, { 0, NULL } }; static const per_choice_t T_resourcesForChannel_choice[] = { { 0, &hf_nr_rrc_nzp_CSI_RS , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nzp_CSI_RS }, { 1, &hf_nr_rrc_csi_SSB_ResourceSet, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_resourcesForChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_resourcesForChannel, T_resourcesForChannel_choice, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofCSI_IM_ResourceSetsPerConfig, NULL, FALSE); return offset; } static const per_sequence_t CSI_AssociatedReportConfigInfo_sequence[] = { { &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId }, { &hf_nr_rrc_resourcesForChannel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourcesForChannel }, { &hf_nr_rrc_csi_IM_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig }, { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_AssociatedReportConfigInfo, CSI_AssociatedReportConfigInfo_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of[1] = { { &hf_nr_rrc_associatedReportConfigInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AssociatedReportConfigInfo }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo, SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of, 1, maxNrofReportConfigPerAperiodicTrigger, FALSE); return offset; } static const per_sequence_t CSI_AperiodicTriggerState_sequence[] = { { &hf_nr_rrc_associatedReportConfigInfoList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_AperiodicTriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_AperiodicTriggerState, CSI_AperiodicTriggerState_sequence); return offset; } static const per_sequence_t CSI_AperiodicTriggerStateList_sequence_of[1] = { { &hf_nr_rrc_CSI_AperiodicTriggerStateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AperiodicTriggerState }, }; static int dissect_nr_rrc_CSI_AperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_AperiodicTriggerStateList, CSI_AperiodicTriggerStateList_sequence_of, 1, maxNrOfCSI_AperiodicTriggers, FALSE); return offset; } static const value_string nr_rrc_T_aperiodicTriggerStateList_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_aperiodicTriggerStateList_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_aperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_aperiodicTriggerStateList, T_aperiodicTriggerStateList_choice, NULL); return offset; } static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerState_sequence[] = { { &hf_nr_rrc_associatedReportConfigInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState, CSI_SemiPersistentOnPUSCH_TriggerState_sequence); return offset; } static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of[1] = { { &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState }, }; static int dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList, CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of, 1, maxNrOfSemiPersistentPUSCH_Triggers, FALSE); return offset; } static const value_string nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_semiPersistentOnPUSCH_TriggerStateList_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList, T_semiPersistentOnPUSCH_TriggerStateList_choice, NULL); return offset; } static const per_sequence_t CSI_MeasConfig_sequence[] = { { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource }, { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId }, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet }, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId }, { &hf_nr_rrc_csi_IM_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource }, { &hf_nr_rrc_csi_IM_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId }, { &hf_nr_rrc_csi_IM_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet }, { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId }, { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet }, { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId }, { &hf_nr_rrc_csi_ResourceConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig }, { &hf_nr_rrc_csi_ResourceConfigToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId }, { &hf_nr_rrc_csi_ReportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig }, { &hf_nr_rrc_csi_ReportConfigToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId }, { &hf_nr_rrc_reportTriggerSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 }, { &hf_nr_rrc_aperiodicTriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTriggerStateList }, { &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_MeasConfig, CSI_MeasConfig_sequence); return offset; } static const value_string nr_rrc_T_csi_MeasConfig_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_csi_MeasConfig_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_47 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_csi_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csi_MeasConfig, T_csi_MeasConfig_choice, NULL); return offset; } static const value_string nr_rrc_T_sCellDeactivationTimer_vals[] = { { 0, "ms20" }, { 1, "ms40" }, { 2, "ms80" }, { 3, "ms160" }, { 4, "ms200" }, { 5, "ms240" }, { 6, "ms320" }, { 7, "ms400" }, { 8, "ms480" }, { 9, "ms520" }, { 10, "ms640" }, { 11, "ms720" }, { 12, "ms840" }, { 13, "ms1280" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_sCellDeactivationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_own_sequence[] = { { &hf_nr_rrc_cif_Presence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_own(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_own, T_own_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 7U, NULL, FALSE); return offset; } static const per_sequence_t T_other_sequence[] = { { &hf_nr_rrc_schedulingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_cif_InSchedulingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_other(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_other, T_other_sequence); return offset; } static const value_string nr_rrc_T_schedulingCellInfo_vals[] = { { 0, "own" }, { 1, "other" }, { 0, NULL } }; static const per_choice_t T_schedulingCellInfo_choice[] = { { 0, &hf_nr_rrc_own , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_own }, { 1, &hf_nr_rrc_other , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_other }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_schedulingCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_schedulingCellInfo, T_schedulingCellInfo_choice, NULL); return offset; } static const per_sequence_t CrossCarrierSchedulingConfig_sequence[] = { { &hf_nr_rrc_schedulingCellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_schedulingCellInfo }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CrossCarrierSchedulingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CrossCarrierSchedulingConfig, CrossCarrierSchedulingConfig_sequence); return offset; } static const value_string nr_rrc_T_dummy_02_vals[] = { { 0, "enabled" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pathlossReferenceLinking_vals[] = { { 0, "spCell" }, { 1, "sCell" }, { 0, NULL } }; static int dissect_nr_rrc_T_pathlossReferenceLinking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_lte_CRS_ToMatchAround_vals[] = { { 0, "release" }, { 1, "setup" }, { 0, NULL } }; static const per_choice_t T_lte_CRS_ToMatchAround_choice[] = { { 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 1, &hf_nr_rrc_setup_48 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_lte_CRS_ToMatchAround(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_lte_CRS_ToMatchAround, T_lte_CRS_ToMatchAround_choice, NULL); return offset; } static const per_sequence_t ServingCellConfig_eag_1_sequence[] = { { &hf_nr_rrc_lte_CRS_ToMatchAround, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_ToMatchAround }, { &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern }, { &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId }, { &hf_nr_rrc_downlinkChannelBW_PerSCS_List, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ServingCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, ServingCellConfig_eag_1_sequence); return offset; } static const per_sequence_t ServingCellConfig_sequence[] = { { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated }, { &hf_nr_rrc_initialDownlinkBWP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated }, { &hf_nr_rrc_downlinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id }, { &hf_nr_rrc_downlinkBWP_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink }, { &hf_nr_rrc_firstActiveDownlinkBWP_Id, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_bwp_InactivityTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_InactivityTimer }, { &hf_nr_rrc_defaultDownlinkBWP_Id, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id }, { &hf_nr_rrc_uplinkConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig }, { &hf_nr_rrc_supplementaryUplink_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig }, { &hf_nr_rrc_pdcch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ServingCellConfig }, { &hf_nr_rrc_pdsch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ServingCellConfig }, { &hf_nr_rrc_csi_MeasConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_MeasConfig }, { &hf_nr_rrc_sCellDeactivationTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sCellDeactivationTimer }, { &hf_nr_rrc_crossCarrierSchedulingConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CrossCarrierSchedulingConfig }, { &hf_nr_rrc_tag_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id }, { &hf_nr_rrc_dummy_04 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_02 }, { &hf_nr_rrc_pathlossReferenceLinking, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceLinking }, { &hf_nr_rrc_servingCellMO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectId }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServingCellConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ServingCellConfig, ServingCellConfig_sequence); return offset; } static const per_sequence_t SpCellConfig_sequence[] = { { &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex }, { &hf_nr_rrc_reconfigurationWithSync, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReconfigurationWithSync }, { &hf_nr_rrc_rlf_TimersAndConstants, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rlf_TimersAndConstants }, { &hf_nr_rrc_rlmInSyncOutOfSyncThreshold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rlmInSyncOutOfSyncThreshold }, { &hf_nr_rrc_spCellConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfig }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SpCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SpCellConfig, SpCellConfig_sequence); return offset; } static int dissect_nr_rrc_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 31U, NULL, FALSE); return offset; } static const per_sequence_t SCellConfig_eag_1_sequence[] = { { &hf_nr_rrc_smtc , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCellConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, SCellConfig_eag_1_sequence); return offset; } static const per_sequence_t SCellConfig_sequence[] = { { &hf_nr_rrc_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex }, { &hf_nr_rrc_sCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon }, { &hf_nr_rrc_sCellConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfig }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SCellConfig, SCellConfig_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of[1] = { { &hf_nr_rrc_sCellToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of, 1, maxNrofSCells, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of[1] = { { &hf_nr_rrc_sCellToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of, 1, maxNrofSCells, FALSE); return offset; } static const value_string nr_rrc_T_reportUplinkTxDirectCurrent_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_reportUplinkTxDirectCurrent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CellGroupConfig_eag_1_sequence[] = { { &hf_nr_rrc_reportUplinkTxDirectCurrent, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reportUplinkTxDirectCurrent }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CellGroupConfig_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, CellGroupConfig_eag_1_sequence); return offset; } static const per_sequence_t CellGroupConfig_sequence[] = { { &hf_nr_rrc_cellGroupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId }, { &hf_nr_rrc_rlc_BearerToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig }, { &hf_nr_rrc_rlc_BearerToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity }, { &hf_nr_rrc_mac_CellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MAC_CellGroupConfig }, { &hf_nr_rrc_physicalCellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysicalCellGroupConfig }, { &hf_nr_rrc_spCellConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpCellConfig }, { &hf_nr_rrc_sCellToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig }, { &hf_nr_rrc_sCellToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupConfig_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CellGroupConfig, CellGroupConfig_sequence); return offset; } static const per_sequence_t MeasResultSCG_Failure_sequence[] = { { &hf_nr_rrc_measResultPerMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultList2NR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasResultSCG_Failure, MeasResultSCG_Failure_sequence); return offset; } static const value_string nr_rrc_AccessStratumRelease_vals[] = { { 0, "rel15" }, { 1, "spare7" }, { 2, "spare6" }, { 3, "spare5" }, { 4, "spare4" }, { 5, "spare3" }, { 6, "spare2" }, { 7, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_AccessStratumRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, TRUE, 0, NULL); return offset; } static const value_string nr_rrc_CA_BandwidthClassEUTRA_vals[] = { { 0, "a" }, { 1, "b" }, { 2, "c" }, { 3, "d" }, { 4, "e" }, { 5, "f" }, { 0, NULL } }; static int dissect_nr_rrc_CA_BandwidthClassEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t T_eutra_sequence[] = { { &hf_nr_rrc_bandEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA }, { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA }, { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eutra(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eutra, T_eutra_sequence); return offset; } static const value_string nr_rrc_CA_BandwidthClassNR_vals[] = { { 0, "a" }, { 1, "b" }, { 2, "c" }, { 3, "d" }, { 4, "e" }, { 5, "f" }, { 6, "g" }, { 7, "h" }, { 8, "i" }, { 9, "j" }, { 10, "k" }, { 11, "l" }, { 12, "m" }, { 13, "n" }, { 14, "o" }, { 15, "p" }, { 16, "q" }, { 0, NULL } }; static value_string_ext nr_rrc_CA_BandwidthClassNR_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_CA_BandwidthClassNR_vals); static int dissect_nr_rrc_CA_BandwidthClassNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 17, NULL, TRUE, 0, NULL); return offset; } static const per_sequence_t T_nr_sequence[] = { { &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, { &hf_nr_rrc_ca_BandwidthClassDL_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR }, { &hf_nr_rrc_ca_BandwidthClassUL_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nr(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nr, T_nr_sequence); return offset; } static const value_string nr_rrc_BandParameters_vals[] = { { 0, "eutra" }, { 1, "nr" }, { 0, NULL } }; static const per_choice_t BandParameters_choice[] = { { 0, &hf_nr_rrc_eutra_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra }, { 1, &hf_nr_rrc_nr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_BandParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandParameters, BandParameters_choice, NULL); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_sequence_of[1] = { { &hf_nr_rrc_bandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_sequence_of, 1, maxSimultaneousBands, FALSE); return offset; } static int dissect_nr_rrc_FeatureSetCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxFeatureSetCombinations, NULL, FALSE); return offset; } static const value_string nr_rrc_T_multipleTimingAdvance_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_multipleTimingAdvance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_simultaneousRx_Tx_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousRx_Tx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 8, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_additionalRx_Tx_PerformanceReq_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_additionalRx_Tx_PerformanceReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ue_CA_PowerClass_N_vals[] = { { 0, "class2" }, { 0, NULL } }; static int dissect_nr_rrc_T_ue_CA_PowerClass_N(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 32, FALSE, NULL, 0, NULL, NULL); return offset; } static const per_sequence_t CA_ParametersEUTRA_sequence[] = { { &hf_nr_rrc_multipleTimingAdvance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTimingAdvance }, { &hf_nr_rrc_simultaneousRx_Tx, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRx_Tx }, { &hf_nr_rrc_supportedNAICS_2CRS_AP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_8 }, { &hf_nr_rrc_additionalRx_Tx_PerformanceReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalRx_Tx_PerformanceReq }, { &hf_nr_rrc_ue_CA_PowerClass_N, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_CA_PowerClass_N }, { &hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersEUTRA, CA_ParametersEUTRA_sequence); return offset; } static const value_string nr_rrc_T_dummy_03_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_simultaneousRxTxInterBandCA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousRxTxInterBandCA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_simultaneousRxTxSUL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousRxTxSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedNumberTAG_vals[] = { { 0, "n2" }, { 1, "n3" }, { 2, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedNumberTAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CA_ParametersNR_sequence[] = { { &hf_nr_rrc_dummy_06 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_03 }, { &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH }, { &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH }, { &hf_nr_rrc_simultaneousRxTxInterBandCA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandCA }, { &hf_nr_rrc_simultaneousRxTxSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxSUL }, { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group }, { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS }, { &hf_nr_rrc_supportedNumberTAG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedNumberTAG }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersNR, CA_ParametersNR_sequence); return offset; } static const value_string nr_rrc_T_singleUL_Transmission_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_singleUL_Transmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicPowerSharingENDC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicPowerSharingENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_tdm_Pattern_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_tdm_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ul_SharingEUTRA_NR_vals[] = { { 0, "tdm" }, { 1, "fdm" }, { 2, "both" }, { 0, NULL } }; static int dissect_nr_rrc_T_ul_SharingEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } }; static int dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_simultaneousRxTxInterBandENDC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousRxTxInterBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_asyncIntraBandENDC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_asyncIntraBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dualPA_Architecture_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dualPA_Architecture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_intraBandENDC_Support_vals[] = { { 0, "non-contiguous" }, { 1, "both" }, { 0, NULL } }; static int dissect_nr_rrc_T_intraBandENDC_Support(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ul_TimingAlignmentEUTRA_NR_vals[] = { { 0, "required" }, { 0, NULL } }; static int dissect_nr_rrc_T_ul_TimingAlignmentEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MRDC_Parameters_eag_1_sequence[] = { { &hf_nr_rrc_dualPA_Architecture_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dualPA_Architecture_01 }, { &hf_nr_rrc_intraBandENDC_Support, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraBandENDC_Support }, { &hf_nr_rrc_ul_TimingAlignmentEUTRA_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_TimingAlignmentEUTRA_NR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MRDC_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MRDC_Parameters_eag_1_sequence); return offset; } static const per_sequence_t MRDC_Parameters_sequence[] = { { &hf_nr_rrc_singleUL_Transmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_singleUL_Transmission }, { &hf_nr_rrc_dynamicPowerSharingENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharingENDC }, { &hf_nr_rrc_tdm_Pattern , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tdm_Pattern }, { &hf_nr_rrc_ul_SharingEUTRA_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SharingEUTRA_NR }, { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR }, { &hf_nr_rrc_simultaneousRxTxInterBandENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandENDC }, { &hf_nr_rrc_asyncIntraBandENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_asyncIntraBandENDC }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_Parameters_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MRDC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MRDC_Parameters, MRDC_Parameters_sequence); return offset; } static const value_string nr_rrc_T_powerClass_v1530_vals[] = { { 0, "pc2" }, { 0, NULL } }; static int dissect_nr_rrc_T_powerClass_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BandCombination_sequence[] = { { &hf_nr_rrc_bandList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters }, { &hf_nr_rrc_featureSetCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetCombinationId }, { &hf_nr_rrc_ca_ParametersEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersEUTRA }, { &hf_nr_rrc_ca_ParametersNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR }, { &hf_nr_rrc_mrdc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MRDC_Parameters }, { &hf_nr_rrc_supportedBandwidthCombinationSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 }, { &hf_nr_rrc_powerClass_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_powerClass_v1530 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombination, BandCombination_sequence); return offset; } static const per_sequence_t BandCombinationList_sequence_of[1] = { { &hf_nr_rrc_BandCombinationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination }, }; static int dissect_nr_rrc_BandCombinationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationList, BandCombinationList_sequence_of, 1, maxBandComb, FALSE); return offset; } static const value_string nr_rrc_T_switchingTimeDL_vals[] = { { 0, "n0us" }, { 1, "n30us" }, { 2, "n100us" }, { 3, "n140us" }, { 4, "n200us" }, { 5, "n300us" }, { 6, "n500us" }, { 7, "n900us" }, { 0, NULL } }; static int dissect_nr_rrc_T_switchingTimeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_switchingTimeUL_vals[] = { { 0, "n0us" }, { 1, "n30us" }, { 2, "n100us" }, { 3, "n140us" }, { 4, "n200us" }, { 5, "n300us" }, { 6, "n500us" }, { 7, "n900us" }, { 0, NULL } }; static int dissect_nr_rrc_T_switchingTimeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SRS_SwitchingTimeNR_sequence[] = { { &hf_nr_rrc_switchingTimeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_switchingTimeDL }, { &hf_nr_rrc_switchingTimeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_switchingTimeUL }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_SwitchingTimeNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_SwitchingTimeNR, SRS_SwitchingTimeNR_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR_sequence_of[1] = { { &hf_nr_rrc_srs_SwitchingTimesListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_SwitchingTimeNR }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR_sequence_of, 1, maxSimultaneousBands, FALSE); return offset; } static const per_sequence_t T_nr_01_sequence[] = { { &hf_nr_rrc_srs_SwitchingTimesListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nr_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nr_01, T_nr_01_sequence); return offset; } static const value_string nr_rrc_T_switchingTimeDL_01_vals[] = { { 0, "n0" }, { 1, "n0dot5" }, { 2, "n1" }, { 3, "n1dot5" }, { 4, "n2" }, { 5, "n2dot5" }, { 6, "n3" }, { 7, "n3dot5" }, { 8, "n4" }, { 9, "n4dot5" }, { 10, "n5" }, { 11, "n5dot5" }, { 12, "n6" }, { 13, "n6dot5" }, { 14, "n7" }, { 0, NULL } }; static int dissect_nr_rrc_T_switchingTimeDL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 15, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_switchingTimeUL_01_vals[] = { { 0, "n0" }, { 1, "n0dot5" }, { 2, "n1" }, { 3, "n1dot5" }, { 4, "n2" }, { 5, "n2dot5" }, { 6, "n3" }, { 7, "n3dot5" }, { 8, "n4" }, { 9, "n4dot5" }, { 10, "n5" }, { 11, "n5dot5" }, { 12, "n6" }, { 13, "n6dot5" }, { 14, "n7" }, { 0, NULL } }; static int dissect_nr_rrc_T_switchingTimeUL_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 15, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SRS_SwitchingTimeEUTRA_sequence[] = { { &hf_nr_rrc_switchingTimeDL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_switchingTimeDL_01 }, { &hf_nr_rrc_switchingTimeUL_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_switchingTimeUL_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_SwitchingTimeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_SwitchingTimeEUTRA, SRS_SwitchingTimeEUTRA_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA_sequence_of[1] = { { &hf_nr_rrc_srs_SwitchingTimesListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_SwitchingTimeEUTRA }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA_sequence_of, 1, maxSimultaneousBands, FALSE); return offset; } static const per_sequence_t T_eutra_01_sequence[] = { { &hf_nr_rrc_srs_SwitchingTimesListEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eutra_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eutra_01, T_eutra_01_sequence); return offset; } static const value_string nr_rrc_T_srs_CarrierSwitch_vals[] = { { 0, "nr" }, { 1, "eutra" }, { 0, NULL } }; static const per_choice_t T_srs_CarrierSwitch_choice[] = { { 0, &hf_nr_rrc_nr_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_01 }, { 1, &hf_nr_rrc_eutra_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_01 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_srs_CarrierSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_srs_CarrierSwitch, T_srs_CarrierSwitch_choice, NULL); return offset; } static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_vals[] = { { 0, "t1r2" }, { 1, "t1r4" }, { 2, "t2r4" }, { 3, "t1r4-t2r4" }, { 4, "t1r1" }, { 5, "t2r2" }, { 6, "t4r4" }, { 7, "notSupported" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedSRS_TxPortSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 8, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_srs_TxSwitch_sequence[] = { { &hf_nr_rrc_supportedSRS_TxPortSwitch, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch }, { &hf_nr_rrc_txSwitchImpactToRx, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 }, { &hf_nr_rrc_txSwitchWithAnotherBand, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_srs_TxSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_srs_TxSwitch, T_srs_TxSwitch_sequence); return offset; } static const per_sequence_t BandParameters_v1540_sequence[] = { { &hf_nr_rrc_srs_CarrierSwitch, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_CarrierSwitch }, { &hf_nr_rrc_srs_TxSwitch , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_TxSwitch }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandParameters_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandParameters_v1540, BandParameters_v1540_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540_sequence_of[1] = { { &hf_nr_rrc_bandList_v1540_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters_v1540 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540_sequence_of, 1, maxSimultaneousBands, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_5_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 5U, 32U, NULL, FALSE); return offset; } static int dissect_nr_rrc_INTEGER_2_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, 256U, NULL, FALSE); return offset; } static const per_sequence_t T_csi_RS_IM_ReceptionForFeedbackPerBandComb_sequence[] = { { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_256 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb, T_csi_RS_IM_ReceptionForFeedbackPerBandComb_sequence); return offset; } static const value_string nr_rrc_T_dualPA_Architecture_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dualPA_Architecture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CA_ParametersNR_v1540_sequence[] = { { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_AllCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_5_32 }, { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedbackPerBandComb, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb }, { &hf_nr_rrc_simultaneousCSI_ReportsAllCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_5_32 }, { &hf_nr_rrc_dualPA_Architecture, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dualPA_Architecture }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersNR_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersNR_v1540, CA_ParametersNR_v1540_sequence); return offset; } static const per_sequence_t BandCombination_v1540_sequence[] = { { &hf_nr_rrc_bandList_v1540, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540 }, { &hf_nr_rrc_ca_ParametersNR_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR_v1540 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombination_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombination_v1540, BandCombination_v1540_sequence); return offset; } static const per_sequence_t BandCombinationList_v1540_sequence_of[1] = { { &hf_nr_rrc_BandCombinationList_v1540_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1540 }, }; static int dissect_nr_rrc_BandCombinationList_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationList_v1540, BandCombinationList_v1540_sequence_of, 1, maxBandComb, FALSE); return offset; } static const value_string nr_rrc_T_dummy_04_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CA_ParametersNR_v1550_sequence[] = { { &hf_nr_rrc_dummy_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_04 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersNR_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersNR_v1550, CA_ParametersNR_v1550_sequence); return offset; } static const per_sequence_t BandCombination_v1550_sequence[] = { { &hf_nr_rrc_ca_ParametersNR_v1550, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_ParametersNR_v1550 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombination_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombination_v1550, BandCombination_v1550_sequence); return offset; } static const per_sequence_t BandCombinationList_v1550_sequence_of[1] = { { &hf_nr_rrc_BandCombinationList_v1550_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1550 }, }; static int dissect_nr_rrc_BandCombinationList_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationList_v1550, BandCombinationList_v1550_sequence_of, 1, maxBandComb, FALSE); return offset; } static const value_string nr_rrc_T_ne_DC_BC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ne_DC_BC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CA_ParametersNR_v1560_sequence[] = { { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersNR_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersNR_v1560, CA_ParametersNR_v1560_sequence); return offset; } static const per_sequence_t CA_ParametersNRDC_sequence[] = { { &hf_nr_rrc_ca_ParametersNR_ForDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR }, { &hf_nr_rrc_ca_ParametersNR_ForDC_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR_v1540 }, { &hf_nr_rrc_ca_ParametersNR_ForDC_v1550, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR_v1550 }, { &hf_nr_rrc_ca_ParametersNR_ForDC_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR_v1560 }, { &hf_nr_rrc_featureSetCombinationDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FeatureSetCombinationId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersNRDC, CA_ParametersNRDC_sequence); return offset; } static int dissect_nr_rrc_INTEGER_2_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, 128U, NULL, FALSE); return offset; } static const per_sequence_t CA_ParametersEUTRA_v1560_sequence[] = { { &hf_nr_rrc_fd_MIMO_TotalWeightedLayers, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_128 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersEUTRA_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersEUTRA_v1560, CA_ParametersEUTRA_v1560_sequence); return offset; } static const per_sequence_t BandCombination_v1560_sequence[] = { { &hf_nr_rrc_ne_DC_BC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ne_DC_BC }, { &hf_nr_rrc_ca_ParametersNRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNRDC }, { &hf_nr_rrc_ca_ParametersEUTRA_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersEUTRA_v1560 }, { &hf_nr_rrc_ca_ParametersNR_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR_v1560 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombination_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombination_v1560, BandCombination_v1560_sequence); return offset; } static const per_sequence_t BandCombinationList_v1560_sequence_of[1] = { { &hf_nr_rrc_BandCombinationList_v1560_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1560 }, }; static int dissect_nr_rrc_BandCombinationList_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationList_v1560, BandCombinationList_v1560_sequence_of, 1, maxBandComb, FALSE); return offset; } static const per_sequence_t CA_ParametersEUTRA_v1570_sequence[] = { { &hf_nr_rrc_dl_1024QAM_TotalWeightedLayers, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_10 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CA_ParametersEUTRA_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CA_ParametersEUTRA_v1570, CA_ParametersEUTRA_v1570_sequence); return offset; } static const per_sequence_t BandCombination_v1570_sequence[] = { { &hf_nr_rrc_ca_ParametersEUTRA_v1570, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CA_ParametersEUTRA_v1570 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombination_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombination_v1570, BandCombination_v1570_sequence); return offset; } static const per_sequence_t BandCombinationList_v1570_sequence_of[1] = { { &hf_nr_rrc_BandCombinationList_v1570_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1570 }, }; static int dissect_nr_rrc_BandCombinationList_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationList_v1570, BandCombinationList_v1570_sequence_of, 1, maxBandComb, FALSE); return offset; } static const value_string nr_rrc_T_dynamicPowerSharingNEDC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicPowerSharingNEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MRDC_Parameters_v1580_sequence[] = { { &hf_nr_rrc_dynamicPowerSharingNEDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharingNEDC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MRDC_Parameters_v1580(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MRDC_Parameters_v1580, MRDC_Parameters_v1580_sequence); return offset; } static const per_sequence_t BandCombination_v1580_sequence[] = { { &hf_nr_rrc_mrdc_Parameters_v1580, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MRDC_Parameters_v1580 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandCombination_v1580(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombination_v1580, BandCombination_v1580_sequence); return offset; } static const per_sequence_t BandCombinationList_v1580_sequence_of[1] = { { &hf_nr_rrc_BandCombinationList_v1580_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination_v1580 }, }; static int dissect_nr_rrc_BandCombinationList_v1580(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandCombinationList_v1580, BandCombinationList_v1580_sequence_of, 1, maxBandComb, FALSE); return offset; } static const value_string nr_rrc_T_maxNumberTxPortsPerResource_vals[] = { { 0, "p2" }, { 1, "p4" }, { 2, "p8" }, { 3, "p12" }, { 4, "p16" }, { 5, "p24" }, { 6, "p32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberTxPortsPerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SupportedCSI_RS_Resource_sequence[] = { { &hf_nr_rrc_maxNumberTxPortsPerResource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource }, { &hf_nr_rrc_maxNumberResourcesPerBand, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_totalNumberTxPortsPerBand, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SupportedCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SupportedCSI_RS_Resource, SupportedCSI_RS_Resource_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource_sequence_of[1] = { { &hf_nr_rrc_supportedCSI_RS_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedCSI_RS_Resource }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource_sequence_of, 1, maxNrofCSI_RS_Resources, FALSE); return offset; } static const value_string nr_rrc_T_modes_vals[] = { { 0, "mode1" }, { 1, "mode1andMode2" }, { 0, NULL } }; static int dissect_nr_rrc_T_modes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_singlePanel_sequence[] = { { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource }, { &hf_nr_rrc_modes , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_modes }, { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_singlePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_singlePanel, T_singlePanel_sequence); return offset; } static const value_string nr_rrc_T_modes_01_vals[] = { { 0, "mode1" }, { 1, "mode2" }, { 2, "both" }, { 0, NULL } }; static int dissect_nr_rrc_T_modes_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_nrofPanels_vals[] = { { 0, "n2" }, { 1, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_nrofPanels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_multiPanel_sequence[] = { { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource }, { &hf_nr_rrc_modes_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_modes_01 }, { &hf_nr_rrc_nrofPanels , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPanels }, { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_multiPanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_multiPanel, T_multiPanel_sequence); return offset; } static const per_sequence_t T_type1_02_sequence[] = { { &hf_nr_rrc_singlePanel , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_singlePanel }, { &hf_nr_rrc_multiPanel , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_multiPanel }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_type1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_type1_02, T_type1_02_sequence); return offset; } static int dissect_nr_rrc_INTEGER_2_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, 4U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_amplitudeScalingType_vals[] = { { 0, "wideband" }, { 1, "widebandAndSubband" }, { 0, NULL } }; static int dissect_nr_rrc_T_amplitudeScalingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_amplitudeSubsetRestriction_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_amplitudeSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_type2_01_sequence[] = { { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource }, { &hf_nr_rrc_parameterLx , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 }, { &hf_nr_rrc_amplitudeScalingType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType }, { &hf_nr_rrc_amplitudeSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_amplitudeSubsetRestriction }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_type2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_type2_01, T_type2_01_sequence); return offset; } static const value_string nr_rrc_T_amplitudeScalingType_01_vals[] = { { 0, "wideband" }, { 1, "widebandAndSubband" }, { 0, NULL } }; static int dissect_nr_rrc_T_amplitudeScalingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_type2_PortSelection_sequence[] = { { &hf_nr_rrc_supportedCSI_RS_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource }, { &hf_nr_rrc_parameterLx , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 }, { &hf_nr_rrc_amplitudeScalingType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_type2_PortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_type2_PortSelection, T_type2_PortSelection_sequence); return offset; } static const per_sequence_t CodebookParameters_sequence[] = { { &hf_nr_rrc_type1_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_type1_02 }, { &hf_nr_rrc_type2_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_01 }, { &hf_nr_rrc_type2_PortSelection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PortSelection }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CodebookParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CodebookParameters, CodebookParameters_sequence); return offset; } static int dissect_nr_rrc_FeatureSetEUTRA_DownlinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxEUTRA_DL_FeatureSets, NULL, FALSE); return offset; } static int dissect_nr_rrc_FeatureSetEUTRA_UplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxEUTRA_UL_FeatureSets, NULL, FALSE); return offset; } static const per_sequence_t T_eutra_02_sequence[] = { { &hf_nr_rrc_downlinkSetEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_DownlinkId }, { &hf_nr_rrc_uplinkSetEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_UplinkId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_eutra_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_eutra_02, T_eutra_02_sequence); return offset; } static int dissect_nr_rrc_FeatureSetDownlinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxDownlinkFeatureSets, NULL, FALSE); return offset; } static int dissect_nr_rrc_FeatureSetUplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxUplinkFeatureSets, NULL, FALSE); return offset; } static const per_sequence_t T_nr_02_sequence[] = { { &hf_nr_rrc_downlinkSetNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkId }, { &hf_nr_rrc_uplinkSetNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkId }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nr_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nr_02, T_nr_02_sequence); return offset; } static const value_string nr_rrc_FeatureSet_vals[] = { { 0, "eutra" }, { 1, "nr" }, { 0, NULL } }; static const per_choice_t FeatureSet_choice[] = { { 0, &hf_nr_rrc_eutra_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_02 }, { 1, &hf_nr_rrc_nr_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_02 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_FeatureSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSet, FeatureSet_choice, NULL); return offset; } static const per_sequence_t FeatureSetsPerBand_sequence_of[1] = { { &hf_nr_rrc_FeatureSetsPerBand_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSet }, }; static int dissect_nr_rrc_FeatureSetsPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetsPerBand, FeatureSetsPerBand_sequence_of, 1, maxFeatureSetsPerBand, FALSE); return offset; } static const per_sequence_t FeatureSetCombination_sequence_of[1] = { { &hf_nr_rrc_FeatureSetCombination_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetsPerBand }, }; static int dissect_nr_rrc_FeatureSetCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetCombination, FeatureSetCombination_sequence_of, 1, maxSimultaneousBands, FALSE); return offset; } static int dissect_nr_rrc_FeatureSetDownlinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxPerCC_FeatureSets, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id_sequence_of[1] = { { &hf_nr_rrc_featureSetListPerDownlinkCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_Id }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id, SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const value_string nr_rrc_FreqSeparationClass_vals[] = { { 0, "c1" }, { 1, "c2" }, { 2, "c3" }, { 0, NULL } }; static int dissect_nr_rrc_FreqSeparationClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, TRUE, 0, NULL); return offset; } static const value_string nr_rrc_T_scalingFactor_vals[] = { { 0, "f0p4" }, { 1, "f0p75" }, { 2, "f0p8" }, { 0, NULL } }; static int dissect_nr_rrc_T_scalingFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_crossCarrierScheduling_OtherSCS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scellWithoutSSB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_scellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dummy1_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_type1_3_CSS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_type1_3_CSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdcch_MonitoringAnyOccasions_vals[] = { { 0, "withoutDCI-Gap" }, { 1, "withDCI-Gap" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcch_MonitoringAnyOccasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dummy2_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_searchSpaceSharingCA_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_searchSpaceSharingCA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_60kHz_vals[] = { { 0, "s7" }, { 1, "s14" }, { 2, "s28" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_120kHz_vals[] = { { 0, "s14" }, { 1, "s28" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_timeDurationForQCL_sequence[] = { { &hf_nr_rrc_scs_60kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz }, { &hf_nr_rrc_scs_120kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_timeDurationForQCL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_timeDurationForQCL, T_timeDurationForQCL_sequence); return offset; } static const value_string nr_rrc_T_scs_15kHz_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_30kHz_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_30kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_60kHz_01_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_120kHz_01_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_120kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_pdsch_ProcessingType1_DifferentTB_PerSlot_sequence[] = { { &hf_nr_rrc_scs_15kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz }, { &hf_nr_rrc_scs_30kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz }, { &hf_nr_rrc_scs_60kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_01 }, { &hf_nr_rrc_scs_120kHz_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot, T_pdsch_ProcessingType1_DifferentTB_PerSlot_sequence); return offset; } static const value_string nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals[] = { { 0, "p2" }, { 1, "p4" }, { 2, "p8" }, { 3, "p12" }, { 4, "p16" }, { 5, "p24" }, { 6, "p32" }, { 7, "p40" }, { 8, "p48" }, { 9, "p56" }, { 10, "p64" }, { 11, "p72" }, { 12, "p80" }, { 13, "p88" }, { 14, "p96" }, { 15, "p104" }, { 16, "p112" }, { 17, "p120" }, { 18, "p128" }, { 19, "p136" }, { 20, "p144" }, { 21, "p152" }, { 22, "p160" }, { 23, "p168" }, { 24, "p176" }, { 25, "p184" }, { 26, "p192" }, { 27, "p200" }, { 28, "p208" }, { 29, "p216" }, { 30, "p224" }, { 31, "p232" }, { 32, "p240" }, { 33, "p248" }, { 34, "p256" }, { 0, NULL } }; static value_string_ext nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals); static int dissect_nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 35, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberCS_IM_PerCC_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberCS_IM_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals[] = { { 0, "n5" }, { 1, "n6" }, { 2, "n7" }, { 3, "n8" }, { 4, "n9" }, { 5, "n10" }, { 6, "n12" }, { 7, "n14" }, { 8, "n16" }, { 9, "n18" }, { 10, "n20" }, { 11, "n22" }, { 12, "n24" }, { 13, "n26" }, { 14, "n28" }, { 15, "n30" }, { 16, "n32" }, { 17, "n34" }, { 18, "n36" }, { 19, "n38" }, { 20, "n40" }, { 21, "n42" }, { 22, "n44" }, { 23, "n46" }, { 24, "n48" }, { 25, "n50" }, { 26, "n52" }, { 27, "n54" }, { 28, "n56" }, { 29, "n58" }, { 30, "n60" }, { 31, "n62" }, { 32, "n64" }, { 0, NULL } }; static value_string_ext nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals); static int dissect_nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 33, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals[] = { { 0, "p8" }, { 1, "p12" }, { 2, "p16" }, { 3, "p24" }, { 4, "p32" }, { 5, "p40" }, { 6, "p48" }, { 7, "p56" }, { 8, "p64" }, { 9, "p72" }, { 10, "p80" }, { 11, "p88" }, { 12, "p96" }, { 13, "p104" }, { 14, "p112" }, { 15, "p120" }, { 16, "p128" }, { 17, "p136" }, { 18, "p144" }, { 19, "p152" }, { 20, "p160" }, { 21, "p168" }, { 22, "p176" }, { 23, "p184" }, { 24, "p192" }, { 25, "p200" }, { 26, "p208" }, { 27, "p216" }, { 28, "p224" }, { 29, "p232" }, { 30, "p240" }, { 31, "p248" }, { 32, "p256" }, { 0, NULL } }; static value_string_ext nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals); static int dissect_nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 33, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DummyA_sequence[] = { { &hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 }, { &hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC }, { &hf_nr_rrc_maxNumberCS_IM_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCS_IM_PerCC }, { &hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC }, { &hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyA, DummyA_sequence); return offset; } static const value_string nr_rrc_T_maxNumberTxPortsPerResource_01_vals[] = { { 0, "p2" }, { 1, "p4" }, { 2, "p8" }, { 3, "p12" }, { 4, "p16" }, { 5, "p24" }, { 6, "p32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberTxPortsPerResource_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedCodebookMode_vals[] = { { 0, "mode1" }, { 1, "mode1AndMode2" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedCodebookMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DummyB_sequence[] = { { &hf_nr_rrc_maxNumberTxPortsPerResource_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_01 }, { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 }, { &hf_nr_rrc_supportedCodebookMode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCodebookMode }, { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyB, DummyB_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB_sequence_of[1] = { { &hf_nr_rrc_dummy4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyB }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB_sequence_of, 1, maxNrofCodebooks, FALSE); return offset; } static const value_string nr_rrc_T_maxNumberTxPortsPerResource_02_vals[] = { { 0, "p8" }, { 1, "p16" }, { 2, "p32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberTxPortsPerResource_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedCodebookMode_01_vals[] = { { 0, "mode1" }, { 1, "mode2" }, { 2, "both" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedCodebookMode_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedNumberPanels_vals[] = { { 0, "n2" }, { 1, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedNumberPanels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DummyC_sequence[] = { { &hf_nr_rrc_maxNumberTxPortsPerResource_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_02 }, { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 }, { &hf_nr_rrc_supportedCodebookMode_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCodebookMode_01 }, { &hf_nr_rrc_supportedNumberPanels, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedNumberPanels }, { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyC, DummyC_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC_sequence_of[1] = { { &hf_nr_rrc_dummy5_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyC }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC_sequence_of, 1, maxNrofCodebooks, FALSE); return offset; } static const value_string nr_rrc_T_maxNumberTxPortsPerResource_03_vals[] = { { 0, "p4" }, { 1, "p8" }, { 2, "p12" }, { 3, "p16" }, { 4, "p24" }, { 5, "p32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberTxPortsPerResource_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_amplitudeScalingType_02_vals[] = { { 0, "wideband" }, { 1, "widebandAndSubband" }, { 0, NULL } }; static int dissect_nr_rrc_T_amplitudeScalingType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_amplitudeSubsetRestriction_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_amplitudeSubsetRestriction_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DummyD_sequence[] = { { &hf_nr_rrc_maxNumberTxPortsPerResource_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_03 }, { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 }, { &hf_nr_rrc_parameterLx , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 }, { &hf_nr_rrc_amplitudeScalingType_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType_02 }, { &hf_nr_rrc_amplitudeSubsetRestriction_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_amplitudeSubsetRestriction_01 }, { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyD, DummyD_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD_sequence_of[1] = { { &hf_nr_rrc_dummy6_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyD }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD_sequence_of, 1, maxNrofCodebooks, FALSE); return offset; } static const value_string nr_rrc_T_maxNumberTxPortsPerResource_04_vals[] = { { 0, "p4" }, { 1, "p8" }, { 2, "p12" }, { 3, "p16" }, { 4, "p24" }, { 5, "p32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberTxPortsPerResource_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_amplitudeScalingType_03_vals[] = { { 0, "wideband" }, { 1, "widebandAndSubband" }, { 0, NULL } }; static int dissect_nr_rrc_T_amplitudeScalingType_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DummyE_sequence[] = { { &hf_nr_rrc_maxNumberTxPortsPerResource_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_04 }, { &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 }, { &hf_nr_rrc_parameterLx , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 }, { &hf_nr_rrc_amplitudeScalingType_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType_03 }, { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyE, DummyE_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE_sequence_of[1] = { { &hf_nr_rrc_dummy7_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DummyE }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE_sequence_of, 1, maxNrofCodebooks, FALSE); return offset; } static const per_sequence_t FeatureSetDownlink_sequence[] = { { &hf_nr_rrc_featureSetListPerDownlinkCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id }, { &hf_nr_rrc_intraBandFreqSeparationDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass }, { &hf_nr_rrc_scalingFactor, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor }, { &hf_nr_rrc_crossCarrierScheduling_OtherSCS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS }, { &hf_nr_rrc_scellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellWithoutSSB }, { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB }, { &hf_nr_rrc_dummy1_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy1_01 }, { &hf_nr_rrc_type1_3_CSS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_3_CSS }, { &hf_nr_rrc_pdcch_MonitoringAnyOccasions, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_MonitoringAnyOccasions }, { &hf_nr_rrc_dummy2_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy2_01 }, { &hf_nr_rrc_ue_SpecificUL_DL_Assignment, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment }, { &hf_nr_rrc_searchSpaceSharingCA_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_DL }, { &hf_nr_rrc_timeDurationForQCL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDurationForQCL }, { &hf_nr_rrc_pdsch_ProcessingType1_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot }, { &hf_nr_rrc_dummy3 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DummyA }, { &hf_nr_rrc_dummy4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB }, { &hf_nr_rrc_dummy5 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC }, { &hf_nr_rrc_dummy6 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD }, { &hf_nr_rrc_dummy7 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetDownlink, FeatureSetDownlink_sequence); return offset; } static const value_string nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_additionalDMRS_DL_Alt_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_additionalDMRS_DL_Alt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_15kHz_01_vals[] = { { 0, "set1" }, { 1, "set2" }, { 2, "set3" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_15kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_30kHz_01_vals[] = { { 0, "set1" }, { 1, "set2" }, { 2, "set3" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_30kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_60kHz_02_vals[] = { { 0, "set1" }, { 1, "set2" }, { 2, "set3" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_120kHz_02_vals[] = { { 0, "set1" }, { 1, "set2" }, { 2, "set3" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_120kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_pdcch_MonitoringAnyOccasionsWithSpanGap_sequence[] = { { &hf_nr_rrc_scs_15kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_01 }, { &hf_nr_rrc_scs_30kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_01 }, { &hf_nr_rrc_scs_60kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_02 }, { &hf_nr_rrc_scs_120kHz_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_02 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap, T_pdcch_MonitoringAnyOccasionsWithSpanGap_sequence); return offset; } static const value_string nr_rrc_T_pdsch_SeparationWithGap_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_SeparationWithGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_fallback_vals[] = { { 0, "sc" }, { 1, "cap1-only" }, { 0, NULL } }; static int dissect_nr_rrc_T_fallback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_NumberOfCarriers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 16U, NULL, FALSE); return offset; } static const per_sequence_t T_differentTB_PerSlot_sequence[] = { { &hf_nr_rrc_upto1 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NumberOfCarriers }, { &hf_nr_rrc_upto2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NumberOfCarriers }, { &hf_nr_rrc_upto4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NumberOfCarriers }, { &hf_nr_rrc_upto7 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NumberOfCarriers }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_differentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_differentTB_PerSlot, T_differentTB_PerSlot_sequence); return offset; } static const per_sequence_t ProcessingParameters_sequence[] = { { &hf_nr_rrc_fallback , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_fallback }, { &hf_nr_rrc_differentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_differentTB_PerSlot }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_ProcessingParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_ProcessingParameters, ProcessingParameters_sequence); return offset; } static const per_sequence_t T_pdsch_ProcessingType2_sequence[] = { { &hf_nr_rrc_scs_15kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ProcessingParameters }, { &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ProcessingParameters }, { &hf_nr_rrc_scs_60kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ProcessingParameters }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pdsch_ProcessingType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdsch_ProcessingType2, T_pdsch_ProcessingType2_sequence); return offset; } static const value_string nr_rrc_T_differentTB_PerSlot_SCS_30kHz_vals[] = { { 0, "upto1" }, { 1, "upto2" }, { 2, "upto4" }, { 3, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_differentTB_PerSlot_SCS_30kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_pdsch_ProcessingType2_Limited_sequence[] = { { &hf_nr_rrc_differentTB_PerSlot_SCS_30kHz, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_differentTB_PerSlot_SCS_30kHz }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pdsch_ProcessingType2_Limited(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdsch_ProcessingType2_Limited, T_pdsch_ProcessingType2_Limited_sequence); return offset; } static const value_string nr_rrc_T_dl_MCS_TableAlt_DynamicIndication_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_MCS_TableAlt_DynamicIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t FeatureSetDownlink_v1540_sequence[] = { { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL }, { &hf_nr_rrc_additionalDMRS_DL_Alt, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS_DL_Alt }, { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL }, { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL }, { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap }, { &hf_nr_rrc_pdsch_SeparationWithGap, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_SeparationWithGap }, { &hf_nr_rrc_pdsch_ProcessingType2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ProcessingType2 }, { &hf_nr_rrc_pdsch_ProcessingType2_Limited, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ProcessingType2_Limited }, { &hf_nr_rrc_dl_MCS_TableAlt_DynamicIndication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_MCS_TableAlt_DynamicIndication }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSetDownlink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetDownlink_v1540, FeatureSetDownlink_v1540_sequence); return offset; } static const value_string nr_rrc_T_fr1_02_vals[] = { { 0, "mhz5" }, { 1, "mhz10" }, { 2, "mhz15" }, { 3, "mhz20" }, { 4, "mhz25" }, { 5, "mhz30" }, { 6, "mhz40" }, { 7, "mhz50" }, { 8, "mhz60" }, { 9, "mhz80" }, { 10, "mhz100" }, { 0, NULL } }; static int dissect_nr_rrc_T_fr1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 11, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_fr2_02_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz200" }, { 3, "mhz400" }, { 0, NULL } }; static int dissect_nr_rrc_T_fr2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_SupportedBandwidth_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static const per_choice_t SupportedBandwidth_choice[] = { { 0, &hf_nr_rrc_fr1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_02 }, { 1, &hf_nr_rrc_fr2_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_02 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_SupportedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SupportedBandwidth, SupportedBandwidth_choice, NULL); return offset; } static const value_string nr_rrc_T_channelBW_90mhz_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_channelBW_90mhz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_ModulationOrder_vals[] = { { 0, "bpsk-halfpi" }, { 1, "bpsk" }, { 2, "qpsk" }, { 3, "qam16" }, { 4, "qam64" }, { 5, "qam256" }, { 0, NULL } }; static int dissect_nr_rrc_ModulationOrder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t FeatureSetDownlinkPerCC_sequence[] = { { &hf_nr_rrc_supportedSubcarrierSpacingDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_supportedBandwidthDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandwidth }, { &hf_nr_rrc_channelBW_90mhz, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBW_90mhz }, { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersDL }, { &hf_nr_rrc_supportedModulationOrderDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ModulationOrder }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetDownlinkPerCC, FeatureSetDownlinkPerCC_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of[1] = { { &hf_nr_rrc_featureSetsDownlink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of, 1, maxDownlinkFeatureSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of[1] = { { &hf_nr_rrc_featureSetsDownlinkPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of, 1, maxPerCC_FeatureSets, FALSE); return offset; } static int dissect_nr_rrc_FeatureSetUplinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxPerCC_FeatureSets, NULL, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id_sequence_of[1] = { { &hf_nr_rrc_featureSetListPerUplinkCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC_Id }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id, SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id_sequence_of, 1, maxNrofServingCells, FALSE); return offset; } static const value_string nr_rrc_T_scalingFactor_01_vals[] = { { 0, "f0p4" }, { 1, "f0p75" }, { 2, "f0p8" }, { 0, NULL } }; static int dissect_nr_rrc_T_scalingFactor_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_crossCarrierScheduling_OtherSCS_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_searchSpaceSharingCA_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_searchSpaceSharingCA_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_01_vals[] = { { 0, "t1r2" }, { 1, "t1r4" }, { 2, "t2r4" }, { 3, "t1r4-t2r4" }, { 4, "tr-equal" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedSRS_TxPortSwitch_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_txSwitchImpactToRx_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_txSwitchImpactToRx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DummyI_sequence[] = { { &hf_nr_rrc_supportedSRS_TxPortSwitch_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch_01 }, { &hf_nr_rrc_txSwitchImpactToRx_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_txSwitchImpactToRx }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyI, DummyI_sequence); return offset; } static const value_string nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 6U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberSRS_Ports_PerResource_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SRS_Resources_sequence[] = { { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP }, { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP }, { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP }, { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 }, { &hf_nr_rrc_maxNumberSRS_Ports_PerResource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SRS_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SRS_Resources, SRS_Resources_sequence); return offset; } static const value_string nr_rrc_T_twoPUCCH_Group_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicSwitchSUL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicSwitchSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousTxSUL_NonSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_15kHz_02_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_15kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_30kHz_02_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_60kHz_03_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_120kHz_03_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 2, "upto7" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_120kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_pusch_ProcessingType1_DifferentTB_PerSlot_sequence[] = { { &hf_nr_rrc_scs_15kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_02 }, { &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_02 }, { &hf_nr_rrc_scs_60kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_03 }, { &hf_nr_rrc_scs_120kHz_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_03 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot, T_pusch_ProcessingType1_DifferentTB_PerSlot_sequence); return offset; } static const per_sequence_t DummyF_sequence[] = { { &hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 }, { &hf_nr_rrc_simultaneousCSI_ReportsAllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_5_32 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyF, DummyF_sequence); return offset; } static const per_sequence_t FeatureSetUplink_sequence[] = { { &hf_nr_rrc_featureSetListPerUplinkCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id }, { &hf_nr_rrc_scalingFactor_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor_01 }, { &hf_nr_rrc_crossCarrierScheduling_OtherSCS_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_OtherSCS_01 }, { &hf_nr_rrc_intraBandFreqSeparationUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass }, { &hf_nr_rrc_searchSpaceSharingCA_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_UL }, { &hf_nr_rrc_dummy1_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DummyI }, { &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources }, { &hf_nr_rrc_twoPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_Group }, { &hf_nr_rrc_dynamicSwitchSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchSUL }, { &hf_nr_rrc_simultaneousTxSUL_NonSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL }, { &hf_nr_rrc_pusch_ProcessingType1_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot }, { &hf_nr_rrc_dummy2_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DummyF }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetUplink, FeatureSetUplink_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of[1] = { { &hf_nr_rrc_featureSetsUplink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of, 1, maxUplinkFeatureSets, FALSE); return offset; } static const value_string nr_rrc_T_channelBW_90mhz_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_channelBW_90mhz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_mimo_CB_PUSCH_sequence[] = { { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL }, { &hf_nr_rrc_maxNumberSRS_ResourcePerSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_mimo_CB_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_mimo_CB_PUSCH, T_mimo_CB_PUSCH_sequence); return offset; } static const per_sequence_t FeatureSetUplinkPerCC_sequence[] = { { &hf_nr_rrc_supportedSubcarrierSpacingUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing }, { &hf_nr_rrc_supportedBandwidthUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandwidth }, { &hf_nr_rrc_channelBW_90mhz_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBW_90mhz_01 }, { &hf_nr_rrc_mimo_CB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mimo_CB_PUSCH }, { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL }, { &hf_nr_rrc_supportedModulationOrderUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ModulationOrder }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSetUplinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetUplinkPerCC, FeatureSetUplinkPerCC_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_sequence_of[1] = { { &hf_nr_rrc_featureSetsUplinkPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_sequence_of, 1, maxPerCC_FeatureSets, FALSE); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540_sequence_of[1] = { { &hf_nr_rrc_featureSetsDownlink_v1540_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink_v1540 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540_sequence_of, 1, maxDownlinkFeatureSets, FALSE); return offset; } static const value_string nr_rrc_T_zeroSlotOffsetAperiodicSRS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_zeroSlotOffsetAperiodicSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pa_PhaseDiscontinuityImpacts_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pa_PhaseDiscontinuityImpacts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pusch_SeparationWithGap_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pusch_SeparationWithGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_pusch_ProcessingType2_sequence[] = { { &hf_nr_rrc_scs_15kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ProcessingParameters }, { &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ProcessingParameters }, { &hf_nr_rrc_scs_60kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ProcessingParameters }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pusch_ProcessingType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pusch_ProcessingType2, T_pusch_ProcessingType2_sequence); return offset; } static const value_string nr_rrc_T_ul_MCS_TableAlt_DynamicIndication_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ul_MCS_TableAlt_DynamicIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t FeatureSetUplink_v1540_sequence[] = { { &hf_nr_rrc_zeroSlotOffsetAperiodicSRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_zeroSlotOffsetAperiodicSRS }, { &hf_nr_rrc_pa_PhaseDiscontinuityImpacts, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pa_PhaseDiscontinuityImpacts }, { &hf_nr_rrc_pusch_SeparationWithGap, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_SeparationWithGap }, { &hf_nr_rrc_pusch_ProcessingType2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ProcessingType2 }, { &hf_nr_rrc_ul_MCS_TableAlt_DynamicIndication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_MCS_TableAlt_DynamicIndication }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSetUplink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetUplink_v1540, FeatureSetUplink_v1540_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540_sequence_of[1] = { { &hf_nr_rrc_featureSetsUplink_v1540_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink_v1540 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540_sequence_of, 1, maxUplinkFeatureSets, FALSE); return offset; } static const per_sequence_t T_mimo_NonCB_PUSCH_sequence[] = { { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberSimultaneousSRS_ResourceTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_mimo_NonCB_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_mimo_NonCB_PUSCH, T_mimo_NonCB_PUSCH_sequence); return offset; } static const per_sequence_t FeatureSetUplinkPerCC_v1540_sequence[] = { { &hf_nr_rrc_mimo_NonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mimo_NonCB_PUSCH }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSetUplinkPerCC_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSetUplinkPerCC_v1540, FeatureSetUplinkPerCC_v1540_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540_sequence_of[1] = { { &hf_nr_rrc_featureSetsUplinkPerCC_v1540_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC_v1540 }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540_sequence_of, 1, maxPerCC_FeatureSets, FALSE); return offset; } static const per_sequence_t FeatureSets_eag_1_sequence[] = { { &hf_nr_rrc_featureSetsDownlink_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540 }, { &hf_nr_rrc_featureSetsUplink_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540 }, { &hf_nr_rrc_featureSetsUplinkPerCC_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSets_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, FeatureSets_eag_1_sequence); return offset; } static const per_sequence_t FeatureSets_sequence[] = { { &hf_nr_rrc_featureSetsDownlink, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink }, { &hf_nr_rrc_featureSetsDownlinkPerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC }, { &hf_nr_rrc_featureSetsUplink, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink }, { &hf_nr_rrc_featureSetsUplinkPerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSets_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FeatureSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FeatureSets, FeatureSets_sequence); return offset; } static const per_sequence_t FreqBandInformationEUTRA_sequence[] = { { &hf_nr_rrc_bandEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA }, { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA }, { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FreqBandInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqBandInformationEUTRA, FreqBandInformationEUTRA_sequence); return offset; } static const value_string nr_rrc_AggregatedBandwidth_vals[] = { { 0, "mhz50" }, { 1, "mhz100" }, { 2, "mhz150" }, { 3, "mhz200" }, { 4, "mhz250" }, { 5, "mhz300" }, { 6, "mhz350" }, { 7, "mhz400" }, { 8, "mhz450" }, { 9, "mhz500" }, { 10, "mhz550" }, { 11, "mhz600" }, { 12, "mhz650" }, { 13, "mhz700" }, { 14, "mhz750" }, { 15, "mhz800" }, { 0, NULL } }; static int dissect_nr_rrc_AggregatedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_1_maxNrofServingCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, maxNrofServingCells, NULL, FALSE); return offset; } static const per_sequence_t FreqBandInformationNR_sequence[] = { { &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, { &hf_nr_rrc_maxBandwidthRequestedDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AggregatedBandwidth }, { &hf_nr_rrc_maxBandwidthRequestedUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AggregatedBandwidth }, { &hf_nr_rrc_maxCarriersRequestedDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofServingCells }, { &hf_nr_rrc_maxCarriersRequestedUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofServingCells }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_FreqBandInformationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqBandInformationNR, FreqBandInformationNR_sequence); return offset; } static const value_string nr_rrc_FreqBandInformation_vals[] = { { 0, "bandInformationEUTRA" }, { 1, "bandInformationNR" }, { 0, NULL } }; static const per_choice_t FreqBandInformation_choice[] = { { 0, &hf_nr_rrc_bandInformationEUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandInformationEUTRA }, { 1, &hf_nr_rrc_bandInformationNR, ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandInformationNR }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_FreqBandInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqBandInformation, FreqBandInformation_choice, NULL); return offset; } static const per_sequence_t FreqBandList_sequence_of[1] = { { &hf_nr_rrc_FreqBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandInformation }, }; static int dissect_nr_rrc_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_FreqBandList, FreqBandList_sequence_of, 1, maxBandsMRDC, FALSE); return offset; } static const value_string nr_rrc_T_voiceOverEUTRA_5GC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_voiceOverEUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t IMS_ParametersCommon_eag_1_sequence[] = { { &hf_nr_rrc_voiceOverSCG_BearerEUTRA_5GC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_IMS_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, IMS_ParametersCommon_eag_1_sequence); return offset; } static const per_sequence_t IMS_ParametersCommon_sequence[] = { { &hf_nr_rrc_voiceOverEUTRA_5GC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceOverEUTRA_5GC }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_IMS_ParametersCommon_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_IMS_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_IMS_ParametersCommon, IMS_ParametersCommon_sequence); return offset; } static const value_string nr_rrc_T_voiceOverNR_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_voiceOverNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t IMS_ParametersFRX_Diff_sequence[] = { { &hf_nr_rrc_voiceOverNR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_voiceOverNR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_IMS_ParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_IMS_ParametersFRX_Diff, IMS_ParametersFRX_Diff_sequence); return offset; } static const per_sequence_t IMS_Parameters_sequence[] = { { &hf_nr_rrc_ims_ParametersCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IMS_ParametersCommon }, { &hf_nr_rrc_ims_ParametersFRX_Diff, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IMS_ParametersFRX_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_IMS_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_IMS_Parameters, IMS_Parameters_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA_sequence_of[1] = { { &hf_nr_rrc_supportedBandListEUTRA_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA, SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA_sequence_of, 1, maxBandsEUTRA, FALSE); return offset; } static const value_string nr_rrc_T_mfbi_EUTRA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_mfbi_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_multiNS_Pmax_EUTRA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_multiNS_Pmax_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_rs_SINR_MeasEUTRA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_rs_SINR_MeasEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ne_DC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ne_DC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t EUTRA_ParametersCommon_eag_1_sequence[] = { { &hf_nr_rrc_ne_DC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ne_DC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, EUTRA_ParametersCommon_eag_1_sequence); return offset; } static const per_sequence_t EUTRA_ParametersCommon_sequence[] = { { &hf_nr_rrc_mfbi_EUTRA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mfbi_EUTRA }, { &hf_nr_rrc_modifiedMPR_BehaviorEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_32 }, { &hf_nr_rrc_multiNS_Pmax_EUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multiNS_Pmax_EUTRA }, { &hf_nr_rrc_rs_SINR_MeasEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rs_SINR_MeasEUTRA }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersCommon_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_ParametersCommon, EUTRA_ParametersCommon_sequence); return offset; } static const value_string nr_rrc_T_rsrqMeasWidebandEUTRA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_rsrqMeasWidebandEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t EUTRA_ParametersXDD_Diff_sequence[] = { { &hf_nr_rrc_rsrqMeasWidebandEUTRA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rsrqMeasWidebandEUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_ParametersXDD_Diff, EUTRA_ParametersXDD_Diff_sequence); return offset; } static const per_sequence_t EUTRA_Parameters_sequence[] = { { &hf_nr_rrc_supportedBandListEUTRA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA }, { &hf_nr_rrc_eutra_ParametersCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_ParametersCommon }, { &hf_nr_rrc_eutra_ParametersXDD_Diff, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_ParametersXDD_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_EUTRA_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_EUTRA_Parameters, EUTRA_Parameters_sequence); return offset; } static const per_sequence_t InterRAT_Parameters_sequence[] = { { &hf_nr_rrc_eutra_04 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_Parameters }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_InterRAT_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_InterRAT_Parameters, InterRAT_Parameters_sequence); return offset; } static const value_string nr_rrc_T_lcp_Restriction_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_lcp_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dummy_05_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_lch_ToSCellRestriction_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_lch_ToSCellRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_recommendedBitRate_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_recommendedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_recommendedBitRateQuery_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_recommendedBitRateQuery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MAC_ParametersCommon_eag_1_sequence[] = { { &hf_nr_rrc_recommendedBitRate, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_recommendedBitRate }, { &hf_nr_rrc_recommendedBitRateQuery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_recommendedBitRateQuery }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MAC_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MAC_ParametersCommon_eag_1_sequence); return offset; } static const per_sequence_t MAC_ParametersCommon_sequence[] = { { &hf_nr_rrc_lcp_Restriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_Restriction }, { &hf_nr_rrc_dummy_08 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_05 }, { &hf_nr_rrc_lch_ToSCellRestriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lch_ToSCellRestriction }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MAC_ParametersCommon_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MAC_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MAC_ParametersCommon, MAC_ParametersCommon_sequence); return offset; } static const value_string nr_rrc_T_skipUplinkTxDynamic_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_skipUplinkTxDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_longDRX_Cycle_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_longDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_shortDRX_Cycle_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_multipleSR_Configurations_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_multipleConfiguredGrants_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_multipleConfiguredGrants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MAC_ParametersXDD_Diff_sequence[] = { { &hf_nr_rrc_skipUplinkTxDynamic_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_skipUplinkTxDynamic }, { &hf_nr_rrc_logicalChannelSR_DelayTimer_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01 }, { &hf_nr_rrc_longDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_longDRX_Cycle }, { &hf_nr_rrc_shortDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_Cycle }, { &hf_nr_rrc_multipleSR_Configurations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleSR_Configurations }, { &hf_nr_rrc_multipleConfiguredGrants, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleConfiguredGrants }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MAC_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MAC_ParametersXDD_Diff, MAC_ParametersXDD_Diff_sequence); return offset; } static const per_sequence_t MAC_Parameters_sequence[] = { { &hf_nr_rrc_mac_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersCommon }, { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MAC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MAC_Parameters, MAC_Parameters_sequence); return offset; } static int dissect_nr_rrc_BIT_STRING_SIZE_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 22, 22, FALSE, NULL, 0, NULL, NULL); return offset; } static const value_string nr_rrc_T_ssb_RLM_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ssb_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ssb_AndCSI_RS_RLM_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ssb_AndCSI_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_eventB_MeasAndReport_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_eventB_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverFDD_TDD_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverFDD_TDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_eutra_CGI_Reporting_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_eutra_CGI_Reporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_nr_CGI_Reporting_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_nr_CGI_Reporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersCommon_eag_1_sequence[] = { { &hf_nr_rrc_eventB_MeasAndReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eventB_MeasAndReport }, { &hf_nr_rrc_handoverFDD_TDD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverFDD_TDD }, { &hf_nr_rrc_eutra_CGI_Reporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_eutra_CGI_Reporting }, { &hf_nr_rrc_nr_CGI_Reporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_CGI_Reporting }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_1_sequence); return offset; } static const value_string nr_rrc_T_independentGapConfig_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_periodicEUTRA_MeasAndReport_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_periodicEUTRA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverFR1_FR2_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverFR1_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n16" }, { 3, "n32" }, { 4, "n64" }, { 5, "n96" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersCommon_eag_2_sequence[] = { { &hf_nr_rrc_independentGapConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_independentGapConfig }, { &hf_nr_rrc_periodicEUTRA_MeasAndReport, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicEUTRA_MeasAndReport }, { &hf_nr_rrc_handoverFR1_FR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverFR1_FR2 }, { &hf_nr_rrc_maxNumberCSI_RS_RRM_RS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_2_sequence); return offset; } static const value_string nr_rrc_T_nr_CGI_Reporting_ENDC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_nr_CGI_Reporting_ENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersCommon_eag_3_sequence[] = { { &hf_nr_rrc_nr_CGI_Reporting_ENDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nr_CGI_Reporting_ENDC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersCommon_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersCommon_eag_3_sequence); return offset; } static const per_sequence_t MeasAndMobParametersCommon_sequence[] = { { &hf_nr_rrc_supportedGapPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_22 }, { &hf_nr_rrc_ssb_RLM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_RLM }, { &hf_nr_rrc_ssb_AndCSI_RS_RLM, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_AndCSI_RS_RLM }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersCommon_eag_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersCommon, MeasAndMobParametersCommon_sequence); return offset; } static const value_string nr_rrc_T_intraAndInterF_MeasAndReport_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_intraAndInterF_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_eventA_MeasAndReport_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_eventA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverInterF_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverInterF(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverLTE_EPC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverLTE_EPC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverLTE_5GC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverLTE_5GC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersXDD_Diff_eag_1_sequence[] = { { &hf_nr_rrc_handoverInterF, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverInterF }, { &hf_nr_rrc_handoverLTE_EPC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverLTE_EPC }, { &hf_nr_rrc_handoverLTE_5GC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverLTE_5GC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersXDD_Diff_eag_1_sequence); return offset; } static const value_string nr_rrc_T_sftd_MeasNR_Neigh_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sftd_MeasNR_Neigh(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sftd_MeasNR_Neigh_DRX_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sftd_MeasNR_Neigh_DRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersXDD_Diff_eag_2_sequence[] = { { &hf_nr_rrc_sftd_MeasNR_Neigh, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasNR_Neigh }, { &hf_nr_rrc_sftd_MeasNR_Neigh_DRX, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasNR_Neigh_DRX }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersXDD_Diff_eag_2_sequence); return offset; } static const per_sequence_t MeasAndMobParametersXDD_Diff_sequence[] = { { &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_intraAndInterF_MeasAndReport }, { &hf_nr_rrc_eventA_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_eventA_MeasAndReport }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersXDD_Diff_eag_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersXDD_Diff, MeasAndMobParametersXDD_Diff_sequence); return offset; } static const value_string nr_rrc_T_ss_SINR_Meas_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ss_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_csi_SINR_Meas_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_csi_RS_RLM_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverInterF_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverInterF_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverLTE_EPC_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverLTE_EPC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_handoverLTE_5GC_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_handoverLTE_5GC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_1_sequence[] = { { &hf_nr_rrc_handoverInterF_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverInterF_01 }, { &hf_nr_rrc_handoverLTE_EPC_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverLTE_EPC_01 }, { &hf_nr_rrc_handoverLTE_5GC_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_handoverLTE_5GC_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_1_sequence); return offset; } static const value_string nr_rrc_T_maxNumberResource_CSI_RS_RLM_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n6" }, { 3, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberResource_CSI_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_2_sequence[] = { { &hf_nr_rrc_maxNumberResource_CSI_RS_RLM, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberResource_CSI_RS_RLM }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_2_sequence); return offset; } static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersFRX_Diff_eag_3_sequence[] = { { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MeasAndMobParametersFRX_Diff_eag_3_sequence); return offset; } static const per_sequence_t MeasAndMobParametersFRX_Diff_sequence[] = { { &hf_nr_rrc_ss_SINR_Meas , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_SINR_Meas }, { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB }, { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB }, { &hf_nr_rrc_csi_SINR_Meas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_SINR_Meas }, { &hf_nr_rrc_csi_RS_RLM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_RLM }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersFRX_Diff_eag_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersFRX_Diff, MeasAndMobParametersFRX_Diff_sequence); return offset; } static const per_sequence_t MeasAndMobParameters_sequence[] = { { &hf_nr_rrc_measAndMobParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersCommon }, { &hf_nr_rrc_measAndMobParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersXDD_Diff }, { &hf_nr_rrc_measAndMobParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersFRX_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParameters, MeasAndMobParameters_sequence); return offset; } static const value_string nr_rrc_T_independentGapConfig_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_independentGapConfig_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersMRDC_Common_sequence[] = { { &hf_nr_rrc_independentGapConfig_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_independentGapConfig_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersMRDC_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersMRDC_Common, MeasAndMobParametersMRDC_Common_sequence); return offset; } static const value_string nr_rrc_T_sftd_MeasPSCell_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sftd_MeasPSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sftd_MeasNR_Cell_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sftd_MeasNR_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersMRDC_XDD_Diff_sequence[] = { { &hf_nr_rrc_sftd_MeasPSCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasPSCell }, { &hf_nr_rrc_sftd_MeasNR_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasNR_Cell }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff, MeasAndMobParametersMRDC_XDD_Diff_sequence); return offset; } static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersMRDC_FRX_Diff_sequence[] = { { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff, MeasAndMobParametersMRDC_FRX_Diff_sequence); return offset; } static const per_sequence_t MeasAndMobParametersMRDC_sequence[] = { { &hf_nr_rrc_measAndMobParametersMRDC_Common, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_Common }, { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff }, { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersMRDC, MeasAndMobParametersMRDC_sequence); return offset; } static const value_string nr_rrc_T_sftd_MeasPSCell_NEDC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sftd_MeasPSCell_NEDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t MeasAndMobParametersMRDC_XDD_Diff_v1560_sequence[] = { { &hf_nr_rrc_sftd_MeasPSCell_NEDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasPSCell_NEDC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560, MeasAndMobParametersMRDC_XDD_Diff_v1560_sequence); return offset; } static const per_sequence_t MeasAndMobParametersMRDC_v1560_sequence[] = { { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MeasAndMobParametersMRDC_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MeasAndMobParametersMRDC_v1560, MeasAndMobParametersMRDC_v1560_sequence); return offset; } static const value_string nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n16" }, { 3, "n32" }, { 4, "n64" }, { 5, "n128" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberConfiguredTCIstatesPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberActiveTCI_PerBWP_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberActiveTCI_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_tci_StatePDSCH_sequence[] = { { &hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberConfiguredTCIstatesPerCC }, { &hf_nr_rrc_maxNumberActiveTCI_PerBWP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberActiveTCI_PerBWP }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_tci_StatePDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_tci_StatePDSCH, T_tci_StatePDSCH_sequence); return offset; } static const value_string nr_rrc_T_additionalActiveTCI_StatePDCCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pusch_TransCoherence_vals[] = { { 0, "nonCoherent" }, { 1, "partialCoherent" }, { 2, "fullCoherent" }, { 0, NULL } }; static int dissect_nr_rrc_T_pusch_TransCoherence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_periodicBeamReport_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_periodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_aperiodicBeamReport_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_aperiodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sp_BeamReportPUCCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sp_BeamReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sp_BeamReportPUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sp_BeamReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals[] = { { 0, "n8" }, { 1, "n16" }, { 2, "n32" }, { 3, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals[] = { { 0, "n0" }, { 1, "n4" }, { 2, "n8" }, { 3, "n16" }, { 4, "n32" }, { 5, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedCSI_RS_Density_vals[] = { { 0, "one" }, { 1, "three" }, { 2, "oneAndThree" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedCSI_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t DummyG_sequence[] = { { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx }, { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx }, { &hf_nr_rrc_supportedCSI_RS_Density, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_Density }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyG, DummyG_sequence); return offset; } static int dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 2U, 8U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_scs_15kHz_03_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_15kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_30kHz_03_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_60kHz_04_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_120kHz_04_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_120kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_240kHz_vals[] = { { 0, "n4" }, { 1, "n7" }, { 2, "n14" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = { { &hf_nr_rrc_scs_15kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_03 }, { &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_03 }, { &hf_nr_rrc_scs_60kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_04 }, { &hf_nr_rrc_scs_120kHz_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_04 }, { &hf_nr_rrc_scs_240kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_240kHz }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, T_maxNumberRxTxBeamSwitchDL_sequence); return offset; } static const value_string nr_rrc_T_maxNumberNonGroupBeamReporting_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberNonGroupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_groupBeamReporting_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_groupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_BM_vals[] = { { 0, "n2" }, { 1, "n4" }, { 2, "n8" }, { 3, "n16" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet_BM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_uplinkBeamManagement_sequence[] = { { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet_BM }, { &hf_nr_rrc_maxNumberSRS_ResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_uplinkBeamManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_uplinkBeamManagement, T_uplinkBeamManagement_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 256U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_dummy2_02_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy2_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoPortsPTRS_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoPortsPTRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_15kHz_04_vals[] = { { 0, "sym2" }, { 1, "sym4" }, { 2, "sym8" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_15kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_30kHz_04_vals[] = { { 0, "sym4" }, { 1, "sym8" }, { 2, "sym14" }, { 3, "sym28" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_30kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_60kHz_05_vals[] = { { 0, "sym8" }, { 1, "sym14" }, { 2, "sym28" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_120kHz_05_vals[] = { { 0, "sym14" }, { 1, "sym28" }, { 2, "sym56" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_120kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_beamReportTiming_sequence[] = { { &hf_nr_rrc_scs_15kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_04 }, { &hf_nr_rrc_scs_30kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_04 }, { &hf_nr_rrc_scs_60kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_05 }, { &hf_nr_rrc_scs_120kHz_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_05 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_beamReportTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_beamReportTiming, T_beamReportTiming_sequence); return offset; } static const per_sequence_t PTRS_DensityRecommendationDL_sequence[] = { { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PTRS_DensityRecommendationDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PTRS_DensityRecommendationDL, PTRS_DensityRecommendationDL_sequence); return offset; } static const per_sequence_t T_ptrs_DensityRecommendationSetDL_sequence[] = { { &hf_nr_rrc_scs_15kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, { &hf_nr_rrc_scs_30kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, { &hf_nr_rrc_scs_60kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, { &hf_nr_rrc_scs_120kHz_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ptrs_DensityRecommendationSetDL, T_ptrs_DensityRecommendationSetDL_sequence); return offset; } static const per_sequence_t PTRS_DensityRecommendationUL_sequence[] = { { &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, { &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, { &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 }, { &hf_nr_rrc_sampleDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_sampleDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_sampleDensity3, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_sampleDensity4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { &hf_nr_rrc_sampleDensity5, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PTRS_DensityRecommendationUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PTRS_DensityRecommendationUL, PTRS_DensityRecommendationUL_sequence); return offset; } static const per_sequence_t T_ptrs_DensityRecommendationSetUL_sequence[] = { { &hf_nr_rrc_scs_15kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, { &hf_nr_rrc_scs_30kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, { &hf_nr_rrc_scs_60kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, { &hf_nr_rrc_scs_120kHz_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_ptrs_DensityRecommendationSetUL, T_ptrs_DensityRecommendationSetUL_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 128U, NULL, FALSE); return offset; } static const per_sequence_t DummyH_sequence[] = { { &hf_nr_rrc_burstLength , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_maxConfiguredResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_maxConfiguredResourceSetsAllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_128 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_DummyH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_DummyH, DummyH_sequence); return offset; } static const value_string nr_rrc_T_aperiodicTRS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_aperiodicTRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dummy6_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01_vals[] = { { 0, "n0" }, { 1, "n8" }, { 2, "n16" }, { 3, "n32" }, { 4, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberCSI_RS_Resource_vals[] = { { 0, "n0" }, { 1, "n4" }, { 2, "n8" }, { 3, "n16" }, { 4, "n32" }, { 5, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx_vals[] = { { 0, "n0" }, { 1, "n4" }, { 2, "n8" }, { 3, "n16" }, { 4, "n32" }, { 5, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedCSI_RS_Density_01_vals[] = { { 0, "one" }, { 1, "three" }, { 2, "oneAndThree" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedCSI_RS_Density_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 3, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberAperiodicCSI_RS_Resource_vals[] = { { 0, "n0" }, { 1, "n1" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 6, "n64" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BeamManagementSSB_CSI_RS_sequence[] = { { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01 }, { &hf_nr_rrc_maxNumberCSI_RS_Resource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCSI_RS_Resource }, { &hf_nr_rrc_maxNumberCSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx }, { &hf_nr_rrc_supportedCSI_RS_Density_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedCSI_RS_Density_01 }, { &hf_nr_rrc_maxNumberAperiodicCSI_RS_Resource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicCSI_RS_Resource }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BeamManagementSSB_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BeamManagementSSB_CSI_RS, BeamManagementSSB_CSI_RS_sequence); return offset; } static const value_string nr_rrc_T_scs_60kHz_06_vals[] = { { 0, "sym14" }, { 1, "sym28" }, { 2, "sym48" }, { 3, "sym224" }, { 4, "sym336" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_120kHz_06_vals[] = { { 0, "sym14" }, { 1, "sym28" }, { 2, "sym48" }, { 3, "sym224" }, { 4, "sym336" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_120kHz_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_beamSwitchTiming_sequence[] = { { &hf_nr_rrc_scs_60kHz_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_06 }, { &hf_nr_rrc_scs_120kHz_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_06 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_beamSwitchTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_beamSwitchTiming, T_beamSwitchTiming_sequence); return offset; } static const value_string nr_rrc_T_maxConfigNumberCSI_IM_PerCC_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n16" }, { 5, "n32" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxConfigNumberCSI_IM_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CSI_RS_IM_ReceptionForFeedback_sequence[] = { { &hf_nr_rrc_maxConfigNumberNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 }, { &hf_nr_rrc_maxConfigNumberCSI_IM_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxConfigNumberCSI_IM_PerCC }, { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback, CSI_RS_IM_ReceptionForFeedback_sequence); return offset; } static const per_sequence_t CSI_RS_ProcFrameworkForSRS_sequence[] = { { &hf_nr_rrc_maxNumberPeriodicSRS_AssocCSI_RS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberAperiodicSRS_AssocCSI_RS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberSP_SRS_AssocCSI_RS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 }, { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_ProcFrameworkForSRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_RS_ProcFrameworkForSRS, CSI_RS_ProcFrameworkForSRS_sequence); return offset; } static const value_string nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC_vals[] = { { 0, "n3" }, { 1, "n7" }, { 2, "n15" }, { 3, "n31" }, { 4, "n63" }, { 5, "n128" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t CSI_ReportFramework_sequence[] = { { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForCSI_Report, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_Report, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 }, { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForBeamReport, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForBeamReport, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_maxNumberAperiodicCSI_triggeringStatePerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC }, { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForBeamReport, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 }, { &hf_nr_rrc_simultaneousCSI_ReportsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_ReportFramework(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_ReportFramework, CSI_ReportFramework_sequence); return offset; } static const per_sequence_t CSI_RS_ForTracking_sequence[] = { { &hf_nr_rrc_maxBurstLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 }, { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 }, { &hf_nr_rrc_maxConfiguredResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_maxConfiguredResourceSetsAllCC_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_256 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_CSI_RS_ForTracking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_CSI_RS_ForTracking, CSI_RS_ForTracking_sequence); return offset; } static const value_string nr_rrc_T_maxNumberConfiguredSpatialRelations_vals[] = { { 0, "n4" }, { 1, "n8" }, { 2, "n16" }, { 3, "n32" }, { 4, "n64" }, { 5, "n96" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberConfiguredSpatialRelations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberActiveSpatialRelations_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n14" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberActiveSpatialRelations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_additionalActiveSpatialRelationPUCCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_additionalActiveSpatialRelationPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxNumberDL_RS_QCL_TypeD_vals[] = { { 0, "n1" }, { 1, "n2" }, { 2, "n4" }, { 3, "n8" }, { 4, "n14" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberDL_RS_QCL_TypeD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SpatialRelations_sequence[] = { { &hf_nr_rrc_maxNumberConfiguredSpatialRelations, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberConfiguredSpatialRelations }, { &hf_nr_rrc_maxNumberActiveSpatialRelations, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberActiveSpatialRelations }, { &hf_nr_rrc_additionalActiveSpatialRelationPUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalActiveSpatialRelationPUCCH }, { &hf_nr_rrc_maxNumberDL_RS_QCL_TypeD, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberDL_RS_QCL_TypeD }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SpatialRelations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SpatialRelations, SpatialRelations_sequence); return offset; } static const per_sequence_t MIMO_ParametersPerBand_eag_1_sequence[] = { { &hf_nr_rrc_dummy6_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy6 }, { &hf_nr_rrc_beamManagementSSB_CSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BeamManagementSSB_CSI_RS }, { &hf_nr_rrc_beamSwitchTiming, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_beamSwitchTiming }, { &hf_nr_rrc_codebookParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CodebookParameters }, { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback }, { &hf_nr_rrc_csi_RS_ProcFrameworkForSRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_ProcFrameworkForSRS }, { &hf_nr_rrc_csi_ReportFramework, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ReportFramework }, { &hf_nr_rrc_csi_RS_ForTracking, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_ForTracking }, { &hf_nr_rrc_srs_AssocCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource }, { &hf_nr_rrc_spatialRelations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SpatialRelations }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MIMO_ParametersPerBand_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, MIMO_ParametersPerBand_eag_1_sequence); return offset; } static const per_sequence_t MIMO_ParametersPerBand_sequence[] = { { &hf_nr_rrc_tci_StatePDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_StatePDSCH }, { &hf_nr_rrc_additionalActiveTCI_StatePDCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH }, { &hf_nr_rrc_pusch_TransCoherence, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TransCoherence }, { &hf_nr_rrc_beamCorrespondenceWithoutUL_BeamSweeping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping }, { &hf_nr_rrc_periodicBeamReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicBeamReport }, { &hf_nr_rrc_aperiodicBeamReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicBeamReport }, { &hf_nr_rrc_sp_BeamReportPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUCCH }, { &hf_nr_rrc_sp_BeamReportPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUSCH }, { &hf_nr_rrc_dummy1_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DummyG }, { &hf_nr_rrc_maxNumberRxBeam, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_8 }, { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL }, { &hf_nr_rrc_maxNumberNonGroupBeamReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberNonGroupBeamReporting }, { &hf_nr_rrc_groupBeamReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBeamReporting }, { &hf_nr_rrc_uplinkBeamManagement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkBeamManagement }, { &hf_nr_rrc_maxNumberCSI_RS_BFD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_maxNumberSSB_BFD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 }, { &hf_nr_rrc_maxNumberCSI_RS_SSB_CBD, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_256 }, { &hf_nr_rrc_dummy2_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy2_02 }, { &hf_nr_rrc_twoPortsPTRS_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPortsPTRS_UL }, { &hf_nr_rrc_dummy5_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources }, { &hf_nr_rrc_dummy3_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 }, { &hf_nr_rrc_beamReportTiming, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamReportTiming }, { &hf_nr_rrc_ptrs_DensityRecommendationSetDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL }, { &hf_nr_rrc_ptrs_DensityRecommendationSetUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL }, { &hf_nr_rrc_dummy4_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DummyH }, { &hf_nr_rrc_aperiodicTRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTRS }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_MIMO_ParametersPerBand_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_MIMO_ParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_MIMO_ParametersPerBand, MIMO_ParametersPerBand_sequence); return offset; } static const value_string nr_rrc_T_splitSRB_WithOneUL_Path_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_splitSRB_WithOneUL_Path(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_srb3_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_srb3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_v2x_EUTRA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_v2x_EUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t GeneralParametersMRDC_XDD_Diff_sequence[] = { { &hf_nr_rrc_splitSRB_WithOneUL_Path, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_splitSRB_WithOneUL_Path }, { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG }, { &hf_nr_rrc_srb3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3 }, { &hf_nr_rrc_v2x_EUTRA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_v2x_EUTRA }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, GeneralParametersMRDC_XDD_Diff_sequence); return offset; } static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_sequence[] = { { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff }, { &hf_nr_rrc_generalParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, UE_MRDC_CapabilityAddXDD_Mode_sequence); return offset; } static const per_sequence_t UE_MRDC_CapabilityAddFRX_Mode_sequence[] = { { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, UE_MRDC_CapabilityAddFRX_Mode_sequence); return offset; } static const per_sequence_t T_dummy_06_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_dummy_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_dummy_06, T_dummy_06_sequence); return offset; } static const per_sequence_t NRDC_Parameters_sequence[] = { { &hf_nr_rrc_measAndMobParametersNRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC }, { &hf_nr_rrc_generalParametersNRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff }, { &hf_nr_rrc_fdd_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode }, { &hf_nr_rrc_tdd_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode }, { &hf_nr_rrc_fr1_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode }, { &hf_nr_rrc_fr2_Add_UE_NRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_dummy_09 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_06 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NRDC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NRDC_Parameters, NRDC_Parameters_sequence); return offset; } static const value_string nr_rrc_T_sfn_SyncNRDC_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sfn_SyncNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t NRDC_Parameters_v1570_sequence[] = { { &hf_nr_rrc_sfn_SyncNRDC , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sfn_SyncNRDC }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NRDC_Parameters_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NRDC_Parameters_v1570, NRDC_Parameters_v1570_sequence); return offset; } static const per_sequence_t T_supportedROHC_Profiles_sequence[] = { { &hf_nr_rrc_profile0x0000, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_supportedROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_supportedROHC_Profiles, T_supportedROHC_Profiles_sequence); return offset; } static const value_string nr_rrc_T_maxNumberROHC_ContextSessions_vals[] = { { 0, "cs2" }, { 1, "cs4" }, { 2, "cs8" }, { 3, "cs12" }, { 4, "cs16" }, { 5, "cs24" }, { 6, "cs32" }, { 7, "cs48" }, { 8, "cs64" }, { 9, "cs128" }, { 10, "cs256" }, { 11, "cs512" }, { 12, "cs1024" }, { 13, "cs16384" }, { 14, "spare2" }, { 15, "spare1" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberROHC_ContextSessions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_uplinkOnlyROHC_Profiles_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_uplinkOnlyROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_continueROHC_Context_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_continueROHC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_outOfOrderDelivery_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_outOfOrderDelivery_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_shortSN_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_shortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdcp_DuplicationSRB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcp_DuplicationSRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PDCP_Parameters_sequence[] = { { &hf_nr_rrc_supportedROHC_Profiles, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedROHC_Profiles }, { &hf_nr_rrc_maxNumberROHC_ContextSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberROHC_ContextSessions }, { &hf_nr_rrc_uplinkOnlyROHC_Profiles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkOnlyROHC_Profiles }, { &hf_nr_rrc_continueROHC_Context, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_continueROHC_Context }, { &hf_nr_rrc_outOfOrderDelivery_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery_01 }, { &hf_nr_rrc_shortSN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortSN }, { &hf_nr_rrc_pdcp_DuplicationSRB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationSRB }, { &hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDCP_Parameters, PDCP_Parameters_sequence); return offset; } static const value_string nr_rrc_T_pdcp_DuplicationSplitSRB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcp_DuplicationSplitSRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdcp_DuplicationSplitDRB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcp_DuplicationSplitDRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t PDCP_ParametersMRDC_sequence[] = { { &hf_nr_rrc_pdcp_DuplicationSplitSRB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationSplitSRB }, { &hf_nr_rrc_pdcp_DuplicationSplitDRB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_DuplicationSplitDRB }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_PDCP_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_PDCP_ParametersMRDC, PDCP_ParametersMRDC_sequence); return offset; } static const value_string nr_rrc_T_csi_RS_CFRA_ForHO_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_RS_CFRA_ForHO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicPRB_BundlingDL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicPRB_BundlingDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sp_CSI_ReportPUCCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sp_CSI_ReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sp_CSI_ReportPUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sp_CSI_ReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_precoderGranularityCORESET_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_precoderGranularityCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicHARQ_ACK_Codebook_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_spatialBundlingHARQ_ACK_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_spatialBundlingHARQ_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pucch_Repetition_F1_3_4_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_Repetition_F1_3_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ra_Type0_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ra_Type0_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_MappingTypeA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_MappingTypeB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_interSlotFreqHopping_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_interSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pusch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_RepetitionMultiSlots_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_downlinkSPS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_downlinkSPS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_configuredUL_GrantType1_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_configuredUL_GrantType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_configuredUL_GrantType2_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_configuredUL_GrantType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pre_EmptIndication_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pre_EmptIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_cbg_TransIndication_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_cbg_TransIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_cbg_TransIndication_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_cbg_TransIndication_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_cbg_FlushIndication_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_cbg_FlushIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_rateMatchingResrcSetSemi_Static_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_rateMatchingResrcSetDynamic_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_rateMatchingResrcSetDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bwp_SwitchingDelay_vals[] = { { 0, "type1" }, { 1, "type2" }, { 0, NULL } }; static int dissect_nr_rrc_T_bwp_SwitchingDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dummy_07_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t Phy_ParametersCommon_eag_1_sequence[] = { { &hf_nr_rrc_dummy_10 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_07 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersCommon_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_1_sequence); return offset; } static const value_string nr_rrc_T_maxNumberSearchSpaces_vals[] = { { 0, "n10" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxNumberSearchSpaces(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_rateMatchingCtrlResrcSetDynamic_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_rateMatchingCtrlResrcSetDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_maxLayersMIMO_Indication_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxLayersMIMO_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t Phy_ParametersCommon_eag_2_sequence[] = { { &hf_nr_rrc_maxNumberSearchSpaces, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberSearchSpaces }, { &hf_nr_rrc_rateMatchingCtrlResrcSetDynamic, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingCtrlResrcSetDynamic }, { &hf_nr_rrc_maxLayersMIMO_Indication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLayersMIMO_Indication }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersCommon_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersCommon_eag_2_sequence); return offset; } static const per_sequence_t Phy_ParametersCommon_sequence[] = { { &hf_nr_rrc_csi_RS_CFRA_ForHO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_CFRA_ForHO }, { &hf_nr_rrc_dynamicPRB_BundlingDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPRB_BundlingDL }, { &hf_nr_rrc_sp_CSI_ReportPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUCCH }, { &hf_nr_rrc_sp_CSI_ReportPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUSCH }, { &hf_nr_rrc_nzp_CSI_RS_IntefMgmt, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt }, { &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH }, { &hf_nr_rrc_precoderGranularityCORESET, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_precoderGranularityCORESET }, { &hf_nr_rrc_dynamicHARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook }, { &hf_nr_rrc_semiStaticHARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook }, { &hf_nr_rrc_spatialBundlingHARQ_ACK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialBundlingHARQ_ACK }, { &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI }, { &hf_nr_rrc_pucch_Repetition_F1_3_4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Repetition_F1_3_4 }, { &hf_nr_rrc_ra_Type0_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_Type0_PUSCH }, { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH }, { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH }, { &hf_nr_rrc_pdsch_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeA }, { &hf_nr_rrc_pdsch_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeB }, { &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH }, { &hf_nr_rrc_interSlotFreqHopping_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_interSlotFreqHopping_PUSCH }, { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots }, { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots }, { &hf_nr_rrc_pusch_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepetitionMultiSlots }, { &hf_nr_rrc_pdsch_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RepetitionMultiSlots }, { &hf_nr_rrc_downlinkSPS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkSPS }, { &hf_nr_rrc_configuredUL_GrantType1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType1 }, { &hf_nr_rrc_configuredUL_GrantType2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType2 }, { &hf_nr_rrc_pre_EmptIndication_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pre_EmptIndication_DL }, { &hf_nr_rrc_cbg_TransIndication_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_TransIndication_DL }, { &hf_nr_rrc_cbg_TransIndication_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_TransIndication_UL }, { &hf_nr_rrc_cbg_FlushIndication_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_FlushIndication_DL }, { &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL }, { &hf_nr_rrc_rateMatchingResrcSetSemi_Static, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static }, { &hf_nr_rrc_rateMatchingResrcSetDynamic, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetDynamic }, { &hf_nr_rrc_bwp_SwitchingDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SwitchingDelay }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersCommon_eag_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Phy_ParametersCommon, Phy_ParametersCommon_sequence); return offset; } static const value_string nr_rrc_T_dynamicSFI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicSFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ul_SchedulingOffset_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ul_SchedulingOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t Phy_ParametersXDD_Diff_eag_1_sequence[] = { { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA }, { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB }, { &hf_nr_rrc_ul_SchedulingOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SchedulingOffset }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersXDD_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersXDD_Diff_eag_1_sequence); return offset; } static const per_sequence_t Phy_ParametersXDD_Diff_sequence[] = { { &hf_nr_rrc_dynamicSFI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSFI }, { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols }, { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH }, { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersXDD_Diff_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Phy_ParametersXDD_Diff, Phy_ParametersXDD_Diff_sequence); return offset; } static const value_string nr_rrc_T_dynamicSFI_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dynamicSFI_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedDMRS_TypeDL_vals[] = { { 0, "type1" }, { 1, "type1And2" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedDMRS_TypeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = { { 0, "type1" }, { 1, "type1And2" }, { 0, NULL } }; static int dissect_nr_rrc_T_supportedDMRS_TypeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_semiOpenLoopCSI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_semiOpenLoopCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_csi_ReportWithoutPMI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_ReportWithoutPMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_csi_ReportWithoutCQI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_csi_ReportWithoutCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pucch_F2_WithFH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_F2_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pucch_F3_WithFH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_F3_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pucch_F4_WithFH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_F4_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pucch_F0_2WithoutFH_vals[] = { { 0, "notSupported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_F0_2WithoutFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pucch_F1_3_4WithoutFH_vals[] = { { 0, "notSupported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_F1_3_4WithoutFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_uci_CodeBlockSegmentation_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_uci_CodeBlockSegmentation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_onePUCCH_LongAndShortFormat_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_onePUCCH_LongAndShortFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_intraSlotFreqHopping_PUSCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pusch_LBRM_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pusch_LBRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_INTEGER_4_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 4U, 16U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_tpc_PUSCH_RNTI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_tpc_PUSCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_tpc_PUCCH_RNTI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_tpc_PUCCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_tpc_SRS_RNTI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_tpc_SRS_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_absoluteTPC_Command_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_absoluteTPC_Command(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pusch_HalfPi_BPSK_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pusch_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_almostContiguousCP_OFDM_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_almostContiguousCP_OFDM_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sp_CSI_RS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sp_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sp_CSI_IM_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sp_CSI_IM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_multipleCORESET_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_multipleCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_sameSymbol_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_sameSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_diffSymbol_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_diffSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_sequence[] = { { &hf_nr_rrc_sameSymbol , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sameSymbol }, { &hf_nr_rrc_diffSymbol , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_diffSymbol }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot, T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_sequence); return offset; } static const value_string nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_mux_SR_HARQ_ACK_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ul_SchedulingOffset_01_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ul_SchedulingOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_dl_64QAM_MCS_TableAlt_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dl_64QAM_MCS_TableAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ul_64QAM_MCS_TableAlt_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_ul_64QAM_MCS_TableAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_cqi_TableAlt_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_cqi_TableAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t Phy_ParametersFRX_Diff_eag_1_sequence[] = { { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback }, { &hf_nr_rrc_csi_RS_ProcFrameworkForSRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_ProcFrameworkForSRS }, { &hf_nr_rrc_csi_ReportFramework, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ReportFramework }, { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot }, { &hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_SR_HARQ_ACK_PUCCH }, { &hf_nr_rrc_mux_MultipleGroupCtrlCH_Overlap, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap }, { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01 }, { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01 }, { &hf_nr_rrc_ul_SchedulingOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SchedulingOffset_01 }, { &hf_nr_rrc_dl_64QAM_MCS_TableAlt, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_64QAM_MCS_TableAlt }, { &hf_nr_rrc_ul_64QAM_MCS_TableAlt, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_64QAM_MCS_TableAlt }, { &hf_nr_rrc_cqi_TableAlt , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_TableAlt }, { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL }, { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL }, { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_1_sequence); return offset; } static const per_sequence_t T_pdcch_BlindDetectionNRDC_sequence[] = { { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 }, { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_15 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_pdcch_BlindDetectionNRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_pdcch_BlindDetectionNRDC, T_pdcch_BlindDetectionNRDC_sequence); return offset; } static const value_string nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t Phy_ParametersFRX_Diff_eag_2_sequence[] = { { &hf_nr_rrc_pdcch_BlindDetectionNRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetectionNRDC }, { &hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFRX_Diff_eag_2_sequence); return offset; } static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = { { &hf_nr_rrc_dynamicSFI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSFI_01 }, { &hf_nr_rrc_dummy1_04 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, { &hf_nr_rrc_twoFL_DMRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, { &hf_nr_rrc_dummy2_04 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, { &hf_nr_rrc_dummy3_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, { &hf_nr_rrc_supportedDMRS_TypeDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeDL }, { &hf_nr_rrc_supportedDMRS_TypeUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeUL }, { &hf_nr_rrc_semiOpenLoopCSI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiOpenLoopCSI }, { &hf_nr_rrc_csi_ReportWithoutPMI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutPMI }, { &hf_nr_rrc_csi_ReportWithoutCQI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutCQI }, { &hf_nr_rrc_onePortsPTRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 }, { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01 }, { &hf_nr_rrc_pucch_F2_WithFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F2_WithFH }, { &hf_nr_rrc_pucch_F3_WithFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_WithFH }, { &hf_nr_rrc_pucch_F4_WithFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F4_WithFH }, { &hf_nr_rrc_pucch_F0_2WithoutFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F0_2WithoutFH }, { &hf_nr_rrc_pucch_F1_3_4WithoutFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F1_3_4WithoutFH }, { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot }, { &hf_nr_rrc_uci_CodeBlockSegmentation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_CodeBlockSegmentation }, { &hf_nr_rrc_onePUCCH_LongAndShortFormat, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_onePUCCH_LongAndShortFormat }, { &hf_nr_rrc_twoPUCCH_AnyOthersInSlot, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot }, { &hf_nr_rrc_intraSlotFreqHopping_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH }, { &hf_nr_rrc_pusch_LBRM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_LBRM }, { &hf_nr_rrc_pdcch_BlindDetectionCA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_16 }, { &hf_nr_rrc_tpc_PUSCH_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH_RNTI }, { &hf_nr_rrc_tpc_PUCCH_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH_RNTI }, { &hf_nr_rrc_tpc_SRS_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS_RNTI }, { &hf_nr_rrc_absoluteTPC_Command, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_absoluteTPC_Command }, { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01 }, { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01 }, { &hf_nr_rrc_pusch_HalfPi_BPSK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_HalfPi_BPSK }, { &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK }, { &hf_nr_rrc_almostContiguousCP_OFDM_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_almostContiguousCP_OFDM_UL }, { &hf_nr_rrc_sp_CSI_RS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_RS }, { &hf_nr_rrc_sp_CSI_IM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_IM }, { &hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot }, { &hf_nr_rrc_multipleCORESET, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleCORESET }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFRX_Diff_eag_2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Phy_ParametersFRX_Diff, Phy_ParametersFRX_Diff_sequence); return offset; } static const value_string nr_rrc_T_pdcch_MonitoringSingleOccasion_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdcch_MonitoringSingleOccasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_scs_60kHz_07_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_scs_60kHz_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_256QAM_FR1_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_256QAM_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol_vals[] = { { 0, "n10" }, { 1, "n20" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_RE_MappingFR1_PerSlot_vals[] = { { 0, "n16" }, { 1, "n32" }, { 2, "n48" }, { 3, "n64" }, { 4, "n80" }, { 5, "n96" }, { 6, "n112" }, { 7, "n128" }, { 8, "n144" }, { 9, "n160" }, { 10, "n176" }, { 11, "n192" }, { 12, "n208" }, { 13, "n224" }, { 14, "n240" }, { 15, "n256" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t Phy_ParametersFR1_eag_1_sequence[] = { { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSlot }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersFR1_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFR1_eag_1_sequence); return offset; } static const per_sequence_t Phy_ParametersFR1_sequence[] = { { &hf_nr_rrc_pdcch_MonitoringSingleOccasion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_MonitoringSingleOccasion }, { &hf_nr_rrc_scs_60kHz_10 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_07 }, { &hf_nr_rrc_pdsch_256QAM_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR1 }, { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFR1_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Phy_ParametersFR1, Phy_ParametersFR1_sequence); return offset; } static const value_string nr_rrc_T_dummy_08_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol_vals[] = { { 0, "n6" }, { 1, "n20" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pCell_FR2_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pCell_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_RE_MappingFR2_PerSlot_vals[] = { { 0, "n16" }, { 1, "n32" }, { 2, "n48" }, { 3, "n64" }, { 4, "n80" }, { 5, "n96" }, { 6, "n112" }, { 7, "n128" }, { 8, "n144" }, { 9, "n160" }, { 10, "n176" }, { 11, "n192" }, { 12, "n208" }, { 13, "n224" }, { 14, "n240" }, { 15, "n256" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t Phy_ParametersFR2_eag_1_sequence[] = { { &hf_nr_rrc_pCell_FR2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pCell_FR2 }, { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSlot }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersFR2_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, Phy_ParametersFR2_eag_1_sequence); return offset; } static const per_sequence_t Phy_ParametersFR2_sequence[] = { { &hf_nr_rrc_dummy_11 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_08 }, { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSymbol, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_ParametersFR2_eag_1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Phy_ParametersFR2, Phy_ParametersFR2_sequence); return offset; } static const per_sequence_t Phy_Parameters_sequence[] = { { &hf_nr_rrc_phy_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersCommon }, { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff }, { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff }, { &hf_nr_rrc_phy_ParametersFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFR1 }, { &hf_nr_rrc_phy_ParametersFR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFR2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Phy_Parameters, Phy_Parameters_sequence); return offset; } static int dissect_nr_rrc_INTEGER_1_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 5U, NULL, FALSE); return offset; } static const value_string nr_rrc_T_numberOfAggregatedPRB_vals[] = { { 0, "n50" }, { 1, "n75" }, { 2, "n100" }, { 3, "n125" }, { 4, "n150" }, { 5, "n175" }, { 6, "n200" }, { 7, "n225" }, { 8, "n250" }, { 9, "n275" }, { 10, "n300" }, { 11, "n350" }, { 12, "n400" }, { 13, "n450" }, { 14, "n500" }, { 15, "spare" }, { 0, NULL } }; static int dissect_nr_rrc_T_numberOfAggregatedPRB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 16, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t NAICS_Capability_Entry_sequence[] = { { &hf_nr_rrc_numberOfNAICS_CapableCC, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_5 }, { &hf_nr_rrc_numberOfAggregatedPRB, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfAggregatedPRB }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_NAICS_Capability_Entry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_NAICS_Capability_Entry, NAICS_Capability_Entry_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry_sequence_of[1] = { { &hf_nr_rrc_naics_Capability_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NAICS_Capability_Entry }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry, SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry_sequence_of, 1, maxNrofNAICS_Entries, FALSE); return offset; } static const per_sequence_t Phy_ParametersMRDC_sequence[] = { { &hf_nr_rrc_naics_Capability_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_Phy_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_Phy_ParametersMRDC, Phy_ParametersMRDC_sequence); return offset; } static const value_string nr_rrc_T_extendedCP_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_extendedCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_multipleTCI_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_multipleTCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bwp_WithoutRestriction_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_bwp_WithoutRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bwp_SameNumerology_vals[] = { { 0, "upto2" }, { 1, "upto4" }, { 0, NULL } }; static int dissect_nr_rrc_T_bwp_SameNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_bwp_DiffNumerology_vals[] = { { 0, "upto4" }, { 0, NULL } }; static int dissect_nr_rrc_T_bwp_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_crossCarrierScheduling_SameSCS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_crossCarrierScheduling_SameSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pdsch_256QAM_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_pusch_256QAM_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pusch_256QAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_ue_PowerClass_vals[] = { { 0, "pc1" }, { 1, "pc2" }, { 2, "pc3" }, { 3, "pc4" }, { 0, NULL } }; static int dissect_nr_rrc_T_ue_PowerClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_rateMatchingLTE_CRS_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_rateMatchingLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_fr1_sequence[] = { { &hf_nr_rrc_scs_15kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { &hf_nr_rrc_scs_30kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { &hf_nr_rrc_scs_60kHz_11 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_fr1, T_fr1_sequence); return offset; } static const per_sequence_t T_fr2_sequence[] = { { &hf_nr_rrc_scs_60kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { &hf_nr_rrc_scs_120kHz_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_fr2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_fr2, T_fr2_sequence); return offset; } static const value_string nr_rrc_T_channelBWs_DL_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static const per_choice_t T_channelBWs_DL_choice[] = { { 0, &hf_nr_rrc_fr1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1 }, { 1, &hf_nr_rrc_fr2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_channelBWs_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_channelBWs_DL, T_channelBWs_DL_choice, NULL); return offset; } static const per_sequence_t T_fr1_01_sequence[] = { { &hf_nr_rrc_scs_15kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { &hf_nr_rrc_scs_30kHz_08 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { &hf_nr_rrc_scs_60kHz_11 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_10 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_fr1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_fr1_01, T_fr1_01_sequence); return offset; } static const per_sequence_t T_fr2_01_sequence[] = { { &hf_nr_rrc_scs_60kHz_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { &hf_nr_rrc_scs_120kHz_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_fr2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_fr2_01, T_fr2_01_sequence); return offset; } static const value_string nr_rrc_T_channelBWs_UL_vals[] = { { 0, "fr1" }, { 1, "fr2" }, { 0, NULL } }; static const per_choice_t T_channelBWs_UL_choice[] = { { 0, &hf_nr_rrc_fr1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1_01 }, { 1, &hf_nr_rrc_fr2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2_01 }, { 0, NULL, 0, NULL } }; static int dissect_nr_rrc_T_channelBWs_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_channelBWs_UL, T_channelBWs_UL_choice, NULL); return offset; } static const value_string nr_rrc_T_maxUplinkDutyCycle_PC2_FR1_vals[] = { { 0, "n60" }, { 1, "n70" }, { 2, "n80" }, { 3, "n90" }, { 4, "n100" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxUplinkDutyCycle_PC2_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 5, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BandNR_eag_1_sequence[] = { { &hf_nr_rrc_maxUplinkDutyCycle_PC2_FR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxUplinkDutyCycle_PC2_FR1 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandNR_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_1_sequence); return offset; } static const value_string nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_powerBoosting_pi2BPSK_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_powerBoosting_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BandNR_eag_2_sequence[] = { { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE }, { &hf_nr_rrc_powerBoosting_pi2BPSK, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_powerBoosting_pi2BPSK }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandNR_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_2_sequence); return offset; } static const value_string nr_rrc_T_maxUplinkDutyCycle_FR2_vals[] = { { 0, "n15" }, { 1, "n20" }, { 2, "n25" }, { 3, "n30" }, { 4, "n40" }, { 5, "n50" }, { 6, "n60" }, { 7, "n70" }, { 8, "n80" }, { 9, "n90" }, { 10, "n100" }, { 0, NULL } }; static int dissect_nr_rrc_T_maxUplinkDutyCycle_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 11, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t BandNR_eag_3_sequence[] = { { &hf_nr_rrc_maxUplinkDutyCycle_FR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxUplinkDutyCycle_FR2 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandNR_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, BandNR_eag_3_sequence); return offset; } static const per_sequence_t BandNR_sequence[] = { { &hf_nr_rrc_bandNR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR }, { &hf_nr_rrc_modifiedMPR_Behaviour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 }, { &hf_nr_rrc_mimo_ParametersPerBand, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_ParametersPerBand }, { &hf_nr_rrc_extendedCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedCP }, { &hf_nr_rrc_multipleTCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTCI }, { &hf_nr_rrc_bwp_WithoutRestriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_WithoutRestriction }, { &hf_nr_rrc_bwp_SameNumerology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SameNumerology }, { &hf_nr_rrc_bwp_DiffNumerology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_DiffNumerology }, { &hf_nr_rrc_crossCarrierScheduling_SameSCS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierScheduling_SameSCS }, { &hf_nr_rrc_pdsch_256QAM_FR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR2 }, { &hf_nr_rrc_pusch_256QAM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_256QAM }, { &hf_nr_rrc_ue_PowerClass, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_PowerClass }, { &hf_nr_rrc_rateMatchingLTE_CRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingLTE_CRS }, { &hf_nr_rrc_channelBWs_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBWs_DL }, { &hf_nr_rrc_channelBWs_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBWs_UL }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR_eag_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_BandNR, BandNR_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of[1] = { { &hf_nr_rrc_supportedBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR, SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of, 1, maxBands, FALSE); return offset; } static const value_string nr_rrc_T_srs_SwitchingTimeRequested_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_srs_SwitchingTimeRequested(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RF_Parameters_eag_1_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1540 }, { &hf_nr_rrc_srs_SwitchingTimeRequested, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_SwitchingTimeRequested }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_Parameters_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_1_sequence); return offset; } static const per_sequence_t RF_Parameters_eag_2_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList_v1550, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1550 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_Parameters_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_2_sequence); return offset; } static const per_sequence_t RF_Parameters_eag_3_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1560 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_Parameters_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_Parameters_eag_3_sequence); return offset; } static const per_sequence_t RF_Parameters_sequence[] = { { &hf_nr_rrc_supportedBandListNR, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR }, { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList }, { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters_eag_3 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RF_Parameters, RF_Parameters_sequence); return offset; } static const value_string nr_rrc_T_srs_SwitchingTimeRequested_01_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_srs_SwitchingTimeRequested_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RF_ParametersMRDC_eag_1_sequence[] = { { &hf_nr_rrc_srs_SwitchingTimeRequested_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_SwitchingTimeRequested_01 }, { &hf_nr_rrc_supportedBandCombinationList_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1540 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_ParametersMRDC_eag_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_1_sequence); return offset; } static const per_sequence_t RF_ParametersMRDC_eag_2_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList_v1550, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1550 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_ParametersMRDC_eag_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_2_sequence); return offset; } static const per_sequence_t RF_ParametersMRDC_eag_3_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1560 }, { &hf_nr_rrc_supportedBandCombinationListNEDC_Only, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_ParametersMRDC_eag_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_3_sequence); return offset; } static const per_sequence_t RF_ParametersMRDC_eag_4_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList_v1570, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1570 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_ParametersMRDC_eag_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_4_sequence); return offset; } static const per_sequence_t RF_ParametersMRDC_eag_5_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList_v1580, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList_v1580 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_ParametersMRDC_eag_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence_eag(tvb, offset, actx, tree, RF_ParametersMRDC_eag_5_sequence); return offset; } static const per_sequence_t RF_ParametersMRDC_sequence[] = { { &hf_nr_rrc_supportedBandCombinationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList }, { &hf_nr_rrc_appliedFreqBandListFilter, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_1 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_2 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_3 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_4 }, { &dummy_hf_nr_rrc_eag_field, ASN1_NOT_EXTENSION_ROOT, ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC_eag_5 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RF_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RF_ParametersMRDC, RF_ParametersMRDC_sequence); return offset; } static const value_string nr_rrc_T_am_WithShortSN_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_am_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_um_WithShortSN_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_um_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_um_WithLongSN_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_um_WithLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t RLC_Parameters_sequence[] = { { &hf_nr_rrc_am_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithShortSN }, { &hf_nr_rrc_um_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithShortSN }, { &hf_nr_rrc_um_WithLongSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithLongSN }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_RLC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_RLC_Parameters, RLC_Parameters_sequence); return offset; } static const value_string nr_rrc_T_as_ReflectiveQoS_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_as_ReflectiveQoS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t SDAP_Parameters_sequence[] = { { &hf_nr_rrc_as_ReflectiveQoS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_as_ReflectiveQoS }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_SDAP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SDAP_Parameters, SDAP_Parameters_sequence); return offset; } static const value_string nr_rrc_T_srs_SwitchingTimeRequest_vals[] = { { 0, "true" }, { 0, NULL } }; static int dissect_nr_rrc_T_srs_SwitchingTimeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t T_nonCriticalExtension_37_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_37(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_37, T_nonCriticalExtension_37_sequence); return offset; } static const per_sequence_t UE_CapabilityRequestFilterNR_v1540_sequence[] = { { &hf_nr_rrc_srs_SwitchingTimeRequest, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_SwitchingTimeRequest }, { &hf_nr_rrc_nonCriticalExtension_52, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_37 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540, UE_CapabilityRequestFilterNR_v1540_sequence); return offset; } static const per_sequence_t UE_CapabilityRequestFilterNR_sequence[] = { { &hf_nr_rrc_frequencyBandListFilter, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList }, { &hf_nr_rrc_nonCriticalExtension_51, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_CapabilityRequestFilterNR_v1540 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_CapabilityRequestFilterNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_CapabilityRequestFilterNR, UE_CapabilityRequestFilterNR_sequence); return offset; } static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination_sequence_of[1] = { { &hf_nr_rrc_featureSetCombinations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetCombination }, }; static int dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination, SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination_sequence_of, 1, maxFeatureSetCombinations, FALSE); return offset; } static int dissect_nr_rrc_T_receivedFilters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityEnquiry_v1560_IEs_PDU); return offset; } static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_v1560_sequence[] = { { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560, UE_MRDC_CapabilityAddXDD_Mode_v1560_sequence); return offset; } static const per_sequence_t T_nonCriticalExtension_38_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_38(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_38, T_nonCriticalExtension_38_sequence); return offset; } static const per_sequence_t UE_MRDC_Capability_v1560_sequence[] = { { &hf_nr_rrc_receivedFilters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_receivedFilters }, { &hf_nr_rrc_measAndMobParametersMRDC_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC_v1560 }, { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 }, { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560 }, { &hf_nr_rrc_nonCriticalExtension_54, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_38 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_MRDC_Capability_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_MRDC_Capability_v1560, UE_MRDC_Capability_v1560_sequence); return offset; } static const per_sequence_t UE_MRDC_Capability_sequence[] = { { &hf_nr_rrc_measAndMobParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersMRDC }, { &hf_nr_rrc_phy_ParametersMRDC_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersMRDC }, { &hf_nr_rrc_rf_ParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC }, { &hf_nr_rrc_generalParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff }, { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode }, { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode }, { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode }, { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode }, { &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination }, { &hf_nr_rrc_pdcp_ParametersMRDC_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_ParametersMRDC }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_53, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_Capability_v1560 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_MRDC_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_MRDC_Capability, UE_MRDC_Capability_sequence); return offset; } static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_sequence[] = { { &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff }, { &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff }, { &hf_nr_rrc_measAndMobParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersXDD_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, UE_NR_CapabilityAddXDD_Mode_sequence); return offset; } static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_sequence[] = { { &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff }, { &hf_nr_rrc_measAndMobParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParametersFRX_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, UE_NR_CapabilityAddFRX_Mode_sequence); return offset; } static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_v1530_sequence[] = { { &hf_nr_rrc_eutra_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_ParametersXDD_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530, UE_NR_CapabilityAddXDD_Mode_v1530_sequence); return offset; } static const value_string nr_rrc_T_dummy_09_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_dummy_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_inactiveState_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_inactiveState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_delayBudgetReporting_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_delayBudgetReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const value_string nr_rrc_T_overheatingInd_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_overheatingInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_v1540_sequence[] = { { &hf_nr_rrc_ims_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IMS_ParametersFRX_Diff }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540, UE_NR_CapabilityAddFRX_Mode_v1540_sequence); return offset; } static const value_string nr_rrc_T_reducedCP_Latency_vals[] = { { 0, "supported" }, { 0, NULL } }; static int dissect_nr_rrc_T_reducedCP_Latency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 1, NULL, FALSE, 0, NULL); return offset; } static int dissect_nr_rrc_T_receivedFilters_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, dissect_UECapabilityEnquiry_v1560_IEs_PDU); return offset; } static const per_sequence_t T_nonCriticalExtension_39_sequence[] = { { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_T_nonCriticalExtension_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_T_nonCriticalExtension_39, T_nonCriticalExtension_39_sequence); return offset; } static const per_sequence_t UE_NR_Capability_v1570_sequence[] = { { &hf_nr_rrc_nrdc_Parameters_v1570, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NRDC_Parameters_v1570 }, { &hf_nr_rrc_nonCriticalExtension_60, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_39 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_Capability_v1570(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_Capability_v1570, UE_NR_Capability_v1570_sequence); return offset; } static const per_sequence_t UE_NR_Capability_v1560_sequence[] = { { &hf_nr_rrc_nrdc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_NRDC_Parameters }, { &hf_nr_rrc_receivedFilters_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_receivedFilters_01 }, { &hf_nr_rrc_nonCriticalExtension_59, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1570 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_Capability_v1560(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_Capability_v1560, UE_NR_Capability_v1560_sequence); return offset; } static const per_sequence_t UE_NR_Capability_v1550_sequence[] = { { &hf_nr_rrc_reducedCP_Latency, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_reducedCP_Latency }, { &hf_nr_rrc_nonCriticalExtension_58, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1560 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_Capability_v1550(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_Capability_v1550, UE_NR_Capability_v1550_sequence); return offset; } static const per_sequence_t UE_NR_Capability_v1540_sequence[] = { { &hf_nr_rrc_sdap_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SDAP_Parameters }, { &hf_nr_rrc_overheatingInd, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_overheatingInd }, { &hf_nr_rrc_ims_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_IMS_Parameters }, { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 }, { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540 }, { &hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode }, { &hf_nr_rrc_nonCriticalExtension_57, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1550 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_Capability_v1540(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_Capability_v1540, UE_NR_Capability_v1540_sequence); return offset; } static const per_sequence_t UE_NR_Capability_v1530_sequence[] = { { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530 }, { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities_v1530, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530 }, { &hf_nr_rrc_dummy_12 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dummy_09 }, { &hf_nr_rrc_interRAT_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_InterRAT_Parameters }, { &hf_nr_rrc_inactiveState, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_inactiveState }, { &hf_nr_rrc_delayBudgetReporting, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_delayBudgetReporting }, { &hf_nr_rrc_nonCriticalExtension_56, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1540 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_Capability_v1530(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_Capability_v1530, UE_NR_Capability_v1530_sequence); return offset; } static const per_sequence_t UE_NR_Capability_sequence[] = { { &hf_nr_rrc_accessStratumRelease, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AccessStratumRelease }, { &hf_nr_rrc_pdcp_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters }, { &hf_nr_rrc_rlc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Parameters }, { &hf_nr_rrc_mac_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_Parameters }, { &hf_nr_rrc_phy_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_Parameters }, { &hf_nr_rrc_rf_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters }, { &hf_nr_rrc_measAndMobParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasAndMobParameters }, { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode }, { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode }, { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode }, { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode }, { &hf_nr_rrc_featureSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FeatureSets }, { &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, { &hf_nr_rrc_nonCriticalExtension_55, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_Capability_v1530 }, { NULL, 0, 0, NULL } }; static int dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nr_rrc_UE_NR_Capability, UE_NR_Capability_sequence); return offset; } /*--- PDUs ---*/ int dissect_nr_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_HandoverCommand_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_CG_Config(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CG_Config_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_PH_TypeListSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_PH_TypeListSCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PH_TypeListSCG_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_BandCombinationIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_BandCombinationIndex(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_BandCombinationIndex_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_BandCombinationInfoSN_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_BandCombinationInfoSN(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_CG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_CG_ConfigInfo(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_ConfigRestrictInfoSCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_PH_TypeListMCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_PH_TypeListMCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_PH_TypeListMCG_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_FeatureSetEntryIndex_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_FeatureSetEntryIndex(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_FeatureSetEntryIndex_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_MeasurementTimingConfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_MeasurementTimingConfiguration(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UERadioPagingInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UERadioPagingInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UERadioPagingInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UERadioAccessCapabilityInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UERadioAccessCapabilityInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UERadioAccessCapabilityInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_BCCH_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_BCCH_BCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_BCH_Message_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_BCCH_DL_SCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_BCCH_DL_SCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_DL_SCH_Message_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_DL_CCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_DL_CCCH_Message_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_DL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_DL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_DL_DCCH_Message_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_PCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_PCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_PCCH_Message_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UL_CCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UL_CCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UL_CCCH_Message_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UL_CCCH1_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UL_CCCH1_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UL_CCCH1_Message_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_MIB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_MIB(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MIB_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_RRCReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_RRCReconfiguration(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_RRCReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB1(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB1_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UEAssistanceInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UEAssistanceInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB2(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB2_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB3(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB3_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB4_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB4(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB4_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB5_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB5(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB5_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB6_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB6(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB6_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB7_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB7(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB7_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB8_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB8(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB8_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_SIB9_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SIB9(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB9_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_CellGroupConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CellGroupConfig_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_DRX_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_DRX_Config(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_DRX_Config_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_MeasConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_MeasConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasConfig_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_MeasGapConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_MeasGapConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasGapConfig_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_MeasResultSCG_Failure(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_P_Max_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_P_Max(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_P_Max_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_RadioBearerConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UplinkTxDirectCurrentList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UplinkTxDirectCurrentList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_FreqBandList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_FreqBandList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_FreqBandList_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UE_CapabilityRequestFilterCommon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UE_CapabilityRequestFilterCommon(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterCommon_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UE_CapabilityRequestFilterNR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UE_CapabilityRequestFilterNR(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterNR_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UE_MRDC_Capability(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU); offset += 7; offset >>= 3; return offset; } int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UE_NR_Capability(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_MeasResultList2NR(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_MeasResultList2NR_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_SystemInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_SystemInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_SystemInformation_PDU); offset += 7; offset >>= 3; return offset; } static int dissect_UECapabilityEnquiry_v1560_IEs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { proto_item *prot_ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA); proto_item_set_hidden(prot_ti); int offset = 0; asn1_ctx_t asn1_ctx; asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo); offset = dissect_nr_rrc_UECapabilityEnquiry_v1560_IEs(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU); offset += 7; offset >>= 3; return offset; } /*--- End of included file: packet-nr-rrc-fn.c ---*/ #line 380 "./asn1/nr-rrc/packet-nr-rrc-template.c" void proto_register_nr_rrc(void) { /* List of fields */ static hf_register_info hf[] = { /*--- Included file: packet-nr-rrc-hfarr.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-hfarr.c" { &hf_nr_rrc_nr_rrc_HandoverCommand_PDU, { "HandoverCommand", "nr-rrc.HandoverCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU, { "HandoverPreparationInformation", "nr-rrc.HandoverPreparationInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_CG_Config_PDU, { "CG-Config", "nr-rrc.CG_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_PH_TypeListSCG_PDU, { "PH-TypeListSCG", "nr-rrc.PH_TypeListSCG", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_BandCombinationIndex_PDU, { "BandCombinationIndex", "nr-rrc.BandCombinationIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_BandCombinationInfoSN_PDU, { "BandCombinationInfoSN", "nr-rrc.BandCombinationInfoSN_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU, { "CG-ConfigInfo", "nr-rrc.CG_ConfigInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU, { "ConfigRestrictInfoSCG", "nr-rrc.ConfigRestrictInfoSCG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_PH_TypeListMCG_PDU, { "PH-TypeListMCG", "nr-rrc.PH_TypeListMCG", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_FeatureSetEntryIndex_PDU, { "FeatureSetEntryIndex", "nr-rrc.FeatureSetEntryIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU, { "MeasurementTimingConfiguration", "nr-rrc.MeasurementTimingConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UERadioPagingInformation_PDU, { "UERadioPagingInformation", "nr-rrc.UERadioPagingInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_UERadioAccessCapabilityInformation_PDU, { "UERadioAccessCapabilityInformation", "nr-rrc.UERadioAccessCapabilityInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BCCH_BCH_Message_PDU, { "BCCH-BCH-Message", "nr-rrc.BCCH_BCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BCCH_DL_SCH_Message_PDU, { "BCCH-DL-SCH-Message", "nr-rrc.BCCH_DL_SCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_DL_CCCH_Message_PDU, { "DL-CCCH-Message", "nr-rrc.DL_CCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_DL_DCCH_Message_PDU, { "DL-DCCH-Message", "nr-rrc.DL_DCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_PCCH_Message_PDU, { "PCCH-Message", "nr-rrc.PCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_UL_CCCH_Message_PDU, { "UL-CCCH-Message", "nr-rrc.UL_CCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_UL_CCCH1_Message_PDU, { "UL-CCCH1-Message", "nr-rrc.UL_CCCH1_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU, { "UL-DCCH-Message", "nr-rrc.UL_DCCH_Message_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_MIB_PDU, { "MIB", "nr-rrc.MIB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU, { "RRCReconfiguration", "nr-rrc.RRCReconfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU, { "RRCReconfigurationComplete", "nr-rrc.RRCReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB1_PDU, { "SIB1", "nr-rrc.SIB1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UEAssistanceInformation_PDU, { "UEAssistanceInformation", "nr-rrc.UEAssistanceInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB2_PDU, { "SIB2", "nr-rrc.SIB2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB3_PDU, { "SIB3", "nr-rrc.SIB3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB4_PDU, { "SIB4", "nr-rrc.SIB4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB5_PDU, { "SIB5", "nr-rrc.SIB5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB6_PDU, { "SIB6", "nr-rrc.SIB6_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB7_PDU, { "SIB7", "nr-rrc.SIB7_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB8_PDU, { "SIB8", "nr-rrc.SIB8_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_SIB9_PDU, { "SIB9", "nr-rrc.SIB9_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_CellGroupConfig_PDU, { "CellGroupConfig", "nr-rrc.CellGroupConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_DRX_Config_PDU, { "DRX-Config", "nr-rrc.DRX_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_MeasConfig_PDU, { "MeasConfig", "nr-rrc.MeasConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_MeasGapConfig_PDU, { "MeasGapConfig", "nr-rrc.MeasGapConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_MeasResultSCG_Failure_PDU, { "MeasResultSCG-Failure", "nr-rrc.MeasResultSCG_Failure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_P_Max_PDU, { "P-Max", "nr-rrc.P_Max", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU, { "RadioBearerConfig", "nr-rrc.RadioBearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UplinkTxDirectCurrentList_PDU, { "UplinkTxDirectCurrentList", "nr-rrc.UplinkTxDirectCurrentList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_FreqBandList_PDU, { "FreqBandList", "nr-rrc.FreqBandList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU, { "UE-CapabilityRAT-ContainerList", "nr-rrc.UE_CapabilityRAT_ContainerList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterCommon_PDU, { "UE-CapabilityRequestFilterCommon", "nr-rrc.UE_CapabilityRequestFilterCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UE_CapabilityRequestFilterNR_PDU, { "UE-CapabilityRequestFilterNR", "nr-rrc.UE_CapabilityRequestFilterNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU, { "UE-MRDC-Capability", "nr-rrc.UE_MRDC_Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU, { "UE-NR-Capability", "nr-rrc.UE_NR_Capability_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasResultList2NR_PDU, { "MeasResultList2NR", "nr-rrc.MeasResultList2NR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_SystemInformation_PDU, { "SystemInformation", "nr-rrc.SystemInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_UECapabilityEnquiry_v1560_IEs_PDU, { "UECapabilityEnquiry-v1560-IEs", "nr-rrc.UECapabilityEnquiry_v1560_IEs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_c1, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_handoverCommand, { "handoverCommand", "nr-rrc.handoverCommand_element", FT_NONE, BASE_NONE, NULL, 0, "HandoverCommand_IEs", HFILL }}, { &hf_nr_rrc_spare3, { "spare3", "nr-rrc.spare3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spare2, { "spare2", "nr-rrc.spare2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spare1, { "spare1", "nr-rrc.spare1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_handoverCommandMessage, { "handoverCommandMessage", "nr-rrc.handoverCommandMessage", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_01, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_01_vals), 0, "T_criticalExtensions_01", HFILL }}, { &hf_nr_rrc_c1_01, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_01_vals), 0, "T_c1_01", HFILL }}, { &hf_nr_rrc_handoverPreparationInformation, { "handoverPreparationInformation", "nr-rrc.handoverPreparationInformation_element", FT_NONE, BASE_NONE, NULL, 0, "HandoverPreparationInformation_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_01, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_01", HFILL }}, { &hf_nr_rrc_ue_CapabilityRAT_List, { "ue-CapabilityRAT-List", "nr-rrc.ue_CapabilityRAT_List", FT_UINT32, BASE_DEC, NULL, 0, "UE_CapabilityRAT_ContainerList", HFILL }}, { &hf_nr_rrc_sourceConfig, { "sourceConfig", "nr-rrc.sourceConfig_element", FT_NONE, BASE_NONE, NULL, 0, "AS_Config", HFILL }}, { &hf_nr_rrc_rrm_Config, { "rrm-Config", "nr-rrc.rrm_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_as_Context, { "as-Context", "nr-rrc.as_Context_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_01, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_01", HFILL }}, { &hf_nr_rrc_rrcReconfiguration, { "rrcReconfiguration", "nr-rrc.rrcReconfiguration", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sourceRB_SN_Config, { "sourceRB-SN-Config", "nr-rrc.sourceRB_SN_Config", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sourceSCG_NR_Config, { "sourceSCG-NR-Config", "nr-rrc.sourceSCG_NR_Config", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sourceSCG_EUTRA_Config, { "sourceSCG-EUTRA-Config", "nr-rrc.sourceSCG_EUTRA_Config", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sourceSCG_Configured, { "sourceSCG-Configured", "nr-rrc.sourceSCG_Configured", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sourceSCG_Configured_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reestablishmentInfo, { "reestablishmentInfo", "nr-rrc.reestablishmentInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_configRestrictInfo, { "configRestrictInfo", "nr-rrc.configRestrictInfo_element", FT_NONE, BASE_NONE, NULL, 0, "ConfigRestrictInfoSCG", HFILL }}, { &hf_nr_rrc_ran_NotificationAreaInfo, { "ran-NotificationAreaInfo", "nr-rrc.ran_NotificationAreaInfo", FT_UINT32, BASE_DEC, VALS(nr_rrc_RAN_NotificationAreaInfo_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ueAssistanceInformation, { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_selectedBandCombinationSN, { "selectedBandCombinationSN", "nr-rrc.selectedBandCombinationSN_element", FT_NONE, BASE_NONE, NULL, 0, "BandCombinationInfoSN", HFILL }}, { &hf_nr_rrc_sourcePhysCellId, { "sourcePhysCellId", "nr-rrc.sourcePhysCellId", FT_UINT32, BASE_DEC, NULL, 0, "PhysCellId", HFILL }}, { &hf_nr_rrc_targetCellShortMAC_I, { "targetCellShortMAC-I", "nr-rrc.targetCellShortMAC_I", FT_BYTES, BASE_NONE, NULL, 0, "ShortMAC_I", HFILL }}, { &hf_nr_rrc_additionalReestabInfoList, { "additionalReestabInfoList", "nr-rrc.additionalReestabInfoList", FT_UINT32, BASE_DEC, NULL, 0, "ReestabNCellInfoList", HFILL }}, { &hf_nr_rrc_ReestabNCellInfoList_item, { "ReestabNCellInfo", "nr-rrc.ReestabNCellInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellIdentity, { "cellIdentity", "nr-rrc.cellIdentity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_key_gNodeB_Star, { "key-gNodeB-Star", "nr-rrc.key_gNodeB_Star", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_256", HFILL }}, { &hf_nr_rrc_shortMAC_I, { "shortMAC-I", "nr-rrc.shortMAC_I", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ue_InactiveTime, { "ue-InactiveTime", "nr-rrc.ue_InactiveTime", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_ue_InactiveTime_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_candidateCellInfoList, { "candidateCellInfoList", "nr-rrc.candidateCellInfoList", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultList2NR", HFILL }}, { &hf_nr_rrc_candidateCellInfoListSN_EUTRA, { "candidateCellInfoListSN-EUTRA", "nr-rrc.candidateCellInfoListSN_EUTRA", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultServFreqListEUTRA_SCG", HFILL }}, { &hf_nr_rrc_criticalExtensions_02, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_02_vals), 0, "T_criticalExtensions_02", HFILL }}, { &hf_nr_rrc_c1_02, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_02_vals), 0, "T_c1_02", HFILL }}, { &hf_nr_rrc_cg_Config, { "cg-Config", "nr-rrc.cg_Config_element", FT_NONE, BASE_NONE, NULL, 0, "CG_Config_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_02, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_02", HFILL }}, { &hf_nr_rrc_scg_CellGroupConfig, { "scg-CellGroupConfig", "nr-rrc.scg_CellGroupConfig", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scg_RB_Config, { "scg-RB-Config", "nr-rrc.scg_RB_Config", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_configRestrictModReq, { "configRestrictModReq", "nr-rrc.configRestrictModReq_element", FT_NONE, BASE_NONE, NULL, 0, "ConfigRestrictModReqSCG", HFILL }}, { &hf_nr_rrc_drx_InfoSCG, { "drx-InfoSCG", "nr-rrc.drx_InfoSCG_element", FT_NONE, BASE_NONE, NULL, 0, "DRX_Info", HFILL }}, { &hf_nr_rrc_candidateCellInfoListSN, { "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measConfigSN, { "measConfigSN", "nr-rrc.measConfigSN_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_selectedBandCombination, { "selectedBandCombination", "nr-rrc.selectedBandCombination_element", FT_NONE, BASE_NONE, NULL, 0, "BandCombinationInfoSN", HFILL }}, { &hf_nr_rrc_fr_InfoListSCG, { "fr-InfoListSCG", "nr-rrc.fr_InfoListSCG", FT_UINT32, BASE_DEC, NULL, 0, "FR_InfoList", HFILL }}, { &hf_nr_rrc_candidateServingFreqListNR, { "candidateServingFreqListNR", "nr-rrc.candidateServingFreqListNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_02, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_Config_v1540_IEs", HFILL }}, { &hf_nr_rrc_pSCellFrequency, { "pSCellFrequency", "nr-rrc.pSCellFrequency", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_reportCGI_RequestNR, { "reportCGI-RequestNR", "nr-rrc.reportCGI_RequestNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_requestedCellInfo, { "requestedCellInfo", "nr-rrc.requestedCellInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ssbFrequency, { "ssbFrequency", "nr-rrc.ssbFrequency", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_cellForWhichToReportCGI, { "cellForWhichToReportCGI", "nr-rrc.cellForWhichToReportCGI", FT_UINT32, BASE_DEC, NULL, 0, "PhysCellId", HFILL }}, { &hf_nr_rrc_ph_InfoSCG, { "ph-InfoSCG", "nr-rrc.ph_InfoSCG", FT_UINT32, BASE_DEC, NULL, 0, "PH_TypeListSCG", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_03, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_Config_v1560_IEs", HFILL }}, { &hf_nr_rrc_pSCellFrequencyEUTRA, { "pSCellFrequencyEUTRA", "nr-rrc.pSCellFrequencyEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueEUTRA", HFILL }}, { &hf_nr_rrc_scg_CellGroupConfigEUTRA, { "scg-CellGroupConfigEUTRA", "nr-rrc.scg_CellGroupConfigEUTRA", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_candidateCellInfoListSN_EUTRA_01, { "candidateCellInfoListSN-EUTRA", "nr-rrc.candidateCellInfoListSN_EUTRA", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_candidateServingFreqListEUTRA, { "candidateServingFreqListEUTRA", "nr-rrc.candidateServingFreqListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_needForGaps, { "needForGaps", "nr-rrc.needForGaps", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_needForGaps_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_drx_ConfigSCG, { "drx-ConfigSCG", "nr-rrc.drx_ConfigSCG_element", FT_NONE, BASE_NONE, NULL, 0, "DRX_Config", HFILL }}, { &hf_nr_rrc_reportCGI_RequestEUTRA, { "reportCGI-RequestEUTRA", "nr-rrc.reportCGI_RequestEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_requestedCellInfoEUTRA, { "requestedCellInfoEUTRA", "nr-rrc.requestedCellInfoEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutraFrequency, { "eutraFrequency", "nr-rrc.eutraFrequency", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueEUTRA", HFILL }}, { &hf_nr_rrc_cellForWhichToReportCGI_EUTRA, { "cellForWhichToReportCGI-EUTRA", "nr-rrc.cellForWhichToReportCGI_EUTRA", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_PhysCellId", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_04, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_02", HFILL }}, { &hf_nr_rrc_PH_TypeListSCG_item, { "PH-InfoSCG", "nr-rrc.PH_InfoSCG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_servCellIndex, { "servCellIndex", "nr-rrc.servCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ph_Uplink, { "ph-Uplink", "nr-rrc.ph_Uplink_element", FT_NONE, BASE_NONE, NULL, 0, "PH_UplinkCarrierSCG", HFILL }}, { &hf_nr_rrc_ph_SupplementaryUplink, { "ph-SupplementaryUplink", "nr-rrc.ph_SupplementaryUplink_element", FT_NONE, BASE_NONE, NULL, 0, "PH_UplinkCarrierSCG", HFILL }}, { &hf_nr_rrc_ph_Type1or3, { "ph-Type1or3", "nr-rrc.ph_Type1or3", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ph_Type1or3_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measuredFrequenciesSN, { "measuredFrequenciesSN", "nr-rrc.measuredFrequenciesSN", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo", HFILL }}, { &hf_nr_rrc_measuredFrequenciesSN_item, { "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measuredFrequency, { "measuredFrequency", "nr-rrc.measuredFrequency", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_requestedBC_MRDC, { "requestedBC-MRDC", "nr-rrc.requestedBC_MRDC_element", FT_NONE, BASE_NONE, NULL, 0, "BandCombinationInfoSN", HFILL }}, { &hf_nr_rrc_requestedP_MaxFR1, { "requestedP-MaxFR1", "nr-rrc.requestedP_MaxFR1", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_requestedPDCCH_BlindDetectionSCG, { "requestedPDCCH-BlindDetectionSCG", "nr-rrc.requestedPDCCH_BlindDetectionSCG", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_requestedP_MaxEUTRA, { "requestedP-MaxEUTRA", "nr-rrc.requestedP_MaxEUTRA", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_bandCombinationIndex, { "bandCombinationIndex", "nr-rrc.bandCombinationIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_requestedFeatureSets, { "requestedFeatureSets", "nr-rrc.requestedFeatureSets", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetEntryIndex", HFILL }}, { &hf_nr_rrc_FR_InfoList_item, { "FR-Info", "nr-rrc.FR_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_fr_Type, { "fr-Type", "nr-rrc.fr_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr_Type_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_CandidateServingFreqListNR_item, { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_CandidateServingFreqListEUTRA_item, { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_03, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0, "T_criticalExtensions_03", HFILL }}, { &hf_nr_rrc_c1_03, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_03_vals), 0, "T_c1_03", HFILL }}, { &hf_nr_rrc_cg_ConfigInfo, { "cg-ConfigInfo", "nr-rrc.cg_ConfigInfo_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_03, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_03", HFILL }}, { &hf_nr_rrc_ue_CapabilityInfo, { "ue-CapabilityInfo", "nr-rrc.ue_CapabilityInfo", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_candidateCellInfoListMN, { "candidateCellInfoListMN", "nr-rrc.candidateCellInfoListMN", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultList2NR", HFILL }}, { &hf_nr_rrc_candidateCellInfoListSN_01, { "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN", FT_BYTES, BASE_NONE, NULL, 0, "T_candidateCellInfoListSN_01", HFILL }}, { &hf_nr_rrc_measResultCellListSFTD_NR, { "measResultCellListSFTD-NR", "nr-rrc.measResultCellListSFTD_NR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scgFailureInfo, { "scgFailureInfo", "nr-rrc.scgFailureInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_failureType, { "failureType", "nr-rrc.failureType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measResultSCG, { "measResultSCG", "nr-rrc.measResultSCG", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_InfoMCG, { "drx-InfoMCG", "nr-rrc.drx_InfoMCG_element", FT_NONE, BASE_NONE, NULL, 0, "DRX_Info", HFILL }}, { &hf_nr_rrc_measConfigMN, { "measConfigMN", "nr-rrc.measConfigMN_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sourceConfigSCG, { "sourceConfigSCG", "nr-rrc.sourceConfigSCG", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scg_RB_Config_01, { "scg-RB-Config", "nr-rrc.scg_RB_Config", FT_BYTES, BASE_NONE, NULL, 0, "T_scg_RB_Config_01", HFILL }}, { &hf_nr_rrc_mcg_RB_Config, { "mcg-RB-Config", "nr-rrc.mcg_RB_Config", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mrdc_AssistanceInfo, { "mrdc-AssistanceInfo", "nr-rrc.mrdc_AssistanceInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_05, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_v1540_IEs", HFILL }}, { &hf_nr_rrc_ph_InfoMCG, { "ph-InfoMCG", "nr-rrc.ph_InfoMCG", FT_UINT32, BASE_DEC, NULL, 0, "PH_TypeListMCG", HFILL }}, { &hf_nr_rrc_measResultReportCGI, { "measResultReportCGI", "nr-rrc.measResultReportCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cgi_Info, { "cgi-Info", "nr-rrc.cgi_Info_element", FT_NONE, BASE_NONE, NULL, 0, "CGI_InfoNR", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_06, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_v1560_IEs", HFILL }}, { &hf_nr_rrc_candidateCellInfoListMN_EUTRA, { "candidateCellInfoListMN-EUTRA", "nr-rrc.candidateCellInfoListMN_EUTRA", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_candidateCellInfoListSN_EUTRA_02, { "candidateCellInfoListSN-EUTRA", "nr-rrc.candidateCellInfoListSN_EUTRA", FT_BYTES, BASE_NONE, NULL, 0, "T_candidateCellInfoListSN_EUTRA_01", HFILL }}, { &hf_nr_rrc_sourceConfigSCG_EUTRA, { "sourceConfigSCG-EUTRA", "nr-rrc.sourceConfigSCG_EUTRA", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scgFailureInfoEUTRA, { "scgFailureInfoEUTRA", "nr-rrc.scgFailureInfoEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_failureTypeEUTRA, { "failureTypeEUTRA", "nr-rrc.failureTypeEUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureTypeEUTRA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measResultSCG_EUTRA, { "measResultSCG-EUTRA", "nr-rrc.measResultSCG_EUTRA", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_nr_rrc_drx_ConfigMCG, { "drx-ConfigMCG", "nr-rrc.drx_ConfigMCG_element", FT_NONE, BASE_NONE, NULL, 0, "DRX_Config", HFILL }}, { &hf_nr_rrc_measResultReportCGI_EUTRA, { "measResultReportCGI-EUTRA", "nr-rrc.measResultReportCGI_EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cgi_InfoEUTRA, { "cgi-InfoEUTRA", "nr-rrc.cgi_InfoEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultCellListSFTD_EUTRA, { "measResultCellListSFTD-EUTRA", "nr-rrc.measResultCellListSFTD_EUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_fr_InfoListMCG, { "fr-InfoListMCG", "nr-rrc.fr_InfoListMCG", FT_UINT32, BASE_DEC, NULL, 0, "FR_InfoList", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_07, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "CG_ConfigInfo_v1570_IEs", HFILL }}, { &hf_nr_rrc_sftdFrequencyList_NR, { "sftdFrequencyList-NR", "nr-rrc.sftdFrequencyList_NR", FT_UINT32, BASE_DEC, NULL, 0, "SFTD_FrequencyList_NR", HFILL }}, { &hf_nr_rrc_sftdFrequencyList_EUTRA, { "sftdFrequencyList-EUTRA", "nr-rrc.sftdFrequencyList_EUTRA", FT_UINT32, BASE_DEC, NULL, 0, "SFTD_FrequencyList_EUTRA", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_08, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_03", HFILL }}, { &hf_nr_rrc_SFTD_FrequencyList_NR_item, { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_SFTD_FrequencyList_EUTRA_item, { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_allowedBC_ListMRDC, { "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationInfoList", HFILL }}, { &hf_nr_rrc_powerCoordination_FR1, { "powerCoordination-FR1", "nr-rrc.powerCoordination_FR1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_p_maxNR_FR1, { "p-maxNR-FR1", "nr-rrc.p_maxNR_FR1", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_p_maxEUTRA, { "p-maxEUTRA", "nr-rrc.p_maxEUTRA", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_p_maxUE_FR1, { "p-maxUE-FR1", "nr-rrc.p_maxUE_FR1", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_servCellIndexRangeSCG, { "servCellIndexRangeSCG", "nr-rrc.servCellIndexRangeSCG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_lowBound, { "lowBound", "nr-rrc.lowBound", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_upBound, { "upBound", "nr-rrc.upBound", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_maxMeasFreqsSCG, { "maxMeasFreqsSCG", "nr-rrc.maxMeasFreqsSCG", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxMeasFreqsMN", HFILL }}, { &hf_nr_rrc_maxMeasIdentitiesSCG_NR, { "maxMeasIdentitiesSCG-NR", "nr-rrc.maxMeasIdentitiesSCG_NR", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxMeasIdentitiesMN", HFILL }}, { &hf_nr_rrc_selectedBandEntriesMNList, { "selectedBandEntriesMNList", "nr-rrc.selectedBandEntriesMNList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN", HFILL }}, { &hf_nr_rrc_selectedBandEntriesMNList_item, { "SelectedBandEntriesMN", "nr-rrc.SelectedBandEntriesMN", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_BlindDetectionSCG, { "pdcch-BlindDetectionSCG", "nr-rrc.pdcch_BlindDetectionSCG", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_maxNumberROHC_ContextSessionsSN, { "maxNumberROHC-ContextSessionsSN", "nr-rrc.maxNumberROHC_ContextSessionsSN", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16384", HFILL }}, { &hf_nr_rrc_SelectedBandEntriesMN_item, { "BandEntryIndex", "nr-rrc.BandEntryIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_PH_TypeListMCG_item, { "PH-InfoMCG", "nr-rrc.PH_InfoMCG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ph_Uplink_01, { "ph-Uplink", "nr-rrc.ph_Uplink_element", FT_NONE, BASE_NONE, NULL, 0, "PH_UplinkCarrierMCG", HFILL }}, { &hf_nr_rrc_ph_SupplementaryUplink_01, { "ph-SupplementaryUplink", "nr-rrc.ph_SupplementaryUplink_element", FT_NONE, BASE_NONE, NULL, 0, "PH_UplinkCarrierMCG", HFILL }}, { &hf_nr_rrc_ph_Type1or3_01, { "ph-Type1or3", "nr-rrc.ph_Type1or3", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ph_Type1or3_01_vals), 0, "T_ph_Type1or3_01", HFILL }}, { &hf_nr_rrc_BandCombinationInfoList_item, { "BandCombinationInfo", "nr-rrc.BandCombinationInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_allowedFeatureSetsList, { "allowedFeatureSetsList", "nr-rrc.allowedFeatureSetsList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex", HFILL }}, { &hf_nr_rrc_allowedFeatureSetsList_item, { "FeatureSetEntryIndex", "nr-rrc.FeatureSetEntryIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_LongCycleStartOffset, { "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_ms10, { "ms10", "nr-rrc.ms10", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_nr_rrc_ms20, { "ms20", "nr-rrc.ms20", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_19", HFILL }}, { &hf_nr_rrc_ms32, { "ms32", "nr-rrc.ms32", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_ms40, { "ms40", "nr-rrc.ms40", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, { &hf_nr_rrc_ms60, { "ms60", "nr-rrc.ms60", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_59", HFILL }}, { &hf_nr_rrc_ms64, { "ms64", "nr-rrc.ms64", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_ms70, { "ms70", "nr-rrc.ms70", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_69", HFILL }}, { &hf_nr_rrc_ms80, { "ms80", "nr-rrc.ms80", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_79", HFILL }}, { &hf_nr_rrc_ms128, { "ms128", "nr-rrc.ms128", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_nr_rrc_ms160, { "ms160", "nr-rrc.ms160", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_159", HFILL }}, { &hf_nr_rrc_ms256, { "ms256", "nr-rrc.ms256", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_nr_rrc_ms320, { "ms320", "nr-rrc.ms320", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_319", HFILL }}, { &hf_nr_rrc_ms512, { "ms512", "nr-rrc.ms512", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_511", HFILL }}, { &hf_nr_rrc_ms640, { "ms640", "nr-rrc.ms640", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_639", HFILL }}, { &hf_nr_rrc_ms1024, { "ms1024", "nr-rrc.ms1024", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_ms1280, { "ms1280", "nr-rrc.ms1280", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1279", HFILL }}, { &hf_nr_rrc_ms2048, { "ms2048", "nr-rrc.ms2048", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2047", HFILL }}, { &hf_nr_rrc_ms2560, { "ms2560", "nr-rrc.ms2560", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2559", HFILL }}, { &hf_nr_rrc_ms5120, { "ms5120", "nr-rrc.ms5120", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_5119", HFILL }}, { &hf_nr_rrc_ms10240, { "ms10240", "nr-rrc.ms10240", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_10239", HFILL }}, { &hf_nr_rrc_shortDRX, { "shortDRX", "nr-rrc.shortDRX_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_ShortCycle, { "drx-ShortCycle", "nr-rrc.drx_ShortCycle", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_ShortCycleTimer, { "drx-ShortCycleTimer", "nr-rrc.drx_ShortCycleTimer", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_nr_rrc_measuredFrequenciesMN, { "measuredFrequenciesMN", "nr-rrc.measuredFrequenciesMN", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo", HFILL }}, { &hf_nr_rrc_measuredFrequenciesMN_item, { "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measGapConfig, { "measGapConfig", "nr-rrc.measGapConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measGapConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_release, { "release", "nr-rrc.release_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_setup, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "GapConfig", HFILL }}, { &hf_nr_rrc_gapPurpose, { "gapPurpose", "nr-rrc.gapPurpose", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapPurpose_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measGapConfigFR2, { "measGapConfigFR2", "nr-rrc.measGapConfigFR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measGapConfigFR2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC, { "affectedCarrierFreqCombInfoListMRDC", "nr-rrc.affectedCarrierFreqCombInfoListMRDC", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC", HFILL }}, { &hf_nr_rrc_affectedCarrierFreqCombInfoListMRDC_item, { "AffectedCarrierFreqCombInfoMRDC", "nr-rrc.AffectedCarrierFreqCombInfoMRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_victimSystemType, { "victimSystemType", "nr-rrc.victimSystemType_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_interferenceDirectionMRDC, { "interferenceDirectionMRDC", "nr-rrc.interferenceDirectionMRDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interferenceDirectionMRDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_affectedCarrierFreqCombMRDC, { "affectedCarrierFreqCombMRDC", "nr-rrc.affectedCarrierFreqCombMRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_affectedCarrierFreqCombEUTRA, { "affectedCarrierFreqCombEUTRA", "nr-rrc.affectedCarrierFreqCombEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_affectedCarrierFreqCombNR, { "affectedCarrierFreqCombNR", "nr-rrc.affectedCarrierFreqCombNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_gps, { "gps", "nr-rrc.gps", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gps_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_glonass, { "glonass", "nr-rrc.glonass", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_glonass_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bds, { "bds", "nr-rrc.bds", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bds_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_galileo, { "galileo", "nr-rrc.galileo", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_galileo_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_wlan, { "wlan", "nr-rrc.wlan", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_wlan_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bluetooth, { "bluetooth", "nr-rrc.bluetooth", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bluetooth_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_AffectedCarrierFreqCombEUTRA_item, { "ARFCN-ValueEUTRA", "nr-rrc.ARFCN_ValueEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_AffectedCarrierFreqCombNR_item, { "ARFCN-ValueNR", "nr-rrc.ARFCN_ValueNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_04, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0, "T_criticalExtensions_04", HFILL }}, { &hf_nr_rrc_c1_04, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_04_vals), 0, "T_c1_04", HFILL }}, { &hf_nr_rrc_measTimingConf, { "measTimingConf", "nr-rrc.measTimingConf_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementTimingConfiguration_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_04, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_04", HFILL }}, { &hf_nr_rrc_measTiming, { "measTiming", "nr-rrc.measTiming", FT_UINT32, BASE_DEC, NULL, 0, "MeasTimingList", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_09, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementTimingConfiguration_v1550_IEs", HFILL }}, { &hf_nr_rrc_campOnFirstSSB, { "campOnFirstSSB", "nr-rrc.campOnFirstSSB", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_psCellOnlyOnFirstSSB, { "psCellOnlyOnFirstSSB", "nr-rrc.psCellOnlyOnFirstSSB", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_10, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_04", HFILL }}, { &hf_nr_rrc_MeasTimingList_item, { "MeasTiming", "nr-rrc.MeasTiming_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyAndTiming, { "frequencyAndTiming", "nr-rrc.frequencyAndTiming_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_carrierFreq, { "carrierFreq", "nr-rrc.carrierFreq", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_ssbSubcarrierSpacing, { "ssbSubcarrierSpacing", "nr-rrc.ssbSubcarrierSpacing", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, "SubcarrierSpacing", HFILL }}, { &hf_nr_rrc_ssb_MeasurementTimingConfiguration, { "ssb-MeasurementTimingConfiguration", "nr-rrc.ssb_MeasurementTimingConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, "SSB_MTC", HFILL }}, { &hf_nr_rrc_ss_RSSI_Measurement, { "ss-RSSI-Measurement", "nr-rrc.ss_RSSI_Measurement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_ToMeasure, { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure", FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_physCellId, { "physCellId", "nr-rrc.physCellId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_05, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0, "T_criticalExtensions_05", HFILL }}, { &hf_nr_rrc_c1_05, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_05_vals), 0, "T_c1_05", HFILL }}, { &hf_nr_rrc_ueRadioPagingInformation, { "ueRadioPagingInformation", "nr-rrc.ueRadioPagingInformation_element", FT_NONE, BASE_NONE, NULL, 0, "UERadioPagingInformation_IEs", HFILL }}, { &hf_nr_rrc_spare7, { "spare7", "nr-rrc.spare7_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spare6, { "spare6", "nr-rrc.spare6_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spare5, { "spare5", "nr-rrc.spare5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spare4, { "spare4", "nr-rrc.spare4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_05, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_05", HFILL }}, { &hf_nr_rrc_supportedBandListNRForPaging, { "supportedBandListNRForPaging", "nr-rrc.supportedBandListNRForPaging", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR", HFILL }}, { &hf_nr_rrc_supportedBandListNRForPaging_item, { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_11, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_05", HFILL }}, { &hf_nr_rrc_criticalExtensions_06, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_06_vals), 0, "T_criticalExtensions_06", HFILL }}, { &hf_nr_rrc_c1_06, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_06_vals), 0, "T_c1_06", HFILL }}, { &hf_nr_rrc_ueRadioAccessCapabilityInformation, { "ueRadioAccessCapabilityInformation", "nr-rrc.ueRadioAccessCapabilityInformation_element", FT_NONE, BASE_NONE, NULL, 0, "UERadioAccessCapabilityInformation_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_06, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_06", HFILL }}, { &hf_nr_rrc_ue_RadioAccessCapabilityInfo, { "ue-RadioAccessCapabilityInfo", "nr-rrc.ue_RadioAccessCapabilityInfo", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_12, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_06", HFILL }}, { &hf_nr_rrc_message, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_BCH_MessageType_vals), 0, "BCCH_BCH_MessageType", HFILL }}, { &hf_nr_rrc_mib, { "mib", "nr-rrc.mib_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_message_01, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_DL_SCH_MessageType_vals), 0, "BCCH_DL_SCH_MessageType", HFILL }}, { &hf_nr_rrc_c1_07, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_07_vals), 0, "T_c1_07", HFILL }}, { &hf_nr_rrc_systemInformation, { "systemInformation", "nr-rrc.systemInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_systemInformationBlockType1, { "systemInformationBlockType1", "nr-rrc.systemInformationBlockType1_element", FT_NONE, BASE_NONE, NULL, 0, "SIB1", HFILL }}, { &hf_nr_rrc_messageClassExtension_01, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageClassExtension_01", HFILL }}, { &hf_nr_rrc_message_02, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_CCCH_MessageType_vals), 0, "DL_CCCH_MessageType", HFILL }}, { &hf_nr_rrc_c1_08, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_08_vals), 0, "T_c1_08", HFILL }}, { &hf_nr_rrc_rrcReject, { "rrcReject", "nr-rrc.rrcReject_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcSetup, { "rrcSetup", "nr-rrc.rrcSetup_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_02, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageClassExtension_02", HFILL }}, { &hf_nr_rrc_message_03, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_DCCH_MessageType_vals), 0, "DL_DCCH_MessageType", HFILL }}, { &hf_nr_rrc_c1_09, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_09_vals), 0, "T_c1_09", HFILL }}, { &hf_nr_rrc_rrcReconfiguration_01, { "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcResume, { "rrcResume", "nr-rrc.rrcResume_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcRelease, { "rrcRelease", "nr-rrc.rrcRelease_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcReestablishment, { "rrcReestablishment", "nr-rrc.rrcReestablishment_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_securityModeCommand, { "securityModeCommand", "nr-rrc.securityModeCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dlInformationTransfer, { "dlInformationTransfer", "nr-rrc.dlInformationTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ueCapabilityEnquiry, { "ueCapabilityEnquiry", "nr-rrc.ueCapabilityEnquiry_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_counterCheck, { "counterCheck", "nr-rrc.counterCheck_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mobilityFromNRCommand, { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_03, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageClassExtension_03", HFILL }}, { &hf_nr_rrc_message_04, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_PCCH_MessageType_vals), 0, "PCCH_MessageType", HFILL }}, { &hf_nr_rrc_c1_10, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_10_vals), 0, "T_c1_10", HFILL }}, { &hf_nr_rrc_paging, { "paging", "nr-rrc.paging_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_04, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageClassExtension_04", HFILL }}, { &hf_nr_rrc_message_05, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_CCCH_MessageType_vals), 0, "UL_CCCH_MessageType", HFILL }}, { &hf_nr_rrc_c1_11, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_11_vals), 0, "T_c1_11", HFILL }}, { &hf_nr_rrc_rrcSetupRequest, { "rrcSetupRequest", "nr-rrc.rrcSetupRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcResumeRequest, { "rrcResumeRequest", "nr-rrc.rrcResumeRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcReestablishmentRequest, { "rrcReestablishmentRequest", "nr-rrc.rrcReestablishmentRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcSystemInfoRequest, { "rrcSystemInfoRequest", "nr-rrc.rrcSystemInfoRequest_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_05, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageClassExtension_05", HFILL }}, { &hf_nr_rrc_message_06, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_CCCH1_MessageType_vals), 0, "UL_CCCH1_MessageType", HFILL }}, { &hf_nr_rrc_c1_12, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_12_vals), 0, "T_c1_12", HFILL }}, { &hf_nr_rrc_rrcResumeRequest1, { "rrcResumeRequest1", "nr-rrc.rrcResumeRequest1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_06, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageClassExtension_06", HFILL }}, { &hf_nr_rrc_message_07, { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_DCCH_MessageType_vals), 0, "UL_DCCH_MessageType", HFILL }}, { &hf_nr_rrc_c1_13, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_13_vals), 0, "T_c1_13", HFILL }}, { &hf_nr_rrc_measurementReport, { "measurementReport", "nr-rrc.measurementReport_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcReconfigurationComplete, { "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcSetupComplete, { "rrcSetupComplete", "nr-rrc.rrcSetupComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcReestablishmentComplete, { "rrcReestablishmentComplete", "nr-rrc.rrcReestablishmentComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcResumeComplete, { "rrcResumeComplete", "nr-rrc.rrcResumeComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_securityModeComplete, { "securityModeComplete", "nr-rrc.securityModeComplete_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_securityModeFailure, { "securityModeFailure", "nr-rrc.securityModeFailure_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ulInformationTransfer, { "ulInformationTransfer", "nr-rrc.ulInformationTransfer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_locationMeasurementIndication, { "locationMeasurementIndication", "nr-rrc.locationMeasurementIndication_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ueCapabilityInformation, { "ueCapabilityInformation", "nr-rrc.ueCapabilityInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_counterCheckResponse, { "counterCheckResponse", "nr-rrc.counterCheckResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ueAssistanceInformation_01, { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_failureInformation, { "failureInformation", "nr-rrc.failureInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ulInformationTransferMRDC, { "ulInformationTransferMRDC", "nr-rrc.ulInformationTransferMRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scgFailureInformation, { "scgFailureInformation", "nr-rrc.scgFailureInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scgFailureInformationEUTRA, { "scgFailureInformationEUTRA", "nr-rrc.scgFailureInformationEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageClassExtension_07, { "messageClassExtension", "nr-rrc.messageClassExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_messageClassExtension_07", HFILL }}, { &hf_nr_rrc_rrc_TransactionIdentifier, { "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_07, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_07_vals), 0, "T_criticalExtensions_07", HFILL }}, { &hf_nr_rrc_counterCheck_01, { "counterCheck", "nr-rrc.counterCheck_element", FT_NONE, BASE_NONE, NULL, 0, "CounterCheck_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_07, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_07", HFILL }}, { &hf_nr_rrc_drb_CountMSB_InfoList, { "drb-CountMSB-InfoList", "nr-rrc.drb_CountMSB_InfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_lateNonCriticalExtension, { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_13, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_07", HFILL }}, { &hf_nr_rrc_DRB_CountMSB_InfoList_item, { "DRB-CountMSB-Info", "nr-rrc.DRB_CountMSB_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_drb_Identity, { "drb-Identity", "nr-rrc.drb_Identity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_countMSB_Uplink, { "countMSB-Uplink", "nr-rrc.countMSB_Uplink", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_33554431", HFILL }}, { &hf_nr_rrc_countMSB_Downlink, { "countMSB-Downlink", "nr-rrc.countMSB_Downlink", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_33554431", HFILL }}, { &hf_nr_rrc_criticalExtensions_08, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_08_vals), 0, "T_criticalExtensions_08", HFILL }}, { &hf_nr_rrc_counterCheckResponse_01, { "counterCheckResponse", "nr-rrc.counterCheckResponse_element", FT_NONE, BASE_NONE, NULL, 0, "CounterCheckResponse_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_08, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_08", HFILL }}, { &hf_nr_rrc_drb_CountInfoList, { "drb-CountInfoList", "nr-rrc.drb_CountInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_14, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_08", HFILL }}, { &hf_nr_rrc_DRB_CountInfoList_item, { "DRB-CountInfo", "nr-rrc.DRB_CountInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_count_Uplink, { "count-Uplink", "nr-rrc.count_Uplink", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_nr_rrc_count_Downlink, { "count-Downlink", "nr-rrc.count_Downlink", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4294967295", HFILL }}, { &hf_nr_rrc_criticalExtensions_09, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_09_vals), 0, "T_criticalExtensions_09", HFILL }}, { &hf_nr_rrc_dlInformationTransfer_01, { "dlInformationTransfer", "nr-rrc.dlInformationTransfer_element", FT_NONE, BASE_NONE, NULL, 0, "DLInformationTransfer_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_09, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_09", HFILL }}, { &hf_nr_rrc_dedicatedNAS_Message, { "dedicatedNAS-Message", "nr-rrc.dedicatedNAS_Message", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_15, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_09", HFILL }}, { &hf_nr_rrc_criticalExtensions_10, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_10_vals), 0, "T_criticalExtensions_10", HFILL }}, { &hf_nr_rrc_failureInformation_01, { "failureInformation", "nr-rrc.failureInformation_element", FT_NONE, BASE_NONE, NULL, 0, "FailureInformation_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_10, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_10", HFILL }}, { &hf_nr_rrc_failureInfoRLC_Bearer, { "failureInfoRLC-Bearer", "nr-rrc.failureInfoRLC_Bearer_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_16, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_10", HFILL }}, { &hf_nr_rrc_cellGroupId, { "cellGroupId", "nr-rrc.cellGroupId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_logicalChannelIdentity, { "logicalChannelIdentity", "nr-rrc.logicalChannelIdentity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_failureType_01, { "failureType", "nr-rrc.failureType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_01_vals), 0, "T_failureType_01", HFILL }}, { &hf_nr_rrc_criticalExtensions_11, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_11_vals), 0, "T_criticalExtensions_11", HFILL }}, { &hf_nr_rrc_locationMeasurementIndication_01, { "locationMeasurementIndication", "nr-rrc.locationMeasurementIndication_element", FT_NONE, BASE_NONE, NULL, 0, "LocationMeasurementIndication_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_11, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_11", HFILL }}, { &hf_nr_rrc_measurementIndication, { "measurementIndication", "nr-rrc.measurementIndication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measurementIndication_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_01, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_LocationMeasurementInfo_vals), 0, "LocationMeasurementInfo", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_17, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_11", HFILL }}, { &hf_nr_rrc_criticalExtensions_12, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_12_vals), 0, "T_criticalExtensions_12", HFILL }}, { &hf_nr_rrc_measurementReport_01, { "measurementReport", "nr-rrc.measurementReport_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementReport_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_12, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_12", HFILL }}, { &hf_nr_rrc_measResults, { "measResults", "nr-rrc.measResults_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_18, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_12", HFILL }}, { &hf_nr_rrc_systemFrameNumber, { "systemFrameNumber", "nr-rrc.systemFrameNumber", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6", HFILL }}, { &hf_nr_rrc_subCarrierSpacingCommon, { "subCarrierSpacingCommon", "nr-rrc.subCarrierSpacingCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subCarrierSpacingCommon_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_SubcarrierOffset, { "ssb-SubcarrierOffset", "nr-rrc.ssb_SubcarrierOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_dmrs_TypeA_Position, { "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_ConfigSIB1, { "pdcch-ConfigSIB1", "nr-rrc.pdcch_ConfigSIB1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellBarred, { "cellBarred", "nr-rrc.cellBarred", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellBarred_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_intraFreqReselection, { "intraFreqReselection", "nr-rrc.intraFreqReselection", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqReselection_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_spare, { "spare", "nr-rrc.spare", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1", HFILL }}, { &hf_nr_rrc_criticalExtensions_13, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_13_vals), 0, "T_criticalExtensions_13", HFILL }}, { &hf_nr_rrc_mobilityFromNRCommand_01, { "mobilityFromNRCommand", "nr-rrc.mobilityFromNRCommand_element", FT_NONE, BASE_NONE, NULL, 0, "MobilityFromNRCommand_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_13, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_13", HFILL }}, { &hf_nr_rrc_targetRAT_Type, { "targetRAT-Type", "nr-rrc.targetRAT_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_targetRAT_Type_vals), 0, "T_targetRAT_Type", HFILL }}, { &hf_nr_rrc_targetRAT_MessageContainer, { "targetRAT-MessageContainer", "nr-rrc.targetRAT_MessageContainer", FT_BYTES, BASE_NONE, NULL, 0, "T_targetRAT_MessageContainer", HFILL }}, { &hf_nr_rrc_nas_SecurityParamFromNR, { "nas-SecurityParamFromNR", "nr-rrc.nas_SecurityParamFromNR", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_19, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_13", HFILL }}, { &hf_nr_rrc_pagingRecordList, { "pagingRecordList", "nr-rrc.pagingRecordList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_20, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_14", HFILL }}, { &hf_nr_rrc_PagingRecordList_item, { "PagingRecord", "nr-rrc.PagingRecord_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ue_Identity, { "ue-Identity", "nr-rrc.ue_Identity", FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingUE_Identity_vals), 0, "PagingUE_Identity", HFILL }}, { &hf_nr_rrc_accessType, { "accessType", "nr-rrc.accessType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_accessType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ng_5G_S_TMSI, { "ng-5G-S-TMSI", "nr-rrc.ng_5G_S_TMSI", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_fullI_RNTI, { "fullI-RNTI", "nr-rrc.fullI_RNTI", FT_BYTES, BASE_NONE, NULL, 0, "I_RNTI_Value", HFILL }}, { &hf_nr_rrc_criticalExtensions_14, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_14_vals), 0, "T_criticalExtensions_14", HFILL }}, { &hf_nr_rrc_rrcReestablishment_01, { "rrcReestablishment", "nr-rrc.rrcReestablishment_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReestablishment_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_14, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_14", HFILL }}, { &hf_nr_rrc_nextHopChainingCount, { "nextHopChainingCount", "nr-rrc.nextHopChainingCount", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_21, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_15", HFILL }}, { &hf_nr_rrc_criticalExtensions_15, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_15_vals), 0, "T_criticalExtensions_15", HFILL }}, { &hf_nr_rrc_rrcReestablishmentComplete_01, { "rrcReestablishmentComplete", "nr-rrc.rrcReestablishmentComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReestablishmentComplete_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_15, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_15", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_22, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_16", HFILL }}, { &hf_nr_rrc_rrcReestablishmentRequest_01, { "rrcReestablishmentRequest", "nr-rrc.rrcReestablishmentRequest_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReestablishmentRequest_IEs", HFILL }}, { &hf_nr_rrc_ue_Identity_01, { "ue-Identity", "nr-rrc.ue_Identity_element", FT_NONE, BASE_NONE, NULL, 0, "ReestabUE_Identity", HFILL }}, { &hf_nr_rrc_reestablishmentCause, { "reestablishmentCause", "nr-rrc.reestablishmentCause", FT_UINT32, BASE_DEC, VALS(nr_rrc_ReestablishmentCause_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_c_RNTI, { "c-RNTI", "nr-rrc.c_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_criticalExtensions_16, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_16_vals), 0, "T_criticalExtensions_16", HFILL }}, { &hf_nr_rrc_rrcReconfiguration_02, { "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_16, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_16", HFILL }}, { &hf_nr_rrc_radioBearerConfig, { "radioBearerConfig", "nr-rrc.radioBearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_secondaryCellGroup, { "secondaryCellGroup", "nr-rrc.secondaryCellGroup", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measConfig, { "measConfig", "nr-rrc.measConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_23, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_v1530_IEs", HFILL }}, { &hf_nr_rrc_masterCellGroup, { "masterCellGroup", "nr-rrc.masterCellGroup", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_fullConfig, { "fullConfig", "nr-rrc.fullConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fullConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dedicatedNAS_MessageList, { "dedicatedNAS-MessageList", "nr-rrc.dedicatedNAS_MessageList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message", HFILL }}, { &hf_nr_rrc_dedicatedNAS_MessageList_item, { "DedicatedNAS-Message", "nr-rrc.DedicatedNAS_Message", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_masterKeyUpdate, { "masterKeyUpdate", "nr-rrc.masterKeyUpdate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dedicatedSIB1_Delivery, { "dedicatedSIB1-Delivery", "nr-rrc.dedicatedSIB1_Delivery", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dedicatedSystemInformationDelivery, { "dedicatedSystemInformationDelivery", "nr-rrc.dedicatedSystemInformationDelivery", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_otherConfig, { "otherConfig", "nr-rrc.otherConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_24, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_v1540_IEs", HFILL }}, { &hf_nr_rrc_otherConfig_v1540, { "otherConfig-v1540", "nr-rrc.otherConfig_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_25, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_v1560_IEs", HFILL }}, { &hf_nr_rrc_mrdc_SecondaryCellGroupConfig, { "mrdc-SecondaryCellGroupConfig", "nr-rrc.mrdc_SecondaryCellGroupConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_SecondaryCellGroupConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_02, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "MRDC_SecondaryCellGroupConfig", HFILL }}, { &hf_nr_rrc_radioBearerConfig2, { "radioBearerConfig2", "nr-rrc.radioBearerConfig2", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sk_Counter, { "sk-Counter", "nr-rrc.sk_Counter", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_26, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_17", HFILL }}, { &hf_nr_rrc_mrdc_ReleaseAndAdd, { "mrdc-ReleaseAndAdd", "nr-rrc.mrdc_ReleaseAndAdd", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_ReleaseAndAdd_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mrdc_SecondaryCellGroup, { "mrdc-SecondaryCellGroup", "nr-rrc.mrdc_SecondaryCellGroup", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mrdc_SecondaryCellGroup_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nr_SCG, { "nr-SCG", "nr-rrc.nr_SCG", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_SCG, { "eutra-SCG", "nr-rrc.eutra_SCG", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_keySetChangeIndicator, { "keySetChangeIndicator", "nr-rrc.keySetChangeIndicator", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_nas_Container, { "nas-Container", "nr-rrc.nas_Container", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_17, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_17_vals), 0, "T_criticalExtensions_17", HFILL }}, { &hf_nr_rrc_rrcReconfigurationComplete_01, { "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfigurationComplete_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_17, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_17", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_27, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfigurationComplete_v1530_IEs", HFILL }}, { &hf_nr_rrc_uplinkTxDirectCurrentList, { "uplinkTxDirectCurrentList", "nr-rrc.uplinkTxDirectCurrentList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_28, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfigurationComplete_v1560_IEs", HFILL }}, { &hf_nr_rrc_scg_Response, { "scg-Response", "nr-rrc.scg_Response", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scg_Response_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nr_SCG_Response, { "nr-SCG-Response", "nr-rrc.nr_SCG_Response", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_SCG_Response, { "eutra-SCG-Response", "nr-rrc.eutra_SCG_Response", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_29, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_18", HFILL }}, { &hf_nr_rrc_criticalExtensions_18, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_18_vals), 0, "T_criticalExtensions_18", HFILL }}, { &hf_nr_rrc_rrcReject_01, { "rrcReject", "nr-rrc.rrcReject_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReject_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_18, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_18", HFILL }}, { &hf_nr_rrc_waitTime, { "waitTime", "nr-rrc.waitTime", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "RejectWaitTime", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_30, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_19", HFILL }}, { &hf_nr_rrc_criticalExtensions_19, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_19_vals), 0, "T_criticalExtensions_19", HFILL }}, { &hf_nr_rrc_rrcRelease_01, { "rrcRelease", "nr-rrc.rrcRelease_element", FT_NONE, BASE_NONE, NULL, 0, "RRCRelease_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_19, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_19", HFILL }}, { &hf_nr_rrc_redirectedCarrierInfo, { "redirectedCarrierInfo", "nr-rrc.redirectedCarrierInfo", FT_UINT32, BASE_DEC, VALS(nr_rrc_RedirectedCarrierInfo_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cellReselectionPriorities, { "cellReselectionPriorities", "nr-rrc.cellReselectionPriorities_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_suspendConfig, { "suspendConfig", "nr-rrc.suspendConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_deprioritisationReq, { "deprioritisationReq", "nr-rrc.deprioritisationReq_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_deprioritisationType, { "deprioritisationType", "nr-rrc.deprioritisationType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deprioritisationType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_deprioritisationTimer, { "deprioritisationTimer", "nr-rrc.deprioritisationTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deprioritisationTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_31, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCRelease_v1540_IEs", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_32, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_20", HFILL }}, { &hf_nr_rrc_nr, { "nr", "nr-rrc.nr_element", FT_NONE, BASE_NONE, NULL, 0, "CarrierInfoNR", HFILL }}, { &hf_nr_rrc_eutra, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, "RedirectedCarrierInfo_EUTRA", HFILL }}, { &hf_nr_rrc_cnType, { "cnType", "nr-rrc.cnType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cnType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_smtc, { "smtc", "nr-rrc.smtc_element", FT_NONE, BASE_NONE, NULL, 0, "SSB_MTC", HFILL }}, { &hf_nr_rrc_shortI_RNTI, { "shortI-RNTI", "nr-rrc.shortI_RNTI", FT_BYTES, BASE_NONE, NULL, 0, "ShortI_RNTI_Value", HFILL }}, { &hf_nr_rrc_ran_PagingCycle, { "ran-PagingCycle", "nr-rrc.ran_PagingCycle", FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingCycle_vals), 0, "PagingCycle", HFILL }}, { &hf_nr_rrc_t380, { "t380", "nr-rrc.t380", FT_UINT32, BASE_DEC, VALS(nr_rrc_PeriodicRNAU_TimerValue_vals), 0, "PeriodicRNAU_TimerValue", HFILL }}, { &hf_nr_rrc_freqPriorityListEUTRA, { "freqPriorityListEUTRA", "nr-rrc.freqPriorityListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_freqPriorityListNR, { "freqPriorityListNR", "nr-rrc.freqPriorityListNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_t320, { "t320", "nr-rrc.t320", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t320_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_FreqPriorityListEUTRA_item, { "FreqPriorityEUTRA", "nr-rrc.FreqPriorityEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_FreqPriorityListNR_item, { "FreqPriorityNR", "nr-rrc.FreqPriorityNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_carrierFreq_01, { "carrierFreq", "nr-rrc.carrierFreq", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueEUTRA", HFILL }}, { &hf_nr_rrc_cellReselectionPriority, { "cellReselectionPriority", "nr-rrc.cellReselectionPriority", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellReselectionSubPriority, { "cellReselectionSubPriority", "nr-rrc.cellReselectionSubPriority", FT_UINT32, BASE_DEC, VALS(nr_rrc_CellReselectionSubPriority_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cellList, { "cellList", "nr-rrc.cellList", FT_UINT32, BASE_DEC, NULL, 0, "PLMN_RAN_AreaCellList", HFILL }}, { &hf_nr_rrc_ran_AreaConfigList, { "ran-AreaConfigList", "nr-rrc.ran_AreaConfigList", FT_UINT32, BASE_DEC, NULL, 0, "PLMN_RAN_AreaConfigList", HFILL }}, { &hf_nr_rrc_PLMN_RAN_AreaCellList_item, { "PLMN-RAN-AreaCell", "nr-rrc.PLMN_RAN_AreaCell_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_plmn_Identity, { "plmn-Identity", "nr-rrc.plmn_Identity_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ran_AreaCells, { "ran-AreaCells", "nr-rrc.ran_AreaCells", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_32_OF_CellIdentity", HFILL }}, { &hf_nr_rrc_ran_AreaCells_item, { "CellIdentity", "nr-rrc.CellIdentity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_PLMN_RAN_AreaConfigList_item, { "PLMN-RAN-AreaConfig", "nr-rrc.PLMN_RAN_AreaConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ran_Area, { "ran-Area", "nr-rrc.ran_Area", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig", HFILL }}, { &hf_nr_rrc_ran_Area_item, { "RAN-AreaConfig", "nr-rrc.RAN_AreaConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_trackingAreaCode, { "trackingAreaCode", "nr-rrc.trackingAreaCode", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ran_AreaCodeList, { "ran-AreaCodeList", "nr-rrc.ran_AreaCodeList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_32_OF_RAN_AreaCode", HFILL }}, { &hf_nr_rrc_ran_AreaCodeList_item, { "RAN-AreaCode", "nr-rrc.RAN_AreaCode", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_20, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_20_vals), 0, "T_criticalExtensions_20", HFILL }}, { &hf_nr_rrc_rrcResume_01, { "rrcResume", "nr-rrc.rrcResume_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResume_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_20, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_20", HFILL }}, { &hf_nr_rrc_masterCellGroup_01, { "masterCellGroup", "nr-rrc.masterCellGroup", FT_BYTES, BASE_NONE, NULL, 0, "T_masterCellGroup_01", HFILL }}, { &hf_nr_rrc_fullConfig_01, { "fullConfig", "nr-rrc.fullConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fullConfig_01_vals), 0, "T_fullConfig_01", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_33, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResume_v1560_IEs", HFILL }}, { &hf_nr_rrc_radioBearerConfig2_01, { "radioBearerConfig2", "nr-rrc.radioBearerConfig2", FT_BYTES, BASE_NONE, NULL, 0, "T_radioBearerConfig2_01", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_34, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_21", HFILL }}, { &hf_nr_rrc_criticalExtensions_21, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_21_vals), 0, "T_criticalExtensions_21", HFILL }}, { &hf_nr_rrc_rrcResumeComplete_01, { "rrcResumeComplete", "nr-rrc.rrcResumeComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResumeComplete_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_21, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_21", HFILL }}, { &hf_nr_rrc_selectedPLMN_Identity, { "selectedPLMN-Identity", "nr-rrc.selectedPLMN_Identity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxPLMN", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_35, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_22", HFILL }}, { &hf_nr_rrc_rrcResumeRequest_01, { "rrcResumeRequest", "nr-rrc.rrcResumeRequest_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResumeRequest_IEs", HFILL }}, { &hf_nr_rrc_resumeIdentity, { "resumeIdentity", "nr-rrc.resumeIdentity", FT_BYTES, BASE_NONE, NULL, 0, "ShortI_RNTI_Value", HFILL }}, { &hf_nr_rrc_resumeMAC_I, { "resumeMAC-I", "nr-rrc.resumeMAC_I", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_resumeCause, { "resumeCause", "nr-rrc.resumeCause", FT_UINT32, BASE_DEC, VALS(nr_rrc_ResumeCause_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rrcResumeRequest1_01, { "rrcResumeRequest1", "nr-rrc.rrcResumeRequest1_element", FT_NONE, BASE_NONE, NULL, 0, "RRCResumeRequest1_IEs", HFILL }}, { &hf_nr_rrc_resumeIdentity_01, { "resumeIdentity", "nr-rrc.resumeIdentity", FT_BYTES, BASE_NONE, NULL, 0, "I_RNTI_Value", HFILL }}, { &hf_nr_rrc_criticalExtensions_22, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_22_vals), 0, "T_criticalExtensions_22", HFILL }}, { &hf_nr_rrc_rrcSetup_01, { "rrcSetup", "nr-rrc.rrcSetup_element", FT_NONE, BASE_NONE, NULL, 0, "RRCSetup_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_22, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_22", HFILL }}, { &hf_nr_rrc_masterCellGroup_02, { "masterCellGroup", "nr-rrc.masterCellGroup", FT_BYTES, BASE_NONE, NULL, 0, "T_masterCellGroup_02", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_36, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_23", HFILL }}, { &hf_nr_rrc_criticalExtensions_23, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_23_vals), 0, "T_criticalExtensions_23", HFILL }}, { &hf_nr_rrc_rrcSetupComplete_01, { "rrcSetupComplete", "nr-rrc.rrcSetupComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCSetupComplete_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_23, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_23", HFILL }}, { &hf_nr_rrc_registeredAMF, { "registeredAMF", "nr-rrc.registeredAMF_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_guami_Type, { "guami-Type", "nr-rrc.guami_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_guami_Type_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_s_NSSAI_List, { "s-NSSAI-List", "nr-rrc.s_NSSAI_List", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI", HFILL }}, { &hf_nr_rrc_s_NSSAI_List_item, { "S-NSSAI", "nr-rrc.S_NSSAI", FT_UINT32, BASE_DEC, VALS(nr_rrc_S_NSSAI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ng_5G_S_TMSI_Value, { "ng-5G-S-TMSI-Value", "nr-rrc.ng_5G_S_TMSI_Value", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ng_5G_S_TMSI_Value_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ng_5G_S_TMSI_Part2, { "ng-5G-S-TMSI-Part2", "nr-rrc.ng_5G_S_TMSI_Part2", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_9", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_37, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_24", HFILL }}, { &hf_nr_rrc_amf_Identifier, { "amf-Identifier", "nr-rrc.amf_Identifier", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rrcSetupRequest_01, { "rrcSetupRequest", "nr-rrc.rrcSetupRequest_element", FT_NONE, BASE_NONE, NULL, 0, "RRCSetupRequest_IEs", HFILL }}, { &hf_nr_rrc_ue_Identity_02, { "ue-Identity", "nr-rrc.ue_Identity", FT_UINT32, BASE_DEC, VALS(nr_rrc_InitialUE_Identity_vals), 0, "InitialUE_Identity", HFILL }}, { &hf_nr_rrc_establishmentCause, { "establishmentCause", "nr-rrc.establishmentCause", FT_UINT32, BASE_DEC, VALS(nr_rrc_EstablishmentCause_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ng_5G_S_TMSI_Part1, { "ng-5G-S-TMSI-Part1", "nr-rrc.ng_5G_S_TMSI_Part1", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_39", HFILL }}, { &hf_nr_rrc_randomValue, { "randomValue", "nr-rrc.randomValue", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_39", HFILL }}, { &hf_nr_rrc_criticalExtensions_24, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_24_vals), 0, "T_criticalExtensions_24", HFILL }}, { &hf_nr_rrc_rrcSystemInfoRequest_01, { "rrcSystemInfoRequest", "nr-rrc.rrcSystemInfoRequest_element", FT_NONE, BASE_NONE, NULL, 0, "RRCSystemInfoRequest_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_24, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_24", HFILL }}, { &hf_nr_rrc_requested_SI_List, { "requested-SI-List", "nr-rrc.requested_SI_List", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_maxSI_Message", HFILL }}, { &hf_nr_rrc_spare_01, { "spare", "nr-rrc.spare", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_12", HFILL }}, { &hf_nr_rrc_criticalExtensions_25, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_25_vals), 0, "T_criticalExtensions_25", HFILL }}, { &hf_nr_rrc_scgFailureInformation_01, { "scgFailureInformation", "nr-rrc.scgFailureInformation_element", FT_NONE, BASE_NONE, NULL, 0, "SCGFailureInformation_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_25, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_25", HFILL }}, { &hf_nr_rrc_failureReportSCG, { "failureReportSCG", "nr-rrc.failureReportSCG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_38, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_25", HFILL }}, { &hf_nr_rrc_failureType_02, { "failureType", "nr-rrc.failureType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_02_vals), 0, "T_failureType_02", HFILL }}, { &hf_nr_rrc_measResultFreqList, { "measResultFreqList", "nr-rrc.measResultFreqList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultSCG_Failure, { "measResultSCG-Failure", "nr-rrc.measResultSCG_Failure", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasResultFreqList_item, { "MeasResult2NR", "nr-rrc.MeasResult2NR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_26, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_26_vals), 0, "T_criticalExtensions_26", HFILL }}, { &hf_nr_rrc_scgFailureInformationEUTRA_01, { "scgFailureInformationEUTRA", "nr-rrc.scgFailureInformationEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, "SCGFailureInformationEUTRA_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_26, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_26", HFILL }}, { &hf_nr_rrc_failureReportSCG_EUTRA, { "failureReportSCG-EUTRA", "nr-rrc.failureReportSCG_EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_39, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_26", HFILL }}, { &hf_nr_rrc_failureType_03, { "failureType", "nr-rrc.failureType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_03_vals), 0, "T_failureType_03", HFILL }}, { &hf_nr_rrc_measResultFreqListMRDC, { "measResultFreqListMRDC", "nr-rrc.measResultFreqListMRDC", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultFreqListFailMRDC", HFILL }}, { &hf_nr_rrc_measResultSCG_FailureMRDC, { "measResultSCG-FailureMRDC", "nr-rrc.measResultSCG_FailureMRDC", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasResultFreqListFailMRDC_item, { "MeasResult2EUTRA", "nr-rrc.MeasResult2EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_27, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_27_vals), 0, "T_criticalExtensions_27", HFILL }}, { &hf_nr_rrc_securityModeCommand_01, { "securityModeCommand", "nr-rrc.securityModeCommand_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeCommand_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_27, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_27", HFILL }}, { &hf_nr_rrc_securityConfigSMC, { "securityConfigSMC", "nr-rrc.securityConfigSMC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_40, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_27", HFILL }}, { &hf_nr_rrc_securityAlgorithmConfig, { "securityAlgorithmConfig", "nr-rrc.securityAlgorithmConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_criticalExtensions_28, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_28_vals), 0, "T_criticalExtensions_28", HFILL }}, { &hf_nr_rrc_securityModeComplete_01, { "securityModeComplete", "nr-rrc.securityModeComplete_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeComplete_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_28, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_28", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_41, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_28", HFILL }}, { &hf_nr_rrc_criticalExtensions_29, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_29_vals), 0, "T_criticalExtensions_29", HFILL }}, { &hf_nr_rrc_securityModeFailure_01, { "securityModeFailure", "nr-rrc.securityModeFailure_element", FT_NONE, BASE_NONE, NULL, 0, "SecurityModeFailure_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_29, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_29", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_42, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_29", HFILL }}, { &hf_nr_rrc_cellSelectionInfo, { "cellSelectionInfo", "nr-rrc.cellSelectionInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_q_RxLevMin, { "q-RxLevMin", "nr-rrc.q_RxLevMin", FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Q_RxLevMin_fmt), 0, NULL, HFILL }}, { &hf_nr_rrc_q_RxLevMinOffset, { "q-RxLevMinOffset", "nr-rrc.q_RxLevMinOffset", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_q_RxLevMinSUL, { "q-RxLevMinSUL", "nr-rrc.q_RxLevMinSUL", FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Q_RxLevMin_fmt), 0, "Q_RxLevMin", HFILL }}, { &hf_nr_rrc_q_QualMin, { "q-QualMin", "nr-rrc.q_QualMin", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, NULL, HFILL }}, { &hf_nr_rrc_q_QualMinOffset, { "q-QualMinOffset", "nr-rrc.q_QualMinOffset", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_cellAccessRelatedInfo, { "cellAccessRelatedInfo", "nr-rrc.cellAccessRelatedInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_connEstFailureControl, { "connEstFailureControl", "nr-rrc.connEstFailureControl_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_si_SchedulingInfo, { "si-SchedulingInfo", "nr-rrc.si_SchedulingInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_servingCellConfigCommon, { "servingCellConfigCommon", "nr-rrc.servingCellConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, "ServingCellConfigCommonSIB", HFILL }}, { &hf_nr_rrc_ims_EmergencySupport, { "ims-EmergencySupport", "nr-rrc.ims_EmergencySupport", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ims_EmergencySupport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eCallOverIMS_Support, { "eCallOverIMS-Support", "nr-rrc.eCallOverIMS_Support", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eCallOverIMS_Support_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ue_TimersAndConstants, { "ue-TimersAndConstants", "nr-rrc.ue_TimersAndConstants_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uac_BarringInfo, { "uac-BarringInfo", "nr-rrc.uac_BarringInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uac_BarringForCommon, { "uac-BarringForCommon", "nr-rrc.uac_BarringForCommon", FT_UINT32, BASE_DEC, NULL, 0, "UAC_BarringPerCatList", HFILL }}, { &hf_nr_rrc_uac_BarringPerPLMN_List, { "uac-BarringPerPLMN-List", "nr-rrc.uac_BarringPerPLMN_List", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uac_BarringInfoSetList, { "uac-BarringInfoSetList", "nr-rrc.uac_BarringInfoSetList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uac_AccessCategory1_SelectionAssistanceInfo, { "uac-AccessCategory1-SelectionAssistanceInfo", "nr-rrc.uac_AccessCategory1_SelectionAssistanceInfo", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_plmnCommon, { "plmnCommon", "nr-rrc.plmnCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals), 0, "UAC_AccessCategory1_SelectionAssistanceInfo", HFILL }}, { &hf_nr_rrc_individualPLMNList, { "individualPLMNList", "nr-rrc.individualPLMNList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo", HFILL }}, { &hf_nr_rrc_individualPLMNList_item, { "UAC-AccessCategory1-SelectionAssistanceInfo", "nr-rrc.UAC_AccessCategory1_SelectionAssistanceInfo", FT_UINT32, BASE_DEC, VALS(nr_rrc_UAC_AccessCategory1_SelectionAssistanceInfo_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_useFullResumeID, { "useFullResumeID", "nr-rrc.useFullResumeID", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_useFullResumeID_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_43, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_30", HFILL }}, { &hf_nr_rrc_criticalExtensions_30, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_30_vals), 0, "T_criticalExtensions_30", HFILL }}, { &hf_nr_rrc_systemInformation_01, { "systemInformation", "nr-rrc.systemInformation_element", FT_NONE, BASE_NONE, NULL, 0, "SystemInformation_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_30, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_30", HFILL }}, { &hf_nr_rrc_sib_TypeAndInfo, { "sib-TypeAndInfo", "nr-rrc.sib_TypeAndInfo", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib_TypeAndInfo_item, { "sib-TypeAndInfo item", "nr-rrc.sib_TypeAndInfo_item", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sib_TypeAndInfo_item_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sib2, { "sib2", "nr-rrc.sib2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib3, { "sib3", "nr-rrc.sib3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib4, { "sib4", "nr-rrc.sib4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib5, { "sib5", "nr-rrc.sib5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib6, { "sib6", "nr-rrc.sib6_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7, { "sib7", "nr-rrc.sib7_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8, { "sib8", "nr-rrc.sib8_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib9, { "sib9", "nr-rrc.sib9_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_44, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_31", HFILL }}, { &hf_nr_rrc_criticalExtensions_31, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_31_vals), 0, "T_criticalExtensions_31", HFILL }}, { &hf_nr_rrc_ueAssistanceInformation_02, { "ueAssistanceInformation", "nr-rrc.ueAssistanceInformation_element", FT_NONE, BASE_NONE, NULL, 0, "UEAssistanceInformation_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_31, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_31", HFILL }}, { &hf_nr_rrc_delayBudgetReport, { "delayBudgetReport", "nr-rrc.delayBudgetReport", FT_UINT32, BASE_DEC, VALS(nr_rrc_DelayBudgetReport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_45, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UEAssistanceInformation_v1540_IEs", HFILL }}, { &hf_nr_rrc_type1, { "type1", "nr-rrc.type1", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_type1_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_overheatingAssistance, { "overheatingAssistance", "nr-rrc.overheatingAssistance_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_46, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_32", HFILL }}, { &hf_nr_rrc_reducedMaxCCs, { "reducedMaxCCs", "nr-rrc.reducedMaxCCs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reducedCCsDL, { "reducedCCsDL", "nr-rrc.reducedCCsDL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_reducedCCsUL, { "reducedCCsUL", "nr-rrc.reducedCCsUL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_reducedMaxBW_FR1, { "reducedMaxBW-FR1", "nr-rrc.reducedMaxBW_FR1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reducedBW_FR1_DL, { "reducedBW-FR1-DL", "nr-rrc.reducedBW_FR1_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, "ReducedAggregatedBandwidth", HFILL }}, { &hf_nr_rrc_reducedBW_FR1_UL, { "reducedBW-FR1-UL", "nr-rrc.reducedBW_FR1_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, "ReducedAggregatedBandwidth", HFILL }}, { &hf_nr_rrc_reducedMaxBW_FR2, { "reducedMaxBW-FR2", "nr-rrc.reducedMaxBW_FR2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reducedBW_FR2_DL, { "reducedBW-FR2-DL", "nr-rrc.reducedBW_FR2_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, "ReducedAggregatedBandwidth", HFILL }}, { &hf_nr_rrc_reducedBW_FR2_UL, { "reducedBW-FR2-UL", "nr-rrc.reducedBW_FR2_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_ReducedAggregatedBandwidth_vals), 0, "ReducedAggregatedBandwidth", HFILL }}, { &hf_nr_rrc_reducedMaxMIMO_LayersFR1, { "reducedMaxMIMO-LayersFR1", "nr-rrc.reducedMaxMIMO_LayersFR1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reducedMIMO_LayersFR1_DL, { "reducedMIMO-LayersFR1-DL", "nr-rrc.reducedMIMO_LayersFR1_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0, "MIMO_LayersDL", HFILL }}, { &hf_nr_rrc_reducedMIMO_LayersFR1_UL, { "reducedMIMO-LayersFR1-UL", "nr-rrc.reducedMIMO_LayersFR1_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0, "MIMO_LayersUL", HFILL }}, { &hf_nr_rrc_reducedMaxMIMO_LayersFR2, { "reducedMaxMIMO-LayersFR2", "nr-rrc.reducedMaxMIMO_LayersFR2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reducedMIMO_LayersFR2_DL, { "reducedMIMO-LayersFR2-DL", "nr-rrc.reducedMIMO_LayersFR2_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0, "MIMO_LayersDL", HFILL }}, { &hf_nr_rrc_reducedMIMO_LayersFR2_UL, { "reducedMIMO-LayersFR2-UL", "nr-rrc.reducedMIMO_LayersFR2_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0, "MIMO_LayersUL", HFILL }}, { &hf_nr_rrc_criticalExtensions_32, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_32_vals), 0, "T_criticalExtensions_32", HFILL }}, { &hf_nr_rrc_ueCapabilityEnquiry_01, { "ueCapabilityEnquiry", "nr-rrc.ueCapabilityEnquiry_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityEnquiry_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_32, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_32", HFILL }}, { &hf_nr_rrc_ue_CapabilityRAT_RequestList, { "ue-CapabilityRAT-RequestList", "nr-rrc.ue_CapabilityRAT_RequestList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ue_CapabilityEnquiryExt, { "ue-CapabilityEnquiryExt", "nr-rrc.ue_CapabilityEnquiryExt", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_capabilityRequestFilterCommon, { "capabilityRequestFilterCommon", "nr-rrc.capabilityRequestFilterCommon_element", FT_NONE, BASE_NONE, NULL, 0, "UE_CapabilityRequestFilterCommon", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_47, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_33", HFILL }}, { &hf_nr_rrc_criticalExtensions_33, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_33_vals), 0, "T_criticalExtensions_33", HFILL }}, { &hf_nr_rrc_ueCapabilityInformation_01, { "ueCapabilityInformation", "nr-rrc.ueCapabilityInformation_element", FT_NONE, BASE_NONE, NULL, 0, "UECapabilityInformation_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_33, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_33", HFILL }}, { &hf_nr_rrc_ue_CapabilityRAT_ContainerList, { "ue-CapabilityRAT-ContainerList", "nr-rrc.ue_CapabilityRAT_ContainerList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_48, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_34", HFILL }}, { &hf_nr_rrc_criticalExtensions_34, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_34_vals), 0, "T_criticalExtensions_34", HFILL }}, { &hf_nr_rrc_ulInformationTransfer_01, { "ulInformationTransfer", "nr-rrc.ulInformationTransfer_element", FT_NONE, BASE_NONE, NULL, 0, "ULInformationTransfer_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_34, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_34", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_49, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_35", HFILL }}, { &hf_nr_rrc_criticalExtensions_35, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_35_vals), 0, "T_criticalExtensions_35", HFILL }}, { &hf_nr_rrc_c1_14, { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_14_vals), 0, "T_c1_14", HFILL }}, { &hf_nr_rrc_ulInformationTransferMRDC_01, { "ulInformationTransferMRDC", "nr-rrc.ulInformationTransferMRDC_element", FT_NONE, BASE_NONE, NULL, 0, "ULInformationTransferMRDC_IEs", HFILL }}, { &hf_nr_rrc_criticalExtensionsFuture_35, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, "T_criticalExtensionsFuture_35", HFILL }}, { &hf_nr_rrc_ul_DCCH_MessageNR, { "ul-DCCH-MessageNR", "nr-rrc.ul_DCCH_MessageNR", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ul_DCCH_MessageEUTRA, { "ul-DCCH-MessageEUTRA", "nr-rrc.ul_DCCH_MessageEUTRA", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_50, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_36", HFILL }}, { &hf_nr_rrc_cellReselectionInfoCommon, { "cellReselectionInfoCommon", "nr-rrc.cellReselectionInfoCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nrofSS_BlocksToAverage, { "nrofSS-BlocksToAverage", "nr-rrc.nrofSS_BlocksToAverage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }}, { &hf_nr_rrc_absThreshSS_BlocksConsolidation, { "absThreshSS-BlocksConsolidation", "nr-rrc.absThreshSS_BlocksConsolidation_element", FT_NONE, BASE_NONE, NULL, 0, "ThresholdNR", HFILL }}, { &hf_nr_rrc_rangeToBestCell, { "rangeToBestCell", "nr-rrc.rangeToBestCell", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_q_Hyst, { "q-Hyst", "nr-rrc.q_Hyst", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_q_Hyst_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_speedStateReselectionPars, { "speedStateReselectionPars", "nr-rrc.speedStateReselectionPars_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mobilityStateParameters, { "mobilityStateParameters", "nr-rrc.mobilityStateParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_q_HystSF, { "q-HystSF", "nr-rrc.q_HystSF_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sf_Medium, { "sf-Medium", "nr-rrc.sf_Medium", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_Medium_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sf_High, { "sf-High", "nr-rrc.sf_High", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_High_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cellReselectionServingFreqInfo, { "cellReselectionServingFreqInfo", "nr-rrc.cellReselectionServingFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_s_NonIntraSearchP, { "s-NonIntraSearchP", "nr-rrc.s_NonIntraSearchP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, "ReselectionThreshold", HFILL }}, { &hf_nr_rrc_s_NonIntraSearchQ, { "s-NonIntraSearchQ", "nr-rrc.s_NonIntraSearchQ", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "ReselectionThresholdQ", HFILL }}, { &hf_nr_rrc_threshServingLowP, { "threshServingLowP", "nr-rrc.threshServingLowP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, "ReselectionThreshold", HFILL }}, { &hf_nr_rrc_threshServingLowQ, { "threshServingLowQ", "nr-rrc.threshServingLowQ", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "ReselectionThresholdQ", HFILL }}, { &hf_nr_rrc_intraFreqCellReselectionInfo, { "intraFreqCellReselectionInfo", "nr-rrc.intraFreqCellReselectionInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_s_IntraSearchP, { "s-IntraSearchP", "nr-rrc.s_IntraSearchP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, "ReselectionThreshold", HFILL }}, { &hf_nr_rrc_s_IntraSearchQ, { "s-IntraSearchQ", "nr-rrc.s_IntraSearchQ", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "ReselectionThresholdQ", HFILL }}, { &hf_nr_rrc_t_ReselectionNR, { "t-ReselectionNR", "nr-rrc.t_ReselectionNR", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "T_Reselection", HFILL }}, { &hf_nr_rrc_frequencyBandList, { "frequencyBandList", "nr-rrc.frequencyBandList", FT_UINT32, BASE_DEC, NULL, 0, "MultiFrequencyBandListNR_SIB", HFILL }}, { &hf_nr_rrc_frequencyBandListSUL, { "frequencyBandListSUL", "nr-rrc.frequencyBandListSUL", FT_UINT32, BASE_DEC, NULL, 0, "MultiFrequencyBandListNR_SIB", HFILL }}, { &hf_nr_rrc_p_Max, { "p-Max", "nr-rrc.p_Max", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, NULL, HFILL }}, { &hf_nr_rrc_deriveSSB_IndexFromCell, { "deriveSSB-IndexFromCell", "nr-rrc.deriveSSB_IndexFromCell", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_t_ReselectionNR_SF, { "t-ReselectionNR-SF", "nr-rrc.t_ReselectionNR_SF_element", FT_NONE, BASE_NONE, NULL, 0, "SpeedStateScaleFactors", HFILL }}, { &hf_nr_rrc_intraFreqNeighCellList, { "intraFreqNeighCellList", "nr-rrc.intraFreqNeighCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_intraFreqBlackCellList, { "intraFreqBlackCellList", "nr-rrc.intraFreqBlackCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_IntraFreqNeighCellList_item, { "IntraFreqNeighCellInfo", "nr-rrc.IntraFreqNeighCellInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_q_OffsetCell, { "q-OffsetCell", "nr-rrc.q_OffsetCell", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_q_RxLevMinOffsetCell, { "q-RxLevMinOffsetCell", "nr-rrc.q_RxLevMinOffsetCell", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_q_RxLevMinOffsetCellSUL, { "q-RxLevMinOffsetCellSUL", "nr-rrc.q_RxLevMinOffsetCellSUL", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_q_QualMinOffsetCell, { "q-QualMinOffsetCell", "nr-rrc.q_QualMinOffsetCell", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_IntraFreqBlackCellList_item, { "PCI-Range", "nr-rrc.PCI_Range_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_interFreqCarrierFreqList, { "interFreqCarrierFreqList", "nr-rrc.interFreqCarrierFreqList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_InterFreqCarrierFreqList_item, { "InterFreqCarrierFreqInfo", "nr-rrc.InterFreqCarrierFreqInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dl_CarrierFreq, { "dl-CarrierFreq", "nr-rrc.dl_CarrierFreq", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_threshX_HighP, { "threshX-HighP", "nr-rrc.threshX_HighP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, "ReselectionThreshold", HFILL }}, { &hf_nr_rrc_threshX_LowP, { "threshX-LowP", "nr-rrc.threshX_LowP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, "ReselectionThreshold", HFILL }}, { &hf_nr_rrc_threshX_Q, { "threshX-Q", "nr-rrc.threshX_Q_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_threshX_HighQ, { "threshX-HighQ", "nr-rrc.threshX_HighQ", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "ReselectionThresholdQ", HFILL }}, { &hf_nr_rrc_threshX_LowQ, { "threshX-LowQ", "nr-rrc.threshX_LowQ", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "ReselectionThresholdQ", HFILL }}, { &hf_nr_rrc_q_OffsetFreq, { "q-OffsetFreq", "nr-rrc.q_OffsetFreq", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_interFreqNeighCellList, { "interFreqNeighCellList", "nr-rrc.interFreqNeighCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_interFreqBlackCellList, { "interFreqBlackCellList", "nr-rrc.interFreqBlackCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_InterFreqNeighCellList_item, { "InterFreqNeighCellInfo", "nr-rrc.InterFreqNeighCellInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_InterFreqBlackCellList_item, { "PCI-Range", "nr-rrc.PCI_Range_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_carrierFreqListEUTRA, { "carrierFreqListEUTRA", "nr-rrc.carrierFreqListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_t_ReselectionEUTRA, { "t-ReselectionEUTRA", "nr-rrc.t_ReselectionEUTRA", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "T_Reselection", HFILL }}, { &hf_nr_rrc_t_ReselectionEUTRA_SF, { "t-ReselectionEUTRA-SF", "nr-rrc.t_ReselectionEUTRA_SF_element", FT_NONE, BASE_NONE, NULL, 0, "SpeedStateScaleFactors", HFILL }}, { &hf_nr_rrc_CarrierFreqListEUTRA_item, { "CarrierFreqEUTRA", "nr-rrc.CarrierFreqEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_multiBandInfoList, { "eutra-multiBandInfoList", "nr-rrc.eutra_multiBandInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_FreqNeighCellList, { "eutra-FreqNeighCellList", "nr-rrc.eutra_FreqNeighCellList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_BlackCellList, { "eutra-BlackCellList", "nr-rrc.eutra_BlackCellList", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_FreqBlackCellList", HFILL }}, { &hf_nr_rrc_allowedMeasBandwidth, { "allowedMeasBandwidth", "nr-rrc.allowedMeasBandwidth", FT_UINT32, BASE_DEC, VALS(nr_rrc_EUTRA_AllowedMeasBandwidth_vals), 0, "EUTRA_AllowedMeasBandwidth", HFILL }}, { &hf_nr_rrc_presenceAntennaPort1, { "presenceAntennaPort1", "nr-rrc.presenceAntennaPort1", FT_BOOLEAN, BASE_NONE, NULL, 0, "EUTRA_PresenceAntennaPort1", HFILL }}, { &hf_nr_rrc_threshX_High, { "threshX-High", "nr-rrc.threshX_High", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, "ReselectionThreshold", HFILL }}, { &hf_nr_rrc_threshX_Low, { "threshX-Low", "nr-rrc.threshX_Low", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_ReselectionThreshold_fmt), 0, "ReselectionThreshold", HFILL }}, { &hf_nr_rrc_q_RxLevMin_01, { "q-RxLevMin", "nr-rrc.q_RxLevMin", FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_q_RxLevMin_fmt), 0, "INTEGER_M70_M22", HFILL }}, { &hf_nr_rrc_q_QualMin_01, { "q-QualMin", "nr-rrc.q_QualMin", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M34_M3", HFILL }}, { &hf_nr_rrc_p_MaxEUTRA, { "p-MaxEUTRA", "nr-rrc.p_MaxEUTRA", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M30_33", HFILL }}, { &hf_nr_rrc_threshX_Q_01, { "threshX-Q", "nr-rrc.threshX_Q_element", FT_NONE, BASE_NONE, NULL, 0, "T_threshX_Q_01", HFILL }}, { &hf_nr_rrc_EUTRA_FreqBlackCellList_item, { "EUTRA-PhysCellIdRange", "nr-rrc.EUTRA_PhysCellIdRange_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_EUTRA_FreqNeighCellList_item, { "EUTRA-FreqNeighCellInfo", "nr-rrc.EUTRA_FreqNeighCellInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_physCellId_01, { "physCellId", "nr-rrc.physCellId", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_PhysCellId", HFILL }}, { &hf_nr_rrc_dummy, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0, "EUTRA_Q_OffsetRange", HFILL }}, { &hf_nr_rrc_messageIdentifier, { "messageIdentifier", "nr-rrc.messageIdentifier", FT_UINT16, BASE_DEC|BASE_EXT_STRING, <e_rrc_messageIdentifier_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_serialNumber, { "serialNumber", "nr-rrc.serialNumber", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_warningType, { "warningType", "nr-rrc.warningType", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageIdentifier_01, { "messageIdentifier", "nr-rrc.messageIdentifier", FT_UINT16, BASE_DEC|BASE_EXT_STRING, <e_rrc_messageIdentifier_vals_ext, 0, "T_messageIdentifier_01", HFILL }}, { &hf_nr_rrc_serialNumber_01, { "serialNumber", "nr-rrc.serialNumber", FT_BYTES, BASE_NONE, NULL, 0, "T_serialNumber_01", HFILL }}, { &hf_nr_rrc_warningMessageSegmentType, { "warningMessageSegmentType", "nr-rrc.warningMessageSegmentType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_warningMessageSegmentType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_warningMessageSegmentNumber, { "warningMessageSegmentNumber", "nr-rrc.warningMessageSegmentNumber", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_warningMessageSegment, { "warningMessageSegment", "nr-rrc.warningMessageSegment", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dataCodingScheme, { "dataCodingScheme", "nr-rrc.dataCodingScheme", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_messageIdentifier_02, { "messageIdentifier", "nr-rrc.messageIdentifier", FT_UINT16, BASE_DEC|BASE_EXT_STRING, <e_rrc_messageIdentifier_vals_ext, 0, "T_messageIdentifier_02", HFILL }}, { &hf_nr_rrc_serialNumber_02, { "serialNumber", "nr-rrc.serialNumber", FT_BYTES, BASE_NONE, NULL, 0, "T_serialNumber_02", HFILL }}, { &hf_nr_rrc_warningMessageSegmentType_01, { "warningMessageSegmentType", "nr-rrc.warningMessageSegmentType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_warningMessageSegmentType_01_vals), 0, "T_warningMessageSegmentType_01", HFILL }}, { &hf_nr_rrc_warningMessageSegmentNumber_01, { "warningMessageSegmentNumber", "nr-rrc.warningMessageSegmentNumber", FT_UINT32, BASE_DEC, NULL, 0, "T_warningMessageSegmentNumber_01", HFILL }}, { &hf_nr_rrc_warningMessageSegment_01, { "warningMessageSegment", "nr-rrc.warningMessageSegment", FT_BYTES, BASE_NONE, NULL, 0, "T_warningMessageSegment_01", HFILL }}, { &hf_nr_rrc_dataCodingScheme_01, { "dataCodingScheme", "nr-rrc.dataCodingScheme", FT_BYTES, BASE_NONE, NULL, 0, "T_dataCodingScheme_01", HFILL }}, { &hf_nr_rrc_warningAreaCoordinatesSegment, { "warningAreaCoordinatesSegment", "nr-rrc.warningAreaCoordinatesSegment", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, { &hf_nr_rrc_timeInfo, { "timeInfo", "nr-rrc.timeInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_timeInfoUTC, { "timeInfoUTC", "nr-rrc.timeInfoUTC", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dayLightSavingTime, { "dayLightSavingTime", "nr-rrc.dayLightSavingTime", FT_UINT8, BASE_DEC, VALS(nr_rrc_daylightSavingTime_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_leapSeconds, { "leapSeconds", "nr-rrc.leapSeconds", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, "INTEGER_M127_128", HFILL }}, { &hf_nr_rrc_localTimeOffset, { "localTimeOffset", "nr-rrc.localTimeOffset", FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_localTimeOffset_fmt), 0, "INTEGER_M63_64", HFILL }}, { &hf_nr_rrc_rootSequenceIndex_BFR, { "rootSequenceIndex-BFR", "nr-rrc.rootSequenceIndex_BFR", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_137", HFILL }}, { &hf_nr_rrc_rach_ConfigBFR, { "rach-ConfigBFR", "nr-rrc.rach_ConfigBFR_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigGeneric", HFILL }}, { &hf_nr_rrc_rsrp_ThresholdSSB, { "rsrp-ThresholdSSB", "nr-rrc.rsrp_ThresholdSSB", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_candidateBeamRSList, { "candidateBeamRSList", "nr-rrc.candidateBeamRSList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR", HFILL }}, { &hf_nr_rrc_candidateBeamRSList_item, { "PRACH-ResourceDedicatedBFR", "nr-rrc.PRACH_ResourceDedicatedBFR", FT_UINT32, BASE_DEC, VALS(nr_rrc_PRACH_ResourceDedicatedBFR_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_perRACH_Occasion, { "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ra_ssb_OccasionMaskIndex, { "ra-ssb-OccasionMaskIndex", "nr-rrc.ra_ssb_OccasionMaskIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_recoverySearchSpaceId, { "recoverySearchSpaceId", "nr-rrc.recoverySearchSpaceId", FT_UINT32, BASE_DEC, NULL, 0, "SearchSpaceId", HFILL }}, { &hf_nr_rrc_ra_Prioritization, { "ra-Prioritization", "nr-rrc.ra_Prioritization_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_beamFailureRecoveryTimer, { "beamFailureRecoveryTimer", "nr-rrc.beamFailureRecoveryTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_msg1_SubcarrierSpacing, { "msg1-SubcarrierSpacing", "nr-rrc.msg1_SubcarrierSpacing", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, "SubcarrierSpacing", HFILL }}, { &hf_nr_rrc_ssb, { "ssb", "nr-rrc.ssb_element", FT_NONE, BASE_NONE, NULL, 0, "BFR_SSB_Resource", HFILL }}, { &hf_nr_rrc_csi_RS, { "csi-RS", "nr-rrc.csi_RS_element", FT_NONE, BASE_NONE, NULL, 0, "BFR_CSIRS_Resource", HFILL }}, { &hf_nr_rrc_ssb_01, { "ssb", "nr-rrc.ssb", FT_UINT32, BASE_DEC, NULL, 0, "SSB_Index", HFILL }}, { &hf_nr_rrc_ra_PreambleIndex, { "ra-PreambleIndex", "nr-rrc.ra_PreambleIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_csi_RS_01, { "csi-RS", "nr-rrc.csi_RS", FT_UINT32, BASE_DEC, NULL, 0, "NZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_ra_OccasionList, { "ra-OccasionList", "nr-rrc.ra_OccasionList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ra_OccasionList_item, { "ra-OccasionList item", "nr-rrc.ra_OccasionList_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxRA_Occasions_1", HFILL }}, { &hf_nr_rrc_betaOffsetACK_Index1, { "betaOffsetACK-Index1", "nr-rrc.betaOffsetACK_Index1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_betaOffsetACK_Index2, { "betaOffsetACK-Index2", "nr-rrc.betaOffsetACK_Index2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_betaOffsetACK_Index3, { "betaOffsetACK-Index3", "nr-rrc.betaOffsetACK_Index3", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_betaOffsetCSI_Part1_Index1, { "betaOffsetCSI-Part1-Index1", "nr-rrc.betaOffsetCSI_Part1_Index1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_betaOffsetCSI_Part1_Index2, { "betaOffsetCSI-Part1-Index2", "nr-rrc.betaOffsetCSI_Part1_Index2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_betaOffsetCSI_Part2_Index1, { "betaOffsetCSI-Part2-Index1", "nr-rrc.betaOffsetCSI_Part2_Index1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_betaOffsetCSI_Part2_Index2, { "betaOffsetCSI-Part2-Index2", "nr-rrc.betaOffsetCSI_Part2_Index2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_periodicBSR_Timer, { "periodicBSR-Timer", "nr-rrc.periodicBSR_Timer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBSR_Timer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_retxBSR_Timer, { "retxBSR-Timer", "nr-rrc.retxBSR_Timer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_retxBSR_Timer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_logicalChannelSR_DelayTimer, { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_locationAndBandwidth, { "locationAndBandwidth", "nr-rrc.locationAndBandwidth", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_37949", HFILL }}, { &hf_nr_rrc_subcarrierSpacing, { "subcarrierSpacing", "nr-rrc.subcarrierSpacing", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cyclicPrefix, { "cyclicPrefix", "nr-rrc.cyclicPrefix", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cyclicPrefix_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bwp_Id, { "bwp-Id", "nr-rrc.bwp_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bwp_Common, { "bwp-Common", "nr-rrc.bwp_Common_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_DownlinkCommon", HFILL }}, { &hf_nr_rrc_bwp_Dedicated, { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_DownlinkDedicated", HFILL }}, { &hf_nr_rrc_genericParameters, { "genericParameters", "nr-rrc.genericParameters_element", FT_NONE, BASE_NONE, NULL, 0, "BWP", HFILL }}, { &hf_nr_rrc_pdcch_ConfigCommon, { "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_03, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_ConfigCommon", HFILL }}, { &hf_nr_rrc_pdsch_ConfigCommon, { "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_04, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_ConfigCommon", HFILL }}, { &hf_nr_rrc_pdcch_Config, { "pdcch-Config", "nr-rrc.pdcch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_05, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_Config", HFILL }}, { &hf_nr_rrc_pdsch_Config, { "pdsch-Config", "nr-rrc.pdsch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_06, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_Config", HFILL }}, { &hf_nr_rrc_sps_Config, { "sps-Config", "nr-rrc.sps_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_07, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SPS_Config", HFILL }}, { &hf_nr_rrc_radioLinkMonitoringConfig, { "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_08, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RadioLinkMonitoringConfig", HFILL }}, { &hf_nr_rrc_bwp_Common_01, { "bwp-Common", "nr-rrc.bwp_Common_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_UplinkCommon", HFILL }}, { &hf_nr_rrc_bwp_Dedicated_01, { "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_UplinkDedicated", HFILL }}, { &hf_nr_rrc_rach_ConfigCommon, { "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_09, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigCommon", HFILL }}, { &hf_nr_rrc_pusch_ConfigCommon, { "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_10, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_ConfigCommon", HFILL }}, { &hf_nr_rrc_pucch_ConfigCommon, { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_11, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_ConfigCommon", HFILL }}, { &hf_nr_rrc_pucch_Config, { "pucch-Config", "nr-rrc.pucch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_12, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_Config", HFILL }}, { &hf_nr_rrc_pusch_Config, { "pusch-Config", "nr-rrc.pusch_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_13, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_Config", HFILL }}, { &hf_nr_rrc_configuredGrantConfig, { "configuredGrantConfig", "nr-rrc.configuredGrantConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_14, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "ConfiguredGrantConfig", HFILL }}, { &hf_nr_rrc_srs_Config, { "srs-Config", "nr-rrc.srs_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_15, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_Config", HFILL }}, { &hf_nr_rrc_beamFailureRecoveryConfig, { "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_16, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "BeamFailureRecoveryConfig", HFILL }}, { &hf_nr_rrc_plmn_IdentityList, { "plmn-IdentityList", "nr-rrc.plmn_IdentityList", FT_UINT32, BASE_DEC, NULL, 0, "PLMN_IdentityInfoList", HFILL }}, { &hf_nr_rrc_cellReservedForOtherUse, { "cellReservedForOtherUse", "nr-rrc.cellReservedForOtherUse", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOtherUse_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_plmn_IdentityList_eutra_5gc, { "plmn-IdentityList-eutra-5gc", "nr-rrc.plmn_IdentityList_eutra_5gc", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_trackingAreaCode_eutra_5gc, { "trackingAreaCode-eutra-5gc", "nr-rrc.trackingAreaCode_eutra_5gc", FT_BYTES, BASE_NONE, NULL, 0, "TrackingAreaCode", HFILL }}, { &hf_nr_rrc_ranac_5gc, { "ranac-5gc", "nr-rrc.ranac_5gc", FT_UINT32, BASE_DEC, NULL, 0, "RAN_AreaCode", HFILL }}, { &hf_nr_rrc_cellIdentity_eutra_5gc, { "cellIdentity-eutra-5gc", "nr-rrc.cellIdentity_eutra_5gc", FT_UINT32, BASE_DEC, VALS(nr_rrc_CellIdentity_EUTRA_5GC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_PLMN_IdentityList_EUTRA_5GC_item, { "PLMN-Identity-EUTRA-5GC", "nr-rrc.PLMN_Identity_EUTRA_5GC", FT_UINT32, BASE_DEC, VALS(nr_rrc_PLMN_Identity_EUTRA_5GC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_plmn_Identity_EUTRA_5GC, { "plmn-Identity-EUTRA-5GC", "nr-rrc.plmn_Identity_EUTRA_5GC_element", FT_NONE, BASE_NONE, NULL, 0, "PLMN_Identity", HFILL }}, { &hf_nr_rrc_plmn_index, { "plmn-index", "nr-rrc.plmn_index", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxPLMN", HFILL }}, { &hf_nr_rrc_cellIdentity_EUTRA, { "cellIdentity-EUTRA", "nr-rrc.cellIdentity_EUTRA", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_28", HFILL }}, { &hf_nr_rrc_cellId_index, { "cellId-index", "nr-rrc.cellId_index", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxPLMN", HFILL }}, { &hf_nr_rrc_plmn_IdentityList_eutra_epc, { "plmn-IdentityList-eutra-epc", "nr-rrc.plmn_IdentityList_eutra_epc", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_trackingAreaCode_eutra_epc, { "trackingAreaCode-eutra-epc", "nr-rrc.trackingAreaCode_eutra_epc", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_cellIdentity_eutra_epc, { "cellIdentity-eutra-epc", "nr-rrc.cellIdentity_eutra_epc", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_28", HFILL }}, { &hf_nr_rrc_PLMN_IdentityList_EUTRA_EPC_item, { "PLMN-Identity", "nr-rrc.PLMN_Identity_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rlc_BearerToAddModList, { "rlc-BearerToAddModList", "nr-rrc.rlc_BearerToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig", HFILL }}, { &hf_nr_rrc_rlc_BearerToAddModList_item, { "RLC-BearerConfig", "nr-rrc.RLC_BearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rlc_BearerToReleaseList, { "rlc-BearerToReleaseList", "nr-rrc.rlc_BearerToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity", HFILL }}, { &hf_nr_rrc_rlc_BearerToReleaseList_item, { "LogicalChannelIdentity", "nr-rrc.LogicalChannelIdentity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mac_CellGroupConfig, { "mac-CellGroupConfig", "nr-rrc.mac_CellGroupConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_physicalCellGroupConfig, { "physicalCellGroupConfig", "nr-rrc.physicalCellGroupConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spCellConfig, { "spCellConfig", "nr-rrc.spCellConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sCellToAddModList, { "sCellToAddModList", "nr-rrc.sCellToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig", HFILL }}, { &hf_nr_rrc_sCellToAddModList_item, { "SCellConfig", "nr-rrc.SCellConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sCellToReleaseList, { "sCellToReleaseList", "nr-rrc.sCellToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex", HFILL }}, { &hf_nr_rrc_sCellToReleaseList_item, { "SCellIndex", "nr-rrc.SCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportUplinkTxDirectCurrent, { "reportUplinkTxDirectCurrent", "nr-rrc.reportUplinkTxDirectCurrent", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportUplinkTxDirectCurrent_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reconfigurationWithSync, { "reconfigurationWithSync", "nr-rrc.reconfigurationWithSync_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rlf_TimersAndConstants, { "rlf-TimersAndConstants", "nr-rrc.rlf_TimersAndConstants", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_TimersAndConstants_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_17, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RLF_TimersAndConstants", HFILL }}, { &hf_nr_rrc_rlmInSyncOutOfSyncThreshold, { "rlmInSyncOutOfSyncThreshold", "nr-rrc.rlmInSyncOutOfSyncThreshold", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlmInSyncOutOfSyncThreshold_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_spCellConfigDedicated, { "spCellConfigDedicated", "nr-rrc.spCellConfigDedicated_element", FT_NONE, BASE_NONE, NULL, 0, "ServingCellConfig", HFILL }}, { &hf_nr_rrc_spCellConfigCommon, { "spCellConfigCommon", "nr-rrc.spCellConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, "ServingCellConfigCommon", HFILL }}, { &hf_nr_rrc_newUE_Identity, { "newUE-Identity", "nr-rrc.newUE_Identity", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_t304, { "t304", "nr-rrc.t304", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t304_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rach_ConfigDedicated, { "rach-ConfigDedicated", "nr-rrc.rach_ConfigDedicated", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigDedicated_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uplink, { "uplink", "nr-rrc.uplink_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigDedicated", HFILL }}, { &hf_nr_rrc_supplementaryUplink, { "supplementaryUplink", "nr-rrc.supplementaryUplink_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigDedicated", HFILL }}, { &hf_nr_rrc_sCellIndex, { "sCellIndex", "nr-rrc.sCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sCellConfigCommon, { "sCellConfigCommon", "nr-rrc.sCellConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, "ServingCellConfigCommon", HFILL }}, { &hf_nr_rrc_sCellConfigDedicated, { "sCellConfigDedicated", "nr-rrc.sCellConfigDedicated_element", FT_NONE, BASE_NONE, NULL, 0, "ServingCellConfig", HFILL }}, { &hf_nr_rrc_cgi_info_EPC, { "cgi-info-EPC", "nr-rrc.cgi_info_EPC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cgi_info_EPC_legacy, { "cgi-info-EPC-legacy", "nr-rrc.cgi_info_EPC_legacy_element", FT_NONE, BASE_NONE, NULL, 0, "CellAccessRelatedInfo_EUTRA_EPC", HFILL }}, { &hf_nr_rrc_cgi_info_EPC_list, { "cgi-info-EPC-list", "nr-rrc.cgi_info_EPC_list", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC", HFILL }}, { &hf_nr_rrc_cgi_info_EPC_list_item, { "CellAccessRelatedInfo-EUTRA-EPC", "nr-rrc.CellAccessRelatedInfo_EUTRA_EPC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cgi_info_5GC, { "cgi-info-5GC", "nr-rrc.cgi_info_5GC", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC", HFILL }}, { &hf_nr_rrc_cgi_info_5GC_item, { "CellAccessRelatedInfo-EUTRA-5GC", "nr-rrc.CellAccessRelatedInfo_EUTRA_5GC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_freqBandIndicator, { "freqBandIndicator", "nr-rrc.freqBandIndicator", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandIndicatorEUTRA", HFILL }}, { &hf_nr_rrc_multiBandInfoList, { "multiBandInfoList", "nr-rrc.multiBandInfoList", FT_UINT32, BASE_DEC, NULL, 0, "MultiBandInfoListEUTRA", HFILL }}, { &hf_nr_rrc_freqBandIndicatorPriority, { "freqBandIndicatorPriority", "nr-rrc.freqBandIndicatorPriority", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqBandIndicatorPriority_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_plmn_IdentityInfoList, { "plmn-IdentityInfoList", "nr-rrc.plmn_IdentityInfoList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyBandList_01, { "frequencyBandList", "nr-rrc.frequencyBandList", FT_UINT32, BASE_DEC, NULL, 0, "MultiFrequencyBandListNR", HFILL }}, { &hf_nr_rrc_noSIB1, { "noSIB1", "nr-rrc.noSIB1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_codebookType, { "codebookType", "nr-rrc.codebookType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_type1_01, { "type1", "nr-rrc.type1_element", FT_NONE, BASE_NONE, NULL, 0, "T_type1_01", HFILL }}, { &hf_nr_rrc_subType, { "subType", "nr-rrc.subType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_typeI_SinglePanel, { "typeI-SinglePanel", "nr-rrc.typeI_SinglePanel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nrOfAntennaPorts, { "nrOfAntennaPorts", "nr-rrc.nrOfAntennaPorts", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrOfAntennaPorts_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_two, { "two", "nr-rrc.two_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_twoTX_CodebookSubsetRestriction, { "twoTX-CodebookSubsetRestriction", "nr-rrc.twoTX_CodebookSubsetRestriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6", HFILL }}, { &hf_nr_rrc_moreThanTwo, { "moreThanTwo", "nr-rrc.moreThanTwo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_n1_n2, { "n1-n2", "nr-rrc.n1_n2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction, { "two-one-TypeI-SinglePanel-Restriction", "nr-rrc.two_one_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction, { "two-two-TypeI-SinglePanel-Restriction", "nr-rrc.two_two_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction, { "four-one-TypeI-SinglePanel-Restriction", "nr-rrc.four_one_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction, { "three-two-TypeI-SinglePanel-Restriction", "nr-rrc.three_two_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_96", HFILL }}, { &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction, { "six-one-TypeI-SinglePanel-Restriction", "nr-rrc.six_one_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_24", HFILL }}, { &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction, { "four-two-TypeI-SinglePanel-Restriction", "nr-rrc.four_two_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_128", HFILL }}, { &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction, { "eight-one-TypeI-SinglePanel-Restriction", "nr-rrc.eight_one_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_32", HFILL }}, { &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction, { "four-three-TypeI-SinglePanel-Restriction", "nr-rrc.four_three_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_192", HFILL }}, { &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction, { "six-two-TypeI-SinglePanel-Restriction", "nr-rrc.six_two_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_192", HFILL }}, { &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction, { "twelve-one-TypeI-SinglePanel-Restriction", "nr-rrc.twelve_one_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_48", HFILL }}, { &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction, { "four-four-TypeI-SinglePanel-Restriction", "nr-rrc.four_four_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_256", HFILL }}, { &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction, { "eight-two-TypeI-SinglePanel-Restriction", "nr-rrc.eight_two_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_256", HFILL }}, { &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction, { "sixteen-one-TypeI-SinglePanel-Restriction", "nr-rrc.sixteen_one_TypeI_SinglePanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2, { "typeI-SinglePanel-codebookSubsetRestriction-i2", "nr-rrc.typeI_SinglePanel_codebookSubsetRestriction_i2", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_typeI_SinglePanel_ri_Restriction, { "typeI-SinglePanel-ri-Restriction", "nr-rrc.typeI_SinglePanel_ri_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_typeI_MultiPanel, { "typeI-MultiPanel", "nr-rrc.typeI_MultiPanel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ng_n1_n2, { "ng-n1-n2", "nr-rrc.ng_n1_n2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ng_n1_n2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction, { "two-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_one_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction, { "two-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_one_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction, { "four-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_one_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction, { "two-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_two_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction, { "two-eight-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_eight_one_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_32", HFILL }}, { &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction, { "four-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_four_one_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction, { "two-four-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_two_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_128", HFILL }}, { &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction, { "four-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_two_TypeI_MultiPanel_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_ri_Restriction, { "ri-Restriction", "nr-rrc.ri_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_4", HFILL }}, { &hf_nr_rrc_codebookMode, { "codebookMode", "nr-rrc.codebookMode", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2", HFILL }}, { &hf_nr_rrc_type2, { "type2", "nr-rrc.type2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_subType_01, { "subType", "nr-rrc.subType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_01_vals), 0, "T_subType_01", HFILL }}, { &hf_nr_rrc_typeII, { "typeII", "nr-rrc.typeII_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_n1_n2_codebookSubsetRestriction, { "n1-n2-codebookSubsetRestriction", "nr-rrc.n1_n2_codebookSubsetRestriction", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_codebookSubsetRestriction_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_two_one, { "two-one", "nr-rrc.two_one", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_two_two, { "two-two", "nr-rrc.two_two", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_43", HFILL }}, { &hf_nr_rrc_four_one, { "four-one", "nr-rrc.four_one", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_32", HFILL }}, { &hf_nr_rrc_three_two, { "three-two", "nr-rrc.three_two", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_59", HFILL }}, { &hf_nr_rrc_six_one, { "six-one", "nr-rrc.six_one", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_48", HFILL }}, { &hf_nr_rrc_four_two, { "four-two", "nr-rrc.four_two", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_75", HFILL }}, { &hf_nr_rrc_eight_one, { "eight-one", "nr-rrc.eight_one", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_four_three, { "four-three", "nr-rrc.four_three", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_107", HFILL }}, { &hf_nr_rrc_six_two, { "six-two", "nr-rrc.six_two", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_107", HFILL }}, { &hf_nr_rrc_twelve_one, { "twelve-one", "nr-rrc.twelve_one", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_96", HFILL }}, { &hf_nr_rrc_four_four, { "four-four", "nr-rrc.four_four", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_139", HFILL }}, { &hf_nr_rrc_eight_two, { "eight-two", "nr-rrc.eight_two", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_139", HFILL }}, { &hf_nr_rrc_sixteen_one, { "sixteen-one", "nr-rrc.sixteen_one", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_128", HFILL }}, { &hf_nr_rrc_typeII_RI_Restriction, { "typeII-RI-Restriction", "nr-rrc.typeII_RI_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_typeII_PortSelection, { "typeII-PortSelection", "nr-rrc.typeII_PortSelection_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_portSelectionSamplingSize, { "portSelectionSamplingSize", "nr-rrc.portSelectionSamplingSize", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_portSelectionSamplingSize_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_typeII_PortSelectionRI_Restriction, { "typeII-PortSelectionRI-Restriction", "nr-rrc.typeII_PortSelectionRI_Restriction", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_phaseAlphabetSize, { "phaseAlphabetSize", "nr-rrc.phaseAlphabetSize", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseAlphabetSize_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_subbandAmplitude, { "subbandAmplitude", "nr-rrc.subbandAmplitude", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_numberOfBeams, { "numberOfBeams", "nr-rrc.numberOfBeams", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfBeams_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyHopping, { "frequencyHopping", "nr-rrc.frequencyHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cg_DMRS_Configuration, { "cg-DMRS-Configuration", "nr-rrc.cg_DMRS_Configuration_element", FT_NONE, BASE_NONE, NULL, 0, "DMRS_UplinkConfig", HFILL }}, { &hf_nr_rrc_mcs_Table, { "mcs-Table", "nr-rrc.mcs_Table", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mcs_TableTransformPrecoder, { "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uci_OnPUSCH, { "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_18, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_UCI_OnPUSCH_vals), 0, "CG_UCI_OnPUSCH", HFILL }}, { &hf_nr_rrc_resourceAllocation, { "resourceAllocation", "nr-rrc.resourceAllocation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rbg_Size, { "rbg-Size", "nr-rrc.rbg_Size", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_powerControlLoopToUse, { "powerControlLoopToUse", "nr-rrc.powerControlLoopToUse", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlLoopToUse_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_p0_PUSCH_Alpha, { "p0-PUSCH-Alpha", "nr-rrc.p0_PUSCH_Alpha", FT_UINT32, BASE_DEC, NULL, 0, "P0_PUSCH_AlphaSetId", HFILL }}, { &hf_nr_rrc_transformPrecoder, { "transformPrecoder", "nr-rrc.transformPrecoder", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nrofHARQ_Processes, { "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_nr_rrc_repK, { "repK", "nr-rrc.repK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_repK_RV, { "repK-RV", "nr-rrc.repK_RV", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_RV_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_periodicity, { "periodicity", "nr-rrc.periodicity", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_configuredGrantTimer, { "configuredGrantTimer", "nr-rrc.configuredGrantTimer", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_periodicities, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_rrc_ConfiguredUplinkGrant, { "rrc-ConfiguredUplinkGrant", "nr-rrc.rrc_ConfiguredUplinkGrant_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_timeDomainOffset, { "timeDomainOffset", "nr-rrc.timeDomainOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_5119", HFILL }}, { &hf_nr_rrc_timeDomainAllocation, { "timeDomainAllocation", "nr-rrc.timeDomainAllocation", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_frequencyDomainAllocation, { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_18", HFILL }}, { &hf_nr_rrc_antennaPort, { "antennaPort", "nr-rrc.antennaPort", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_dmrs_SeqInitialization, { "dmrs-SeqInitialization", "nr-rrc.dmrs_SeqInitialization", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1", HFILL }}, { &hf_nr_rrc_precodingAndNumberOfLayers, { "precodingAndNumberOfLayers", "nr-rrc.precodingAndNumberOfLayers", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_srs_ResourceIndicator, { "srs-ResourceIndicator", "nr-rrc.srs_ResourceIndicator", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_mcsAndTBS, { "mcsAndTBS", "nr-rrc.mcsAndTBS", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_frequencyHoppingOffset, { "frequencyHoppingOffset", "nr-rrc.frequencyHoppingOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }}, { &hf_nr_rrc_pathlossReferenceIndex, { "pathlossReferenceIndex", "nr-rrc.pathlossReferenceIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1", HFILL }}, { &hf_nr_rrc_dynamic, { "dynamic", "nr-rrc.dynamic", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_4_OF_BetaOffsets", HFILL }}, { &hf_nr_rrc_dynamic_item, { "BetaOffsets", "nr-rrc.BetaOffsets_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_semiStatic, { "semiStatic", "nr-rrc.semiStatic_element", FT_NONE, BASE_NONE, NULL, 0, "BetaOffsets", HFILL }}, { &hf_nr_rrc_connEstFailCount, { "connEstFailCount", "nr-rrc.connEstFailCount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailCount_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_connEstFailOffsetValidity, { "connEstFailOffsetValidity", "nr-rrc.connEstFailOffsetValidity", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_connEstFailOffsetValidity_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_connEstFailOffset, { "connEstFailOffset", "nr-rrc.connEstFailOffset", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_controlResourceSetId, { "controlResourceSetId", "nr-rrc.controlResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyDomainResources, { "frequencyDomainResources", "nr-rrc.frequencyDomainResources", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_45", HFILL }}, { &hf_nr_rrc_duration, { "duration", "nr-rrc.duration", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxCoReSetDuration", HFILL }}, { &hf_nr_rrc_cce_REG_MappingType, { "cce-REG-MappingType", "nr-rrc.cce_REG_MappingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cce_REG_MappingType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_interleaved, { "interleaved", "nr-rrc.interleaved_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reg_BundleSize, { "reg-BundleSize", "nr-rrc.reg_BundleSize", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reg_BundleSize_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_interleaverSize, { "interleaverSize", "nr-rrc.interleaverSize", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleaverSize_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_shiftIndex, { "shiftIndex", "nr-rrc.shiftIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }}, { &hf_nr_rrc_nonInterleaved, { "nonInterleaved", "nr-rrc.nonInterleaved_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_precoderGranularity, { "precoderGranularity", "nr-rrc.precoderGranularity", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularity_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tci_StatesPDCCH_ToAddList, { "tci-StatesPDCCH-ToAddList", "nr-rrc.tci_StatesPDCCH_ToAddList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId", HFILL }}, { &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item, { "TCI-StateId", "nr-rrc.TCI_StateId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList, { "tci-StatesPDCCH-ToReleaseList", "nr-rrc.tci_StatesPDCCH_ToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId", HFILL }}, { &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList_item, { "TCI-StateId", "nr-rrc.TCI_StateId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tci_PresentInDCI, { "tci-PresentInDCI", "nr-rrc.tci_PresentInDCI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tci_PresentInDCI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_DMRS_ScramblingID, { "pdcch-DMRS-ScramblingID", "nr-rrc.pdcch_DMRS_ScramblingID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_nr_rrc_schedulingCellInfo, { "schedulingCellInfo", "nr-rrc.schedulingCellInfo", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_schedulingCellInfo_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_own, { "own", "nr-rrc.own_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cif_Presence, { "cif-Presence", "nr-rrc.cif_Presence", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_other, { "other", "nr-rrc.other_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingCellId, { "schedulingCellId", "nr-rrc.schedulingCellId", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_cif_InSchedulingCell, { "cif-InSchedulingCell", "nr-rrc.cif_InSchedulingCell", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_7", HFILL }}, { &hf_nr_rrc_CSI_AperiodicTriggerStateList_item, { "CSI-AperiodicTriggerState", "nr-rrc.CSI_AperiodicTriggerState_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_associatedReportConfigInfoList, { "associatedReportConfigInfoList", "nr-rrc.associatedReportConfigInfoList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo", HFILL }}, { &hf_nr_rrc_associatedReportConfigInfoList_item, { "CSI-AssociatedReportConfigInfo", "nr-rrc.CSI_AssociatedReportConfigInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportConfigId, { "reportConfigId", "nr-rrc.reportConfigId", FT_UINT32, BASE_DEC, NULL, 0, "CSI_ReportConfigId", HFILL }}, { &hf_nr_rrc_resourcesForChannel, { "resourcesForChannel", "nr-rrc.resourcesForChannel", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourcesForChannel_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS, { "nzp-CSI-RS", "nr-rrc.nzp_CSI_RS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceSet, { "resourceSet", "nr-rrc.resourceSet", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }}, { &hf_nr_rrc_qcl_info, { "qcl-info", "nr-rrc.qcl_info", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId", HFILL }}, { &hf_nr_rrc_qcl_info_item, { "TCI-StateId", "nr-rrc.TCI_StateId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSet, { "csi-SSB-ResourceSet", "nr-rrc.csi_SSB_ResourceSet", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig", HFILL }}, { &hf_nr_rrc_csi_IM_ResourcesForInterference, { "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference, { "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }}, { &hf_nr_rrc_startingRB, { "startingRB", "nr-rrc.startingRB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }}, { &hf_nr_rrc_nrofRBs, { "nrofRBs", "nr-rrc.nrofRBs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_24_maxNrofPhysicalResourceBlocksPlus1", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceId, { "csi-IM-ResourceId", "nr-rrc.csi_IM_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_IM_ResourceElementPattern, { "csi-IM-ResourceElementPattern", "nr-rrc.csi_IM_ResourceElementPattern", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_IM_ResourceElementPattern_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pattern0, { "pattern0", "nr-rrc.pattern0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_subcarrierLocation_p0, { "subcarrierLocation-p0", "nr-rrc.subcarrierLocation_p0", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p0_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_symbolLocation_p0, { "symbolLocation-p0", "nr-rrc.symbolLocation_p0", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_12", HFILL }}, { &hf_nr_rrc_pattern1, { "pattern1", "nr-rrc.pattern1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_subcarrierLocation_p1, { "subcarrierLocation-p1", "nr-rrc.subcarrierLocation_p1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_symbolLocation_p1, { "symbolLocation-p1", "nr-rrc.symbolLocation_p1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_13", HFILL }}, { &hf_nr_rrc_freqBand, { "freqBand", "nr-rrc.freqBand_element", FT_NONE, BASE_NONE, NULL, 0, "CSI_FrequencyOccupation", HFILL }}, { &hf_nr_rrc_periodicityAndOffset, { "periodicityAndOffset", "nr-rrc.periodicityAndOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ResourcePeriodicityAndOffset_vals), 0, "CSI_ResourcePeriodicityAndOffset", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceSetId, { "csi-IM-ResourceSetId", "nr-rrc.csi_IM_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_IM_Resources, { "csi-IM-Resources", "nr-rrc.csi_IM_Resources", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId", HFILL }}, { &hf_nr_rrc_csi_IM_Resources_item, { "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList, { "nzp-CSI-RS-ResourceToAddModList", "nr-rrc.nzp_CSI_RS_ResourceToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item, { "NZP-CSI-RS-Resource", "nr-rrc.NZP_CSI_RS_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList, { "nzp-CSI-RS-ResourceToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item, { "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList, { "nzp-CSI-RS-ResourceSetToAddModList", "nr-rrc.nzp_CSI_RS_ResourceSetToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item, { "NZP-CSI-RS-ResourceSet", "nr-rrc.NZP_CSI_RS_ResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList, { "nzp-CSI-RS-ResourceSetToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceSetToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item, { "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_IM_ResourceToAddModList, { "csi-IM-ResourceToAddModList", "nr-rrc.csi_IM_ResourceToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceToAddModList_item, { "CSI-IM-Resource", "nr-rrc.CSI_IM_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_IM_ResourceToReleaseList, { "csi-IM-ResourceToReleaseList", "nr-rrc.csi_IM_ResourceToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceToReleaseList_item, { "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_IM_ResourceSetToAddModList, { "csi-IM-ResourceSetToAddModList", "nr-rrc.csi_IM_ResourceSetToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item, { "CSI-IM-ResourceSet", "nr-rrc.CSI_IM_ResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList, { "csi-IM-ResourceSetToReleaseList", "nr-rrc.csi_IM_ResourceSetToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item, { "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList, { "csi-SSB-ResourceSetToAddModList", "nr-rrc.csi_SSB_ResourceSetToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet", HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item, { "CSI-SSB-ResourceSet", "nr-rrc.CSI_SSB_ResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList, { "csi-SSB-ResourceSetToReleaseList", "nr-rrc.csi_SSB_ResourceSetToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId", HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSetToReleaseList_item, { "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ResourceConfigToAddModList, { "csi-ResourceConfigToAddModList", "nr-rrc.csi_ResourceConfigToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig", HFILL }}, { &hf_nr_rrc_csi_ResourceConfigToAddModList_item, { "CSI-ResourceConfig", "nr-rrc.CSI_ResourceConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ResourceConfigToReleaseList, { "csi-ResourceConfigToReleaseList", "nr-rrc.csi_ResourceConfigToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId", HFILL }}, { &hf_nr_rrc_csi_ResourceConfigToReleaseList_item, { "CSI-ResourceConfigId", "nr-rrc.CSI_ResourceConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ReportConfigToAddModList, { "csi-ReportConfigToAddModList", "nr-rrc.csi_ReportConfigToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig", HFILL }}, { &hf_nr_rrc_csi_ReportConfigToAddModList_item, { "CSI-ReportConfig", "nr-rrc.CSI_ReportConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ReportConfigToReleaseList, { "csi-ReportConfigToReleaseList", "nr-rrc.csi_ReportConfigToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId", HFILL }}, { &hf_nr_rrc_csi_ReportConfigToReleaseList_item, { "CSI-ReportConfigId", "nr-rrc.CSI_ReportConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportTriggerSize, { "reportTriggerSize", "nr-rrc.reportTriggerSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_6", HFILL }}, { &hf_nr_rrc_aperiodicTriggerStateList, { "aperiodicTriggerStateList", "nr-rrc.aperiodicTriggerStateList", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTriggerStateList_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_19, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CSI_AperiodicTriggerStateList", HFILL }}, { &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList, { "semiPersistentOnPUSCH-TriggerStateList", "nr-rrc.semiPersistentOnPUSCH_TriggerStateList", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_20, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "CSI_SemiPersistentOnPUSCH_TriggerStateList", HFILL }}, { &hf_nr_rrc_carrier, { "carrier", "nr-rrc.carrier", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_resourcesForChannelMeasurement, { "resourcesForChannelMeasurement", "nr-rrc.resourcesForChannelMeasurement", FT_UINT32, BASE_DEC, NULL, 0, "CSI_ResourceConfigId", HFILL }}, { &hf_nr_rrc_csi_IM_ResourcesForInterference_01, { "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference", FT_UINT32, BASE_DEC, NULL, 0, "CSI_ResourceConfigId", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference_01, { "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference", FT_UINT32, BASE_DEC, NULL, 0, "CSI_ResourceConfigId", HFILL }}, { &hf_nr_rrc_reportConfigType, { "reportConfigType", "nr-rrc.reportConfigType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportConfigType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_periodic, { "periodic", "nr-rrc.periodic_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportSlotConfig, { "reportSlotConfig", "nr-rrc.reportSlotConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ReportPeriodicityAndOffset_vals), 0, "CSI_ReportPeriodicityAndOffset", HFILL }}, { &hf_nr_rrc_pucch_CSI_ResourceList, { "pucch-CSI-ResourceList", "nr-rrc.pucch_CSI_ResourceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource", HFILL }}, { &hf_nr_rrc_pucch_CSI_ResourceList_item, { "PUCCH-CSI-Resource", "nr-rrc.PUCCH_CSI_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_semiPersistentOnPUCCH, { "semiPersistentOnPUCCH", "nr-rrc.semiPersistentOnPUCCH_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_semiPersistentOnPUSCH, { "semiPersistentOnPUSCH", "nr-rrc.semiPersistentOnPUSCH_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportSlotConfig_01, { "reportSlotConfig", "nr-rrc.reportSlotConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reportSlotOffsetList, { "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportSlotOffsetList_item, { "reportSlotOffsetList item", "nr-rrc.reportSlotOffsetList_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_32", HFILL }}, { &hf_nr_rrc_p0alpha, { "p0alpha", "nr-rrc.p0alpha", FT_UINT32, BASE_DEC, NULL, 0, "P0_PUSCH_AlphaSetId", HFILL }}, { &hf_nr_rrc_aperiodic, { "aperiodic", "nr-rrc.aperiodic_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportSlotOffsetList_01, { "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList", FT_UINT32, BASE_DEC, NULL, 0, "T_reportSlotOffsetList_01", HFILL }}, { &hf_nr_rrc_reportQuantity, { "reportQuantity", "nr-rrc.reportQuantity", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantity_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_none, { "none", "nr-rrc.none_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cri_RI_PMI_CQI, { "cri-RI-PMI-CQI", "nr-rrc.cri_RI_PMI_CQI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cri_RI_i1, { "cri-RI-i1", "nr-rrc.cri_RI_i1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cri_RI_i1_CQI, { "cri-RI-i1-CQI", "nr-rrc.cri_RI_i1_CQI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_BundleSizeForCSI, { "pdsch-BundleSizeForCSI", "nr-rrc.pdsch_BundleSizeForCSI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_BundleSizeForCSI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cri_RI_CQI, { "cri-RI-CQI", "nr-rrc.cri_RI_CQI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cri_RSRP, { "cri-RSRP", "nr-rrc.cri_RSRP_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_Index_RSRP, { "ssb-Index-RSRP", "nr-rrc.ssb_Index_RSRP_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cri_RI_LI_PMI_CQI, { "cri-RI-LI-PMI-CQI", "nr-rrc.cri_RI_LI_PMI_CQI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportFreqConfiguration, { "reportFreqConfiguration", "nr-rrc.reportFreqConfiguration_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cqi_FormatIndicator, { "cqi-FormatIndicator", "nr-rrc.cqi_FormatIndicator", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_FormatIndicator_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pmi_FormatIndicator, { "pmi-FormatIndicator", "nr-rrc.pmi_FormatIndicator", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pmi_FormatIndicator_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ReportingBand, { "csi-ReportingBand", "nr-rrc.csi_ReportingBand", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_csi_ReportingBand_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_subbands3, { "subbands3", "nr-rrc.subbands3", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_3", HFILL }}, { &hf_nr_rrc_subbands4, { "subbands4", "nr-rrc.subbands4", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_4", HFILL }}, { &hf_nr_rrc_subbands5, { "subbands5", "nr-rrc.subbands5", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_5", HFILL }}, { &hf_nr_rrc_subbands6, { "subbands6", "nr-rrc.subbands6", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6", HFILL }}, { &hf_nr_rrc_subbands7, { "subbands7", "nr-rrc.subbands7", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_7", HFILL }}, { &hf_nr_rrc_subbands8, { "subbands8", "nr-rrc.subbands8", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_subbands9, { "subbands9", "nr-rrc.subbands9", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_9", HFILL }}, { &hf_nr_rrc_subbands10, { "subbands10", "nr-rrc.subbands10", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, { &hf_nr_rrc_subbands11, { "subbands11", "nr-rrc.subbands11", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_11", HFILL }}, { &hf_nr_rrc_subbands12, { "subbands12", "nr-rrc.subbands12", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_12", HFILL }}, { &hf_nr_rrc_subbands13, { "subbands13", "nr-rrc.subbands13", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_13", HFILL }}, { &hf_nr_rrc_subbands14, { "subbands14", "nr-rrc.subbands14", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_14", HFILL }}, { &hf_nr_rrc_subbands15, { "subbands15", "nr-rrc.subbands15", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_15", HFILL }}, { &hf_nr_rrc_subbands16, { "subbands16", "nr-rrc.subbands16", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_16", HFILL }}, { &hf_nr_rrc_subbands17, { "subbands17", "nr-rrc.subbands17", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_17", HFILL }}, { &hf_nr_rrc_subbands18, { "subbands18", "nr-rrc.subbands18", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_18", HFILL }}, { &hf_nr_rrc_subbands19_v1530, { "subbands19-v1530", "nr-rrc.subbands19_v1530", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_19", HFILL }}, { &hf_nr_rrc_timeRestrictionForChannelMeasurements, { "timeRestrictionForChannelMeasurements", "nr-rrc.timeRestrictionForChannelMeasurements", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForChannelMeasurements_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_timeRestrictionForInterferenceMeasurements, { "timeRestrictionForInterferenceMeasurements", "nr-rrc.timeRestrictionForInterferenceMeasurements", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_codebookConfig, { "codebookConfig", "nr-rrc.codebookConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dummy_01, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_groupBasedBeamReporting, { "groupBasedBeamReporting", "nr-rrc.groupBasedBeamReporting", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBasedBeamReporting_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_enabled, { "enabled", "nr-rrc.enabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_disabled, { "disabled", "nr-rrc.disabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nrofReportedRS, { "nrofReportedRS", "nr-rrc.nrofReportedRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofReportedRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cqi_Table, { "cqi-Table", "nr-rrc.cqi_Table", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_Table_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_subbandSize, { "subbandSize", "nr-rrc.subbandSize", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subbandSize_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_non_PMI_PortIndication, { "non-PMI-PortIndication", "nr-rrc.non_PMI_PortIndication", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks", HFILL }}, { &hf_nr_rrc_non_PMI_PortIndication_item, { "PortIndexFor8Ranks", "nr-rrc.PortIndexFor8Ranks", FT_UINT32, BASE_DEC, VALS(nr_rrc_PortIndexFor8Ranks_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_semiPersistentOnPUSCH_v1530, { "semiPersistentOnPUSCH-v1530", "nr-rrc.semiPersistentOnPUSCH_v1530_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportSlotConfig_v1530, { "reportSlotConfig-v1530", "nr-rrc.reportSlotConfig_v1530", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_v1530_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_slots4, { "slots4", "nr-rrc.slots4", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_slots5, { "slots5", "nr-rrc.slots5", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4", HFILL }}, { &hf_nr_rrc_slots8, { "slots8", "nr-rrc.slots8", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, { &hf_nr_rrc_slots10, { "slots10", "nr-rrc.slots10", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_nr_rrc_slots16, { "slots16", "nr-rrc.slots16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_slots20, { "slots20", "nr-rrc.slots20", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_19", HFILL }}, { &hf_nr_rrc_slots40, { "slots40", "nr-rrc.slots40", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, { &hf_nr_rrc_slots80, { "slots80", "nr-rrc.slots80", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_79", HFILL }}, { &hf_nr_rrc_slots160, { "slots160", "nr-rrc.slots160", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_159", HFILL }}, { &hf_nr_rrc_slots320, { "slots320", "nr-rrc.slots320", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_319", HFILL }}, { &hf_nr_rrc_uplinkBandwidthPartId, { "uplinkBandwidthPartId", "nr-rrc.uplinkBandwidthPartId", FT_UINT32, BASE_DEC, NULL, 0, "BWP_Id", HFILL }}, { &hf_nr_rrc_pucch_Resource, { "pucch-Resource", "nr-rrc.pucch_Resource", FT_UINT32, BASE_DEC, NULL, 0, "PUCCH_ResourceId", HFILL }}, { &hf_nr_rrc_portIndex8, { "portIndex8", "nr-rrc.portIndex8_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank1_8, { "rank1-8", "nr-rrc.rank1_8", FT_UINT32, BASE_DEC, NULL, 0, "PortIndex8", HFILL }}, { &hf_nr_rrc_rank2_8, { "rank2-8", "nr-rrc.rank2_8", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank2_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank3_8, { "rank3-8", "nr-rrc.rank3_8", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_3_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank3_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank4_8, { "rank4-8", "nr-rrc.rank4_8", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_4_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank4_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank5_8, { "rank5-8", "nr-rrc.rank5_8", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_5_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank5_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank6_8, { "rank6-8", "nr-rrc.rank6_8", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_6_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank6_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank7_8, { "rank7-8", "nr-rrc.rank7_8", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_7_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank7_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank8_8, { "rank8-8", "nr-rrc.rank8_8", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_8_OF_PortIndex8", HFILL }}, { &hf_nr_rrc_rank8_8_item, { "PortIndex8", "nr-rrc.PortIndex8", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_portIndex4, { "portIndex4", "nr-rrc.portIndex4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank1_4, { "rank1-4", "nr-rrc.rank1_4", FT_UINT32, BASE_DEC, NULL, 0, "PortIndex4", HFILL }}, { &hf_nr_rrc_rank2_4, { "rank2-4", "nr-rrc.rank2_4", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_OF_PortIndex4", HFILL }}, { &hf_nr_rrc_rank2_4_item, { "PortIndex4", "nr-rrc.PortIndex4", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank3_4, { "rank3-4", "nr-rrc.rank3_4", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_3_OF_PortIndex4", HFILL }}, { &hf_nr_rrc_rank3_4_item, { "PortIndex4", "nr-rrc.PortIndex4", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank4_4, { "rank4-4", "nr-rrc.rank4_4", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_4_OF_PortIndex4", HFILL }}, { &hf_nr_rrc_rank4_4_item, { "PortIndex4", "nr-rrc.PortIndex4", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_portIndex2, { "portIndex2", "nr-rrc.portIndex2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rank1_2, { "rank1-2", "nr-rrc.rank1_2", FT_UINT32, BASE_DEC, NULL, 0, "PortIndex2", HFILL }}, { &hf_nr_rrc_rank2_2, { "rank2-2", "nr-rrc.rank2_2", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_2_OF_PortIndex2", HFILL }}, { &hf_nr_rrc_rank2_2_item, { "PortIndex2", "nr-rrc.PortIndex2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_portIndex1, { "portIndex1", "nr-rrc.portIndex1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ResourceConfigId, { "csi-ResourceConfigId", "nr-rrc.csi_ResourceConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_ResourceSetList, { "csi-RS-ResourceSetList", "nr-rrc.csi_RS_ResourceSetList", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_ResourceSetList_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_SSB, { "nzp-CSI-RS-SSB", "nr-rrc.nzp_CSI_RS_SSB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList, { "nzp-CSI-RS-ResourceSetList", "nr-rrc.nzp_CSI_RS_ResourceSetList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item, { "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSetList, { "csi-SSB-ResourceSetList", "nr-rrc.csi_SSB_ResourceSetList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId", HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSetList_item, { "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_IM_ResourceSetList, { "csi-IM-ResourceSetList", "nr-rrc.csi_IM_ResourceSetList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId", HFILL }}, { &hf_nr_rrc_csi_IM_ResourceSetList_item, { "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceType, { "resourceType", "nr-rrc.resourceType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_slots32, { "slots32", "nr-rrc.slots32", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_slots64, { "slots64", "nr-rrc.slots64", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_slots640, { "slots640", "nr-rrc.slots640", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_639", HFILL }}, { &hf_nr_rrc_csi_RS_CellList_Mobility, { "csi-RS-CellList-Mobility", "nr-rrc.csi_RS_CellList_Mobility", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility", HFILL }}, { &hf_nr_rrc_csi_RS_CellList_Mobility_item, { "CSI-RS-CellMobility", "nr-rrc.CSI_RS_CellMobility_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_refServCellIndex, { "refServCellIndex", "nr-rrc.refServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_cellId, { "cellId", "nr-rrc.cellId", FT_UINT32, BASE_DEC, NULL, 0, "PhysCellId", HFILL }}, { &hf_nr_rrc_csi_rs_MeasurementBW, { "csi-rs-MeasurementBW", "nr-rrc.csi_rs_MeasurementBW_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nrofPRBs, { "nrofPRBs", "nr-rrc.nrofPRBs", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPRBs_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_startPRB, { "startPRB", "nr-rrc.startPRB", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2169", HFILL }}, { &hf_nr_rrc_density, { "density", "nr-rrc.density", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_rs_ResourceList_Mobility, { "csi-rs-ResourceList-Mobility", "nr-rrc.csi_rs_ResourceList_Mobility", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility", HFILL }}, { &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, { "CSI-RS-Resource-Mobility", "nr-rrc.CSI_RS_Resource_Mobility_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_Index, { "csi-RS-Index", "nr-rrc.csi_RS_Index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_slotConfig, { "slotConfig", "nr-rrc.slotConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ms4, { "ms4", "nr-rrc.ms4", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_ms5, { "ms5", "nr-rrc.ms5", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, { &hf_nr_rrc_ms10_01, { "ms10", "nr-rrc.ms10", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_79", HFILL }}, { &hf_nr_rrc_ms20_01, { "ms20", "nr-rrc.ms20", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_159", HFILL }}, { &hf_nr_rrc_ms40_01, { "ms40", "nr-rrc.ms40", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_319", HFILL }}, { &hf_nr_rrc_associatedSSB, { "associatedSSB", "nr-rrc.associatedSSB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_Index, { "ssb-Index", "nr-rrc.ssb_Index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_isQuasiColocated, { "isQuasiColocated", "nr-rrc.isQuasiColocated", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_frequencyDomainAllocation_01, { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_row1, { "row1", "nr-rrc.row1", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_4", HFILL }}, { &hf_nr_rrc_row2, { "row2", "nr-rrc.row2", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_12", HFILL }}, { &hf_nr_rrc_firstOFDMSymbolInTimeDomain, { "firstOFDMSymbolInTimeDomain", "nr-rrc.firstOFDMSymbolInTimeDomain", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_13", HFILL }}, { &hf_nr_rrc_sequenceGenerationConfig, { "sequenceGenerationConfig", "nr-rrc.sequenceGenerationConfig", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_frequencyDomainAllocation_02, { "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_01_vals), 0, "T_frequencyDomainAllocation_01", HFILL }}, { &hf_nr_rrc_row4, { "row4", "nr-rrc.row4", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_3", HFILL }}, { &hf_nr_rrc_other_01, { "other", "nr-rrc.other", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6", HFILL }}, { &hf_nr_rrc_nrofPorts, { "nrofPorts", "nr-rrc.nrofPorts", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_firstOFDMSymbolInTimeDomain2, { "firstOFDMSymbolInTimeDomain2", "nr-rrc.firstOFDMSymbolInTimeDomain2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_12", HFILL }}, { &hf_nr_rrc_cdm_Type, { "cdm-Type", "nr-rrc.cdm_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cdm_Type_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_density_01, { "density", "nr-rrc.density", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_01_vals), 0, "T_density_01", HFILL }}, { &hf_nr_rrc_dot5, { "dot5", "nr-rrc.dot5", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dot5_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_one, { "one", "nr-rrc.one_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_three, { "three", "nr-rrc.three_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spare_02, { "spare", "nr-rrc.spare_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item, { "CSI-SemiPersistentOnPUSCH-TriggerState", "nr-rrc.CSI_SemiPersistentOnPUSCH_TriggerState_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_associatedReportConfigInfo, { "associatedReportConfigInfo", "nr-rrc.associatedReportConfigInfo", FT_UINT32, BASE_DEC, NULL, 0, "CSI_ReportConfigId", HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceSetId, { "csi-SSB-ResourceSetId", "nr-rrc.csi_SSB_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceList, { "csi-SSB-ResourceList", "nr-rrc.csi_SSB_ResourceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index", HFILL }}, { &hf_nr_rrc_csi_SSB_ResourceList_item, { "SSB-Index", "nr-rrc.SSB_Index", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dmrs_Type, { "dmrs-Type", "nr-rrc.dmrs_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dmrs_AdditionalPosition, { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxLength, { "maxLength", "nr-rrc.maxLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scramblingID0, { "scramblingID0", "nr-rrc.scramblingID0", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_nr_rrc_scramblingID1, { "scramblingID1", "nr-rrc.scramblingID1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_65535", HFILL }}, { &hf_nr_rrc_phaseTrackingRS, { "phaseTrackingRS", "nr-rrc.phaseTrackingRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_21, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DownlinkConfig", HFILL }}, { &hf_nr_rrc_dmrs_Type_01, { "dmrs-Type", "nr-rrc.dmrs_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_01_vals), 0, "T_dmrs_Type_01", HFILL }}, { &hf_nr_rrc_dmrs_AdditionalPosition_01, { "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_01_vals), 0, "T_dmrs_AdditionalPosition_01", HFILL }}, { &hf_nr_rrc_phaseTrackingRS_01, { "phaseTrackingRS", "nr-rrc.phaseTrackingRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_01_vals), 0, "T_phaseTrackingRS_01", HFILL }}, { &hf_nr_rrc_setup_22, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_UplinkConfig", HFILL }}, { &hf_nr_rrc_maxLength_01, { "maxLength", "nr-rrc.maxLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_01_vals), 0, "T_maxLength_01", HFILL }}, { &hf_nr_rrc_transformPrecodingDisabled, { "transformPrecodingDisabled", "nr-rrc.transformPrecodingDisabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_transformPrecodingEnabled, { "transformPrecodingEnabled", "nr-rrc.transformPrecodingEnabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nPUSCH_Identity, { "nPUSCH-Identity", "nr-rrc.nPUSCH_Identity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1007", HFILL }}, { &hf_nr_rrc_sequenceGroupHopping, { "sequenceGroupHopping", "nr-rrc.sequenceGroupHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceGroupHopping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sequenceHopping, { "sequenceHopping", "nr-rrc.sequenceHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceHopping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyInfoDL, { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_initialDownlinkBWP, { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_DownlinkCommon", HFILL }}, { &hf_nr_rrc_frequencyInfoDL_01, { "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element", FT_NONE, BASE_NONE, NULL, 0, "FrequencyInfoDL_SIB", HFILL }}, { &hf_nr_rrc_bcch_Config, { "bcch-Config", "nr-rrc.bcch_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pcch_Config, { "pcch-Config", "nr-rrc.pcch_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_modificationPeriodCoeff, { "modificationPeriodCoeff", "nr-rrc.modificationPeriodCoeff", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modificationPeriodCoeff_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_defaultPagingCycle, { "defaultPagingCycle", "nr-rrc.defaultPagingCycle", FT_UINT32, BASE_DEC, VALS(nr_rrc_PagingCycle_vals), 0, "PagingCycle", HFILL }}, { &hf_nr_rrc_nAndPagingFrameOffset, { "nAndPagingFrameOffset", "nr-rrc.nAndPagingFrameOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nAndPagingFrameOffset_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneT, { "oneT", "nr-rrc.oneT_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_halfT, { "halfT", "nr-rrc.halfT", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1", HFILL }}, { &hf_nr_rrc_quarterT, { "quarterT", "nr-rrc.quarterT", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_oneEighthT, { "oneEighthT", "nr-rrc.oneEighthT", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, { &hf_nr_rrc_oneSixteenthT, { "oneSixteenthT", "nr-rrc.oneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_ns, { "ns", "nr-rrc.ns", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ns_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO, { "firstPDCCH-MonitoringOccasionOfPO", "nr-rrc.firstPDCCH_MonitoringOccasionOfPO", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sCS15KHZoneT, { "sCS15KHZoneT", "nr-rrc.sCS15KHZoneT", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sCS15KHZoneT_item, { "sCS15KHZoneT item", "nr-rrc.sCS15KHZoneT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_139", HFILL }}, { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT, { "sCS30KHZoneT-SCS15KHZhalfT", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS30KHZoneT_SCS15KHZhalfT", HFILL }}, { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_item, { "sCS30KHZoneT-SCS15KHZhalfT item", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_279", HFILL }}, { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT", HFILL }}, { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item, { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT item", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_559", HFILL }}, { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT", HFILL }}, { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item, { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT item", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1119", HFILL }}, { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT", HFILL }}, { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item, { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT item", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2239", HFILL }}, { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, { "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT", "nr-rrc.sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT", HFILL }}, { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item, { "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT item", "nr-rrc.sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4479", HFILL }}, { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, { "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT", "nr-rrc.sCS120KHZoneEighthT_SCS60KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT", HFILL }}, { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item, { "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT item", "nr-rrc.sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_8959", HFILL }}, { &hf_nr_rrc_sCS120KHZoneSixteenthT, { "sCS120KHZoneSixteenthT", "nr-rrc.sCS120KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sCS120KHZoneSixteenthT_item, { "sCS120KHZoneSixteenthT item", "nr-rrc.sCS120KHZoneSixteenthT_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_17919", HFILL }}, { &hf_nr_rrc_int_RNTI, { "int-RNTI", "nr-rrc.int_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_timeFrequencySet, { "timeFrequencySet", "nr-rrc.timeFrequencySet", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeFrequencySet_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dci_PayloadSize, { "dci-PayloadSize", "nr-rrc.dci_PayloadSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxINT_DCI_PayloadSize", HFILL }}, { &hf_nr_rrc_int_ConfigurationPerServingCell, { "int-ConfigurationPerServingCell", "nr-rrc.int_ConfigurationPerServingCell", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell", HFILL }}, { &hf_nr_rrc_int_ConfigurationPerServingCell_item, { "INT-ConfigurationPerServingCell", "nr-rrc.INT_ConfigurationPerServingCell_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_servingCellId, { "servingCellId", "nr-rrc.servingCellId", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_positionInDCI, { "positionInDCI", "nr-rrc.positionInDCI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxINT_DCI_PayloadSize_1", HFILL }}, { &hf_nr_rrc_drx_onDurationTimer, { "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_subMilliSeconds, { "subMilliSeconds", "nr-rrc.subMilliSeconds", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_31", HFILL }}, { &hf_nr_rrc_milliSeconds, { "milliSeconds", "nr-rrc.milliSeconds", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_InactivityTimer, { "drx-InactivityTimer", "nr-rrc.drx_InactivityTimer", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_InactivityTimer_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_HARQ_RTT_TimerDL, { "drx-HARQ-RTT-TimerDL", "nr-rrc.drx_HARQ_RTT_TimerDL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_56", HFILL }}, { &hf_nr_rrc_drx_HARQ_RTT_TimerUL, { "drx-HARQ-RTT-TimerUL", "nr-rrc.drx_HARQ_RTT_TimerUL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_56", HFILL }}, { &hf_nr_rrc_drx_RetransmissionTimerDL, { "drx-RetransmissionTimerDL", "nr-rrc.drx_RetransmissionTimerDL", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerDL_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_RetransmissionTimerUL, { "drx-RetransmissionTimerUL", "nr-rrc.drx_RetransmissionTimerUL", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerUL_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_drx_LongCycleStartOffset_01, { "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext, 0, "T_drx_LongCycleStartOffset_01", HFILL }}, { &hf_nr_rrc_shortDRX_01, { "shortDRX", "nr-rrc.shortDRX_element", FT_NONE, BASE_NONE, NULL, 0, "T_shortDRX_01", HFILL }}, { &hf_nr_rrc_drx_ShortCycle_01, { "drx-ShortCycle", "nr-rrc.drx_ShortCycle", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_01_vals_ext, 0, "T_drx_ShortCycle_01", HFILL }}, { &hf_nr_rrc_drx_SlotOffset, { "drx-SlotOffset", "nr-rrc.drx_SlotOffset", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_drx_SlotOffset_fmt), 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_absoluteFrequencySSB, { "absoluteFrequencySSB", "nr-rrc.absoluteFrequencySSB", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_absoluteFrequencyPointA, { "absoluteFrequencyPointA", "nr-rrc.absoluteFrequencyPointA", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_scs_SpecificCarrierList, { "scs-SpecificCarrierList", "nr-rrc.scs_SpecificCarrierList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }}, { &hf_nr_rrc_scs_SpecificCarrierList_item, { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_offsetToPointA, { "offsetToPointA", "nr-rrc.offsetToPointA", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_prbs, 0, "INTEGER_0_2199", HFILL }}, { &hf_nr_rrc_additionalSpectrumEmission, { "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyShift7p5khz, { "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyShift7p5khz_01, { "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_01_vals), 0, "T_frequencyShift7p5khz_01", HFILL }}, { &hf_nr_rrc_eutra_RSTD, { "eutra-RSTD", "nr-rrc.eutra_RSTD", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_RSTD_InfoList", HFILL }}, { &hf_nr_rrc_eutra_FineTimingDetection, { "eutra-FineTimingDetection", "nr-rrc.eutra_FineTimingDetection_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_EUTRA_RSTD_InfoList_item, { "EUTRA-RSTD-Info", "nr-rrc.EUTRA_RSTD_Info_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measPRS_Offset, { "measPRS-Offset", "nr-rrc.measPRS_Offset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, { &hf_nr_rrc_ul_SpecificParameters, { "ul-SpecificParameters", "nr-rrc.ul_SpecificParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_priority, { "priority", "nr-rrc.priority", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_nr_rrc_prioritisedBitRate, { "prioritisedBitRate", "nr-rrc.prioritisedBitRate", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prioritisedBitRate_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bucketSizeDuration, { "bucketSizeDuration", "nr-rrc.bucketSizeDuration", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bucketSizeDuration_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_allowedServingCells, { "allowedServingCells", "nr-rrc.allowedServingCells", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex", HFILL }}, { &hf_nr_rrc_allowedServingCells_item, { "ServCellIndex", "nr-rrc.ServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_allowedSCS_List, { "allowedSCS-List", "nr-rrc.allowedSCS_List", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing", HFILL }}, { &hf_nr_rrc_allowedSCS_List_item, { "SubcarrierSpacing", "nr-rrc.SubcarrierSpacing", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxPUSCH_Duration, { "maxPUSCH-Duration", "nr-rrc.maxPUSCH_Duration", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxPUSCH_Duration_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_configuredGrantType1Allowed, { "configuredGrantType1Allowed", "nr-rrc.configuredGrantType1Allowed", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantType1Allowed_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_logicalChannelGroup, { "logicalChannelGroup", "nr-rrc.logicalChannelGroup", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxLCG_ID", HFILL }}, { &hf_nr_rrc_schedulingRequestID, { "schedulingRequestID", "nr-rrc.schedulingRequestID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_logicalChannelSR_Mask, { "logicalChannelSR-Mask", "nr-rrc.logicalChannelSR_Mask", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, { "logicalChannelSR-DelayTimerApplied", "nr-rrc.logicalChannelSR_DelayTimerApplied", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_bitRateQueryProhibitTimer, { "bitRateQueryProhibitTimer", "nr-rrc.bitRateQueryProhibitTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bitRateQueryProhibitTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_drx_Config, { "drx-Config", "nr-rrc.drx_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_23, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DRX_Config", HFILL }}, { &hf_nr_rrc_schedulingRequestConfig, { "schedulingRequestConfig", "nr-rrc.schedulingRequestConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bsr_Config, { "bsr-Config", "nr-rrc.bsr_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tag_Config, { "tag-Config", "nr-rrc.tag_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_phr_Config, { "phr-Config", "nr-rrc.phr_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_24, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PHR_Config", HFILL }}, { &hf_nr_rrc_skipUplinkTxDynamic, { "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_csi_Mask, { "csi-Mask", "nr-rrc.csi_Mask", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_dataInactivityTimer, { "dataInactivityTimer", "nr-rrc.dataInactivityTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dataInactivityTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_25, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_DataInactivityTimer_vals), 0, "DataInactivityTimer", HFILL }}, { &hf_nr_rrc_measObjectToRemoveList, { "measObjectToRemoveList", "nr-rrc.measObjectToRemoveList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measObjectToAddModList, { "measObjectToAddModList", "nr-rrc.measObjectToAddModList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportConfigToRemoveList, { "reportConfigToRemoveList", "nr-rrc.reportConfigToRemoveList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportConfigToAddModList, { "reportConfigToAddModList", "nr-rrc.reportConfigToAddModList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measIdToRemoveList, { "measIdToRemoveList", "nr-rrc.measIdToRemoveList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measIdToAddModList, { "measIdToAddModList", "nr-rrc.measIdToAddModList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_s_MeasureConfig, { "s-MeasureConfig", "nr-rrc.s_MeasureConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_MeasureConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_RSRP, { "ssb-RSRP", "nr-rrc.ssb_RSRP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_csi_RSRP, { "csi-RSRP", "nr-rrc.csi_RSRP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_quantityConfig, { "quantityConfig", "nr-rrc.quantityConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measGapConfig_01, { "measGapConfig", "nr-rrc.measGapConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measGapSharingConfig, { "measGapSharingConfig", "nr-rrc.measGapSharingConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasObjectToRemoveList_item, { "MeasObjectId", "nr-rrc.MeasObjectId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasIdToRemoveList_item, { "MeasId", "nr-rrc.MeasId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ReportConfigToRemoveList_item, { "ReportConfigId", "nr-rrc.ReportConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_gapFR2, { "gapFR2", "nr-rrc.gapFR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_gapFR1, { "gapFR1", "nr-rrc.gapFR1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_gapUE, { "gapUE", "nr-rrc.gapUE", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapUE_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_gapOffset, { "gapOffset", "nr-rrc.gapOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_159", HFILL }}, { &hf_nr_rrc_mgl, { "mgl", "nr-rrc.mgl", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgl_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mgrp, { "mgrp", "nr-rrc.mgrp", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgrp_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mgta, { "mgta", "nr-rrc.mgta", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgta_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_refServCellIndicator, { "refServCellIndicator", "nr-rrc.refServCellIndicator", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_refServCellIndicator_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_gapSharingFR2, { "gapSharingFR2", "nr-rrc.gapSharingFR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_26, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasGapSharingScheme_vals), 0, "MeasGapSharingScheme", HFILL }}, { &hf_nr_rrc_gapSharingFR1, { "gapSharingFR1", "nr-rrc.gapSharingFR1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_gapSharingUE, { "gapSharingUE", "nr-rrc.gapSharingUE", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingUE_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_MeasIdToAddModList_item, { "MeasIdToAddMod", "nr-rrc.MeasIdToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measId, { "measId", "nr-rrc.measId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measObjectId, { "measObjectId", "nr-rrc.measObjectId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportConfigId_01, { "reportConfigId", "nr-rrc.reportConfigId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellsToRemoveListEUTRAN, { "cellsToRemoveListEUTRAN", "nr-rrc.cellsToRemoveListEUTRAN", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_CellIndexList", HFILL }}, { &hf_nr_rrc_cellsToAddModListEUTRAN, { "cellsToAddModListEUTRAN", "nr-rrc.cellsToAddModListEUTRAN", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell", HFILL }}, { &hf_nr_rrc_cellsToAddModListEUTRAN_item, { "EUTRA-Cell", "nr-rrc.EUTRA_Cell_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_blackCellsToRemoveListEUTRAN, { "blackCellsToRemoveListEUTRAN", "nr-rrc.blackCellsToRemoveListEUTRAN", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_CellIndexList", HFILL }}, { &hf_nr_rrc_blackCellsToAddModListEUTRAN, { "blackCellsToAddModListEUTRAN", "nr-rrc.blackCellsToAddModListEUTRAN", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell", HFILL }}, { &hf_nr_rrc_blackCellsToAddModListEUTRAN_item, { "EUTRA-BlackCell", "nr-rrc.EUTRA_BlackCell_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_PresenceAntennaPort1, { "eutra-PresenceAntennaPort1", "nr-rrc.eutra_PresenceAntennaPort1", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_Q_OffsetRange, { "eutra-Q-OffsetRange", "nr-rrc.eutra_Q_OffsetRange", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_widebandRSRQ_Meas, { "widebandRSRQ-Meas", "nr-rrc.widebandRSRQ_Meas", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_EUTRA_CellIndexList_item, { "EUTRA-CellIndex", "nr-rrc.EUTRA_CellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellIndexEUTRA, { "cellIndexEUTRA", "nr-rrc.cellIndexEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_CellIndex", HFILL }}, { &hf_nr_rrc_cellIndividualOffset, { "cellIndividualOffset", "nr-rrc.cellIndividualOffset", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_EUTRA_Q_OffsetRange_vals_ext, 0, "EUTRA_Q_OffsetRange", HFILL }}, { &hf_nr_rrc_physCellIdRange, { "physCellIdRange", "nr-rrc.physCellIdRange_element", FT_NONE, BASE_NONE, NULL, 0, "EUTRA_PhysCellIdRange", HFILL }}, { &hf_nr_rrc_smtc1, { "smtc1", "nr-rrc.smtc1_element", FT_NONE, BASE_NONE, NULL, 0, "SSB_MTC", HFILL }}, { &hf_nr_rrc_smtc2, { "smtc2", "nr-rrc.smtc2_element", FT_NONE, BASE_NONE, NULL, 0, "SSB_MTC2", HFILL }}, { &hf_nr_rrc_refFreqCSI_RS, { "refFreqCSI-RS", "nr-rrc.refFreqCSI_RS", FT_UINT32, BASE_DEC, NULL, 0, "ARFCN_ValueNR", HFILL }}, { &hf_nr_rrc_referenceSignalConfig, { "referenceSignalConfig", "nr-rrc.referenceSignalConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_absThreshCSI_RS_Consolidation, { "absThreshCSI-RS-Consolidation", "nr-rrc.absThreshCSI_RS_Consolidation_element", FT_NONE, BASE_NONE, NULL, 0, "ThresholdNR", HFILL }}, { &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage, { "nrofCSI-RS-ResourcesToAverage", "nr-rrc.nrofCSI_RS_ResourcesToAverage", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_maxNrofCSI_RS_ResourcesToAverage", HFILL }}, { &hf_nr_rrc_quantityConfigIndex, { "quantityConfigIndex", "nr-rrc.quantityConfigIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofQuantityConfig", HFILL }}, { &hf_nr_rrc_offsetMO, { "offsetMO", "nr-rrc.offsetMO_element", FT_NONE, BASE_NONE, NULL, 0, "Q_OffsetRangeList", HFILL }}, { &hf_nr_rrc_cellsToRemoveList, { "cellsToRemoveList", "nr-rrc.cellsToRemoveList", FT_UINT32, BASE_DEC, NULL, 0, "PCI_List", HFILL }}, { &hf_nr_rrc_cellsToAddModList, { "cellsToAddModList", "nr-rrc.cellsToAddModList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_blackCellsToRemoveList, { "blackCellsToRemoveList", "nr-rrc.blackCellsToRemoveList", FT_UINT32, BASE_DEC, NULL, 0, "PCI_RangeIndexList", HFILL }}, { &hf_nr_rrc_blackCellsToAddModList, { "blackCellsToAddModList", "nr-rrc.blackCellsToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement", HFILL }}, { &hf_nr_rrc_blackCellsToAddModList_item, { "PCI-RangeElement", "nr-rrc.PCI_RangeElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_whiteCellsToRemoveList, { "whiteCellsToRemoveList", "nr-rrc.whiteCellsToRemoveList", FT_UINT32, BASE_DEC, NULL, 0, "PCI_RangeIndexList", HFILL }}, { &hf_nr_rrc_whiteCellsToAddModList, { "whiteCellsToAddModList", "nr-rrc.whiteCellsToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement", HFILL }}, { &hf_nr_rrc_whiteCellsToAddModList_item, { "PCI-RangeElement", "nr-rrc.PCI_RangeElement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_freqBandIndicatorNR, { "freqBandIndicatorNR", "nr-rrc.freqBandIndicatorNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measCycleSCell, { "measCycleSCell", "nr-rrc.measCycleSCell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measCycleSCell_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_ConfigMobility, { "ssb-ConfigMobility", "nr-rrc.ssb_ConfigMobility_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_rs_ResourceConfigMobility, { "csi-rs-ResourceConfigMobility", "nr-rrc.csi_rs_ResourceConfigMobility", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_rs_ResourceConfigMobility_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_27, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "CSI_RS_ResourceConfigMobility", HFILL }}, { &hf_nr_rrc_ssb_ToMeasure_01, { "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_28, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0, "SSB_ToMeasure", HFILL }}, { &hf_nr_rrc_rsrpOffsetSSB, { "rsrpOffsetSSB", "nr-rrc.rsrpOffsetSSB", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_rsrqOffsetSSB, { "rsrqOffsetSSB", "nr-rrc.rsrqOffsetSSB", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_sinrOffsetSSB, { "sinrOffsetSSB", "nr-rrc.sinrOffsetSSB", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_rsrpOffsetCSI_RS, { "rsrpOffsetCSI-RS", "nr-rrc.rsrpOffsetCSI_RS", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_rsrqOffsetCSI_RS, { "rsrqOffsetCSI-RS", "nr-rrc.rsrqOffsetCSI_RS", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_sinrOffsetCSI_RS, { "sinrOffsetCSI-RS", "nr-rrc.sinrOffsetCSI_RS", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0, "Q_OffsetRange", HFILL }}, { &hf_nr_rrc_thresholdRSRP, { "thresholdRSRP", "nr-rrc.thresholdRSRP", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_thresholdRSRQ, { "thresholdRSRQ", "nr-rrc.thresholdRSRQ", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0, "RSRQ_Range", HFILL }}, { &hf_nr_rrc_thresholdSINR, { "thresholdSINR", "nr-rrc.thresholdSINR", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_Range_fmt), 0, "SINR_Range", HFILL }}, { &hf_nr_rrc_CellsToAddModList_item, { "CellsToAddMod", "nr-rrc.CellsToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellIndividualOffset_01, { "cellIndividualOffset", "nr-rrc.cellIndividualOffset_element", FT_NONE, BASE_NONE, NULL, 0, "Q_OffsetRangeList", HFILL }}, { &hf_nr_rrc_MeasObjectToAddModList_item, { "MeasObjectToAddMod", "nr-rrc.MeasObjectToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measObject, { "measObject", "nr-rrc.measObject", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measObject_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measObjectNR, { "measObjectNR", "nr-rrc.measObjectNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measObjectEUTRA, { "measObjectEUTRA", "nr-rrc.measObjectEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasResultCellListSFTD_NR_item, { "MeasResultCellSFTD-NR", "nr-rrc.MeasResultCellSFTD_NR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sfn_OffsetResult, { "sfn-OffsetResult", "nr-rrc.sfn_OffsetResult", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_frameBoundaryOffsetResult, { "frameBoundaryOffsetResult", "nr-rrc.frameBoundaryOffsetResult", FT_INT32, BASE_DEC, NULL, 0, "INTEGER_M30720_30719", HFILL }}, { &hf_nr_rrc_rsrp_Result, { "rsrp-Result", "nr-rrc.rsrp_Result", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_MeasResultCellListSFTD_EUTRA_item, { "MeasResultSFTD-EUTRA", "nr-rrc.MeasResultSFTD_EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_PhysCellId, { "eutra-PhysCellId", "nr-rrc.eutra_PhysCellId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultServingMOList, { "measResultServingMOList", "nr-rrc.measResultServingMOList", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultServMOList", HFILL }}, { &hf_nr_rrc_measResultNeighCells, { "measResultNeighCells", "nr-rrc.measResultNeighCells", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measResultNeighCells_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measResultListNR, { "measResultListNR", "nr-rrc.measResultListNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultListEUTRA, { "measResultListEUTRA", "nr-rrc.measResultListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultServFreqListEUTRA_SCG, { "measResultServFreqListEUTRA-SCG", "nr-rrc.measResultServFreqListEUTRA_SCG", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultServFreqListNR_SCG, { "measResultServFreqListNR-SCG", "nr-rrc.measResultServFreqListNR_SCG", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultSFTD_EUTRA, { "measResultSFTD-EUTRA", "nr-rrc.measResultSFTD_EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultSFTD_NR, { "measResultSFTD-NR", "nr-rrc.measResultSFTD_NR_element", FT_NONE, BASE_NONE, NULL, 0, "MeasResultCellSFTD_NR", HFILL }}, { &hf_nr_rrc_MeasResultServMOList_item, { "MeasResultServMO", "nr-rrc.MeasResultServMO_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_servCellId, { "servCellId", "nr-rrc.servCellId", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_measResultServingCell, { "measResultServingCell", "nr-rrc.measResultServingCell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasResultNR", HFILL }}, { &hf_nr_rrc_measResultBestNeighCell, { "measResultBestNeighCell", "nr-rrc.measResultBestNeighCell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasResultNR", HFILL }}, { &hf_nr_rrc_MeasResultListNR_item, { "MeasResultNR", "nr-rrc.MeasResultNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResult, { "measResult", "nr-rrc.measResult_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellResults, { "cellResults", "nr-rrc.cellResults_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resultsSSB_Cell, { "resultsSSB-Cell", "nr-rrc.resultsSSB_Cell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasQuantityResults", HFILL }}, { &hf_nr_rrc_resultsCSI_RS_Cell, { "resultsCSI-RS-Cell", "nr-rrc.resultsCSI_RS_Cell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasQuantityResults", HFILL }}, { &hf_nr_rrc_rsIndexResults, { "rsIndexResults", "nr-rrc.rsIndexResults_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resultsSSB_Indexes, { "resultsSSB-Indexes", "nr-rrc.resultsSSB_Indexes", FT_UINT32, BASE_DEC, NULL, 0, "ResultsPerSSB_IndexList", HFILL }}, { &hf_nr_rrc_resultsCSI_RS_Indexes, { "resultsCSI-RS-Indexes", "nr-rrc.resultsCSI_RS_Indexes", FT_UINT32, BASE_DEC, NULL, 0, "ResultsPerCSI_RS_IndexList", HFILL }}, { &hf_nr_rrc_MeasResultListEUTRA_item, { "MeasResultEUTRA", "nr-rrc.MeasResultEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_PhysCellId_01, { "eutra-PhysCellId", "nr-rrc.eutra_PhysCellId", FT_UINT32, BASE_DEC, NULL, 0, "PhysCellId", HFILL }}, { &hf_nr_rrc_measResult_01, { "measResult", "nr-rrc.measResult_element", FT_NONE, BASE_NONE, NULL, 0, "MeasQuantityResultsEUTRA", HFILL }}, { &hf_nr_rrc_cgi_Info_01, { "cgi-Info", "nr-rrc.cgi_Info_element", FT_NONE, BASE_NONE, NULL, 0, "CGI_InfoEUTRA", HFILL }}, { &hf_nr_rrc_MultiBandInfoListEUTRA_item, { "FreqBandIndicatorEUTRA", "nr-rrc.FreqBandIndicatorEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rsrp, { "rsrp", "nr-rrc.rsrp", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_rsrq, { "rsrq", "nr-rrc.rsrq", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_Range_fmt), 0, "RSRQ_Range", HFILL }}, { &hf_nr_rrc_sinr, { "sinr", "nr-rrc.sinr", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_Range_fmt), 0, "SINR_Range", HFILL }}, { &hf_nr_rrc_rsrp_01, { "rsrp", "nr-rrc.rsrp", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_RangeEUTRA_fmt), 0, "RSRP_RangeEUTRA", HFILL }}, { &hf_nr_rrc_rsrq_01, { "rsrq", "nr-rrc.rsrq", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRQ_RangeEUTRA_fmt), 0, "RSRQ_RangeEUTRA", HFILL }}, { &hf_nr_rrc_sinr_01, { "sinr", "nr-rrc.sinr", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_SINR_RangeEUTRA_fmt), 0, "SINR_RangeEUTRA", HFILL }}, { &hf_nr_rrc_ResultsPerSSB_IndexList_item, { "ResultsPerSSB-Index", "nr-rrc.ResultsPerSSB_Index_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_Results, { "ssb-Results", "nr-rrc.ssb_Results_element", FT_NONE, BASE_NONE, NULL, 0, "MeasQuantityResults", HFILL }}, { &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item, { "ResultsPerCSI-RS-Index", "nr-rrc.ResultsPerCSI_RS_Index_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_Results, { "csi-RS-Results", "nr-rrc.csi_RS_Results_element", FT_NONE, BASE_NONE, NULL, 0, "MeasQuantityResults", HFILL }}, { &hf_nr_rrc_MeasResultServFreqListEUTRA_SCG_item, { "MeasResult2EUTRA", "nr-rrc.MeasResult2EUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MeasResultServFreqListNR_SCG_item, { "MeasResult2NR", "nr-rrc.MeasResult2NR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measResultServingCell_01, { "measResultServingCell", "nr-rrc.measResultServingCell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasResultEUTRA", HFILL }}, { &hf_nr_rrc_measResultBestNeighCell_01, { "measResultBestNeighCell", "nr-rrc.measResultBestNeighCell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasResultEUTRA", HFILL }}, { &hf_nr_rrc_measResultNeighCellListNR, { "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultListNR", HFILL }}, { &hf_nr_rrc_measResultPerMOList, { "measResultPerMOList", "nr-rrc.measResultPerMOList", FT_UINT32, BASE_DEC, NULL, 0, "MeasResultList2NR", HFILL }}, { &hf_nr_rrc_MeasResultList2NR_item, { "MeasResult2NR", "nr-rrc.MeasResult2NR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_t_Evaluation, { "t-Evaluation", "nr-rrc.t_Evaluation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_Evaluation_vals), 0, "T_t_Evaluation", HFILL }}, { &hf_nr_rrc_t_HystNormal, { "t-HystNormal", "nr-rrc.t_HystNormal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t_HystNormal_vals), 0, "T_t_HystNormal", HFILL }}, { &hf_nr_rrc_n_CellChangeMedium, { "n-CellChangeMedium", "nr-rrc.n_CellChangeMedium", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_nr_rrc_n_CellChangeHigh, { "n-CellChangeHigh", "nr-rrc.n_CellChangeHigh", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_nr_rrc_MultiFrequencyBandListNR_item, { "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MultiFrequencyBandListNR_SIB_item, { "NR-MultiBandInfo", "nr-rrc.NR_MultiBandInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nr_NS_PmaxList, { "nr-NS-PmaxList", "nr-rrc.nr_NS_PmaxList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_NR_NS_PmaxList_item, { "NR-NS-PmaxValue", "nr-rrc.NR_NS_PmaxValue_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_additionalPmax, { "additionalPmax", "nr-rrc.additionalPmax", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_ResourceId, { "nzp-CSI-RS-ResourceId", "nr-rrc.nzp_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceMapping, { "resourceMapping", "nr-rrc.resourceMapping_element", FT_NONE, BASE_NONE, NULL, 0, "CSI_RS_ResourceMapping", HFILL }}, { &hf_nr_rrc_powerControlOffset, { "powerControlOffset", "nr-rrc.powerControlOffset", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M8_15", HFILL }}, { &hf_nr_rrc_powerControlOffsetSS, { "powerControlOffsetSS", "nr-rrc.powerControlOffsetSS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlOffsetSS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scramblingID, { "scramblingID", "nr-rrc.scramblingID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_qcl_InfoPeriodicCSI_RS, { "qcl-InfoPeriodicCSI-RS", "nr-rrc.qcl_InfoPeriodicCSI_RS", FT_UINT32, BASE_DEC, NULL, 0, "TCI_StateId", HFILL }}, { &hf_nr_rrc_nzp_CSI_ResourceSetId, { "nzp-CSI-ResourceSetId", "nr-rrc.nzp_CSI_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, "NZP_CSI_RS_ResourceSetId", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_Resources, { "nzp-CSI-RS-Resources", "nr-rrc.nzp_CSI_RS_Resources", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_Resources_item, { "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_repetition, { "repetition", "nr-rrc.repetition", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetition_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_aperiodicTriggeringOffset, { "aperiodicTriggeringOffset", "nr-rrc.aperiodicTriggeringOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_6", HFILL }}, { &hf_nr_rrc_trs_Info, { "trs-Info", "nr-rrc.trs_Info", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trs_Info_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_PCI_List_item, { "PhysCellId", "nr-rrc.PhysCellId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_start, { "start", "nr-rrc.start", FT_UINT32, BASE_DEC, NULL, 0, "PhysCellId", HFILL }}, { &hf_nr_rrc_range, { "range", "nr-rrc.range", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pci_RangeIndex, { "pci-RangeIndex", "nr-rrc.pci_RangeIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pci_Range, { "pci-Range", "nr-rrc.pci_Range_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_PCI_RangeIndexList_item, { "PCI-RangeIndex", "nr-rrc.PCI_RangeIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_controlResourceSetToAddModList, { "controlResourceSetToAddModList", "nr-rrc.controlResourceSetToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_3_OF_ControlResourceSet", HFILL }}, { &hf_nr_rrc_controlResourceSetToAddModList_item, { "ControlResourceSet", "nr-rrc.ControlResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_controlResourceSetToReleaseList, { "controlResourceSetToReleaseList", "nr-rrc.controlResourceSetToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_3_OF_ControlResourceSetId", HFILL }}, { &hf_nr_rrc_controlResourceSetToReleaseList_item, { "ControlResourceSetId", "nr-rrc.ControlResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_searchSpacesToAddModList, { "searchSpacesToAddModList", "nr-rrc.searchSpacesToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_10_OF_SearchSpace", HFILL }}, { &hf_nr_rrc_searchSpacesToAddModList_item, { "SearchSpace", "nr-rrc.SearchSpace_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_searchSpacesToReleaseList, { "searchSpacesToReleaseList", "nr-rrc.searchSpacesToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_10_OF_SearchSpaceId", HFILL }}, { &hf_nr_rrc_searchSpacesToReleaseList_item, { "SearchSpaceId", "nr-rrc.SearchSpaceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_downlinkPreemption, { "downlinkPreemption", "nr-rrc.downlinkPreemption", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkPreemption_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_29, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DownlinkPreemption", HFILL }}, { &hf_nr_rrc_tpc_PUSCH, { "tpc-PUSCH", "nr-rrc.tpc_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_30, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_TPC_CommandConfig", HFILL }}, { &hf_nr_rrc_tpc_PUCCH, { "tpc-PUCCH", "nr-rrc.tpc_PUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_31, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_TPC_CommandConfig", HFILL }}, { &hf_nr_rrc_tpc_SRS, { "tpc-SRS", "nr-rrc.tpc_SRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_SRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_32, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_TPC_CommandConfig", HFILL }}, { &hf_nr_rrc_controlResourceSetZero, { "controlResourceSetZero", "nr-rrc.controlResourceSetZero", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_commonControlResourceSet, { "commonControlResourceSet", "nr-rrc.commonControlResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, "ControlResourceSet", HFILL }}, { &hf_nr_rrc_searchSpaceZero, { "searchSpaceZero", "nr-rrc.searchSpaceZero", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_commonSearchSpaceList, { "commonSearchSpaceList", "nr-rrc.commonSearchSpaceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_4_OF_SearchSpace", HFILL }}, { &hf_nr_rrc_commonSearchSpaceList_item, { "SearchSpace", "nr-rrc.SearchSpace_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_searchSpaceSIB1, { "searchSpaceSIB1", "nr-rrc.searchSpaceSIB1", FT_UINT32, BASE_DEC, NULL, 0, "SearchSpaceId", HFILL }}, { &hf_nr_rrc_searchSpaceOtherSystemInformation, { "searchSpaceOtherSystemInformation", "nr-rrc.searchSpaceOtherSystemInformation", FT_UINT32, BASE_DEC, NULL, 0, "SearchSpaceId", HFILL }}, { &hf_nr_rrc_pagingSearchSpace, { "pagingSearchSpace", "nr-rrc.pagingSearchSpace", FT_UINT32, BASE_DEC, NULL, 0, "SearchSpaceId", HFILL }}, { &hf_nr_rrc_ra_SearchSpace, { "ra-SearchSpace", "nr-rrc.ra_SearchSpace", FT_UINT32, BASE_DEC, NULL, 0, "SearchSpaceId", HFILL }}, { &hf_nr_rrc_firstPDCCH_MonitoringOccasionOfPO_01, { "firstPDCCH-MonitoringOccasionOfPO", "nr-rrc.firstPDCCH_MonitoringOccasionOfPO", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01_vals), 0, "T_firstPDCCH_MonitoringOccasionOfPO_01", HFILL }}, { &hf_nr_rrc_sCS15KHZoneT_01, { "sCS15KHZoneT", "nr-rrc.sCS15KHZoneT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS15KHZoneT_01", HFILL }}, { &hf_nr_rrc_sCS30KHZoneT_SCS15KHZhalfT_01, { "sCS30KHZoneT-SCS15KHZhalfT", "nr-rrc.sCS30KHZoneT_SCS15KHZhalfT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS30KHZoneT_SCS15KHZhalfT_01", HFILL }}, { &hf_nr_rrc_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01, { "sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT", "nr-rrc.sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01", HFILL }}, { &hf_nr_rrc_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01, { "sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT", "nr-rrc.sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01", HFILL }}, { &hf_nr_rrc_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01, { "sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT", "nr-rrc.sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01", HFILL }}, { &hf_nr_rrc_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01, { "sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT", "nr-rrc.sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01", HFILL }}, { &hf_nr_rrc_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01, { "sCS120KHZoneEighthT-SCS60KHZoneSixteenthT", "nr-rrc.sCS120KHZoneEighthT_SCS60KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01", HFILL }}, { &hf_nr_rrc_sCS120KHZoneSixteenthT_01, { "sCS120KHZoneSixteenthT", "nr-rrc.sCS120KHZoneSixteenthT", FT_UINT32, BASE_DEC, NULL, 0, "T_sCS120KHZoneSixteenthT_01", HFILL }}, { &hf_nr_rrc_slotFormatIndicator, { "slotFormatIndicator", "nr-rrc.slotFormatIndicator", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotFormatIndicator_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_33, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SlotFormatIndicator", HFILL }}, { &hf_nr_rrc_drb, { "drb", "nr-rrc.drb_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_discardTimer, { "discardTimer", "nr-rrc.discardTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_SN_SizeUL, { "pdcp-SN-SizeUL", "nr-rrc.pdcp_SN_SizeUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeUL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_SN_SizeDL, { "pdcp-SN-SizeDL", "nr-rrc.pdcp_SN_SizeDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeDL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_headerCompression, { "headerCompression", "nr-rrc.headerCompression", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_headerCompression_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_notUsed, { "notUsed", "nr-rrc.notUsed_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rohc, { "rohc", "nr-rrc.rohc_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxCID, { "maxCID", "nr-rrc.maxCID", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16383", HFILL }}, { &hf_nr_rrc_profiles, { "profiles", "nr-rrc.profiles_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_profile0x0001, { "profile0x0001", "nr-rrc.profile0x0001", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0002, { "profile0x0002", "nr-rrc.profile0x0002", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0003, { "profile0x0003", "nr-rrc.profile0x0003", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0004, { "profile0x0004", "nr-rrc.profile0x0004", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0006, { "profile0x0006", "nr-rrc.profile0x0006", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0101, { "profile0x0101", "nr-rrc.profile0x0101", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0102, { "profile0x0102", "nr-rrc.profile0x0102", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0103, { "profile0x0103", "nr-rrc.profile0x0103", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_profile0x0104, { "profile0x0104", "nr-rrc.profile0x0104", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_drb_ContinueROHC, { "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueROHC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uplinkOnlyROHC, { "uplinkOnlyROHC", "nr-rrc.uplinkOnlyROHC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_profiles_01, { "profiles", "nr-rrc.profiles_element", FT_NONE, BASE_NONE, NULL, 0, "T_profiles_01", HFILL }}, { &hf_nr_rrc_drb_ContinueROHC_01, { "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueROHC_01_vals), 0, "T_drb_ContinueROHC_01", HFILL }}, { &hf_nr_rrc_integrityProtection, { "integrityProtection", "nr-rrc.integrityProtection", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_integrityProtection_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_statusReportRequired, { "statusReportRequired", "nr-rrc.statusReportRequired", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_statusReportRequired_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_outOfOrderDelivery, { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_moreThanOneRLC, { "moreThanOneRLC", "nr-rrc.moreThanOneRLC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_primaryPath, { "primaryPath", "nr-rrc.primaryPath_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cellGroup, { "cellGroup", "nr-rrc.cellGroup", FT_UINT32, BASE_DEC, NULL, 0, "CellGroupId", HFILL }}, { &hf_nr_rrc_logicalChannel, { "logicalChannel", "nr-rrc.logicalChannel", FT_UINT32, BASE_DEC, NULL, 0, "LogicalChannelIdentity", HFILL }}, { &hf_nr_rrc_ul_DataSplitThreshold, { "ul-DataSplitThreshold", "nr-rrc.ul_DataSplitThreshold", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_UL_DataSplitThreshold_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_Duplication, { "pdcp-Duplication", "nr-rrc.pdcp_Duplication", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_t_Reordering, { "t-Reordering", "nr-rrc.t_Reordering", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_t_Reordering_vals_ext, 0, "T_t_Reordering", HFILL }}, { &hf_nr_rrc_cipheringDisabled, { "cipheringDisabled", "nr-rrc.cipheringDisabled", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cipheringDisabled_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dataScramblingIdentityPDSCH, { "dataScramblingIdentityPDSCH", "nr-rrc.dataScramblingIdentityPDSCH", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA, { "dmrs-DownlinkForPDSCH-MappingTypeA", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_34, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DMRS_DownlinkConfig", HFILL }}, { &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB, { "dmrs-DownlinkForPDSCH-MappingTypeB", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tci_StatesToAddModList, { "tci-StatesToAddModList", "nr-rrc.tci_StatesToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State", HFILL }}, { &hf_nr_rrc_tci_StatesToAddModList_item, { "TCI-State", "nr-rrc.TCI_State_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tci_StatesToReleaseList, { "tci-StatesToReleaseList", "nr-rrc.tci_StatesToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId", HFILL }}, { &hf_nr_rrc_tci_StatesToReleaseList_item, { "TCI-StateId", "nr-rrc.TCI_StateId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_vrb_ToPRB_Interleaver, { "vrb-ToPRB-Interleaver", "nr-rrc.vrb_ToPRB_Interleaver", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_Interleaver_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_resourceAllocation_01, { "resourceAllocation", "nr-rrc.resourceAllocation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_01_vals), 0, "T_resourceAllocation_01", HFILL }}, { &hf_nr_rrc_pdsch_TimeDomainAllocationList, { "pdsch-TimeDomainAllocationList", "nr-rrc.pdsch_TimeDomainAllocationList", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationList_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_35, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "PDSCH_TimeDomainResourceAllocationList", HFILL }}, { &hf_nr_rrc_pdsch_AggregationFactor, { "pdsch-AggregationFactor", "nr-rrc.pdsch_AggregationFactor", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchPatternToAddModList, { "rateMatchPatternToAddModList", "nr-rrc.rateMatchPatternToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern", HFILL }}, { &hf_nr_rrc_rateMatchPatternToAddModList_item, { "RateMatchPattern", "nr-rrc.RateMatchPattern_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchPatternToReleaseList, { "rateMatchPatternToReleaseList", "nr-rrc.rateMatchPatternToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }}, { &hf_nr_rrc_rateMatchPatternToReleaseList_item, { "RateMatchPatternId", "nr-rrc.RateMatchPatternId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchPatternGroup1, { "rateMatchPatternGroup1", "nr-rrc.rateMatchPatternGroup1", FT_UINT32, BASE_DEC, NULL, 0, "RateMatchPatternGroup", HFILL }}, { &hf_nr_rrc_rateMatchPatternGroup2, { "rateMatchPatternGroup2", "nr-rrc.rateMatchPatternGroup2", FT_UINT32, BASE_DEC, NULL, 0, "RateMatchPatternGroup", HFILL }}, { &hf_nr_rrc_rbg_Size_01, { "rbg-Size", "nr-rrc.rbg_Size", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_01_vals), 0, "T_rbg_Size_01", HFILL }}, { &hf_nr_rrc_mcs_Table_01, { "mcs-Table", "nr-rrc.mcs_Table", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_01_vals), 0, "T_mcs_Table_01", HFILL }}, { &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI, { "maxNrofCodeWordsScheduledByDCI", "nr-rrc.maxNrofCodeWordsScheduledByDCI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_prb_BundlingType, { "prb-BundlingType", "nr-rrc.prb_BundlingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prb_BundlingType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_staticBundling, { "staticBundling", "nr-rrc.staticBundling_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bundleSize, { "bundleSize", "nr-rrc.bundleSize", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSize_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicBundling, { "dynamicBundling", "nr-rrc.dynamicBundling_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bundleSizeSet1, { "bundleSizeSet1", "nr-rrc.bundleSizeSet1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bundleSizeSet2, { "bundleSizeSet2", "nr-rrc.bundleSizeSet2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList, { "zp-CSI-RS-ResourceToAddModList", "nr-rrc.zp_CSI_RS_ResourceToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource", HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item, { "ZP-CSI-RS-Resource", "nr-rrc.ZP_CSI_RS_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList, { "zp-CSI-RS-ResourceToReleaseList", "nr-rrc.zp_CSI_RS_ResourceToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item, { "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList, { "aperiodic-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }}, { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item, { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList, { "aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }}, { &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item, { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList, { "sp-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }}, { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item, { "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList, { "sp-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }}, { &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item, { "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_p_ZP_CSI_RS_ResourceSet, { "p-ZP-CSI-RS-ResourceSet", "nr-rrc.p_ZP_CSI_RS_ResourceSet", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_p_ZP_CSI_RS_ResourceSet_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_36, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "ZP_CSI_RS_ResourceSet", HFILL }}, { &hf_nr_rrc_RateMatchPatternGroup_item, { "RateMatchPatternGroup item", "nr-rrc.RateMatchPatternGroup_item", FT_UINT32, BASE_DEC, VALS(nr_rrc_RateMatchPatternGroup_item_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cellLevel, { "cellLevel", "nr-rrc.cellLevel", FT_UINT32, BASE_DEC, NULL, 0, "RateMatchPatternId", HFILL }}, { &hf_nr_rrc_bwpLevel, { "bwpLevel", "nr-rrc.bwpLevel", FT_UINT32, BASE_DEC, NULL, 0, "RateMatchPatternId", HFILL }}, { &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, { "pdsch-TimeDomainAllocationList", "nr-rrc.pdsch_TimeDomainAllocationList", FT_UINT32, BASE_DEC, NULL, 0, "PDSCH_TimeDomainResourceAllocationList", HFILL }}, { &hf_nr_rrc_codeBlockGroupTransmission, { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_37, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_CodeBlockGroupTransmission", HFILL }}, { &hf_nr_rrc_xOverhead, { "xOverhead", "nr-rrc.xOverhead", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH, { "nrofHARQ-ProcessesForPDSCH", "nr-rrc.nrofHARQ_ProcessesForPDSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_Cell, { "pucch-Cell", "nr-rrc.pucch_Cell", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_maxMIMO_Layers, { "maxMIMO-Layers", "nr-rrc.maxMIMO_Layers", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_processingType2Enabled, { "processingType2Enabled", "nr-rrc.processingType2Enabled", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock, { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_codeBlockGroupFlushIndicator, { "codeBlockGroupFlushIndicator", "nr-rrc.codeBlockGroupFlushIndicator", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item, { "PDSCH-TimeDomainResourceAllocation", "nr-rrc.PDSCH_TimeDomainResourceAllocation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_k0, { "k0", "nr-rrc.k0", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_32", HFILL }}, { &hf_nr_rrc_mappingType, { "mappingType", "nr-rrc.mappingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_startSymbolAndLength, { "startSymbolAndLength", "nr-rrc.startSymbolAndLength", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_127", HFILL }}, { &hf_nr_rrc_phr_PeriodicTimer, { "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_PeriodicTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_phr_ProhibitTimer, { "phr-ProhibitTimer", "nr-rrc.phr_ProhibitTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ProhibitTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_phr_Tx_PowerFactorChange, { "phr-Tx-PowerFactorChange", "nr-rrc.phr_Tx_PowerFactorChange", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Tx_PowerFactorChange_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_multiplePHR, { "multiplePHR", "nr-rrc.multiplePHR", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_dummy_02, { "dummy", "nr-rrc.dummy", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_phr_Type2OtherCell, { "phr-Type2OtherCell", "nr-rrc.phr_Type2OtherCell", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_phr_ModeOtherCG, { "phr-ModeOtherCG", "nr-rrc.phr_ModeOtherCG", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ModeOtherCG_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH, { "harq-ACK-SpatialBundlingPUCCH", "nr-rrc.harq_ACK_SpatialBundlingPUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH, { "harq-ACK-SpatialBundlingPUSCH", "nr-rrc.harq_ACK_SpatialBundlingPUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_p_NR_FR1, { "p-NR-FR1", "nr-rrc.p_NR_FR1", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_pdsch_HARQ_ACK_Codebook, { "pdsch-HARQ-ACK-Codebook", "nr-rrc.pdsch_HARQ_ACK_Codebook", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tpc_SRS_RNTI, { "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_tpc_PUCCH_RNTI, { "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_tpc_PUSCH_RNTI, { "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_sp_CSI_RNTI, { "sp-CSI-RNTI", "nr-rrc.sp_CSI_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_cs_RNTI, { "cs-RNTI", "nr-rrc.cs_RNTI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cs_RNTI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_38, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_mcs_C_RNTI, { "mcs-C-RNTI", "nr-rrc.mcs_C_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_p_UE_FR1, { "p-UE-FR1", "nr-rrc.p_UE_FR1", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "P_Max", HFILL }}, { &hf_nr_rrc_xScale, { "xScale", "nr-rrc.xScale", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xScale_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_BlindDetection, { "pdcch-BlindDetection", "nr-rrc.pdcch_BlindDetection", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetection_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_39, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "PDCCH_BlindDetection", HFILL }}, { &hf_nr_rrc_mcc, { "mcc", "nr-rrc.mcc", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mnc, { "mnc", "nr-rrc.mnc", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MCC_item, { "MCC-MNC-Digit", "nr-rrc.MCC_MNC_Digit", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_MNC_item, { "MCC-MNC-Digit", "nr-rrc.MCC_MNC_Digit", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_PLMN_IdentityInfoList_item, { "PLMN-IdentityInfo", "nr-rrc.PLMN_IdentityInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_plmn_IdentityList_01, { "plmn-IdentityList", "nr-rrc.plmn_IdentityList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity", HFILL }}, { &hf_nr_rrc_plmn_IdentityList_item, { "PLMN-Identity", "nr-rrc.PLMN_Identity_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ranac, { "ranac", "nr-rrc.ranac", FT_UINT32, BASE_DEC, NULL, 0, "RAN_AreaCode", HFILL }}, { &hf_nr_rrc_cellReservedForOperatorUse, { "cellReservedForOperatorUse", "nr-rrc.cellReservedForOperatorUse", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellReservedForOperatorUse_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyDensity, { "frequencyDensity", "nr-rrc.frequencyDensity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyDensity_item, { "frequencyDensity item", "nr-rrc.frequencyDensity_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_timeDensity, { "timeDensity", "nr-rrc.timeDensity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_timeDensity_item, { "timeDensity item", "nr-rrc.timeDensity_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_29", HFILL }}, { &hf_nr_rrc_epre_Ratio, { "epre-Ratio", "nr-rrc.epre_Ratio", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_resourceElementOffset, { "resourceElementOffset", "nr-rrc.resourceElementOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_transformPrecoderDisabled, { "transformPrecoderDisabled", "nr-rrc.transformPrecoderDisabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyDensity_01, { "frequencyDensity", "nr-rrc.frequencyDensity", FT_UINT32, BASE_DEC, NULL, 0, "T_frequencyDensity_01", HFILL }}, { &hf_nr_rrc_timeDensity_01, { "timeDensity", "nr-rrc.timeDensity", FT_UINT32, BASE_DEC, NULL, 0, "T_timeDensity_01", HFILL }}, { &hf_nr_rrc_maxNrofPorts, { "maxNrofPorts", "nr-rrc.maxNrofPorts", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofPorts_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_resourceElementOffset_01, { "resourceElementOffset", "nr-rrc.resourceElementOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_01_vals), 0, "T_resourceElementOffset_01", HFILL }}, { &hf_nr_rrc_ptrs_Power, { "ptrs-Power", "nr-rrc.ptrs_Power", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_Power_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_transformPrecoderEnabled, { "transformPrecoderEnabled", "nr-rrc.transformPrecoderEnabled_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sampleDensity, { "sampleDensity", "nr-rrc.sampleDensity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sampleDensity_item, { "sampleDensity item", "nr-rrc.sampleDensity_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_timeDensityTransformPrecoding, { "timeDensityTransformPrecoding", "nr-rrc.timeDensityTransformPrecoding", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDensityTransformPrecoding_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_resourceSetToAddModList, { "resourceSetToAddModList", "nr-rrc.resourceSetToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet", HFILL }}, { &hf_nr_rrc_resourceSetToAddModList_item, { "PUCCH-ResourceSet", "nr-rrc.PUCCH_ResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceSetToReleaseList, { "resourceSetToReleaseList", "nr-rrc.resourceSetToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId", HFILL }}, { &hf_nr_rrc_resourceSetToReleaseList_item, { "PUCCH-ResourceSetId", "nr-rrc.PUCCH_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceToAddModList, { "resourceToAddModList", "nr-rrc.resourceToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource", HFILL }}, { &hf_nr_rrc_resourceToAddModList_item, { "PUCCH-Resource", "nr-rrc.PUCCH_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceToReleaseList, { "resourceToReleaseList", "nr-rrc.resourceToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId", HFILL }}, { &hf_nr_rrc_resourceToReleaseList_item, { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_format1, { "format1", "nr-rrc.format1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_40, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_FormatConfig", HFILL }}, { &hf_nr_rrc_format2, { "format2", "nr-rrc.format2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_format3, { "format3", "nr-rrc.format3", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format3_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_format4, { "format4", "nr-rrc.format4", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format4_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingRequestResourceToAddModList, { "schedulingRequestResourceToAddModList", "nr-rrc.schedulingRequestResourceToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig", HFILL }}, { &hf_nr_rrc_schedulingRequestResourceToAddModList_item, { "SchedulingRequestResourceConfig", "nr-rrc.SchedulingRequestResourceConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingRequestResourceToReleaseList, { "schedulingRequestResourceToReleaseList", "nr-rrc.schedulingRequestResourceToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId", HFILL }}, { &hf_nr_rrc_schedulingRequestResourceToReleaseList_item, { "SchedulingRequestResourceId", "nr-rrc.SchedulingRequestResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList, { "multi-CSI-PUCCH-ResourceList", "nr-rrc.multi_CSI_PUCCH_ResourceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId", HFILL }}, { &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item, { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dl_DataToUL_ACK, { "dl-DataToUL-ACK", "nr-rrc.dl_DataToUL_ACK", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dl_DataToUL_ACK_item, { "dl-DataToUL-ACK item", "nr-rrc.dl_DataToUL_ACK_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_spatialRelationInfoToAddModList, { "spatialRelationInfoToAddModList", "nr-rrc.spatialRelationInfoToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo", HFILL }}, { &hf_nr_rrc_spatialRelationInfoToAddModList_item, { "PUCCH-SpatialRelationInfo", "nr-rrc.PUCCH_SpatialRelationInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spatialRelationInfoToReleaseList, { "spatialRelationInfoToReleaseList", "nr-rrc.spatialRelationInfoToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId", HFILL }}, { &hf_nr_rrc_spatialRelationInfoToReleaseList_item, { "PUCCH-SpatialRelationInfoId", "nr-rrc.PUCCH_SpatialRelationInfoId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_PowerControl, { "pucch-PowerControl", "nr-rrc.pucch_PowerControl_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_interslotFrequencyHopping, { "interslotFrequencyHopping", "nr-rrc.interslotFrequencyHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_additionalDMRS, { "additionalDMRS", "nr-rrc.additionalDMRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalDMRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxCodeRate, { "maxCodeRate", "nr-rrc.maxCodeRate", FT_UINT32, BASE_DEC, VALS(nr_rrc_PUCCH_MaxCodeRate_vals), 0, "PUCCH_MaxCodeRate", HFILL }}, { &hf_nr_rrc_nrofSlots, { "nrofSlots", "nr-rrc.nrofSlots", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pi2BPSK, { "pi2BPSK", "nr-rrc.pi2BPSK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pi2BPSK_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousHARQ_ACK_CSI, { "simultaneousHARQ-ACK-CSI", "nr-rrc.simultaneousHARQ_ACK_CSI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousHARQ_ACK_CSI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_ResourceSetId, { "pucch-ResourceSetId", "nr-rrc.pucch_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceList, { "resourceList", "nr-rrc.resourceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId", HFILL }}, { &hf_nr_rrc_resourceList_item, { "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxPayloadSize, { "maxPayloadSize", "nr-rrc.maxPayloadSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_4_256", HFILL }}, { &hf_nr_rrc_pucch_ResourceId, { "pucch-ResourceId", "nr-rrc.pucch_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_startingPRB, { "startingPRB", "nr-rrc.startingPRB", FT_UINT32, BASE_DEC, NULL, 0, "PRB_Id", HFILL }}, { &hf_nr_rrc_intraSlotFrequencyHopping, { "intraSlotFrequencyHopping", "nr-rrc.intraSlotFrequencyHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFrequencyHopping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_secondHopPRB, { "secondHopPRB", "nr-rrc.secondHopPRB", FT_UINT32, BASE_DEC, NULL, 0, "PRB_Id", HFILL }}, { &hf_nr_rrc_format, { "format", "nr-rrc.format", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_format0, { "format0", "nr-rrc.format0_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_format0", HFILL }}, { &hf_nr_rrc_format1_01, { "format1", "nr-rrc.format1_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_format1", HFILL }}, { &hf_nr_rrc_format2_01, { "format2", "nr-rrc.format2_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_format2", HFILL }}, { &hf_nr_rrc_format3_01, { "format3", "nr-rrc.format3_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_format3", HFILL }}, { &hf_nr_rrc_format4_01, { "format4", "nr-rrc.format4_element", FT_NONE, BASE_NONE, NULL, 0, "PUCCH_format4", HFILL }}, { &hf_nr_rrc_initialCyclicShift, { "initialCyclicShift", "nr-rrc.initialCyclicShift", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_11", HFILL }}, { &hf_nr_rrc_nrofSymbols, { "nrofSymbols", "nr-rrc.nrofSymbols", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2", HFILL }}, { &hf_nr_rrc_startingSymbolIndex, { "startingSymbolIndex", "nr-rrc.startingSymbolIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_13", HFILL }}, { &hf_nr_rrc_nrofSymbols_01, { "nrofSymbols", "nr-rrc.nrofSymbols", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_4_14", HFILL }}, { &hf_nr_rrc_startingSymbolIndex_01, { "startingSymbolIndex", "nr-rrc.startingSymbolIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_10", HFILL }}, { &hf_nr_rrc_timeDomainOCC, { "timeDomainOCC", "nr-rrc.timeDomainOCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_6", HFILL }}, { &hf_nr_rrc_nrofPRBs_01, { "nrofPRBs", "nr-rrc.nrofPRBs", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_nr_rrc_occ_Length, { "occ-Length", "nr-rrc.occ_Length", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Length_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_occ_Index, { "occ-Index", "nr-rrc.occ_Index", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Index_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_ResourceCommon, { "pucch-ResourceCommon", "nr-rrc.pucch_ResourceCommon", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_pucch_GroupHopping, { "pucch-GroupHopping", "nr-rrc.pucch_GroupHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_GroupHopping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_hoppingId, { "hoppingId", "nr-rrc.hoppingId", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_p0_nominal, { "p0-nominal", "nr-rrc.p0_nominal", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M202_24", HFILL }}, { &hf_nr_rrc_deltaF_PUCCH_f0, { "deltaF-PUCCH-f0", "nr-rrc.deltaF_PUCCH_f0", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, { &hf_nr_rrc_deltaF_PUCCH_f1, { "deltaF-PUCCH-f1", "nr-rrc.deltaF_PUCCH_f1", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, { &hf_nr_rrc_deltaF_PUCCH_f2, { "deltaF-PUCCH-f2", "nr-rrc.deltaF_PUCCH_f2", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, { &hf_nr_rrc_deltaF_PUCCH_f3, { "deltaF-PUCCH-f3", "nr-rrc.deltaF_PUCCH_f3", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, { &hf_nr_rrc_deltaF_PUCCH_f4, { "deltaF-PUCCH-f4", "nr-rrc.deltaF_PUCCH_f4", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, { &hf_nr_rrc_p0_Set, { "p0-Set", "nr-rrc.p0_Set", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH", HFILL }}, { &hf_nr_rrc_p0_Set_item, { "P0-PUCCH", "nr-rrc.P0_PUCCH_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pathlossReferenceRSs, { "pathlossReferenceRSs", "nr-rrc.pathlossReferenceRSs", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS", HFILL }}, { &hf_nr_rrc_pathlossReferenceRSs_item, { "PUCCH-PathlossReferenceRS", "nr-rrc.PUCCH_PathlossReferenceRS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates, { "twoPUCCH-PC-AdjustmentStates", "nr-rrc.twoPUCCH_PC_AdjustmentStates", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_p0_PUCCH_Id, { "p0-PUCCH-Id", "nr-rrc.p0_PUCCH_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_p0_PUCCH_Value, { "p0-PUCCH-Value", "nr-rrc.p0_PUCCH_Value", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, { &hf_nr_rrc_pucch_PathlossReferenceRS_Id, { "pucch-PathlossReferenceRS-Id", "nr-rrc.pucch_PathlossReferenceRS_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_referenceSignal, { "referenceSignal", "nr-rrc.referenceSignal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_Index_01, { "csi-RS-Index", "nr-rrc.csi_RS_Index", FT_UINT32, BASE_DEC, NULL, 0, "NZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_pucch_SpatialRelationInfoId, { "pucch-SpatialRelationInfoId", "nr-rrc.pucch_SpatialRelationInfoId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_referenceSignal_01, { "referenceSignal", "nr-rrc.referenceSignal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_01_vals), 0, "T_referenceSignal_01", HFILL }}, { &hf_nr_rrc_srs, { "srs", "nr-rrc.srs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resource, { "resource", "nr-rrc.resource", FT_UINT32, BASE_DEC, NULL, 0, "SRS_ResourceId", HFILL }}, { &hf_nr_rrc_uplinkBWP, { "uplinkBWP", "nr-rrc.uplinkBWP", FT_UINT32, BASE_DEC, NULL, 0, "BWP_Id", HFILL }}, { &hf_nr_rrc_closedLoopIndex, { "closedLoopIndex", "nr-rrc.closedLoopIndex", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_closedLoopIndex_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tpc_IndexPCell, { "tpc-IndexPCell", "nr-rrc.tpc_IndexPCell", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_tpc_IndexPUCCH_SCell, { "tpc-IndexPUCCH-SCell", "nr-rrc.tpc_IndexPUCCH_SCell", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_dataScramblingIdentityPUSCH, { "dataScramblingIdentityPUSCH", "nr-rrc.dataScramblingIdentityPUSCH", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_txConfig, { "txConfig", "nr-rrc.txConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA, { "dmrs-UplinkForPUSCH-MappingTypeA", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_41, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "DMRS_UplinkConfig", HFILL }}, { &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB, { "dmrs-UplinkForPUSCH-MappingTypeB", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_PowerControl, { "pusch-PowerControl", "nr-rrc.pusch_PowerControl_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyHopping_01, { "frequencyHopping", "nr-rrc.frequencyHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_01_vals), 0, "T_frequencyHopping_01", HFILL }}, { &hf_nr_rrc_frequencyHoppingOffsetLists, { "frequencyHoppingOffsetLists", "nr-rrc.frequencyHoppingOffsetLists", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyHoppingOffsetLists_item, { "frequencyHoppingOffsetLists item", "nr-rrc.frequencyHoppingOffsetLists_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }}, { &hf_nr_rrc_resourceAllocation_02, { "resourceAllocation", "nr-rrc.resourceAllocation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_02_vals), 0, "T_resourceAllocation_02", HFILL }}, { &hf_nr_rrc_pusch_TimeDomainAllocationList, { "pusch-TimeDomainAllocationList", "nr-rrc.pusch_TimeDomainAllocationList", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationList_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_42, { "setup", "nr-rrc.setup", FT_UINT32, BASE_DEC, NULL, 0, "PUSCH_TimeDomainResourceAllocationList", HFILL }}, { &hf_nr_rrc_pusch_AggregationFactor, { "pusch-AggregationFactor", "nr-rrc.pusch_AggregationFactor", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_AggregationFactor_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mcs_Table_02, { "mcs-Table", "nr-rrc.mcs_Table", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_02_vals), 0, "T_mcs_Table_02", HFILL }}, { &hf_nr_rrc_mcs_TableTransformPrecoder_01, { "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_01_vals), 0, "T_mcs_TableTransformPrecoder_01", HFILL }}, { &hf_nr_rrc_transformPrecoder_01, { "transformPrecoder", "nr-rrc.transformPrecoder", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_01_vals), 0, "T_transformPrecoder_01", HFILL }}, { &hf_nr_rrc_codebookSubset, { "codebookSubset", "nr-rrc.codebookSubset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookSubset_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxRank, { "maxRank", "nr-rrc.maxRank", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_rbg_Size_02, { "rbg-Size", "nr-rrc.rbg_Size", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_02_vals), 0, "T_rbg_Size_02", HFILL }}, { &hf_nr_rrc_uci_OnPUSCH_01, { "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_01_vals), 0, "T_uci_OnPUSCH_01", HFILL }}, { &hf_nr_rrc_setup_43, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "UCI_OnPUSCH", HFILL }}, { &hf_nr_rrc_tp_pi2BPSK, { "tp-pi2BPSK", "nr-rrc.tp_pi2BPSK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tp_pi2BPSK_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_betaOffsets, { "betaOffsets", "nr-rrc.betaOffsets", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsets_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamic_01, { "dynamic", "nr-rrc.dynamic", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_4_OF_BetaOffsets", HFILL }}, { &hf_nr_rrc_scaling, { "scaling", "nr-rrc.scaling", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scaling_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_groupHoppingEnabledTransformPrecoding, { "groupHoppingEnabledTransformPrecoding", "nr-rrc.groupHoppingEnabledTransformPrecoding", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_TimeDomainAllocationList_01, { "pusch-TimeDomainAllocationList", "nr-rrc.pusch_TimeDomainAllocationList", FT_UINT32, BASE_DEC, NULL, 0, "PUSCH_TimeDomainResourceAllocationList", HFILL }}, { &hf_nr_rrc_msg3_DeltaPreamble, { "msg3-DeltaPreamble", "nr-rrc.msg3_DeltaPreamble", FT_INT32, BASE_CUSTOM, CF_FUNC(nr_rrc_msg3_DeltaPreamble_fmt), 0, "INTEGER_M1_6", HFILL }}, { &hf_nr_rrc_p0_NominalWithGrant, { "p0-NominalWithGrant", "nr-rrc.p0_NominalWithGrant", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M202_24", HFILL }}, { &hf_nr_rrc_tpc_Accumulation, { "tpc-Accumulation", "nr-rrc.tpc_Accumulation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_msg3_Alpha, { "msg3-Alpha", "nr-rrc.msg3_Alpha", FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0, "Alpha", HFILL }}, { &hf_nr_rrc_p0_NominalWithoutGrant, { "p0-NominalWithoutGrant", "nr-rrc.p0_NominalWithoutGrant", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M202_24", HFILL }}, { &hf_nr_rrc_p0_AlphaSets, { "p0-AlphaSets", "nr-rrc.p0_AlphaSets", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet", HFILL }}, { &hf_nr_rrc_p0_AlphaSets_item, { "P0-PUSCH-AlphaSet", "nr-rrc.P0_PUSCH_AlphaSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pathlossReferenceRSToAddModList, { "pathlossReferenceRSToAddModList", "nr-rrc.pathlossReferenceRSToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS", HFILL }}, { &hf_nr_rrc_pathlossReferenceRSToAddModList_item, { "PUSCH-PathlossReferenceRS", "nr-rrc.PUSCH_PathlossReferenceRS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pathlossReferenceRSToReleaseList, { "pathlossReferenceRSToReleaseList", "nr-rrc.pathlossReferenceRSToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id", HFILL }}, { &hf_nr_rrc_pathlossReferenceRSToReleaseList_item, { "PUSCH-PathlossReferenceRS-Id", "nr-rrc.PUSCH_PathlossReferenceRS_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates, { "twoPUSCH-PC-AdjustmentStates", "nr-rrc.twoPUSCH_PC_AdjustmentStates", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_deltaMCS, { "deltaMCS", "nr-rrc.deltaMCS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deltaMCS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sri_PUSCH_MappingToAddModList, { "sri-PUSCH-MappingToAddModList", "nr-rrc.sri_PUSCH_MappingToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl", HFILL }}, { &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item, { "SRI-PUSCH-PowerControl", "nr-rrc.SRI_PUSCH_PowerControl_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList, { "sri-PUSCH-MappingToReleaseList", "nr-rrc.sri_PUSCH_MappingToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId", HFILL }}, { &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item, { "SRI-PUSCH-PowerControlId", "nr-rrc.SRI_PUSCH_PowerControlId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_p0_PUSCH_AlphaSetId, { "p0-PUSCH-AlphaSetId", "nr-rrc.p0_PUSCH_AlphaSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_p0, { "p0", "nr-rrc.p0", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M16_15", HFILL }}, { &hf_nr_rrc_alpha, { "alpha", "nr-rrc.alpha", FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_PathlossReferenceRS_Id, { "pusch-PathlossReferenceRS-Id", "nr-rrc.pusch_PathlossReferenceRS_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_referenceSignal_02, { "referenceSignal", "nr-rrc.referenceSignal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_02_vals), 0, "T_referenceSignal_02", HFILL }}, { &hf_nr_rrc_sri_PUSCH_PowerControlId, { "sri-PUSCH-PowerControlId", "nr-rrc.sri_PUSCH_PowerControlId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id, { "sri-PUSCH-PathlossReferenceRS-Id", "nr-rrc.sri_PUSCH_PathlossReferenceRS_Id", FT_UINT32, BASE_DEC, NULL, 0, "PUSCH_PathlossReferenceRS_Id", HFILL }}, { &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId, { "sri-P0-PUSCH-AlphaSetId", "nr-rrc.sri_P0_PUSCH_AlphaSetId", FT_UINT32, BASE_DEC, NULL, 0, "P0_PUSCH_AlphaSetId", HFILL }}, { &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex, { "sri-PUSCH-ClosedLoopIndex", "nr-rrc.sri_PUSCH_ClosedLoopIndex", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_codeBlockGroupTransmission_01, { "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_01_vals), 0, "T_codeBlockGroupTransmission_01", HFILL }}, { &hf_nr_rrc_setup_44, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_CodeBlockGroupTransmission", HFILL }}, { &hf_nr_rrc_rateMatching, { "rateMatching", "nr-rrc.rateMatching", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatching_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_xOverhead_01, { "xOverhead", "nr-rrc.xOverhead", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_01_vals), 0, "T_xOverhead_01", HFILL }}, { &hf_nr_rrc_maxMIMO_Layers_01, { "maxMIMO-Layers", "nr-rrc.maxMIMO_Layers", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01, { "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals), 0, "T_maxCodeBlockGroupsPerTransportBlock_01", HFILL }}, { &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item, { "PUSCH-TimeDomainResourceAllocation", "nr-rrc.PUSCH_TimeDomainResourceAllocation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_k2, { "k2", "nr-rrc.k2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_32", HFILL }}, { &hf_nr_rrc_mappingType_01, { "mappingType", "nr-rrc.mappingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_01_vals), 0, "T_mappingType_01", HFILL }}, { &hf_nr_rrc_tpc_Index, { "tpc-Index", "nr-rrc.tpc_Index", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_tpc_IndexSUL, { "tpc-IndexSUL", "nr-rrc.tpc_IndexSUL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_targetCell, { "targetCell", "nr-rrc.targetCell", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_quantityConfigNR_List, { "quantityConfigNR-List", "nr-rrc.quantityConfigNR_List", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR", HFILL }}, { &hf_nr_rrc_quantityConfigNR_List_item, { "QuantityConfigNR", "nr-rrc.QuantityConfigNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_quantityConfigEUTRA, { "quantityConfigEUTRA", "nr-rrc.quantityConfigEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, "FilterConfig", HFILL }}, { &hf_nr_rrc_quantityConfigCell, { "quantityConfigCell", "nr-rrc.quantityConfigCell_element", FT_NONE, BASE_NONE, NULL, 0, "QuantityConfigRS", HFILL }}, { &hf_nr_rrc_quantityConfigRS_Index, { "quantityConfigRS-Index", "nr-rrc.quantityConfigRS_Index_element", FT_NONE, BASE_NONE, NULL, 0, "QuantityConfigRS", HFILL }}, { &hf_nr_rrc_ssb_FilterConfig, { "ssb-FilterConfig", "nr-rrc.ssb_FilterConfig_element", FT_NONE, BASE_NONE, NULL, 0, "FilterConfig", HFILL }}, { &hf_nr_rrc_csi_RS_FilterConfig, { "csi-RS-FilterConfig", "nr-rrc.csi_RS_FilterConfig_element", FT_NONE, BASE_NONE, NULL, 0, "FilterConfig", HFILL }}, { &hf_nr_rrc_filterCoefficientRSRP, { "filterCoefficientRSRP", "nr-rrc.filterCoefficientRSRP", FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, "FilterCoefficient", HFILL }}, { &hf_nr_rrc_filterCoefficientRSRQ, { "filterCoefficientRSRQ", "nr-rrc.filterCoefficientRSRQ", FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, "FilterCoefficient", HFILL }}, { &hf_nr_rrc_filterCoefficientRS_SINR, { "filterCoefficientRS-SINR", "nr-rrc.filterCoefficientRS_SINR", FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0, "FilterCoefficient", HFILL }}, { &hf_nr_rrc_rach_ConfigGeneric, { "rach-ConfigGeneric", "nr-rrc.rach_ConfigGeneric_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_totalNumberOfRA_Preambles, { "totalNumberOfRA-Preambles", "nr-rrc.totalNumberOfRA_Preambles", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_63", HFILL }}, { &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, { "ssb-perRACH-OccasionAndCB-PreamblesPerSSB", "nr-rrc.ssb_perRACH_OccasionAndCB_PreamblesPerSSB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneEighth, { "oneEighth", "nr-rrc.oneEighth", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneEighth_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneFourth, { "oneFourth", "nr-rrc.oneFourth", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFourth_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneHalf, { "oneHalf", "nr-rrc.oneHalf", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneHalf_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_one_01, { "one", "nr-rrc.one", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_one_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_two_01, { "two", "nr-rrc.two", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_two_01_vals), 0, "T_two_01", HFILL }}, { &hf_nr_rrc_four, { "four", "nr-rrc.four", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_16", HFILL }}, { &hf_nr_rrc_eight, { "eight", "nr-rrc.eight", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_sixteen, { "sixteen", "nr-rrc.sixteen", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_groupBconfigured, { "groupBconfigured", "nr-rrc.groupBconfigured_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ra_Msg3SizeGroupA, { "ra-Msg3SizeGroupA", "nr-rrc.ra_Msg3SizeGroupA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_Msg3SizeGroupA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_messagePowerOffsetGroupB, { "messagePowerOffsetGroupB", "nr-rrc.messagePowerOffsetGroupB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messagePowerOffsetGroupB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_numberOfRA_PreamblesGroupA, { "numberOfRA-PreamblesGroupA", "nr-rrc.numberOfRA_PreamblesGroupA", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_ra_ContentionResolutionTimer, { "ra-ContentionResolutionTimer", "nr-rrc.ra_ContentionResolutionTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ContentionResolutionTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rsrp_ThresholdSSB_SUL, { "rsrp-ThresholdSSB-SUL", "nr-rrc.rsrp_ThresholdSSB_SUL", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_prach_RootSequenceIndex, { "prach-RootSequenceIndex", "nr-rrc.prach_RootSequenceIndex", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_RootSequenceIndex_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_l839, { "l839", "nr-rrc.l839", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_837", HFILL }}, { &hf_nr_rrc_l139, { "l139", "nr-rrc.l139", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_137", HFILL }}, { &hf_nr_rrc_restrictedSetConfig, { "restrictedSetConfig", "nr-rrc.restrictedSetConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restrictedSetConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_msg3_transformPrecoder, { "msg3-transformPrecoder", "nr-rrc.msg3_transformPrecoder", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_transformPrecoder_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cfra, { "cfra", "nr-rrc.cfra_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_occasions, { "occasions", "nr-rrc.occasions_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_perRACH_Occasion_01, { "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_01_vals), 0, "T_ssb_perRACH_Occasion_01", HFILL }}, { &hf_nr_rrc_resources, { "resources", "nr-rrc.resources", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resources_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_02, { "ssb", "nr-rrc.ssb_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_ResourceList, { "ssb-ResourceList", "nr-rrc.ssb_ResourceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource", HFILL }}, { &hf_nr_rrc_ssb_ResourceList_item, { "CFRA-SSB-Resource", "nr-rrc.CFRA_SSB_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csirs, { "csirs", "nr-rrc.csirs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csirs_ResourceList, { "csirs-ResourceList", "nr-rrc.csirs_ResourceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource", HFILL }}, { &hf_nr_rrc_csirs_ResourceList_item, { "CFRA-CSIRS-Resource", "nr-rrc.CFRA_CSIRS_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rsrp_ThresholdCSI_RS, { "rsrp-ThresholdCSI-RS", "nr-rrc.rsrp_ThresholdCSI_RS", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_RSRP_Range_fmt), 0, "RSRP_Range", HFILL }}, { &hf_nr_rrc_csi_RS_02, { "csi-RS", "nr-rrc.csi_RS", FT_UINT32, BASE_DEC, NULL, 0, "CSI_RS_Index", HFILL }}, { &hf_nr_rrc_ra_OccasionList_01, { "ra-OccasionList", "nr-rrc.ra_OccasionList", FT_UINT32, BASE_DEC, NULL, 0, "T_ra_OccasionList_01", HFILL }}, { &hf_nr_rrc_prach_ConfigurationIndex, { "prach-ConfigurationIndex", "nr-rrc.prach_ConfigurationIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_nr_rrc_msg1_FDM, { "msg1-FDM", "nr-rrc.msg1_FDM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_msg1_FrequencyStart, { "msg1-FrequencyStart", "nr-rrc.msg1_FrequencyStart", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }}, { &hf_nr_rrc_zeroCorrelationZoneConfig, { "zeroCorrelationZoneConfig", "nr-rrc.zeroCorrelationZoneConfig", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_preambleReceivedTargetPower, { "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M202_M60", HFILL }}, { &hf_nr_rrc_preambleTransMax, { "preambleTransMax", "nr-rrc.preambleTransMax", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_powerRampingStep, { "powerRampingStep", "nr-rrc.powerRampingStep", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStep_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ra_ResponseWindow, { "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_powerRampingStepHighPriority, { "powerRampingStepHighPriority", "nr-rrc.powerRampingStepHighPriority", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStepHighPriority_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scalingFactorBI, { "scalingFactorBI", "nr-rrc.scalingFactorBI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactorBI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_srb_ToAddModList, { "srb-ToAddModList", "nr-rrc.srb_ToAddModList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srb3_ToRelease, { "srb3-ToRelease", "nr-rrc.srb3_ToRelease", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_ToRelease_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_drb_ToAddModList, { "drb-ToAddModList", "nr-rrc.drb_ToAddModList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_drb_ToReleaseList, { "drb-ToReleaseList", "nr-rrc.drb_ToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_securityConfig, { "securityConfig", "nr-rrc.securityConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_SRB_ToAddModList_item, { "SRB-ToAddMod", "nr-rrc.SRB_ToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srb_Identity, { "srb-Identity", "nr-rrc.srb_Identity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reestablishPDCP, { "reestablishPDCP", "nr-rrc.reestablishPDCP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_discardOnPDCP, { "discardOnPDCP", "nr-rrc.discardOnPDCP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardOnPDCP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_Config, { "pdcp-Config", "nr-rrc.pdcp_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_DRB_ToAddModList_item, { "DRB-ToAddMod", "nr-rrc.DRB_ToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cnAssociation, { "cnAssociation", "nr-rrc.cnAssociation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cnAssociation_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eps_BearerIdentity, { "eps-BearerIdentity", "nr-rrc.eps_BearerIdentity", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_sdap_Config, { "sdap-Config", "nr-rrc.sdap_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reestablishPDCP_01, { "reestablishPDCP", "nr-rrc.reestablishPDCP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_01_vals), 0, "T_reestablishPDCP_01", HFILL }}, { &hf_nr_rrc_recoverPDCP, { "recoverPDCP", "nr-rrc.recoverPDCP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recoverPDCP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_DRB_ToReleaseList_item, { "DRB-Identity", "nr-rrc.DRB_Identity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_keyToUse, { "keyToUse", "nr-rrc.keyToUse", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_keyToUse_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_failureDetectionResourcesToAddModList, { "failureDetectionResourcesToAddModList", "nr-rrc.failureDetectionResourcesToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS", HFILL }}, { &hf_nr_rrc_failureDetectionResourcesToAddModList_item, { "RadioLinkMonitoringRS", "nr-rrc.RadioLinkMonitoringRS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_failureDetectionResourcesToReleaseList, { "failureDetectionResourcesToReleaseList", "nr-rrc.failureDetectionResourcesToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id", HFILL }}, { &hf_nr_rrc_failureDetectionResourcesToReleaseList_item, { "RadioLinkMonitoringRS-Id", "nr-rrc.RadioLinkMonitoringRS_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_beamFailureInstanceMaxCount, { "beamFailureInstanceMaxCount", "nr-rrc.beamFailureInstanceMaxCount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureInstanceMaxCount_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_beamFailureDetectionTimer, { "beamFailureDetectionTimer", "nr-rrc.beamFailureDetectionTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureDetectionTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_radioLinkMonitoringRS_Id, { "radioLinkMonitoringRS-Id", "nr-rrc.radioLinkMonitoringRS_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_purpose, { "purpose", "nr-rrc.purpose", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_purpose_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_detectionResource, { "detectionResource", "nr-rrc.detectionResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_detectionResource_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchPatternId, { "rateMatchPatternId", "nr-rrc.rateMatchPatternId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_patternType, { "patternType", "nr-rrc.patternType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_patternType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bitmaps, { "bitmaps", "nr-rrc.bitmaps_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceBlocks, { "resourceBlocks", "nr-rrc.resourceBlocks", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_275", HFILL }}, { &hf_nr_rrc_symbolsInResourceBlock, { "symbolsInResourceBlock", "nr-rrc.symbolsInResourceBlock", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbolsInResourceBlock_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneSlot, { "oneSlot", "nr-rrc.oneSlot", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_14", HFILL }}, { &hf_nr_rrc_twoSlots, { "twoSlots", "nr-rrc.twoSlots", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_28", HFILL }}, { &hf_nr_rrc_periodicityAndPattern, { "periodicityAndPattern", "nr-rrc.periodicityAndPattern", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndPattern_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_n2, { "n2", "nr-rrc.n2", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_n4, { "n4", "nr-rrc.n4", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_4", HFILL }}, { &hf_nr_rrc_n5, { "n5", "nr-rrc.n5", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_5", HFILL }}, { &hf_nr_rrc_n8, { "n8", "nr-rrc.n8", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_n10, { "n10", "nr-rrc.n10", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, { &hf_nr_rrc_n20, { "n20", "nr-rrc.n20", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_20", HFILL }}, { &hf_nr_rrc_n40, { "n40", "nr-rrc.n40", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_40", HFILL }}, { &hf_nr_rrc_controlResourceSet, { "controlResourceSet", "nr-rrc.controlResourceSet", FT_UINT32, BASE_DEC, NULL, 0, "ControlResourceSetId", HFILL }}, { &hf_nr_rrc_dummy_03, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_01_vals), 0, "T_dummy_01", HFILL }}, { &hf_nr_rrc_carrierFreqDL, { "carrierFreqDL", "nr-rrc.carrierFreqDL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_16383", HFILL }}, { &hf_nr_rrc_carrierBandwidthDL, { "carrierBandwidthDL", "nr-rrc.carrierBandwidthDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierBandwidthDL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mbsfn_SubframeConfigList, { "mbsfn-SubframeConfigList", "nr-rrc.mbsfn_SubframeConfigList", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_MBSFN_SubframeConfigList", HFILL }}, { &hf_nr_rrc_nrofCRS_Ports, { "nrofCRS-Ports", "nr-rrc.nrofCRS_Ports", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofCRS_Ports_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_v_Shift, { "v-Shift", "nr-rrc.v_Shift", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v_Shift_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reportType, { "reportType", "nr-rrc.reportType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_periodical, { "periodical", "nr-rrc.periodical_element", FT_NONE, BASE_NONE, NULL, 0, "PeriodicalReportConfigInterRAT", HFILL }}, { &hf_nr_rrc_eventTriggered, { "eventTriggered", "nr-rrc.eventTriggered_element", FT_NONE, BASE_NONE, NULL, 0, "EventTriggerConfigInterRAT", HFILL }}, { &hf_nr_rrc_reportCGI, { "reportCGI", "nr-rrc.reportCGI_element", FT_NONE, BASE_NONE, NULL, 0, "ReportCGI_EUTRA", HFILL }}, { &hf_nr_rrc_reportSFTD, { "reportSFTD", "nr-rrc.reportSFTD_element", FT_NONE, BASE_NONE, NULL, 0, "ReportSFTD_EUTRA", HFILL }}, { &hf_nr_rrc_cellForWhichToReportCGI_01, { "cellForWhichToReportCGI", "nr-rrc.cellForWhichToReportCGI", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_PhysCellId", HFILL }}, { &hf_nr_rrc_reportSFTD_Meas, { "reportSFTD-Meas", "nr-rrc.reportSFTD_Meas", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_reportRSRP, { "reportRSRP", "nr-rrc.reportRSRP", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_eventId, { "eventId", "nr-rrc.eventId", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eventB1, { "eventB1", "nr-rrc.eventB1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_b1_ThresholdEUTRA, { "b1-ThresholdEUTRA", "nr-rrc.b1_ThresholdEUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityEUTRA_vals), 0, "MeasTriggerQuantityEUTRA", HFILL }}, { &hf_nr_rrc_reportOnLeave, { "reportOnLeave", "nr-rrc.reportOnLeave", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_hysteresis, { "hysteresis", "nr-rrc.hysteresis", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_Hysteresis_fmt), 0, NULL, HFILL }}, { &hf_nr_rrc_timeToTrigger, { "timeToTrigger", "nr-rrc.timeToTrigger", FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eventB2, { "eventB2", "nr-rrc.eventB2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_b2_Threshold1, { "b2-Threshold1", "nr-rrc.b2_Threshold1", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, "MeasTriggerQuantity", HFILL }}, { &hf_nr_rrc_b2_Threshold2EUTRA, { "b2-Threshold2EUTRA", "nr-rrc.b2_Threshold2EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityEUTRA_vals), 0, "MeasTriggerQuantityEUTRA", HFILL }}, { &hf_nr_rrc_rsType, { "rsType", "nr-rrc.rsType", FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0, "NR_RS_Type", HFILL }}, { &hf_nr_rrc_reportInterval, { "reportInterval", "nr-rrc.reportInterval", FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reportAmount, { "reportAmount", "nr-rrc.reportAmount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reportQuantity_01, { "reportQuantity", "nr-rrc.reportQuantity_element", FT_NONE, BASE_NONE, NULL, 0, "MeasReportQuantity", HFILL }}, { &hf_nr_rrc_maxReportCells, { "maxReportCells", "nr-rrc.maxReportCells", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxCellReport", HFILL }}, { &hf_nr_rrc_reportAmount_01, { "reportAmount", "nr-rrc.reportAmount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_01_vals), 0, "T_reportAmount_01", HFILL }}, { &hf_nr_rrc_reportType_01, { "reportType", "nr-rrc.reportType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_01_vals), 0, "T_reportType_01", HFILL }}, { &hf_nr_rrc_periodical_01, { "periodical", "nr-rrc.periodical_element", FT_NONE, BASE_NONE, NULL, 0, "PeriodicalReportConfig", HFILL }}, { &hf_nr_rrc_eventTriggered_01, { "eventTriggered", "nr-rrc.eventTriggered_element", FT_NONE, BASE_NONE, NULL, 0, "EventTriggerConfig", HFILL }}, { &hf_nr_rrc_reportCGI_01, { "reportCGI", "nr-rrc.reportCGI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportSFTD_01, { "reportSFTD", "nr-rrc.reportSFTD_element", FT_NONE, BASE_NONE, NULL, 0, "ReportSFTD_NR", HFILL }}, { &hf_nr_rrc_reportSFTD_NeighMeas, { "reportSFTD-NeighMeas", "nr-rrc.reportSFTD_NeighMeas", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSFTD_NeighMeas_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_drx_SFTD_NeighMeas, { "drx-SFTD-NeighMeas", "nr-rrc.drx_SFTD_NeighMeas", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_SFTD_NeighMeas_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cellsForWhichToReportSFTD, { "cellsForWhichToReportSFTD", "nr-rrc.cellsForWhichToReportSFTD", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId", HFILL }}, { &hf_nr_rrc_cellsForWhichToReportSFTD_item, { "PhysCellId", "nr-rrc.PhysCellId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eventId_01, { "eventId", "nr-rrc.eventId", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_01_vals), 0, "T_eventId_01", HFILL }}, { &hf_nr_rrc_eventA1, { "eventA1", "nr-rrc.eventA1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_a1_Threshold, { "a1-Threshold", "nr-rrc.a1_Threshold", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, "MeasTriggerQuantity", HFILL }}, { &hf_nr_rrc_eventA2, { "eventA2", "nr-rrc.eventA2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_a2_Threshold, { "a2-Threshold", "nr-rrc.a2_Threshold", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, "MeasTriggerQuantity", HFILL }}, { &hf_nr_rrc_eventA3, { "eventA3", "nr-rrc.eventA3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_a3_Offset, { "a3-Offset", "nr-rrc.a3_Offset", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0, "MeasTriggerQuantityOffset", HFILL }}, { &hf_nr_rrc_useWhiteCellList, { "useWhiteCellList", "nr-rrc.useWhiteCellList", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_eventA4, { "eventA4", "nr-rrc.eventA4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_a4_Threshold, { "a4-Threshold", "nr-rrc.a4_Threshold", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, "MeasTriggerQuantity", HFILL }}, { &hf_nr_rrc_eventA5, { "eventA5", "nr-rrc.eventA5_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_a5_Threshold1, { "a5-Threshold1", "nr-rrc.a5_Threshold1", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, "MeasTriggerQuantity", HFILL }}, { &hf_nr_rrc_a5_Threshold2, { "a5-Threshold2", "nr-rrc.a5_Threshold2", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0, "MeasTriggerQuantity", HFILL }}, { &hf_nr_rrc_eventA6, { "eventA6", "nr-rrc.eventA6_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_a6_Offset, { "a6-Offset", "nr-rrc.a6_Offset", FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0, "MeasTriggerQuantityOffset", HFILL }}, { &hf_nr_rrc_reportAmount_02, { "reportAmount", "nr-rrc.reportAmount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_02_vals), 0, "T_reportAmount_02", HFILL }}, { &hf_nr_rrc_reportQuantityCell, { "reportQuantityCell", "nr-rrc.reportQuantityCell_element", FT_NONE, BASE_NONE, NULL, 0, "MeasReportQuantity", HFILL }}, { &hf_nr_rrc_reportQuantityRS_Indexes, { "reportQuantityRS-Indexes", "nr-rrc.reportQuantityRS_Indexes_element", FT_NONE, BASE_NONE, NULL, 0, "MeasReportQuantity", HFILL }}, { &hf_nr_rrc_maxNrofRS_IndexesToReport, { "maxNrofRS-IndexesToReport", "nr-rrc.maxNrofRS_IndexesToReport", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofIndexesToReport", HFILL }}, { &hf_nr_rrc_includeBeamMeasurements, { "includeBeamMeasurements", "nr-rrc.includeBeamMeasurements", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_reportAddNeighMeas, { "reportAddNeighMeas", "nr-rrc.reportAddNeighMeas", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeas_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reportAmount_03, { "reportAmount", "nr-rrc.reportAmount", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_03_vals), 0, "T_reportAmount_03", HFILL }}, { &hf_nr_rrc_rsrp_02, { "rsrp", "nr-rrc.rsrp", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M30_30", HFILL }}, { &hf_nr_rrc_rsrq_02, { "rsrq", "nr-rrc.rsrq", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M30_30", HFILL }}, { &hf_nr_rrc_sinr_02, { "sinr", "nr-rrc.sinr", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_decibels, 0, "INTEGER_M30_30", HFILL }}, { &hf_nr_rrc_rsrp_03, { "rsrp", "nr-rrc.rsrp", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_rsrq_03, { "rsrq", "nr-rrc.rsrq", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_sinr_03, { "sinr", "nr-rrc.sinr", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_ReportConfigToAddModList_item, { "ReportConfigToAddMod", "nr-rrc.ReportConfigToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportConfig, { "reportConfig", "nr-rrc.reportConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reportConfigNR, { "reportConfigNR", "nr-rrc.reportConfigNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_reportConfigInterRAT, { "reportConfigInterRAT", "nr-rrc.reportConfigInterRAT_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_servedRadioBearer, { "servedRadioBearer", "nr-rrc.servedRadioBearer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servedRadioBearer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_reestablishRLC, { "reestablishRLC", "nr-rrc.reestablishRLC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishRLC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rlc_Config, { "rlc-Config", "nr-rrc.rlc_Config", FT_UINT32, BASE_DEC, VALS(nr_rrc_RLC_Config_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mac_LogicalChannelConfig, { "mac-LogicalChannelConfig", "nr-rrc.mac_LogicalChannelConfig_element", FT_NONE, BASE_NONE, NULL, 0, "LogicalChannelConfig", HFILL }}, { &hf_nr_rrc_am, { "am", "nr-rrc.am_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ul_AM_RLC, { "ul-AM-RLC", "nr-rrc.ul_AM_RLC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dl_AM_RLC, { "dl-AM-RLC", "nr-rrc.dl_AM_RLC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_um_Bi_Directional, { "um-Bi-Directional", "nr-rrc.um_Bi_Directional_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ul_UM_RLC, { "ul-UM-RLC", "nr-rrc.ul_UM_RLC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dl_UM_RLC, { "dl-UM-RLC", "nr-rrc.dl_UM_RLC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_um_Uni_Directional_UL, { "um-Uni-Directional-UL", "nr-rrc.um_Uni_Directional_UL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_um_Uni_Directional_DL, { "um-Uni-Directional-DL", "nr-rrc.um_Uni_Directional_DL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sn_FieldLength, { "sn-FieldLength", "nr-rrc.sn_FieldLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthAM_vals), 0, "SN_FieldLengthAM", HFILL }}, { &hf_nr_rrc_t_PollRetransmit, { "t-PollRetransmit", "nr-rrc.t_PollRetransmit", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_PollRetransmit_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_pollPDU, { "pollPDU", "nr-rrc.pollPDU", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollPDU_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_pollByte, { "pollByte", "nr-rrc.pollByte", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollByte_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_maxRetxThreshold, { "maxRetxThreshold", "nr-rrc.maxRetxThreshold", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxRetxThreshold_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_t_Reassembly, { "t-Reassembly", "nr-rrc.t_Reassembly", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_Reassembly_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_t_StatusProhibit, { "t-StatusProhibit", "nr-rrc.t_StatusProhibit", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_StatusProhibit_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_sn_FieldLength_01, { "sn-FieldLength", "nr-rrc.sn_FieldLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthUM_vals), 0, "SN_FieldLengthUM", HFILL }}, { &hf_nr_rrc_t310, { "t310", "nr-rrc.t310", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_n310, { "n310", "nr-rrc.n310", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n310_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_n311, { "n311", "nr-rrc.n311", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_t311, { "t311", "nr-rrc.t311", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t311_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingRequestToAddModList, { "schedulingRequestToAddModList", "nr-rrc.schedulingRequestToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod", HFILL }}, { &hf_nr_rrc_schedulingRequestToAddModList_item, { "SchedulingRequestToAddMod", "nr-rrc.SchedulingRequestToAddMod_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingRequestToReleaseList, { "schedulingRequestToReleaseList", "nr-rrc.schedulingRequestToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId", HFILL }}, { &hf_nr_rrc_schedulingRequestToReleaseList_item, { "SchedulingRequestId", "nr-rrc.SchedulingRequestId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingRequestId, { "schedulingRequestId", "nr-rrc.schedulingRequestId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sr_ProhibitTimer, { "sr-ProhibitTimer", "nr-rrc.sr_ProhibitTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_ProhibitTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sr_TransMax, { "sr-TransMax", "nr-rrc.sr_TransMax", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_TransMax_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingRequestResourceId, { "schedulingRequestResourceId", "nr-rrc.schedulingRequestResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_periodicityAndOffset_01, { "periodicityAndOffset", "nr-rrc.periodicityAndOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sym2, { "sym2", "nr-rrc.sym2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sym6or7, { "sym6or7", "nr-rrc.sym6or7_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sl1, { "sl1", "nr-rrc.sl1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sl2, { "sl2", "nr-rrc.sl2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1", HFILL }}, { &hf_nr_rrc_sl4, { "sl4", "nr-rrc.sl4", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_sl5, { "sl5", "nr-rrc.sl5", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4", HFILL }}, { &hf_nr_rrc_sl8, { "sl8", "nr-rrc.sl8", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, { &hf_nr_rrc_sl10, { "sl10", "nr-rrc.sl10", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_nr_rrc_sl16, { "sl16", "nr-rrc.sl16", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_sl20, { "sl20", "nr-rrc.sl20", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_19", HFILL }}, { &hf_nr_rrc_sl40, { "sl40", "nr-rrc.sl40", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, { &hf_nr_rrc_sl80, { "sl80", "nr-rrc.sl80", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_79", HFILL }}, { &hf_nr_rrc_sl160, { "sl160", "nr-rrc.sl160", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_159", HFILL }}, { &hf_nr_rrc_sl320, { "sl320", "nr-rrc.sl320", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_319", HFILL }}, { &hf_nr_rrc_sl640, { "sl640", "nr-rrc.sl640", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_639", HFILL }}, { &hf_nr_rrc_resource_01, { "resource", "nr-rrc.resource", FT_UINT32, BASE_DEC, NULL, 0, "PUCCH_ResourceId", HFILL }}, { &hf_nr_rrc_offsetToCarrier, { "offsetToCarrier", "nr-rrc.offsetToCarrier", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2199", HFILL }}, { &hf_nr_rrc_carrierBandwidth, { "carrierBandwidth", "nr-rrc.carrierBandwidth", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofPhysicalResourceBlocks", HFILL }}, { &hf_nr_rrc_txDirectCurrentLocation, { "txDirectCurrentLocation", "nr-rrc.txDirectCurrentLocation", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4095", HFILL }}, { &hf_nr_rrc_pdu_Session, { "pdu-Session", "nr-rrc.pdu_Session", FT_UINT32, BASE_DEC, NULL, 0, "PDU_SessionID", HFILL }}, { &hf_nr_rrc_sdap_HeaderDL, { "sdap-HeaderDL", "nr-rrc.sdap_HeaderDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderDL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sdap_HeaderUL, { "sdap-HeaderUL", "nr-rrc.sdap_HeaderUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderUL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_defaultDRB, { "defaultDRB", "nr-rrc.defaultDRB", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_mappedQoS_FlowsToAdd, { "mappedQoS-FlowsToAdd", "nr-rrc.mappedQoS_FlowsToAdd", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }}, { &hf_nr_rrc_mappedQoS_FlowsToAdd_item, { "QFI", "nr-rrc.QFI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mappedQoS_FlowsToRelease, { "mappedQoS-FlowsToRelease", "nr-rrc.mappedQoS_FlowsToRelease", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }}, { &hf_nr_rrc_mappedQoS_FlowsToRelease_item, { "QFI", "nr-rrc.QFI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_searchSpaceId, { "searchSpaceId", "nr-rrc.searchSpaceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_monitoringSlotPeriodicityAndOffset, { "monitoringSlotPeriodicityAndOffset", "nr-rrc.monitoringSlotPeriodicityAndOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sl1280, { "sl1280", "nr-rrc.sl1280", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1279", HFILL }}, { &hf_nr_rrc_sl2560, { "sl2560", "nr-rrc.sl2560", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_2559", HFILL }}, { &hf_nr_rrc_duration_01, { "duration", "nr-rrc.duration", FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_slots, 0, "INTEGER_2_2559", HFILL }}, { &hf_nr_rrc_monitoringSymbolsWithinSlot, { "monitoringSymbolsWithinSlot", "nr-rrc.monitoringSymbolsWithinSlot", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_14", HFILL }}, { &hf_nr_rrc_nrofCandidates, { "nrofCandidates", "nr-rrc.nrofCandidates_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_aggregationLevel1, { "aggregationLevel1", "nr-rrc.aggregationLevel1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_aggregationLevel2, { "aggregationLevel2", "nr-rrc.aggregationLevel2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_aggregationLevel4, { "aggregationLevel4", "nr-rrc.aggregationLevel4", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_aggregationLevel8, { "aggregationLevel8", "nr-rrc.aggregationLevel8", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_aggregationLevel16, { "aggregationLevel16", "nr-rrc.aggregationLevel16", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_searchSpaceType, { "searchSpaceType", "nr-rrc.searchSpaceType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_common, { "common", "nr-rrc.common_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dci_Format0_0_AndFormat1_0, { "dci-Format0-0-AndFormat1-0", "nr-rrc.dci_Format0_0_AndFormat1_0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dci_Format2_0, { "dci-Format2-0", "nr-rrc.dci_Format2_0_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nrofCandidates_SFI, { "nrofCandidates-SFI", "nr-rrc.nrofCandidates_SFI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_aggregationLevel1_01, { "aggregationLevel1", "nr-rrc.aggregationLevel1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_01_vals), 0, "T_aggregationLevel1_01", HFILL }}, { &hf_nr_rrc_aggregationLevel2_01, { "aggregationLevel2", "nr-rrc.aggregationLevel2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_01_vals), 0, "T_aggregationLevel2_01", HFILL }}, { &hf_nr_rrc_aggregationLevel4_01, { "aggregationLevel4", "nr-rrc.aggregationLevel4", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_01_vals), 0, "T_aggregationLevel4_01", HFILL }}, { &hf_nr_rrc_aggregationLevel8_01, { "aggregationLevel8", "nr-rrc.aggregationLevel8", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_01_vals), 0, "T_aggregationLevel8_01", HFILL }}, { &hf_nr_rrc_aggregationLevel16_01, { "aggregationLevel16", "nr-rrc.aggregationLevel16", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_01_vals), 0, "T_aggregationLevel16_01", HFILL }}, { &hf_nr_rrc_dci_Format2_1, { "dci-Format2-1", "nr-rrc.dci_Format2_1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dci_Format2_2, { "dci-Format2-2", "nr-rrc.dci_Format2_2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dci_Format2_3, { "dci-Format2-3", "nr-rrc.dci_Format2_3_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dummy1, { "dummy1", "nr-rrc.dummy1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy2, { "dummy2", "nr-rrc.dummy2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ue_Specific, { "ue-Specific", "nr-rrc.ue_Specific_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dci_Formats, { "dci-Formats", "nr-rrc.dci_Formats", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Formats_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cipheringAlgorithm, { "cipheringAlgorithm", "nr-rrc.cipheringAlgorithm", FT_UINT32, BASE_DEC, VALS(nr_rrc_CipheringAlgorithm_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_integrityProtAlgorithm, { "integrityProtAlgorithm", "nr-rrc.integrityProtAlgorithm", FT_UINT32, BASE_DEC, VALS(nr_rrc_IntegrityProtAlgorithm_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, { "tdd-UL-DL-ConfigurationDedicated", "nr-rrc.tdd_UL_DL_ConfigurationDedicated_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_UL_DL_ConfigDedicated", HFILL }}, { &hf_nr_rrc_initialDownlinkBWP_01, { "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_DownlinkDedicated", HFILL }}, { &hf_nr_rrc_downlinkBWP_ToReleaseList, { "downlinkBWP-ToReleaseList", "nr-rrc.downlinkBWP_ToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }}, { &hf_nr_rrc_downlinkBWP_ToReleaseList_item, { "BWP-Id", "nr-rrc.BWP_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_downlinkBWP_ToAddModList, { "downlinkBWP-ToAddModList", "nr-rrc.downlinkBWP_ToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink", HFILL }}, { &hf_nr_rrc_downlinkBWP_ToAddModList_item, { "BWP-Downlink", "nr-rrc.BWP_Downlink_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_firstActiveDownlinkBWP_Id, { "firstActiveDownlinkBWP-Id", "nr-rrc.firstActiveDownlinkBWP_Id", FT_UINT32, BASE_DEC, NULL, 0, "BWP_Id", HFILL }}, { &hf_nr_rrc_bwp_InactivityTimer, { "bwp-InactivityTimer", "nr-rrc.bwp_InactivityTimer", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_bwp_InactivityTimer_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_defaultDownlinkBWP_Id, { "defaultDownlinkBWP-Id", "nr-rrc.defaultDownlinkBWP_Id", FT_UINT32, BASE_DEC, NULL, 0, "BWP_Id", HFILL }}, { &hf_nr_rrc_uplinkConfig, { "uplinkConfig", "nr-rrc.uplinkConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_supplementaryUplink_01, { "supplementaryUplink", "nr-rrc.supplementaryUplink_element", FT_NONE, BASE_NONE, NULL, 0, "UplinkConfig", HFILL }}, { &hf_nr_rrc_pdcch_ServingCellConfig, { "pdcch-ServingCellConfig", "nr-rrc.pdcch_ServingCellConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ServingCellConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_45, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDCCH_ServingCellConfig", HFILL }}, { &hf_nr_rrc_pdsch_ServingCellConfig, { "pdsch-ServingCellConfig", "nr-rrc.pdsch_ServingCellConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ServingCellConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_46, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PDSCH_ServingCellConfig", HFILL }}, { &hf_nr_rrc_csi_MeasConfig, { "csi-MeasConfig", "nr-rrc.csi_MeasConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_MeasConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_47, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "CSI_MeasConfig", HFILL }}, { &hf_nr_rrc_sCellDeactivationTimer, { "sCellDeactivationTimer", "nr-rrc.sCellDeactivationTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellDeactivationTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_crossCarrierSchedulingConfig, { "crossCarrierSchedulingConfig", "nr-rrc.crossCarrierSchedulingConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tag_Id, { "tag-Id", "nr-rrc.tag_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dummy_04, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_02_vals), 0, "T_dummy_02", HFILL }}, { &hf_nr_rrc_pathlossReferenceLinking, { "pathlossReferenceLinking", "nr-rrc.pathlossReferenceLinking", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceLinking_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_servingCellMO, { "servingCellMO", "nr-rrc.servingCellMO", FT_UINT32, BASE_DEC, NULL, 0, "MeasObjectId", HFILL }}, { &hf_nr_rrc_lte_CRS_ToMatchAround, { "lte-CRS-ToMatchAround", "nr-rrc.lte_CRS_ToMatchAround", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_ToMatchAround_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_48, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "RateMatchPatternLTE_CRS", HFILL }}, { &hf_nr_rrc_downlinkChannelBW_PerSCS_List, { "downlinkChannelBW-PerSCS-List", "nr-rrc.downlinkChannelBW_PerSCS_List", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }}, { &hf_nr_rrc_downlinkChannelBW_PerSCS_List_item, { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_initialUplinkBWP, { "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_UplinkDedicated", HFILL }}, { &hf_nr_rrc_uplinkBWP_ToReleaseList, { "uplinkBWP-ToReleaseList", "nr-rrc.uplinkBWP_ToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }}, { &hf_nr_rrc_uplinkBWP_ToReleaseList_item, { "BWP-Id", "nr-rrc.BWP_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uplinkBWP_ToAddModList, { "uplinkBWP-ToAddModList", "nr-rrc.uplinkBWP_ToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink", HFILL }}, { &hf_nr_rrc_uplinkBWP_ToAddModList_item, { "BWP-Uplink", "nr-rrc.BWP_Uplink_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_firstActiveUplinkBWP_Id, { "firstActiveUplinkBWP-Id", "nr-rrc.firstActiveUplinkBWP_Id", FT_UINT32, BASE_DEC, NULL, 0, "BWP_Id", HFILL }}, { &hf_nr_rrc_pusch_ServingCellConfig, { "pusch-ServingCellConfig", "nr-rrc.pusch_ServingCellConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ServingCellConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_49, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "PUSCH_ServingCellConfig", HFILL }}, { &hf_nr_rrc_carrierSwitching, { "carrierSwitching", "nr-rrc.carrierSwitching", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierSwitching_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_50, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_CarrierSwitching", HFILL }}, { &hf_nr_rrc_powerBoostPi2BPSK, { "powerBoostPi2BPSK", "nr-rrc.powerBoostPi2BPSK", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_uplinkChannelBW_PerSCS_List, { "uplinkChannelBW-PerSCS-List", "nr-rrc.uplinkChannelBW_PerSCS_List", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }}, { &hf_nr_rrc_uplinkChannelBW_PerSCS_List_item, { "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_downlinkConfigCommon, { "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uplinkConfigCommon, { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_supplementaryUplinkConfig, { "supplementaryUplinkConfig", "nr-rrc.supplementaryUplinkConfig_element", FT_NONE, BASE_NONE, NULL, 0, "UplinkConfigCommon", HFILL }}, { &hf_nr_rrc_n_TimingAdvanceOffset, { "n-TimingAdvanceOffset", "nr-rrc.n_TimingAdvanceOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n_TimingAdvanceOffset_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_PositionsInBurst, { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_shortBitmap, { "shortBitmap", "nr-rrc.shortBitmap", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_4", HFILL }}, { &hf_nr_rrc_mediumBitmap, { "mediumBitmap", "nr-rrc.mediumBitmap", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_longBitmap, { "longBitmap", "nr-rrc.longBitmap", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_64", HFILL }}, { &hf_nr_rrc_ssb_periodicityServingCell, { "ssb-periodicityServingCell", "nr-rrc.ssb_periodicityServingCell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_periodicityServingCell_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dmrs_TypeA_Position_01, { "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_01_vals), 0, "T_dmrs_TypeA_Position_01", HFILL }}, { &hf_nr_rrc_lte_CRS_ToMatchAround_01, { "lte-CRS-ToMatchAround", "nr-rrc.lte_CRS_ToMatchAround", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_ToMatchAround_01_vals), 0, "T_lte_CRS_ToMatchAround_01", HFILL }}, { &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, { "tdd-UL-DL-ConfigurationCommon", "nr-rrc.tdd_UL_DL_ConfigurationCommon_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_UL_DL_ConfigCommon", HFILL }}, { &hf_nr_rrc_ss_PBCH_BlockPower, { "ss-PBCH-BlockPower", "nr-rrc.ss_PBCH_BlockPower", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M60_50", HFILL }}, { &hf_nr_rrc_downlinkConfigCommon_01, { "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, "DownlinkConfigCommonSIB", HFILL }}, { &hf_nr_rrc_uplinkConfigCommon_01, { "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, "UplinkConfigCommonSIB", HFILL }}, { &hf_nr_rrc_supplementaryUplink_02, { "supplementaryUplink", "nr-rrc.supplementaryUplink_element", FT_NONE, BASE_NONE, NULL, 0, "UplinkConfigCommonSIB", HFILL }}, { &hf_nr_rrc_n_TimingAdvanceOffset_01, { "n-TimingAdvanceOffset", "nr-rrc.n_TimingAdvanceOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n_TimingAdvanceOffset_01_vals), 0, "T_n_TimingAdvanceOffset_01", HFILL }}, { &hf_nr_rrc_ssb_PositionsInBurst_01, { "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst_element", FT_NONE, BASE_NONE, NULL, 0, "T_ssb_PositionsInBurst_01", HFILL }}, { &hf_nr_rrc_inOneGroup, { "inOneGroup", "nr-rrc.inOneGroup", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_groupPresence, { "groupPresence", "nr-rrc.groupPresence", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_ssb_PeriodicityServingCell, { "ssb-PeriodicityServingCell", "nr-rrc.ssb_PeriodicityServingCell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PeriodicityServingCell_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_schedulingInfoList, { "schedulingInfoList", "nr-rrc.schedulingInfoList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo", HFILL }}, { &hf_nr_rrc_schedulingInfoList_item, { "SchedulingInfo", "nr-rrc.SchedulingInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_si_WindowLength, { "si-WindowLength", "nr-rrc.si_WindowLength", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_WindowLength_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_si_RequestConfig, { "si-RequestConfig", "nr-rrc.si_RequestConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_si_RequestConfigSUL, { "si-RequestConfigSUL", "nr-rrc.si_RequestConfigSUL_element", FT_NONE, BASE_NONE, NULL, 0, "SI_RequestConfig", HFILL }}, { &hf_nr_rrc_systemInformationAreaID, { "systemInformationAreaID", "nr-rrc.systemInformationAreaID", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_24", HFILL }}, { &hf_nr_rrc_si_BroadcastStatus, { "si-BroadcastStatus", "nr-rrc.si_BroadcastStatus", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_BroadcastStatus_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_si_Periodicity, { "si-Periodicity", "nr-rrc.si_Periodicity", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_Periodicity_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sib_MappingInfo, { "sib-MappingInfo", "nr-rrc.sib_MappingInfo", FT_UINT32, BASE_DEC, NULL, 0, "SIB_Mapping", HFILL }}, { &hf_nr_rrc_SIB_Mapping_item, { "SIB-TypeInfo", "nr-rrc.SIB_TypeInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_type, { "type", "nr-rrc.type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_valueTag, { "valueTag", "nr-rrc.valueTag", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_areaScope, { "areaScope", "nr-rrc.areaScope", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_areaScope_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rach_OccasionsSI, { "rach-OccasionsSI", "nr-rrc.rach_OccasionsSI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rach_ConfigSI, { "rach-ConfigSI", "nr-rrc.rach_ConfigSI_element", FT_NONE, BASE_NONE, NULL, 0, "RACH_ConfigGeneric", HFILL }}, { &hf_nr_rrc_ssb_perRACH_Occasion_02, { "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_02_vals), 0, "T_ssb_perRACH_Occasion_02", HFILL }}, { &hf_nr_rrc_si_RequestPeriod, { "si-RequestPeriod", "nr-rrc.si_RequestPeriod", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_si_RequestPeriod_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_si_RequestResources, { "si-RequestResources", "nr-rrc.si_RequestResources", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources", HFILL }}, { &hf_nr_rrc_si_RequestResources_item, { "SI-RequestResources", "nr-rrc.SI_RequestResources_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ra_PreambleStartIndex, { "ra-PreambleStartIndex", "nr-rrc.ra_PreambleStartIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_ra_AssociationPeriodIndex, { "ra-AssociationPeriodIndex", "nr-rrc.ra_AssociationPeriodIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_15", HFILL }}, { &hf_nr_rrc_subcarrierSpacing2, { "subcarrierSpacing2", "nr-rrc.subcarrierSpacing2", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, "SubcarrierSpacing", HFILL }}, { &hf_nr_rrc_slotFormatCombinations, { "slotFormatCombinations", "nr-rrc.slotFormatCombinations", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination", HFILL }}, { &hf_nr_rrc_slotFormatCombinations_item, { "SlotFormatCombination", "nr-rrc.SlotFormatCombination_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_positionInDCI_01, { "positionInDCI", "nr-rrc.positionInDCI", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }}, { &hf_nr_rrc_slotFormatCombinationId, { "slotFormatCombinationId", "nr-rrc.slotFormatCombinationId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_slotFormats, { "slotFormats", "nr-rrc.slotFormats", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_slotFormats_item, { "slotFormats item", "nr-rrc.slotFormats_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_255", HFILL }}, { &hf_nr_rrc_sfi_RNTI, { "sfi-RNTI", "nr-rrc.sfi_RNTI", FT_UINT32, BASE_DEC, NULL, 0, "RNTI_Value", HFILL }}, { &hf_nr_rrc_dci_PayloadSize_01, { "dci-PayloadSize", "nr-rrc.dci_PayloadSize", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxSFI_DCI_PayloadSize", HFILL }}, { &hf_nr_rrc_slotFormatCombToAddModList, { "slotFormatCombToAddModList", "nr-rrc.slotFormatCombToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell", HFILL }}, { &hf_nr_rrc_slotFormatCombToAddModList_item, { "SlotFormatCombinationsPerCell", "nr-rrc.SlotFormatCombinationsPerCell_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_slotFormatCombToReleaseList, { "slotFormatCombToReleaseList", "nr-rrc.slotFormatCombToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }}, { &hf_nr_rrc_slotFormatCombToReleaseList_item, { "ServCellIndex", "nr-rrc.ServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sst, { "sst", "nr-rrc.sst", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_sst_SD, { "sst-SD", "nr-rrc.sst_SD", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_32", HFILL }}, { &hf_nr_rrc_sf_Medium_01, { "sf-Medium", "nr-rrc.sf_Medium", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_Medium_01_vals), 0, "T_sf_Medium_01", HFILL }}, { &hf_nr_rrc_sf_High_01, { "sf-High", "nr-rrc.sf_High", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sf_High_01_vals), 0, "T_sf_High_01", HFILL }}, { &hf_nr_rrc_periodicity_01, { "periodicity", "nr-rrc.periodicity", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_01_vals_ext, 0, "T_periodicity_01", HFILL }}, { &hf_nr_rrc_nrofHARQ_Processes_01, { "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_n1PUCCH_AN, { "n1PUCCH-AN", "nr-rrc.n1PUCCH_AN", FT_UINT32, BASE_DEC, NULL, 0, "PUCCH_ResourceId", HFILL }}, { &hf_nr_rrc_mcs_Table_03, { "mcs-Table", "nr-rrc.mcs_Table", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_03_vals), 0, "T_mcs_Table_03", HFILL }}, { &hf_nr_rrc_srs_SwitchFromServCellIndex, { "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_srs_SwitchFromCarrier, { "srs-SwitchFromCarrier", "nr-rrc.srs_SwitchFromCarrier", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchFromCarrier_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_srs_TPC_PDCCH_Group, { "srs-TPC-PDCCH-Group", "nr-rrc.srs_TPC_PDCCH_Group", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TPC_PDCCH_Group_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_typeA, { "typeA", "nr-rrc.typeA", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config", HFILL }}, { &hf_nr_rrc_typeA_item, { "SRS-TPC-PDCCH-Config", "nr-rrc.SRS_TPC_PDCCH_Config_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_typeB, { "typeB", "nr-rrc.typeB_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_TPC_PDCCH_Config", HFILL }}, { &hf_nr_rrc_monitoringCells, { "monitoringCells", "nr-rrc.monitoringCells", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex", HFILL }}, { &hf_nr_rrc_monitoringCells_item, { "ServCellIndex", "nr-rrc.ServCellIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srs_CC_SetIndexlist, { "srs-CC-SetIndexlist", "nr-rrc.srs_CC_SetIndexlist", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex", HFILL }}, { &hf_nr_rrc_srs_CC_SetIndexlist_item, { "SRS-CC-SetIndex", "nr-rrc.SRS_CC_SetIndex_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_cc_SetIndex, { "cc-SetIndex", "nr-rrc.cc_SetIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_cc_IndexInOneCC_Set, { "cc-IndexInOneCC-Set", "nr-rrc.cc_IndexInOneCC_Set", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, { &hf_nr_rrc_srs_ResourceSetToReleaseList, { "srs-ResourceSetToReleaseList", "nr-rrc.srs_ResourceSetToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId", HFILL }}, { &hf_nr_rrc_srs_ResourceSetToReleaseList_item, { "SRS-ResourceSetId", "nr-rrc.SRS_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srs_ResourceSetToAddModList, { "srs-ResourceSetToAddModList", "nr-rrc.srs_ResourceSetToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet", HFILL }}, { &hf_nr_rrc_srs_ResourceSetToAddModList_item, { "SRS-ResourceSet", "nr-rrc.SRS_ResourceSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srs_ResourceToReleaseList, { "srs-ResourceToReleaseList", "nr-rrc.srs_ResourceToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId", HFILL }}, { &hf_nr_rrc_srs_ResourceToReleaseList_item, { "SRS-ResourceId", "nr-rrc.SRS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srs_ResourceToAddModList, { "srs-ResourceToAddModList", "nr-rrc.srs_ResourceToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource", HFILL }}, { &hf_nr_rrc_srs_ResourceToAddModList_item, { "SRS-Resource", "nr-rrc.SRS_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tpc_Accumulation_01, { "tpc-Accumulation", "nr-rrc.tpc_Accumulation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_01_vals), 0, "T_tpc_Accumulation_01", HFILL }}, { &hf_nr_rrc_srs_ResourceSetId, { "srs-ResourceSetId", "nr-rrc.srs_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srs_ResourceIdList, { "srs-ResourceIdList", "nr-rrc.srs_ResourceIdList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId", HFILL }}, { &hf_nr_rrc_srs_ResourceIdList_item, { "SRS-ResourceId", "nr-rrc.SRS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_resourceType_01, { "resourceType", "nr-rrc.resourceType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_01_vals), 0, "T_resourceType_01", HFILL }}, { &hf_nr_rrc_aperiodic_01, { "aperiodic", "nr-rrc.aperiodic_element", FT_NONE, BASE_NONE, NULL, 0, "T_aperiodic_01", HFILL }}, { &hf_nr_rrc_aperiodicSRS_ResourceTrigger, { "aperiodicSRS-ResourceTrigger", "nr-rrc.aperiodicSRS_ResourceTrigger", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }}, { &hf_nr_rrc_slotOffset, { "slotOffset", "nr-rrc.slotOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList, { "aperiodicSRS-ResourceTriggerList", "nr-rrc.aperiodicSRS_ResourceTriggerList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_aperiodicSRS_ResourceTriggerList_item, { "aperiodicSRS-ResourceTriggerList item", "nr-rrc.aperiodicSRS_ResourceTriggerList_item", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }}, { &hf_nr_rrc_semi_persistent, { "semi-persistent", "nr-rrc.semi_persistent_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_associatedCSI_RS, { "associatedCSI-RS", "nr-rrc.associatedCSI_RS", FT_UINT32, BASE_DEC, NULL, 0, "NZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_periodic_01, { "periodic", "nr-rrc.periodic_element", FT_NONE, BASE_NONE, NULL, 0, "T_periodic_01", HFILL }}, { &hf_nr_rrc_usage, { "usage", "nr-rrc.usage", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_usage_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_p0_01, { "p0", "nr-rrc.p0", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M202_24", HFILL }}, { &hf_nr_rrc_pathlossReferenceRS, { "pathlossReferenceRS", "nr-rrc.pathlossReferenceRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_srs_PowerControlAdjustmentStates, { "srs-PowerControlAdjustmentStates", "nr-rrc.srs_PowerControlAdjustmentStates", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PowerControlAdjustmentStates_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_srs_ResourceId, { "srs-ResourceId", "nr-rrc.srs_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nrofSRS_Ports, { "nrofSRS-Ports", "nr-rrc.nrofSRS_Ports", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSRS_Ports_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ptrs_PortIndex, { "ptrs-PortIndex", "nr-rrc.ptrs_PortIndex", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_PortIndex_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_transmissionComb, { "transmissionComb", "nr-rrc.transmissionComb", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transmissionComb_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_n2_01, { "n2", "nr-rrc.n2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_combOffset_n2, { "combOffset-n2", "nr-rrc.combOffset_n2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1", HFILL }}, { &hf_nr_rrc_cyclicShift_n2, { "cyclicShift-n2", "nr-rrc.cyclicShift_n2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, { &hf_nr_rrc_n4_01, { "n4", "nr-rrc.n4_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_combOffset_n4, { "combOffset-n4", "nr-rrc.combOffset_n4", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_cyclicShift_n4, { "cyclicShift-n4", "nr-rrc.cyclicShift_n4", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_11", HFILL }}, { &hf_nr_rrc_resourceMapping_01, { "resourceMapping", "nr-rrc.resourceMapping_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_startPosition, { "startPosition", "nr-rrc.startPosition", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_5", HFILL }}, { &hf_nr_rrc_nrofSymbols_02, { "nrofSymbols", "nr-rrc.nrofSymbols", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_repetitionFactor, { "repetitionFactor", "nr-rrc.repetitionFactor", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_freqDomainPosition, { "freqDomainPosition", "nr-rrc.freqDomainPosition", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_67", HFILL }}, { &hf_nr_rrc_freqDomainShift, { "freqDomainShift", "nr-rrc.freqDomainShift", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_268", HFILL }}, { &hf_nr_rrc_freqHopping, { "freqHopping", "nr-rrc.freqHopping_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_c_SRS, { "c-SRS", "nr-rrc.c_SRS", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_b_SRS, { "b-SRS", "nr-rrc.b_SRS", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_b_hop, { "b-hop", "nr-rrc.b_hop", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_groupOrSequenceHopping, { "groupOrSequenceHopping", "nr-rrc.groupOrSequenceHopping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupOrSequenceHopping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_resourceType_02, { "resourceType", "nr-rrc.resourceType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_02_vals), 0, "T_resourceType_02", HFILL }}, { &hf_nr_rrc_aperiodic_02, { "aperiodic", "nr-rrc.aperiodic_element", FT_NONE, BASE_NONE, NULL, 0, "T_aperiodic_02", HFILL }}, { &hf_nr_rrc_semi_persistent_01, { "semi-persistent", "nr-rrc.semi_persistent_element", FT_NONE, BASE_NONE, NULL, 0, "T_semi_persistent_01", HFILL }}, { &hf_nr_rrc_periodicityAndOffset_sp, { "periodicityAndOffset-sp", "nr-rrc.periodicityAndOffset_sp", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0, "SRS_PeriodicityAndOffset", HFILL }}, { &hf_nr_rrc_periodic_02, { "periodic", "nr-rrc.periodic_element", FT_NONE, BASE_NONE, NULL, 0, "T_periodic_02", HFILL }}, { &hf_nr_rrc_periodicityAndOffset_p, { "periodicityAndOffset-p", "nr-rrc.periodicityAndOffset_p", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0, "SRS_PeriodicityAndOffset", HFILL }}, { &hf_nr_rrc_sequenceId, { "sequenceId", "nr-rrc.sequenceId", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1023", HFILL }}, { &hf_nr_rrc_spatialRelationInfo, { "spatialRelationInfo", "nr-rrc.spatialRelationInfo_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_SpatialRelationInfo", HFILL }}, { &hf_nr_rrc_referenceSignal_03, { "referenceSignal", "nr-rrc.referenceSignal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_03_vals), 0, "T_referenceSignal_03", HFILL }}, { &hf_nr_rrc_srs_01, { "srs", "nr-rrc.srs_element", FT_NONE, BASE_NONE, NULL, 0, "T_srs_01", HFILL }}, { &hf_nr_rrc_resourceId, { "resourceId", "nr-rrc.resourceId", FT_UINT32, BASE_DEC, NULL, 0, "SRS_ResourceId", HFILL }}, { &hf_nr_rrc_sl32, { "sl32", "nr-rrc.sl32", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_31", HFILL }}, { &hf_nr_rrc_sl64, { "sl64", "nr-rrc.sl64", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_63", HFILL }}, { &hf_nr_rrc_startingBitOfFormat2_3, { "startingBitOfFormat2-3", "nr-rrc.startingBitOfFormat2_3", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_31", HFILL }}, { &hf_nr_rrc_fieldTypeFormat2_3, { "fieldTypeFormat2-3", "nr-rrc.fieldTypeFormat2_3", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_1", HFILL }}, { &hf_nr_rrc_startingBitOfFormat2_3SUL, { "startingBitOfFormat2-3SUL", "nr-rrc.startingBitOfFormat2_3SUL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_31", HFILL }}, { &hf_nr_rrc_periodicityAndOffset_02, { "periodicityAndOffset", "nr-rrc.periodicityAndOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_01_vals), 0, "T_periodicityAndOffset_01", HFILL }}, { &hf_nr_rrc_sf5, { "sf5", "nr-rrc.sf5", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4", HFILL }}, { &hf_nr_rrc_sf10, { "sf10", "nr-rrc.sf10", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_9", HFILL }}, { &hf_nr_rrc_sf20, { "sf20", "nr-rrc.sf20", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_19", HFILL }}, { &hf_nr_rrc_sf40, { "sf40", "nr-rrc.sf40", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_39", HFILL }}, { &hf_nr_rrc_sf80, { "sf80", "nr-rrc.sf80", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_79", HFILL }}, { &hf_nr_rrc_sf160, { "sf160", "nr-rrc.sf160", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_159", HFILL }}, { &hf_nr_rrc_duration_02, { "duration", "nr-rrc.duration", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_duration_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pci_List, { "pci-List", "nr-rrc.pci_List", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId", HFILL }}, { &hf_nr_rrc_pci_List_item, { "PhysCellId", "nr-rrc.PhysCellId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_periodicity_02, { "periodicity", "nr-rrc.periodicity", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_02_vals), 0, "T_periodicity_02", HFILL }}, { &hf_nr_rrc_measurementSlots, { "measurementSlots", "nr-rrc.measurementSlots", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_80", HFILL }}, { &hf_nr_rrc_endSymbol, { "endSymbol", "nr-rrc.endSymbol", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3", HFILL }}, { &hf_nr_rrc_tag_ToReleaseList, { "tag-ToReleaseList", "nr-rrc.tag_ToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id", HFILL }}, { &hf_nr_rrc_tag_ToReleaseList_item, { "TAG-Id", "nr-rrc.TAG_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_tag_ToAddModList, { "tag-ToAddModList", "nr-rrc.tag_ToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG", HFILL }}, { &hf_nr_rrc_tag_ToAddModList_item, { "TAG", "nr-rrc.TAG_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_timeAlignmentTimer, { "timeAlignmentTimer", "nr-rrc.timeAlignmentTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tci_StateId, { "tci-StateId", "nr-rrc.tci_StateId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_qcl_Type1, { "qcl-Type1", "nr-rrc.qcl_Type1_element", FT_NONE, BASE_NONE, NULL, 0, "QCL_Info", HFILL }}, { &hf_nr_rrc_qcl_Type2, { "qcl-Type2", "nr-rrc.qcl_Type2_element", FT_NONE, BASE_NONE, NULL, 0, "QCL_Info", HFILL }}, { &hf_nr_rrc_cell, { "cell", "nr-rrc.cell", FT_UINT32, BASE_DEC, NULL, 0, "ServCellIndex", HFILL }}, { &hf_nr_rrc_referenceSignal_04, { "referenceSignal", "nr-rrc.referenceSignal", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_04_vals), 0, "T_referenceSignal_04", HFILL }}, { &hf_nr_rrc_csi_rs, { "csi-rs", "nr-rrc.csi_rs", FT_UINT32, BASE_DEC, NULL, 0, "NZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_qcl_Type, { "qcl-Type", "nr-rrc.qcl_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qcl_Type_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_referenceSubcarrierSpacing, { "referenceSubcarrierSpacing", "nr-rrc.referenceSubcarrierSpacing", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, "SubcarrierSpacing", HFILL }}, { &hf_nr_rrc_pattern1_01, { "pattern1", "nr-rrc.pattern1_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_UL_DL_Pattern", HFILL }}, { &hf_nr_rrc_pattern2, { "pattern2", "nr-rrc.pattern2_element", FT_NONE, BASE_NONE, NULL, 0, "TDD_UL_DL_Pattern", HFILL }}, { &hf_nr_rrc_dl_UL_TransmissionPeriodicity, { "dl-UL-TransmissionPeriodicity", "nr-rrc.dl_UL_TransmissionPeriodicity", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nrofDownlinkSlots, { "nrofDownlinkSlots", "nr-rrc.nrofDownlinkSlots", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofSlots", HFILL }}, { &hf_nr_rrc_nrofDownlinkSymbols, { "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofSymbols_1", HFILL }}, { &hf_nr_rrc_nrofUplinkSlots, { "nrofUplinkSlots", "nr-rrc.nrofUplinkSlots", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofSlots", HFILL }}, { &hf_nr_rrc_nrofUplinkSymbols, { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_maxNrofSymbols_1", HFILL }}, { &hf_nr_rrc_dl_UL_TransmissionPeriodicity_v1530, { "dl-UL-TransmissionPeriodicity-v1530", "nr-rrc.dl_UL_TransmissionPeriodicity_v1530", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_v1530_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_slotSpecificConfigurationsToAddModList, { "slotSpecificConfigurationsToAddModList", "nr-rrc.slotSpecificConfigurationsToAddModList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig", HFILL }}, { &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item, { "TDD-UL-DL-SlotConfig", "nr-rrc.TDD_UL_DL_SlotConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList, { "slotSpecificConfigurationsToReleaseList", "nr-rrc.slotSpecificConfigurationsToReleaseList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex", HFILL }}, { &hf_nr_rrc_slotSpecificConfigurationsToReleaseList_item, { "TDD-UL-DL-SlotIndex", "nr-rrc.TDD_UL_DL_SlotIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_slotIndex, { "slotIndex", "nr-rrc.slotIndex", FT_UINT32, BASE_DEC, NULL, 0, "TDD_UL_DL_SlotIndex", HFILL }}, { &hf_nr_rrc_symbols, { "symbols", "nr-rrc.symbols", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_allDownlink, { "allDownlink", "nr-rrc.allDownlink_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_allUplink, { "allUplink", "nr-rrc.allUplink_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_explicit, { "explicit", "nr-rrc.explicit_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nrofDownlinkSymbols_01, { "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofSymbols_1", HFILL }}, { &hf_nr_rrc_nrofUplinkSymbols_01, { "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofSymbols_1", HFILL }}, { &hf_nr_rrc_UAC_BarringInfoSetList_item, { "UAC-BarringInfoSet", "nr-rrc.UAC_BarringInfoSet_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uac_BarringFactor, { "uac-BarringFactor", "nr-rrc.uac_BarringFactor", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_BarringFactor_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uac_BarringTime, { "uac-BarringTime", "nr-rrc.uac_BarringTime", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_BarringTime_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uac_BarringForAccessIdentity, { "uac-BarringForAccessIdentity", "nr-rrc.uac_BarringForAccessIdentity", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_7", HFILL }}, { &hf_nr_rrc_UAC_BarringPerCatList_item, { "UAC-BarringPerCat", "nr-rrc.UAC_BarringPerCat_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_accessCategory, { "accessCategory", "nr-rrc.accessCategory", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxAccessCat_1", HFILL }}, { &hf_nr_rrc_uac_barringInfoSetIndex, { "uac-barringInfoSetIndex", "nr-rrc.uac_barringInfoSetIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_UAC_BarringPerPLMN_List_item, { "UAC-BarringPerPLMN", "nr-rrc.UAC_BarringPerPLMN_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_plmn_IdentityIndex, { "plmn-IdentityIndex", "nr-rrc.plmn_IdentityIndex", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxPLMN", HFILL }}, { &hf_nr_rrc_uac_ACBarringListType, { "uac-ACBarringListType", "nr-rrc.uac_ACBarringListType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uac_ACBarringListType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uac_ImplicitACBarringList, { "uac-ImplicitACBarringList", "nr-rrc.uac_ImplicitACBarringList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex", HFILL }}, { &hf_nr_rrc_uac_ImplicitACBarringList_item, { "UAC-BarringInfoSetIndex", "nr-rrc.UAC_BarringInfoSetIndex", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uac_ExplicitACBarringList, { "uac-ExplicitACBarringList", "nr-rrc.uac_ExplicitACBarringList", FT_UINT32, BASE_DEC, NULL, 0, "UAC_BarringPerCatList", HFILL }}, { &hf_nr_rrc_t300, { "t300", "nr-rrc.t300", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t300_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_t301, { "t301", "nr-rrc.t301", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t301_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_t310_01, { "t310", "nr-rrc.t310", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_01_vals), 0, "T_t310_01", HFILL }}, { &hf_nr_rrc_n310_01, { "n310", "nr-rrc.n310", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n310_01_vals), 0, "T_n310_01", HFILL }}, { &hf_nr_rrc_t311_01, { "t311", "nr-rrc.t311", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t311_01_vals), 0, "T_t311_01", HFILL }}, { &hf_nr_rrc_n311_01, { "n311", "nr-rrc.n311", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_01_vals), 0, "T_n311_01", HFILL }}, { &hf_nr_rrc_t319, { "t319", "nr-rrc.t319", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t319_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyInfoUL, { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_initialUplinkBWP_01, { "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element", FT_NONE, BASE_NONE, NULL, 0, "BWP_UplinkCommon", HFILL }}, { &hf_nr_rrc_dummy_05, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0, "TimeAlignmentTimer", HFILL }}, { &hf_nr_rrc_frequencyInfoUL_01, { "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element", FT_NONE, BASE_NONE, NULL, 0, "FrequencyInfoUL_SIB", HFILL }}, { &hf_nr_rrc_timeAlignmentTimerCommon, { "timeAlignmentTimerCommon", "nr-rrc.timeAlignmentTimerCommon", FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0, "TimeAlignmentTimer", HFILL }}, { &hf_nr_rrc_UplinkTxDirectCurrentList_item, { "UplinkTxDirectCurrentCell", "nr-rrc.UplinkTxDirectCurrentCell_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uplinkDirectCurrentBWP, { "uplinkDirectCurrentBWP", "nr-rrc.uplinkDirectCurrentBWP", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP", HFILL }}, { &hf_nr_rrc_uplinkDirectCurrentBWP_item, { "UplinkTxDirectCurrentBWP", "nr-rrc.UplinkTxDirectCurrentBWP_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_uplinkDirectCurrentBWP_SUL, { "uplinkDirectCurrentBWP-SUL", "nr-rrc.uplinkDirectCurrentBWP_SUL", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP", HFILL }}, { &hf_nr_rrc_uplinkDirectCurrentBWP_SUL_item, { "UplinkTxDirectCurrentBWP", "nr-rrc.UplinkTxDirectCurrentBWP_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_shift7dot5kHz, { "shift7dot5kHz", "nr-rrc.shift7dot5kHz", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_txDirectCurrentLocation_01, { "txDirectCurrentLocation", "nr-rrc.txDirectCurrentLocation", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_3301", HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceId, { "zp-CSI-RS-ResourceId", "nr-rrc.zp_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceSetId, { "zp-CSI-RS-ResourceSetId", "nr-rrc.zp_CSI_RS_ResourceSetId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceIdList, { "zp-CSI-RS-ResourceIdList", "nr-rrc.zp_CSI_RS_ResourceIdList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId", HFILL }}, { &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item, { "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BandCombinationList_item, { "BandCombination", "nr-rrc.BandCombination_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BandCombinationList_v1540_item, { "BandCombination-v1540", "nr-rrc.BandCombination_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BandCombinationList_v1550_item, { "BandCombination-v1550", "nr-rrc.BandCombination_v1550_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BandCombinationList_v1560_item, { "BandCombination-v1560", "nr-rrc.BandCombination_v1560_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BandCombinationList_v1570_item, { "BandCombination-v1570", "nr-rrc.BandCombination_v1570_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_BandCombinationList_v1580_item, { "BandCombination-v1580", "nr-rrc.BandCombination_v1580_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bandList, { "bandList", "nr-rrc.bandList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters", HFILL }}, { &hf_nr_rrc_bandList_item, { "BandParameters", "nr-rrc.BandParameters", FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParameters_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetCombination, { "featureSetCombination", "nr-rrc.featureSetCombination", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetCombinationId", HFILL }}, { &hf_nr_rrc_ca_ParametersEUTRA, { "ca-ParametersEUTRA", "nr-rrc.ca_ParametersEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersNR, { "ca-ParametersNR", "nr-rrc.ca_ParametersNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mrdc_Parameters, { "mrdc-Parameters", "nr-rrc.mrdc_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_supportedBandwidthCombinationSet, { "supportedBandwidthCombinationSet", "nr-rrc.supportedBandwidthCombinationSet", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_32", HFILL }}, { &hf_nr_rrc_powerClass_v1530, { "powerClass-v1530", "nr-rrc.powerClass_v1530", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerClass_v1530_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bandList_v1540, { "bandList-v1540", "nr-rrc.bandList_v1540", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540", HFILL }}, { &hf_nr_rrc_bandList_v1540_item, { "BandParameters-v1540", "nr-rrc.BandParameters_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersNR_v1540, { "ca-ParametersNR-v1540", "nr-rrc.ca_ParametersNR_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersNR_v1550, { "ca-ParametersNR-v1550", "nr-rrc.ca_ParametersNR_v1550_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ne_DC_BC, { "ne-DC-BC", "nr-rrc.ne_DC_BC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ne_DC_BC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersNRDC, { "ca-ParametersNRDC", "nr-rrc.ca_ParametersNRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersEUTRA_v1560, { "ca-ParametersEUTRA-v1560", "nr-rrc.ca_ParametersEUTRA_v1560_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersNR_v1560, { "ca-ParametersNR-v1560", "nr-rrc.ca_ParametersNR_v1560_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersEUTRA_v1570, { "ca-ParametersEUTRA-v1570", "nr-rrc.ca_ParametersEUTRA_v1570_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mrdc_Parameters_v1580, { "mrdc-Parameters-v1580", "nr-rrc.mrdc_Parameters_v1580_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_01, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bandEUTRA, { "bandEUTRA", "nr-rrc.bandEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandIndicatorEUTRA", HFILL }}, { &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, { "ca-BandwidthClassDL-EUTRA", "nr-rrc.ca_BandwidthClassDL_EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0, "CA_BandwidthClassEUTRA", HFILL }}, { &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, { "ca-BandwidthClassUL-EUTRA", "nr-rrc.ca_BandwidthClassUL_EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0, "CA_BandwidthClassEUTRA", HFILL }}, { &hf_nr_rrc_nr_01, { "nr", "nr-rrc.nr_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_bandNR, { "bandNR", "nr-rrc.bandNR", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandIndicatorNR", HFILL }}, { &hf_nr_rrc_ca_BandwidthClassDL_NR, { "ca-BandwidthClassDL-NR", "nr-rrc.ca_BandwidthClassDL_NR", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0, "CA_BandwidthClassNR", HFILL }}, { &hf_nr_rrc_ca_BandwidthClassUL_NR, { "ca-BandwidthClassUL-NR", "nr-rrc.ca_BandwidthClassUL_NR", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0, "CA_BandwidthClassNR", HFILL }}, { &hf_nr_rrc_srs_CarrierSwitch, { "srs-CarrierSwitch", "nr-rrc.srs_CarrierSwitch", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_CarrierSwitch_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nr_02, { "nr", "nr-rrc.nr_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_01", HFILL }}, { &hf_nr_rrc_srs_SwitchingTimesListNR, { "srs-SwitchingTimesListNR", "nr-rrc.srs_SwitchingTimesListNR", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR", HFILL }}, { &hf_nr_rrc_srs_SwitchingTimesListNR_item, { "SRS-SwitchingTimeNR", "nr-rrc.SRS_SwitchingTimeNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_02, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, "T_eutra_01", HFILL }}, { &hf_nr_rrc_srs_SwitchingTimesListEUTRA, { "srs-SwitchingTimesListEUTRA", "nr-rrc.srs_SwitchingTimesListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA", HFILL }}, { &hf_nr_rrc_srs_SwitchingTimesListEUTRA_item, { "SRS-SwitchingTimeEUTRA", "nr-rrc.SRS_SwitchingTimeEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srs_TxSwitch, { "srs-TxSwitch", "nr-rrc.srs_TxSwitch_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_supportedSRS_TxPortSwitch, { "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_txSwitchImpactToRx, { "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_nr_rrc_txSwitchWithAnotherBand, { "txSwitchWithAnotherBand", "nr-rrc.txSwitchWithAnotherBand", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_nr_rrc_multipleTimingAdvance, { "multipleTimingAdvance", "nr-rrc.multipleTimingAdvance", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvance_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousRx_Tx, { "simultaneousRx-Tx", "nr-rrc.simultaneousRx_Tx", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRx_Tx_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedNAICS_2CRS_AP, { "supportedNAICS-2CRS-AP", "nr-rrc.supportedNAICS_2CRS_AP", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_8", HFILL }}, { &hf_nr_rrc_additionalRx_Tx_PerformanceReq, { "additionalRx-Tx-PerformanceReq", "nr-rrc.additionalRx_Tx_PerformanceReq", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalRx_Tx_PerformanceReq_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ue_CA_PowerClass_N, { "ue-CA-PowerClass-N", "nr-rrc.ue_CA_PowerClass_N", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_CA_PowerClass_N_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedBandwidthCombinationSetEUTRA_v1530, { "supportedBandwidthCombinationSetEUTRA-v1530", "nr-rrc.supportedBandwidthCombinationSetEUTRA_v1530", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1_32", HFILL }}, { &hf_nr_rrc_fd_MIMO_TotalWeightedLayers, { "fd-MIMO-TotalWeightedLayers", "nr-rrc.fd_MIMO_TotalWeightedLayers", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_128", HFILL }}, { &hf_nr_rrc_dl_1024QAM_TotalWeightedLayers, { "dl-1024QAM-TotalWeightedLayers", "nr-rrc.dl_1024QAM_TotalWeightedLayers", FT_UINT32, BASE_CUSTOM, CF_FUNC(nr_rrc_dl_1024QAM_TotalWeightedLayers_fmt), 0, "INTEGER_0_10", HFILL }}, { &hf_nr_rrc_dummy_06, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_03_vals), 0, "T_dummy_03", HFILL }}, { &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH, { "parallelTxSRS-PUCCH-PUSCH", "nr-rrc.parallelTxSRS_PUCCH_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH, { "parallelTxPRACH-SRS-PUCCH-PUSCH", "nr-rrc.parallelTxPRACH_SRS_PUCCH_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousRxTxInterBandCA, { "simultaneousRxTxInterBandCA", "nr-rrc.simultaneousRxTxInterBandCA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandCA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousRxTxSUL, { "simultaneousRxTxSUL", "nr-rrc.simultaneousRxTxSUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxSUL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group, { "diffNumerologyAcrossPUCCH-Group", "nr-rrc.diffNumerologyAcrossPUCCH_Group", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupSmallerSCS, { "diffNumerologyWithinPUCCH-GroupSmallerSCS", "nr-rrc.diffNumerologyWithinPUCCH_GroupSmallerSCS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_GroupSmallerSCS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedNumberTAG, { "supportedNumberTAG", "nr-rrc.supportedNumberTAG", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberTAG_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_AllCC, { "simultaneousSRS-AssocCSI-RS-AllCC", "nr-rrc.simultaneousSRS_AssocCSI_RS_AllCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_5_32", HFILL }}, { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedbackPerBandComb, { "csi-RS-IM-ReceptionForFeedbackPerBandComb", "nr-rrc.csi_RS_IM_ReceptionForFeedbackPerBandComb_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC, { "maxNumberSimultaneousNZP-CSI-RS-ActBWP-AllCC", "nr-rrc.maxNumberSimultaneousNZP_CSI_RS_ActBWP_AllCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC, { "totalNumberPortsSimultaneousNZP-CSI-RS-ActBWP-AllCC", "nr-rrc.totalNumberPortsSimultaneousNZP_CSI_RS_ActBWP_AllCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_256", HFILL }}, { &hf_nr_rrc_simultaneousCSI_ReportsAllCC, { "simultaneousCSI-ReportsAllCC", "nr-rrc.simultaneousCSI_ReportsAllCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_5_32", HFILL }}, { &hf_nr_rrc_dualPA_Architecture, { "dualPA-Architecture", "nr-rrc.dualPA_Architecture", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dualPA_Architecture_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy_07, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_04_vals), 0, "T_dummy_04", HFILL }}, { &hf_nr_rrc_diffNumerologyWithinPUCCH_GroupLargerSCS, { "diffNumerologyWithinPUCCH-GroupLargerSCS", "nr-rrc.diffNumerologyWithinPUCCH_GroupLargerSCS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_GroupLargerSCS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ca_ParametersNR_ForDC, { "ca-ParametersNR-ForDC", "nr-rrc.ca_ParametersNR_ForDC_element", FT_NONE, BASE_NONE, NULL, 0, "CA_ParametersNR", HFILL }}, { &hf_nr_rrc_ca_ParametersNR_ForDC_v1540, { "ca-ParametersNR-ForDC-v1540", "nr-rrc.ca_ParametersNR_ForDC_v1540_element", FT_NONE, BASE_NONE, NULL, 0, "CA_ParametersNR_v1540", HFILL }}, { &hf_nr_rrc_ca_ParametersNR_ForDC_v1550, { "ca-ParametersNR-ForDC-v1550", "nr-rrc.ca_ParametersNR_ForDC_v1550_element", FT_NONE, BASE_NONE, NULL, 0, "CA_ParametersNR_v1550", HFILL }}, { &hf_nr_rrc_ca_ParametersNR_ForDC_v1560, { "ca-ParametersNR-ForDC-v1560", "nr-rrc.ca_ParametersNR_ForDC_v1560_element", FT_NONE, BASE_NONE, NULL, 0, "CA_ParametersNR_v1560", HFILL }}, { &hf_nr_rrc_featureSetCombinationDC, { "featureSetCombinationDC", "nr-rrc.featureSetCombinationDC", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetCombinationId", HFILL }}, { &hf_nr_rrc_type1_02, { "type1", "nr-rrc.type1_element", FT_NONE, BASE_NONE, NULL, 0, "T_type1_02", HFILL }}, { &hf_nr_rrc_singlePanel, { "singlePanel", "nr-rrc.singlePanel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_supportedCSI_RS_ResourceList, { "supportedCSI-RS-ResourceList", "nr-rrc.supportedCSI_RS_ResourceList", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource", HFILL }}, { &hf_nr_rrc_supportedCSI_RS_ResourceList_item, { "SupportedCSI-RS-Resource", "nr-rrc.SupportedCSI_RS_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_modes, { "modes", "nr-rrc.modes", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modes_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, { "maxNumberCSI-RS-PerResourceSet", "nr-rrc.maxNumberCSI_RS_PerResourceSet", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_multiPanel, { "multiPanel", "nr-rrc.multiPanel_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_modes_01, { "modes", "nr-rrc.modes", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modes_01_vals), 0, "T_modes_01", HFILL }}, { &hf_nr_rrc_nrofPanels, { "nrofPanels", "nr-rrc.nrofPanels", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPanels_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_type2_01, { "type2", "nr-rrc.type2_element", FT_NONE, BASE_NONE, NULL, 0, "T_type2_01", HFILL }}, { &hf_nr_rrc_parameterLx, { "parameterLx", "nr-rrc.parameterLx", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_4", HFILL }}, { &hf_nr_rrc_amplitudeScalingType, { "amplitudeScalingType", "nr-rrc.amplitudeScalingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_amplitudeSubsetRestriction, { "amplitudeSubsetRestriction", "nr-rrc.amplitudeSubsetRestriction", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeSubsetRestriction_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_type2_PortSelection, { "type2-PortSelection", "nr-rrc.type2_PortSelection_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_amplitudeScalingType_01, { "amplitudeScalingType", "nr-rrc.amplitudeScalingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_01_vals), 0, "T_amplitudeScalingType_01", HFILL }}, { &hf_nr_rrc_maxNumberTxPortsPerResource, { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberResourcesPerBand, { "maxNumberResourcesPerBand", "nr-rrc.maxNumberResourcesPerBand", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_totalNumberTxPortsPerBand, { "totalNumberTxPortsPerBand", "nr-rrc.totalNumberTxPortsPerBand", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_256", HFILL }}, { &hf_nr_rrc_FeatureSetCombination_item, { "FeatureSetsPerBand", "nr-rrc.FeatureSetsPerBand", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_FeatureSetsPerBand_item, { "FeatureSet", "nr-rrc.FeatureSet", FT_UINT32, BASE_DEC, VALS(nr_rrc_FeatureSet_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_03, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, "T_eutra_02", HFILL }}, { &hf_nr_rrc_downlinkSetEUTRA, { "downlinkSetEUTRA", "nr-rrc.downlinkSetEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetEUTRA_DownlinkId", HFILL }}, { &hf_nr_rrc_uplinkSetEUTRA, { "uplinkSetEUTRA", "nr-rrc.uplinkSetEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetEUTRA_UplinkId", HFILL }}, { &hf_nr_rrc_nr_03, { "nr", "nr-rrc.nr_element", FT_NONE, BASE_NONE, NULL, 0, "T_nr_02", HFILL }}, { &hf_nr_rrc_downlinkSetNR, { "downlinkSetNR", "nr-rrc.downlinkSetNR", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetDownlinkId", HFILL }}, { &hf_nr_rrc_uplinkSetNR, { "uplinkSetNR", "nr-rrc.uplinkSetNR", FT_UINT32, BASE_DEC, NULL, 0, "FeatureSetUplinkId", HFILL }}, { &hf_nr_rrc_featureSetListPerDownlinkCC, { "featureSetListPerDownlinkCC", "nr-rrc.featureSetListPerDownlinkCC", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id", HFILL }}, { &hf_nr_rrc_featureSetListPerDownlinkCC_item, { "FeatureSetDownlinkPerCC-Id", "nr-rrc.FeatureSetDownlinkPerCC_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_intraBandFreqSeparationDL, { "intraBandFreqSeparationDL", "nr-rrc.intraBandFreqSeparationDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0, "FreqSeparationClass", HFILL }}, { &hf_nr_rrc_scalingFactor, { "scalingFactor", "nr-rrc.scalingFactor", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_crossCarrierScheduling_OtherSCS, { "crossCarrierScheduling-OtherSCS", "nr-rrc.crossCarrierScheduling_OtherSCS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_OtherSCS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scellWithoutSSB, { "scellWithoutSSB", "nr-rrc.scellWithoutSSB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellWithoutSSB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB, { "csi-RS-MeasSCellWithoutSSB", "nr-rrc.csi_RS_MeasSCellWithoutSSB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy1_01, { "dummy1", "nr-rrc.dummy1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy1_01_vals), 0, "T_dummy1_01", HFILL }}, { &hf_nr_rrc_type1_3_CSS, { "type1-3-CSS", "nr-rrc.type1_3_CSS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_MonitoringAnyOccasions, { "pdcch-MonitoringAnyOccasions", "nr-rrc.pdcch_MonitoringAnyOccasions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringAnyOccasions_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy2_01, { "dummy2", "nr-rrc.dummy2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_01_vals), 0, "T_dummy2_01", HFILL }}, { &hf_nr_rrc_ue_SpecificUL_DL_Assignment, { "ue-SpecificUL-DL-Assignment", "nr-rrc.ue_SpecificUL_DL_Assignment", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_SpecificUL_DL_Assignment_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_searchSpaceSharingCA_DL, { "searchSpaceSharingCA-DL", "nr-rrc.searchSpaceSharingCA_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_timeDurationForQCL, { "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_60kHz, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scs_120kHz, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_ProcessingType1_DifferentTB_PerSlot, { "pdsch-ProcessingType1-DifferentTB-PerSlot", "nr-rrc.pdsch_ProcessingType1_DifferentTB_PerSlot_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scs_30kHz, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scs_60kHz_01, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_01_vals), 0, "T_scs_60kHz_01", HFILL }}, { &hf_nr_rrc_scs_120kHz_01, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_01_vals), 0, "T_scs_120kHz_01", HFILL }}, { &hf_nr_rrc_dummy3, { "dummy3", "nr-rrc.dummy3_element", FT_NONE, BASE_NONE, NULL, 0, "DummyA", HFILL }}, { &hf_nr_rrc_dummy4, { "dummy4", "nr-rrc.dummy4", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB", HFILL }}, { &hf_nr_rrc_dummy4_item, { "DummyB", "nr-rrc.DummyB_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dummy5, { "dummy5", "nr-rrc.dummy5", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC", HFILL }}, { &hf_nr_rrc_dummy5_item, { "DummyC", "nr-rrc.DummyC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dummy6, { "dummy6", "nr-rrc.dummy6", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD", HFILL }}, { &hf_nr_rrc_dummy6_item, { "DummyD", "nr-rrc.DummyD_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_dummy7, { "dummy7", "nr-rrc.dummy7", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE", HFILL }}, { &hf_nr_rrc_dummy7_item, { "DummyE", "nr-rrc.DummyE_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_DL, { "oneFL-DMRS-TwoAdditionalDMRS-DL", "nr-rrc.oneFL_DMRS_TwoAdditionalDMRS_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_additionalDMRS_DL_Alt, { "additionalDMRS-DL-Alt", "nr-rrc.additionalDMRS_DL_Alt", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalDMRS_DL_Alt_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_DL, { "twoFL-DMRS-TwoAdditionalDMRS-DL", "nr-rrc.twoFL_DMRS_TwoAdditionalDMRS_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_DL, { "oneFL-DMRS-ThreeAdditionalDMRS-DL", "nr-rrc.oneFL_DMRS_ThreeAdditionalDMRS_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_MonitoringAnyOccasionsWithSpanGap, { "pdcch-MonitoringAnyOccasionsWithSpanGap", "nr-rrc.pdcch_MonitoringAnyOccasionsWithSpanGap_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_01, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_01_vals), 0, "T_scs_15kHz_01", HFILL }}, { &hf_nr_rrc_scs_30kHz_01, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_01_vals), 0, "T_scs_30kHz_01", HFILL }}, { &hf_nr_rrc_scs_60kHz_02, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_02_vals), 0, "T_scs_60kHz_02", HFILL }}, { &hf_nr_rrc_scs_120kHz_02, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_02_vals), 0, "T_scs_120kHz_02", HFILL }}, { &hf_nr_rrc_pdsch_SeparationWithGap, { "pdsch-SeparationWithGap", "nr-rrc.pdsch_SeparationWithGap", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_SeparationWithGap_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_ProcessingType2, { "pdsch-ProcessingType2", "nr-rrc.pdsch_ProcessingType2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_02, { "scs-15kHz", "nr-rrc.scs_15kHz_element", FT_NONE, BASE_NONE, NULL, 0, "ProcessingParameters", HFILL }}, { &hf_nr_rrc_scs_30kHz_02, { "scs-30kHz", "nr-rrc.scs_30kHz_element", FT_NONE, BASE_NONE, NULL, 0, "ProcessingParameters", HFILL }}, { &hf_nr_rrc_scs_60kHz_03, { "scs-60kHz", "nr-rrc.scs_60kHz_element", FT_NONE, BASE_NONE, NULL, 0, "ProcessingParameters", HFILL }}, { &hf_nr_rrc_pdsch_ProcessingType2_Limited, { "pdsch-ProcessingType2-Limited", "nr-rrc.pdsch_ProcessingType2_Limited_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_differentTB_PerSlot_SCS_30kHz, { "differentTB-PerSlot-SCS-30kHz", "nr-rrc.differentTB_PerSlot_SCS_30kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_differentTB_PerSlot_SCS_30kHz_vals), 0, "T_differentTB_PerSlot_SCS_30kHz", HFILL }}, { &hf_nr_rrc_dl_MCS_TableAlt_DynamicIndication, { "dl-MCS-TableAlt-DynamicIndication", "nr-rrc.dl_MCS_TableAlt_DynamicIndication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_MCS_TableAlt_DynamicIndication_vals), 0, "T_dl_MCS_TableAlt_DynamicIndication", HFILL }}, { &hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC, { "maxNumberNZP-CSI-RS-PerCC", "nr-rrc.maxNumberNZP_CSI_RS_PerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_32", HFILL }}, { &hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC, { "maxNumberPortsAcrossNZP-CSI-RS-PerCC", "nr-rrc.maxNumberPortsAcrossNZP_CSI_RS_PerCC", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberCS_IM_PerCC, { "maxNumberCS-IM-PerCC", "nr-rrc.maxNumberCS_IM_PerCC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCS_IM_PerCC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC, { "maxNumberSimultaneousCSI-RS-ActBWP-AllCC", "nr-rrc.maxNumberSimultaneousCSI_RS_ActBWP_AllCC", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC, { "totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC", "nr-rrc.totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals_ext, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberTxPortsPerResource_01, { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_01_vals), 0, "T_maxNumberTxPortsPerResource_01", HFILL }}, { &hf_nr_rrc_maxNumberResources, { "maxNumberResources", "nr-rrc.maxNumberResources", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_totalNumberTxPorts, { "totalNumberTxPorts", "nr-rrc.totalNumberTxPorts", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_256", HFILL }}, { &hf_nr_rrc_supportedCodebookMode, { "supportedCodebookMode", "nr-rrc.supportedCodebookMode", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCodebookMode_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberTxPortsPerResource_02, { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_02_vals), 0, "T_maxNumberTxPortsPerResource_02", HFILL }}, { &hf_nr_rrc_supportedCodebookMode_01, { "supportedCodebookMode", "nr-rrc.supportedCodebookMode", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCodebookMode_01_vals), 0, "T_supportedCodebookMode_01", HFILL }}, { &hf_nr_rrc_supportedNumberPanels, { "supportedNumberPanels", "nr-rrc.supportedNumberPanels", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberPanels_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberTxPortsPerResource_03, { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_03_vals), 0, "T_maxNumberTxPortsPerResource_03", HFILL }}, { &hf_nr_rrc_amplitudeScalingType_02, { "amplitudeScalingType", "nr-rrc.amplitudeScalingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_02_vals), 0, "T_amplitudeScalingType_02", HFILL }}, { &hf_nr_rrc_amplitudeSubsetRestriction_01, { "amplitudeSubsetRestriction", "nr-rrc.amplitudeSubsetRestriction", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeSubsetRestriction_01_vals), 0, "T_amplitudeSubsetRestriction_01", HFILL }}, { &hf_nr_rrc_maxNumberTxPortsPerResource_04, { "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_04_vals), 0, "T_maxNumberTxPortsPerResource_04", HFILL }}, { &hf_nr_rrc_amplitudeScalingType_03, { "amplitudeScalingType", "nr-rrc.amplitudeScalingType", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_03_vals), 0, "T_amplitudeScalingType_03", HFILL }}, { &hf_nr_rrc_supportedSubcarrierSpacingDL, { "supportedSubcarrierSpacingDL", "nr-rrc.supportedSubcarrierSpacingDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, "SubcarrierSpacing", HFILL }}, { &hf_nr_rrc_supportedBandwidthDL, { "supportedBandwidthDL", "nr-rrc.supportedBandwidthDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_vals), 0, "SupportedBandwidth", HFILL }}, { &hf_nr_rrc_channelBW_90mhz, { "channelBW-90mhz", "nr-rrc.channelBW_90mhz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_90mhz_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, { "maxNumberMIMO-LayersPDSCH", "nr-rrc.maxNumberMIMO_LayersPDSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0, "MIMO_LayersDL", HFILL }}, { &hf_nr_rrc_supportedModulationOrderDL, { "supportedModulationOrderDL", "nr-rrc.supportedModulationOrderDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0, "ModulationOrder", HFILL }}, { &hf_nr_rrc_featureSetsDownlink, { "featureSetsDownlink", "nr-rrc.featureSetsDownlink", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink", HFILL }}, { &hf_nr_rrc_featureSetsDownlink_item, { "FeatureSetDownlink", "nr-rrc.FeatureSetDownlink_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetsDownlinkPerCC, { "featureSetsDownlinkPerCC", "nr-rrc.featureSetsDownlinkPerCC", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC", HFILL }}, { &hf_nr_rrc_featureSetsDownlinkPerCC_item, { "FeatureSetDownlinkPerCC", "nr-rrc.FeatureSetDownlinkPerCC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetsUplink, { "featureSetsUplink", "nr-rrc.featureSetsUplink", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink", HFILL }}, { &hf_nr_rrc_featureSetsUplink_item, { "FeatureSetUplink", "nr-rrc.FeatureSetUplink_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetsUplinkPerCC, { "featureSetsUplinkPerCC", "nr-rrc.featureSetsUplinkPerCC", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC", HFILL }}, { &hf_nr_rrc_featureSetsUplinkPerCC_item, { "FeatureSetUplinkPerCC", "nr-rrc.FeatureSetUplinkPerCC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetsDownlink_v1540, { "featureSetsDownlink-v1540", "nr-rrc.featureSetsDownlink_v1540", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540", HFILL }}, { &hf_nr_rrc_featureSetsDownlink_v1540_item, { "FeatureSetDownlink-v1540", "nr-rrc.FeatureSetDownlink_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetsUplink_v1540, { "featureSetsUplink-v1540", "nr-rrc.featureSetsUplink_v1540", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540", HFILL }}, { &hf_nr_rrc_featureSetsUplink_v1540_item, { "FeatureSetUplink-v1540", "nr-rrc.FeatureSetUplink_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetsUplinkPerCC_v1540, { "featureSetsUplinkPerCC-v1540", "nr-rrc.featureSetsUplinkPerCC_v1540", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540", HFILL }}, { &hf_nr_rrc_featureSetsUplinkPerCC_v1540_item, { "FeatureSetUplinkPerCC-v1540", "nr-rrc.FeatureSetUplinkPerCC_v1540_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_featureSetListPerUplinkCC, { "featureSetListPerUplinkCC", "nr-rrc.featureSetListPerUplinkCC", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id", HFILL }}, { &hf_nr_rrc_featureSetListPerUplinkCC_item, { "FeatureSetUplinkPerCC-Id", "nr-rrc.FeatureSetUplinkPerCC_Id", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scalingFactor_01, { "scalingFactor", "nr-rrc.scalingFactor", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_01_vals), 0, "T_scalingFactor_01", HFILL }}, { &hf_nr_rrc_crossCarrierScheduling_OtherSCS_01, { "crossCarrierScheduling-OtherSCS", "nr-rrc.crossCarrierScheduling_OtherSCS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_OtherSCS_01_vals), 0, "T_crossCarrierScheduling_OtherSCS_01", HFILL }}, { &hf_nr_rrc_intraBandFreqSeparationUL, { "intraBandFreqSeparationUL", "nr-rrc.intraBandFreqSeparationUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0, "FreqSeparationClass", HFILL }}, { &hf_nr_rrc_searchSpaceSharingCA_UL, { "searchSpaceSharingCA-UL", "nr-rrc.searchSpaceSharingCA_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy1_02, { "dummy1", "nr-rrc.dummy1_element", FT_NONE, BASE_NONE, NULL, 0, "DummyI", HFILL }}, { &hf_nr_rrc_supportedSRS_Resources, { "supportedSRS-Resources", "nr-rrc.supportedSRS_Resources_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_Resources", HFILL }}, { &hf_nr_rrc_twoPUCCH_Group, { "twoPUCCH-Group", "nr-rrc.twoPUCCH_Group", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Group_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicSwitchSUL, { "dynamicSwitchSUL", "nr-rrc.dynamicSwitchSUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchSUL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousTxSUL_NonSUL, { "simultaneousTxSUL-NonSUL", "nr-rrc.simultaneousTxSUL_NonSUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_ProcessingType1_DifferentTB_PerSlot, { "pusch-ProcessingType1-DifferentTB-PerSlot", "nr-rrc.pusch_ProcessingType1_DifferentTB_PerSlot_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_03, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_02_vals), 0, "T_scs_15kHz_02", HFILL }}, { &hf_nr_rrc_scs_30kHz_03, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_02_vals), 0, "T_scs_30kHz_02", HFILL }}, { &hf_nr_rrc_scs_60kHz_04, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_03_vals), 0, "T_scs_60kHz_03", HFILL }}, { &hf_nr_rrc_scs_120kHz_03, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_03_vals), 0, "T_scs_120kHz_03", HFILL }}, { &hf_nr_rrc_dummy2_02, { "dummy2", "nr-rrc.dummy2_element", FT_NONE, BASE_NONE, NULL, 0, "DummyF", HFILL }}, { &hf_nr_rrc_zeroSlotOffsetAperiodicSRS, { "zeroSlotOffsetAperiodicSRS", "nr-rrc.zeroSlotOffsetAperiodicSRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_zeroSlotOffsetAperiodicSRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pa_PhaseDiscontinuityImpacts, { "pa-PhaseDiscontinuityImpacts", "nr-rrc.pa_PhaseDiscontinuityImpacts", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pa_PhaseDiscontinuityImpacts_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_SeparationWithGap, { "pusch-SeparationWithGap", "nr-rrc.pusch_SeparationWithGap", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_SeparationWithGap_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_ProcessingType2, { "pusch-ProcessingType2", "nr-rrc.pusch_ProcessingType2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ul_MCS_TableAlt_DynamicIndication, { "ul-MCS-TableAlt-DynamicIndication", "nr-rrc.ul_MCS_TableAlt_DynamicIndication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_MCS_TableAlt_DynamicIndication_vals), 0, "T_ul_MCS_TableAlt_DynamicIndication", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, { "maxNumberAperiodicSRS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_PerBWP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot, { "maxNumberAperiodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberAperiodicSRS_PerBWP_PerSlot", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_6", HFILL }}, { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP, { "maxNumberPeriodicSRS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_PerBWP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot, { "maxNumberPeriodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberPeriodicSRS_PerBWP_PerSlot", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_6", HFILL }}, { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP, { "maxNumberSemiPersistentSRS-PerBWP", "nr-rrc.maxNumberSemiPersistentSRS_PerBWP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSemiPersistentSRS_PerBWP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSemiPersistentSRS_PerBWP_PerSlot, { "maxNumberSemiPersistentSRS-PerBWP-PerSlot", "nr-rrc.maxNumberSemiPersistentSRS_PerBWP_PerSlot", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_6", HFILL }}, { &hf_nr_rrc_maxNumberSRS_Ports_PerResource, { "maxNumberSRS-Ports-PerResource", "nr-rrc.maxNumberSRS_Ports_PerResource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_Ports_PerResource_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP, { "maxNumberPeriodicCSI-ReportPerBWP", "nr-rrc.maxNumberPeriodicCSI_ReportPerBWP", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP, { "maxNumberAperiodicCSI-ReportPerBWP", "nr-rrc.maxNumberAperiodicCSI_ReportPerBWP", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP, { "maxNumberSemiPersistentCSI-ReportPerBWP", "nr-rrc.maxNumberSemiPersistentCSI_ReportPerBWP", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4", HFILL }}, { &hf_nr_rrc_supportedSubcarrierSpacingUL, { "supportedSubcarrierSpacingUL", "nr-rrc.supportedSubcarrierSpacingUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0, "SubcarrierSpacing", HFILL }}, { &hf_nr_rrc_supportedBandwidthUL, { "supportedBandwidthUL", "nr-rrc.supportedBandwidthUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_vals), 0, "SupportedBandwidth", HFILL }}, { &hf_nr_rrc_channelBW_90mhz_01, { "channelBW-90mhz", "nr-rrc.channelBW_90mhz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_90mhz_01_vals), 0, "T_channelBW_90mhz_01", HFILL }}, { &hf_nr_rrc_mimo_CB_PUSCH, { "mimo-CB-PUSCH", "nr-rrc.mimo_CB_PUSCH_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, { "maxNumberMIMO-LayersCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersCB_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0, "MIMO_LayersUL", HFILL }}, { &hf_nr_rrc_maxNumberSRS_ResourcePerSet, { "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2", HFILL }}, { &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, { "maxNumberMIMO-LayersNonCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersNonCB_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0, "MIMO_LayersUL", HFILL }}, { &hf_nr_rrc_supportedModulationOrderUL, { "supportedModulationOrderUL", "nr-rrc.supportedModulationOrderUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0, "ModulationOrder", HFILL }}, { &hf_nr_rrc_mimo_NonCB_PUSCH, { "mimo-NonCB-PUSCH", "nr-rrc.mimo_NonCB_PUSCH_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01, { "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberSimultaneousSRS_ResourceTx, { "maxNumberSimultaneousSRS-ResourceTx", "nr-rrc.maxNumberSimultaneousSRS_ResourceTx", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_FreqBandList_item, { "FreqBandInformation", "nr-rrc.FreqBandInformation", FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqBandInformation_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bandInformationEUTRA, { "bandInformationEUTRA", "nr-rrc.bandInformationEUTRA_element", FT_NONE, BASE_NONE, NULL, 0, "FreqBandInformationEUTRA", HFILL }}, { &hf_nr_rrc_bandInformationNR, { "bandInformationNR", "nr-rrc.bandInformationNR_element", FT_NONE, BASE_NONE, NULL, 0, "FreqBandInformationNR", HFILL }}, { &hf_nr_rrc_maxBandwidthRequestedDL, { "maxBandwidthRequestedDL", "nr-rrc.maxBandwidthRequestedDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwidth_vals), 0, "AggregatedBandwidth", HFILL }}, { &hf_nr_rrc_maxBandwidthRequestedUL, { "maxBandwidthRequestedUL", "nr-rrc.maxBandwidthRequestedUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwidth_vals), 0, "AggregatedBandwidth", HFILL }}, { &hf_nr_rrc_maxCarriersRequestedDL, { "maxCarriersRequestedDL", "nr-rrc.maxCarriersRequestedDL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofServingCells", HFILL }}, { &hf_nr_rrc_maxCarriersRequestedUL, { "maxCarriersRequestedUL", "nr-rrc.maxCarriersRequestedUL", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_maxNrofServingCells", HFILL }}, { &hf_nr_rrc_ims_ParametersCommon, { "ims-ParametersCommon", "nr-rrc.ims_ParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_ims_ParametersFRX_Diff, { "ims-ParametersFRX-Diff", "nr-rrc.ims_ParametersFRX_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_voiceOverEUTRA_5GC, { "voiceOverEUTRA-5GC", "nr-rrc.voiceOverEUTRA_5GC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverEUTRA_5GC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_voiceOverSCG_BearerEUTRA_5GC, { "voiceOverSCG-BearerEUTRA-5GC", "nr-rrc.voiceOverSCG_BearerEUTRA_5GC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverSCG_BearerEUTRA_5GC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_voiceOverNR, { "voiceOverNR", "nr-rrc.voiceOverNR", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_voiceOverNR_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_04, { "eutra", "nr-rrc.eutra_element", FT_NONE, BASE_NONE, NULL, 0, "EUTRA_Parameters", HFILL }}, { &hf_nr_rrc_supportedBandListEUTRA, { "supportedBandListEUTRA", "nr-rrc.supportedBandListEUTRA", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA", HFILL }}, { &hf_nr_rrc_supportedBandListEUTRA_item, { "FreqBandIndicatorEUTRA", "nr-rrc.FreqBandIndicatorEUTRA", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_ParametersCommon, { "eutra-ParametersCommon", "nr-rrc.eutra_ParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_ParametersXDD_Diff, { "eutra-ParametersXDD-Diff", "nr-rrc.eutra_ParametersXDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mfbi_EUTRA, { "mfbi-EUTRA", "nr-rrc.mfbi_EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mfbi_EUTRA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_modifiedMPR_BehaviorEUTRA, { "modifiedMPR-BehaviorEUTRA", "nr-rrc.modifiedMPR_BehaviorEUTRA", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_32", HFILL }}, { &hf_nr_rrc_multiNS_Pmax_EUTRA, { "multiNS-Pmax-EUTRA", "nr-rrc.multiNS_Pmax_EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multiNS_Pmax_EUTRA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rs_SINR_MeasEUTRA, { "rs-SINR-MeasEUTRA", "nr-rrc.rs_SINR_MeasEUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rs_SINR_MeasEUTRA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ne_DC, { "ne-DC", "nr-rrc.ne_DC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ne_DC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rsrqMeasWidebandEUTRA, { "rsrqMeasWidebandEUTRA", "nr-rrc.rsrqMeasWidebandEUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rsrqMeasWidebandEUTRA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mac_ParametersCommon, { "mac-ParametersCommon", "nr-rrc.mac_ParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mac_ParametersXDD_Diff, { "mac-ParametersXDD-Diff", "nr-rrc.mac_ParametersXDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_lcp_Restriction, { "lcp-Restriction", "nr-rrc.lcp_Restriction", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_Restriction_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy_08, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_05_vals), 0, "T_dummy_05", HFILL }}, { &hf_nr_rrc_lch_ToSCellRestriction, { "lch-ToSCellRestriction", "nr-rrc.lch_ToSCellRestriction", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lch_ToSCellRestriction_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_recommendedBitRate, { "recommendedBitRate", "nr-rrc.recommendedBitRate", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRate_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_recommendedBitRateQuery, { "recommendedBitRateQuery", "nr-rrc.recommendedBitRateQuery", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recommendedBitRateQuery_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_skipUplinkTxDynamic_01, { "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_skipUplinkTxDynamic_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_logicalChannelSR_DelayTimer_01, { "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_01_vals), 0, "T_logicalChannelSR_DelayTimer_01", HFILL }}, { &hf_nr_rrc_longDRX_Cycle, { "longDRX-Cycle", "nr-rrc.longDRX_Cycle", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_longDRX_Cycle_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_shortDRX_Cycle, { "shortDRX-Cycle", "nr-rrc.shortDRX_Cycle", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortDRX_Cycle_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_multipleSR_Configurations, { "multipleSR-Configurations", "nr-rrc.multipleSR_Configurations", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_Configurations_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_multipleConfiguredGrants, { "multipleConfiguredGrants", "nr-rrc.multipleConfiguredGrants", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrants_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersCommon, { "measAndMobParametersCommon", "nr-rrc.measAndMobParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersXDD_Diff, { "measAndMobParametersXDD-Diff", "nr-rrc.measAndMobParametersXDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersFRX_Diff, { "measAndMobParametersFRX-Diff", "nr-rrc.measAndMobParametersFRX_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_supportedGapPattern, { "supportedGapPattern", "nr-rrc.supportedGapPattern", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_22", HFILL }}, { &hf_nr_rrc_ssb_RLM, { "ssb-RLM", "nr-rrc.ssb_RLM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_RLM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ssb_AndCSI_RS_RLM, { "ssb-AndCSI-RS-RLM", "nr-rrc.ssb_AndCSI_RS_RLM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_AndCSI_RS_RLM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eventB_MeasAndReport, { "eventB-MeasAndReport", "nr-rrc.eventB_MeasAndReport", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventB_MeasAndReport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_handoverFDD_TDD, { "handoverFDD-TDD", "nr-rrc.handoverFDD_TDD", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverFDD_TDD_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_CGI_Reporting, { "eutra-CGI-Reporting", "nr-rrc.eutra_CGI_Reporting", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eutra_CGI_Reporting_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nr_CGI_Reporting, { "nr-CGI-Reporting", "nr-rrc.nr_CGI_Reporting", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_independentGapConfig, { "independentGapConfig", "nr-rrc.independentGapConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_periodicEUTRA_MeasAndReport, { "periodicEUTRA-MeasAndReport", "nr-rrc.periodicEUTRA_MeasAndReport", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicEUTRA_MeasAndReport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_handoverFR1_FR2, { "handoverFR1-FR2", "nr-rrc.handoverFR1_FR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverFR1_FR2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberCSI_RS_RRM_RS_SINR, { "maxNumberCSI-RS-RRM-RS-SINR", "nr-rrc.maxNumberCSI_RS_RRM_RS_SINR", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_RS_RRM_RS_SINR_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nr_CGI_Reporting_ENDC, { "nr-CGI-Reporting-ENDC", "nr-rrc.nr_CGI_Reporting_ENDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nr_CGI_Reporting_ENDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_intraAndInterF_MeasAndReport, { "intraAndInterF-MeasAndReport", "nr-rrc.intraAndInterF_MeasAndReport", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraAndInterF_MeasAndReport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_eventA_MeasAndReport, { "eventA-MeasAndReport", "nr-rrc.eventA_MeasAndReport", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventA_MeasAndReport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_handoverInterF, { "handoverInterF", "nr-rrc.handoverInterF", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverInterF_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_handoverLTE_EPC, { "handoverLTE-EPC", "nr-rrc.handoverLTE_EPC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_EPC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_handoverLTE_5GC, { "handoverLTE-5GC", "nr-rrc.handoverLTE_5GC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_5GC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sftd_MeasNR_Neigh, { "sftd-MeasNR-Neigh", "nr-rrc.sftd_MeasNR_Neigh", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Neigh_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sftd_MeasNR_Neigh_DRX, { "sftd-MeasNR-Neigh-DRX", "nr-rrc.sftd_MeasNR_Neigh_DRX", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Neigh_DRX_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ss_SINR_Meas, { "ss-SINR-Meas", "nr-rrc.ss_SINR_Meas", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ss_SINR_Meas_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, { "csi-RSRP-AndRSRQ-MeasWithSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithSSB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, { "csi-RSRP-AndRSRQ-MeasWithoutSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithoutSSB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_SINR_Meas, { "csi-SINR-Meas", "nr-rrc.csi_SINR_Meas", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_SINR_Meas_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_RLM, { "csi-RS-RLM", "nr-rrc.csi_RS_RLM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_handoverInterF_01, { "handoverInterF", "nr-rrc.handoverInterF", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverInterF_01_vals), 0, "T_handoverInterF_01", HFILL }}, { &hf_nr_rrc_handoverLTE_EPC_01, { "handoverLTE-EPC", "nr-rrc.handoverLTE_EPC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_EPC_01_vals), 0, "T_handoverLTE_EPC_01", HFILL }}, { &hf_nr_rrc_handoverLTE_5GC_01, { "handoverLTE-5GC", "nr-rrc.handoverLTE_5GC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_handoverLTE_5GC_01_vals), 0, "T_handoverLTE_5GC_01", HFILL }}, { &hf_nr_rrc_maxNumberResource_CSI_RS_RLM, { "maxNumberResource-CSI-RS-RLM", "nr-rrc.maxNumberResource_CSI_RS_RLM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberResource_CSI_RS_RLM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology, { "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC_Common, { "measAndMobParametersMRDC-Common", "nr-rrc.measAndMobParametersMRDC_Common_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff, { "measAndMobParametersMRDC-XDD-Diff", "nr-rrc.measAndMobParametersMRDC_XDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC_FRX_Diff, { "measAndMobParametersMRDC-FRX-Diff", "nr-rrc.measAndMobParametersMRDC_FRX_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC_XDD_Diff_v1560, { "measAndMobParametersMRDC-XDD-Diff-v1560", "nr-rrc.measAndMobParametersMRDC_XDD_Diff_v1560_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_independentGapConfig_01, { "independentGapConfig", "nr-rrc.independentGapConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfig_01_vals), 0, "T_independentGapConfig_01", HFILL }}, { &hf_nr_rrc_sftd_MeasPSCell, { "sftd-MeasPSCell", "nr-rrc.sftd_MeasPSCell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sftd_MeasNR_Cell, { "sftd-MeasNR-Cell", "nr-rrc.sftd_MeasNR_Cell", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Cell_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sftd_MeasPSCell_NEDC, { "sftd-MeasPSCell-NEDC", "nr-rrc.sftd_MeasPSCell_NEDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_NEDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology_01, { "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_01_vals), 0, "T_simultaneousRxDataSSB_DiffNumerology_01", HFILL }}, { &hf_nr_rrc_tci_StatePDSCH, { "tci-StatePDSCH", "nr-rrc.tci_StatePDSCH_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC, { "maxNumberConfiguredTCIstatesPerCC", "nr-rrc.maxNumberConfiguredTCIstatesPerCC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberActiveTCI_PerBWP, { "maxNumberActiveTCI-PerBWP", "nr-rrc.maxNumberActiveTCI_PerBWP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveTCI_PerBWP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_additionalActiveTCI_StatePDCCH, { "additionalActiveTCI-StatePDCCH", "nr-rrc.additionalActiveTCI_StatePDCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalActiveTCI_StatePDCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_TransCoherence, { "pusch-TransCoherence", "nr-rrc.pusch_TransCoherence", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TransCoherence_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_beamCorrespondenceWithoutUL_BeamSweeping, { "beamCorrespondenceWithoutUL-BeamSweeping", "nr-rrc.beamCorrespondenceWithoutUL_BeamSweeping", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondenceWithoutUL_BeamSweeping_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_periodicBeamReport, { "periodicBeamReport", "nr-rrc.periodicBeamReport", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBeamReport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_aperiodicBeamReport, { "aperiodicBeamReport", "nr-rrc.aperiodicBeamReport", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicBeamReport_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sp_BeamReportPUCCH, { "sp-BeamReportPUCCH", "nr-rrc.sp_BeamReportPUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sp_BeamReportPUSCH, { "sp-BeamReportPUSCH", "nr-rrc.sp_BeamReportPUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy1_03, { "dummy1", "nr-rrc.dummy1_element", FT_NONE, BASE_NONE, NULL, 0, "DummyG", HFILL }}, { &hf_nr_rrc_maxNumberRxBeam, { "maxNumberRxBeam", "nr-rrc.maxNumberRxBeam", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_8", HFILL }}, { &hf_nr_rrc_maxNumberRxTxBeamSwitchDL, { "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_04, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_03_vals), 0, "T_scs_15kHz_03", HFILL }}, { &hf_nr_rrc_scs_30kHz_04, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_03_vals), 0, "T_scs_30kHz_03", HFILL }}, { &hf_nr_rrc_scs_60kHz_05, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_04_vals), 0, "T_scs_60kHz_04", HFILL }}, { &hf_nr_rrc_scs_120kHz_04, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_04_vals), 0, "T_scs_120kHz_04", HFILL }}, { &hf_nr_rrc_scs_240kHz, { "scs-240kHz", "nr-rrc.scs_240kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_240kHz_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberNonGroupBeamReporting, { "maxNumberNonGroupBeamReporting", "nr-rrc.maxNumberNonGroupBeamReporting", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberNonGroupBeamReporting_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_groupBeamReporting, { "groupBeamReporting", "nr-rrc.groupBeamReporting", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBeamReporting_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uplinkBeamManagement, { "uplinkBeamManagement", "nr-rrc.uplinkBeamManagement_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSRS_ResourcePerSet_BM, { "maxNumberSRS-ResourcePerSet-BM", "nr-rrc.maxNumberSRS_ResourcePerSet_BM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcePerSet_BM_vals), 0, "T_maxNumberSRS_ResourcePerSet_BM", HFILL }}, { &hf_nr_rrc_maxNumberSRS_ResourceSet, { "maxNumberSRS-ResourceSet", "nr-rrc.maxNumberSRS_ResourceSet", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_maxNumberCSI_RS_BFD, { "maxNumberCSI-RS-BFD", "nr-rrc.maxNumberCSI_RS_BFD", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_maxNumberSSB_BFD, { "maxNumberSSB-BFD", "nr-rrc.maxNumberSSB_BFD", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_maxNumberCSI_RS_SSB_CBD, { "maxNumberCSI-RS-SSB-CBD", "nr-rrc.maxNumberCSI_RS_SSB_CBD", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_nr_rrc_dummy2_03, { "dummy2", "nr-rrc.dummy2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy2_02_vals), 0, "T_dummy2_02", HFILL }}, { &hf_nr_rrc_twoPortsPTRS_UL, { "twoPortsPTRS-UL", "nr-rrc.twoPortsPTRS_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPortsPTRS_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy5_01, { "dummy5", "nr-rrc.dummy5_element", FT_NONE, BASE_NONE, NULL, 0, "SRS_Resources", HFILL }}, { &hf_nr_rrc_dummy3_01, { "dummy3", "nr-rrc.dummy3", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_beamReportTiming, { "beamReportTiming", "nr-rrc.beamReportTiming_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_05, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_04_vals), 0, "T_scs_15kHz_04", HFILL }}, { &hf_nr_rrc_scs_30kHz_05, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_04_vals), 0, "T_scs_30kHz_04", HFILL }}, { &hf_nr_rrc_scs_60kHz_06, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_05_vals), 0, "T_scs_60kHz_05", HFILL }}, { &hf_nr_rrc_scs_120kHz_05, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_05_vals), 0, "T_scs_120kHz_05", HFILL }}, { &hf_nr_rrc_ptrs_DensityRecommendationSetDL, { "ptrs-DensityRecommendationSetDL", "nr-rrc.ptrs_DensityRecommendationSetDL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_06, { "scs-15kHz", "nr-rrc.scs_15kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, { &hf_nr_rrc_scs_30kHz_06, { "scs-30kHz", "nr-rrc.scs_30kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, { &hf_nr_rrc_scs_60kHz_07, { "scs-60kHz", "nr-rrc.scs_60kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, { &hf_nr_rrc_scs_120kHz_06, { "scs-120kHz", "nr-rrc.scs_120kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationDL", HFILL }}, { &hf_nr_rrc_ptrs_DensityRecommendationSetUL, { "ptrs-DensityRecommendationSetUL", "nr-rrc.ptrs_DensityRecommendationSetUL_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_07, { "scs-15kHz", "nr-rrc.scs_15kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, { &hf_nr_rrc_scs_30kHz_07, { "scs-30kHz", "nr-rrc.scs_30kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, { &hf_nr_rrc_scs_60kHz_08, { "scs-60kHz", "nr-rrc.scs_60kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, { &hf_nr_rrc_scs_120kHz_07, { "scs-120kHz", "nr-rrc.scs_120kHz_element", FT_NONE, BASE_NONE, NULL, 0, "PTRS_DensityRecommendationUL", HFILL }}, { &hf_nr_rrc_dummy4_01, { "dummy4", "nr-rrc.dummy4_element", FT_NONE, BASE_NONE, NULL, 0, "DummyH", HFILL }}, { &hf_nr_rrc_aperiodicTRS, { "aperiodicTRS", "nr-rrc.aperiodicTRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy6_01, { "dummy6", "nr-rrc.dummy6", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy6_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_beamManagementSSB_CSI_RS, { "beamManagementSSB-CSI-RS", "nr-rrc.beamManagementSSB_CSI_RS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_beamSwitchTiming, { "beamSwitchTiming", "nr-rrc.beamSwitchTiming_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_60kHz_09, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_06_vals), 0, "T_scs_60kHz_06", HFILL }}, { &hf_nr_rrc_scs_120kHz_08, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_06_vals), 0, "T_scs_120kHz_06", HFILL }}, { &hf_nr_rrc_codebookParameters, { "codebookParameters", "nr-rrc.codebookParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback, { "csi-RS-IM-ReceptionForFeedback", "nr-rrc.csi_RS_IM_ReceptionForFeedback_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_ProcFrameworkForSRS, { "csi-RS-ProcFrameworkForSRS", "nr-rrc.csi_RS_ProcFrameworkForSRS_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ReportFramework, { "csi-ReportFramework", "nr-rrc.csi_ReportFramework_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_ForTracking, { "csi-RS-ForTracking", "nr-rrc.csi_RS_ForTracking_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_srs_AssocCSI_RS, { "srs-AssocCSI-RS", "nr-rrc.srs_AssocCSI_RS", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource", HFILL }}, { &hf_nr_rrc_srs_AssocCSI_RS_item, { "SupportedCSI-RS-Resource", "nr-rrc.SupportedCSI_RS_Resource_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_spatialRelations, { "spatialRelations", "nr-rrc.spatialRelations_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx, { "maxNumberSSB-CSI-RS-ResourceOneTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceOneTx", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx, { "maxNumberSSB-CSI-RS-ResourceTwoTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceTwoTx", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedCSI_RS_Density, { "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx_01, { "maxNumberSSB-CSI-RS-ResourceOneTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceOneTx", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_01_vals), 0, "T_maxNumberSSB_CSI_RS_ResourceOneTx_01", HFILL }}, { &hf_nr_rrc_maxNumberCSI_RS_Resource, { "maxNumberCSI-RS-Resource", "nr-rrc.maxNumberCSI_RS_Resource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_RS_Resource_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberCSI_RS_ResourceTwoTx, { "maxNumberCSI-RS-ResourceTwoTx", "nr-rrc.maxNumberCSI_RS_ResourceTwoTx", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCSI_RS_ResourceTwoTx_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedCSI_RS_Density_01, { "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_01_vals), 0, "T_supportedCSI_RS_Density_01", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicCSI_RS_Resource, { "maxNumberAperiodicCSI-RS-Resource", "nr-rrc.maxNumberAperiodicCSI_RS_Resource", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicCSI_RS_Resource_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_burstLength, { "burstLength", "nr-rrc.burstLength", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2", HFILL }}, { &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, { "maxSimultaneousResourceSetsPerCC", "nr-rrc.maxSimultaneousResourceSetsPerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_maxConfiguredResourceSetsPerCC, { "maxConfiguredResourceSetsPerCC", "nr-rrc.maxConfiguredResourceSetsPerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_maxConfiguredResourceSetsAllCC, { "maxConfiguredResourceSetsAllCC", "nr-rrc.maxConfiguredResourceSetsAllCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_128", HFILL }}, { &hf_nr_rrc_maxBurstLength, { "maxBurstLength", "nr-rrc.maxBurstLength", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_2", HFILL }}, { &hf_nr_rrc_maxConfiguredResourceSetsAllCC_01, { "maxConfiguredResourceSetsAllCC", "nr-rrc.maxConfiguredResourceSetsAllCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_256", HFILL }}, { &hf_nr_rrc_maxConfigNumberNZP_CSI_RS_PerCC, { "maxConfigNumberNZP-CSI-RS-PerCC", "nr-rrc.maxConfigNumberNZP_CSI_RS_PerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC, { "maxConfigNumberPortsAcrossNZP-CSI-RS-PerCC", "nr-rrc.maxConfigNumberPortsAcrossNZP_CSI_RS_PerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_256", HFILL }}, { &hf_nr_rrc_maxConfigNumberCSI_IM_PerCC, { "maxConfigNumberCSI-IM-PerCC", "nr-rrc.maxConfigNumberCSI_IM_PerCC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxConfigNumberCSI_IM_PerCC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSimultaneousNZP_CSI_RS_PerCC, { "maxNumberSimultaneousNZP-CSI-RS-PerCC", "nr-rrc.maxNumberSimultaneousNZP_CSI_RS_PerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_64", HFILL }}, { &hf_nr_rrc_totalNumberPortsSimultaneousNZP_CSI_RS_PerCC, { "totalNumberPortsSimultaneousNZP-CSI-RS-PerCC", "nr-rrc.totalNumberPortsSimultaneousNZP_CSI_RS_PerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_2_256", HFILL }}, { &hf_nr_rrc_maxNumberPeriodicSRS_AssocCSI_RS_PerBWP, { "maxNumberPeriodicSRS-AssocCSI-RS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_AssocCSI_RS_PerBWP", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicSRS_AssocCSI_RS_PerBWP, { "maxNumberAperiodicSRS-AssocCSI-RS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_AssocCSI_RS_PerBWP", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberSP_SRS_AssocCSI_RS_PerBWP, { "maxNumberSP-SRS-AssocCSI-RS-PerBWP", "nr-rrc.maxNumberSP_SRS_AssocCSI_RS_PerBWP", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4", HFILL }}, { &hf_nr_rrc_simultaneousSRS_AssocCSI_RS_PerCC, { "simultaneousSRS-AssocCSI-RS-PerCC", "nr-rrc.simultaneousSRS_AssocCSI_RS_PerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForCSI_Report, { "maxNumberPeriodicCSI-PerBWP-ForCSI-Report", "nr-rrc.maxNumberPeriodicCSI_PerBWP_ForCSI_Report", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForCSI_Report, { "maxNumberAperiodicCSI-PerBWP-ForCSI-Report", "nr-rrc.maxNumberAperiodicCSI_PerBWP_ForCSI_Report", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report, { "maxNumberSemiPersistentCSI-PerBWP-ForCSI-Report", "nr-rrc.maxNumberSemiPersistentCSI_PerBWP_ForCSI_Report", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4", HFILL }}, { &hf_nr_rrc_maxNumberPeriodicCSI_PerBWP_ForBeamReport, { "maxNumberPeriodicCSI-PerBWP-ForBeamReport", "nr-rrc.maxNumberPeriodicCSI_PerBWP_ForBeamReport", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicCSI_PerBWP_ForBeamReport, { "maxNumberAperiodicCSI-PerBWP-ForBeamReport", "nr-rrc.maxNumberAperiodicCSI_PerBWP_ForBeamReport", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_4", HFILL }}, { &hf_nr_rrc_maxNumberAperiodicCSI_triggeringStatePerCC, { "maxNumberAperiodicCSI-triggeringStatePerCC", "nr-rrc.maxNumberAperiodicCSI_triggeringStatePerCC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicCSI_triggeringStatePerCC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberSemiPersistentCSI_PerBWP_ForBeamReport, { "maxNumberSemiPersistentCSI-PerBWP-ForBeamReport", "nr-rrc.maxNumberSemiPersistentCSI_PerBWP_ForBeamReport", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_4", HFILL }}, { &hf_nr_rrc_simultaneousCSI_ReportsPerCC, { "simultaneousCSI-ReportsPerCC", "nr-rrc.simultaneousCSI_ReportsPerCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_8", HFILL }}, { &hf_nr_rrc_frequencyDensity1, { "frequencyDensity1", "nr-rrc.frequencyDensity1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_frequencyDensity2, { "frequencyDensity2", "nr-rrc.frequencyDensity2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_timeDensity1, { "timeDensity1", "nr-rrc.timeDensity1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_29", HFILL }}, { &hf_nr_rrc_timeDensity2, { "timeDensity2", "nr-rrc.timeDensity2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_29", HFILL }}, { &hf_nr_rrc_timeDensity3, { "timeDensity3", "nr-rrc.timeDensity3", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_29", HFILL }}, { &hf_nr_rrc_sampleDensity1, { "sampleDensity1", "nr-rrc.sampleDensity1", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_sampleDensity2, { "sampleDensity2", "nr-rrc.sampleDensity2", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_sampleDensity3, { "sampleDensity3", "nr-rrc.sampleDensity3", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_sampleDensity4, { "sampleDensity4", "nr-rrc.sampleDensity4", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_sampleDensity5, { "sampleDensity5", "nr-rrc.sampleDensity5", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_276", HFILL }}, { &hf_nr_rrc_maxNumberConfiguredSpatialRelations, { "maxNumberConfiguredSpatialRelations", "nr-rrc.maxNumberConfiguredSpatialRelations", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredSpatialRelations_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberActiveSpatialRelations, { "maxNumberActiveSpatialRelations", "nr-rrc.maxNumberActiveSpatialRelations", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveSpatialRelations_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_additionalActiveSpatialRelationPUCCH, { "additionalActiveSpatialRelationPUCCH", "nr-rrc.additionalActiveSpatialRelationPUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalActiveSpatialRelationPUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxNumberDL_RS_QCL_TypeD, { "maxNumberDL-RS-QCL-TypeD", "nr-rrc.maxNumberDL_RS_QCL_TypeD", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberDL_RS_QCL_TypeD_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedSRS_TxPortSwitch_01, { "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_01_vals), 0, "T_supportedSRS_TxPortSwitch_01", HFILL }}, { &hf_nr_rrc_txSwitchImpactToRx_01, { "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txSwitchImpactToRx_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_singleUL_Transmission, { "singleUL-Transmission", "nr-rrc.singleUL_Transmission", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singleUL_Transmission_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicPowerSharingENDC, { "dynamicPowerSharingENDC", "nr-rrc.dynamicPowerSharingENDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharingENDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tdm_Pattern, { "tdm-Pattern", "nr-rrc.tdm_Pattern", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ul_SharingEUTRA_NR, { "ul-SharingEUTRA-NR", "nr-rrc.ul_SharingEUTRA_NR", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SharingEUTRA_NR_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR, { "ul-SwitchingTimeEUTRA-NR", "nr-rrc.ul_SwitchingTimeEUTRA_NR", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_simultaneousRxTxInterBandENDC, { "simultaneousRxTxInterBandENDC", "nr-rrc.simultaneousRxTxInterBandENDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandENDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_asyncIntraBandENDC, { "asyncIntraBandENDC", "nr-rrc.asyncIntraBandENDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_asyncIntraBandENDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dualPA_Architecture_01, { "dualPA-Architecture", "nr-rrc.dualPA_Architecture", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dualPA_Architecture_01_vals), 0, "T_dualPA_Architecture_01", HFILL }}, { &hf_nr_rrc_intraBandENDC_Support, { "intraBandENDC-Support", "nr-rrc.intraBandENDC_Support", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraBandENDC_Support_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ul_TimingAlignmentEUTRA_NR, { "ul-TimingAlignmentEUTRA-NR", "nr-rrc.ul_TimingAlignmentEUTRA_NR", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_TimingAlignmentEUTRA_NR_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicPowerSharingNEDC, { "dynamicPowerSharingNEDC", "nr-rrc.dynamicPowerSharingNEDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharingNEDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersNRDC, { "measAndMobParametersNRDC", "nr-rrc.measAndMobParametersNRDC_element", FT_NONE, BASE_NONE, NULL, 0, "MeasAndMobParametersMRDC", HFILL }}, { &hf_nr_rrc_generalParametersNRDC, { "generalParametersNRDC", "nr-rrc.generalParametersNRDC_element", FT_NONE, BASE_NONE, NULL, 0, "GeneralParametersMRDC_XDD_Diff", HFILL }}, { &hf_nr_rrc_fdd_Add_UE_NRDC_Capabilities, { "fdd-Add-UE-NRDC-Capabilities", "nr-rrc.fdd_Add_UE_NRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddXDD_Mode", HFILL }}, { &hf_nr_rrc_tdd_Add_UE_NRDC_Capabilities, { "tdd-Add-UE-NRDC-Capabilities", "nr-rrc.tdd_Add_UE_NRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddXDD_Mode", HFILL }}, { &hf_nr_rrc_fr1_Add_UE_NRDC_Capabilities, { "fr1-Add-UE-NRDC-Capabilities", "nr-rrc.fr1_Add_UE_NRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddFRX_Mode", HFILL }}, { &hf_nr_rrc_fr2_Add_UE_NRDC_Capabilities, { "fr2-Add-UE-NRDC-Capabilities", "nr-rrc.fr2_Add_UE_NRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddFRX_Mode", HFILL }}, { &hf_nr_rrc_dummy_09, { "dummy", "nr-rrc.dummy_element", FT_NONE, BASE_NONE, NULL, 0, "T_dummy_06", HFILL }}, { &hf_nr_rrc_sfn_SyncNRDC, { "sfn-SyncNRDC", "nr-rrc.sfn_SyncNRDC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sfn_SyncNRDC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedROHC_Profiles, { "supportedROHC-Profiles", "nr-rrc.supportedROHC_Profiles_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_profile0x0000, { "profile0x0000", "nr-rrc.profile0x0000", FT_BOOLEAN, BASE_NONE, NULL, 0, "BOOLEAN", HFILL }}, { &hf_nr_rrc_maxNumberROHC_ContextSessions, { "maxNumberROHC-ContextSessions", "nr-rrc.maxNumberROHC_ContextSessions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberROHC_ContextSessions_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uplinkOnlyROHC_Profiles, { "uplinkOnlyROHC-Profiles", "nr-rrc.uplinkOnlyROHC_Profiles", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkOnlyROHC_Profiles_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_continueROHC_Context, { "continueROHC-Context", "nr-rrc.continueROHC_Context", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueROHC_Context_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_outOfOrderDelivery_01, { "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_01_vals), 0, "T_outOfOrderDelivery_01", HFILL }}, { &hf_nr_rrc_shortSN, { "shortSN", "nr-rrc.shortSN", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortSN_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_DuplicationSRB, { "pdcp-DuplicationSRB", "nr-rrc.pdcp_DuplicationSRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSRB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_DuplicationMCG_OrSCG_DRB, { "pdcp-DuplicationMCG-OrSCG-DRB", "nr-rrc.pdcp_DuplicationMCG_OrSCG_DRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationMCG_OrSCG_DRB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_DuplicationSplitSRB, { "pdcp-DuplicationSplitSRB", "nr-rrc.pdcp_DuplicationSplitSRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitSRB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_DuplicationSplitDRB, { "pdcp-DuplicationSplitDRB", "nr-rrc.pdcp_DuplicationSplitDRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_DuplicationSplitDRB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_phy_ParametersCommon, { "phy-ParametersCommon", "nr-rrc.phy_ParametersCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_phy_ParametersXDD_Diff, { "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_phy_ParametersFRX_Diff, { "phy-ParametersFRX-Diff", "nr-rrc.phy_ParametersFRX_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_phy_ParametersFR1, { "phy-ParametersFR1", "nr-rrc.phy_ParametersFR1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_phy_ParametersFR2, { "phy-ParametersFR2", "nr-rrc.phy_ParametersFR2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_csi_RS_CFRA_ForHO, { "csi-RS-CFRA-ForHO", "nr-rrc.csi_RS_CFRA_ForHO", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_CFRA_ForHO_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicPRB_BundlingDL, { "dynamicPRB-BundlingDL", "nr-rrc.dynamicPRB_BundlingDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPRB_BundlingDL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sp_CSI_ReportPUCCH, { "sp-CSI-ReportPUCCH", "nr-rrc.sp_CSI_ReportPUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sp_CSI_ReportPUSCH, { "sp-CSI-ReportPUSCH", "nr-rrc.sp_CSI_ReportPUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nzp_CSI_RS_IntefMgmt, { "nzp-CSI-RS-IntefMgmt", "nr-rrc.nzp_CSI_RS_IntefMgmt", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH, { "type2-SP-CSI-Feedback-LongPUCCH", "nr-rrc.type2_SP_CSI_Feedback_LongPUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_precoderGranularityCORESET, { "precoderGranularityCORESET", "nr-rrc.precoderGranularityCORESET", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularityCORESET_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicHARQ_ACK_Codebook, { "dynamicHARQ-ACK-Codebook", "nr-rrc.dynamicHARQ_ACK_Codebook", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_Codebook_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_semiStaticHARQ_ACK_Codebook, { "semiStaticHARQ-ACK-Codebook", "nr-rrc.semiStaticHARQ_ACK_Codebook", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_spatialBundlingHARQ_ACK, { "spatialBundlingHARQ-ACK", "nr-rrc.spatialBundlingHARQ_ACK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialBundlingHARQ_ACK_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI, { "dynamicBetaOffsetInd-HARQ-ACK-CSI", "nr-rrc.dynamicBetaOffsetInd_HARQ_ACK_CSI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_Repetition_F1_3_4, { "pucch-Repetition-F1-3-4", "nr-rrc.pucch_Repetition_F1_3_4", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F1_3_4_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ra_Type0_PUSCH, { "ra-Type0-PUSCH", "nr-rrc.ra_Type0_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_Type0_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH, { "dynamicSwitchRA-Type0-1-PDSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PDSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH, { "dynamicSwitchRA-Type0-1-PUSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_MappingTypeA, { "pdsch-MappingTypeA", "nr-rrc.pdsch_MappingTypeA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_MappingTypeB, { "pdsch-MappingTypeB", "nr-rrc.pdsch_MappingTypeB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH, { "interleavingVRB-ToPRB-PDSCH", "nr-rrc.interleavingVRB_ToPRB_PDSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_interSlotFreqHopping_PUSCH, { "interSlotFreqHopping-PUSCH", "nr-rrc.interSlotFreqHopping_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSlotFreqHopping_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots, { "type1-PUSCH-RepetitionMultiSlots", "nr-rrc.type1_PUSCH_RepetitionMultiSlots", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots, { "type2-PUSCH-RepetitionMultiSlots", "nr-rrc.type2_PUSCH_RepetitionMultiSlots", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_RepetitionMultiSlots, { "pusch-RepetitionMultiSlots", "nr-rrc.pusch_RepetitionMultiSlots", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionMultiSlots_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_RepetitionMultiSlots, { "pdsch-RepetitionMultiSlots", "nr-rrc.pdsch_RepetitionMultiSlots", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RepetitionMultiSlots_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_downlinkSPS, { "downlinkSPS", "nr-rrc.downlinkSPS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkSPS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_configuredUL_GrantType1, { "configuredUL-GrantType1", "nr-rrc.configuredUL_GrantType1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_configuredUL_GrantType2, { "configuredUL-GrantType2", "nr-rrc.configuredUL_GrantType2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pre_EmptIndication_DL, { "pre-EmptIndication-DL", "nr-rrc.pre_EmptIndication_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pre_EmptIndication_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cbg_TransIndication_DL, { "cbg-TransIndication-DL", "nr-rrc.cbg_TransIndication_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TransIndication_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cbg_TransIndication_UL, { "cbg-TransIndication-UL", "nr-rrc.cbg_TransIndication_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TransIndication_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cbg_FlushIndication_DL, { "cbg-FlushIndication-DL", "nr-rrc.cbg_FlushIndication_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_FlushIndication_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL, { "dynamicHARQ-ACK-CodeB-CBG-Retx-DL", "nr-rrc.dynamicHARQ_ACK_CodeB_CBG_Retx_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchingResrcSetSemi_Static, { "rateMatchingResrcSetSemi-Static", "nr-rrc.rateMatchingResrcSetSemi_Static", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetSemi_Static_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchingResrcSetDynamic, { "rateMatchingResrcSetDynamic", "nr-rrc.rateMatchingResrcSetDynamic", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetDynamic_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bwp_SwitchingDelay, { "bwp-SwitchingDelay", "nr-rrc.bwp_SwitchingDelay", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SwitchingDelay_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy_10, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_07_vals), 0, "T_dummy_07", HFILL }}, { &hf_nr_rrc_maxNumberSearchSpaces, { "maxNumberSearchSpaces", "nr-rrc.maxNumberSearchSpaces", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSearchSpaces_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchingCtrlResrcSetDynamic, { "rateMatchingCtrlResrcSetDynamic", "nr-rrc.rateMatchingCtrlResrcSetDynamic", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingCtrlResrcSetDynamic_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxLayersMIMO_Indication, { "maxLayersMIMO-Indication", "nr-rrc.maxLayersMIMO_Indication", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLayersMIMO_Indication_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicSFI, { "dynamicSFI", "nr-rrc.dynamicSFI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols, { "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH, { "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH, { "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA, { "dl-SchedulingOffset-PDSCH-TypeA", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_vals), 0, "T_dl_SchedulingOffset_PDSCH_TypeA", HFILL }}, { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB, { "dl-SchedulingOffset-PDSCH-TypeB", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_vals), 0, "T_dl_SchedulingOffset_PDSCH_TypeB", HFILL }}, { &hf_nr_rrc_ul_SchedulingOffset, { "ul-SchedulingOffset", "nr-rrc.ul_SchedulingOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SchedulingOffset_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dynamicSFI_01, { "dynamicSFI", "nr-rrc.dynamicSFI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_01_vals), 0, "T_dynamicSFI_01", HFILL }}, { &hf_nr_rrc_dummy1_04, { "dummy1", "nr-rrc.dummy1", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_twoFL_DMRS, { "twoFL-DMRS", "nr-rrc.twoFL_DMRS", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_dummy2_04, { "dummy2", "nr-rrc.dummy2", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_dummy3_02, { "dummy3", "nr-rrc.dummy3", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_supportedDMRS_TypeDL, { "supportedDMRS-TypeDL", "nr-rrc.supportedDMRS_TypeDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeDL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedDMRS_TypeUL, { "supportedDMRS-TypeUL", "nr-rrc.supportedDMRS_TypeUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeUL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_semiOpenLoopCSI, { "semiOpenLoopCSI", "nr-rrc.semiOpenLoopCSI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiOpenLoopCSI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ReportWithoutPMI, { "csi-ReportWithoutPMI", "nr-rrc.csi_ReportWithoutPMI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutPMI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_csi_ReportWithoutCQI, { "csi-ReportWithoutCQI", "nr-rrc.csi_ReportWithoutCQI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutCQI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_onePortsPTRS, { "onePortsPTRS", "nr-rrc.onePortsPTRS", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01, { "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals), 0, "T_twoPUCCH_F0_2_ConsecSymbols_01", HFILL }}, { &hf_nr_rrc_pucch_F2_WithFH, { "pucch-F2-WithFH", "nr-rrc.pucch_F2_WithFH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F2_WithFH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_F3_WithFH, { "pucch-F3-WithFH", "nr-rrc.pucch_F3_WithFH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_WithFH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_F4_WithFH, { "pucch-F4-WithFH", "nr-rrc.pucch_F4_WithFH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F4_WithFH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_F0_2WithoutFH, { "pucch-F0-2WithoutFH", "nr-rrc.pucch_F0_2WithoutFH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F0_2WithoutFH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_F1_3_4WithoutFH, { "pucch-F1-3-4WithoutFH", "nr-rrc.pucch_F1_3_4WithoutFH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F1_3_4WithoutFH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot, { "mux-SR-HARQ-ACK-CSI-PUCCH-MultiPerSlot", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_MultiPerSlot_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_uci_CodeBlockSegmentation, { "uci-CodeBlockSegmentation", "nr-rrc.uci_CodeBlockSegmentation", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_CodeBlockSegmentation_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_onePUCCH_LongAndShortFormat, { "onePUCCH-LongAndShortFormat", "nr-rrc.onePUCCH_LongAndShortFormat", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onePUCCH_LongAndShortFormat_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_twoPUCCH_AnyOthersInSlot, { "twoPUCCH-AnyOthersInSlot", "nr-rrc.twoPUCCH_AnyOthersInSlot", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_intraSlotFreqHopping_PUSCH, { "intraSlotFreqHopping-PUSCH", "nr-rrc.intraSlotFreqHopping_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFreqHopping_PUSCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_LBRM, { "pusch-LBRM", "nr-rrc.pusch_LBRM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_LBRM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_BlindDetectionCA, { "pdcch-BlindDetectionCA", "nr-rrc.pdcch_BlindDetectionCA", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_4_16", HFILL }}, { &hf_nr_rrc_tpc_PUSCH_RNTI_01, { "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_RNTI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tpc_PUCCH_RNTI_01, { "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_RNTI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tpc_SRS_RNTI_01, { "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_SRS_RNTI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_absoluteTPC_Command, { "absoluteTPC-Command", "nr-rrc.absoluteTPC_Command", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_absoluteTPC_Command_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01, { "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals), 0, "T_twoDifferentTPC_Loop_PUSCH_01", HFILL }}, { &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01, { "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals), 0, "T_twoDifferentTPC_Loop_PUCCH_01", HFILL }}, { &hf_nr_rrc_pusch_HalfPi_BPSK, { "pusch-HalfPi-BPSK", "nr-rrc.pusch_HalfPi_BPSK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_HalfPi_BPSK_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK, { "pucch-F3-4-HalfPi-BPSK", "nr-rrc.pucch_F3_4_HalfPi_BPSK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_almostContiguousCP_OFDM_UL, { "almostContiguousCP-OFDM-UL", "nr-rrc.almostContiguousCP_OFDM_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_almostContiguousCP_OFDM_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sp_CSI_RS, { "sp-CSI-RS", "nr-rrc.sp_CSI_RS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_RS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_sp_CSI_IM, { "sp-CSI-IM", "nr-rrc.sp_CSI_IM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_IM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot, { "tdd-MultiDL-UL-SwitchPerSlot", "nr-rrc.tdd_MultiDL_UL_SwitchPerSlot", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_multipleCORESET, { "multipleCORESET", "nr-rrc.multipleCORESET", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleCORESET_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot, { "mux-SR-HARQ-ACK-CSI-PUCCH-OncePerSlot", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sameSymbol, { "sameSymbol", "nr-rrc.sameSymbol", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sameSymbol_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_diffSymbol, { "diffSymbol", "nr-rrc.diffSymbol", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffSymbol_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mux_SR_HARQ_ACK_PUCCH, { "mux-SR-HARQ-ACK-PUCCH", "nr-rrc.mux_SR_HARQ_ACK_PUCCH", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_PUCCH_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_mux_MultipleGroupCtrlCH_Overlap, { "mux-MultipleGroupCtrlCH-Overlap", "nr-rrc.mux_MultipleGroupCtrlCH_Overlap", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_MultipleGroupCtrlCH_Overlap_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeA_01, { "dl-SchedulingOffset-PDSCH-TypeA", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeA_01_vals), 0, "T_dl_SchedulingOffset_PDSCH_TypeA_01", HFILL }}, { &hf_nr_rrc_dl_SchedulingOffset_PDSCH_TypeB_01, { "dl-SchedulingOffset-PDSCH-TypeB", "nr-rrc.dl_SchedulingOffset_PDSCH_TypeB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_SchedulingOffset_PDSCH_TypeB_01_vals), 0, "T_dl_SchedulingOffset_PDSCH_TypeB_01", HFILL }}, { &hf_nr_rrc_ul_SchedulingOffset_01, { "ul-SchedulingOffset", "nr-rrc.ul_SchedulingOffset", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SchedulingOffset_01_vals), 0, "T_ul_SchedulingOffset_01", HFILL }}, { &hf_nr_rrc_dl_64QAM_MCS_TableAlt, { "dl-64QAM-MCS-TableAlt", "nr-rrc.dl_64QAM_MCS_TableAlt", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_64QAM_MCS_TableAlt_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ul_64QAM_MCS_TableAlt, { "ul-64QAM-MCS-TableAlt", "nr-rrc.ul_64QAM_MCS_TableAlt", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_64QAM_MCS_TableAlt_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_cqi_TableAlt, { "cqi-TableAlt", "nr-rrc.cqi_TableAlt", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_TableAlt_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS_UL, { "oneFL-DMRS-TwoAdditionalDMRS-UL", "nr-rrc.oneFL_DMRS_TwoAdditionalDMRS_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_TwoAdditionalDMRS_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS_UL, { "twoFL-DMRS-TwoAdditionalDMRS-UL", "nr-rrc.twoFL_DMRS_TwoAdditionalDMRS_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoFL_DMRS_TwoAdditionalDMRS_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS_UL, { "oneFL-DMRS-ThreeAdditionalDMRS-UL", "nr-rrc.oneFL_DMRS_ThreeAdditionalDMRS_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFL_DMRS_ThreeAdditionalDMRS_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_BlindDetectionNRDC, { "pdcch-BlindDetectionNRDC", "nr-rrc.pdcch_BlindDetectionNRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_BlindDetectionMCG_UE, { "pdcch-BlindDetectionMCG-UE", "nr-rrc.pdcch_BlindDetectionMCG_UE", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_pdcch_BlindDetectionSCG_UE, { "pdcch-BlindDetectionSCG-UE", "nr-rrc.pdcch_BlindDetectionSCG_UE", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_15", HFILL }}, { &hf_nr_rrc_mux_HARQ_ACK_PUSCH_DiffSymbol, { "mux-HARQ-ACK-PUSCH-DiffSymbol", "nr-rrc.mux_HARQ_ACK_PUSCH_DiffSymbol", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_HARQ_ACK_PUSCH_DiffSymbol_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcch_MonitoringSingleOccasion, { "pdcch-MonitoringSingleOccasion", "nr-rrc.pdcch_MonitoringSingleOccasion", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_MonitoringSingleOccasion_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_scs_60kHz_10, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_07_vals), 0, "T_scs_60kHz_07", HFILL }}, { &hf_nr_rrc_pdsch_256QAM_FR1, { "pdsch-256QAM-FR1", "nr-rrc.pdsch_256QAM_FR1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSymbol, { "pdsch-RE-MappingFR1-PerSymbol", "nr-rrc.pdsch_RE_MappingFR1_PerSymbol", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR1_PerSymbol_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_RE_MappingFR1_PerSlot, { "pdsch-RE-MappingFR1-PerSlot", "nr-rrc.pdsch_RE_MappingFR1_PerSlot", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR1_PerSlot_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_dummy_11, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_08_vals), 0, "T_dummy_08", HFILL }}, { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSymbol, { "pdsch-RE-MappingFR2-PerSymbol", "nr-rrc.pdsch_RE_MappingFR2_PerSymbol", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR2_PerSymbol_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pCell_FR2, { "pCell-FR2", "nr-rrc.pCell_FR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pCell_FR2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_RE_MappingFR2_PerSlot, { "pdsch-RE-MappingFR2-PerSlot", "nr-rrc.pdsch_RE_MappingFR2_PerSlot", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR2_PerSlot_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_naics_Capability_List, { "naics-Capability-List", "nr-rrc.naics_Capability_List", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry", HFILL }}, { &hf_nr_rrc_naics_Capability_List_item, { "NAICS-Capability-Entry", "nr-rrc.NAICS_Capability_Entry_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_numberOfNAICS_CapableCC, { "numberOfNAICS-CapableCC", "nr-rrc.numberOfNAICS_CapableCC", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_5", HFILL }}, { &hf_nr_rrc_numberOfAggregatedPRB, { "numberOfAggregatedPRB", "nr-rrc.numberOfAggregatedPRB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfAggregatedPRB_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_fallback, { "fallback", "nr-rrc.fallback", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fallback_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_differentTB_PerSlot, { "differentTB-PerSlot", "nr-rrc.differentTB_PerSlot_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_upto1, { "upto1", "nr-rrc.upto1", FT_UINT32, BASE_DEC, NULL, 0, "NumberOfCarriers", HFILL }}, { &hf_nr_rrc_upto2, { "upto2", "nr-rrc.upto2", FT_UINT32, BASE_DEC, NULL, 0, "NumberOfCarriers", HFILL }}, { &hf_nr_rrc_upto4, { "upto4", "nr-rrc.upto4", FT_UINT32, BASE_DEC, NULL, 0, "NumberOfCarriers", HFILL }}, { &hf_nr_rrc_upto7, { "upto7", "nr-rrc.upto7", FT_UINT32, BASE_DEC, NULL, 0, "NumberOfCarriers", HFILL }}, { &hf_nr_rrc_supportedBandListNR, { "supportedBandListNR", "nr-rrc.supportedBandListNR", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxBands_OF_BandNR", HFILL }}, { &hf_nr_rrc_supportedBandListNR_item, { "BandNR", "nr-rrc.BandNR_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_supportedBandCombinationList, { "supportedBandCombinationList", "nr-rrc.supportedBandCombinationList", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList", HFILL }}, { &hf_nr_rrc_appliedFreqBandListFilter, { "appliedFreqBandListFilter", "nr-rrc.appliedFreqBandListFilter", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandList", HFILL }}, { &hf_nr_rrc_supportedBandCombinationList_v1540, { "supportedBandCombinationList-v1540", "nr-rrc.supportedBandCombinationList_v1540", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList_v1540", HFILL }}, { &hf_nr_rrc_srs_SwitchingTimeRequested, { "srs-SwitchingTimeRequested", "nr-rrc.srs_SwitchingTimeRequested", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequested_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_supportedBandCombinationList_v1550, { "supportedBandCombinationList-v1550", "nr-rrc.supportedBandCombinationList_v1550", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList_v1550", HFILL }}, { &hf_nr_rrc_supportedBandCombinationList_v1560, { "supportedBandCombinationList-v1560", "nr-rrc.supportedBandCombinationList_v1560", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList_v1560", HFILL }}, { &hf_nr_rrc_modifiedMPR_Behaviour, { "modifiedMPR-Behaviour", "nr-rrc.modifiedMPR_Behaviour", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_mimo_ParametersPerBand, { "mimo-ParametersPerBand", "nr-rrc.mimo_ParametersPerBand_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_extendedCP, { "extendedCP", "nr-rrc.extendedCP", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_multipleTCI, { "multipleTCI", "nr-rrc.multipleTCI", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTCI_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bwp_WithoutRestriction, { "bwp-WithoutRestriction", "nr-rrc.bwp_WithoutRestriction", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_WithoutRestriction_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bwp_SameNumerology, { "bwp-SameNumerology", "nr-rrc.bwp_SameNumerology", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SameNumerology_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_bwp_DiffNumerology, { "bwp-DiffNumerology", "nr-rrc.bwp_DiffNumerology", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_DiffNumerology_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_crossCarrierScheduling_SameSCS, { "crossCarrierScheduling-SameSCS", "nr-rrc.crossCarrierScheduling_SameSCS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierScheduling_SameSCS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdsch_256QAM_FR2, { "pdsch-256QAM-FR2", "nr-rrc.pdsch_256QAM_FR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pusch_256QAM, { "pusch-256QAM", "nr-rrc.pusch_256QAM", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_256QAM_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ue_PowerClass, { "ue-PowerClass", "nr-rrc.ue_PowerClass", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClass_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_rateMatchingLTE_CRS, { "rateMatchingLTE-CRS", "nr-rrc.rateMatchingLTE_CRS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingLTE_CRS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_channelBWs_DL, { "channelBWs-DL", "nr-rrc.channelBWs_DL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_DL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_fr1, { "fr1", "nr-rrc.fr1_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_15kHz_08, { "scs-15kHz", "nr-rrc.scs_15kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, { &hf_nr_rrc_scs_30kHz_08, { "scs-30kHz", "nr-rrc.scs_30kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, { &hf_nr_rrc_scs_60kHz_11, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_10", HFILL }}, { &hf_nr_rrc_fr2, { "fr2", "nr-rrc.fr2_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_scs_60kHz_12, { "scs-60kHz", "nr-rrc.scs_60kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_3", HFILL }}, { &hf_nr_rrc_scs_120kHz_09, { "scs-120kHz", "nr-rrc.scs_120kHz", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_3", HFILL }}, { &hf_nr_rrc_channelBWs_UL, { "channelBWs-UL", "nr-rrc.channelBWs_UL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBWs_UL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_fr1_01, { "fr1", "nr-rrc.fr1_element", FT_NONE, BASE_NONE, NULL, 0, "T_fr1_01", HFILL }}, { &hf_nr_rrc_fr2_01, { "fr2", "nr-rrc.fr2_element", FT_NONE, BASE_NONE, NULL, 0, "T_fr2_01", HFILL }}, { &hf_nr_rrc_maxUplinkDutyCycle_PC2_FR1, { "maxUplinkDutyCycle-PC2-FR1", "nr-rrc.maxUplinkDutyCycle_PC2_FR1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_PC2_FR1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE, { "pucch-SpatialRelInfoMAC-CE", "nr-rrc.pucch_SpatialRelInfoMAC_CE", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_powerBoosting_pi2BPSK, { "powerBoosting-pi2BPSK", "nr-rrc.powerBoosting_pi2BPSK", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerBoosting_pi2BPSK_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_maxUplinkDutyCycle_FR2, { "maxUplinkDutyCycle-FR2", "nr-rrc.maxUplinkDutyCycle_FR2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxUplinkDutyCycle_FR2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_srs_SwitchingTimeRequested_01, { "srs-SwitchingTimeRequested", "nr-rrc.srs_SwitchingTimeRequested", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequested_01_vals), 0, "T_srs_SwitchingTimeRequested_01", HFILL }}, { &hf_nr_rrc_supportedBandCombinationListNEDC_Only, { "supportedBandCombinationListNEDC-Only", "nr-rrc.supportedBandCombinationListNEDC_Only", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList", HFILL }}, { &hf_nr_rrc_supportedBandCombinationList_v1570, { "supportedBandCombinationList-v1570", "nr-rrc.supportedBandCombinationList_v1570", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList_v1570", HFILL }}, { &hf_nr_rrc_supportedBandCombinationList_v1580, { "supportedBandCombinationList-v1580", "nr-rrc.supportedBandCombinationList_v1580", FT_UINT32, BASE_DEC, NULL, 0, "BandCombinationList_v1580", HFILL }}, { &hf_nr_rrc_am_WithShortSN, { "am-WithShortSN", "nr-rrc.am_WithShortSN", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithShortSN_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_um_WithShortSN, { "um-WithShortSN", "nr-rrc.um_WithShortSN", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithShortSN_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_um_WithLongSN, { "um-WithLongSN", "nr-rrc.um_WithLongSN", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithLongSN_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_as_ReflectiveQoS, { "as-ReflectiveQoS", "nr-rrc.as_ReflectiveQoS", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_as_ReflectiveQoS_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_switchingTimeDL, { "switchingTimeDL", "nr-rrc.switchingTimeDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeDL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_switchingTimeUL, { "switchingTimeUL", "nr-rrc.switchingTimeUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeUL_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_switchingTimeDL_01, { "switchingTimeDL", "nr-rrc.switchingTimeDL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeDL_01_vals), 0, "T_switchingTimeDL_01", HFILL }}, { &hf_nr_rrc_switchingTimeUL_01, { "switchingTimeUL", "nr-rrc.switchingTimeUL", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_switchingTimeUL_01_vals), 0, "T_switchingTimeUL_01", HFILL }}, { &hf_nr_rrc_fr1_02, { "fr1", "nr-rrc.fr1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_02_vals), 0, "T_fr1_02", HFILL }}, { &hf_nr_rrc_fr2_02, { "fr2", "nr-rrc.fr2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_02_vals), 0, "T_fr2_02", HFILL }}, { &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item, { "UE-CapabilityRAT-Container", "nr-rrc.UE_CapabilityRAT_Container_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rat_Type, { "rat-Type", "nr-rrc.rat_Type", FT_UINT32, BASE_DEC, VALS(nr_rrc_RAT_Type_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ue_CapabilityRAT_Container, { "ue-CapabilityRAT-Container", "nr-rrc.ue_CapabilityRAT_Container", FT_BYTES, BASE_NONE, NULL, 0, "T_ue_CapabilityRAT_Container", HFILL }}, { &hf_nr_rrc_UE_CapabilityRAT_RequestList_item, { "UE-CapabilityRAT-Request", "nr-rrc.UE_CapabilityRAT_Request_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_capabilityRequestFilter, { "capabilityRequestFilter", "nr-rrc.capabilityRequestFilter", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mrdc_Request, { "mrdc-Request", "nr-rrc.mrdc_Request_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_omitEN_DC, { "omitEN-DC", "nr-rrc.omitEN_DC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_omitEN_DC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_includeNR_DC, { "includeNR-DC", "nr-rrc.includeNR_DC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeNR_DC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_includeNE_DC, { "includeNE-DC", "nr-rrc.includeNE_DC", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_includeNE_DC_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_frequencyBandListFilter, { "frequencyBandListFilter", "nr-rrc.frequencyBandListFilter", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandList", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_51, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_CapabilityRequestFilterNR_v1540", HFILL }}, { &hf_nr_rrc_srs_SwitchingTimeRequest, { "srs-SwitchingTimeRequest", "nr-rrc.srs_SwitchingTimeRequest", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchingTimeRequest_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_52, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_37", HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC, { "measAndMobParametersMRDC", "nr-rrc.measAndMobParametersMRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_phy_ParametersMRDC_v1530, { "phy-ParametersMRDC-v1530", "nr-rrc.phy_ParametersMRDC_v1530_element", FT_NONE, BASE_NONE, NULL, 0, "Phy_ParametersMRDC", HFILL }}, { &hf_nr_rrc_rf_ParametersMRDC, { "rf-ParametersMRDC", "nr-rrc.rf_ParametersMRDC_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_generalParametersMRDC, { "generalParametersMRDC", "nr-rrc.generalParametersMRDC_element", FT_NONE, BASE_NONE, NULL, 0, "GeneralParametersMRDC_XDD_Diff", HFILL }}, { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities, { "fdd-Add-UE-MRDC-Capabilities", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddXDD_Mode", HFILL }}, { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities, { "tdd-Add-UE-MRDC-Capabilities", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddXDD_Mode", HFILL }}, { &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities, { "fr1-Add-UE-MRDC-Capabilities", "nr-rrc.fr1_Add_UE_MRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddFRX_Mode", HFILL }}, { &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, { "fr2-Add-UE-MRDC-Capabilities", "nr-rrc.fr2_Add_UE_MRDC_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddFRX_Mode", HFILL }}, { &hf_nr_rrc_featureSetCombinations, { "featureSetCombinations", "nr-rrc.featureSetCombinations", FT_UINT32, BASE_DEC, NULL, 0, "SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination", HFILL }}, { &hf_nr_rrc_featureSetCombinations_item, { "FeatureSetCombination", "nr-rrc.FeatureSetCombination", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_ParametersMRDC_v1530, { "pdcp-ParametersMRDC-v1530", "nr-rrc.pdcp_ParametersMRDC_v1530_element", FT_NONE, BASE_NONE, NULL, 0, "PDCP_ParametersMRDC", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_53, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_Capability_v1560", HFILL }}, { &hf_nr_rrc_receivedFilters, { "receivedFilters", "nr-rrc.receivedFilters", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParametersMRDC_v1560, { "measAndMobParametersMRDC-v1560", "nr-rrc.measAndMobParametersMRDC_v1560_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities_v1560, { "fdd-Add-UE-MRDC-Capabilities-v1560", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_v1560_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddXDD_Mode_v1560", HFILL }}, { &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities_v1560, { "tdd-Add-UE-MRDC-Capabilities-v1560", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_v1560_element", FT_NONE, BASE_NONE, NULL, 0, "UE_MRDC_CapabilityAddXDD_Mode_v1560", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_54, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_38", HFILL }}, { &hf_nr_rrc_generalParametersMRDC_XDD_Diff, { "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_splitSRB_WithOneUL_Path, { "splitSRB-WithOneUL-Path", "nr-rrc.splitSRB_WithOneUL_Path", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitSRB_WithOneUL_Path_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG, { "splitDRB-withUL-Both-MCG-SCG", "nr-rrc.splitDRB_withUL_Both_MCG_SCG", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_srb3, { "srb3", "nr-rrc.srb3", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_v2x_EUTRA, { "v2x-EUTRA", "nr-rrc.v2x_EUTRA", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v2x_EUTRA_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_accessStratumRelease, { "accessStratumRelease", "nr-rrc.accessStratumRelease", FT_UINT32, BASE_DEC, VALS(nr_rrc_AccessStratumRelease_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_pdcp_Parameters, { "pdcp-Parameters", "nr-rrc.pdcp_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rlc_Parameters, { "rlc-Parameters", "nr-rrc.rlc_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_mac_Parameters, { "mac-Parameters", "nr-rrc.mac_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_phy_Parameters, { "phy-Parameters", "nr-rrc.phy_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_rf_Parameters, { "rf-Parameters", "nr-rrc.rf_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_measAndMobParameters, { "measAndMobParameters", "nr-rrc.measAndMobParameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities, { "fdd-Add-UE-NR-Capabilities", "nr-rrc.fdd_Add_UE_NR_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddXDD_Mode", HFILL }}, { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities, { "tdd-Add-UE-NR-Capabilities", "nr-rrc.tdd_Add_UE_NR_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddXDD_Mode", HFILL }}, { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities, { "fr1-Add-UE-NR-Capabilities", "nr-rrc.fr1_Add_UE_NR_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddFRX_Mode", HFILL }}, { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities, { "fr2-Add-UE-NR-Capabilities", "nr-rrc.fr2_Add_UE_NR_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddFRX_Mode", HFILL }}, { &hf_nr_rrc_featureSets, { "featureSets", "nr-rrc.featureSets_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_55, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1530", HFILL }}, { &hf_nr_rrc_fdd_Add_UE_NR_Capabilities_v1530, { "fdd-Add-UE-NR-Capabilities-v1530", "nr-rrc.fdd_Add_UE_NR_Capabilities_v1530_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddXDD_Mode_v1530", HFILL }}, { &hf_nr_rrc_tdd_Add_UE_NR_Capabilities_v1530, { "tdd-Add-UE-NR-Capabilities-v1530", "nr-rrc.tdd_Add_UE_NR_Capabilities_v1530_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddXDD_Mode_v1530", HFILL }}, { &hf_nr_rrc_dummy_12, { "dummy", "nr-rrc.dummy", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dummy_09_vals), 0, "T_dummy_09", HFILL }}, { &hf_nr_rrc_interRAT_Parameters, { "interRAT-Parameters", "nr-rrc.interRAT_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_inactiveState, { "inactiveState", "nr-rrc.inactiveState", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_inactiveState_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_delayBudgetReporting, { "delayBudgetReporting", "nr-rrc.delayBudgetReporting", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReporting_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_56, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1540", HFILL }}, { &hf_nr_rrc_sdap_Parameters, { "sdap-Parameters", "nr-rrc.sdap_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_overheatingInd, { "overheatingInd", "nr-rrc.overheatingInd", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingInd_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_ims_Parameters, { "ims-Parameters", "nr-rrc.ims_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_fr1_Add_UE_NR_Capabilities_v1540, { "fr1-Add-UE-NR-Capabilities-v1540", "nr-rrc.fr1_Add_UE_NR_Capabilities_v1540_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddFRX_Mode_v1540", HFILL }}, { &hf_nr_rrc_fr2_Add_UE_NR_Capabilities_v1540, { "fr2-Add-UE-NR-Capabilities-v1540", "nr-rrc.fr2_Add_UE_NR_Capabilities_v1540_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddFRX_Mode_v1540", HFILL }}, { &hf_nr_rrc_fr1_fr2_Add_UE_NR_Capabilities, { "fr1-fr2-Add-UE-NR-Capabilities", "nr-rrc.fr1_fr2_Add_UE_NR_Capabilities_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_CapabilityAddFRX_Mode", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_57, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1550", HFILL }}, { &hf_nr_rrc_reducedCP_Latency, { "reducedCP-Latency", "nr-rrc.reducedCP_Latency", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reducedCP_Latency_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_58, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1560", HFILL }}, { &hf_nr_rrc_nrdc_Parameters, { "nrdc-Parameters", "nr-rrc.nrdc_Parameters_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_receivedFilters_01, { "receivedFilters", "nr-rrc.receivedFilters", FT_BYTES, BASE_NONE, NULL, 0, "T_receivedFilters_01", HFILL }}, { &hf_nr_rrc_nonCriticalExtension_59, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "UE_NR_Capability_v1570", HFILL }}, { &hf_nr_rrc_nrdc_Parameters_v1570, { "nrdc-Parameters-v1570", "nr-rrc.nrdc_Parameters_v1570_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_nonCriticalExtension_60, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, "T_nonCriticalExtension_39", HFILL }}, { &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item, { "EUTRA-MBSFN-SubframeConfig", "nr-rrc.EUTRA_MBSFN_SubframeConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_radioframeAllocationPeriod, { "radioframeAllocationPeriod", "nr-rrc.radioframeAllocationPeriod", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioframeAllocationPeriod_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_radioframeAllocationOffset, { "radioframeAllocationOffset", "nr-rrc.radioframeAllocationOffset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_7", HFILL }}, { &hf_nr_rrc_subframeAllocation1, { "subframeAllocation1", "nr-rrc.subframeAllocation1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation1_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneFrame, { "oneFrame", "nr-rrc.oneFrame", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_6", HFILL }}, { &hf_nr_rrc_fourFrames, { "fourFrames", "nr-rrc.fourFrames", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_24", HFILL }}, { &hf_nr_rrc_subframeAllocation2, { "subframeAllocation2", "nr-rrc.subframeAllocation2", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation2_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_oneFrame_01, { "oneFrame", "nr-rrc.oneFrame", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_2", HFILL }}, { &hf_nr_rrc_fourFrames_01, { "fourFrames", "nr-rrc.fourFrames", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_8", HFILL }}, { &hf_nr_rrc_EUTRA_MultiBandInfoList_item, { "EUTRA-MultiBandInfo", "nr-rrc.EUTRA_MultiBandInfo_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_eutra_FreqBandIndicator, { "eutra-FreqBandIndicator", "nr-rrc.eutra_FreqBandIndicator", FT_UINT32, BASE_DEC, NULL, 0, "FreqBandIndicatorEUTRA", HFILL }}, { &hf_nr_rrc_eutra_NS_PmaxList, { "eutra-NS-PmaxList", "nr-rrc.eutra_NS_PmaxList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_EUTRA_NS_PmaxList_item, { "EUTRA-NS-PmaxValue", "nr-rrc.EUTRA_NS_PmaxValue_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_additionalPmax_01, { "additionalPmax", "nr-rrc.additionalPmax", FT_INT32, BASE_DEC|BASE_UNIT_STRING, &units_dbm, 0, "INTEGER_M30_33", HFILL }}, { &hf_nr_rrc_additionalSpectrumEmission_01, { "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_1_288", HFILL }}, { &hf_nr_rrc_start_01, { "start", "nr-rrc.start", FT_UINT32, BASE_DEC, NULL, 0, "EUTRA_PhysCellId", HFILL }}, { &hf_nr_rrc_range_01, { "range", "nr-rrc.range", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_01_vals), 0, "T_range_01", HFILL }}, { &hf_nr_rrc_delayBudgetReportingConfig, { "delayBudgetReportingConfig", "nr-rrc.delayBudgetReportingConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReportingConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_51, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_delayBudgetReportingProhibitTimer, { "delayBudgetReportingProhibitTimer", "nr-rrc.delayBudgetReportingProhibitTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_delayBudgetReportingProhibitTimer_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_overheatingAssistanceConfig, { "overheatingAssistanceConfig", "nr-rrc.overheatingAssistanceConfig", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingAssistanceConfig_vals), 0, NULL, HFILL }}, { &hf_nr_rrc_setup_52, { "setup", "nr-rrc.setup_element", FT_NONE, BASE_NONE, NULL, 0, "OverheatingAssistanceConfig", HFILL }}, { &hf_nr_rrc_overheatingIndicationProhibitTimer, { "overheatingIndicationProhibitTimer", "nr-rrc.overheatingIndicationProhibitTimer", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_overheatingIndicationProhibitTimer_vals), 0, NULL, HFILL }}, /*--- End of included file: packet-nr-rrc-hfarr.c ---*/ #line 388 "./asn1/nr-rrc/packet-nr-rrc-template.c" { &hf_nr_rrc_serialNumber_gs, { "Geographical Scope", "nr-rrc.serialNumber.gs", FT_UINT16, BASE_DEC, VALS(nr_rrc_serialNumber_gs_vals), 0xc000, NULL, HFILL }}, { &hf_nr_rrc_serialNumber_msg_code, { "Message Code", "nr-rrc.serialNumber.msg_code", FT_UINT16, BASE_DEC, NULL, 0x3ff0, NULL, HFILL }}, { &hf_nr_rrc_serialNumber_upd_nb, { "Update Number", "nr-rrc.serialNumber.upd_nb", FT_UINT16, BASE_DEC, NULL, 0x000f, NULL, HFILL }}, { &hf_nr_rrc_warningType_value, { "Warning Type Value", "nr-rrc.warningType.value", FT_UINT16, BASE_DEC, VALS(nr_rrc_warningType_vals), 0xfe00, NULL, HFILL }}, { &hf_nr_rrc_warningType_emergency_user_alert, { "Emergency User Alert", "nr-rrc.warningType.emergency_user_alert", FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100, NULL, HFILL }}, { &hf_nr_rrc_warningType_popup, { "Popup", "nr-rrc.warningType.popup", FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080, NULL, HFILL }}, { &hf_nr_rrc_warningMessageSegment_nb_pages, { "Number of Pages", "nr-rrc.warningMessageSegment.nb_pages", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_warningMessageSegment_decoded_page, { "Decoded Page", "nr-rrc.warningMessageSegment.decoded_page", FT_STRING, STR_UNICODE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragments, { "Fragments", "nr-rrc.warningMessageSegment.fragments", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragment, { "Fragment", "nr-rrc.warningMessageSegment.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragment_overlap, { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragment_overlap_conflict, { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragment_multiple_tails, { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragment_too_long_fragment, { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragment_error, { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error", FT_FRAMENUM, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_fragment_count, { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_reassembled_in, { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_reassembled_length, { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib7_reassembled_data, { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragments, { "Fragments", "nr-rrc.warningMessageSegment.fragments", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragment, { "Fragment", "nr-rrc.warningMessageSegment.fragment", FT_FRAMENUM, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragment_overlap, { "Fragment Overlap", "nr-rrc.warningMessageSegment.fragment_overlap", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragment_overlap_conflict, { "Fragment Overlap Conflict", "nr-rrc.warningMessageSegment.fragment_overlap_conflict", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragment_multiple_tails, { "Fragment Multiple Tails", "nr-rrc.warningMessageSegment.fragment_multiple_tails", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragment_too_long_fragment, { "Too Long Fragment", "nr-rrc.warningMessageSegment.fragment_too_long_fragment", FT_BOOLEAN, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragment_error, { "Fragment Error", "nr-rrc.warningMessageSegment.fragment_error", FT_FRAMENUM, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_fragment_count, { "Fragment Count", "nr-rrc.warningMessageSegment.fragment_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_reassembled_in, { "Reassembled In", "nr-rrc.warningMessageSegment.reassembled_in", FT_FRAMENUM, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_reassembled_length, { "Reassembled Length", "nr-rrc.warningMessageSegment.reassembled_length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_sib8_reassembled_data, { "Reassembled Data", "nr-rrc.warningMessageSegment.reassembled_data", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, { &hf_nr_rrc_utc_time, { "UTC time", "nr-rrc.utc_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_UTC, NULL, 0x0, NULL, HFILL }}, { &hf_nr_rrc_local_time, { "Local time", "nr-rrc.local_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0x0, NULL, HFILL }}, }; static gint *ett[] = { &ett_nr_rrc, /*--- Included file: packet-nr-rrc-ettarr.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-ettarr.c" &ett_nr_rrc_HandoverCommand, &ett_nr_rrc_T_criticalExtensions, &ett_nr_rrc_T_c1, &ett_nr_rrc_T_criticalExtensionsFuture, &ett_nr_rrc_HandoverCommand_IEs, &ett_nr_rrc_T_nonCriticalExtension, &ett_nr_rrc_HandoverPreparationInformation, &ett_nr_rrc_T_criticalExtensions_01, &ett_nr_rrc_T_c1_01, &ett_nr_rrc_T_criticalExtensionsFuture_01, &ett_nr_rrc_HandoverPreparationInformation_IEs, &ett_nr_rrc_T_nonCriticalExtension_01, &ett_nr_rrc_AS_Config, &ett_nr_rrc_AS_Context, &ett_nr_rrc_ReestablishmentInfo, &ett_nr_rrc_ReestabNCellInfoList, &ett_nr_rrc_ReestabNCellInfo, &ett_nr_rrc_RRM_Config, &ett_nr_rrc_CG_Config, &ett_nr_rrc_T_criticalExtensions_02, &ett_nr_rrc_T_c1_02, &ett_nr_rrc_T_criticalExtensionsFuture_02, &ett_nr_rrc_CG_Config_IEs, &ett_nr_rrc_CG_Config_v1540_IEs, &ett_nr_rrc_T_reportCGI_RequestNR, &ett_nr_rrc_T_requestedCellInfo, &ett_nr_rrc_CG_Config_v1560_IEs, &ett_nr_rrc_T_reportCGI_RequestEUTRA, &ett_nr_rrc_T_requestedCellInfoEUTRA, &ett_nr_rrc_T_nonCriticalExtension_02, &ett_nr_rrc_PH_TypeListSCG, &ett_nr_rrc_PH_InfoSCG, &ett_nr_rrc_PH_UplinkCarrierSCG, &ett_nr_rrc_MeasConfigSN, &ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo, &ett_nr_rrc_NR_FreqInfo, &ett_nr_rrc_ConfigRestrictModReqSCG, &ett_nr_rrc_BandCombinationInfoSN, &ett_nr_rrc_FR_InfoList, &ett_nr_rrc_FR_Info, &ett_nr_rrc_CandidateServingFreqListNR, &ett_nr_rrc_CandidateServingFreqListEUTRA, &ett_nr_rrc_CG_ConfigInfo, &ett_nr_rrc_T_criticalExtensions_03, &ett_nr_rrc_T_c1_03, &ett_nr_rrc_T_criticalExtensionsFuture_03, &ett_nr_rrc_CG_ConfigInfo_IEs, &ett_nr_rrc_T_scgFailureInfo, &ett_nr_rrc_CG_ConfigInfo_v1540_IEs, &ett_nr_rrc_T_measResultReportCGI, &ett_nr_rrc_CG_ConfigInfo_v1560_IEs, &ett_nr_rrc_T_scgFailureInfoEUTRA, &ett_nr_rrc_T_measResultReportCGI_EUTRA, &ett_nr_rrc_CG_ConfigInfo_v1570_IEs, &ett_nr_rrc_T_nonCriticalExtension_03, &ett_nr_rrc_SFTD_FrequencyList_NR, &ett_nr_rrc_SFTD_FrequencyList_EUTRA, &ett_nr_rrc_ConfigRestrictInfoSCG, &ett_nr_rrc_T_powerCoordination_FR1, &ett_nr_rrc_T_servCellIndexRangeSCG, &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandComb_OF_SelectedBandEntriesMN, &ett_nr_rrc_SelectedBandEntriesMN, &ett_nr_rrc_PH_TypeListMCG, &ett_nr_rrc_PH_InfoMCG, &ett_nr_rrc_PH_UplinkCarrierMCG, &ett_nr_rrc_BandCombinationInfoList, &ett_nr_rrc_BandCombinationInfo, &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetsPerBand_OF_FeatureSetEntryIndex, &ett_nr_rrc_DRX_Info, &ett_nr_rrc_T_drx_LongCycleStartOffset, &ett_nr_rrc_T_shortDRX, &ett_nr_rrc_MeasConfigMN, &ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo, &ett_nr_rrc_T_measGapConfig, &ett_nr_rrc_T_measGapConfigFR2, &ett_nr_rrc_MRDC_AssistanceInfo, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCombIDC_OF_AffectedCarrierFreqCombInfoMRDC, &ett_nr_rrc_AffectedCarrierFreqCombInfoMRDC, &ett_nr_rrc_T_affectedCarrierFreqCombMRDC, &ett_nr_rrc_VictimSystemType, &ett_nr_rrc_AffectedCarrierFreqCombEUTRA, &ett_nr_rrc_AffectedCarrierFreqCombNR, &ett_nr_rrc_MeasurementTimingConfiguration, &ett_nr_rrc_T_criticalExtensions_04, &ett_nr_rrc_T_c1_04, &ett_nr_rrc_T_criticalExtensionsFuture_04, &ett_nr_rrc_MeasurementTimingConfiguration_IEs, &ett_nr_rrc_MeasurementTimingConfiguration_v1550_IEs, &ett_nr_rrc_T_nonCriticalExtension_04, &ett_nr_rrc_MeasTimingList, &ett_nr_rrc_MeasTiming, &ett_nr_rrc_T_frequencyAndTiming, &ett_nr_rrc_UERadioPagingInformation, &ett_nr_rrc_T_criticalExtensions_05, &ett_nr_rrc_T_c1_05, &ett_nr_rrc_T_criticalExtensionsFuture_05, &ett_nr_rrc_UERadioPagingInformation_IEs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_FreqBandIndicatorNR, &ett_nr_rrc_T_nonCriticalExtension_05, &ett_nr_rrc_UERadioAccessCapabilityInformation, &ett_nr_rrc_T_criticalExtensions_06, &ett_nr_rrc_T_c1_06, &ett_nr_rrc_T_criticalExtensionsFuture_06, &ett_nr_rrc_UERadioAccessCapabilityInformation_IEs, &ett_nr_rrc_T_nonCriticalExtension_06, &ett_nr_rrc_BCCH_BCH_Message, &ett_nr_rrc_BCCH_BCH_MessageType, &ett_nr_rrc_T_messageClassExtension, &ett_nr_rrc_BCCH_DL_SCH_Message, &ett_nr_rrc_BCCH_DL_SCH_MessageType, &ett_nr_rrc_T_c1_07, &ett_nr_rrc_T_messageClassExtension_01, &ett_nr_rrc_DL_CCCH_Message, &ett_nr_rrc_DL_CCCH_MessageType, &ett_nr_rrc_T_c1_08, &ett_nr_rrc_T_messageClassExtension_02, &ett_nr_rrc_DL_DCCH_Message, &ett_nr_rrc_DL_DCCH_MessageType, &ett_nr_rrc_T_c1_09, &ett_nr_rrc_T_messageClassExtension_03, &ett_nr_rrc_PCCH_Message, &ett_nr_rrc_PCCH_MessageType, &ett_nr_rrc_T_c1_10, &ett_nr_rrc_T_messageClassExtension_04, &ett_nr_rrc_UL_CCCH_Message, &ett_nr_rrc_UL_CCCH_MessageType, &ett_nr_rrc_T_c1_11, &ett_nr_rrc_T_messageClassExtension_05, &ett_nr_rrc_UL_CCCH1_Message, &ett_nr_rrc_UL_CCCH1_MessageType, &ett_nr_rrc_T_c1_12, &ett_nr_rrc_T_messageClassExtension_06, &ett_nr_rrc_UL_DCCH_Message, &ett_nr_rrc_UL_DCCH_MessageType, &ett_nr_rrc_T_c1_13, &ett_nr_rrc_T_messageClassExtension_07, &ett_nr_rrc_CounterCheck, &ett_nr_rrc_T_criticalExtensions_07, &ett_nr_rrc_T_criticalExtensionsFuture_07, &ett_nr_rrc_CounterCheck_IEs, &ett_nr_rrc_T_nonCriticalExtension_07, &ett_nr_rrc_DRB_CountMSB_InfoList, &ett_nr_rrc_DRB_CountMSB_Info, &ett_nr_rrc_CounterCheckResponse, &ett_nr_rrc_T_criticalExtensions_08, &ett_nr_rrc_T_criticalExtensionsFuture_08, &ett_nr_rrc_CounterCheckResponse_IEs, &ett_nr_rrc_T_nonCriticalExtension_08, &ett_nr_rrc_DRB_CountInfoList, &ett_nr_rrc_DRB_CountInfo, &ett_nr_rrc_DLInformationTransfer, &ett_nr_rrc_T_criticalExtensions_09, &ett_nr_rrc_T_criticalExtensionsFuture_09, &ett_nr_rrc_DLInformationTransfer_IEs, &ett_nr_rrc_T_nonCriticalExtension_09, &ett_nr_rrc_FailureInformation, &ett_nr_rrc_T_criticalExtensions_10, &ett_nr_rrc_T_criticalExtensionsFuture_10, &ett_nr_rrc_FailureInformation_IEs, &ett_nr_rrc_T_nonCriticalExtension_10, &ett_nr_rrc_FailureInfoRLC_Bearer, &ett_nr_rrc_LocationMeasurementIndication, &ett_nr_rrc_T_criticalExtensions_11, &ett_nr_rrc_T_criticalExtensionsFuture_11, &ett_nr_rrc_LocationMeasurementIndication_IEs, &ett_nr_rrc_T_measurementIndication, &ett_nr_rrc_T_nonCriticalExtension_11, &ett_nr_rrc_MeasurementReport, &ett_nr_rrc_T_criticalExtensions_12, &ett_nr_rrc_T_criticalExtensionsFuture_12, &ett_nr_rrc_MeasurementReport_IEs, &ett_nr_rrc_T_nonCriticalExtension_12, &ett_nr_rrc_MIB, &ett_nr_rrc_MobilityFromNRCommand, &ett_nr_rrc_T_criticalExtensions_13, &ett_nr_rrc_T_criticalExtensionsFuture_13, &ett_nr_rrc_MobilityFromNRCommand_IEs, &ett_nr_rrc_T_nonCriticalExtension_13, &ett_nr_rrc_Paging, &ett_nr_rrc_T_nonCriticalExtension_14, &ett_nr_rrc_PagingRecordList, &ett_nr_rrc_PagingRecord, &ett_nr_rrc_PagingUE_Identity, &ett_nr_rrc_RRCReestablishment, &ett_nr_rrc_T_criticalExtensions_14, &ett_nr_rrc_T_criticalExtensionsFuture_14, &ett_nr_rrc_RRCReestablishment_IEs, &ett_nr_rrc_T_nonCriticalExtension_15, &ett_nr_rrc_RRCReestablishmentComplete, &ett_nr_rrc_T_criticalExtensions_15, &ett_nr_rrc_T_criticalExtensionsFuture_15, &ett_nr_rrc_RRCReestablishmentComplete_IEs, &ett_nr_rrc_T_nonCriticalExtension_16, &ett_nr_rrc_RRCReestablishmentRequest, &ett_nr_rrc_RRCReestablishmentRequest_IEs, &ett_nr_rrc_ReestabUE_Identity, &ett_nr_rrc_RRCReconfiguration, &ett_nr_rrc_T_criticalExtensions_16, &ett_nr_rrc_T_criticalExtensionsFuture_16, &ett_nr_rrc_RRCReconfiguration_IEs, &ett_nr_rrc_RRCReconfiguration_v1530_IEs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxDRB_OF_DedicatedNAS_Message, &ett_nr_rrc_RRCReconfiguration_v1540_IEs, &ett_nr_rrc_RRCReconfiguration_v1560_IEs, &ett_nr_rrc_T_mrdc_SecondaryCellGroupConfig, &ett_nr_rrc_T_nonCriticalExtension_17, &ett_nr_rrc_MRDC_SecondaryCellGroupConfig, &ett_nr_rrc_T_mrdc_SecondaryCellGroup, &ett_nr_rrc_MasterKeyUpdate, &ett_nr_rrc_RRCReconfigurationComplete, &ett_nr_rrc_T_criticalExtensions_17, &ett_nr_rrc_T_criticalExtensionsFuture_17, &ett_nr_rrc_RRCReconfigurationComplete_IEs, &ett_nr_rrc_RRCReconfigurationComplete_v1530_IEs, &ett_nr_rrc_RRCReconfigurationComplete_v1560_IEs, &ett_nr_rrc_T_scg_Response, &ett_nr_rrc_T_nonCriticalExtension_18, &ett_nr_rrc_RRCReject, &ett_nr_rrc_T_criticalExtensions_18, &ett_nr_rrc_T_criticalExtensionsFuture_18, &ett_nr_rrc_RRCReject_IEs, &ett_nr_rrc_T_nonCriticalExtension_19, &ett_nr_rrc_RRCRelease, &ett_nr_rrc_T_criticalExtensions_19, &ett_nr_rrc_T_criticalExtensionsFuture_19, &ett_nr_rrc_RRCRelease_IEs, &ett_nr_rrc_T_deprioritisationReq, &ett_nr_rrc_RRCRelease_v1540_IEs, &ett_nr_rrc_T_nonCriticalExtension_20, &ett_nr_rrc_RedirectedCarrierInfo, &ett_nr_rrc_RedirectedCarrierInfo_EUTRA, &ett_nr_rrc_CarrierInfoNR, &ett_nr_rrc_SuspendConfig, &ett_nr_rrc_CellReselectionPriorities, &ett_nr_rrc_FreqPriorityListEUTRA, &ett_nr_rrc_FreqPriorityListNR, &ett_nr_rrc_FreqPriorityEUTRA, &ett_nr_rrc_FreqPriorityNR, &ett_nr_rrc_RAN_NotificationAreaInfo, &ett_nr_rrc_PLMN_RAN_AreaCellList, &ett_nr_rrc_PLMN_RAN_AreaCell, &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_CellIdentity, &ett_nr_rrc_PLMN_RAN_AreaConfigList, &ett_nr_rrc_PLMN_RAN_AreaConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_16_OF_RAN_AreaConfig, &ett_nr_rrc_RAN_AreaConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_RAN_AreaCode, &ett_nr_rrc_RRCResume, &ett_nr_rrc_T_criticalExtensions_20, &ett_nr_rrc_T_criticalExtensionsFuture_20, &ett_nr_rrc_RRCResume_IEs, &ett_nr_rrc_RRCResume_v1560_IEs, &ett_nr_rrc_T_nonCriticalExtension_21, &ett_nr_rrc_RRCResumeComplete, &ett_nr_rrc_T_criticalExtensions_21, &ett_nr_rrc_T_criticalExtensionsFuture_21, &ett_nr_rrc_RRCResumeComplete_IEs, &ett_nr_rrc_T_nonCriticalExtension_22, &ett_nr_rrc_RRCResumeRequest, &ett_nr_rrc_RRCResumeRequest_IEs, &ett_nr_rrc_RRCResumeRequest1, &ett_nr_rrc_RRCResumeRequest1_IEs, &ett_nr_rrc_RRCSetup, &ett_nr_rrc_T_criticalExtensions_22, &ett_nr_rrc_T_criticalExtensionsFuture_22, &ett_nr_rrc_RRCSetup_IEs, &ett_nr_rrc_T_nonCriticalExtension_23, &ett_nr_rrc_RRCSetupComplete, &ett_nr_rrc_T_criticalExtensions_23, &ett_nr_rrc_T_criticalExtensionsFuture_23, &ett_nr_rrc_RRCSetupComplete_IEs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofS_NSSAI_OF_S_NSSAI, &ett_nr_rrc_T_ng_5G_S_TMSI_Value, &ett_nr_rrc_T_nonCriticalExtension_24, &ett_nr_rrc_RegisteredAMF, &ett_nr_rrc_RRCSetupRequest, &ett_nr_rrc_RRCSetupRequest_IEs, &ett_nr_rrc_InitialUE_Identity, &ett_nr_rrc_RRCSystemInfoRequest, &ett_nr_rrc_T_criticalExtensions_24, &ett_nr_rrc_T_criticalExtensionsFuture_24, &ett_nr_rrc_RRCSystemInfoRequest_IEs, &ett_nr_rrc_SCGFailureInformation, &ett_nr_rrc_T_criticalExtensions_25, &ett_nr_rrc_T_criticalExtensionsFuture_25, &ett_nr_rrc_SCGFailureInformation_IEs, &ett_nr_rrc_T_nonCriticalExtension_25, &ett_nr_rrc_FailureReportSCG, &ett_nr_rrc_MeasResultFreqList, &ett_nr_rrc_SCGFailureInformationEUTRA, &ett_nr_rrc_T_criticalExtensions_26, &ett_nr_rrc_T_criticalExtensionsFuture_26, &ett_nr_rrc_SCGFailureInformationEUTRA_IEs, &ett_nr_rrc_T_nonCriticalExtension_26, &ett_nr_rrc_FailureReportSCG_EUTRA, &ett_nr_rrc_MeasResultFreqListFailMRDC, &ett_nr_rrc_SecurityModeCommand, &ett_nr_rrc_T_criticalExtensions_27, &ett_nr_rrc_T_criticalExtensionsFuture_27, &ett_nr_rrc_SecurityModeCommand_IEs, &ett_nr_rrc_T_nonCriticalExtension_27, &ett_nr_rrc_SecurityConfigSMC, &ett_nr_rrc_SecurityModeComplete, &ett_nr_rrc_T_criticalExtensions_28, &ett_nr_rrc_T_criticalExtensionsFuture_28, &ett_nr_rrc_SecurityModeComplete_IEs, &ett_nr_rrc_T_nonCriticalExtension_28, &ett_nr_rrc_SecurityModeFailure, &ett_nr_rrc_T_criticalExtensions_29, &ett_nr_rrc_T_criticalExtensionsFuture_29, &ett_nr_rrc_SecurityModeFailure_IEs, &ett_nr_rrc_T_nonCriticalExtension_29, &ett_nr_rrc_SIB1, &ett_nr_rrc_T_cellSelectionInfo, &ett_nr_rrc_T_uac_BarringInfo, &ett_nr_rrc_T_uac_AccessCategory1_SelectionAssistanceInfo, &ett_nr_rrc_SEQUENCE_SIZE_2_maxPLMN_OF_UAC_AccessCategory1_SelectionAssistanceInfo, &ett_nr_rrc_T_nonCriticalExtension_30, &ett_nr_rrc_SystemInformation, &ett_nr_rrc_T_criticalExtensions_30, &ett_nr_rrc_T_criticalExtensionsFuture_30, &ett_nr_rrc_SystemInformation_IEs, &ett_nr_rrc_T_sib_TypeAndInfo, &ett_nr_rrc_T_sib_TypeAndInfo_item, &ett_nr_rrc_T_nonCriticalExtension_31, &ett_nr_rrc_UEAssistanceInformation, &ett_nr_rrc_T_criticalExtensions_31, &ett_nr_rrc_T_criticalExtensionsFuture_31, &ett_nr_rrc_UEAssistanceInformation_IEs, &ett_nr_rrc_DelayBudgetReport, &ett_nr_rrc_UEAssistanceInformation_v1540_IEs, &ett_nr_rrc_T_nonCriticalExtension_32, &ett_nr_rrc_OverheatingAssistance, &ett_nr_rrc_T_reducedMaxCCs, &ett_nr_rrc_T_reducedMaxBW_FR1, &ett_nr_rrc_T_reducedMaxBW_FR2, &ett_nr_rrc_T_reducedMaxMIMO_LayersFR1, &ett_nr_rrc_T_reducedMaxMIMO_LayersFR2, &ett_nr_rrc_UECapabilityEnquiry, &ett_nr_rrc_T_criticalExtensions_32, &ett_nr_rrc_T_criticalExtensionsFuture_32, &ett_nr_rrc_UECapabilityEnquiry_IEs, &ett_nr_rrc_UECapabilityEnquiry_v1560_IEs, &ett_nr_rrc_T_nonCriticalExtension_33, &ett_nr_rrc_UECapabilityInformation, &ett_nr_rrc_T_criticalExtensions_33, &ett_nr_rrc_T_criticalExtensionsFuture_33, &ett_nr_rrc_UECapabilityInformation_IEs, &ett_nr_rrc_T_nonCriticalExtension_34, &ett_nr_rrc_ULInformationTransfer, &ett_nr_rrc_T_criticalExtensions_34, &ett_nr_rrc_T_criticalExtensionsFuture_34, &ett_nr_rrc_ULInformationTransfer_IEs, &ett_nr_rrc_T_nonCriticalExtension_35, &ett_nr_rrc_ULInformationTransferMRDC, &ett_nr_rrc_T_criticalExtensions_35, &ett_nr_rrc_T_c1_14, &ett_nr_rrc_T_criticalExtensionsFuture_35, &ett_nr_rrc_ULInformationTransferMRDC_IEs, &ett_nr_rrc_T_nonCriticalExtension_36, &ett_nr_rrc_SIB2, &ett_nr_rrc_T_cellReselectionInfoCommon, &ett_nr_rrc_T_speedStateReselectionPars, &ett_nr_rrc_T_q_HystSF, &ett_nr_rrc_T_cellReselectionServingFreqInfo, &ett_nr_rrc_T_intraFreqCellReselectionInfo, &ett_nr_rrc_SIB3, &ett_nr_rrc_IntraFreqNeighCellList, &ett_nr_rrc_IntraFreqNeighCellInfo, &ett_nr_rrc_IntraFreqBlackCellList, &ett_nr_rrc_SIB4, &ett_nr_rrc_InterFreqCarrierFreqList, &ett_nr_rrc_InterFreqCarrierFreqInfo, &ett_nr_rrc_T_threshX_Q, &ett_nr_rrc_InterFreqNeighCellList, &ett_nr_rrc_InterFreqNeighCellInfo, &ett_nr_rrc_InterFreqBlackCellList, &ett_nr_rrc_SIB5, &ett_nr_rrc_CarrierFreqListEUTRA, &ett_nr_rrc_CarrierFreqEUTRA, &ett_nr_rrc_T_threshX_Q_01, &ett_nr_rrc_EUTRA_FreqBlackCellList, &ett_nr_rrc_EUTRA_FreqNeighCellList, &ett_nr_rrc_EUTRA_FreqNeighCellInfo, &ett_nr_rrc_SIB6, &ett_nr_rrc_SIB7, &ett_nr_rrc_SIB8, &ett_nr_rrc_SIB9, &ett_nr_rrc_T_timeInfo, &ett_nr_rrc_BeamFailureRecoveryConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR, &ett_nr_rrc_PRACH_ResourceDedicatedBFR, &ett_nr_rrc_BFR_SSB_Resource, &ett_nr_rrc_BFR_CSIRS_Resource, &ett_nr_rrc_T_ra_OccasionList, &ett_nr_rrc_BetaOffsets, &ett_nr_rrc_BSR_Config, &ett_nr_rrc_BWP, &ett_nr_rrc_BWP_Downlink, &ett_nr_rrc_BWP_DownlinkCommon, &ett_nr_rrc_T_pdcch_ConfigCommon, &ett_nr_rrc_T_pdsch_ConfigCommon, &ett_nr_rrc_BWP_DownlinkDedicated, &ett_nr_rrc_T_pdcch_Config, &ett_nr_rrc_T_pdsch_Config, &ett_nr_rrc_T_sps_Config, &ett_nr_rrc_T_radioLinkMonitoringConfig, &ett_nr_rrc_BWP_Uplink, &ett_nr_rrc_BWP_UplinkCommon, &ett_nr_rrc_T_rach_ConfigCommon, &ett_nr_rrc_T_pusch_ConfigCommon, &ett_nr_rrc_T_pucch_ConfigCommon, &ett_nr_rrc_BWP_UplinkDedicated, &ett_nr_rrc_T_pucch_Config, &ett_nr_rrc_T_pusch_Config, &ett_nr_rrc_T_configuredGrantConfig, &ett_nr_rrc_T_srs_Config, &ett_nr_rrc_T_beamFailureRecoveryConfig, &ett_nr_rrc_CellAccessRelatedInfo, &ett_nr_rrc_CellAccessRelatedInfo_EUTRA_5GC, &ett_nr_rrc_PLMN_IdentityList_EUTRA_5GC, &ett_nr_rrc_PLMN_Identity_EUTRA_5GC, &ett_nr_rrc_CellIdentity_EUTRA_5GC, &ett_nr_rrc_CellAccessRelatedInfo_EUTRA_EPC, &ett_nr_rrc_PLMN_IdentityList_EUTRA_EPC, &ett_nr_rrc_CellGroupConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex, &ett_nr_rrc_SpCellConfig, &ett_nr_rrc_T_rlf_TimersAndConstants, &ett_nr_rrc_ReconfigurationWithSync, &ett_nr_rrc_T_rach_ConfigDedicated, &ett_nr_rrc_SCellConfig, &ett_nr_rrc_CGI_InfoEUTRA, &ett_nr_rrc_T_cgi_info_EPC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_EPC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_CellAccessRelatedInfo_EUTRA_5GC, &ett_nr_rrc_CGI_InfoNR, &ett_nr_rrc_T_noSIB1, &ett_nr_rrc_CodebookConfig, &ett_nr_rrc_T_codebookType, &ett_nr_rrc_T_type1_01, &ett_nr_rrc_T_subType, &ett_nr_rrc_T_typeI_SinglePanel, &ett_nr_rrc_T_nrOfAntennaPorts, &ett_nr_rrc_T_two, &ett_nr_rrc_T_moreThanTwo, &ett_nr_rrc_T_n1_n2, &ett_nr_rrc_T_typeI_MultiPanel, &ett_nr_rrc_T_ng_n1_n2, &ett_nr_rrc_T_type2, &ett_nr_rrc_T_subType_01, &ett_nr_rrc_T_typeII, &ett_nr_rrc_T_n1_n2_codebookSubsetRestriction, &ett_nr_rrc_T_typeII_PortSelection, &ett_nr_rrc_ConfiguredGrantConfig, &ett_nr_rrc_T_uci_OnPUSCH, &ett_nr_rrc_T_rrc_ConfiguredUplinkGrant, &ett_nr_rrc_CG_UCI_OnPUSCH, &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, &ett_nr_rrc_ConnEstFailureControl, &ett_nr_rrc_ControlResourceSet, &ett_nr_rrc_T_cce_REG_MappingType, &ett_nr_rrc_T_interleaved, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId, &ett_nr_rrc_CrossCarrierSchedulingConfig, &ett_nr_rrc_T_schedulingCellInfo, &ett_nr_rrc_T_own, &ett_nr_rrc_T_other, &ett_nr_rrc_CSI_AperiodicTriggerStateList, &ett_nr_rrc_CSI_AperiodicTriggerState, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo, &ett_nr_rrc_CSI_AssociatedReportConfigInfo, &ett_nr_rrc_T_resourcesForChannel, &ett_nr_rrc_T_nzp_CSI_RS, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId, &ett_nr_rrc_CSI_FrequencyOccupation, &ett_nr_rrc_CSI_IM_Resource, &ett_nr_rrc_T_csi_IM_ResourceElementPattern, &ett_nr_rrc_T_pattern0, &ett_nr_rrc_T_pattern1, &ett_nr_rrc_CSI_IM_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId, &ett_nr_rrc_CSI_MeasConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId, &ett_nr_rrc_T_aperiodicTriggerStateList, &ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList, &ett_nr_rrc_CSI_ReportConfig, &ett_nr_rrc_T_reportConfigType, &ett_nr_rrc_T_periodic, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource, &ett_nr_rrc_T_semiPersistentOnPUCCH, &ett_nr_rrc_T_semiPersistentOnPUSCH, &ett_nr_rrc_T_reportSlotOffsetList, &ett_nr_rrc_T_aperiodic, &ett_nr_rrc_T_reportSlotOffsetList_01, &ett_nr_rrc_T_reportQuantity, &ett_nr_rrc_T_cri_RI_i1_CQI, &ett_nr_rrc_T_reportFreqConfiguration, &ett_nr_rrc_T_csi_ReportingBand, &ett_nr_rrc_T_groupBasedBeamReporting, &ett_nr_rrc_T_disabled, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks, &ett_nr_rrc_T_semiPersistentOnPUSCH_v1530, &ett_nr_rrc_CSI_ReportPeriodicityAndOffset, &ett_nr_rrc_PUCCH_CSI_Resource, &ett_nr_rrc_PortIndexFor8Ranks, &ett_nr_rrc_T_portIndex8, &ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8, &ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8, &ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8, &ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8, &ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8, &ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8, &ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8, &ett_nr_rrc_T_portIndex4, &ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4, &ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4, &ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4, &ett_nr_rrc_T_portIndex2, &ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2, &ett_nr_rrc_CSI_ResourceConfig, &ett_nr_rrc_T_csi_RS_ResourceSetList, &ett_nr_rrc_T_nzp_CSI_RS_SSB, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId, &ett_nr_rrc_CSI_ResourcePeriodicityAndOffset, &ett_nr_rrc_CSI_RS_ResourceConfigMobility, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility, &ett_nr_rrc_CSI_RS_CellMobility, &ett_nr_rrc_T_csi_rs_MeasurementBW, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, &ett_nr_rrc_CSI_RS_Resource_Mobility, &ett_nr_rrc_T_slotConfig, &ett_nr_rrc_T_associatedSSB, &ett_nr_rrc_T_frequencyDomainAllocation, &ett_nr_rrc_CSI_RS_ResourceMapping, &ett_nr_rrc_T_frequencyDomainAllocation_01, &ett_nr_rrc_T_density_01, &ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList, &ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState, &ett_nr_rrc_CSI_SSB_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index, &ett_nr_rrc_DMRS_DownlinkConfig, &ett_nr_rrc_T_phaseTrackingRS, &ett_nr_rrc_DMRS_UplinkConfig, &ett_nr_rrc_T_phaseTrackingRS_01, &ett_nr_rrc_T_transformPrecodingDisabled, &ett_nr_rrc_T_transformPrecodingEnabled, &ett_nr_rrc_DownlinkConfigCommon, &ett_nr_rrc_DownlinkConfigCommonSIB, &ett_nr_rrc_BCCH_Config, &ett_nr_rrc_PCCH_Config, &ett_nr_rrc_T_nAndPagingFrameOffset, &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO, &ett_nr_rrc_T_sCS15KHZoneT, &ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT, &ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT, &ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT, &ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT, &ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT, &ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT, &ett_nr_rrc_T_sCS120KHZoneSixteenthT, &ett_nr_rrc_DownlinkPreemption, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell, &ett_nr_rrc_INT_ConfigurationPerServingCell, &ett_nr_rrc_DRX_Config, &ett_nr_rrc_T_drx_onDurationTimer, &ett_nr_rrc_T_drx_LongCycleStartOffset_01, &ett_nr_rrc_T_shortDRX_01, &ett_nr_rrc_FrequencyInfoDL, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier, &ett_nr_rrc_FrequencyInfoDL_SIB, &ett_nr_rrc_FrequencyInfoUL, &ett_nr_rrc_FrequencyInfoUL_SIB, &ett_nr_rrc_LocationMeasurementInfo, &ett_nr_rrc_EUTRA_RSTD_InfoList, &ett_nr_rrc_EUTRA_RSTD_Info, &ett_nr_rrc_LogicalChannelConfig, &ett_nr_rrc_T_ul_SpecificParameters, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, &ett_nr_rrc_MAC_CellGroupConfig, &ett_nr_rrc_T_drx_Config, &ett_nr_rrc_T_phr_Config, &ett_nr_rrc_T_dataInactivityTimer, &ett_nr_rrc_MeasConfig, &ett_nr_rrc_T_s_MeasureConfig, &ett_nr_rrc_MeasObjectToRemoveList, &ett_nr_rrc_MeasIdToRemoveList, &ett_nr_rrc_ReportConfigToRemoveList, &ett_nr_rrc_MeasGapConfig, &ett_nr_rrc_T_gapFR2, &ett_nr_rrc_T_gapFR1, &ett_nr_rrc_T_gapUE, &ett_nr_rrc_GapConfig, &ett_nr_rrc_MeasGapSharingConfig, &ett_nr_rrc_T_gapSharingFR2, &ett_nr_rrc_T_gapSharingFR1, &ett_nr_rrc_T_gapSharingUE, &ett_nr_rrc_MeasIdToAddModList, &ett_nr_rrc_MeasIdToAddMod, &ett_nr_rrc_MeasObjectEUTRA, &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_Cell, &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellMeasEUTRA_OF_EUTRA_BlackCell, &ett_nr_rrc_EUTRA_CellIndexList, &ett_nr_rrc_EUTRA_Cell, &ett_nr_rrc_EUTRA_BlackCell, &ett_nr_rrc_MeasObjectNR, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement, &ett_nr_rrc_ReferenceSignalConfig, &ett_nr_rrc_T_csi_rs_ResourceConfigMobility, &ett_nr_rrc_SSB_ConfigMobility, &ett_nr_rrc_T_ssb_ToMeasure, &ett_nr_rrc_Q_OffsetRangeList, &ett_nr_rrc_ThresholdNR, &ett_nr_rrc_CellsToAddModList, &ett_nr_rrc_CellsToAddMod, &ett_nr_rrc_MeasObjectToAddModList, &ett_nr_rrc_MeasObjectToAddMod, &ett_nr_rrc_T_measObject, &ett_nr_rrc_MeasResultCellListSFTD_NR, &ett_nr_rrc_MeasResultCellSFTD_NR, &ett_nr_rrc_MeasResultCellListSFTD_EUTRA, &ett_nr_rrc_MeasResultSFTD_EUTRA, &ett_nr_rrc_MeasResults, &ett_nr_rrc_T_measResultNeighCells, &ett_nr_rrc_MeasResultServMOList, &ett_nr_rrc_MeasResultServMO, &ett_nr_rrc_MeasResultListNR, &ett_nr_rrc_MeasResultNR, &ett_nr_rrc_T_measResult, &ett_nr_rrc_T_cellResults, &ett_nr_rrc_T_rsIndexResults, &ett_nr_rrc_MeasResultListEUTRA, &ett_nr_rrc_MeasResultEUTRA, &ett_nr_rrc_MultiBandInfoListEUTRA, &ett_nr_rrc_MeasQuantityResults, &ett_nr_rrc_MeasQuantityResultsEUTRA, &ett_nr_rrc_ResultsPerSSB_IndexList, &ett_nr_rrc_ResultsPerSSB_Index, &ett_nr_rrc_ResultsPerCSI_RS_IndexList, &ett_nr_rrc_ResultsPerCSI_RS_Index, &ett_nr_rrc_MeasResultServFreqListEUTRA_SCG, &ett_nr_rrc_MeasResultServFreqListNR_SCG, &ett_nr_rrc_MeasResult2EUTRA, &ett_nr_rrc_MeasResult2NR, &ett_nr_rrc_MeasResultSCG_Failure, &ett_nr_rrc_MeasResultList2NR, &ett_nr_rrc_MeasTriggerQuantityEUTRA, &ett_nr_rrc_MobilityStateParameters, &ett_nr_rrc_MultiFrequencyBandListNR, &ett_nr_rrc_MultiFrequencyBandListNR_SIB, &ett_nr_rrc_NR_MultiBandInfo, &ett_nr_rrc_NR_NS_PmaxList, &ett_nr_rrc_NR_NS_PmaxValue, &ett_nr_rrc_NZP_CSI_RS_Resource, &ett_nr_rrc_NZP_CSI_RS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId, &ett_nr_rrc_PCI_List, &ett_nr_rrc_PCI_Range, &ett_nr_rrc_PCI_RangeElement, &ett_nr_rrc_PCI_RangeIndexList, &ett_nr_rrc_PDCCH_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace, &ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId, &ett_nr_rrc_T_downlinkPreemption, &ett_nr_rrc_T_tpc_PUSCH, &ett_nr_rrc_T_tpc_PUCCH, &ett_nr_rrc_T_tpc_SRS, &ett_nr_rrc_PDCCH_ConfigCommon, &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, &ett_nr_rrc_T_firstPDCCH_MonitoringOccasionOfPO_01, &ett_nr_rrc_T_sCS15KHZoneT_01, &ett_nr_rrc_T_sCS30KHZoneT_SCS15KHZhalfT_01, &ett_nr_rrc_T_sCS60KHZoneT_SCS30KHZhalfT_SCS15KHZquarterT_01, &ett_nr_rrc_T_sCS120KHZoneT_SCS60KHZhalfT_SCS30KHZquarterT_SCS15KHZoneEighthT_01, &ett_nr_rrc_T_sCS120KHZhalfT_SCS60KHZquarterT_SCS30KHZoneEighthT_SCS15KHZoneSixteenthT_01, &ett_nr_rrc_T_sCS120KHZquarterT_SCS60KHZoneEighthT_SCS30KHZoneSixteenthT_01, &ett_nr_rrc_T_sCS120KHZoneEighthT_SCS60KHZoneSixteenthT_01, &ett_nr_rrc_T_sCS120KHZoneSixteenthT_01, &ett_nr_rrc_PDCCH_ConfigSIB1, &ett_nr_rrc_PDCCH_ServingCellConfig, &ett_nr_rrc_T_slotFormatIndicator, &ett_nr_rrc_PDCP_Config, &ett_nr_rrc_T_drb, &ett_nr_rrc_T_headerCompression, &ett_nr_rrc_T_rohc, &ett_nr_rrc_T_profiles, &ett_nr_rrc_T_uplinkOnlyROHC, &ett_nr_rrc_T_profiles_01, &ett_nr_rrc_T_moreThanOneRLC, &ett_nr_rrc_T_primaryPath, &ett_nr_rrc_PDSCH_Config, &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA, &ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId, &ett_nr_rrc_T_pdsch_TimeDomainAllocationList, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId, &ett_nr_rrc_T_prb_BundlingType, &ett_nr_rrc_T_staticBundling, &ett_nr_rrc_T_dynamicBundling, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId, &ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet, &ett_nr_rrc_RateMatchPatternGroup, &ett_nr_rrc_RateMatchPatternGroup_item, &ett_nr_rrc_PDSCH_ConfigCommon, &ett_nr_rrc_PDSCH_ServingCellConfig, &ett_nr_rrc_T_codeBlockGroupTransmission, &ett_nr_rrc_PDSCH_CodeBlockGroupTransmission, &ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, &ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, &ett_nr_rrc_PHR_Config, &ett_nr_rrc_PhysicalCellGroupConfig, &ett_nr_rrc_T_cs_RNTI, &ett_nr_rrc_T_pdcch_BlindDetection, &ett_nr_rrc_PLMN_Identity, &ett_nr_rrc_MCC, &ett_nr_rrc_MNC, &ett_nr_rrc_PLMN_IdentityInfoList, &ett_nr_rrc_PLMN_IdentityInfo, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPLMN_OF_PLMN_Identity, &ett_nr_rrc_PTRS_DownlinkConfig, &ett_nr_rrc_T_frequencyDensity, &ett_nr_rrc_T_timeDensity, &ett_nr_rrc_PTRS_UplinkConfig, &ett_nr_rrc_T_transformPrecoderDisabled, &ett_nr_rrc_T_frequencyDensity_01, &ett_nr_rrc_T_timeDensity_01, &ett_nr_rrc_T_transformPrecoderEnabled, &ett_nr_rrc_T_sampleDensity, &ett_nr_rrc_PUCCH_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId, &ett_nr_rrc_T_format1, &ett_nr_rrc_T_format2, &ett_nr_rrc_T_format3, &ett_nr_rrc_T_format4, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId, &ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId, &ett_nr_rrc_T_dl_DataToUL_ACK, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, &ett_nr_rrc_PUCCH_FormatConfig, &ett_nr_rrc_PUCCH_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, &ett_nr_rrc_PUCCH_Resource, &ett_nr_rrc_T_format, &ett_nr_rrc_PUCCH_format0, &ett_nr_rrc_PUCCH_format1, &ett_nr_rrc_PUCCH_format2, &ett_nr_rrc_PUCCH_format3, &ett_nr_rrc_PUCCH_format4, &ett_nr_rrc_PUCCH_ConfigCommon, &ett_nr_rrc_PUCCH_PowerControl, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, &ett_nr_rrc_P0_PUCCH, &ett_nr_rrc_PUCCH_PathlossReferenceRS, &ett_nr_rrc_T_referenceSignal, &ett_nr_rrc_PUCCH_SpatialRelationInfo, &ett_nr_rrc_T_referenceSignal_01, &ett_nr_rrc_T_srs, &ett_nr_rrc_PUCCH_TPC_CommandConfig, &ett_nr_rrc_PUSCH_Config, &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, &ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, &ett_nr_rrc_T_frequencyHoppingOffsetLists, &ett_nr_rrc_T_pusch_TimeDomainAllocationList, &ett_nr_rrc_T_uci_OnPUSCH_01, &ett_nr_rrc_UCI_OnPUSCH, &ett_nr_rrc_T_betaOffsets, &ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, &ett_nr_rrc_PUSCH_ConfigCommon, &ett_nr_rrc_PUSCH_PowerControl, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId, &ett_nr_rrc_P0_PUSCH_AlphaSet, &ett_nr_rrc_PUSCH_PathlossReferenceRS, &ett_nr_rrc_T_referenceSignal_02, &ett_nr_rrc_SRI_PUSCH_PowerControl, &ett_nr_rrc_PUSCH_ServingCellConfig, &ett_nr_rrc_T_codeBlockGroupTransmission_01, &ett_nr_rrc_PUSCH_CodeBlockGroupTransmission, &ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList, &ett_nr_rrc_PUSCH_TimeDomainResourceAllocation, &ett_nr_rrc_PUSCH_TPC_CommandConfig, &ett_nr_rrc_QuantityConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, &ett_nr_rrc_QuantityConfigNR, &ett_nr_rrc_QuantityConfigRS, &ett_nr_rrc_FilterConfig, &ett_nr_rrc_RACH_ConfigCommon, &ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, &ett_nr_rrc_T_groupBconfigured, &ett_nr_rrc_T_prach_RootSequenceIndex, &ett_nr_rrc_RACH_ConfigDedicated, &ett_nr_rrc_CFRA, &ett_nr_rrc_T_occasions, &ett_nr_rrc_T_resources, &ett_nr_rrc_T_ssb, &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource, &ett_nr_rrc_T_csirs, &ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource, &ett_nr_rrc_CFRA_SSB_Resource, &ett_nr_rrc_CFRA_CSIRS_Resource, &ett_nr_rrc_T_ra_OccasionList_01, &ett_nr_rrc_RACH_ConfigGeneric, &ett_nr_rrc_RA_Prioritization, &ett_nr_rrc_RadioBearerConfig, &ett_nr_rrc_SRB_ToAddModList, &ett_nr_rrc_SRB_ToAddMod, &ett_nr_rrc_DRB_ToAddModList, &ett_nr_rrc_DRB_ToAddMod, &ett_nr_rrc_T_cnAssociation, &ett_nr_rrc_DRB_ToReleaseList, &ett_nr_rrc_SecurityConfig, &ett_nr_rrc_RadioLinkMonitoringConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id, &ett_nr_rrc_RadioLinkMonitoringRS, &ett_nr_rrc_T_detectionResource, &ett_nr_rrc_RateMatchPattern, &ett_nr_rrc_T_patternType, &ett_nr_rrc_T_bitmaps, &ett_nr_rrc_T_symbolsInResourceBlock, &ett_nr_rrc_T_periodicityAndPattern, &ett_nr_rrc_RateMatchPatternLTE_CRS, &ett_nr_rrc_ReportConfigInterRAT, &ett_nr_rrc_T_reportType, &ett_nr_rrc_ReportCGI_EUTRA, &ett_nr_rrc_ReportSFTD_EUTRA, &ett_nr_rrc_EventTriggerConfigInterRAT, &ett_nr_rrc_T_eventId, &ett_nr_rrc_T_eventB1, &ett_nr_rrc_T_eventB2, &ett_nr_rrc_PeriodicalReportConfigInterRAT, &ett_nr_rrc_ReportConfigNR, &ett_nr_rrc_T_reportType_01, &ett_nr_rrc_ReportCGI, &ett_nr_rrc_ReportSFTD_NR, &ett_nr_rrc_SEQUENCE_SIZE_1_maxCellSFTD_OF_PhysCellId, &ett_nr_rrc_EventTriggerConfig, &ett_nr_rrc_T_eventId_01, &ett_nr_rrc_T_eventA1, &ett_nr_rrc_T_eventA2, &ett_nr_rrc_T_eventA3, &ett_nr_rrc_T_eventA4, &ett_nr_rrc_T_eventA5, &ett_nr_rrc_T_eventA6, &ett_nr_rrc_PeriodicalReportConfig, &ett_nr_rrc_MeasTriggerQuantity, &ett_nr_rrc_MeasTriggerQuantityOffset, &ett_nr_rrc_MeasReportQuantity, &ett_nr_rrc_ReportConfigToAddModList, &ett_nr_rrc_ReportConfigToAddMod, &ett_nr_rrc_T_reportConfig, &ett_nr_rrc_RLC_BearerConfig, &ett_nr_rrc_T_servedRadioBearer, &ett_nr_rrc_RLC_Config, &ett_nr_rrc_T_am, &ett_nr_rrc_T_um_Bi_Directional, &ett_nr_rrc_T_um_Uni_Directional_UL, &ett_nr_rrc_T_um_Uni_Directional_DL, &ett_nr_rrc_UL_AM_RLC, &ett_nr_rrc_DL_AM_RLC, &ett_nr_rrc_UL_UM_RLC, &ett_nr_rrc_DL_UM_RLC, &ett_nr_rrc_RLF_TimersAndConstants, &ett_nr_rrc_SchedulingRequestConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId, &ett_nr_rrc_SchedulingRequestToAddMod, &ett_nr_rrc_SchedulingRequestResourceConfig, &ett_nr_rrc_T_periodicityAndOffset, &ett_nr_rrc_SCS_SpecificCarrier, &ett_nr_rrc_SDAP_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, &ett_nr_rrc_SearchSpace, &ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset, &ett_nr_rrc_T_nrofCandidates, &ett_nr_rrc_T_searchSpaceType, &ett_nr_rrc_T_common, &ett_nr_rrc_T_dci_Format0_0_AndFormat1_0, &ett_nr_rrc_T_dci_Format2_0, &ett_nr_rrc_T_nrofCandidates_SFI, &ett_nr_rrc_T_dci_Format2_1, &ett_nr_rrc_T_dci_Format2_2, &ett_nr_rrc_T_dci_Format2_3, &ett_nr_rrc_T_ue_Specific, &ett_nr_rrc_SecurityAlgorithmConfig, &ett_nr_rrc_ServingCellConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink, &ett_nr_rrc_T_pdcch_ServingCellConfig, &ett_nr_rrc_T_pdsch_ServingCellConfig, &ett_nr_rrc_T_csi_MeasConfig, &ett_nr_rrc_T_lte_CRS_ToMatchAround, &ett_nr_rrc_UplinkConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink, &ett_nr_rrc_T_pusch_ServingCellConfig, &ett_nr_rrc_T_carrierSwitching, &ett_nr_rrc_ServingCellConfigCommon, &ett_nr_rrc_T_ssb_PositionsInBurst, &ett_nr_rrc_T_lte_CRS_ToMatchAround_01, &ett_nr_rrc_ServingCellConfigCommonSIB, &ett_nr_rrc_T_ssb_PositionsInBurst_01, &ett_nr_rrc_SI_SchedulingInfo, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SchedulingInfo, &ett_nr_rrc_SchedulingInfo, &ett_nr_rrc_SIB_Mapping, &ett_nr_rrc_SIB_TypeInfo, &ett_nr_rrc_SI_RequestConfig, &ett_nr_rrc_T_rach_OccasionsSI, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSI_Message_OF_SI_RequestResources, &ett_nr_rrc_SI_RequestResources, &ett_nr_rrc_SlotFormatCombinationsPerCell, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination, &ett_nr_rrc_SlotFormatCombination, &ett_nr_rrc_T_slotFormats, &ett_nr_rrc_SlotFormatIndicator, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex, &ett_nr_rrc_S_NSSAI, &ett_nr_rrc_SpeedStateScaleFactors, &ett_nr_rrc_SPS_Config, &ett_nr_rrc_SRS_CarrierSwitching, &ett_nr_rrc_T_srs_TPC_PDCCH_Group, &ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex, &ett_nr_rrc_SRS_TPC_PDCCH_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex, &ett_nr_rrc_SRS_CC_SetIndex, &ett_nr_rrc_SRS_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, &ett_nr_rrc_SRS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, &ett_nr_rrc_T_resourceType_01, &ett_nr_rrc_T_aperiodic_01, &ett_nr_rrc_T_aperiodicSRS_ResourceTriggerList, &ett_nr_rrc_T_semi_persistent, &ett_nr_rrc_T_periodic_01, &ett_nr_rrc_T_pathlossReferenceRS, &ett_nr_rrc_SRS_Resource, &ett_nr_rrc_T_transmissionComb, &ett_nr_rrc_T_n2, &ett_nr_rrc_T_n4, &ett_nr_rrc_T_resourceMapping, &ett_nr_rrc_T_freqHopping, &ett_nr_rrc_T_resourceType_02, &ett_nr_rrc_T_aperiodic_02, &ett_nr_rrc_T_semi_persistent_01, &ett_nr_rrc_T_periodic_02, &ett_nr_rrc_SRS_SpatialRelationInfo, &ett_nr_rrc_T_referenceSignal_03, &ett_nr_rrc_T_srs_01, &ett_nr_rrc_SRS_PeriodicityAndOffset, &ett_nr_rrc_SRS_TPC_CommandConfig, &ett_nr_rrc_SSB_MTC, &ett_nr_rrc_T_periodicityAndOffset_01, &ett_nr_rrc_SSB_MTC2, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, &ett_nr_rrc_SSB_ToMeasure, &ett_nr_rrc_SS_RSSI_Measurement, &ett_nr_rrc_TAG_Config, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG, &ett_nr_rrc_TAG, &ett_nr_rrc_TCI_State, &ett_nr_rrc_QCL_Info, &ett_nr_rrc_T_referenceSignal_04, &ett_nr_rrc_TDD_UL_DL_ConfigCommon, &ett_nr_rrc_TDD_UL_DL_Pattern, &ett_nr_rrc_TDD_UL_DL_ConfigDedicated, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex, &ett_nr_rrc_TDD_UL_DL_SlotConfig, &ett_nr_rrc_T_symbols, &ett_nr_rrc_T_explicit, &ett_nr_rrc_UAC_BarringInfoSetList, &ett_nr_rrc_UAC_BarringInfoSet, &ett_nr_rrc_UAC_BarringPerCatList, &ett_nr_rrc_UAC_BarringPerCat, &ett_nr_rrc_UAC_BarringPerPLMN_List, &ett_nr_rrc_UAC_BarringPerPLMN, &ett_nr_rrc_T_uac_ACBarringListType, &ett_nr_rrc_SEQUENCE_SIZE_maxAccessCat_1_OF_UAC_BarringInfoSetIndex, &ett_nr_rrc_UE_TimersAndConstants, &ett_nr_rrc_UplinkConfigCommon, &ett_nr_rrc_UplinkConfigCommonSIB, &ett_nr_rrc_UplinkTxDirectCurrentList, &ett_nr_rrc_UplinkTxDirectCurrentCell, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_UplinkTxDirectCurrentBWP, &ett_nr_rrc_UplinkTxDirectCurrentBWP, &ett_nr_rrc_ZP_CSI_RS_Resource, &ett_nr_rrc_ZP_CSI_RS_ResourceSet, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId, &ett_nr_rrc_BandCombinationList, &ett_nr_rrc_BandCombinationList_v1540, &ett_nr_rrc_BandCombinationList_v1550, &ett_nr_rrc_BandCombinationList_v1560, &ett_nr_rrc_BandCombinationList_v1570, &ett_nr_rrc_BandCombinationList_v1580, &ett_nr_rrc_BandCombination, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters, &ett_nr_rrc_BandCombination_v1540, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_v1540, &ett_nr_rrc_BandCombination_v1550, &ett_nr_rrc_BandCombination_v1560, &ett_nr_rrc_BandCombination_v1570, &ett_nr_rrc_BandCombination_v1580, &ett_nr_rrc_BandParameters, &ett_nr_rrc_T_eutra, &ett_nr_rrc_T_nr, &ett_nr_rrc_BandParameters_v1540, &ett_nr_rrc_T_srs_CarrierSwitch, &ett_nr_rrc_T_nr_01, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeNR, &ett_nr_rrc_T_eutra_01, &ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_SRS_SwitchingTimeEUTRA, &ett_nr_rrc_T_srs_TxSwitch, &ett_nr_rrc_CA_ParametersEUTRA, &ett_nr_rrc_CA_ParametersEUTRA_v1560, &ett_nr_rrc_CA_ParametersEUTRA_v1570, &ett_nr_rrc_CA_ParametersNR, &ett_nr_rrc_CA_ParametersNR_v1540, &ett_nr_rrc_T_csi_RS_IM_ReceptionForFeedbackPerBandComb, &ett_nr_rrc_CA_ParametersNR_v1550, &ett_nr_rrc_CA_ParametersNR_v1560, &ett_nr_rrc_CA_ParametersNRDC, &ett_nr_rrc_CodebookParameters, &ett_nr_rrc_T_type1_02, &ett_nr_rrc_T_singlePanel, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_Resources_OF_SupportedCSI_RS_Resource, &ett_nr_rrc_T_multiPanel, &ett_nr_rrc_T_type2_01, &ett_nr_rrc_T_type2_PortSelection, &ett_nr_rrc_SupportedCSI_RS_Resource, &ett_nr_rrc_FeatureSetCombination, &ett_nr_rrc_FeatureSetsPerBand, &ett_nr_rrc_FeatureSet, &ett_nr_rrc_T_eutra_02, &ett_nr_rrc_T_nr_02, &ett_nr_rrc_FeatureSetDownlink, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id, &ett_nr_rrc_T_timeDurationForQCL, &ett_nr_rrc_T_pdsch_ProcessingType1_DifferentTB_PerSlot, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyB, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyD, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_DummyE, &ett_nr_rrc_FeatureSetDownlink_v1540, &ett_nr_rrc_T_pdcch_MonitoringAnyOccasionsWithSpanGap, &ett_nr_rrc_T_pdsch_ProcessingType2, &ett_nr_rrc_T_pdsch_ProcessingType2_Limited, &ett_nr_rrc_DummyA, &ett_nr_rrc_DummyB, &ett_nr_rrc_DummyC, &ett_nr_rrc_DummyD, &ett_nr_rrc_DummyE, &ett_nr_rrc_FeatureSetDownlinkPerCC, &ett_nr_rrc_FeatureSets, &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_v1540, &ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_v1540, &ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_v1540, &ett_nr_rrc_FeatureSetUplink, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id, &ett_nr_rrc_T_pusch_ProcessingType1_DifferentTB_PerSlot, &ett_nr_rrc_FeatureSetUplink_v1540, &ett_nr_rrc_T_pusch_ProcessingType2, &ett_nr_rrc_SRS_Resources, &ett_nr_rrc_DummyF, &ett_nr_rrc_FeatureSetUplinkPerCC, &ett_nr_rrc_T_mimo_CB_PUSCH, &ett_nr_rrc_FeatureSetUplinkPerCC_v1540, &ett_nr_rrc_T_mimo_NonCB_PUSCH, &ett_nr_rrc_FreqBandList, &ett_nr_rrc_FreqBandInformation, &ett_nr_rrc_FreqBandInformationEUTRA, &ett_nr_rrc_FreqBandInformationNR, &ett_nr_rrc_IMS_Parameters, &ett_nr_rrc_IMS_ParametersCommon, &ett_nr_rrc_IMS_ParametersFRX_Diff, &ett_nr_rrc_InterRAT_Parameters, &ett_nr_rrc_EUTRA_Parameters, &ett_nr_rrc_SEQUENCE_SIZE_1_maxBandsEUTRA_OF_FreqBandIndicatorEUTRA, &ett_nr_rrc_EUTRA_ParametersCommon, &ett_nr_rrc_EUTRA_ParametersXDD_Diff, &ett_nr_rrc_MAC_Parameters, &ett_nr_rrc_MAC_ParametersCommon, &ett_nr_rrc_MAC_ParametersXDD_Diff, &ett_nr_rrc_MeasAndMobParameters, &ett_nr_rrc_MeasAndMobParametersCommon, &ett_nr_rrc_MeasAndMobParametersXDD_Diff, &ett_nr_rrc_MeasAndMobParametersFRX_Diff, &ett_nr_rrc_MeasAndMobParametersMRDC, &ett_nr_rrc_MeasAndMobParametersMRDC_v1560, &ett_nr_rrc_MeasAndMobParametersMRDC_Common, &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff, &ett_nr_rrc_MeasAndMobParametersMRDC_XDD_Diff_v1560, &ett_nr_rrc_MeasAndMobParametersMRDC_FRX_Diff, &ett_nr_rrc_MIMO_ParametersPerBand, &ett_nr_rrc_T_tci_StatePDSCH, &ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, &ett_nr_rrc_T_uplinkBeamManagement, &ett_nr_rrc_T_beamReportTiming, &ett_nr_rrc_T_ptrs_DensityRecommendationSetDL, &ett_nr_rrc_T_ptrs_DensityRecommendationSetUL, &ett_nr_rrc_T_beamSwitchTiming, &ett_nr_rrc_DummyG, &ett_nr_rrc_BeamManagementSSB_CSI_RS, &ett_nr_rrc_DummyH, &ett_nr_rrc_CSI_RS_ForTracking, &ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback, &ett_nr_rrc_CSI_RS_ProcFrameworkForSRS, &ett_nr_rrc_CSI_ReportFramework, &ett_nr_rrc_PTRS_DensityRecommendationDL, &ett_nr_rrc_PTRS_DensityRecommendationUL, &ett_nr_rrc_SpatialRelations, &ett_nr_rrc_DummyI, &ett_nr_rrc_MRDC_Parameters, &ett_nr_rrc_MRDC_Parameters_v1580, &ett_nr_rrc_NRDC_Parameters, &ett_nr_rrc_T_dummy_06, &ett_nr_rrc_NRDC_Parameters_v1570, &ett_nr_rrc_PDCP_Parameters, &ett_nr_rrc_T_supportedROHC_Profiles, &ett_nr_rrc_PDCP_ParametersMRDC, &ett_nr_rrc_Phy_Parameters, &ett_nr_rrc_Phy_ParametersCommon, &ett_nr_rrc_Phy_ParametersXDD_Diff, &ett_nr_rrc_Phy_ParametersFRX_Diff, &ett_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_OncePerSlot, &ett_nr_rrc_T_pdcch_BlindDetectionNRDC, &ett_nr_rrc_Phy_ParametersFR1, &ett_nr_rrc_Phy_ParametersFR2, &ett_nr_rrc_Phy_ParametersMRDC, &ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNAICS_Entries_OF_NAICS_Capability_Entry, &ett_nr_rrc_NAICS_Capability_Entry, &ett_nr_rrc_ProcessingParameters, &ett_nr_rrc_T_differentTB_PerSlot, &ett_nr_rrc_RF_Parameters, &ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR, &ett_nr_rrc_BandNR, &ett_nr_rrc_T_channelBWs_DL, &ett_nr_rrc_T_fr1, &ett_nr_rrc_T_fr2, &ett_nr_rrc_T_channelBWs_UL, &ett_nr_rrc_T_fr1_01, &ett_nr_rrc_T_fr2_01, &ett_nr_rrc_RF_ParametersMRDC, &ett_nr_rrc_RLC_Parameters, &ett_nr_rrc_SDAP_Parameters, &ett_nr_rrc_SRS_SwitchingTimeNR, &ett_nr_rrc_SRS_SwitchingTimeEUTRA, &ett_nr_rrc_SupportedBandwidth, &ett_nr_rrc_UE_CapabilityRAT_ContainerList, &ett_nr_rrc_UE_CapabilityRAT_Container, &ett_nr_rrc_UE_CapabilityRAT_RequestList, &ett_nr_rrc_UE_CapabilityRAT_Request, &ett_nr_rrc_UE_CapabilityRequestFilterCommon, &ett_nr_rrc_T_mrdc_Request, &ett_nr_rrc_UE_CapabilityRequestFilterNR, &ett_nr_rrc_UE_CapabilityRequestFilterNR_v1540, &ett_nr_rrc_T_nonCriticalExtension_37, &ett_nr_rrc_UE_MRDC_Capability, &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination, &ett_nr_rrc_UE_MRDC_Capability_v1560, &ett_nr_rrc_T_nonCriticalExtension_38, &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode_v1560, &ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, &ett_nr_rrc_UE_NR_Capability, &ett_nr_rrc_UE_NR_Capability_v1530, &ett_nr_rrc_UE_NR_Capability_v1540, &ett_nr_rrc_UE_NR_Capability_v1550, &ett_nr_rrc_UE_NR_Capability_v1560, &ett_nr_rrc_UE_NR_Capability_v1570, &ett_nr_rrc_T_nonCriticalExtension_39, &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode_v1530, &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode_v1540, &ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList, &ett_nr_rrc_EUTRA_MBSFN_SubframeConfig, &ett_nr_rrc_T_subframeAllocation1, &ett_nr_rrc_T_subframeAllocation2, &ett_nr_rrc_EUTRA_MultiBandInfoList, &ett_nr_rrc_EUTRA_MultiBandInfo, &ett_nr_rrc_EUTRA_NS_PmaxList, &ett_nr_rrc_EUTRA_NS_PmaxValue, &ett_nr_rrc_EUTRA_PhysCellIdRange, &ett_nr_rrc_OtherConfig, &ett_nr_rrc_T_delayBudgetReportingConfig, &ett_nr_rrc_T_setup, &ett_nr_rrc_OtherConfig_v1540, &ett_nr_rrc_T_overheatingAssistanceConfig, &ett_nr_rrc_OverheatingAssistanceConfig, /*--- End of included file: packet-nr-rrc-ettarr.c ---*/ #line 522 "./asn1/nr-rrc/packet-nr-rrc-template.c" &ett_nr_rrc_DedicatedNAS_Message, &ett_rr_rrc_targetRAT_MessageContainer, &ett_nr_rrc_nas_Container, &ett_nr_rrc_serialNumber, &ett_nr_rrc_warningType, &ett_nr_rrc_dataCodingScheme, &ett_nr_rrc_sib7_fragment, &ett_nr_rrc_sib7_fragments, &ett_nr_rrc_sib8_fragment, &ett_nr_rrc_sib8_fragments, &ett_nr_rrc_warningMessageSegment, &ett_nr_rrc_timeInfo, &ett_nr_rrc_capabilityRequestFilter, &ett_nr_rrc_sourceSCG_EUTRA_Config, &ett_nr_rrc_scg_CellGroupConfigEUTRA, &ett_nr_rrc_candidateCellInfoListSN_EUTRA, &ett_nr_rrc_candidateCellInfoListMN_EUTRA, &ett_nr_rrc_sourceConfigSCG_EUTRA, &ett_nr_rrc_eutra_SCG, &ett_nr_rrc_nr_SCG_Response, &ett_nr_rrc_eutra_SCG_Response, &ett_nr_rrc_measResultSCG_FailureMRDC, &ett_nr_rrc_ul_DCCH_MessageNR, &ett_nr_rrc_ul_DCCH_MessageEUTRA }; static ei_register_info ei[] = { { &ei_nr_rrc_number_pages_le15, { "nr-rrc.number_pages_le15", PI_MALFORMED, PI_ERROR, "Number of pages should be <=15", EXPFILL }}, }; expert_module_t* expert_nr_rrc; /* Register protocol */ proto_nr_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME); /* Register fields and subtrees */ proto_register_field_array(proto_nr_rrc, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); expert_nr_rrc = expert_register_protocol(proto_nr_rrc); expert_register_field_array(expert_nr_rrc, ei, array_length(ei)); /* Register the dissectors defined in nr-rrc.cnf */ /*--- Included file: packet-nr-rrc-dis-reg.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-dis-reg.c" register_dissector("nr-rrc.ue_radio_paging_info", dissect_nr_rrc_UERadioPagingInformation_PDU, proto_nr_rrc); register_dissector("nr-rrc.ue_radio_access_cap_info", dissect_UERadioAccessCapabilityInformation_PDU, proto_nr_rrc); register_dissector("nr-rrc.bcch.bch", dissect_BCCH_BCH_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.bcch.dl.sch", dissect_BCCH_DL_SCH_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.dl.ccch", dissect_DL_CCCH_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.dl.dcch", dissect_DL_DCCH_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.pcch", dissect_PCCH_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.ul.ccch", dissect_UL_CCCH_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.ul.ccch1", dissect_UL_CCCH1_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.ul.dcch", dissect_nr_rrc_UL_DCCH_Message_PDU, proto_nr_rrc); register_dissector("nr-rrc.rrc_reconf", dissect_nr_rrc_RRCReconfiguration_PDU, proto_nr_rrc); register_dissector("nr-rrc.ue_mrdc_cap", dissect_nr_rrc_UE_MRDC_Capability_PDU, proto_nr_rrc); register_dissector("nr-rrc.ue_nr_cap", dissect_nr_rrc_UE_NR_Capability_PDU, proto_nr_rrc); /*--- End of included file: packet-nr-rrc-dis-reg.c ---*/ #line 565 "./asn1/nr-rrc/packet-nr-rrc-template.c" nr_rrc_etws_cmas_dcs_hash = wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), g_direct_hash, g_direct_equal); reassembly_table_register(&nr_rrc_sib7_reassembly_table, &addresses_reassembly_table_functions); reassembly_table_register(&nr_rrc_sib8_reassembly_table, &addresses_reassembly_table_functions); } void proto_reg_handoff_nr_rrc(void) { nas_5gs_handle = find_dissector("nas-5gs"); lte_rrc_conn_reconf_handle = find_dissector("lte-rrc.rrc_conn_reconf"); lte_rrc_conn_reconf_compl_handle = find_dissector("lte-rrc.rrc_conn_reconf_compl"); lte_rrc_ul_dcch_handle = find_dissector("lte-rrc.ul.dcch"); }