diff options
Diffstat (limited to 'epan/dissectors/packet-nr-rrc.c')
-rw-r--r-- | epan/dissectors/packet-nr-rrc.c | 1223 |
1 files changed, 846 insertions, 377 deletions
diff --git a/epan/dissectors/packet-nr-rrc.c b/epan/dissectors/packet-nr-rrc.c index bcdb2ef42b..f3acf69dca 100644 --- a/epan/dissectors/packet-nr-rrc.c +++ b/epan/dissectors/packet-nr-rrc.c @@ -201,6 +201,7 @@ 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_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */ 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_MeasurementTimingConfiguration_PDU = -1; /* MeasurementTimingConfiguration */ @@ -212,7 +213,10 @@ 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_CellGroupConfig_PDU = -1; /* CellGroupConfig */ +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_MeasResults_PDU = -1; /* MeasResults */ +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_FreqBandList_PDU = -1; /* FreqBandList */ static int hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU = -1; /* UE_CapabilityRAT_ContainerList */ @@ -220,14 +224,34 @@ 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_MeasResultSCG_Failure_PDU = -1; /* MeasResultSCG_Failure */ -static int hf_nr_rrc_measuredFrequency = -1; /* ARFCN_ValueNR */ static int hf_nr_rrc_criticalExtensions = -1; /* T_criticalExtensions */ static int hf_nr_rrc_c1 = -1; /* T_c1 */ -static int hf_nr_rrc_cg_ConfigInfo = -1; /* CG_ConfigInfo_IEs */ +static int hf_nr_rrc_handoverPreparationInformation = -1; /* HandoverPreparationInformation_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_ue_CapabilityRAT_List = -1; /* UE_CapabilityRAT_ContainerList */ +static int hf_nr_rrc_sourceConfig = -1; /* T_sourceConfig */ +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 = -1; /* T_nonCriticalExtension */ +static int hf_nr_rrc_reestablishmentInfo = -1; /* T_reestablishmentInfo */ +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_configRestrictInfo = -1; /* ConfigRestrictInfoSCG */ +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_measuredFrequency = -1; /* ARFCN_ValueNR */ +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_cg_ConfigInfo = -1; /* CG_ConfigInfo_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */ 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 = -1; /* T_candidateCellInfoListSN */ @@ -235,13 +259,12 @@ static int hf_nr_rrc_measResultCellListSFTD = -1; /* MeasResultCellListSFTD */ 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_configRestrictInfo = -1; /* ConfigRestrictInfoSCG */ 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 = -1; /* T_scg_RB_Config */ static int hf_nr_rrc_mcg_RB_Config = -1; /* T_mcg_RB_Config */ -static int hf_nr_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */ +static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */ static int hf_nr_rrc_allowedBC_ListMRDC = -1; /* BandCombinationIndexList */ static int hf_nr_rrc_powerCoordination_FR1 = -1; /* T_powerCoordination_FR1 */ static int hf_nr_rrc_p_maxNR = -1; /* P_Max */ @@ -282,12 +305,12 @@ 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_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */ -static int hf_nr_rrc_c1_01 = -1; /* T_c1_01 */ +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_measTimingConf = -1; /* MeasurementTimingConfiguration_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */ +static int hf_nr_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */ static int hf_nr_rrc_measTiming = -1; /* MeasTimingList */ -static int hf_nr_rrc_nonCriticalExtension_01 = -1; /* T_nonCriticalExtension_01 */ +static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */ 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 */ @@ -296,7 +319,7 @@ 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; /* DL_DCCH_MessageType */ -static int hf_nr_rrc_c1_02 = -1; /* T_c1_02 */ +static int hf_nr_rrc_c1_03 = -1; /* T_c1_03 */ static int hf_nr_rrc_rrcReconfiguration = -1; /* RRCReconfiguration */ static int hf_nr_rrc_spare15 = -1; /* NULL */ static int hf_nr_rrc_spare14 = -1; /* NULL */ @@ -312,7 +335,7 @@ static int hf_nr_rrc_spare5 = -1; /* NULL */ static int hf_nr_rrc_spare4 = -1; /* NULL */ static int hf_nr_rrc_messageClassExtension_01 = -1; /* T_messageClassExtension_01 */ static int hf_nr_rrc_message_02 = -1; /* UL_DCCH_MessageType */ -static int hf_nr_rrc_c1_03 = -1; /* T_c1_03 */ +static int hf_nr_rrc_c1_04 = -1; /* T_c1_04 */ static int hf_nr_rrc_measurementReport = -1; /* MeasurementReport */ static int hf_nr_rrc_rrcReconfigurationComplete = -1; /* RRCReconfigurationComplete */ static int hf_nr_rrc_messageClassExtension_02 = -1; /* T_messageClassExtension_02 */ @@ -324,24 +347,24 @@ static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* INTEGER_0_255 */ 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_02 = -1; /* T_criticalExtensions_02 */ +static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */ static int hf_nr_rrc_measurementReport_01 = -1; /* MeasurementReport_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */ +static int hf_nr_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */ static int hf_nr_rrc_measResults = -1; /* MeasResults */ static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */ -static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */ +static int hf_nr_rrc_nonCriticalExtension_03 = -1; /* T_nonCriticalExtension_03 */ static int hf_nr_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */ -static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */ +static int hf_nr_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */ static int hf_nr_rrc_rrcReconfiguration_01 = -1; /* RRCReconfiguration_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */ +static int hf_nr_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */ 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_03 = -1; /* T_nonCriticalExtension_03 */ -static int hf_nr_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */ -static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */ -static int hf_nr_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */ static int hf_nr_rrc_nonCriticalExtension_04 = -1; /* T_nonCriticalExtension_04 */ +static int hf_nr_rrc_criticalExtensions_05 = -1; /* T_criticalExtensions_05 */ +static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */ +static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */ +static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_05 */ static int hf_nr_rrc_frequencyOffsetSSB = -1; /* T_frequencyOffsetSSB */ static int hf_nr_rrc_ssb_PositionsInBurst = -1; /* T_ssb_PositionsInBurst */ static int hf_nr_rrc_inOneGroup = -1; /* BIT_STRING_SIZE_8 */ @@ -354,7 +377,7 @@ static int hf_nr_rrc_tdd_UL_DL_Configuration = -1; /* TDD_UL_DL_ConfigCommon */ static int hf_nr_rrc_tdd_UL_DL_configurationCommon2 = -1; /* TDD_UL_DL_ConfigCommon */ static int hf_nr_rrc_pdcch_ConfigCommon = -1; /* PDCCH_ConfigCommon */ static int hf_nr_rrc_pucch_ConfigCommon = -1; /* PUCCH_ConfigCommon */ -static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_05 */ +static int hf_nr_rrc_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_06 */ 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 */ @@ -1836,7 +1859,7 @@ static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAd 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_nonCriticalExtension_06 = -1; /* T_nonCriticalExtension_06 */ +static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_07 */ static int hf_nr_rrc_measParametersMRDC_XDD_Diff = -1; /* MeasParametersMRDC_XDD_Diff */ static int hf_nr_rrc_generalParametersMRDC_XDD_Diff = -1; /* GeneralParametersMRDC_XDD_Diff */ static int hf_nr_rrc_measParametersMRDC_FRX_Diff = -1; /* MeasParametersMRDC_FRX_Diff */ @@ -1862,7 +1885,7 @@ static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD 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_07 = -1; /* T_nonCriticalExtension_07 */ +static int hf_nr_rrc_nonCriticalExtension_08 = -1; /* T_nonCriticalExtension_08 */ static int hf_nr_rrc_phy_ParametersXDD_Diff = -1; /* Phy_ParametersXDD_Diff */ static int hf_nr_rrc_mac_ParametersXDD_Diff = -1; /* MAC_ParametersXDD_Diff */ static int hf_nr_rrc_measParametersXDD_Diff = -1; /* MeasParametersXDD_Diff */ @@ -2076,14 +2099,25 @@ 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_NR_FreqInfo = -1; -static gint ett_nr_rrc_CG_ConfigInfo = -1; +static gint ett_nr_rrc_HandoverPreparationInformation = -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_HandoverPreparationInformation_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension = -1; +static gint ett_nr_rrc_AS_Context = -1; +static gint ett_nr_rrc_T_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_NR_FreqInfo = -1; +static gint ett_nr_rrc_CG_ConfigInfo = -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_CG_ConfigInfo_IEs = -1; static gint ett_nr_rrc_T_scgFailureInfo = -1; -static gint ett_nr_rrc_T_nonCriticalExtension = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_01 = -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; @@ -2095,11 +2129,11 @@ 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_MeasurementTimingConfiguration = -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_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_MeasurementTimingConfiguration_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1; static gint ett_nr_rrc_MeasTimingList = -1; static gint ett_nr_rrc_MeasTiming = -1; static gint ett_nr_rrc_T_frequencyAndTiming = -1; @@ -2108,32 +2142,32 @@ static gint ett_nr_rrc_BCCH_BCH_MessageType = -1; static gint ett_nr_rrc_T_messageClassExtension = -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_02 = -1; +static gint ett_nr_rrc_T_c1_03 = -1; static gint ett_nr_rrc_T_messageClassExtension_01 = -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_03 = -1; +static gint ett_nr_rrc_T_c1_04 = -1; static gint ett_nr_rrc_T_messageClassExtension_02 = -1; static gint ett_nr_rrc_MIB = -1; static gint ett_nr_rrc_MeasurementReport = -1; -static gint ett_nr_rrc_T_criticalExtensions_02 = -1; -static gint ett_nr_rrc_T_criticalExtensionsFuture_02 = -1; -static gint ett_nr_rrc_MeasurementReport_IEs = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1; -static gint ett_nr_rrc_RRCReconfiguration = -1; static gint ett_nr_rrc_T_criticalExtensions_03 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_03 = -1; -static gint ett_nr_rrc_RRCReconfiguration_IEs = -1; +static gint ett_nr_rrc_MeasurementReport_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1; -static gint ett_nr_rrc_RRCReconfigurationComplete = -1; +static gint ett_nr_rrc_RRCReconfiguration = -1; static gint ett_nr_rrc_T_criticalExtensions_04 = -1; static gint ett_nr_rrc_T_criticalExtensionsFuture_04 = -1; -static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1; +static gint ett_nr_rrc_RRCReconfiguration_IEs = -1; static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1; +static gint ett_nr_rrc_RRCReconfigurationComplete = -1; +static gint ett_nr_rrc_T_criticalExtensions_05 = -1; +static gint ett_nr_rrc_T_criticalExtensionsFuture_05 = -1; +static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1; static gint ett_nr_rrc_SIB1 = -1; static gint ett_nr_rrc_T_ssb_PositionsInBurst = -1; static gint ett_nr_rrc_T_supplementaryUplink = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1; static gint ett_nr_rrc_BWP = -1; static gint ett_nr_rrc_BWP_Uplink = -1; static gint ett_nr_rrc_BWP_UplinkCommon = -1; @@ -2710,7 +2744,7 @@ static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1; static gint ett_nr_rrc_UE_CapabilityRAT_Container = -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_T_nonCriticalExtension_06 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode = -1; static gint ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode = -1; static gint ett_nr_rrc_GeneralParametersMRDC_XDD_Diff = -1; @@ -2720,7 +2754,7 @@ static gint ett_nr_rrc_MeasParametersMRDC_Common = -1; static gint ett_nr_rrc_MeasParametersMRDC_XDD_Diff = -1; static gint ett_nr_rrc_MeasParametersMRDC_FRX_Diff = -1; static gint ett_nr_rrc_UE_NR_Capability = -1; -static gint ett_nr_rrc_T_nonCriticalExtension_07 = -1; +static gint ett_nr_rrc_T_nonCriticalExtension_08 = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode = -1; static gint ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode = -1; static gint ett_nr_rrc_Phy_Parameters = -1; @@ -2793,35 +2827,84 @@ static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ static int dissect_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_); +static const value_string nr_rrc_RAT_Type_vals[] = { + { RAT_Type_nr, "nr" }, + { RAT_Type_eutra_nr, "eutra-nr" }, + { RAT_Type_spare2, "spare2" }, + { RAT_Type_spare1, "spare1" }, + { 0, NULL } +}; + 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, 3279165U, NULL, FALSE); +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; + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 4, &rat_type, TRUE, 0, NULL); + + private_data_set_rat_type(actx, (guint8)rat_type); + return offset; } -static const per_sequence_t NR_FreqInfo_sequence[] = { - { &hf_nr_rrc_measuredFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR }, + +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) { + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container); + switch(private_data_get_rat_type(actx)){ + 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; + 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_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_) { + /* Initialise to invalid value */ + private_data_set_rat_type(actx, 0xFF); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, - ett_nr_rrc_NR_FreqInfo, NR_FreqInfo_sequence); + 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_BandCombinationIndex(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, maxBandComb, NULL, FALSE); +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; } @@ -2829,9 +2912,97 @@ dissect_nr_rrc_BandCombinationIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ 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_) { +dissect_nr_rrc_T_sourceConfig(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); + NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU); + + 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, "min1s20c" }, + { 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 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, 3279165U, NULL, FALSE); return offset; } @@ -3076,107 +3247,112 @@ dissect_nr_rrc_MeasResultList2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +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 }, + { NULL, 0, 0, NULL } +}; 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); +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 const value_string nr_rrc_ShortMAC_I_vals[] = { + { 0, "ffsTypeAndValue" }, + { 0, NULL } +}; + 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); +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_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); return offset; } +static const value_string nr_rrc_CellIdentity_vals[] = { + { 0, "ffsTypeAndValue" }, + { 0, NULL } +}; + 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); +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_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, FALSE, 0, NULL); return offset; } -static const per_sequence_t MeasResultCellSFTD_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(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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, MeasResultCellSFTD_sequence); +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, NULL); return offset; } -static const per_sequence_t MeasResultCellListSFTD_sequence_of[1] = { - { &hf_nr_rrc_MeasResultCellListSFTD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCellSFTD }, +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_MeasResultCellListSFTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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, MeasResultCellListSFTD_sequence_of, - 1, maxCellSFTD, FALSE); +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 value_string nr_rrc_T_failureType_vals[] = { - { 0, "t310-Expiry" }, - { 1, "randomAccessProblem" }, - { 2, "rlc-MaxNumRetx" }, - { 3, "scg-ChangeFailure" }, - { 4, "scg-reconfigFailure" }, - { 5, "srb3-IntegrityFailure" }, - { 0, NULL } +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_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); +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 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_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_MeasResultSCG_Failure_PDU); +dissect_nr_rrc_T_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_T_reestablishmentInfo, T_reestablishmentInfo_sequence); 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); +dissect_nr_rrc_BandCombinationIndex(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, maxBandComb, NULL, FALSE); return offset; } @@ -3284,6 +3460,266 @@ dissect_nr_rrc_ConfigRestrictInfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const per_sequence_t AS_Context_sequence[] = { + { &hf_nr_rrc_reestablishmentInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishmentInfo }, + { &hf_nr_rrc_configRestrictInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoSCG }, + { 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_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 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_NOT_OPTIONAL, dissect_nr_rrc_T_sourceConfig }, + { &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, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension }, + { 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 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, "handoverPreparationInformation" }, + { 1, "spare3" }, + { 2, "spare2" }, + { 3, "spare1" }, + { 0, NULL } +}; + +static const per_choice_t T_c1_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(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 HandoverPreparationInformation_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_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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, HandoverPreparationInformation_sequence); + + 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 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(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_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_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_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(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_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, MeasResultCellSFTD_sequence); + + return offset; +} + + +static const per_sequence_t MeasResultCellListSFTD_sequence_of[1] = { + { &hf_nr_rrc_MeasResultCellListSFTD_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultCellSFTD }, +}; + +static int +dissect_nr_rrc_MeasResultCellListSFTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _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, MeasResultCellListSFTD_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, "scg-ChangeFailure" }, + { 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_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 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_) { @@ -3636,15 +4072,6 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, } - -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_mgl_vals[] = { { 0, "ms1dot5" }, { 1, "ms3" }, @@ -3801,14 +4228,14 @@ dissect_nr_rrc_T_mcg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } -static const per_sequence_t T_nonCriticalExtension_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_01_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_) { +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, T_nonCriticalExtension_sequence); + ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence); return offset; } @@ -3826,7 +4253,7 @@ static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = { { &hf_nr_rrc_sourceConfigSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceConfigSCG }, { &hf_nr_rrc_scg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config }, { &hf_nr_rrc_mcg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcg_RB_Config }, - { &hf_nr_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension }, + { &hf_nr_rrc_nonCriticalExtension_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 }, { NULL, 0, 0, NULL } }; @@ -3839,7 +4266,7 @@ dissect_nr_rrc_CG_ConfigInfo_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const value_string nr_rrc_T_c1_vals[] = { +static const value_string nr_rrc_T_c1_01_vals[] = { { 0, "cg-ConfigInfo" }, { 1, "spare3" }, { 2, "spare2" }, @@ -3847,7 +4274,7 @@ static const value_string nr_rrc_T_c1_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_choice[] = { +static const per_choice_t T_c1_01_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 }, @@ -3856,44 +4283,44 @@ static const per_choice_t T_c1_choice[] = { }; 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_) { +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, T_c1_choice, + ett_nr_rrc_T_c1_01, T_c1_01_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_01_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_) { +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, T_criticalExtensionsFuture_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_01_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 }, +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(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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, T_criticalExtensions_choice, + ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice, NULL); return offset; @@ -3901,7 +4328,7 @@ dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static const per_sequence_t CG_ConfigInfo_sequence[] = { - { &hf_nr_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions }, + { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 }, { NULL, 0, 0, NULL } }; @@ -4031,14 +4458,14 @@ dissect_nr_rrc_MeasTimingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } -static const per_sequence_t T_nonCriticalExtension_01_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_02_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_) { +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_01, T_nonCriticalExtension_01_sequence); + ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence); return offset; } @@ -4046,7 +4473,7 @@ dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1 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_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 }, + { &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 }, { NULL, 0, 0, NULL } }; @@ -4059,7 +4486,7 @@ dissect_nr_rrc_MeasurementTimingConfiguration_IEs(tvbuff_t *tvb _U_, int offset } -static const value_string nr_rrc_T_c1_01_vals[] = { +static const value_string nr_rrc_T_c1_02_vals[] = { { 0, "measTimingConf" }, { 1, "spare3" }, { 2, "spare2" }, @@ -4067,7 +4494,7 @@ static const value_string nr_rrc_T_c1_01_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_01_choice[] = { +static const per_choice_t T_c1_02_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 }, @@ -4076,44 +4503,44 @@ static const per_choice_t T_c1_01_choice[] = { }; 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_) { +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_01, T_c1_01_choice, + ett_nr_rrc_T_c1_02, T_c1_02_choice, NULL); return offset; } -static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_02_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_) { +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_01, T_criticalExtensionsFuture_01_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_01_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_02_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 }, +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_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_01, T_criticalExtensions_01_choice, + ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice, NULL); return offset; @@ -4121,7 +4548,7 @@ dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t MeasurementTimingConfiguration_sequence[] = { - { &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 }, + { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 }, { NULL, 0, 0, NULL } }; @@ -6827,14 +7254,14 @@ dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const per_sequence_t T_nonCriticalExtension_03_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_04_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_) { +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_03, T_nonCriticalExtension_03_sequence); + ett_nr_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence); return offset; } @@ -6845,7 +7272,7 @@ static const per_sequence_t RRCReconfiguration_IEs_sequence[] = { { &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_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 }, + { &hf_nr_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 }, { NULL, 0, 0, NULL } }; @@ -6858,35 +7285,35 @@ dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } -static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_04_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_) { +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_03, T_criticalExtensionsFuture_03_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_03_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_04_vals[] = { { 0, "rrcReconfiguration" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_03_choice[] = { +static const per_choice_t T_criticalExtensions_04_choice[] = { { 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_03 }, + { 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_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_03, T_criticalExtensions_03_choice, + ett_nr_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice, NULL); return offset; @@ -6895,7 +7322,7 @@ dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_c 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_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 }, + { &hf_nr_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_04 }, { NULL, 0, 0, NULL } }; @@ -6910,7 +7337,7 @@ dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const value_string nr_rrc_T_c1_02_vals[] = { +static const value_string nr_rrc_T_c1_03_vals[] = { { 0, "rrcReconfiguration" }, { 1, "spare15" }, { 2, "spare14" }, @@ -6930,7 +7357,7 @@ static const value_string nr_rrc_T_c1_02_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_02_choice[] = { +static const per_choice_t T_c1_03_choice[] = { { 0, &hf_nr_rrc_rrcReconfiguration, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration }, { 1, &hf_nr_rrc_spare15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, { 2, &hf_nr_rrc_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, @@ -6951,9 +7378,9 @@ static const per_choice_t T_c1_02_choice[] = { }; 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_) { +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_02, T_c1_02_choice, + ett_nr_rrc_T_c1_03, T_c1_03_choice, NULL); return offset; @@ -6980,7 +7407,7 @@ static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = { }; static const per_choice_t DL_DCCH_MessageType_choice[] = { - { 0, &hf_nr_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_02 }, + { 0, &hf_nr_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_03 }, { 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 }, { 0, NULL, 0, NULL } }; @@ -7085,14 +7512,14 @@ dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } -static const per_sequence_t T_nonCriticalExtension_02_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_03_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_) { +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_02, T_nonCriticalExtension_02_sequence); + ett_nr_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence); return offset; } @@ -7101,7 +7528,7 @@ dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1 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_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 }, + { &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 }, { NULL, 0, 0, NULL } }; @@ -7114,35 +7541,35 @@ dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } -static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_03_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_) { +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_02, T_criticalExtensionsFuture_02_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_02_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_03_vals[] = { { 0, "measurementReport" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_02_choice[] = { +static const per_choice_t T_criticalExtensions_03_choice[] = { { 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_02 }, + { 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_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_02, T_criticalExtensions_02_choice, + ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice, NULL); return offset; @@ -7150,7 +7577,7 @@ dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_c static const per_sequence_t MeasurementReport_sequence[] = { - { &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 }, + { &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 }, { NULL, 0, 0, NULL } }; @@ -7165,14 +7592,14 @@ dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } -static const per_sequence_t T_nonCriticalExtension_04_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_05_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_) { +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_04, T_nonCriticalExtension_04_sequence); + ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence); return offset; } @@ -7180,7 +7607,7 @@ dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1 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_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 }, + { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 }, { NULL, 0, 0, NULL } }; @@ -7193,35 +7620,35 @@ dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, } -static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = { +static const per_sequence_t T_criticalExtensionsFuture_05_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_) { +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_04, T_criticalExtensionsFuture_04_sequence); + ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence); return offset; } -static const value_string nr_rrc_T_criticalExtensions_04_vals[] = { +static const value_string nr_rrc_T_criticalExtensions_05_vals[] = { { 0, "rrcReconfigurationComplete" }, { 1, "criticalExtensionsFuture" }, { 0, NULL } }; -static const per_choice_t T_criticalExtensions_04_choice[] = { +static const per_choice_t T_criticalExtensions_05_choice[] = { { 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs }, - { 1, &hf_nr_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_04 }, + { 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_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +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_04, T_criticalExtensions_04_choice, + ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice, NULL); return offset; @@ -7230,7 +7657,7 @@ dissect_nr_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_c 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_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_04 }, + { &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 }, { NULL, 0, 0, NULL } }; @@ -7245,7 +7672,7 @@ dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn } -static const value_string nr_rrc_T_c1_03_vals[] = { +static const value_string nr_rrc_T_c1_04_vals[] = { { 0, "measurementReport" }, { 1, "rrcReconfigurationComplete" }, { 2, "spare14" }, @@ -7265,7 +7692,7 @@ static const value_string nr_rrc_T_c1_03_vals[] = { { 0, NULL } }; -static const per_choice_t T_c1_03_choice[] = { +static const per_choice_t T_c1_04_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_spare14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL }, @@ -7286,9 +7713,9 @@ static const per_choice_t T_c1_03_choice[] = { }; 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_) { +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_03, T_c1_03_choice, + ett_nr_rrc_T_c1_04, T_c1_04_choice, NULL); return offset; @@ -7315,7 +7742,7 @@ static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = { }; static const per_choice_t UL_DCCH_MessageType_choice[] = { - { 0, &hf_nr_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_03 }, + { 0, &hf_nr_rrc_c1_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_04 }, { 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 }, { 0, NULL, 0, NULL } }; @@ -9211,14 +9638,14 @@ dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } -static const per_sequence_t T_nonCriticalExtension_05_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_06_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_) { +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_05, T_nonCriticalExtension_05_sequence); + ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence); return offset; } @@ -9236,7 +9663,7 @@ static const per_sequence_t SIB1_sequence[] = { { &hf_nr_rrc_pdcch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PDCCH_ConfigCommon }, { &hf_nr_rrc_pucch_ConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ConfigCommon }, { &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 }, + { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 }, { NULL, 0, 0, NULL } }; @@ -18995,16 +19422,6 @@ dissect_nr_rrc_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } - -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, 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" }, @@ -22760,89 +23177,6 @@ dissect_nr_rrc_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } -static const value_string nr_rrc_RAT_Type_vals[] = { - { RAT_Type_nr, "nr" }, - { RAT_Type_eutra_nr, "eutra-nr" }, - { RAT_Type_spare2, "spare2" }, - { 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; - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 4, &rat_type, TRUE, 0, NULL); - - private_data_set_rat_type(actx, (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) { - proto_tree *subtree; - - subtree = proto_item_add_subtree(actx->created_item, ett_nr_rrc_UE_CapabilityRAT_Container); - switch(private_data_get_rat_type(actx)){ - 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; - 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_) { - /* Initialise to invalid value */ - private_data_set_rat_type(actx, 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 const value_string nr_rrc_T_independentGapConfig_vals[] = { { 0, "supported" }, { 0, NULL } @@ -23081,14 +23415,14 @@ dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombinatio } -static const per_sequence_t T_nonCriticalExtension_06_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_07_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_) { +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_06, T_nonCriticalExtension_06_sequence); + ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence); return offset; } @@ -23104,7 +23438,7 @@ static const per_sequence_t UE_MRDC_Capability_sequence[] = { { &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_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING }, - { &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 }, + { &hf_nr_rrc_nonCriticalExtension_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 }, { NULL, 0, 0, NULL } }; @@ -25912,14 +26246,14 @@ dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, as } -static const per_sequence_t T_nonCriticalExtension_07_sequence[] = { +static const per_sequence_t T_nonCriticalExtension_08_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_) { +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_07, T_nonCriticalExtension_07_sequence); + ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence); return offset; } @@ -25940,7 +26274,7 @@ static const per_sequence_t UE_NR_Capability_sequence[] = { { &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_07, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_07 }, + { &hf_nr_rrc_nonCriticalExtension_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 }, { NULL, 0, 0, NULL } }; @@ -25954,6 +26288,14 @@ dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a /*--- PDUs ---*/ +int dissect_nr_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + 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_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -26042,6 +26384,22 @@ int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ 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_) { + 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_) { + 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_MeasResults_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -26050,6 +26408,14 @@ int dissect_nr_rrc_MeasResults_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr 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_) { + 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_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -26119,6 +26485,10 @@ void proto_register_nr_rrc(void) { /*--- Included file: packet-nr-rrc-hfarr.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-hfarr.c" + { &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_ConfigInfo_PDU, { "CG-ConfigInfo", "nr-rrc.CG_ConfigInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26163,10 +26533,22 @@ void proto_register_nr_rrc(void) { { "CellGroupConfig", "nr-rrc.CellGroupConfig_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_MeasResults_PDU, { "MeasResults", "nr-rrc.MeasResults_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, NULL, 0, + NULL, HFILL }}, { &hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU, { "RadioBearerConfig", "nr-rrc.RadioBearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26195,10 +26577,6 @@ void proto_register_nr_rrc(void) { { "MeasResultSCG-Failure", "nr-rrc.MeasResultSCG_Failure_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_criticalExtensions, { "criticalExtensions", "nr-rrc.criticalExtensions", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_vals), 0, @@ -26207,10 +26585,10 @@ void proto_register_nr_rrc(void) { { "c1", "nr-rrc.c1", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_cg_ConfigInfo, - { "cg-ConfigInfo", "nr-rrc.cg_ConfigInfo_element", + { &hf_nr_rrc_handoverPreparationInformation, + { "handoverPreparationInformation", "nr-rrc.handoverPreparationInformation_element", FT_NONE, BASE_NONE, NULL, 0, - "CG_ConfigInfo_IEs", HFILL }}, + "HandoverPreparationInformation_IEs", HFILL }}, { &hf_nr_rrc_spare3, { "spare3", "nr-rrc.spare3_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26227,6 +26605,90 @@ void proto_register_nr_rrc(void) { { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, NULL, 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", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, 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, + { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_nr_rrc_reestablishmentInfo, + { "reestablishmentInfo", "nr-rrc.reestablishmentInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, 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_UINT32, BASE_DEC, VALS(nr_rrc_ShortMAC_I_vals), 0, + "ShortMAC_I", HFILL }}, + { &hf_nr_rrc_additionalReestabInfoList, + { "additionalReestabInfoList", "nr-rrc.additionalReestabInfoList", + FT_UINT32, BASE_DEC, NULL, 0, + "ReestabNCellInfoList", HFILL }}, + { &hf_nr_rrc_configRestrictInfo, + { "configRestrictInfo", "nr-rrc.configRestrictInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "ConfigRestrictInfoSCG", 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_UINT32, BASE_DEC, VALS(nr_rrc_CellIdentity_vals), 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_UINT32, BASE_DEC, VALS(nr_rrc_ShortMAC_I_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_ue_InactiveTime, + { "ue-InactiveTime", "nr-rrc.ue_InactiveTime", + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_InactiveTime_vals), 0, + NULL, HFILL }}, + { &hf_nr_rrc_candidateCellInfoList, + { "candidateCellInfoList", "nr-rrc.candidateCellInfoList", + FT_UINT32, BASE_DEC, NULL, 0, + "MeasResultList2NR", HFILL }}, + { &hf_nr_rrc_measuredFrequency, + { "measuredFrequency", "nr-rrc.measuredFrequency", + FT_UINT32, BASE_DEC, NULL, 0, + "ARFCN_ValueNR", 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_cg_ConfigInfo, + { "cg-ConfigInfo", "nr-rrc.cg_ConfigInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "CG_ConfigInfo_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_CapabilityInfo, { "ue-CapabilityInfo", "nr-rrc.ue_CapabilityInfo", FT_BYTES, BASE_NONE, NULL, 0, @@ -26255,10 +26717,6 @@ void proto_register_nr_rrc(void) { { "measResultSCG", "nr-rrc.measResultSCG", FT_BYTES, 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_drx_InfoMCG, { "drx-InfoMCG", "nr-rrc.drx_InfoMCG_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26279,10 +26737,10 @@ void proto_register_nr_rrc(void) { { "mcg-RB-Config", "nr-rrc.mcg_RB_Config", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension, + { &hf_nr_rrc_nonCriticalExtension_01, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, + "T_nonCriticalExtension_01", HFILL }}, { &hf_nr_rrc_allowedBC_ListMRDC, { "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC", FT_UINT32, BASE_DEC, NULL, 0, @@ -26443,30 +26901,30 @@ void proto_register_nr_rrc(void) { { "gapPurpose", "nr-rrc.gapPurpose", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapPurpose_vals), 0, NULL, HFILL }}, - { &hf_nr_rrc_criticalExtensions_01, + { &hf_nr_rrc_criticalExtensions_02, { "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, + 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_01_vals), 0, - "T_c1_01", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_02_vals), 0, + "T_c1_02", HFILL }}, { &hf_nr_rrc_measTimingConf, { "measTimingConf", "nr-rrc.measTimingConf_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementTimingConfiguration_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_01, + { &hf_nr_rrc_criticalExtensionsFuture_02, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_01", HFILL }}, + "T_criticalExtensionsFuture_02", HFILL }}, { &hf_nr_rrc_measTiming, { "measTiming", "nr-rrc.measTiming", FT_UINT32, BASE_DEC, NULL, 0, "MeasTimingList", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_01, + { &hf_nr_rrc_nonCriticalExtension_02, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_01", HFILL }}, + "T_nonCriticalExtension_02", HFILL }}, { &hf_nr_rrc_MeasTimingList_item, { "MeasTiming", "nr-rrc.MeasTiming_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26499,10 +26957,10 @@ void proto_register_nr_rrc(void) { { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_DCCH_MessageType_vals), 0, "DL_DCCH_MessageType", HFILL }}, - { &hf_nr_rrc_c1_02, + { &hf_nr_rrc_c1_03, { "c1", "nr-rrc.c1", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_02_vals), 0, - "T_c1_02", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_03_vals), 0, + "T_c1_03", HFILL }}, { &hf_nr_rrc_rrcReconfiguration, { "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26563,10 +27021,10 @@ void proto_register_nr_rrc(void) { { "message", "nr-rrc.message", FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_DCCH_MessageType_vals), 0, "UL_DCCH_MessageType", HFILL }}, - { &hf_nr_rrc_c1_03, + { &hf_nr_rrc_c1_04, { "c1", "nr-rrc.c1", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_03_vals), 0, - "T_c1_03", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_04_vals), 0, + "T_c1_04", HFILL }}, { &hf_nr_rrc_measurementReport, { "measurementReport", "nr-rrc.measurementReport_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26611,18 +27069,18 @@ void proto_register_nr_rrc(void) { { "spare", "nr-rrc.spare", FT_BYTES, BASE_NONE, NULL, 0, "BIT_STRING_SIZE_1", HFILL }}, - { &hf_nr_rrc_criticalExtensions_02, + { &hf_nr_rrc_criticalExtensions_03, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_02_vals), 0, - "T_criticalExtensions_02", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0, + "T_criticalExtensions_03", HFILL }}, { &hf_nr_rrc_measurementReport_01, { "measurementReport", "nr-rrc.measurementReport_element", FT_NONE, BASE_NONE, NULL, 0, "MeasurementReport_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_02, + { &hf_nr_rrc_criticalExtensionsFuture_03, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_02", HFILL }}, + "T_criticalExtensionsFuture_03", HFILL }}, { &hf_nr_rrc_measResults, { "measResults", "nr-rrc.measResults_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26631,26 +27089,26 @@ void proto_register_nr_rrc(void) { { "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_02, + { &hf_nr_rrc_nonCriticalExtension_03, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_02", HFILL }}, + "T_nonCriticalExtension_03", HFILL }}, { &hf_nr_rrc_rrc_TransactionIdentifier, { "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_criticalExtensions_03, + { &hf_nr_rrc_criticalExtensions_04, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0, - "T_criticalExtensions_03", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0, + "T_criticalExtensions_04", HFILL }}, { &hf_nr_rrc_rrcReconfiguration_01, { "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfiguration_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_03, + { &hf_nr_rrc_criticalExtensionsFuture_04, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_03", HFILL }}, + "T_criticalExtensionsFuture_04", HFILL }}, { &hf_nr_rrc_radioBearerConfig, { "radioBearerConfig", "nr-rrc.radioBearerConfig_element", FT_NONE, BASE_NONE, NULL, 0, @@ -26663,26 +27121,26 @@ void proto_register_nr_rrc(void) { { "measConfig", "nr-rrc.measConfig_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_03, + { &hf_nr_rrc_nonCriticalExtension_04, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_03", HFILL }}, - { &hf_nr_rrc_criticalExtensions_04, + "T_nonCriticalExtension_04", HFILL }}, + { &hf_nr_rrc_criticalExtensions_05, { "criticalExtensions", "nr-rrc.criticalExtensions", - FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0, - "T_criticalExtensions_04", HFILL }}, + FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0, + "T_criticalExtensions_05", HFILL }}, { &hf_nr_rrc_rrcReconfigurationComplete_01, { "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element", FT_NONE, BASE_NONE, NULL, 0, "RRCReconfigurationComplete_IEs", HFILL }}, - { &hf_nr_rrc_criticalExtensionsFuture_04, + { &hf_nr_rrc_criticalExtensionsFuture_05, { "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element", FT_NONE, BASE_NONE, NULL, 0, - "T_criticalExtensionsFuture_04", HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_04, + "T_criticalExtensionsFuture_05", HFILL }}, + { &hf_nr_rrc_nonCriticalExtension_05, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_04", HFILL }}, + "T_nonCriticalExtension_05", HFILL }}, { &hf_nr_rrc_frequencyOffsetSSB, { "frequencyOffsetSSB", "nr-rrc.frequencyOffsetSSB", FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyOffsetSSB_vals), 0, @@ -26731,10 +27189,10 @@ void proto_register_nr_rrc(void) { { "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_05, + { &hf_nr_rrc_nonCriticalExtension_06, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_05", HFILL }}, + "T_nonCriticalExtension_06", HFILL }}, { &hf_nr_rrc_locationAndBandwidth, { "locationAndBandwidth", "nr-rrc.locationAndBandwidth", FT_UINT32, BASE_DEC, NULL, 0, @@ -32659,10 +33117,10 @@ void proto_register_nr_rrc(void) { { "FeatureSetCombination", "nr-rrc.FeatureSetCombination", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_06, + { &hf_nr_rrc_nonCriticalExtension_07, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_06", HFILL }}, + "T_nonCriticalExtension_07", HFILL }}, { &hf_nr_rrc_measParametersMRDC_XDD_Diff, { "measParametersMRDC-XDD-Diff", "nr-rrc.measParametersMRDC_XDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, @@ -32763,10 +33221,10 @@ void proto_register_nr_rrc(void) { { "featureSets", "nr-rrc.featureSets_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_nr_rrc_nonCriticalExtension_07, + { &hf_nr_rrc_nonCriticalExtension_08, { "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element", FT_NONE, BASE_NONE, NULL, 0, - "T_nonCriticalExtension_07", HFILL }}, + "T_nonCriticalExtension_08", HFILL }}, { &hf_nr_rrc_phy_ParametersXDD_Diff, { "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element", FT_NONE, BASE_NONE, NULL, 0, @@ -33594,14 +34052,25 @@ void proto_register_nr_rrc(void) { /*--- Included file: packet-nr-rrc-ettarr.c ---*/ #line 1 "./asn1/nr-rrc/packet-nr-rrc-ettarr.c" - &ett_nr_rrc_NR_FreqInfo, - &ett_nr_rrc_CG_ConfigInfo, + &ett_nr_rrc_HandoverPreparationInformation, &ett_nr_rrc_T_criticalExtensions, &ett_nr_rrc_T_c1, &ett_nr_rrc_T_criticalExtensionsFuture, + &ett_nr_rrc_HandoverPreparationInformation_IEs, + &ett_nr_rrc_T_nonCriticalExtension, + &ett_nr_rrc_AS_Context, + &ett_nr_rrc_T_reestablishmentInfo, + &ett_nr_rrc_ReestabNCellInfoList, + &ett_nr_rrc_ReestabNCellInfo, + &ett_nr_rrc_RRM_Config, + &ett_nr_rrc_NR_FreqInfo, + &ett_nr_rrc_CG_ConfigInfo, + &ett_nr_rrc_T_criticalExtensions_01, + &ett_nr_rrc_T_c1_01, + &ett_nr_rrc_T_criticalExtensionsFuture_01, &ett_nr_rrc_CG_ConfigInfo_IEs, &ett_nr_rrc_T_scgFailureInfo, - &ett_nr_rrc_T_nonCriticalExtension, + &ett_nr_rrc_T_nonCriticalExtension_01, &ett_nr_rrc_ConfigRestrictInfoSCG, &ett_nr_rrc_T_powerCoordination_FR1, &ett_nr_rrc_T_servCellIndexRangeSCG, @@ -33613,11 +34082,11 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo, &ett_nr_rrc_T_measGapConfig, &ett_nr_rrc_MeasurementTimingConfiguration, - &ett_nr_rrc_T_criticalExtensions_01, - &ett_nr_rrc_T_c1_01, - &ett_nr_rrc_T_criticalExtensionsFuture_01, + &ett_nr_rrc_T_criticalExtensions_02, + &ett_nr_rrc_T_c1_02, + &ett_nr_rrc_T_criticalExtensionsFuture_02, &ett_nr_rrc_MeasurementTimingConfiguration_IEs, - &ett_nr_rrc_T_nonCriticalExtension_01, + &ett_nr_rrc_T_nonCriticalExtension_02, &ett_nr_rrc_MeasTimingList, &ett_nr_rrc_MeasTiming, &ett_nr_rrc_T_frequencyAndTiming, @@ -33626,32 +34095,32 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_T_messageClassExtension, &ett_nr_rrc_DL_DCCH_Message, &ett_nr_rrc_DL_DCCH_MessageType, - &ett_nr_rrc_T_c1_02, + &ett_nr_rrc_T_c1_03, &ett_nr_rrc_T_messageClassExtension_01, &ett_nr_rrc_UL_DCCH_Message, &ett_nr_rrc_UL_DCCH_MessageType, - &ett_nr_rrc_T_c1_03, + &ett_nr_rrc_T_c1_04, &ett_nr_rrc_T_messageClassExtension_02, &ett_nr_rrc_MIB, &ett_nr_rrc_MeasurementReport, - &ett_nr_rrc_T_criticalExtensions_02, - &ett_nr_rrc_T_criticalExtensionsFuture_02, - &ett_nr_rrc_MeasurementReport_IEs, - &ett_nr_rrc_T_nonCriticalExtension_02, - &ett_nr_rrc_RRCReconfiguration, &ett_nr_rrc_T_criticalExtensions_03, &ett_nr_rrc_T_criticalExtensionsFuture_03, - &ett_nr_rrc_RRCReconfiguration_IEs, + &ett_nr_rrc_MeasurementReport_IEs, &ett_nr_rrc_T_nonCriticalExtension_03, - &ett_nr_rrc_RRCReconfigurationComplete, + &ett_nr_rrc_RRCReconfiguration, &ett_nr_rrc_T_criticalExtensions_04, &ett_nr_rrc_T_criticalExtensionsFuture_04, - &ett_nr_rrc_RRCReconfigurationComplete_IEs, + &ett_nr_rrc_RRCReconfiguration_IEs, &ett_nr_rrc_T_nonCriticalExtension_04, + &ett_nr_rrc_RRCReconfigurationComplete, + &ett_nr_rrc_T_criticalExtensions_05, + &ett_nr_rrc_T_criticalExtensionsFuture_05, + &ett_nr_rrc_RRCReconfigurationComplete_IEs, + &ett_nr_rrc_T_nonCriticalExtension_05, &ett_nr_rrc_SIB1, &ett_nr_rrc_T_ssb_PositionsInBurst, &ett_nr_rrc_T_supplementaryUplink, - &ett_nr_rrc_T_nonCriticalExtension_05, + &ett_nr_rrc_T_nonCriticalExtension_06, &ett_nr_rrc_BWP, &ett_nr_rrc_BWP_Uplink, &ett_nr_rrc_BWP_UplinkCommon, @@ -34228,7 +34697,7 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_UE_CapabilityRAT_Container, &ett_nr_rrc_UE_MRDC_Capability, &ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination, - &ett_nr_rrc_T_nonCriticalExtension_06, + &ett_nr_rrc_T_nonCriticalExtension_07, &ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, &ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, &ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, @@ -34238,7 +34707,7 @@ void proto_register_nr_rrc(void) { &ett_nr_rrc_MeasParametersMRDC_XDD_Diff, &ett_nr_rrc_MeasParametersMRDC_FRX_Diff, &ett_nr_rrc_UE_NR_Capability, - &ett_nr_rrc_T_nonCriticalExtension_07, + &ett_nr_rrc_T_nonCriticalExtension_08, &ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, &ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, &ett_nr_rrc_Phy_Parameters, |