forked from osmocom/wireshark
![Pascal Quantin](/assets/img/avatar_default.png)
Bug: 14940 Change-Id: I42706789cd073fab1a0a7283f009c2f30751579d Reviewed-on: https://code.wireshark.org/review/28590 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
35303 lines
1.4 MiB
35303 lines
1.4 MiB
/* Do not modify this file. Changes will be overwritten. */
|
|
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
|
|
/* packet-nr-rrc.c */
|
|
/* asn2wrs.py -L -p nr-rrc -c ./nr-rrc.cnf -s ./packet-nr-rrc-template -D . -O ../.. NR-InterNodeDefinitions.asn NR-RRC-Definitions.asn NR-UE-Variables.asn */
|
|
|
|
/* Input file: packet-nr-rrc-template.c */
|
|
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
/* packet-nr-rrc-template.c
|
|
* NR;
|
|
* Radio Resource Control (RRC) protocol specification
|
|
* (3GPP TS 38.331 V15.2.0 Release 15) packet dissection
|
|
* Copyright 2018, Pascal Quantin
|
|
*
|
|
* Wireshark - Network traffic analyzer
|
|
* By Gerald Combs <gerald@wireshark.org>
|
|
* Copyright 1998 Gerald Combs
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#include "config.h"
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <epan/packet.h>
|
|
#include <epan/asn1.h>
|
|
|
|
#include <wsutil/str_util.h>
|
|
|
|
#include "packet-per.h"
|
|
#include "packet-lte-rrc.h"
|
|
#include "packet-nr-rrc.h"
|
|
|
|
#define PNAME "NR Radio Resource Control (RRC) protocol"
|
|
#define PSNAME "NR RRC"
|
|
#define PFNAME "nr-rrc"
|
|
|
|
void proto_register_nr_rrc(void);
|
|
void proto_reg_handoff_nr_rrc(void);
|
|
|
|
/* Include constants */
|
|
|
|
/*--- Included file: packet-nr-rrc-val.h ---*/
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-val.h"
|
|
#define maxMeasFreqsMN 32
|
|
#define maxMeasFreqsSN 32
|
|
#define maxMeasIdentitiesMN 62
|
|
#define maxCellPrep 32
|
|
#define maxBandComb 65536
|
|
#define maxNrofServingCells 32
|
|
#define maxNrofServingCells_1 31
|
|
#define maxNrofAggregatedCellsPerCellGroup 16
|
|
#define maxNrofSCells 31
|
|
#define maxNrofCellMeas 32
|
|
#define maxNrofSS_BlocksToAverage 16
|
|
#define maxNrofCSI_RS_ResourcesToAverage 16
|
|
#define maxNrofDL_Allocations 16
|
|
#define maxNrofSR_ConfigPerCellGroup 8
|
|
#define maxLCG_ID 7
|
|
#define maxLC_ID 32
|
|
#define maxNrofTAGs 4
|
|
#define maxNrofTAGs_1 3
|
|
#define maxNrofBWPs 4
|
|
#define maxNrofSymbols_1 13
|
|
#define maxNrofSlots 320
|
|
#define maxNrofSlots_1 319
|
|
#define maxNrofPhysicalResourceBlocks 275
|
|
#define maxNrofPhysicalResourceBlocks_1 274
|
|
#define maxNrofPhysicalResourceBlocksPlus1 276
|
|
#define maxNrofControlResourceSets 12
|
|
#define maxNrofControlResourceSets_1 11
|
|
#define maxCoReSetDuration 3
|
|
#define maxNrofSearchSpaces 40
|
|
#define maxNrofSearchSpaces_1 39
|
|
#define maxSFI_DCI_PayloadSize 128
|
|
#define maxSFI_DCI_PayloadSize_1 127
|
|
#define maxINT_DCI_PayloadSize 126
|
|
#define maxINT_DCI_PayloadSize_1 125
|
|
#define maxNrofRateMatchPatterns 4
|
|
#define maxNrofRateMatchPatterns_1 3
|
|
#define maxNrofRateMatchPatternsPerGroup 8
|
|
#define maxNrofCSI_ReportConfigurations 48
|
|
#define maxNrofCSI_ReportConfigurations_1 47
|
|
#define maxNrofCSI_ResourceConfigurations 112
|
|
#define maxNrofCSI_ResourceConfigurations_1 111
|
|
#define maxNrofAP_CSI_RS_ResourcesPerSet 16
|
|
#define maxNrOfCSI_AperiodicTriggers 128
|
|
#define maxNrofReportConfigPerAperiodicTrigger 16
|
|
#define maxNrofNZP_CSI_RS_Resources 192
|
|
#define maxNrofNZP_CSI_RS_Resources_1 191
|
|
#define maxNrofNZP_CSI_RS_ResourcesPerSet 64
|
|
#define maxNrofNZP_CSI_RS_ResourceSets 64
|
|
#define maxNrofNZP_CSI_RS_ResourceSets_1 63
|
|
#define maxNrofNZP_CSI_RS_ResourceSetsPerConfig 16
|
|
#define maxNrofNZP_CSI_RS_ResourcesPerConfig 128
|
|
#define maxNrofZP_CSI_RS_Resources 32
|
|
#define maxNrofZP_CSI_RS_Resources_1 31
|
|
#define maxNrofZP_CSI_RS_ResourceSets_1 15
|
|
#define maxNrofZP_CSI_RS_ResourcesPerSet 16
|
|
#define maxNrofZP_CSI_RS_ResourceSets 16
|
|
#define maxNrofCSI_IM_Resources 32
|
|
#define maxNrofCSI_IM_Resources_1 31
|
|
#define maxNrofCSI_IM_ResourcesPerSet 8
|
|
#define maxNrofCSI_IM_ResourceSets 64
|
|
#define maxNrofCSI_IM_ResourceSets_1 63
|
|
#define maxNrofCSI_IM_ResourceSetsPerConfig 16
|
|
#define maxNrofCSI_SSB_ResourcePerSet 64
|
|
#define maxNrofCSI_SSB_ResourceSets 64
|
|
#define maxNrofCSI_SSB_ResourceSets_1 63
|
|
#define maxNrofCSI_SSB_ResourceSetsPerConfig 1
|
|
#define maxNrofFailureDetectionResources 10
|
|
#define maxNrofFailureDetectionResources_1 9
|
|
#define maxNrofObjectId 64
|
|
#define maxNrofPCI_Ranges 8
|
|
#define maxNrofCSI_RS_ResourcesRRM 96
|
|
#define maxNrofCSI_RS_ResourcesRRM_1 95
|
|
#define maxNrofMeasId 64
|
|
#define maxNrofQuantityConfig 2
|
|
#define maxNrofCSI_RS_CellsRRM 96
|
|
#define maxNrofSRS_ResourceSets 16
|
|
#define maxNrofSRS_ResourceSets_1 15
|
|
#define maxNrofSRS_Resources 64
|
|
#define maxNrofSRS_Resources_1 63
|
|
#define maxNrofSRS_TriggerStates_1 3
|
|
#define maxRAT_CapabilityContainers 8
|
|
#define maxSimultaneousBands 32
|
|
#define maxNrofSlotFormatCombinationsPerCell 16
|
|
#define maxNrofSlotFormatCombinationsPerSet 512
|
|
#define maxNrofSlotFormatCombinationsPerSet_1 511
|
|
#define maxNrofPUCCH_Resources 128
|
|
#define maxNrofPUCCH_Resources_1 127
|
|
#define maxNrofPUCCH_ResourceSets 4
|
|
#define maxNrofPUCCH_ResourceSets_1 3
|
|
#define maxNrofPUCCH_ResourcesPerSet 32
|
|
#define maxNrofPUCCH_ResourcesPerSet_1 31
|
|
#define maxNrofPUCCH_P0_PerSet 8
|
|
#define maxNrofPUCCH_PathlossReferenceRSs 4
|
|
#define maxNrofPUCCH_PathlossReferenceRSs_1 3
|
|
#define maxNrofP0_PUSCH_AlphaSets 30
|
|
#define maxNrofP0_PUSCH_AlphaSets_1 29
|
|
#define maxNrofPUSCH_PathlossReferenceRSs 4
|
|
#define maxNrofPUSCH_PathlossReferenceRSs_1 3
|
|
#define maxBands 1024
|
|
#define maxBandsMRDC 1280
|
|
#define maxBandsEUTRA 256
|
|
#define maxCellReport 8
|
|
#define maxDRB 29
|
|
#define maxFreq 8
|
|
#define maxNrofCSI_RS 64
|
|
#define maxNrofCandidateBeams 16
|
|
#define maxNrofPCIsPerSMTC 64
|
|
#define maxNrofQFIs 64
|
|
#define maxNrOfSemiPersistentPUSCH_Triggers 64
|
|
#define maxNrofSR_Resources 8
|
|
#define maxNrofSlotFormatsPerCombination 256
|
|
#define maxNrofSpatialRelationInfos 8
|
|
#define maxNrofSRS_ResourcesPerSet 16
|
|
#define maxNrofIndexesToReport 32
|
|
#define maxNrofSSBs 64
|
|
#define maxNrofSSBs_1 63
|
|
#define maxNrofTCI_StatesPDCCH 64
|
|
#define maxNrofTCI_States 64
|
|
#define maxNrofTCI_States_1 63
|
|
#define maxNrofUL_Allocations 16
|
|
#define maxQFI 63
|
|
#define maxRA_CSIRS_Resources 96
|
|
#define maxRA_OccasionsPerCSIRS 64
|
|
#define maxRA_Occasions_1 511
|
|
#define maxRA_SSB_Resources 64
|
|
#define maxSCSs 5
|
|
#define maxSecondaryCellGroups 3
|
|
#define maxNrofServingCellsEUTRA 32
|
|
#define maxMBSFN_Allocations 8
|
|
#define maxNrofMultiBands 8
|
|
#define maxCellSFTD 3
|
|
#define maxReportConfigId 64
|
|
#define maxNrofCodebooks 16
|
|
#define maxNrofSRI_PUSCH_Mappings 16
|
|
#define maxNrofSRI_PUSCH_Mappings_1 15
|
|
#define maxDownlinkFeatureSets 1024
|
|
#define maxUplinkFeatureSets 1024
|
|
#define maxEUTRA_DL_FeatureSets 256
|
|
#define maxEUTRA_UL_FeatureSets 256
|
|
#define maxFeatureSetsPerBand 128
|
|
#define maxPerCC_FeatureSets 1024
|
|
#define maxFeatureSetCombinations 1024
|
|
|
|
typedef enum _RAT_Type_enum {
|
|
RAT_Type_nr = 0,
|
|
RAT_Type_eutra_nr = 1,
|
|
RAT_Type_spare2 = 2,
|
|
RAT_Type_spare1 = 3
|
|
} RAT_Type_enum;
|
|
|
|
/*--- End of included file: packet-nr-rrc-val.h ---*/
|
|
#line 36 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
|
|
/* Initialize the protocol and registered fields */
|
|
static int proto_nr_rrc = -1;
|
|
|
|
/*--- Included file: packet-nr-rrc-hf.c ---*/
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-hf.c"
|
|
static int hf_nr_rrc_nr_rrc_HandoverCommand_PDU = -1; /* HandoverCommand */
|
|
static int hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU = -1; /* HandoverPreparationInformation */
|
|
static int hf_nr_rrc_nr_rrc_CG_Config_PDU = -1; /* CG_Config */
|
|
static int hf_nr_rrc_nr_rrc_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 */
|
|
static int hf_nr_rrc_BCCH_BCH_Message_PDU = -1; /* BCCH_BCH_Message */
|
|
static int hf_nr_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */
|
|
static int hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */
|
|
static int hf_nr_rrc_nr_rrc_MIB_PDU = -1; /* MIB */
|
|
static int hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU = -1; /* RRCReconfiguration */
|
|
static int hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU = -1; /* RRCReconfigurationComplete */
|
|
static int hf_nr_rrc_nr_rrc_SIB1_PDU = -1; /* SIB1 */
|
|
static int hf_nr_rrc_nr_rrc_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 */
|
|
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_criticalExtensions = -1; /* T_criticalExtensions */
|
|
static int hf_nr_rrc_c1 = -1; /* T_c1 */
|
|
static int hf_nr_rrc_handoverCommand = -1; /* HandoverCommand_IEs */
|
|
static int hf_nr_rrc_spare3 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare2 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare1 = -1; /* NULL */
|
|
static int hf_nr_rrc_criticalExtensionsFuture = -1; /* T_criticalExtensionsFuture */
|
|
static int hf_nr_rrc_handoverCommandMessage = -1; /* T_handoverCommandMessage */
|
|
static int hf_nr_rrc_nonCriticalExtension = -1; /* T_nonCriticalExtension */
|
|
static int hf_nr_rrc_criticalExtensions_01 = -1; /* T_criticalExtensions_01 */
|
|
static int hf_nr_rrc_c1_01 = -1; /* T_c1_01 */
|
|
static int hf_nr_rrc_handoverPreparationInformation = -1; /* HandoverPreparationInformation_IEs */
|
|
static int hf_nr_rrc_criticalExtensionsFuture_01 = -1; /* T_criticalExtensionsFuture_01 */
|
|
static int hf_nr_rrc_ue_CapabilityRAT_List = -1; /* UE_CapabilityRAT_ContainerList */
|
|
static int hf_nr_rrc_sourceConfig = -1; /* 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_01 = -1; /* T_nonCriticalExtension_01 */
|
|
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_criticalExtensions_02 = -1; /* T_criticalExtensions_02 */
|
|
static int hf_nr_rrc_c1_02 = -1; /* T_c1_02 */
|
|
static int hf_nr_rrc_cg_Config = -1; /* CG_Config_IEs */
|
|
static int hf_nr_rrc_criticalExtensionsFuture_02 = -1; /* T_criticalExtensionsFuture_02 */
|
|
static int hf_nr_rrc_scg_CellGroupConfig = -1; /* T_scg_CellGroupConfig */
|
|
static int hf_nr_rrc_scg_RB_Config = -1; /* T_scg_RB_Config */
|
|
static int hf_nr_rrc_configRestrictModReq = -1; /* ConfigRestrictModReqSCG */
|
|
static int hf_nr_rrc_drx_InfoSCG = -1; /* DRX_Info */
|
|
static int hf_nr_rrc_candidateCellInfoListSN = -1; /* T_candidateCellInfoListSN */
|
|
static int hf_nr_rrc_measConfigSN = -1; /* MeasConfigSN */
|
|
static int hf_nr_rrc_selectedBandCombinationNR = -1; /* BandCombinationIndex */
|
|
static int hf_nr_rrc_fr_InfoListSCG = -1; /* FR_InfoList */
|
|
static int hf_nr_rrc_nonCriticalExtension_02 = -1; /* T_nonCriticalExtension_02 */
|
|
static int hf_nr_rrc_measuredFrequenciesSN = -1; /* SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo */
|
|
static int hf_nr_rrc_measuredFrequenciesSN_item = -1; /* NR_FreqInfo */
|
|
static int hf_nr_rrc_measuredFrequency = -1; /* ARFCN_ValueNR */
|
|
static int hf_nr_rrc_requestedBC_MRDC = -1; /* BandCombinationIndex */
|
|
static int hf_nr_rrc_requestedP_MaxFR1 = -1; /* P_Max */
|
|
static int hf_nr_rrc_FR_InfoList_item = -1; /* FR_Info */
|
|
static int hf_nr_rrc_servCellIndex = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_fr_Type = -1; /* T_fr_Type */
|
|
static int hf_nr_rrc_criticalExtensions_03 = -1; /* T_criticalExtensions_03 */
|
|
static int hf_nr_rrc_c1_03 = -1; /* T_c1_03 */
|
|
static int hf_nr_rrc_cg_ConfigInfo = -1; /* CG_ConfigInfo_IEs */
|
|
static int hf_nr_rrc_criticalExtensionsFuture_03 = -1; /* T_criticalExtensionsFuture_03 */
|
|
static int hf_nr_rrc_ue_CapabilityInfo = -1; /* T_ue_CapabilityInfo */
|
|
static int hf_nr_rrc_candidateCellInfoListMN = -1; /* MeasResultList2NR */
|
|
static int hf_nr_rrc_candidateCellInfoListSN_01 = -1; /* T_candidateCellInfoListSN_01 */
|
|
static int hf_nr_rrc_measResultCellListSFTD = -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_drx_InfoMCG = -1; /* DRX_Info */
|
|
static int hf_nr_rrc_measConfigMN = -1; /* MeasConfigMN */
|
|
static int hf_nr_rrc_sourceConfigSCG = -1; /* T_sourceConfigSCG */
|
|
static int hf_nr_rrc_scg_RB_Config_01 = -1; /* T_scg_RB_Config_01 */
|
|
static int hf_nr_rrc_mcg_RB_Config = -1; /* T_mcg_RB_Config */
|
|
static int hf_nr_rrc_nonCriticalExtension_03 = -1; /* T_nonCriticalExtension_03 */
|
|
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 */
|
|
static int hf_nr_rrc_p_maxEUTRA = -1; /* P_Max */
|
|
static int hf_nr_rrc_servCellIndexRangeSCG = -1; /* T_servCellIndexRangeSCG */
|
|
static int hf_nr_rrc_lowBound = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_upBound = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_maxMeasFreqsSCG_NR = -1; /* INTEGER_1_maxMeasFreqsMN */
|
|
static int hf_nr_rrc_maxMeasIdentitiesSCG_NR = -1; /* INTEGER_1_maxMeasIdentitiesMN */
|
|
static int hf_nr_rrc_BandCombinationIndexList_item = -1; /* BandCombinationIndex */
|
|
static int hf_nr_rrc_drx_LongCycleStartOffset = -1; /* T_drx_LongCycleStartOffset */
|
|
static int hf_nr_rrc_ms10 = -1; /* INTEGER_0_9 */
|
|
static int hf_nr_rrc_ms20 = -1; /* INTEGER_0_19 */
|
|
static int hf_nr_rrc_ms32 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_ms40 = -1; /* INTEGER_0_39 */
|
|
static int hf_nr_rrc_ms60 = -1; /* INTEGER_0_59 */
|
|
static int hf_nr_rrc_ms64 = -1; /* INTEGER_0_63 */
|
|
static int hf_nr_rrc_ms70 = -1; /* INTEGER_0_69 */
|
|
static int hf_nr_rrc_ms80 = -1; /* INTEGER_0_79 */
|
|
static int hf_nr_rrc_ms128 = -1; /* INTEGER_0_127 */
|
|
static int hf_nr_rrc_ms160 = -1; /* INTEGER_0_159 */
|
|
static int hf_nr_rrc_ms256 = -1; /* INTEGER_0_255 */
|
|
static int hf_nr_rrc_ms320 = -1; /* INTEGER_0_319 */
|
|
static int hf_nr_rrc_ms512 = -1; /* INTEGER_0_511 */
|
|
static int hf_nr_rrc_ms640 = -1; /* INTEGER_0_639 */
|
|
static int hf_nr_rrc_ms1024 = -1; /* INTEGER_0_1023 */
|
|
static int hf_nr_rrc_ms1280 = -1; /* INTEGER_0_1279 */
|
|
static int hf_nr_rrc_ms2048 = -1; /* INTEGER_0_2047 */
|
|
static int hf_nr_rrc_ms2560 = -1; /* INTEGER_0_2559 */
|
|
static int hf_nr_rrc_ms5120 = -1; /* INTEGER_0_5119 */
|
|
static int hf_nr_rrc_ms10240 = -1; /* INTEGER_0_10239 */
|
|
static int hf_nr_rrc_shortDRX = -1; /* T_shortDRX */
|
|
static int hf_nr_rrc_drx_ShortCycle = -1; /* T_drx_ShortCycle */
|
|
static int hf_nr_rrc_drx_ShortCycleTimer = -1; /* INTEGER_1_16 */
|
|
static int hf_nr_rrc_measuredFrequenciesMN = -1; /* SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo */
|
|
static int hf_nr_rrc_measuredFrequenciesMN_item = -1; /* NR_FreqInfo */
|
|
static int hf_nr_rrc_measGapConfig = -1; /* T_measGapConfig */
|
|
static int hf_nr_rrc_release = -1; /* NULL */
|
|
static int hf_nr_rrc_setup = -1; /* GapConfig */
|
|
static int hf_nr_rrc_gapPurpose = -1; /* T_gapPurpose */
|
|
static int hf_nr_rrc_criticalExtensions_04 = -1; /* T_criticalExtensions_04 */
|
|
static int hf_nr_rrc_c1_04 = -1; /* T_c1_04 */
|
|
static int hf_nr_rrc_measTimingConf = -1; /* MeasurementTimingConfiguration_IEs */
|
|
static int hf_nr_rrc_criticalExtensionsFuture_04 = -1; /* T_criticalExtensionsFuture_04 */
|
|
static int hf_nr_rrc_measTiming = -1; /* MeasTimingList */
|
|
static int hf_nr_rrc_nonCriticalExtension_04 = -1; /* T_nonCriticalExtension_04 */
|
|
static int hf_nr_rrc_MeasTimingList_item = -1; /* MeasTiming */
|
|
static int hf_nr_rrc_frequencyAndTiming = -1; /* T_frequencyAndTiming */
|
|
static int hf_nr_rrc_carrierFreq = -1; /* ARFCN_ValueNR */
|
|
static int hf_nr_rrc_ssb_MeasurementTimingConfiguration = -1; /* SSB_MTC */
|
|
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_05 = -1; /* T_c1_05 */
|
|
static int hf_nr_rrc_rrcReconfiguration = -1; /* RRCReconfiguration */
|
|
static int hf_nr_rrc_spare15 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare14 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare13 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare12 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare11 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare10 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare9 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare8 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare7 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare6 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare5 = -1; /* NULL */
|
|
static int hf_nr_rrc_spare4 = -1; /* NULL */
|
|
static int hf_nr_rrc_messageClassExtension_01 = -1; /* T_messageClassExtension_01 */
|
|
static int hf_nr_rrc_message_02 = -1; /* UL_DCCH_MessageType */
|
|
static int hf_nr_rrc_c1_06 = -1; /* T_c1_06 */
|
|
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 */
|
|
static int hf_nr_rrc_systemFrameNumber = -1; /* BIT_STRING_SIZE_6 */
|
|
static int hf_nr_rrc_subCarrierSpacingCommon = -1; /* T_subCarrierSpacingCommon */
|
|
static int hf_nr_rrc_ssb_SubcarrierOffset = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_dmrs_TypeA_Position = -1; /* T_dmrs_TypeA_Position */
|
|
static int hf_nr_rrc_pdcch_ConfigSIB1 = -1; /* 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_05 = -1; /* T_criticalExtensions_05 */
|
|
static int hf_nr_rrc_measurementReport_01 = -1; /* MeasurementReport_IEs */
|
|
static int hf_nr_rrc_criticalExtensionsFuture_05 = -1; /* T_criticalExtensionsFuture_05 */
|
|
static int hf_nr_rrc_measResults = -1; /* MeasResults */
|
|
static int hf_nr_rrc_lateNonCriticalExtension = -1; /* OCTET_STRING */
|
|
static int hf_nr_rrc_nonCriticalExtension_05 = -1; /* T_nonCriticalExtension_05 */
|
|
static int hf_nr_rrc_rrc_TransactionIdentifier = -1; /* RRC_TransactionIdentifier */
|
|
static int hf_nr_rrc_criticalExtensions_06 = -1; /* T_criticalExtensions_06 */
|
|
static int hf_nr_rrc_rrcReconfiguration_01 = -1; /* RRCReconfiguration_IEs */
|
|
static int hf_nr_rrc_criticalExtensionsFuture_06 = -1; /* T_criticalExtensionsFuture_06 */
|
|
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_06 = -1; /* T_nonCriticalExtension_06 */
|
|
static int hf_nr_rrc_criticalExtensions_07 = -1; /* T_criticalExtensions_07 */
|
|
static int hf_nr_rrc_rrcReconfigurationComplete_01 = -1; /* RRCReconfigurationComplete_IEs */
|
|
static int hf_nr_rrc_criticalExtensionsFuture_07 = -1; /* T_criticalExtensionsFuture_07 */
|
|
static int hf_nr_rrc_nonCriticalExtension_07 = -1; /* T_nonCriticalExtension_07 */
|
|
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 */
|
|
static int hf_nr_rrc_groupPresence = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_ssb_PeriodicityServingCell = -1; /* T_ssb_PeriodicityServingCell */
|
|
static int hf_nr_rrc_ss_PBCH_BlockPower = -1; /* INTEGER_M60_50 */
|
|
static int hf_nr_rrc_uplinkConfigCommon = -1; /* UplinkConfigCommon */
|
|
static int hf_nr_rrc_supplementaryUplink = -1; /* T_supplementaryUplink */
|
|
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_08 = -1; /* T_nonCriticalExtension_08 */
|
|
static int hf_nr_rrc_locationAndBandwidth = -1; /* INTEGER_0_37949 */
|
|
static int hf_nr_rrc_subcarrierSpacing = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_cyclicPrefix = -1; /* T_cyclicPrefix */
|
|
static int hf_nr_rrc_bwp_Id = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_bwp_Common = -1; /* BWP_UplinkCommon */
|
|
static int hf_nr_rrc_bwp_Dedicated = -1; /* BWP_UplinkDedicated */
|
|
static int hf_nr_rrc_genericParameters = -1; /* BWP */
|
|
static int hf_nr_rrc_rach_ConfigCommon = -1; /* T_rach_ConfigCommon */
|
|
static int hf_nr_rrc_setup_01 = -1; /* RACH_ConfigCommon */
|
|
static int hf_nr_rrc_pusch_ConfigCommon = -1; /* T_pusch_ConfigCommon */
|
|
static int hf_nr_rrc_setup_02 = -1; /* PUSCH_ConfigCommon */
|
|
static int hf_nr_rrc_pucch_ConfigCommon_01 = -1; /* T_pucch_ConfigCommon */
|
|
static int hf_nr_rrc_setup_03 = -1; /* PUCCH_ConfigCommon */
|
|
static int hf_nr_rrc_pucch_Config = -1; /* T_pucch_Config */
|
|
static int hf_nr_rrc_setup_04 = -1; /* PUCCH_Config */
|
|
static int hf_nr_rrc_pusch_Config = -1; /* T_pusch_Config */
|
|
static int hf_nr_rrc_setup_05 = -1; /* PUSCH_Config */
|
|
static int hf_nr_rrc_configuredGrantConfig = -1; /* T_configuredGrantConfig */
|
|
static int hf_nr_rrc_setup_06 = -1; /* ConfiguredGrantConfig */
|
|
static int hf_nr_rrc_srs_Config = -1; /* T_srs_Config */
|
|
static int hf_nr_rrc_setup_07 = -1; /* SRS_Config */
|
|
static int hf_nr_rrc_beamFailureRecoveryConfig = -1; /* T_beamFailureRecoveryConfig */
|
|
static int hf_nr_rrc_setup_08 = -1; /* BeamFailureRecoveryConfig */
|
|
static int hf_nr_rrc_bwp_Common_01 = -1; /* BWP_DownlinkCommon */
|
|
static int hf_nr_rrc_bwp_Dedicated_01 = -1; /* BWP_DownlinkDedicated */
|
|
static int hf_nr_rrc_pdcch_ConfigCommon_01 = -1; /* T_pdcch_ConfigCommon */
|
|
static int hf_nr_rrc_setup_09 = -1; /* PDCCH_ConfigCommon */
|
|
static int hf_nr_rrc_pdsch_ConfigCommon = -1; /* T_pdsch_ConfigCommon */
|
|
static int hf_nr_rrc_setup_10 = -1; /* PDSCH_ConfigCommon */
|
|
static int hf_nr_rrc_pdcch_Config = -1; /* T_pdcch_Config */
|
|
static int hf_nr_rrc_setup_11 = -1; /* PDCCH_Config */
|
|
static int hf_nr_rrc_pdsch_Config = -1; /* T_pdsch_Config */
|
|
static int hf_nr_rrc_setup_12 = -1; /* PDSCH_Config */
|
|
static int hf_nr_rrc_sps_Config = -1; /* T_sps_Config */
|
|
static int hf_nr_rrc_setup_13 = -1; /* SPS_Config */
|
|
static int hf_nr_rrc_radioLinkMonitoringConfig = -1; /* T_radioLinkMonitoringConfig */
|
|
static int hf_nr_rrc_setup_14 = -1; /* RadioLinkMonitoringConfig */
|
|
static int hf_nr_rrc_rootSequenceIndex_BFR = -1; /* INTEGER_0_137 */
|
|
static int hf_nr_rrc_rach_ConfigBFR = -1; /* RACH_ConfigGeneric */
|
|
static int hf_nr_rrc_rsrp_ThresholdSSB = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_candidateBeamRSList = -1; /* SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR */
|
|
static int hf_nr_rrc_candidateBeamRSList_item = -1; /* PRACH_ResourceDedicatedBFR */
|
|
static int hf_nr_rrc_ssb_perRACH_Occasion = -1; /* T_ssb_perRACH_Occasion */
|
|
static int hf_nr_rrc_ra_ssb_OccasionMaskIndex = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_recoverySearchSpaceId = -1; /* SearchSpaceId */
|
|
static int hf_nr_rrc_ra_Prioritization = -1; /* RA_Prioritization */
|
|
static int hf_nr_rrc_beamFailureRecoveryTimer = -1; /* T_beamFailureRecoveryTimer */
|
|
static int hf_nr_rrc_ssb = -1; /* BFR_SSB_Resource */
|
|
static int hf_nr_rrc_csi_RS = -1; /* BFR_CSIRS_Resource */
|
|
static int hf_nr_rrc_ssb_01 = -1; /* SSB_Index */
|
|
static int hf_nr_rrc_ra_PreambleIndex = -1; /* INTEGER_0_63 */
|
|
static int hf_nr_rrc_csi_RS_01 = -1; /* NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_ra_OccasionList = -1; /* T_ra_OccasionList */
|
|
static int hf_nr_rrc_ra_OccasionList_item = -1; /* INTEGER_0_maxRA_Occasions_1 */
|
|
static int hf_nr_rrc_cellGroupId = -1; /* CellGroupId */
|
|
static int hf_nr_rrc_rlc_BearerToAddModList = -1; /* SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig */
|
|
static int hf_nr_rrc_rlc_BearerToAddModList_item = -1; /* RLC_BearerConfig */
|
|
static int hf_nr_rrc_rlc_BearerToReleaseList = -1; /* SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity */
|
|
static int hf_nr_rrc_rlc_BearerToReleaseList_item = -1; /* LogicalChannelIdentity */
|
|
static int hf_nr_rrc_mac_CellGroupConfig = -1; /* MAC_CellGroupConfig */
|
|
static int hf_nr_rrc_physicalCellGroupConfig = -1; /* PhysicalCellGroupConfig */
|
|
static int hf_nr_rrc_spCellConfig = -1; /* SpCellConfig */
|
|
static int hf_nr_rrc_sCellToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig */
|
|
static int hf_nr_rrc_sCellToAddModList_item = -1; /* SCellConfig */
|
|
static int hf_nr_rrc_sCellToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex */
|
|
static int hf_nr_rrc_sCellToReleaseList_item = -1; /* SCellIndex */
|
|
static int hf_nr_rrc_reconfigurationWithSync = -1; /* ReconfigurationWithSync */
|
|
static int hf_nr_rrc_rlf_TimersAndConstants = -1; /* T_rlf_TimersAndConstants */
|
|
static int hf_nr_rrc_setup_15 = -1; /* RLF_TimersAndConstants */
|
|
static int hf_nr_rrc_rlmInSyncOutOfSyncThreshold = -1; /* T_rlmInSyncOutOfSyncThreshold */
|
|
static int hf_nr_rrc_spCellConfigDedicated = -1; /* ServingCellConfig */
|
|
static int hf_nr_rrc_spCellConfigCommon = -1; /* ServingCellConfigCommon */
|
|
static int hf_nr_rrc_newUE_Identity = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_t304 = -1; /* T_t304 */
|
|
static int hf_nr_rrc_rach_ConfigDedicated = -1; /* T_rach_ConfigDedicated */
|
|
static int hf_nr_rrc_uplink = -1; /* RACH_ConfigDedicated */
|
|
static int hf_nr_rrc_supplementaryUplink_01 = -1; /* RACH_ConfigDedicated */
|
|
static int hf_nr_rrc_sCellIndex = -1; /* SCellIndex */
|
|
static int hf_nr_rrc_sCellConfigCommon = -1; /* ServingCellConfigCommon */
|
|
static int hf_nr_rrc_sCellConfigDedicated = -1; /* ServingCellConfig */
|
|
static int hf_nr_rrc_codebookType = -1; /* T_codebookType */
|
|
static int hf_nr_rrc_type1 = -1; /* T_type1 */
|
|
static int hf_nr_rrc_subType = -1; /* T_subType */
|
|
static int hf_nr_rrc_typeI_SinglePanel = -1; /* T_typeI_SinglePanel */
|
|
static int hf_nr_rrc_nrOfAntennaPorts = -1; /* T_nrOfAntennaPorts */
|
|
static int hf_nr_rrc_two = -1; /* T_two */
|
|
static int hf_nr_rrc_twoTX_CodebookSubsetRestriction = -1; /* BIT_STRING_SIZE_6 */
|
|
static int hf_nr_rrc_moreThanTwo = -1; /* T_moreThanTwo */
|
|
static int hf_nr_rrc_n1_n2 = -1; /* T_n1_n2 */
|
|
static int hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
|
|
static int hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_16 */
|
|
static int hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_96 */
|
|
static int hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_24 */
|
|
static int hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_128 */
|
|
static int hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_32 */
|
|
static int hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_192 */
|
|
static int hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_192 */
|
|
static int hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_48 */
|
|
static int hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_256 */
|
|
static int hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_256 */
|
|
static int hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
|
|
static int hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2 = -1; /* BIT_STRING_SIZE_16 */
|
|
static int hf_nr_rrc_typeI_SinglePanel_ri_Restriction = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_typeI_MultiPanel = -1; /* T_typeI_MultiPanel */
|
|
static int hf_nr_rrc_ng_n1_n2 = -1; /* T_ng_n1_n2 */
|
|
static int hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_16 */
|
|
static int hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
|
|
static int hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_32 */
|
|
static int hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_16 */
|
|
static int hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_128 */
|
|
static int hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction = -1; /* BIT_STRING_SIZE_64 */
|
|
static int hf_nr_rrc_ri_Restriction = -1; /* BIT_STRING_SIZE_4 */
|
|
static int hf_nr_rrc_codebookMode = -1; /* INTEGER_1_2 */
|
|
static int hf_nr_rrc_type2 = -1; /* T_type2 */
|
|
static int hf_nr_rrc_subType_01 = -1; /* T_subType_01 */
|
|
static int hf_nr_rrc_typeII = -1; /* T_typeII */
|
|
static int hf_nr_rrc_n1_n2_codebookSubsetRestriction = -1; /* T_n1_n2_codebookSubsetRestriction */
|
|
static int hf_nr_rrc_two_one = -1; /* BIT_STRING_SIZE_16 */
|
|
static int hf_nr_rrc_two_two = -1; /* BIT_STRING_SIZE_43 */
|
|
static int hf_nr_rrc_four_one = -1; /* BIT_STRING_SIZE_32 */
|
|
static int hf_nr_rrc_three_two = -1; /* BIT_STRING_SIZE_59 */
|
|
static int hf_nr_rrc_six_one = -1; /* BIT_STRING_SIZE_48 */
|
|
static int hf_nr_rrc_four_two = -1; /* BIT_STRING_SIZE_75 */
|
|
static int hf_nr_rrc_eight_one = -1; /* BIT_STRING_SIZE_64 */
|
|
static int hf_nr_rrc_four_three = -1; /* BIT_STRING_SIZE_107 */
|
|
static int hf_nr_rrc_six_two = -1; /* BIT_STRING_SIZE_107 */
|
|
static int hf_nr_rrc_twelve_one = -1; /* BIT_STRING_SIZE_96 */
|
|
static int hf_nr_rrc_four_four = -1; /* BIT_STRING_SIZE_139 */
|
|
static int hf_nr_rrc_eight_two = -1; /* BIT_STRING_SIZE_139 */
|
|
static int hf_nr_rrc_sixteen_one = -1; /* BIT_STRING_SIZE_128 */
|
|
static int hf_nr_rrc_typeII_RI_Restriction = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_typeII_PortSelection = -1; /* T_typeII_PortSelection */
|
|
static int hf_nr_rrc_portSelectionSamplingSize = -1; /* T_portSelectionSamplingSize */
|
|
static int hf_nr_rrc_typeII_PortSelectionRI_Restriction = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_phaseAlphabetSize = -1; /* T_phaseAlphabetSize */
|
|
static int hf_nr_rrc_subbandAmplitude = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_numberOfBeams = -1; /* T_numberOfBeams */
|
|
static int hf_nr_rrc_frequencyHopping = -1; /* T_frequencyHopping */
|
|
static int hf_nr_rrc_cg_DMRS_Configuration = -1; /* DMRS_UplinkConfig */
|
|
static int hf_nr_rrc_mcs_Table = -1; /* T_mcs_Table */
|
|
static int hf_nr_rrc_mcs_TableTransformPrecoder = -1; /* T_mcs_TableTransformPrecoder */
|
|
static int hf_nr_rrc_uci_OnPUSCH = -1; /* T_uci_OnPUSCH */
|
|
static int hf_nr_rrc_setup_16 = -1; /* CG_UCI_OnPUSCH */
|
|
static int hf_nr_rrc_resourceAllocation = -1; /* T_resourceAllocation */
|
|
static int hf_nr_rrc_rbg_Size = -1; /* T_rbg_Size */
|
|
static int hf_nr_rrc_powerControlLoopToUse = -1; /* T_powerControlLoopToUse */
|
|
static int hf_nr_rrc_p0_PUSCH_Alpha = -1; /* P0_PUSCH_AlphaSetId */
|
|
static int hf_nr_rrc_transformPrecoder = -1; /* T_transformPrecoder */
|
|
static int hf_nr_rrc_nrofHARQ_Processes = -1; /* INTEGER_1_16 */
|
|
static int hf_nr_rrc_repK = -1; /* T_repK */
|
|
static int hf_nr_rrc_repK_RV = -1; /* T_repK_RV */
|
|
static int hf_nr_rrc_periodicity = -1; /* T_periodicity */
|
|
static int hf_nr_rrc_configuredGrantTimer = -1; /* INTEGER_1_64 */
|
|
static int hf_nr_rrc_rrc_ConfiguredUplinkGrant = -1; /* T_rrc_ConfiguredUplinkGrant */
|
|
static int hf_nr_rrc_timeDomainOffset = -1; /* INTEGER_0_5119 */
|
|
static int hf_nr_rrc_timeDomainAllocation = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_frequencyDomainAllocation = -1; /* BIT_STRING_SIZE_18 */
|
|
static int hf_nr_rrc_antennaPort = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_dmrs_SeqInitialization = -1; /* INTEGER_0_1 */
|
|
static int hf_nr_rrc_precodingAndNumberOfLayers = -1; /* INTEGER_0_63 */
|
|
static int hf_nr_rrc_srs_ResourceIndicator = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_mcsAndTBS = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_frequencyHoppingOffset = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
|
|
static int hf_nr_rrc_pathlossReferenceIndex = -1; /* INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 */
|
|
static int hf_nr_rrc_dynamic = -1; /* SEQUENCE_SIZE_1_4_OF_BetaOffsets */
|
|
static int hf_nr_rrc_dynamic_item = -1; /* BetaOffsets */
|
|
static int hf_nr_rrc_semiStatic = -1; /* BetaOffsets */
|
|
static int hf_nr_rrc_controlResourceSetId = -1; /* ControlResourceSetId */
|
|
static int hf_nr_rrc_frequencyDomainResources = -1; /* BIT_STRING_SIZE_45 */
|
|
static int hf_nr_rrc_duration = -1; /* INTEGER_1_maxCoReSetDuration */
|
|
static int hf_nr_rrc_cce_REG_MappingType = -1; /* T_cce_REG_MappingType */
|
|
static int hf_nr_rrc_interleaved = -1; /* T_interleaved */
|
|
static int hf_nr_rrc_reg_BundleSize = -1; /* T_reg_BundleSize */
|
|
static int hf_nr_rrc_interleaverSize = -1; /* T_interleaverSize */
|
|
static int hf_nr_rrc_shiftIndex = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
|
|
static int hf_nr_rrc_nonInterleaved = -1; /* NULL */
|
|
static int hf_nr_rrc_precoderGranularity = -1; /* T_precoderGranularity */
|
|
static int hf_nr_rrc_tci_StatesPDCCH_ToAddList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */
|
|
static int hf_nr_rrc_tci_StatesPDCCH_ToAddList_item = -1; /* TCI_StateId */
|
|
static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId */
|
|
static int hf_nr_rrc_tci_StatesPDCCH_ToReleaseList_item = -1; /* TCI_StateId */
|
|
static int hf_nr_rrc_tci_PresentInDCI = -1; /* T_tci_PresentInDCI */
|
|
static int hf_nr_rrc_pdcch_DMRS_ScramblingID = -1; /* INTEGER_0_65535 */
|
|
static int hf_nr_rrc_schedulingCellInfo = -1; /* T_schedulingCellInfo */
|
|
static int hf_nr_rrc_own = -1; /* T_own */
|
|
static int hf_nr_rrc_cif_Presence = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_other = -1; /* T_other */
|
|
static int hf_nr_rrc_schedulingCellId = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_cif_InSchedulingCell = -1; /* INTEGER_1_7 */
|
|
static int hf_nr_rrc_CSI_AperiodicTriggerStateList_item = -1; /* CSI_AperiodicTriggerState */
|
|
static int hf_nr_rrc_associatedReportConfigInfoList = -1; /* SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo */
|
|
static int hf_nr_rrc_associatedReportConfigInfoList_item = -1; /* CSI_AssociatedReportConfigInfo */
|
|
static int hf_nr_rrc_reportConfigId = -1; /* CSI_ReportConfigId */
|
|
static int hf_nr_rrc_resourcesForChannel = -1; /* T_resourcesForChannel */
|
|
static int hf_nr_rrc_nzp_CSI_RS = -1; /* T_nzp_CSI_RS */
|
|
static int hf_nr_rrc_resourceSet = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
|
|
static int hf_nr_rrc_qcl_info = -1; /* SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId */
|
|
static int hf_nr_rrc_qcl_info_item = -1; /* TCI_StateId */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSet = -1; /* INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig */
|
|
static int hf_nr_rrc_csi_IM_ResourcesforInteference = -1; /* INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference = -1; /* INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig */
|
|
static int hf_nr_rrc_startingRB = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
|
|
static int hf_nr_rrc_nrofRBs = -1; /* INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 */
|
|
static int hf_nr_rrc_csi_IM_ResourceId = -1; /* CSI_IM_ResourceId */
|
|
static int hf_nr_rrc_csi_IM_ResourceElementPattern = -1; /* T_csi_IM_ResourceElementPattern */
|
|
static int hf_nr_rrc_pattern0 = -1; /* T_pattern0 */
|
|
static int hf_nr_rrc_subcarrierLocation_p0 = -1; /* T_subcarrierLocation_p0 */
|
|
static int hf_nr_rrc_symbolLocation_p0 = -1; /* INTEGER_0_12 */
|
|
static int hf_nr_rrc_pattern1 = -1; /* T_pattern1 */
|
|
static int hf_nr_rrc_subcarrierLocation_p1 = -1; /* T_subcarrierLocation_p1 */
|
|
static int hf_nr_rrc_symbolLocation_p1 = -1; /* INTEGER_0_13 */
|
|
static int hf_nr_rrc_freqBand = -1; /* CSI_FrequencyOccupation */
|
|
static int hf_nr_rrc_periodicityAndOffset = -1; /* CSI_ResourcePeriodicityAndOffset */
|
|
static int hf_nr_rrc_csi_IM_ResourceSetId = -1; /* CSI_IM_ResourceSetId */
|
|
static int hf_nr_rrc_csi_IM_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId */
|
|
static int hf_nr_rrc_csi_IM_Resources_item = -1; /* CSI_IM_ResourceId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item = -1; /* NZP_CSI_RS_Resource */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item = -1; /* NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item = -1; /* NZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item = -1; /* NZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_csi_IM_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource */
|
|
static int hf_nr_rrc_csi_IM_ResourceToAddModList_item = -1; /* CSI_IM_Resource */
|
|
static int hf_nr_rrc_csi_IM_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId */
|
|
static int hf_nr_rrc_csi_IM_ResourceToReleaseList_item = -1; /* CSI_IM_ResourceId */
|
|
static int hf_nr_rrc_csi_IM_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet */
|
|
static int hf_nr_rrc_csi_IM_ResourceSetToAddModList_item = -1; /* CSI_IM_ResourceSet */
|
|
static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId */
|
|
static int hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item = -1; /* CSI_IM_ResourceSetId */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item = -1; /* CSI_SSB_ResourceSet */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList_item = -1; /* CSI_SSB_ResourceSetId */
|
|
static int hf_nr_rrc_csi_ResourceConfigToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig */
|
|
static int hf_nr_rrc_csi_ResourceConfigToAddModList_item = -1; /* CSI_ResourceConfig */
|
|
static int hf_nr_rrc_csi_ResourceConfigToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId */
|
|
static int hf_nr_rrc_csi_ResourceConfigToReleaseList_item = -1; /* CSI_ResourceConfigId */
|
|
static int hf_nr_rrc_csi_ReportConfigToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig */
|
|
static int hf_nr_rrc_csi_ReportConfigToAddModList_item = -1; /* CSI_ReportConfig */
|
|
static int hf_nr_rrc_csi_ReportConfigToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId */
|
|
static int hf_nr_rrc_csi_ReportConfigToReleaseList_item = -1; /* CSI_ReportConfigId */
|
|
static int hf_nr_rrc_reportTriggerSize = -1; /* INTEGER_0_6 */
|
|
static int hf_nr_rrc_aperiodicTriggerStateList = -1; /* T_aperiodicTriggerStateList */
|
|
static int hf_nr_rrc_setup_17 = -1; /* CSI_AperiodicTriggerStateList */
|
|
static int hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList = -1; /* T_semiPersistentOnPUSCH_TriggerStateList */
|
|
static int hf_nr_rrc_setup_18 = -1; /* CSI_SemiPersistentOnPUSCH_TriggerStateList */
|
|
static int hf_nr_rrc_carrier = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_resourcesForChannelMeasurement = -1; /* CSI_ResourceConfigId */
|
|
static int hf_nr_rrc_csi_IM_ResourcesForInterference = -1; /* CSI_ResourceConfigId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference = -1; /* CSI_ResourceConfigId */
|
|
static int hf_nr_rrc_reportConfigType = -1; /* T_reportConfigType */
|
|
static int hf_nr_rrc_periodic = -1; /* T_periodic */
|
|
static int hf_nr_rrc_reportSlotConfig = -1; /* CSI_ReportPeriodicityAndOffset */
|
|
static int hf_nr_rrc_pucch_CSI_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource */
|
|
static int hf_nr_rrc_pucch_CSI_ResourceList_item = -1; /* PUCCH_CSI_Resource */
|
|
static int hf_nr_rrc_semiPersistentOnPUCCH = -1; /* T_semiPersistentOnPUCCH */
|
|
static int hf_nr_rrc_semiPersistentOnPUSCH = -1; /* T_semiPersistentOnPUSCH */
|
|
static int hf_nr_rrc_reportSlotConfig_01 = -1; /* T_reportSlotConfig */
|
|
static int hf_nr_rrc_reportSlotOffsetList = -1; /* T_reportSlotOffsetList */
|
|
static int hf_nr_rrc_reportSlotOffsetList_item = -1; /* INTEGER_0_32 */
|
|
static int hf_nr_rrc_p0alpha = -1; /* P0_PUSCH_AlphaSetId */
|
|
static int hf_nr_rrc_aperiodic = -1; /* T_aperiodic */
|
|
static int hf_nr_rrc_reportSlotOffsetList_01 = -1; /* T_reportSlotOffsetList_01 */
|
|
static int hf_nr_rrc_reportQuantity = -1; /* T_reportQuantity */
|
|
static int hf_nr_rrc_none = -1; /* NULL */
|
|
static int hf_nr_rrc_cri_RI_PMI_CQI = -1; /* NULL */
|
|
static int hf_nr_rrc_cri_RI_i1 = -1; /* NULL */
|
|
static int hf_nr_rrc_cri_RI_i1_CQI = -1; /* T_cri_RI_i1_CQI */
|
|
static int hf_nr_rrc_pdsch_BundleSizeForCSI = -1; /* T_pdsch_BundleSizeForCSI */
|
|
static int hf_nr_rrc_cri_RI_CQI = -1; /* NULL */
|
|
static int hf_nr_rrc_cri_RSRP = -1; /* NULL */
|
|
static int hf_nr_rrc_ssb_Index_RSRP = -1; /* NULL */
|
|
static int hf_nr_rrc_cri_RI_LI_PMI_CQI = -1; /* NULL */
|
|
static int hf_nr_rrc_reportFreqConfiguration = -1; /* T_reportFreqConfiguration */
|
|
static int hf_nr_rrc_cqi_FormatIndicator = -1; /* T_cqi_FormatIndicator */
|
|
static int hf_nr_rrc_pmi_FormatIndicator = -1; /* T_pmi_FormatIndicator */
|
|
static int hf_nr_rrc_csi_ReportingBand = -1; /* T_csi_ReportingBand */
|
|
static int hf_nr_rrc_subbands3 = -1; /* BIT_STRING_SIZE_3 */
|
|
static int hf_nr_rrc_subbands4 = -1; /* BIT_STRING_SIZE_4 */
|
|
static int hf_nr_rrc_subbands5 = -1; /* BIT_STRING_SIZE_5 */
|
|
static int hf_nr_rrc_subbands6 = -1; /* BIT_STRING_SIZE_6 */
|
|
static int hf_nr_rrc_subbands7 = -1; /* BIT_STRING_SIZE_7 */
|
|
static int hf_nr_rrc_subbands8 = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_subbands9 = -1; /* BIT_STRING_SIZE_9 */
|
|
static int hf_nr_rrc_subbands10 = -1; /* BIT_STRING_SIZE_10 */
|
|
static int hf_nr_rrc_subbands11 = -1; /* BIT_STRING_SIZE_11 */
|
|
static int hf_nr_rrc_subbands12 = -1; /* BIT_STRING_SIZE_12 */
|
|
static int hf_nr_rrc_subbands13 = -1; /* BIT_STRING_SIZE_13 */
|
|
static int hf_nr_rrc_subbands14 = -1; /* BIT_STRING_SIZE_14 */
|
|
static int hf_nr_rrc_subbands15 = -1; /* BIT_STRING_SIZE_15 */
|
|
static int hf_nr_rrc_subbands16 = -1; /* BIT_STRING_SIZE_16 */
|
|
static int hf_nr_rrc_subbands17 = -1; /* BIT_STRING_SIZE_17 */
|
|
static int hf_nr_rrc_subbands18 = -1; /* BIT_STRING_SIZE_18 */
|
|
static int hf_nr_rrc_timeRestrictionForChannelMeasurements = -1; /* T_timeRestrictionForChannelMeasurements */
|
|
static int hf_nr_rrc_timeRestrictionForInterferenceMeasurements = -1; /* T_timeRestrictionForInterferenceMeasurements */
|
|
static int hf_nr_rrc_codebookConfig = -1; /* CodebookConfig */
|
|
static int hf_nr_rrc_nrofCQIsPerReport = -1; /* T_nrofCQIsPerReport */
|
|
static int hf_nr_rrc_groupBasedBeamReporting = -1; /* T_groupBasedBeamReporting */
|
|
static int hf_nr_rrc_enabled = -1; /* NULL */
|
|
static int hf_nr_rrc_disabled = -1; /* T_disabled */
|
|
static int hf_nr_rrc_nrofReportedRS = -1; /* T_nrofReportedRS */
|
|
static int hf_nr_rrc_cqi_Table = -1; /* T_cqi_Table */
|
|
static int hf_nr_rrc_subbandSize = -1; /* T_subbandSize */
|
|
static int hf_nr_rrc_non_PMI_PortIndication = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks */
|
|
static int hf_nr_rrc_non_PMI_PortIndication_item = -1; /* PortIndexFor8Ranks */
|
|
static int hf_nr_rrc_slots4 = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_slots5 = -1; /* INTEGER_0_4 */
|
|
static int hf_nr_rrc_slots8 = -1; /* INTEGER_0_7 */
|
|
static int hf_nr_rrc_slots10 = -1; /* INTEGER_0_9 */
|
|
static int hf_nr_rrc_slots16 = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_slots20 = -1; /* INTEGER_0_19 */
|
|
static int hf_nr_rrc_slots40 = -1; /* INTEGER_0_39 */
|
|
static int hf_nr_rrc_slots80 = -1; /* INTEGER_0_79 */
|
|
static int hf_nr_rrc_slots160 = -1; /* INTEGER_0_159 */
|
|
static int hf_nr_rrc_slots320 = -1; /* INTEGER_0_319 */
|
|
static int hf_nr_rrc_uplinkBandwidthPartId = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_pucch_Resource = -1; /* PUCCH_ResourceId */
|
|
static int hf_nr_rrc_portIndex8 = -1; /* T_portIndex8 */
|
|
static int hf_nr_rrc_rank1_8 = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_rank2_8 = -1; /* SEQUENCE_SIZE_2_OF_PortIndex8 */
|
|
static int hf_nr_rrc_rank2_8_item = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_rank3_8 = -1; /* SEQUENCE_SIZE_3_OF_PortIndex8 */
|
|
static int hf_nr_rrc_rank3_8_item = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_rank4_8 = -1; /* SEQUENCE_SIZE_4_OF_PortIndex8 */
|
|
static int hf_nr_rrc_rank4_8_item = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_rank5_8 = -1; /* SEQUENCE_SIZE_5_OF_PortIndex8 */
|
|
static int hf_nr_rrc_rank5_8_item = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_rank6_8 = -1; /* SEQUENCE_SIZE_6_OF_PortIndex8 */
|
|
static int hf_nr_rrc_rank6_8_item = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_rank7_8 = -1; /* SEQUENCE_SIZE_7_OF_PortIndex8 */
|
|
static int hf_nr_rrc_rank7_8_item = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_rank8_8 = -1; /* SEQUENCE_SIZE_8_OF_PortIndex8 */
|
|
static int hf_nr_rrc_rank8_8_item = -1; /* PortIndex8 */
|
|
static int hf_nr_rrc_portIndex4 = -1; /* T_portIndex4 */
|
|
static int hf_nr_rrc_rank1_4 = -1; /* PortIndex4 */
|
|
static int hf_nr_rrc_rank2_4 = -1; /* SEQUENCE_SIZE_2_OF_PortIndex4 */
|
|
static int hf_nr_rrc_rank2_4_item = -1; /* PortIndex4 */
|
|
static int hf_nr_rrc_rank3_4 = -1; /* SEQUENCE_SIZE_3_OF_PortIndex4 */
|
|
static int hf_nr_rrc_rank3_4_item = -1; /* PortIndex4 */
|
|
static int hf_nr_rrc_rank4_4 = -1; /* SEQUENCE_SIZE_4_OF_PortIndex4 */
|
|
static int hf_nr_rrc_rank4_4_item = -1; /* PortIndex4 */
|
|
static int hf_nr_rrc_portIndex2 = -1; /* T_portIndex2 */
|
|
static int hf_nr_rrc_rank1_2 = -1; /* PortIndex2 */
|
|
static int hf_nr_rrc_rank2_2 = -1; /* SEQUENCE_SIZE_2_OF_PortIndex2 */
|
|
static int hf_nr_rrc_rank2_2_item = -1; /* PortIndex2 */
|
|
static int hf_nr_rrc_portIndex1 = -1; /* NULL */
|
|
static int hf_nr_rrc_csi_ResourceConfigId = -1; /* CSI_ResourceConfigId */
|
|
static int hf_nr_rrc_csi_RS_ResourceSetList = -1; /* T_csi_RS_ResourceSetList */
|
|
static int hf_nr_rrc_nzp_CSI_RS_SSB = -1; /* T_nzp_CSI_RS_SSB */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item = -1; /* NZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSetList_item = -1; /* CSI_SSB_ResourceSetId */
|
|
static int hf_nr_rrc_csi_IM_ResourceSetList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId */
|
|
static int hf_nr_rrc_csi_IM_ResourceSetList_item = -1; /* CSI_IM_ResourceSetId */
|
|
static int hf_nr_rrc_resourceType = -1; /* T_resourceType */
|
|
static int hf_nr_rrc_slots32 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_slots64 = -1; /* INTEGER_0_63 */
|
|
static int hf_nr_rrc_slots640 = -1; /* INTEGER_0_639 */
|
|
static int hf_nr_rrc_csi_RS_CellList_Mobility = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility */
|
|
static int hf_nr_rrc_csi_RS_CellList_Mobility_item = -1; /* CSI_RS_CellMobility */
|
|
static int hf_nr_rrc_cellId = -1; /* PhysCellId */
|
|
static int hf_nr_rrc_csi_rs_MeasurementBW = -1; /* T_csi_rs_MeasurementBW */
|
|
static int hf_nr_rrc_nrofPRBs = -1; /* T_nrofPRBs */
|
|
static int hf_nr_rrc_startPRB = -1; /* INTEGER_0_2169 */
|
|
static int hf_nr_rrc_density = -1; /* T_density */
|
|
static int hf_nr_rrc_csi_rs_ResourceList_Mobility = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility */
|
|
static int hf_nr_rrc_csi_rs_ResourceList_Mobility_item = -1; /* CSI_RS_Resource_Mobility */
|
|
static int hf_nr_rrc_csi_RS_Index = -1; /* CSI_RS_Index */
|
|
static int hf_nr_rrc_slotConfig = -1; /* T_slotConfig */
|
|
static int hf_nr_rrc_ms4 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_ms5 = -1; /* INTEGER_0_39 */
|
|
static int hf_nr_rrc_ms10_01 = -1; /* INTEGER_0_79 */
|
|
static int hf_nr_rrc_ms20_01 = -1; /* INTEGER_0_159 */
|
|
static int hf_nr_rrc_ms40_01 = -1; /* INTEGER_0_319 */
|
|
static int hf_nr_rrc_associatedSSB = -1; /* T_associatedSSB */
|
|
static int hf_nr_rrc_ssb_Index = -1; /* SSB_Index */
|
|
static int hf_nr_rrc_isQuasiColocated = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_frequencyDomainAllocation_01 = -1; /* T_frequencyDomainAllocation */
|
|
static int hf_nr_rrc_row1 = -1; /* BIT_STRING_SIZE_4 */
|
|
static int hf_nr_rrc_row2 = -1; /* BIT_STRING_SIZE_12 */
|
|
static int hf_nr_rrc_firstOFDMSymbolInTimeDomain = -1; /* INTEGER_0_13 */
|
|
static int hf_nr_rrc_sequenceGenerationConfig = -1; /* INTEGER_0_1023 */
|
|
static int hf_nr_rrc_frequencyDomainAllocation_02 = -1; /* T_frequencyDomainAllocation_01 */
|
|
static int hf_nr_rrc_row4 = -1; /* BIT_STRING_SIZE_3 */
|
|
static int hf_nr_rrc_other_01 = -1; /* BIT_STRING_SIZE_6 */
|
|
static int hf_nr_rrc_nrofPorts = -1; /* T_nrofPorts */
|
|
static int hf_nr_rrc_firstOFDMSymbolInTimeDomain2 = -1; /* INTEGER_2_12 */
|
|
static int hf_nr_rrc_cdm_Type = -1; /* T_cdm_Type */
|
|
static int hf_nr_rrc_density_01 = -1; /* T_density_01 */
|
|
static int hf_nr_rrc_dot5 = -1; /* T_dot5 */
|
|
static int hf_nr_rrc_one = -1; /* NULL */
|
|
static int hf_nr_rrc_three = -1; /* NULL */
|
|
static int hf_nr_rrc_spare_01 = -1; /* NULL */
|
|
static int hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item = -1; /* CSI_SemiPersistentOnPUSCH_TriggerState */
|
|
static int hf_nr_rrc_associatedReportConfigInfo = -1; /* CSI_ReportConfigId */
|
|
static int hf_nr_rrc_csi_SSB_ResourceSetId = -1; /* CSI_SSB_ResourceSetId */
|
|
static int hf_nr_rrc_csi_SSB_ResourceList = -1; /* SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index */
|
|
static int hf_nr_rrc_csi_SSB_ResourceList_item = -1; /* SSB_Index */
|
|
static int hf_nr_rrc_dmrs_Type = -1; /* T_dmrs_Type */
|
|
static int hf_nr_rrc_dmrs_AdditionalPosition = -1; /* T_dmrs_AdditionalPosition */
|
|
static int hf_nr_rrc_maxLength = -1; /* T_maxLength */
|
|
static int hf_nr_rrc_scramblingID0 = -1; /* INTEGER_0_65535 */
|
|
static int hf_nr_rrc_scramblingID1 = -1; /* INTEGER_0_65535 */
|
|
static int hf_nr_rrc_phaseTrackingRS = -1; /* T_phaseTrackingRS */
|
|
static int hf_nr_rrc_setup_19 = -1; /* PTRS_DownlinkConfig */
|
|
static int hf_nr_rrc_dmrs_Type_01 = -1; /* T_dmrs_Type_01 */
|
|
static int hf_nr_rrc_dmrs_AdditionalPosition_01 = -1; /* T_dmrs_AdditionalPosition_01 */
|
|
static int hf_nr_rrc_phaseTrackingRS_01 = -1; /* T_phaseTrackingRS_01 */
|
|
static int hf_nr_rrc_setup_20 = -1; /* PTRS_UplinkConfig */
|
|
static int hf_nr_rrc_maxLength_01 = -1; /* T_maxLength_01 */
|
|
static int hf_nr_rrc_transformPrecodingDisabled = -1; /* T_transformPrecodingDisabled */
|
|
static int hf_nr_rrc_transformPrecodingEnabled = -1; /* T_transformPrecodingEnabled */
|
|
static int hf_nr_rrc_nPUSCH_Identity = -1; /* INTEGER_0_1007 */
|
|
static int hf_nr_rrc_disableSequenceGroupHopping = -1; /* T_disableSequenceGroupHopping */
|
|
static int hf_nr_rrc_sequenceHoppingEnabled = -1; /* T_sequenceHoppingEnabled */
|
|
static int hf_nr_rrc_frequencyInfoDL = -1; /* FrequencyInfoDL */
|
|
static int hf_nr_rrc_initialDownlinkBWP = -1; /* BWP_DownlinkCommon */
|
|
static int hf_nr_rrc_int_RNTI = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_timeFrequencySet = -1; /* T_timeFrequencySet */
|
|
static int hf_nr_rrc_dci_PayloadSize = -1; /* INTEGER_0_maxINT_DCI_PayloadSize */
|
|
static int hf_nr_rrc_int_ConfigurationPerServingCell = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell */
|
|
static int hf_nr_rrc_int_ConfigurationPerServingCell_item = -1; /* INT_ConfigurationPerServingCell */
|
|
static int hf_nr_rrc_servingCellId = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_positionInDCI = -1; /* INTEGER_0_maxINT_DCI_PayloadSize_1 */
|
|
static int hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item = -1; /* EUTRA_MBSFN_SubframeConfig */
|
|
static int hf_nr_rrc_radioframeAllocationPeriod = -1; /* T_radioframeAllocationPeriod */
|
|
static int hf_nr_rrc_radioframeAllocationOffset = -1; /* INTEGER_0_7 */
|
|
static int hf_nr_rrc_subframeAllocation = -1; /* T_subframeAllocation */
|
|
static int hf_nr_rrc_oneFrame = -1; /* BIT_STRING_SIZE_6 */
|
|
static int hf_nr_rrc_fourFrames = -1; /* BIT_STRING_SIZE_24 */
|
|
static int hf_nr_rrc_subframeAllocation_v1430 = -1; /* T_subframeAllocation_v1430 */
|
|
static int hf_nr_rrc_oneFrame_v1430 = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_fourFrames_v1430 = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_absoluteFrequencySSB = -1; /* ARFCN_ValueNR */
|
|
static int hf_nr_rrc_frequencyBandList = -1; /* MultiFrequencyBandListNR */
|
|
static int hf_nr_rrc_absoluteFrequencyPointA = -1; /* ARFCN_ValueNR */
|
|
static int hf_nr_rrc_scs_SpecificCarrierList = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier */
|
|
static int hf_nr_rrc_scs_SpecificCarrierList_item = -1; /* SCS_SpecificCarrier */
|
|
static int hf_nr_rrc_additionalSpectrumEmission = -1; /* AdditionalSpectrumEmission */
|
|
static int hf_nr_rrc_p_Max = -1; /* P_Max */
|
|
static int hf_nr_rrc_frequencyShift7p5khz = -1; /* T_frequencyShift7p5khz */
|
|
static int hf_nr_rrc_ul_SpecificParameters = -1; /* T_ul_SpecificParameters */
|
|
static int hf_nr_rrc_priority = -1; /* INTEGER_1_16 */
|
|
static int hf_nr_rrc_prioritisedBitRate = -1; /* T_prioritisedBitRate */
|
|
static int hf_nr_rrc_bucketSizeDuration = -1; /* T_bucketSizeDuration */
|
|
static int hf_nr_rrc_allowedServingCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex */
|
|
static int hf_nr_rrc_allowedServingCells_item = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_allowedSCS_List = -1; /* SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing */
|
|
static int hf_nr_rrc_allowedSCS_List_item = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_maxPUSCH_Duration = -1; /* T_maxPUSCH_Duration */
|
|
static int hf_nr_rrc_configuredGrantType1Allowed = -1; /* T_configuredGrantType1Allowed */
|
|
static int hf_nr_rrc_logicalChannelGroup = -1; /* INTEGER_0_maxLCG_ID */
|
|
static int hf_nr_rrc_schedulingRequestID = -1; /* SchedulingRequestId */
|
|
static int hf_nr_rrc_logicalChannelSR_Mask = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_logicalChannelSR_DelayTimerApplied = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_drx_Config = -1; /* T_drx_Config */
|
|
static int hf_nr_rrc_setup_21 = -1; /* DRX_Config */
|
|
static int hf_nr_rrc_schedulingRequestConfig = -1; /* SchedulingRequestConfig */
|
|
static int hf_nr_rrc_bsr_Config = -1; /* BSR_Config */
|
|
static int hf_nr_rrc_tag_Config = -1; /* TAG_Config */
|
|
static int hf_nr_rrc_phr_Config = -1; /* T_phr_Config */
|
|
static int hf_nr_rrc_setup_22 = -1; /* PHR_Config */
|
|
static int hf_nr_rrc_skipUplinkTxDynamic = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_drx_onDurationTimer = -1; /* T_drx_onDurationTimer */
|
|
static int hf_nr_rrc_subMilliSeconds = -1; /* INTEGER_1_31 */
|
|
static int hf_nr_rrc_milliSeconds = -1; /* T_milliSeconds */
|
|
static int hf_nr_rrc_drx_InactivityTimer = -1; /* T_drx_InactivityTimer */
|
|
static int hf_nr_rrc_drx_HARQ_RTT_TimerDL = -1; /* INTEGER_0_56 */
|
|
static int hf_nr_rrc_drx_HARQ_RTT_TimerUL = -1; /* INTEGER_0_56 */
|
|
static int hf_nr_rrc_drx_RetransmissionTimerDL = -1; /* T_drx_RetransmissionTimerDL */
|
|
static int hf_nr_rrc_drx_RetransmissionTimerUL = -1; /* T_drx_RetransmissionTimerUL */
|
|
static int hf_nr_rrc_drx_LongCycleStartOffset_01 = -1; /* T_drx_LongCycleStartOffset_01 */
|
|
static int hf_nr_rrc_shortDRX_01 = -1; /* T_shortDRX_01 */
|
|
static int hf_nr_rrc_drx_ShortCycle_01 = -1; /* T_drx_ShortCycle_01 */
|
|
static int hf_nr_rrc_drx_SlotOffset = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_phr_PeriodicTimer = -1; /* T_phr_PeriodicTimer */
|
|
static int hf_nr_rrc_phr_ProhibitTimer = -1; /* T_phr_ProhibitTimer */
|
|
static int hf_nr_rrc_phr_Tx_PowerFactorChange = -1; /* T_phr_Tx_PowerFactorChange */
|
|
static int hf_nr_rrc_multiplePHR = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_phr_Type2SpCell = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_phr_Type2OtherCell = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_phr_ModeOtherCG = -1; /* T_phr_ModeOtherCG */
|
|
static int hf_nr_rrc_tag_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id */
|
|
static int hf_nr_rrc_tag_ToReleaseList_item = -1; /* TAG_Id */
|
|
static int hf_nr_rrc_tag_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG */
|
|
static int hf_nr_rrc_tag_ToAddModList_item = -1; /* TAG */
|
|
static int hf_nr_rrc_tag_Id = -1; /* TAG_Id */
|
|
static int hf_nr_rrc_timeAlignmentTimer = -1; /* TimeAlignmentTimer */
|
|
static int hf_nr_rrc_periodicBSR_Timer = -1; /* T_periodicBSR_Timer */
|
|
static int hf_nr_rrc_retxBSR_Timer = -1; /* T_retxBSR_Timer */
|
|
static int hf_nr_rrc_logicalChannelSR_DelayTimer = -1; /* T_logicalChannelSR_DelayTimer */
|
|
static int hf_nr_rrc_measObjectToRemoveList = -1; /* MeasObjectToRemoveList */
|
|
static int hf_nr_rrc_measObjectToAddModList = -1; /* MeasObjectToAddModList */
|
|
static int hf_nr_rrc_reportConfigToRemoveList = -1; /* ReportConfigToRemoveList */
|
|
static int hf_nr_rrc_reportConfigToAddModList = -1; /* ReportConfigToAddModList */
|
|
static int hf_nr_rrc_measIdToRemoveList = -1; /* MeasIdToRemoveList */
|
|
static int hf_nr_rrc_measIdToAddModList = -1; /* MeasIdToAddModList */
|
|
static int hf_nr_rrc_s_MeasureConfig = -1; /* T_s_MeasureConfig */
|
|
static int hf_nr_rrc_ssb_RSRP = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_csi_RSRP = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_quantityConfig = -1; /* QuantityConfig */
|
|
static int hf_nr_rrc_measGapConfig_01 = -1; /* MeasGapConfig */
|
|
static int hf_nr_rrc_measGapSharingConfig = -1; /* MeasGapSharingConfig */
|
|
static int hf_nr_rrc_MeasObjectToRemoveList_item = -1; /* MeasObjectId */
|
|
static int hf_nr_rrc_MeasIdToRemoveList_item = -1; /* MeasId */
|
|
static int hf_nr_rrc_ReportConfigToRemoveList_item = -1; /* ReportConfigId */
|
|
static int hf_nr_rrc_gapFR2 = -1; /* T_gapFR2 */
|
|
static int hf_nr_rrc_gapOffset = -1; /* INTEGER_0_159 */
|
|
static int hf_nr_rrc_mgl = -1; /* T_mgl */
|
|
static int hf_nr_rrc_mgrp = -1; /* T_mgrp */
|
|
static int hf_nr_rrc_mgta = -1; /* T_mgta */
|
|
static int hf_nr_rrc_gapSharingFR2 = -1; /* T_gapSharingFR2 */
|
|
static int hf_nr_rrc_setup_23 = -1; /* MeasGapSharingScheme */
|
|
static int hf_nr_rrc_MeasIdToAddModList_item = -1; /* MeasIdToAddMod */
|
|
static int hf_nr_rrc_measId = -1; /* MeasId */
|
|
static int hf_nr_rrc_measObjectId = -1; /* MeasObjectId */
|
|
static int hf_nr_rrc_reportConfigId_01 = -1; /* ReportConfigId */
|
|
static int hf_nr_rrc_ssbFrequency = -1; /* ARFCN_ValueNR */
|
|
static int hf_nr_rrc_ssbSubcarrierSpacing = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_smtc1 = -1; /* SSB_MTC */
|
|
static int hf_nr_rrc_smtc2 = -1; /* SSB_MTC2 */
|
|
static int hf_nr_rrc_refFreqCSI_RS = -1; /* ARFCN_ValueNR */
|
|
static int hf_nr_rrc_referenceSignalConfig = -1; /* ReferenceSignalConfig */
|
|
static int hf_nr_rrc_absThreshSS_BlocksConsolidation = -1; /* ThresholdNR */
|
|
static int hf_nr_rrc_absThreshCSI_RS_Consolidation = -1; /* ThresholdNR */
|
|
static int hf_nr_rrc_nrofSS_BlocksToAverage = -1; /* INTEGER_2_maxNrofSS_BlocksToAverage */
|
|
static int hf_nr_rrc_nrofCSI_RS_ResourcesToAverage = -1; /* INTEGER_2_maxNrofCSI_RS_ResourcesToAverage */
|
|
static int hf_nr_rrc_quantityConfigIndex = -1; /* INTEGER_1_maxNrofQuantityConfig */
|
|
static int hf_nr_rrc_offsetMO = -1; /* Q_OffsetRangeList */
|
|
static int hf_nr_rrc_cellsToRemoveList = -1; /* PCI_List */
|
|
static int hf_nr_rrc_cellsToAddModList = -1; /* CellsToAddModList */
|
|
static int hf_nr_rrc_blackCellsToRemoveList = -1; /* PCI_RangeIndexList */
|
|
static int hf_nr_rrc_blackCellsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement */
|
|
static int hf_nr_rrc_blackCellsToAddModList_item = -1; /* PCI_RangeElement */
|
|
static int hf_nr_rrc_whiteCellsToRemoveList = -1; /* PCI_RangeIndexList */
|
|
static int hf_nr_rrc_whiteCellsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement */
|
|
static int hf_nr_rrc_whiteCellsToAddModList_item = -1; /* PCI_RangeElement */
|
|
static int hf_nr_rrc_ssb_ConfigMobility = -1; /* SSB_ConfigMobility */
|
|
static int hf_nr_rrc_csi_rs_ResourceConfigMobility = -1; /* T_csi_rs_ResourceConfigMobility */
|
|
static int hf_nr_rrc_setup_24 = -1; /* CSI_RS_ResourceConfigMobility */
|
|
static int hf_nr_rrc_ssb_ToMeasure = -1; /* T_ssb_ToMeasure */
|
|
static int hf_nr_rrc_setup_25 = -1; /* SSB_ToMeasure */
|
|
static int hf_nr_rrc_useServingCellTimingForSync = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_ss_RSSI_Measurement = -1; /* SS_RSSI_Measurement */
|
|
static int hf_nr_rrc_rsrpOffsetSSB = -1; /* Q_OffsetRange */
|
|
static int hf_nr_rrc_rsrqOffsetSSB = -1; /* Q_OffsetRange */
|
|
static int hf_nr_rrc_sinrOffsetSSB = -1; /* Q_OffsetRange */
|
|
static int hf_nr_rrc_rsrpOffsetCSI_RS = -1; /* Q_OffsetRange */
|
|
static int hf_nr_rrc_rsrqOffsetCSI_RS = -1; /* Q_OffsetRange */
|
|
static int hf_nr_rrc_sinrOffsetCSI_RS = -1; /* Q_OffsetRange */
|
|
static int hf_nr_rrc_shortBitmap = -1; /* BIT_STRING_SIZE_4 */
|
|
static int hf_nr_rrc_mediumBitmap = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_longBitmap = -1; /* BIT_STRING_SIZE_64 */
|
|
static int hf_nr_rrc_thresholdRSRP = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_thresholdRSRQ = -1; /* RSRQ_Range */
|
|
static int hf_nr_rrc_thresholdSINR = -1; /* SINR_Range */
|
|
static int hf_nr_rrc_CellsToAddModList_item = -1; /* CellsToAddMod */
|
|
static int hf_nr_rrc_physCellId = -1; /* PhysCellId */
|
|
static int hf_nr_rrc_cellIndividualOffset = -1; /* Q_OffsetRangeList */
|
|
static int hf_nr_rrc_MeasObjectToAddModList_item = -1; /* MeasObjectToAddMod */
|
|
static int hf_nr_rrc_measObject = -1; /* T_measObject */
|
|
static int hf_nr_rrc_measObjectNR = -1; /* MeasObjectNR */
|
|
static int hf_nr_rrc_measResultServingMOList = -1; /* MeasResultServMOList */
|
|
static int hf_nr_rrc_measResultNeighCells = -1; /* T_measResultNeighCells */
|
|
static int hf_nr_rrc_measResultListNR = -1; /* MeasResultListNR */
|
|
static int hf_nr_rrc_MeasResultServMOList_item = -1; /* MeasResultServMO */
|
|
static int hf_nr_rrc_servCellId = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_measResultServingCell = -1; /* MeasResultNR */
|
|
static int hf_nr_rrc_measResultBestNeighCell = -1; /* MeasResultNR */
|
|
static int hf_nr_rrc_MeasResultListNR_item = -1; /* MeasResultNR */
|
|
static int hf_nr_rrc_measResult = -1; /* T_measResult */
|
|
static int hf_nr_rrc_cellResults = -1; /* T_cellResults */
|
|
static int hf_nr_rrc_resultsSSB_Cell = -1; /* MeasQuantityResults */
|
|
static int hf_nr_rrc_resultsCSI_RS_Cell = -1; /* MeasQuantityResults */
|
|
static int hf_nr_rrc_rsIndexResults = -1; /* T_rsIndexResults */
|
|
static int hf_nr_rrc_resultsSSB_Indexes = -1; /* ResultsPerSSB_IndexList */
|
|
static int hf_nr_rrc_resultsCSI_RS_Indexes = -1; /* ResultsPerCSI_RS_IndexList */
|
|
static int hf_nr_rrc_rsrp = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_rsrq = -1; /* RSRQ_Range */
|
|
static int hf_nr_rrc_sinr = -1; /* SINR_Range */
|
|
static int hf_nr_rrc_ResultsPerSSB_IndexList_item = -1; /* ResultsPerSSB_Index */
|
|
static int hf_nr_rrc_ssb_Results = -1; /* MeasQuantityResults */
|
|
static int hf_nr_rrc_ResultsPerCSI_RS_IndexList_item = -1; /* ResultsPerCSI_RS_Index */
|
|
static int hf_nr_rrc_csi_RS_Results = -1; /* MeasQuantityResults */
|
|
static int hf_nr_rrc_measResultPerMOList = -1; /* MeasResultList2NR */
|
|
static int hf_nr_rrc_MeasResultList2NR_item = -1; /* MeasResult2NR */
|
|
static int hf_nr_rrc_measResultNeighCellListNR = -1; /* MeasResultListNR */
|
|
static int hf_nr_rrc_MeasResultCellListSFTD_item = -1; /* MeasResultCellSFTD */
|
|
static int hf_nr_rrc_sfn_OffsetResult = -1; /* INTEGER_0_1023 */
|
|
static int hf_nr_rrc_frameBoundaryOffsetResult = -1; /* INTEGER_M30720_30719 */
|
|
static int hf_nr_rrc_rsrp_Result = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_MultiFrequencyBandListNR_item = -1; /* FreqBandIndicatorNR */
|
|
static int hf_nr_rrc_nzp_CSI_RS_ResourceId = -1; /* NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_resourceMapping = -1; /* CSI_RS_ResourceMapping */
|
|
static int hf_nr_rrc_powerControlOffset = -1; /* INTEGER_M8_15 */
|
|
static int hf_nr_rrc_powerControlOffsetSS = -1; /* T_powerControlOffsetSS */
|
|
static int hf_nr_rrc_scramblingID = -1; /* ScramblingId */
|
|
static int hf_nr_rrc_qcl_InfoPeriodicCSI_RS = -1; /* TCI_StateId */
|
|
static int hf_nr_rrc_nzp_CSI_ResourceSetId = -1; /* NZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_Resources = -1; /* SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_nzp_CSI_RS_Resources_item = -1; /* NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_repetition = -1; /* T_repetition */
|
|
static int hf_nr_rrc_aperiodicTriggeringOffset = -1; /* INTEGER_0_4 */
|
|
static int hf_nr_rrc_trs_Info = -1; /* T_trs_Info */
|
|
static int hf_nr_rrc_PCI_List_item = -1; /* PhysCellId */
|
|
static int hf_nr_rrc_start = -1; /* PhysCellId */
|
|
static int hf_nr_rrc_range = -1; /* T_range */
|
|
static int hf_nr_rrc_pci_RangeIndex = -1; /* PCI_RangeIndex */
|
|
static int hf_nr_rrc_pci_Range = -1; /* PCI_Range */
|
|
static int hf_nr_rrc_PCI_RangeIndexList_item = -1; /* PCI_RangeIndex */
|
|
static int hf_nr_rrc_controlResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_3_OF_ControlResourceSet */
|
|
static int hf_nr_rrc_controlResourceSetToAddModList_item = -1; /* ControlResourceSet */
|
|
static int hf_nr_rrc_controlResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_3_OF_ControlResourceSetId */
|
|
static int hf_nr_rrc_controlResourceSetToReleaseList_item = -1; /* ControlResourceSetId */
|
|
static int hf_nr_rrc_searchSpacesToAddModList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpace */
|
|
static int hf_nr_rrc_searchSpacesToAddModList_item = -1; /* SearchSpace */
|
|
static int hf_nr_rrc_searchSpacesToReleaseList = -1; /* SEQUENCE_SIZE_1_10_OF_SearchSpaceId */
|
|
static int hf_nr_rrc_searchSpacesToReleaseList_item = -1; /* SearchSpaceId */
|
|
static int hf_nr_rrc_downlinkPreemption = -1; /* T_downlinkPreemption */
|
|
static int hf_nr_rrc_setup_26 = -1; /* DownlinkPreemption */
|
|
static int hf_nr_rrc_tpc_PUSCH = -1; /* T_tpc_PUSCH */
|
|
static int hf_nr_rrc_setup_27 = -1; /* PUSCH_TPC_CommandConfig */
|
|
static int hf_nr_rrc_tpc_PUCCH = -1; /* T_tpc_PUCCH */
|
|
static int hf_nr_rrc_setup_28 = -1; /* PUCCH_TPC_CommandConfig */
|
|
static int hf_nr_rrc_tpc_SRS = -1; /* T_tpc_SRS */
|
|
static int hf_nr_rrc_setup_29 = -1; /* SRS_TPC_CommandConfig */
|
|
static int hf_nr_rrc_controlResourceSetZero = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_commonControlResourceSet = -1; /* ControlResourceSet */
|
|
static int hf_nr_rrc_searchSpaceZero = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_commonSearchSpace = -1; /* SEQUENCE_SIZE_1_4_OF_SearchSpace */
|
|
static int hf_nr_rrc_commonSearchSpace_item = -1; /* SearchSpace */
|
|
static int hf_nr_rrc_searchSpaceSIB1 = -1; /* SearchSpaceId */
|
|
static int hf_nr_rrc_searchSpaceOtherSystemInformation = -1; /* SearchSpaceId */
|
|
static int hf_nr_rrc_pagingSearchSpace = -1; /* SearchSpaceId */
|
|
static int hf_nr_rrc_ra_SearchSpace = -1; /* SearchSpaceId */
|
|
static int hf_nr_rrc_slotFormatIndicator = -1; /* T_slotFormatIndicator */
|
|
static int hf_nr_rrc_setup_30 = -1; /* SlotFormatIndicator */
|
|
static int hf_nr_rrc_drb = -1; /* T_drb */
|
|
static int hf_nr_rrc_discardTimer = -1; /* T_discardTimer */
|
|
static int hf_nr_rrc_pdcp_SN_SizeUL = -1; /* T_pdcp_SN_SizeUL */
|
|
static int hf_nr_rrc_pdcp_SN_SizeDL = -1; /* T_pdcp_SN_SizeDL */
|
|
static int hf_nr_rrc_headerCompression = -1; /* T_headerCompression */
|
|
static int hf_nr_rrc_notUsed = -1; /* NULL */
|
|
static int hf_nr_rrc_rohc = -1; /* T_rohc */
|
|
static int hf_nr_rrc_maxCID = -1; /* INTEGER_1_16383 */
|
|
static int hf_nr_rrc_profiles = -1; /* T_profiles */
|
|
static int hf_nr_rrc_profile0x0001 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0002 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0003 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0004 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0006 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0101 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0102 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0103 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_profile0x0104 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_drb_ContinueROHC = -1; /* T_drb_ContinueROHC */
|
|
static int hf_nr_rrc_uplinkOnlyROHC = -1; /* T_uplinkOnlyROHC */
|
|
static int hf_nr_rrc_profiles_01 = -1; /* T_profiles_01 */
|
|
static int hf_nr_rrc_drb_ContinueROHC_01 = -1; /* T_drb_ContinueROHC_01 */
|
|
static int hf_nr_rrc_integrityProtection = -1; /* T_integrityProtection */
|
|
static int hf_nr_rrc_statusReportRequired = -1; /* T_statusReportRequired */
|
|
static int hf_nr_rrc_outOfOrderDelivery = -1; /* T_outOfOrderDelivery */
|
|
static int hf_nr_rrc_moreThanOneRLC = -1; /* T_moreThanOneRLC */
|
|
static int hf_nr_rrc_primaryPath = -1; /* T_primaryPath */
|
|
static int hf_nr_rrc_cellGroup = -1; /* CellGroupId */
|
|
static int hf_nr_rrc_logicalChannel = -1; /* LogicalChannelIdentity */
|
|
static int hf_nr_rrc_ul_DataSplitThreshold = -1; /* UL_DataSplitThreshold */
|
|
static int hf_nr_rrc_pdcp_Duplication = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_t_Reordering = -1; /* T_t_Reordering */
|
|
static int hf_nr_rrc_dataScramblingIdentityPDSCH = -1; /* INTEGER_0_1023 */
|
|
static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeA */
|
|
static int hf_nr_rrc_setup_31 = -1; /* DMRS_DownlinkConfig */
|
|
static int hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB = -1; /* T_dmrs_DownlinkForPDSCH_MappingTypeB */
|
|
static int hf_nr_rrc_tci_StatesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State */
|
|
static int hf_nr_rrc_tci_StatesToAddModList_item = -1; /* TCI_State */
|
|
static int hf_nr_rrc_tci_StatesToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId */
|
|
static int hf_nr_rrc_tci_StatesToReleaseList_item = -1; /* TCI_StateId */
|
|
static int hf_nr_rrc_vrb_ToPRB_Interleaver = -1; /* T_vrb_ToPRB_Interleaver */
|
|
static int hf_nr_rrc_resourceAllocation_01 = -1; /* T_resourceAllocation_01 */
|
|
static int hf_nr_rrc_pdsch_TimeDomainAllocationList = -1; /* T_pdsch_TimeDomainAllocationList */
|
|
static int hf_nr_rrc_setup_32 = -1; /* PDSCH_TimeDomainResourceAllocationList */
|
|
static int hf_nr_rrc_pdsch_AggregationFactor = -1; /* T_pdsch_AggregationFactor */
|
|
static int hf_nr_rrc_rateMatchPatternToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern */
|
|
static int hf_nr_rrc_rateMatchPatternToAddModList_item = -1; /* RateMatchPattern */
|
|
static int hf_nr_rrc_rateMatchPatternToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId */
|
|
static int hf_nr_rrc_rateMatchPatternToReleaseList_item = -1; /* RateMatchPatternId */
|
|
static int hf_nr_rrc_rateMatchPatternGroup1 = -1; /* RateMatchPatternGroup */
|
|
static int hf_nr_rrc_rateMatchPatternGroup2 = -1; /* RateMatchPatternGroup */
|
|
static int hf_nr_rrc_rbg_Size_01 = -1; /* T_rbg_Size_01 */
|
|
static int hf_nr_rrc_mcs_Table_01 = -1; /* T_mcs_Table_01 */
|
|
static int hf_nr_rrc_maxNrofCodeWordsScheduledByDCI = -1; /* T_maxNrofCodeWordsScheduledByDCI */
|
|
static int hf_nr_rrc_prb_BundlingType = -1; /* T_prb_BundlingType */
|
|
static int hf_nr_rrc_staticBundling = -1; /* T_staticBundling */
|
|
static int hf_nr_rrc_bundleSize = -1; /* T_bundleSize */
|
|
static int hf_nr_rrc_dynamicBundling = -1; /* T_dynamicBundling */
|
|
static int hf_nr_rrc_bundleSizeSet1 = -1; /* T_bundleSizeSet1 */
|
|
static int hf_nr_rrc_bundleSizeSet2 = -1; /* T_bundleSizeSet2 */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item = -1; /* ZP_CSI_RS_Resource */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item = -1; /* ZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item = -1; /* ZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1; /* ZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item = -1; /* ZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item = -1; /* ZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_p_ZP_CSI_RS_ResourceSet = -1; /* T_p_ZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_setup_33 = -1; /* ZP_CSI_RS_ResourceSet */
|
|
static int hf_nr_rrc_RateMatchPatternGroup_item = -1; /* RateMatchPatternGroup_item */
|
|
static int hf_nr_rrc_cellLevel = -1; /* RateMatchPatternId */
|
|
static int hf_nr_rrc_bwpLevel = -1; /* RateMatchPatternId */
|
|
static int hf_nr_rrc_pdsch_TimeDomainAllocationList_01 = -1; /* PDSCH_TimeDomainResourceAllocationList */
|
|
static int hf_nr_rrc_codeBlockGroupTransmission = -1; /* T_codeBlockGroupTransmission */
|
|
static int hf_nr_rrc_setup_34 = -1; /* PDSCH_CodeBlockGroupTransmission */
|
|
static int hf_nr_rrc_xOverhead = -1; /* T_xOverhead */
|
|
static int hf_nr_rrc_nrofHARQ_ProcessesForPDSCH = -1; /* T_nrofHARQ_ProcessesForPDSCH */
|
|
static int hf_nr_rrc_pucch_Cell = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock = -1; /* T_maxCodeBlockGroupsPerTransportBlock */
|
|
static int hf_nr_rrc_codeBlockGroupFlushIndicator = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item = -1; /* PDSCH_TimeDomainResourceAllocation */
|
|
static int hf_nr_rrc_k0 = -1; /* INTEGER_0_32 */
|
|
static int hf_nr_rrc_mappingType = -1; /* T_mappingType */
|
|
static int hf_nr_rrc_startSymbolAndLength = -1; /* INTEGER_0_127 */
|
|
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH = -1; /* T_harq_ACK_SpatialBundlingPUCCH */
|
|
static int hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH = -1; /* T_harq_ACK_SpatialBundlingPUSCH */
|
|
static int hf_nr_rrc_p_NR = -1; /* P_Max */
|
|
static int hf_nr_rrc_pdsch_HARQ_ACK_Codebook = -1; /* T_pdsch_HARQ_ACK_Codebook */
|
|
static int hf_nr_rrc_tpc_SRS_RNTI = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_tpc_PUCCH_RNTI = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_tpc_PUSCH_RNTI = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_sp_CSI_RNTI = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_cs_RNTI = -1; /* T_cs_RNTI */
|
|
static int hf_nr_rrc_setup_35 = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_frequencyDensity = -1; /* T_frequencyDensity */
|
|
static int hf_nr_rrc_frequencyDensity_item = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_timeDensity = -1; /* T_timeDensity */
|
|
static int hf_nr_rrc_timeDensity_item = -1; /* INTEGER_0_29 */
|
|
static int hf_nr_rrc_epre_Ratio = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_resourceElementOffset = -1; /* T_resourceElementOffset */
|
|
static int hf_nr_rrc_modeSpecificParameters = -1; /* T_modeSpecificParameters */
|
|
static int hf_nr_rrc_cp_OFDM = -1; /* T_cp_OFDM */
|
|
static int hf_nr_rrc_frequencyDensity_01 = -1; /* T_frequencyDensity_01 */
|
|
static int hf_nr_rrc_timeDensity_01 = -1; /* T_timeDensity_01 */
|
|
static int hf_nr_rrc_maxNrofPorts = -1; /* T_maxNrofPorts */
|
|
static int hf_nr_rrc_resourceElementOffset_01 = -1; /* T_resourceElementOffset_01 */
|
|
static int hf_nr_rrc_ptrs_Power = -1; /* T_ptrs_Power */
|
|
static int hf_nr_rrc_dft_S_OFDM = -1; /* T_dft_S_OFDM */
|
|
static int hf_nr_rrc_sampleDensity = -1; /* T_sampleDensity */
|
|
static int hf_nr_rrc_sampleDensity_item = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_timeDensityTransformPrecoding = -1; /* T_timeDensityTransformPrecoding */
|
|
static int hf_nr_rrc_resourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet */
|
|
static int hf_nr_rrc_resourceSetToAddModList_item = -1; /* PUCCH_ResourceSet */
|
|
static int hf_nr_rrc_resourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId */
|
|
static int hf_nr_rrc_resourceSetToReleaseList_item = -1; /* PUCCH_ResourceSetId */
|
|
static int hf_nr_rrc_resourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource */
|
|
static int hf_nr_rrc_resourceToAddModList_item = -1; /* PUCCH_Resource */
|
|
static int hf_nr_rrc_resourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId */
|
|
static int hf_nr_rrc_resourceToReleaseList_item = -1; /* PUCCH_ResourceId */
|
|
static int hf_nr_rrc_format1 = -1; /* T_format1 */
|
|
static int hf_nr_rrc_setup_36 = -1; /* PUCCH_FormatConfig */
|
|
static int hf_nr_rrc_format2 = -1; /* T_format2 */
|
|
static int hf_nr_rrc_format3 = -1; /* T_format3 */
|
|
static int hf_nr_rrc_format4 = -1; /* T_format4 */
|
|
static int hf_nr_rrc_schedulingRequestResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig */
|
|
static int hf_nr_rrc_schedulingRequestResourceToAddModList_item = -1; /* SchedulingRequestResourceConfig */
|
|
static int hf_nr_rrc_schedulingRequestResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId */
|
|
static int hf_nr_rrc_schedulingRequestResourceToReleaseList_item = -1; /* SchedulingRequestResourceId */
|
|
static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList = -1; /* SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId */
|
|
static int hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item = -1; /* PUCCH_ResourceId */
|
|
static int hf_nr_rrc_dl_DataToUL_ACK = -1; /* T_dl_DataToUL_ACK */
|
|
static int hf_nr_rrc_dl_DataToUL_ACK_item = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_spatialRelationInfoToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo */
|
|
static int hf_nr_rrc_spatialRelationInfoToAddModList_item = -1; /* PUCCH_SpatialRelationInfo */
|
|
static int hf_nr_rrc_spatialRelationInfoToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId */
|
|
static int hf_nr_rrc_spatialRelationInfoToReleaseList_item = -1; /* PUCCH_SpatialRelationInfoId */
|
|
static int hf_nr_rrc_pucch_PowerControl = -1; /* PUCCH_PowerControl */
|
|
static int hf_nr_rrc_interslotFrequencyHopping = -1; /* T_interslotFrequencyHopping */
|
|
static int hf_nr_rrc_additionalDMRS = -1; /* T_additionalDMRS */
|
|
static int hf_nr_rrc_maxCodeRate = -1; /* PUCCH_MaxCodeRate */
|
|
static int hf_nr_rrc_nrofSlots = -1; /* T_nrofSlots */
|
|
static int hf_nr_rrc_pi2BPSK = -1; /* T_pi2BPSK */
|
|
static int hf_nr_rrc_simultaneousHARQ_ACK_CSI = -1; /* T_simultaneousHARQ_ACK_CSI */
|
|
static int hf_nr_rrc_pucch_SpatialRelationInfoId = -1; /* PUCCH_SpatialRelationInfoId */
|
|
static int hf_nr_rrc_referenceSignal = -1; /* T_referenceSignal */
|
|
static int hf_nr_rrc_csi_RS_Index_01 = -1; /* NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_srs = -1; /* T_srs */
|
|
static int hf_nr_rrc_resource = -1; /* SRS_ResourceId */
|
|
static int hf_nr_rrc_uplinkBWP = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_pucch_PathlossReferenceRS_Id = -1; /* PUCCH_PathlossReferenceRS_Id */
|
|
static int hf_nr_rrc_p0_PUCCH_Id = -1; /* P0_PUCCH_Id */
|
|
static int hf_nr_rrc_closedLoopIndex = -1; /* T_closedLoopIndex */
|
|
static int hf_nr_rrc_pucch_ResourceSetId = -1; /* PUCCH_ResourceSetId */
|
|
static int hf_nr_rrc_resourceList = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId */
|
|
static int hf_nr_rrc_resourceList_item = -1; /* PUCCH_ResourceId */
|
|
static int hf_nr_rrc_maxPayloadMinus1 = -1; /* INTEGER_4_256 */
|
|
static int hf_nr_rrc_pucch_ResourceId = -1; /* PUCCH_ResourceId */
|
|
static int hf_nr_rrc_startingPRB = -1; /* PRB_Id */
|
|
static int hf_nr_rrc_intraSlotFrequencyHopping = -1; /* T_intraSlotFrequencyHopping */
|
|
static int hf_nr_rrc_secondHopPRB = -1; /* PRB_Id */
|
|
static int hf_nr_rrc_format = -1; /* T_format */
|
|
static int hf_nr_rrc_format0 = -1; /* PUCCH_format0 */
|
|
static int hf_nr_rrc_format1_01 = -1; /* PUCCH_format1 */
|
|
static int hf_nr_rrc_format2_01 = -1; /* PUCCH_format2 */
|
|
static int hf_nr_rrc_format3_01 = -1; /* PUCCH_format3 */
|
|
static int hf_nr_rrc_format4_01 = -1; /* PUCCH_format4 */
|
|
static int hf_nr_rrc_initialCyclicShift = -1; /* INTEGER_0_11 */
|
|
static int hf_nr_rrc_nrofSymbols = -1; /* INTEGER_1_2 */
|
|
static int hf_nr_rrc_startingSymbolIndex = -1; /* INTEGER_0_13 */
|
|
static int hf_nr_rrc_nrofSymbols_01 = -1; /* INTEGER_4_14 */
|
|
static int hf_nr_rrc_startingSymbolIndex_01 = -1; /* INTEGER_0_10 */
|
|
static int hf_nr_rrc_timeDomainOCC = -1; /* INTEGER_0_6 */
|
|
static int hf_nr_rrc_nrofPRBs_01 = -1; /* INTEGER_1_16 */
|
|
static int hf_nr_rrc_occ_Length = -1; /* T_occ_Length */
|
|
static int hf_nr_rrc_occ_Index = -1; /* T_occ_Index */
|
|
static int hf_nr_rrc_pucch_ResourceCommon = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_pucch_GroupHopping = -1; /* T_pucch_GroupHopping */
|
|
static int hf_nr_rrc_hoppingId = -1; /* INTEGER_0_1024 */
|
|
static int hf_nr_rrc_p0_nominal = -1; /* INTEGER_M202_24 */
|
|
static int hf_nr_rrc_deltaF_PUCCH_f0 = -1; /* INTEGER_M16_15 */
|
|
static int hf_nr_rrc_deltaF_PUCCH_f1 = -1; /* INTEGER_M16_15 */
|
|
static int hf_nr_rrc_deltaF_PUCCH_f2 = -1; /* INTEGER_M16_15 */
|
|
static int hf_nr_rrc_deltaF_PUCCH_f3 = -1; /* INTEGER_M16_15 */
|
|
static int hf_nr_rrc_deltaF_PUCCH_f4 = -1; /* INTEGER_M16_15 */
|
|
static int hf_nr_rrc_p0_Set = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH */
|
|
static int hf_nr_rrc_p0_Set_item = -1; /* P0_PUCCH */
|
|
static int hf_nr_rrc_pathlossReferenceRSs = -1; /* SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS */
|
|
static int hf_nr_rrc_pathlossReferenceRSs_item = -1; /* PUCCH_PathlossReferenceRS */
|
|
static int hf_nr_rrc_twoPUCCH_PC_AdjustmentStates = -1; /* T_twoPUCCH_PC_AdjustmentStates */
|
|
static int hf_nr_rrc_p0_PUCCH_Value = -1; /* INTEGER_M16_15 */
|
|
static int hf_nr_rrc_referenceSignal_01 = -1; /* T_referenceSignal_01 */
|
|
static int hf_nr_rrc_tpc_IndexPCell = -1; /* INTEGER_1_15 */
|
|
static int hf_nr_rrc_tpc_IndexPUCCH_SCell = -1; /* INTEGER_1_15 */
|
|
static int hf_nr_rrc_dataScramblingIdentityPUSCH = -1; /* INTEGER_0_1023 */
|
|
static int hf_nr_rrc_txConfig = -1; /* T_txConfig */
|
|
static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeA */
|
|
static int hf_nr_rrc_setup_37 = -1; /* DMRS_UplinkConfig */
|
|
static int hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB = -1; /* T_dmrs_UplinkForPUSCH_MappingTypeB */
|
|
static int hf_nr_rrc_pusch_PowerControl = -1; /* PUSCH_PowerControl */
|
|
static int hf_nr_rrc_frequencyHopping_01 = -1; /* T_frequencyHopping_01 */
|
|
static int hf_nr_rrc_frequencyHoppingOffsetLists = -1; /* T_frequencyHoppingOffsetLists */
|
|
static int hf_nr_rrc_frequencyHoppingOffsetLists_item = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks_1 */
|
|
static int hf_nr_rrc_resourceAllocation_02 = -1; /* T_resourceAllocation_02 */
|
|
static int hf_nr_rrc_pusch_TimeDomainAllocationList = -1; /* T_pusch_TimeDomainAllocationList */
|
|
static int hf_nr_rrc_setup_38 = -1; /* PUSCH_TimeDomainResourceAllocationList */
|
|
static int hf_nr_rrc_pusch_AggregationFactor = -1; /* T_pusch_AggregationFactor */
|
|
static int hf_nr_rrc_mcs_Table_02 = -1; /* T_mcs_Table_02 */
|
|
static int hf_nr_rrc_mcs_TableTransformPrecoder_01 = -1; /* T_mcs_TableTransformPrecoder_01 */
|
|
static int hf_nr_rrc_transformPrecoder_01 = -1; /* T_transformPrecoder_01 */
|
|
static int hf_nr_rrc_codebookSubset = -1; /* T_codebookSubset */
|
|
static int hf_nr_rrc_maxRank = -1; /* INTEGER_1_4 */
|
|
static int hf_nr_rrc_rbg_Size_02 = -1; /* T_rbg_Size_02 */
|
|
static int hf_nr_rrc_uci_OnPUSCH_01 = -1; /* T_uci_OnPUSCH_01 */
|
|
static int hf_nr_rrc_setup_39 = -1; /* UCI_OnPUSCH */
|
|
static int hf_nr_rrc_tp_pi2BPSK = -1; /* T_tp_pi2BPSK */
|
|
static int hf_nr_rrc_betaOffsets = -1; /* T_betaOffsets */
|
|
static int hf_nr_rrc_dynamic_01 = -1; /* SEQUENCE_SIZE_4_OF_BetaOffsets */
|
|
static int hf_nr_rrc_scaling = -1; /* T_scaling */
|
|
static int hf_nr_rrc_groupHoppingEnabledTransformPrecoding = -1; /* T_groupHoppingEnabledTransformPrecoding */
|
|
static int hf_nr_rrc_pusch_TimeDomainAllocationList_01 = -1; /* PUSCH_TimeDomainResourceAllocationList */
|
|
static int hf_nr_rrc_msg3_DeltaPreamble = -1; /* INTEGER_M1_6 */
|
|
static int hf_nr_rrc_p0_NominalWithGrant = -1; /* INTEGER_M202_24 */
|
|
static int hf_nr_rrc_tpc_Accumulation = -1; /* T_tpc_Accumulation */
|
|
static int hf_nr_rrc_msg3_Alpha = -1; /* Alpha */
|
|
static int hf_nr_rrc_p0_NominalWithoutGrant = -1; /* INTEGER_M202_24 */
|
|
static int hf_nr_rrc_p0_AlphaSets = -1; /* SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet */
|
|
static int hf_nr_rrc_p0_AlphaSets_item = -1; /* P0_PUSCH_AlphaSet */
|
|
static int hf_nr_rrc_pathlossReferenceRSToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS */
|
|
static int hf_nr_rrc_pathlossReferenceRSToAddModList_item = -1; /* PUSCH_PathlossReferenceRS */
|
|
static int hf_nr_rrc_pathlossReferenceRSToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id */
|
|
static int hf_nr_rrc_pathlossReferenceRSToReleaseList_item = -1; /* PUSCH_PathlossReferenceRS_Id */
|
|
static int hf_nr_rrc_twoPUSCH_PC_AdjustmentStates = -1; /* T_twoPUSCH_PC_AdjustmentStates */
|
|
static int hf_nr_rrc_deltaMCS = -1; /* T_deltaMCS */
|
|
static int hf_nr_rrc_sri_PUSCH_MappingToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl */
|
|
static int hf_nr_rrc_sri_PUSCH_MappingToAddModList_item = -1; /* SRI_PUSCH_PowerControl */
|
|
static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId */
|
|
static int hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item = -1; /* SRI_PUSCH_PowerControlId */
|
|
static int hf_nr_rrc_p0_PUSCH_AlphaSetId = -1; /* P0_PUSCH_AlphaSetId */
|
|
static int hf_nr_rrc_p0 = -1; /* INTEGER_M16_15 */
|
|
static int hf_nr_rrc_alpha = -1; /* Alpha */
|
|
static int hf_nr_rrc_pusch_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */
|
|
static int hf_nr_rrc_referenceSignal_02 = -1; /* T_referenceSignal_02 */
|
|
static int hf_nr_rrc_sri_PUSCH_PowerControlId = -1; /* SRI_PUSCH_PowerControlId */
|
|
static int hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id = -1; /* PUSCH_PathlossReferenceRS_Id */
|
|
static int hf_nr_rrc_sri_P0_PUSCH_AlphaSetId = -1; /* P0_PUSCH_AlphaSetId */
|
|
static int hf_nr_rrc_sri_PUSCH_ClosedLoopIndex = -1; /* T_sri_PUSCH_ClosedLoopIndex */
|
|
static int hf_nr_rrc_betaOffsetACK_Index1 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_betaOffsetACK_Index2 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_betaOffsetACK_Index3 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_betaOffsetCSI_Part1_Index1 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_betaOffsetCSI_Part1_Index2 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_betaOffsetCSI_Part2_Index1 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_betaOffsetCSI_Part2_Index2 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_codeBlockGroupTransmission_01 = -1; /* T_codeBlockGroupTransmission_01 */
|
|
static int hf_nr_rrc_setup_40 = -1; /* PUSCH_CodeBlockGroupTransmission */
|
|
static int hf_nr_rrc_rateMatching = -1; /* T_rateMatching */
|
|
static int hf_nr_rrc_xOverhead_01 = -1; /* T_xOverhead_01 */
|
|
static int hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01 = -1; /* T_maxCodeBlockGroupsPerTransportBlock_01 */
|
|
static int hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item = -1; /* PUSCH_TimeDomainResourceAllocation */
|
|
static int hf_nr_rrc_k2 = -1; /* INTEGER_0_32 */
|
|
static int hf_nr_rrc_mappingType_01 = -1; /* T_mappingType_01 */
|
|
static int hf_nr_rrc_tpc_Index = -1; /* INTEGER_1_15 */
|
|
static int hf_nr_rrc_tpc_IndexSUL = -1; /* INTEGER_1_15 */
|
|
static int hf_nr_rrc_targetCell = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_quantityConfigNR_List = -1; /* SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR */
|
|
static int hf_nr_rrc_quantityConfigNR_List_item = -1; /* QuantityConfigNR */
|
|
static int hf_nr_rrc_quantityConfigCell = -1; /* QuantityConfigRS */
|
|
static int hf_nr_rrc_quantityConfigRS_Index = -1; /* QuantityConfigRS */
|
|
static int hf_nr_rrc_ssb_FilterConfig = -1; /* FilterConfig */
|
|
static int hf_nr_rrc_cs_RS_FilterConfig = -1; /* FilterConfig */
|
|
static int hf_nr_rrc_filterCoefficientRSRP = -1; /* FilterCoefficient */
|
|
static int hf_nr_rrc_filterCoefficientRSRQ = -1; /* FilterCoefficient */
|
|
static int hf_nr_rrc_filterCoefficientRS_SINR = -1; /* FilterCoefficient */
|
|
static int hf_nr_rrc_rach_ConfigGeneric = -1; /* RACH_ConfigGeneric */
|
|
static int hf_nr_rrc_totalNumberOfRA_Preambles = -1; /* INTEGER_1_63 */
|
|
static int hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1; /* T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB */
|
|
static int hf_nr_rrc_oneEighth = -1; /* T_oneEighth */
|
|
static int hf_nr_rrc_oneFourth = -1; /* T_oneFourth */
|
|
static int hf_nr_rrc_oneHalf = -1; /* T_oneHalf */
|
|
static int hf_nr_rrc_one_01 = -1; /* T_one */
|
|
static int hf_nr_rrc_two_01 = -1; /* T_two_01 */
|
|
static int hf_nr_rrc_four = -1; /* INTEGER_1_16 */
|
|
static int hf_nr_rrc_eight = -1; /* INTEGER_1_8 */
|
|
static int hf_nr_rrc_sixteen = -1; /* INTEGER_1_4 */
|
|
static int hf_nr_rrc_groupBconfigured = -1; /* T_groupBconfigured */
|
|
static int hf_nr_rrc_ra_Msg3SizeGroupA = -1; /* T_ra_Msg3SizeGroupA */
|
|
static int hf_nr_rrc_messagePowerOffsetGroupB = -1; /* T_messagePowerOffsetGroupB */
|
|
static int hf_nr_rrc_numberOfRA_PreamblesGroupA = -1; /* INTEGER_1_64 */
|
|
static int hf_nr_rrc_ra_ContentionResolutionTimer = -1; /* T_ra_ContentionResolutionTimer */
|
|
static int hf_nr_rrc_rsrp_ThresholdSSB_SUL = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_prach_RootSequenceIndex = -1; /* T_prach_RootSequenceIndex */
|
|
static int hf_nr_rrc_l839 = -1; /* INTEGER_0_837 */
|
|
static int hf_nr_rrc_l139 = -1; /* INTEGER_0_137 */
|
|
static int hf_nr_rrc_msg1_SubcarrierSpacing = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_restrictedSetConfig = -1; /* T_restrictedSetConfig */
|
|
static int hf_nr_rrc_msg3_transformPrecoding = -1; /* T_msg3_transformPrecoding */
|
|
static int hf_nr_rrc_prach_ConfigurationIndex = -1; /* INTEGER_0_255 */
|
|
static int hf_nr_rrc_msg1_FDM = -1; /* T_msg1_FDM */
|
|
static int hf_nr_rrc_msg1_FrequencyStart = -1; /* INTEGER_0_maxNrofPhysicalResourceBlocks_1 */
|
|
static int hf_nr_rrc_zeroCorrelationZoneConfig = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_preambleReceivedTargetPower = -1; /* INTEGER_M202_M60 */
|
|
static int hf_nr_rrc_preambleTransMax = -1; /* T_preambleTransMax */
|
|
static int hf_nr_rrc_powerRampingStep = -1; /* T_powerRampingStep */
|
|
static int hf_nr_rrc_ra_ResponseWindow = -1; /* T_ra_ResponseWindow */
|
|
static int hf_nr_rrc_cfra = -1; /* CFRA */
|
|
static int hf_nr_rrc_occasions = -1; /* T_occasions */
|
|
static int hf_nr_rrc_ssb_perRACH_Occasion_01 = -1; /* T_ssb_perRACH_Occasion_01 */
|
|
static int hf_nr_rrc_resources = -1; /* T_resources */
|
|
static int hf_nr_rrc_ssb_02 = -1; /* T_ssb */
|
|
static int hf_nr_rrc_ssb_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource */
|
|
static int hf_nr_rrc_ssb_ResourceList_item = -1; /* CFRA_SSB_Resource */
|
|
static int hf_nr_rrc_csirs = -1; /* T_csirs */
|
|
static int hf_nr_rrc_csirs_ResourceList = -1; /* SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource */
|
|
static int hf_nr_rrc_csirs_ResourceList_item = -1; /* CFRA_CSIRS_Resource */
|
|
static int hf_nr_rrc_rsrp_ThresholdCSI_RS = -1; /* RSRP_Range */
|
|
static int hf_nr_rrc_csi_RS_02 = -1; /* CSI_RS_Index */
|
|
static int hf_nr_rrc_ra_OccasionList_01 = -1; /* T_ra_OccasionList_01 */
|
|
static int hf_nr_rrc_powerRampingStepHighPriority = -1; /* T_powerRampingStepHighPriority */
|
|
static int hf_nr_rrc_scalingFactorBI = -1; /* T_scalingFactorBI */
|
|
static int hf_nr_rrc_srb_ToAddModList = -1; /* SRB_ToAddModList */
|
|
static int hf_nr_rrc_srb3_ToRelease = -1; /* T_srb3_ToRelease */
|
|
static int hf_nr_rrc_drb_ToAddModList = -1; /* DRB_ToAddModList */
|
|
static int hf_nr_rrc_drb_ToReleaseList = -1; /* DRB_ToReleaseList */
|
|
static int hf_nr_rrc_securityConfig = -1; /* SecurityConfig */
|
|
static int hf_nr_rrc_SRB_ToAddModList_item = -1; /* SRB_ToAddMod */
|
|
static int hf_nr_rrc_srb_Identity = -1; /* SRB_Identity */
|
|
static int hf_nr_rrc_reestablishPDCP = -1; /* T_reestablishPDCP */
|
|
static int hf_nr_rrc_discardOnPDCP = -1; /* T_discardOnPDCP */
|
|
static int hf_nr_rrc_pdcp_Config = -1; /* PDCP_Config */
|
|
static int hf_nr_rrc_DRB_ToAddModList_item = -1; /* DRB_ToAddMod */
|
|
static int hf_nr_rrc_cnAssociation = -1; /* T_cnAssociation */
|
|
static int hf_nr_rrc_eps_BearerIdentity = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_sdap_Config = -1; /* SDAP_Config */
|
|
static int hf_nr_rrc_drb_Identity = -1; /* DRB_Identity */
|
|
static int hf_nr_rrc_reestablishPDCP_01 = -1; /* T_reestablishPDCP_01 */
|
|
static int hf_nr_rrc_recoverPDCP = -1; /* T_recoverPDCP */
|
|
static int hf_nr_rrc_DRB_ToReleaseList_item = -1; /* DRB_Identity */
|
|
static int hf_nr_rrc_securityAlgorithmConfig = -1; /* SecurityAlgorithmConfig */
|
|
static int hf_nr_rrc_keyToUse = -1; /* T_keyToUse */
|
|
static int hf_nr_rrc_failureDetectionResourcesToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS */
|
|
static int hf_nr_rrc_failureDetectionResourcesToAddModList_item = -1; /* RadioLinkMonitoringRS */
|
|
static int hf_nr_rrc_failureDetectionResourcesToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id */
|
|
static int hf_nr_rrc_failureDetectionResourcesToReleaseList_item = -1; /* RadioLinkMonitoringRS_Id */
|
|
static int hf_nr_rrc_beamFailureInstanceMaxCount = -1; /* T_beamFailureInstanceMaxCount */
|
|
static int hf_nr_rrc_beamFailureDetectionTimer = -1; /* T_beamFailureDetectionTimer */
|
|
static int hf_nr_rrc_radioLinkMonitoringRS_Id = -1; /* RadioLinkMonitoringRS_Id */
|
|
static int hf_nr_rrc_purpose = -1; /* T_purpose */
|
|
static int hf_nr_rrc_detectionResource = -1; /* T_detectionResource */
|
|
static int hf_nr_rrc_rateMatchPatternId = -1; /* RateMatchPatternId */
|
|
static int hf_nr_rrc_patternType = -1; /* T_patternType */
|
|
static int hf_nr_rrc_bitmaps = -1; /* T_bitmaps */
|
|
static int hf_nr_rrc_resourceBlocks = -1; /* BIT_STRING_SIZE_275 */
|
|
static int hf_nr_rrc_symbolsInResourceBlock = -1; /* T_symbolsInResourceBlock */
|
|
static int hf_nr_rrc_oneSlot = -1; /* BIT_STRING_SIZE_14 */
|
|
static int hf_nr_rrc_twoSlots = -1; /* BIT_STRING_SIZE_28 */
|
|
static int hf_nr_rrc_periodicityAndPattern = -1; /* T_periodicityAndPattern */
|
|
static int hf_nr_rrc_n2 = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_n4 = -1; /* BIT_STRING_SIZE_4 */
|
|
static int hf_nr_rrc_n5 = -1; /* BIT_STRING_SIZE_5 */
|
|
static int hf_nr_rrc_n8 = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_n10 = -1; /* BIT_STRING_SIZE_10 */
|
|
static int hf_nr_rrc_n20 = -1; /* BIT_STRING_SIZE_20 */
|
|
static int hf_nr_rrc_n40 = -1; /* BIT_STRING_SIZE_40 */
|
|
static int hf_nr_rrc_controlResourceSet = -1; /* ControlResourceSetId */
|
|
static int hf_nr_rrc_mode = -1; /* T_mode */
|
|
static int hf_nr_rrc_carrierFreqDL = -1; /* INTEGER_0_16383 */
|
|
static int hf_nr_rrc_carrierBandwidthDL = -1; /* T_carrierBandwidthDL */
|
|
static int hf_nr_rrc_mbsfn_SubframeConfigList = -1; /* EUTRA_MBSFN_SubframeConfigList */
|
|
static int hf_nr_rrc_nrofCRS_Ports = -1; /* T_nrofCRS_Ports */
|
|
static int hf_nr_rrc_v_Shift = -1; /* T_v_Shift */
|
|
static int hf_nr_rrc_reportType = -1; /* T_reportType */
|
|
static int hf_nr_rrc_periodical = -1; /* PeriodicalReportConfig */
|
|
static int hf_nr_rrc_eventTriggered = -1; /* EventTriggerConfig */
|
|
static int hf_nr_rrc_eventId = -1; /* T_eventId */
|
|
static int hf_nr_rrc_eventA1 = -1; /* T_eventA1 */
|
|
static int hf_nr_rrc_a1_Threshold = -1; /* MeasTriggerQuantity */
|
|
static int hf_nr_rrc_reportOnLeave = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_hysteresis = -1; /* Hysteresis */
|
|
static int hf_nr_rrc_timeToTrigger = -1; /* TimeToTrigger */
|
|
static int hf_nr_rrc_eventA2 = -1; /* T_eventA2 */
|
|
static int hf_nr_rrc_a2_Threshold = -1; /* MeasTriggerQuantity */
|
|
static int hf_nr_rrc_eventA3 = -1; /* T_eventA3 */
|
|
static int hf_nr_rrc_a3_Offset = -1; /* MeasTriggerQuantityOffset */
|
|
static int hf_nr_rrc_useWhiteCellList = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_eventA4 = -1; /* T_eventA4 */
|
|
static int hf_nr_rrc_a4_Threshold = -1; /* MeasTriggerQuantity */
|
|
static int hf_nr_rrc_eventA5 = -1; /* T_eventA5 */
|
|
static int hf_nr_rrc_a5_Threshold1 = -1; /* MeasTriggerQuantity */
|
|
static int hf_nr_rrc_a5_Threshold2 = -1; /* MeasTriggerQuantity */
|
|
static int hf_nr_rrc_eventA6 = -1; /* T_eventA6 */
|
|
static int hf_nr_rrc_a6_Offset = -1; /* MeasTriggerQuantityOffset */
|
|
static int hf_nr_rrc_rsType = -1; /* NR_RS_Type */
|
|
static int hf_nr_rrc_reportInterval = -1; /* ReportInterval */
|
|
static int hf_nr_rrc_reportAmount = -1; /* T_reportAmount */
|
|
static int hf_nr_rrc_reportQuantityCell = -1; /* MeasReportQuantity */
|
|
static int hf_nr_rrc_maxReportCells = -1; /* INTEGER_1_maxCellReport */
|
|
static int hf_nr_rrc_reportQuantityRsIndexes = -1; /* MeasReportQuantity */
|
|
static int hf_nr_rrc_maxNrofRSIndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */
|
|
static int hf_nr_rrc_includeBeamMeasurements = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_reportAddNeighMeas = -1; /* T_reportAddNeighMeas */
|
|
static int hf_nr_rrc_reportAmount_01 = -1; /* T_reportAmount_01 */
|
|
static int hf_nr_rrc_maxNrofRsIndexesToReport = -1; /* INTEGER_1_maxNrofIndexesToReport */
|
|
static int hf_nr_rrc_rsrp_01 = -1; /* INTEGER_M30_30 */
|
|
static int hf_nr_rrc_rsrq_01 = -1; /* INTEGER_M30_30 */
|
|
static int hf_nr_rrc_sinr_01 = -1; /* INTEGER_M30_30 */
|
|
static int hf_nr_rrc_rsrp_02 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_rsrq_02 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_sinr_02 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_ReportConfigToAddModList_item = -1; /* ReportConfigToAddMod */
|
|
static int hf_nr_rrc_reportConfig = -1; /* T_reportConfig */
|
|
static int hf_nr_rrc_reportConfigNR = -1; /* ReportConfigNR */
|
|
static int hf_nr_rrc_logicalChannelIdentity = -1; /* LogicalChannelIdentity */
|
|
static int hf_nr_rrc_servedRadioBearer = -1; /* T_servedRadioBearer */
|
|
static int hf_nr_rrc_reestablishRLC = -1; /* T_reestablishRLC */
|
|
static int hf_nr_rrc_rlc_Config = -1; /* RLC_Config */
|
|
static int hf_nr_rrc_mac_LogicalChannelConfig = -1; /* LogicalChannelConfig */
|
|
static int hf_nr_rrc_am = -1; /* T_am */
|
|
static int hf_nr_rrc_ul_AM_RLC = -1; /* UL_AM_RLC */
|
|
static int hf_nr_rrc_dl_AM_RLC = -1; /* DL_AM_RLC */
|
|
static int hf_nr_rrc_um_Bi_Directional = -1; /* T_um_Bi_Directional */
|
|
static int hf_nr_rrc_ul_UM_RLC = -1; /* UL_UM_RLC */
|
|
static int hf_nr_rrc_dl_UM_RLC = -1; /* DL_UM_RLC */
|
|
static int hf_nr_rrc_um_Uni_Directional_UL = -1; /* T_um_Uni_Directional_UL */
|
|
static int hf_nr_rrc_um_Uni_Directional_DL = -1; /* T_um_Uni_Directional_DL */
|
|
static int hf_nr_rrc_sn_FieldLength = -1; /* SN_FieldLengthAM */
|
|
static int hf_nr_rrc_t_PollRetransmit = -1; /* T_PollRetransmit */
|
|
static int hf_nr_rrc_pollPDU = -1; /* PollPDU */
|
|
static int hf_nr_rrc_pollByte = -1; /* PollByte */
|
|
static int hf_nr_rrc_maxRetxThreshold = -1; /* T_maxRetxThreshold */
|
|
static int hf_nr_rrc_t_Reassembly = -1; /* T_Reassembly */
|
|
static int hf_nr_rrc_t_StatusProhibit = -1; /* T_StatusProhibit */
|
|
static int hf_nr_rrc_sn_FieldLength_01 = -1; /* SN_FieldLengthUM */
|
|
static int hf_nr_rrc_t310 = -1; /* T_t310 */
|
|
static int hf_nr_rrc_n310 = -1; /* T_n310 */
|
|
static int hf_nr_rrc_n311 = -1; /* T_n311 */
|
|
static int hf_nr_rrc_schedulingRequestToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod */
|
|
static int hf_nr_rrc_schedulingRequestToAddModList_item = -1; /* SchedulingRequestToAddMod */
|
|
static int hf_nr_rrc_schedulingRequestToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId */
|
|
static int hf_nr_rrc_schedulingRequestToReleaseList_item = -1; /* SchedulingRequestId */
|
|
static int hf_nr_rrc_schedulingRequestId = -1; /* SchedulingRequestId */
|
|
static int hf_nr_rrc_sr_ProhibitTimer = -1; /* T_sr_ProhibitTimer */
|
|
static int hf_nr_rrc_sr_TransMax = -1; /* T_sr_TransMax */
|
|
static int hf_nr_rrc_schedulingRequestResourceId = -1; /* SchedulingRequestResourceId */
|
|
static int hf_nr_rrc_periodicityAndOffset_01 = -1; /* T_periodicityAndOffset */
|
|
static int hf_nr_rrc_sym2 = -1; /* NULL */
|
|
static int hf_nr_rrc_sym6or7 = -1; /* NULL */
|
|
static int hf_nr_rrc_sl1 = -1; /* NULL */
|
|
static int hf_nr_rrc_sl2 = -1; /* INTEGER_0_1 */
|
|
static int hf_nr_rrc_sl4 = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_sl5 = -1; /* INTEGER_0_4 */
|
|
static int hf_nr_rrc_sl8 = -1; /* INTEGER_0_7 */
|
|
static int hf_nr_rrc_sl10 = -1; /* INTEGER_0_9 */
|
|
static int hf_nr_rrc_sl16 = -1; /* INTEGER_0_15 */
|
|
static int hf_nr_rrc_sl20 = -1; /* INTEGER_0_19 */
|
|
static int hf_nr_rrc_sl40 = -1; /* INTEGER_0_39 */
|
|
static int hf_nr_rrc_sl80 = -1; /* INTEGER_0_79 */
|
|
static int hf_nr_rrc_sl160 = -1; /* INTEGER_0_159 */
|
|
static int hf_nr_rrc_sl320 = -1; /* INTEGER_0_319 */
|
|
static int hf_nr_rrc_sl640 = -1; /* INTEGER_0_639 */
|
|
static int hf_nr_rrc_resource_01 = -1; /* PUCCH_ResourceId */
|
|
static int hf_nr_rrc_offsetToCarrier = -1; /* INTEGER_0_2199 */
|
|
static int hf_nr_rrc_carrierBandwidth = -1; /* INTEGER_1_maxNrofPhysicalResourceBlocks */
|
|
static int hf_nr_rrc_pdu_Session = -1; /* PDU_SessionID */
|
|
static int hf_nr_rrc_sdap_HeaderDL = -1; /* T_sdap_HeaderDL */
|
|
static int hf_nr_rrc_sdap_HeaderUL = -1; /* T_sdap_HeaderUL */
|
|
static int hf_nr_rrc_defaultDRB = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_mappedQoS_FlowsToAdd = -1; /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */
|
|
static int hf_nr_rrc_mappedQoS_FlowsToAdd_item = -1; /* QFI */
|
|
static int hf_nr_rrc_mappedQoS_FlowsToRelease = -1; /* SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI */
|
|
static int hf_nr_rrc_mappedQoS_FlowsToRelease_item = -1; /* QFI */
|
|
static int hf_nr_rrc_searchSpaceId = -1; /* SearchSpaceId */
|
|
static int hf_nr_rrc_monitoringSlotPeriodicityAndOffset = -1; /* T_monitoringSlotPeriodicityAndOffset */
|
|
static int hf_nr_rrc_sl1280 = -1; /* INTEGER_0_1279 */
|
|
static int hf_nr_rrc_sl2560 = -1; /* INTEGER_0_2559 */
|
|
static int hf_nr_rrc_duration_01 = -1; /* INTEGER_2_2559 */
|
|
static int hf_nr_rrc_monitoringSymbolsWithinSlot = -1; /* BIT_STRING_SIZE_14 */
|
|
static int hf_nr_rrc_nrofCandidates = -1; /* T_nrofCandidates */
|
|
static int hf_nr_rrc_aggregationLevel1 = -1; /* T_aggregationLevel1 */
|
|
static int hf_nr_rrc_aggregationLevel2 = -1; /* T_aggregationLevel2 */
|
|
static int hf_nr_rrc_aggregationLevel4 = -1; /* T_aggregationLevel4 */
|
|
static int hf_nr_rrc_aggregationLevel8 = -1; /* T_aggregationLevel8 */
|
|
static int hf_nr_rrc_aggregationLevel16 = -1; /* T_aggregationLevel16 */
|
|
static int hf_nr_rrc_searchSpaceType = -1; /* T_searchSpaceType */
|
|
static int hf_nr_rrc_common = -1; /* T_common */
|
|
static int hf_nr_rrc_dci_Format0_0_AndFormat1_0 = -1; /* T_dci_Format0_0_AndFormat1_0 */
|
|
static int hf_nr_rrc_dci_Format2_0 = -1; /* T_dci_Format2_0 */
|
|
static int hf_nr_rrc_nrofCandidates_SFI = -1; /* T_nrofCandidates_SFI */
|
|
static int hf_nr_rrc_aggregationLevel1_01 = -1; /* T_aggregationLevel1_01 */
|
|
static int hf_nr_rrc_aggregationLevel2_01 = -1; /* T_aggregationLevel2_01 */
|
|
static int hf_nr_rrc_aggregationLevel4_01 = -1; /* T_aggregationLevel4_01 */
|
|
static int hf_nr_rrc_aggregationLevel8_01 = -1; /* T_aggregationLevel8_01 */
|
|
static int hf_nr_rrc_aggregationLevel16_01 = -1; /* T_aggregationLevel16_01 */
|
|
static int hf_nr_rrc_dci_Format2_1 = -1; /* T_dci_Format2_1 */
|
|
static int hf_nr_rrc_dci_Format2_2 = -1; /* T_dci_Format2_2 */
|
|
static int hf_nr_rrc_dci_Format2_3 = -1; /* T_dci_Format2_3 */
|
|
static int hf_nr_rrc_monitoringPeriodicity = -1; /* T_monitoringPeriodicity */
|
|
static int hf_nr_rrc_nrofPDCCH_Candidates = -1; /* T_nrofPDCCH_Candidates */
|
|
static int hf_nr_rrc_ue_Specific = -1; /* T_ue_Specific */
|
|
static int hf_nr_rrc_dci_Formats = -1; /* T_dci_Formats */
|
|
static int hf_nr_rrc_cipheringAlgorithm = -1; /* CipheringAlgorithm */
|
|
static int hf_nr_rrc_integrityProtAlgorithm = -1; /* IntegrityProtAlgorithm */
|
|
static int hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated = -1; /* TDD_UL_DL_ConfigDedicated */
|
|
static int hf_nr_rrc_initialDownlinkBWP_01 = -1; /* BWP_DownlinkDedicated */
|
|
static int hf_nr_rrc_downlinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */
|
|
static int hf_nr_rrc_downlinkBWP_ToReleaseList_item = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_downlinkBWP_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink */
|
|
static int hf_nr_rrc_downlinkBWP_ToAddModList_item = -1; /* BWP_Downlink */
|
|
static int hf_nr_rrc_firstActiveDownlinkBWP_Id = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_bwp_InactivityTimer = -1; /* T_bwp_InactivityTimer */
|
|
static int hf_nr_rrc_defaultDownlinkBWP_Id = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_uplinkConfig = -1; /* UplinkConfig */
|
|
static int hf_nr_rrc_supplementaryUplink_02 = -1; /* UplinkConfig */
|
|
static int hf_nr_rrc_pdcch_ServingCellConfig = -1; /* T_pdcch_ServingCellConfig */
|
|
static int hf_nr_rrc_setup_41 = -1; /* PDCCH_ServingCellConfig */
|
|
static int hf_nr_rrc_pdsch_ServingCellConfig = -1; /* T_pdsch_ServingCellConfig */
|
|
static int hf_nr_rrc_setup_42 = -1; /* PDSCH_ServingCellConfig */
|
|
static int hf_nr_rrc_csi_MeasConfig = -1; /* T_csi_MeasConfig */
|
|
static int hf_nr_rrc_setup_43 = -1; /* CSI_MeasConfig */
|
|
static int hf_nr_rrc_sCellDeactivationTimer = -1; /* T_sCellDeactivationTimer */
|
|
static int hf_nr_rrc_crossCarrierSchedulingConfig = -1; /* CrossCarrierSchedulingConfig */
|
|
static int hf_nr_rrc_ue_BeamLockFunction = -1; /* T_ue_BeamLockFunction */
|
|
static int hf_nr_rrc_pathlossReferenceLinking = -1; /* T_pathlossReferenceLinking */
|
|
static int hf_nr_rrc_servingCellMO = -1; /* MeasObjectId */
|
|
static int hf_nr_rrc_initialUplinkBWP = -1; /* BWP_UplinkDedicated */
|
|
static int hf_nr_rrc_uplinkBWP_ToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id */
|
|
static int hf_nr_rrc_uplinkBWP_ToReleaseList_item = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_uplinkBWP_ToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink */
|
|
static int hf_nr_rrc_uplinkBWP_ToAddModList_item = -1; /* BWP_Uplink */
|
|
static int hf_nr_rrc_firstActiveUplinkBWP_Id = -1; /* BWP_Id */
|
|
static int hf_nr_rrc_pusch_ServingCellConfig = -1; /* T_pusch_ServingCellConfig */
|
|
static int hf_nr_rrc_setup_44 = -1; /* PUSCH_ServingCellConfig */
|
|
static int hf_nr_rrc_carrierSwitching = -1; /* T_carrierSwitching */
|
|
static int hf_nr_rrc_setup_45 = -1; /* SRS_CarrierSwitching */
|
|
static int hf_nr_rrc_downlinkConfigCommon = -1; /* DownlinkConfigCommon */
|
|
static int hf_nr_rrc_supplementaryUplinkConfig = -1; /* UplinkConfigCommon */
|
|
static int hf_nr_rrc_n_TimingAdvanceOffset = -1; /* T_n_TimingAdvanceOffset */
|
|
static int hf_nr_rrc_ssb_PositionsInBurst_01 = -1; /* T_ssb_PositionsInBurst_01 */
|
|
static int hf_nr_rrc_ssb_periodicityServingCell = -1; /* T_ssb_periodicityServingCell */
|
|
static int hf_nr_rrc_dmrs_TypeA_Position_01 = -1; /* T_dmrs_TypeA_Position_01 */
|
|
static int hf_nr_rrc_lte_CRS_ToMatchAround = -1; /* T_lte_CRS_ToMatchAround */
|
|
static int hf_nr_rrc_setup_46 = -1; /* RateMatchPatternLTE_CRS */
|
|
static int hf_nr_rrc_tdd_UL_DL_ConfigurationCommon = -1; /* TDD_UL_DL_ConfigCommon */
|
|
static int hf_nr_rrc_subcarrierSpacing2 = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_slotFormatCombinations = -1; /* SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination */
|
|
static int hf_nr_rrc_slotFormatCombinations_item = -1; /* SlotFormatCombination */
|
|
static int hf_nr_rrc_positionInDCI_01 = -1; /* INTEGER_0_maxSFI_DCI_PayloadSize_1 */
|
|
static int hf_nr_rrc_slotFormatCombinationId = -1; /* SlotFormatCombinationId */
|
|
static int hf_nr_rrc_slotFormats = -1; /* T_slotFormats */
|
|
static int hf_nr_rrc_slotFormats_item = -1; /* INTEGER_0_255 */
|
|
static int hf_nr_rrc_sfi_RNTI = -1; /* RNTI_Value */
|
|
static int hf_nr_rrc_dci_PayloadSize_01 = -1; /* INTEGER_1_maxSFI_DCI_PayloadSize */
|
|
static int hf_nr_rrc_slotFormatCombToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell */
|
|
static int hf_nr_rrc_slotFormatCombToAddModList_item = -1; /* SlotFormatCombinationsPerCell */
|
|
static int hf_nr_rrc_slotFormatCombToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex */
|
|
static int hf_nr_rrc_slotFormatCombToReleaseList_item = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_measurementSlots = -1; /* BIT_STRING_SIZE_1_80 */
|
|
static int hf_nr_rrc_endSymbol = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_periodicity_01 = -1; /* T_periodicity_01 */
|
|
static int hf_nr_rrc_nrofHARQ_Processes_01 = -1; /* INTEGER_1_8 */
|
|
static int hf_nr_rrc_n1PUCCH_AN = -1; /* PUCCH_ResourceId */
|
|
static int hf_nr_rrc_srs_ResourceSetToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId */
|
|
static int hf_nr_rrc_srs_ResourceSetToReleaseList_item = -1; /* SRS_ResourceSetId */
|
|
static int hf_nr_rrc_srs_ResourceSetToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet */
|
|
static int hf_nr_rrc_srs_ResourceSetToAddModList_item = -1; /* SRS_ResourceSet */
|
|
static int hf_nr_rrc_srs_ResourceToReleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId */
|
|
static int hf_nr_rrc_srs_ResourceToReleaseList_item = -1; /* SRS_ResourceId */
|
|
static int hf_nr_rrc_srs_ResourceToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource */
|
|
static int hf_nr_rrc_srs_ResourceToAddModList_item = -1; /* SRS_Resource */
|
|
static int hf_nr_rrc_tpc_Accumulation_01 = -1; /* T_tpc_Accumulation_01 */
|
|
static int hf_nr_rrc_srs_ResourceSetId = -1; /* SRS_ResourceSetId */
|
|
static int hf_nr_rrc_srs_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId */
|
|
static int hf_nr_rrc_srs_ResourceIdList_item = -1; /* SRS_ResourceId */
|
|
static int hf_nr_rrc_resourceType_01 = -1; /* T_resourceType_01 */
|
|
static int hf_nr_rrc_aperiodic_01 = -1; /* T_aperiodic_01 */
|
|
static int hf_nr_rrc_aperiodicSRS_ResourceTrigger = -1; /* INTEGER_1_maxNrofSRS_TriggerStates_1 */
|
|
static int hf_nr_rrc_slotOffset = -1; /* INTEGER_1_32 */
|
|
static int hf_nr_rrc_semi_persistent = -1; /* T_semi_persistent */
|
|
static int hf_nr_rrc_associatedCSI_RS = -1; /* NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_periodic_01 = -1; /* T_periodic_01 */
|
|
static int hf_nr_rrc_usage = -1; /* T_usage */
|
|
static int hf_nr_rrc_p0_01 = -1; /* INTEGER_M202_24 */
|
|
static int hf_nr_rrc_pathlossReferenceRS = -1; /* T_pathlossReferenceRS */
|
|
static int hf_nr_rrc_srs_PowerControlAdjustmentStates = -1; /* T_srs_PowerControlAdjustmentStates */
|
|
static int hf_nr_rrc_srs_ResourceId = -1; /* SRS_ResourceId */
|
|
static int hf_nr_rrc_nrofSRS_Ports = -1; /* T_nrofSRS_Ports */
|
|
static int hf_nr_rrc_ptrs_PortIndex = -1; /* T_ptrs_PortIndex */
|
|
static int hf_nr_rrc_transmissionComb = -1; /* T_transmissionComb */
|
|
static int hf_nr_rrc_n2_01 = -1; /* T_n2 */
|
|
static int hf_nr_rrc_combOffset_n2 = -1; /* INTEGER_0_1 */
|
|
static int hf_nr_rrc_cyclicShift_n2 = -1; /* INTEGER_0_7 */
|
|
static int hf_nr_rrc_n4_01 = -1; /* T_n4 */
|
|
static int hf_nr_rrc_combOffset_n4 = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_cyclicShift_n4 = -1; /* INTEGER_0_11 */
|
|
static int hf_nr_rrc_resourceMapping_01 = -1; /* T_resourceMapping */
|
|
static int hf_nr_rrc_startPosition = -1; /* INTEGER_0_5 */
|
|
static int hf_nr_rrc_nrofSymbols_02 = -1; /* T_nrofSymbols */
|
|
static int hf_nr_rrc_repetitionFactor = -1; /* T_repetitionFactor */
|
|
static int hf_nr_rrc_freqDomainPosition = -1; /* INTEGER_0_67 */
|
|
static int hf_nr_rrc_freqDomainShift = -1; /* INTEGER_0_268 */
|
|
static int hf_nr_rrc_freqHopping = -1; /* T_freqHopping */
|
|
static int hf_nr_rrc_c_SRS = -1; /* INTEGER_0_63 */
|
|
static int hf_nr_rrc_b_SRS = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_b_hop = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_groupOrSequenceHopping = -1; /* T_groupOrSequenceHopping */
|
|
static int hf_nr_rrc_resourceType_02 = -1; /* T_resourceType_02 */
|
|
static int hf_nr_rrc_aperiodic_02 = -1; /* T_aperiodic_02 */
|
|
static int hf_nr_rrc_semi_persistent_01 = -1; /* T_semi_persistent_01 */
|
|
static int hf_nr_rrc_periodicityAndOffset_sp = -1; /* SRS_PeriodicityAndOffset */
|
|
static int hf_nr_rrc_periodic_02 = -1; /* T_periodic_02 */
|
|
static int hf_nr_rrc_periodicityAndOffset_p = -1; /* SRS_PeriodicityAndOffset */
|
|
static int hf_nr_rrc_sequenceId = -1; /* BIT_STRING_SIZE_10 */
|
|
static int hf_nr_rrc_spatialRelationInfo = -1; /* SRS_SpatialRelationInfo */
|
|
static int hf_nr_rrc_referenceSignal_03 = -1; /* T_referenceSignal_03 */
|
|
static int hf_nr_rrc_srs_01 = -1; /* T_srs_01 */
|
|
static int hf_nr_rrc_resourceId = -1; /* SRS_ResourceId */
|
|
static int hf_nr_rrc_sl32 = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_sl64 = -1; /* INTEGER_0_63 */
|
|
static int hf_nr_rrc_srs_SwitchFromServCellIndex = -1; /* INTEGER_0_31 */
|
|
static int hf_nr_rrc_srs_SwitchFromCarrier = -1; /* T_srs_SwitchFromCarrier */
|
|
static int hf_nr_rrc_srs_TPC_PDCCH_Group = -1; /* T_srs_TPC_PDCCH_Group */
|
|
static int hf_nr_rrc_typeA = -1; /* SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config */
|
|
static int hf_nr_rrc_typeA_item = -1; /* SRS_TPC_PDCCH_Config */
|
|
static int hf_nr_rrc_typeB = -1; /* SRS_TPC_PDCCH_Config */
|
|
static int hf_nr_rrc_monitoringCells = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex */
|
|
static int hf_nr_rrc_monitoringCells_item = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_srs_CC_SetIndexlist = -1; /* SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex */
|
|
static int hf_nr_rrc_srs_CC_SetIndexlist_item = -1; /* SRS_CC_SetIndex */
|
|
static int hf_nr_rrc_cc_SetIndex = -1; /* INTEGER_0_3 */
|
|
static int hf_nr_rrc_cc_IndexInOneCC_Set = -1; /* INTEGER_0_7 */
|
|
static int hf_nr_rrc_startingBitOfFormat2_3 = -1; /* INTEGER_1_31 */
|
|
static int hf_nr_rrc_fieldTypeFormat2_3 = -1; /* INTEGER_0_1 */
|
|
static int hf_nr_rrc_periodicityAndOffset_02 = -1; /* T_periodicityAndOffset_01 */
|
|
static int hf_nr_rrc_sf5 = -1; /* INTEGER_0_4 */
|
|
static int hf_nr_rrc_sf10 = -1; /* INTEGER_0_9 */
|
|
static int hf_nr_rrc_sf20 = -1; /* INTEGER_0_19 */
|
|
static int hf_nr_rrc_sf40 = -1; /* INTEGER_0_39 */
|
|
static int hf_nr_rrc_sf80 = -1; /* INTEGER_0_79 */
|
|
static int hf_nr_rrc_sf160 = -1; /* INTEGER_0_159 */
|
|
static int hf_nr_rrc_duration_02 = -1; /* T_duration */
|
|
static int hf_nr_rrc_pci_List = -1; /* SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId */
|
|
static int hf_nr_rrc_pci_List_item = -1; /* PhysCellId */
|
|
static int hf_nr_rrc_periodicity_02 = -1; /* T_periodicity_02 */
|
|
static int hf_nr_rrc_tci_StateId = -1; /* TCI_StateId */
|
|
static int hf_nr_rrc_qcl_Type1 = -1; /* QCL_Info */
|
|
static int hf_nr_rrc_qcl_Type2 = -1; /* QCL_Info */
|
|
static int hf_nr_rrc_cell = -1; /* ServCellIndex */
|
|
static int hf_nr_rrc_referenceSignal_04 = -1; /* T_referenceSignal_04 */
|
|
static int hf_nr_rrc_csi_rs = -1; /* NZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_qcl_Type = -1; /* T_qcl_Type */
|
|
static int hf_nr_rrc_referenceSubcarrierSpacing = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_pattern1_01 = -1; /* TDD_UL_DL_Pattern */
|
|
static int hf_nr_rrc_pattern2 = -1; /* TDD_UL_DL_Pattern */
|
|
static int hf_nr_rrc_dl_UL_TransmissionPeriodicity = -1; /* T_dl_UL_TransmissionPeriodicity */
|
|
static int hf_nr_rrc_nrofDownlinkSlots = -1; /* INTEGER_0_maxNrofSlots */
|
|
static int hf_nr_rrc_nrofDownlinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */
|
|
static int hf_nr_rrc_nrofUplinkSlots = -1; /* INTEGER_0_maxNrofSlots */
|
|
static int hf_nr_rrc_nrofUplinkSymbols = -1; /* INTEGER_0_maxNrofSymbols_1 */
|
|
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig */
|
|
static int hf_nr_rrc_slotSpecificConfigurationsToAddModList_item = -1; /* TDD_UL_DL_SlotConfig */
|
|
static int hf_nr_rrc_slotSpecificConfigurationsToreleaseList = -1; /* SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex */
|
|
static int hf_nr_rrc_slotSpecificConfigurationsToreleaseList_item = -1; /* TDD_UL_DL_SlotIndex */
|
|
static int hf_nr_rrc_slotIndex = -1; /* TDD_UL_DL_SlotIndex */
|
|
static int hf_nr_rrc_symbols = -1; /* T_symbols */
|
|
static int hf_nr_rrc_allDownlink = -1; /* NULL */
|
|
static int hf_nr_rrc_allUplink = -1; /* NULL */
|
|
static int hf_nr_rrc_explicit = -1; /* T_explicit */
|
|
static int hf_nr_rrc_nrofDownlinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */
|
|
static int hf_nr_rrc_nrofUplinkSymbols_01 = -1; /* INTEGER_1_maxNrofSymbols_1 */
|
|
static int hf_nr_rrc_frequencyInfoUL = -1; /* FrequencyInfoUL */
|
|
static int hf_nr_rrc_initialUplinkBWP_01 = -1; /* BWP_UplinkCommon */
|
|
static int hf_nr_rrc_timeAlignmentTimerCommon = -1; /* TimeAlignmentTimer */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceId = -1; /* ZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceSetId = -1; /* ZP_CSI_RS_ResourceSetId */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceIdList = -1; /* SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_zp_CSI_RS_ResourceIdList_item = -1; /* ZP_CSI_RS_ResourceId */
|
|
static int hf_nr_rrc_BandCombinationList_item = -1; /* BandCombination */
|
|
static int hf_nr_rrc_bandList = -1; /* SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters */
|
|
static int hf_nr_rrc_bandList_item = -1; /* BandParameters */
|
|
static int hf_nr_rrc_featureSetCombination = -1; /* FeatureSetCombinationId */
|
|
static int hf_nr_rrc_ca_ParametersEUTRA = -1; /* CA_ParametersEUTRA */
|
|
static int hf_nr_rrc_ca_ParametersNR = -1; /* CA_ParametersNR */
|
|
static int hf_nr_rrc_mrdc_Parameters = -1; /* MRDC_Parameters */
|
|
static int hf_nr_rrc_supportedBandwidthCombinationSet = -1; /* BIT_STRING_SIZE_1_32 */
|
|
static int hf_nr_rrc_eutra = -1; /* T_eutra */
|
|
static int hf_nr_rrc_bandEUTRA = -1; /* FreqBandIndicatorEUTRA */
|
|
static int hf_nr_rrc_ca_BandwidthClassDL_EUTRA = -1; /* CA_BandwidthClassEUTRA */
|
|
static int hf_nr_rrc_ca_BandwidthClassUL_EUTRA = -1; /* CA_BandwidthClassEUTRA */
|
|
static int hf_nr_rrc_nr = -1; /* T_nr */
|
|
static int hf_nr_rrc_bandNR = -1; /* FreqBandIndicatorNR */
|
|
static int hf_nr_rrc_ca_BandwidthClassDL_NR = -1; /* CA_BandwidthClassNR */
|
|
static int hf_nr_rrc_ca_BandwidthClassUL_NR = -1; /* CA_BandwidthClassNR */
|
|
static int hf_nr_rrc_multipleTimingAdvances = -1; /* T_multipleTimingAdvances */
|
|
static int hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH = -1; /* T_parallelTxSRS_PUCCH_PUSCH */
|
|
static int hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH = -1; /* T_parallelTxPRACH_SRS_PUCCH_PUSCH */
|
|
static int hf_nr_rrc_simultaneousRxTxInterBandCA = -1; /* T_simultaneousRxTxInterBandCA */
|
|
static int hf_nr_rrc_simultaneousRxTxSUL = -1; /* T_simultaneousRxTxSUL */
|
|
static int hf_nr_rrc_diffNumerologyAcrossPUCCH_Group = -1; /* T_diffNumerologyAcrossPUCCH_Group */
|
|
static int hf_nr_rrc_diffNumerologyWithinPUCCH_Group = -1; /* T_diffNumerologyWithinPUCCH_Group */
|
|
static int hf_nr_rrc_supportedNumberTAG = -1; /* T_supportedNumberTAG */
|
|
static int hf_nr_rrc_multipleTimingAdvance = -1; /* T_multipleTimingAdvance */
|
|
static int hf_nr_rrc_simultaneousRx_Tx = -1; /* T_simultaneousRx_Tx */
|
|
static int hf_nr_rrc_supportedNAICS_2CRS_AP = -1; /* BIT_STRING_SIZE_1_8 */
|
|
static int hf_nr_rrc_additionalRx_Tx_PerformanceReq = -1; /* T_additionalRx_Tx_PerformanceReq */
|
|
static int hf_nr_rrc_ue_CA_PowerClass_N = -1; /* T_ue_CA_PowerClass_N */
|
|
static int hf_nr_rrc_FeatureSetCombination_item = -1; /* FeatureSetsPerBand */
|
|
static int hf_nr_rrc_FeatureSetsPerBand_item = -1; /* FeatureSet */
|
|
static int hf_nr_rrc_eutra_01 = -1; /* T_eutra_01 */
|
|
static int hf_nr_rrc_downlinkSetEUTRA = -1; /* FeatureSetEUTRA_DownlinkId */
|
|
static int hf_nr_rrc_uplinkSetEUTRA = -1; /* FeatureSetEUTRA_UplinkId */
|
|
static int hf_nr_rrc_nr_01 = -1; /* T_nr_01 */
|
|
static int hf_nr_rrc_downlinkSetNR = -1; /* FeatureSetDownlinkId */
|
|
static int hf_nr_rrc_uplinkSetNR = -1; /* FeatureSetUplinkId */
|
|
static int hf_nr_rrc_featureSetListPerDownlinkCC = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id */
|
|
static int hf_nr_rrc_featureSetListPerDownlinkCC_item = -1; /* FeatureSetDownlinkPerCC_Id */
|
|
static int hf_nr_rrc_intraBandFreqSeparationDL = -1; /* FreqSeparationClass */
|
|
static int hf_nr_rrc_scalingFactor = -1; /* T_scalingFactor */
|
|
static int hf_nr_rrc_crossCarrierSchedulingDL_OtherSCS = -1; /* T_crossCarrierSchedulingDL_OtherSCS */
|
|
static int hf_nr_rrc_scellWithoutSSB = -1; /* T_scellWithoutSSB */
|
|
static int hf_nr_rrc_csi_RS_MeasSCellWithoutSSB = -1; /* T_csi_RS_MeasSCellWithoutSSB */
|
|
static int hf_nr_rrc_srs_AssocCSI_RS = -1; /* T_srs_AssocCSI_RS */
|
|
static int hf_nr_rrc_type1_3_CSS = -1; /* T_type1_3_CSS */
|
|
static int hf_nr_rrc_pdcchMonitoringAnyOccasions = -1; /* T_pdcchMonitoringAnyOccasions */
|
|
static int hf_nr_rrc_pdcchMonitoringAnyOccasionsWithSpanGap = -1; /* T_pdcchMonitoringAnyOccasionsWithSpanGap */
|
|
static int hf_nr_rrc_ue_SpecificUL_DL_Assignment = -1; /* T_ue_SpecificUL_DL_Assignment */
|
|
static int hf_nr_rrc_searchSpaceSharingCA_DL = -1; /* T_searchSpaceSharingCA_DL */
|
|
static int hf_nr_rrc_timeDurationForQCL = -1; /* T_timeDurationForQCL */
|
|
static int hf_nr_rrc_scs_60kHz = -1; /* T_scs_60kHz */
|
|
static int hf_nr_rrc_sch_120kHz = -1; /* T_sch_120kHz */
|
|
static int hf_nr_rrc_pdsch_DifferentTB_PerSlot = -1; /* T_pdsch_DifferentTB_PerSlot */
|
|
static int hf_nr_rrc_scs_15kHz = -1; /* T_scs_15kHz */
|
|
static int hf_nr_rrc_scs_30kHz = -1; /* T_scs_30kHz */
|
|
static int hf_nr_rrc_scs_60kHz_01 = -1; /* T_scs_60kHz_01 */
|
|
static int hf_nr_rrc_scs_120kHz = -1; /* T_scs_120kHz */
|
|
static int hf_nr_rrc_csi_RS_IM_ReceptionForFeedback = -1; /* CSI_RS_IM_ReceptionForFeedback */
|
|
static int hf_nr_rrc_typeI_SinglePanelCodebookList = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook */
|
|
static int hf_nr_rrc_typeI_SinglePanelCodebookList_item = -1; /* TypeI_SinglePanelCodebook */
|
|
static int hf_nr_rrc_typeI_MultiPanelCodebookList = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook */
|
|
static int hf_nr_rrc_typeI_MultiPanelCodebookList_item = -1; /* TypeI_MultiPanelCodebook */
|
|
static int hf_nr_rrc_typeII_CodebookList = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook */
|
|
static int hf_nr_rrc_typeII_CodebookList_item = -1; /* TypeII_Codebook */
|
|
static int hf_nr_rrc_typeII_CodebookPortSelectionList = -1; /* SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection */
|
|
static int hf_nr_rrc_typeII_CodebookPortSelectionList_item = -1; /* TypeII_CodebookPortSelection */
|
|
static int hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC = -1; /* INTEGER_1_32 */
|
|
static int hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC = -1; /* T_maxNumberPortsAcrossNZP_CSI_RS_PerCC */
|
|
static int hf_nr_rrc_maxNumberCS_IM_PerCC = -1; /* T_maxNumberCS_IM_PerCC */
|
|
static int hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC = -1; /* T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC */
|
|
static int hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC = -1; /* T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC */
|
|
static int hf_nr_rrc_maxNumberTxPortsPerResource = -1; /* T_maxNumberTxPortsPerResource */
|
|
static int hf_nr_rrc_maxNumberResources = -1; /* INTEGER_1_64 */
|
|
static int hf_nr_rrc_totalNumberTxPorts = -1; /* INTEGER_2_256 */
|
|
static int hf_nr_rrc_supportedCodebookMode = -1; /* T_supportedCodebookMode */
|
|
static int hf_nr_rrc_maxNumberCSI_RS_PerResourceSet = -1; /* INTEGER_1_8 */
|
|
static int hf_nr_rrc_maxNumberTxPortsPerResource_01 = -1; /* T_maxNumberTxPortsPerResource_01 */
|
|
static int hf_nr_rrc_supportedCodebookMode_01 = -1; /* T_supportedCodebookMode_01 */
|
|
static int hf_nr_rrc_supportedNumberPanels = -1; /* T_supportedNumberPanels */
|
|
static int hf_nr_rrc_maxNumberTxPortsPerResource_02 = -1; /* T_maxNumberTxPortsPerResource_02 */
|
|
static int hf_nr_rrc_parameterLx = -1; /* INTEGER_2_4 */
|
|
static int hf_nr_rrc_amplitudeScalingType = -1; /* T_amplitudeScalingType */
|
|
static int hf_nr_rrc_amplitudeSubsetRestriction = -1; /* T_amplitudeSubsetRestriction */
|
|
static int hf_nr_rrc_maxNumberTxPortsPerResource_03 = -1; /* T_maxNumberTxPortsPerResource_03 */
|
|
static int hf_nr_rrc_amplitudeScalingType_01 = -1; /* T_amplitudeScalingType_01 */
|
|
static int hf_nr_rrc_supportedSubcarrierSpacingDL = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_supportedBandwidthDL = -1; /* SupportedBandwidth */
|
|
static int hf_nr_rrc_channelBW_90mhz = -1; /* T_channelBW_90mhz */
|
|
static int hf_nr_rrc_maxNumberMIMO_LayersPDSCH = -1; /* MIMO_LayersDL */
|
|
static int hf_nr_rrc_supportedModulationOrderDL = -1; /* ModulationOrder */
|
|
static int hf_nr_rrc_featureSetListPerUplinkCC = -1; /* SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id */
|
|
static int hf_nr_rrc_featureSetListPerUplinkCC_item = -1; /* FeatureSetUplinkPerCC_Id */
|
|
static int hf_nr_rrc_scalingFactor_01 = -1; /* T_scalingFactor_01 */
|
|
static int hf_nr_rrc_crossCarrierSchedulingUL_OtherSCS = -1; /* T_crossCarrierSchedulingUL_OtherSCS */
|
|
static int hf_nr_rrc_intraBandFreqSeparationUL = -1; /* FreqSeparationClass */
|
|
static int hf_nr_rrc_searchSpaceSharingCA_UL = -1; /* T_searchSpaceSharingCA_UL */
|
|
static int hf_nr_rrc_srs_TxSwitch = -1; /* SRS_TxSwitch */
|
|
static int hf_nr_rrc_supportedSRS_Resources = -1; /* SRS_Resources */
|
|
static int hf_nr_rrc_twoPUCCH_Group = -1; /* T_twoPUCCH_Group */
|
|
static int hf_nr_rrc_dynamicSwitchSUL = -1; /* T_dynamicSwitchSUL */
|
|
static int hf_nr_rrc_pusch_DifferentTB_PerSlot = -1; /* T_pusch_DifferentTB_PerSlot */
|
|
static int hf_nr_rrc_scs_15kHz_01 = -1; /* T_scs_15kHz_01 */
|
|
static int hf_nr_rrc_scs_30kHz_01 = -1; /* T_scs_30kHz_01 */
|
|
static int hf_nr_rrc_scs_60kHz_02 = -1; /* T_scs_60kHz_02 */
|
|
static int hf_nr_rrc_scs_120kHz_01 = -1; /* T_scs_120kHz_01 */
|
|
static int hf_nr_rrc_csi_ReportFramework = -1; /* CSI_ReportFramework */
|
|
static int hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP = -1; /* INTEGER_1_4 */
|
|
static int hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP = -1; /* INTEGER_1_4 */
|
|
static int hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP = -1; /* INTEGER_0_4 */
|
|
static int hf_nr_rrc_simultaneousCSI_ReportsAllCC = -1; /* INTEGER_5_32 */
|
|
static int hf_nr_rrc_supportedSubcarrierSpacingUL = -1; /* SubcarrierSpacing */
|
|
static int hf_nr_rrc_supportedBandwidthUL = -1; /* SupportedBandwidth */
|
|
static int hf_nr_rrc_channelBW_90mhz_01 = -1; /* T_channelBW_90mhz_01 */
|
|
static int hf_nr_rrc_mimo_CB_PUSCH = -1; /* T_mimo_CB_PUSCH */
|
|
static int hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH = -1; /* MIMO_LayersUL */
|
|
static int hf_nr_rrc_maxNumberSRS_ResourcePerSet = -1; /* INTEGER_1_2 */
|
|
static int hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH = -1; /* MIMO_LayersUL */
|
|
static int hf_nr_rrc_supportedModulationOrderUL = -1; /* ModulationOrder */
|
|
static int hf_nr_rrc_simultaneousTxSUL_NonSUL = -1; /* T_simultaneousTxSUL_NonSUL */
|
|
static int hf_nr_rrc_featureSetsDownlink = -1; /* SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink */
|
|
static int hf_nr_rrc_featureSetsDownlink_item = -1; /* FeatureSetDownlink */
|
|
static int hf_nr_rrc_featureSetsDownlinkPerCC = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC */
|
|
static int hf_nr_rrc_featureSetsDownlinkPerCC_item = -1; /* FeatureSetDownlinkPerCC */
|
|
static int hf_nr_rrc_featureSetsUplink = -1; /* SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink */
|
|
static int hf_nr_rrc_featureSetsUplink_item = -1; /* FeatureSetUplink */
|
|
static int hf_nr_rrc_featureSetsUplinkPerCC = -1; /* SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC */
|
|
static int hf_nr_rrc_featureSetsUplinkPerCC_item = -1; /* FeatureSetUplinkPerCC */
|
|
static int hf_nr_rrc_FreqBandList_item = -1; /* FreqBandInformation */
|
|
static int hf_nr_rrc_bandInformationEUTRA = -1; /* FreqBandInformationEUTRA */
|
|
static int hf_nr_rrc_bandInformationNR = -1; /* FreqBandInformationNR */
|
|
static int hf_nr_rrc_maxBandwidthRequestedDL = -1; /* AggregatedBandwith */
|
|
static int hf_nr_rrc_maxBandwidthRequestedUL = -1; /* AggregatedBandwith */
|
|
static int hf_nr_rrc_maxCarriersRequestedDL = -1; /* INTEGER_1_maxNrofServingCells */
|
|
static int hf_nr_rrc_maxCarriersRequestedUL = -1; /* INTEGER_1_maxNrofServingCells */
|
|
static int hf_nr_rrc_singleUL_Transmission = -1; /* T_singleUL_Transmission */
|
|
static int hf_nr_rrc_dynamicPowerSharing = -1; /* T_dynamicPowerSharing */
|
|
static int hf_nr_rrc_tdm_Pattern = -1; /* T_tdm_Pattern */
|
|
static int hf_nr_rrc_ul_SharingEUTRA_NR = -1; /* T_ul_SharingEUTRA_NR */
|
|
static int hf_nr_rrc_ul_SwitchingTimeEUTRA_NR = -1; /* T_ul_SwitchingTimeEUTRA_NR */
|
|
static int hf_nr_rrc_simultaneousRxTxInterBandENDC = -1; /* T_simultaneousRxTxInterBandENDC */
|
|
static int hf_nr_rrc_asyncIntraBandENDC = -1; /* T_asyncIntraBandENDC */
|
|
static int hf_nr_rrc_fr1 = -1; /* T_fr1 */
|
|
static int hf_nr_rrc_fr2 = -1; /* T_fr2 */
|
|
static int hf_nr_rrc_UE_CapabilityRAT_ContainerList_item = -1; /* UE_CapabilityRAT_Container */
|
|
static int hf_nr_rrc_rat_Type = -1; /* RAT_Type */
|
|
static int hf_nr_rrc_ue_CapabilityRAT_Container = -1; /* T_ue_CapabilityRAT_Container */
|
|
static int hf_nr_rrc_measParametersMRDC = -1; /* MeasParametersMRDC */
|
|
static int hf_nr_rrc_rf_ParametersMRDC = -1; /* RF_ParametersMRDC */
|
|
static int hf_nr_rrc_generalParametersMRDC = -1; /* GeneralParametersMRDC_XDD_Diff */
|
|
static int hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
|
|
static int hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddXDD_Mode */
|
|
static int hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
|
|
static int hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities = -1; /* UE_MRDC_CapabilityAddFRX_Mode */
|
|
static int hf_nr_rrc_featureSetCombinations = -1; /* SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination */
|
|
static int hf_nr_rrc_featureSetCombinations_item = -1; /* FeatureSetCombination */
|
|
static int hf_nr_rrc_nonCriticalExtension_09 = -1; /* T_nonCriticalExtension_09 */
|
|
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 */
|
|
static int hf_nr_rrc_splitSRB_WithOneUL_Path = -1; /* T_splitSRB_WithOneUL_Path */
|
|
static int hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG = -1; /* T_splitDRB_withUL_Both_MCG_SCG */
|
|
static int hf_nr_rrc_srb3 = -1; /* T_srb3 */
|
|
static int hf_nr_rrc_supportedBandCombinationList = -1; /* BandCombinationList */
|
|
static int hf_nr_rrc_appliedFreqBandListFilter = -1; /* FreqBandList */
|
|
static int hf_nr_rrc_measParametersMRDC_Common = -1; /* MeasParametersMRDC_Common */
|
|
static int hf_nr_rrc_independentGapConfig = -1; /* T_independentGapConfig */
|
|
static int hf_nr_rrc_sftd_MeasPSCell = -1; /* T_sftd_MeasPSCell */
|
|
static int hf_nr_rrc_sftd_MeasNR_Cell = -1; /* T_sftd_MeasNR_Cell */
|
|
static int hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology = -1; /* T_simultaneousRxDataSSB_DiffNumerology */
|
|
static int hf_nr_rrc_accessStratumRelease = -1; /* AccessStratumRelease */
|
|
static int hf_nr_rrc_pdcp_Parameters = -1; /* PDCP_Parameters */
|
|
static int hf_nr_rrc_rlc_Parameters = -1; /* RLC_Parameters */
|
|
static int hf_nr_rrc_mac_Parameters = -1; /* MAC_Parameters */
|
|
static int hf_nr_rrc_phy_Parameters = -1; /* Phy_Parameters */
|
|
static int hf_nr_rrc_rf_Parameters = -1; /* RF_Parameters */
|
|
static int hf_nr_rrc_measParameters = -1; /* MeasParameters */
|
|
static int hf_nr_rrc_fdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
|
|
static int hf_nr_rrc_tdd_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddXDD_Mode */
|
|
static int hf_nr_rrc_fr1_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
|
|
static int hf_nr_rrc_fr2_Add_UE_NR_Capabilities = -1; /* UE_NR_CapabilityAddFRX_Mode */
|
|
static int hf_nr_rrc_featureSets = -1; /* FeatureSets */
|
|
static int hf_nr_rrc_nonCriticalExtension_10 = -1; /* T_nonCriticalExtension_10 */
|
|
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 */
|
|
static int hf_nr_rrc_phy_ParametersFRX_Diff = -1; /* Phy_ParametersFRX_Diff */
|
|
static int hf_nr_rrc_measParametersFRX_Diff = -1; /* MeasParametersFRX_Diff */
|
|
static int hf_nr_rrc_phy_ParametersCommon = -1; /* Phy_ParametersCommon */
|
|
static int hf_nr_rrc_phy_ParametersFR1 = -1; /* Phy_ParametersFR1 */
|
|
static int hf_nr_rrc_phy_ParametersFR2 = -1; /* Phy_ParametersFR2 */
|
|
static int hf_nr_rrc_csi_RS_CFRA_ForHO = -1; /* T_csi_RS_CFRA_ForHO */
|
|
static int hf_nr_rrc_dynamicPRB_BundlingDL = -1; /* T_dynamicPRB_BundlingDL */
|
|
static int hf_nr_rrc_sp_CSI_ReportPUCCH = -1; /* T_sp_CSI_ReportPUCCH */
|
|
static int hf_nr_rrc_sp_CSI_ReportPUSCH = -1; /* T_sp_CSI_ReportPUSCH */
|
|
static int hf_nr_rrc_nzp_CSI_RS_IntefMgmt = -1; /* T_nzp_CSI_RS_IntefMgmt */
|
|
static int hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH = -1; /* T_type2_SP_CSI_Feedback_LongPUCCH */
|
|
static int hf_nr_rrc_precoderGranularityCORESET = -1; /* T_precoderGranularityCORESET */
|
|
static int hf_nr_rrc_dynamicHARQ_ACK_Codebook = -1; /* T_dynamicHARQ_ACK_Codebook */
|
|
static int hf_nr_rrc_semiStaticHARQ_ACK_Codebook = -1; /* T_semiStaticHARQ_ACK_Codebook */
|
|
static int hf_nr_rrc_spatialBundlingHARQ_ACK = -1; /* T_spatialBundlingHARQ_ACK */
|
|
static int hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI = -1; /* T_dynamicBetaOffsetInd_HARQ_ACK_CSI */
|
|
static int hf_nr_rrc_pucch_Repetition_F1_3_4 = -1; /* T_pucch_Repetition_F1_3_4 */
|
|
static int hf_nr_rrc_ra_Type0_PUSCH = -1; /* T_ra_Type0_PUSCH */
|
|
static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH = -1; /* T_dynamicSwitchRA_Type0_1_PDSCH */
|
|
static int hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH = -1; /* T_dynamicSwitchRA_Type0_1_PUSCH */
|
|
static int hf_nr_rrc_pdsch_MappingTypeA = -1; /* T_pdsch_MappingTypeA */
|
|
static int hf_nr_rrc_pdsch_MappingTypeB = -1; /* T_pdsch_MappingTypeB */
|
|
static int hf_nr_rrc_interleavingVRB_ToPRB_PDSCH = -1; /* T_interleavingVRB_ToPRB_PDSCH */
|
|
static int hf_nr_rrc_interSlotFreqHopping_PUSCH = -1; /* T_interSlotFreqHopping_PUSCH */
|
|
static int hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots = -1; /* T_type1_PUSCH_RepetitionMultiSlots */
|
|
static int hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots = -1; /* T_type2_PUSCH_RepetitionMultiSlots */
|
|
static int hf_nr_rrc_pusch_RepetitionMultiSlots = -1; /* T_pusch_RepetitionMultiSlots */
|
|
static int hf_nr_rrc_pdsch_RepetitionMultiSlots = -1; /* T_pdsch_RepetitionMultiSlots */
|
|
static int hf_nr_rrc_downlinkSPS = -1; /* T_downlinkSPS */
|
|
static int hf_nr_rrc_configuredUL_GrantType1 = -1; /* T_configuredUL_GrantType1 */
|
|
static int hf_nr_rrc_configuredUL_GrantType2 = -1; /* T_configuredUL_GrantType2 */
|
|
static int hf_nr_rrc_pre_EmptIndication_DL = -1; /* T_pre_EmptIndication_DL */
|
|
static int hf_nr_rrc_cbg_TransIndication_DL = -1; /* T_cbg_TransIndication_DL */
|
|
static int hf_nr_rrc_cbg_TransIndication_UL = -1; /* T_cbg_TransIndication_UL */
|
|
static int hf_nr_rrc_cbg_FlushIndication_DL = -1; /* T_cbg_FlushIndication_DL */
|
|
static int hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL = -1; /* T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL */
|
|
static int hf_nr_rrc_rateMatchingResrcSetSemi_Static = -1; /* T_rateMatchingResrcSetSemi_Static */
|
|
static int hf_nr_rrc_rateMatchingResrcSetDynamic = -1; /* T_rateMatchingResrcSetDynamic */
|
|
static int hf_nr_rrc_bwp_SwitchingDelay = -1; /* T_bwp_SwitchingDelay */
|
|
static int hf_nr_rrc_dynamicSFI = -1; /* T_dynamicSFI */
|
|
static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols = -1; /* T_twoPUCCH_F0_2_ConsecSymbols */
|
|
static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH = -1; /* T_twoDifferentTPC_Loop_PUSCH */
|
|
static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH = -1; /* T_twoDifferentTPC_Loop_PUCCH */
|
|
static int hf_nr_rrc_dynamicSFI_01 = -1; /* T_dynamicSFI_01 */
|
|
static int hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_twoFL_DMRS = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_supportedDMRS_TypeDL = -1; /* T_supportedDMRS_TypeDL */
|
|
static int hf_nr_rrc_supportedDMRS_TypeUL = -1; /* T_supportedDMRS_TypeUL */
|
|
static int hf_nr_rrc_semiOpenLoopCSI = -1; /* T_semiOpenLoopCSI */
|
|
static int hf_nr_rrc_csi_ReportWithoutPMI = -1; /* T_csi_ReportWithoutPMI */
|
|
static int hf_nr_rrc_csi_ReportWithoutCQI = -1; /* T_csi_ReportWithoutCQI */
|
|
static int hf_nr_rrc_onePortsPTRS = -1; /* BIT_STRING_SIZE_2 */
|
|
static int hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01 = -1; /* T_twoPUCCH_F0_2_ConsecSymbols_01 */
|
|
static int hf_nr_rrc_pucch_F2_WithFH = -1; /* T_pucch_F2_WithFH */
|
|
static int hf_nr_rrc_pucch_F3_WithFH = -1; /* T_pucch_F3_WithFH */
|
|
static int hf_nr_rrc_pucch_F4_WithFH = -1; /* T_pucch_F4_WithFH */
|
|
static int hf_nr_rrc_freqHoppingPUCCH_F0_2 = -1; /* T_freqHoppingPUCCH_F0_2 */
|
|
static int hf_nr_rrc_freqHoppingPUCCH_F1_3_4 = -1; /* T_freqHoppingPUCCH_F1_3_4 */
|
|
static int hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH = -1; /* T_mux_SR_HARQ_ACK_CSI_PUCCH */
|
|
static int hf_nr_rrc_uci_CodeBlockSegmentation = -1; /* T_uci_CodeBlockSegmentation */
|
|
static int hf_nr_rrc_onePUCCH_LongAndShortFormat = -1; /* T_onePUCCH_LongAndShortFormat */
|
|
static int hf_nr_rrc_twoPUCCH_AnyOthersInSlot = -1; /* T_twoPUCCH_AnyOthersInSlot */
|
|
static int hf_nr_rrc_intraSlotFreqHopping_PUSCH = -1; /* T_intraSlotFreqHopping_PUSCH */
|
|
static int hf_nr_rrc_pusch_LBRM = -1; /* T_pusch_LBRM */
|
|
static int hf_nr_rrc_pdcch_BlindDetectionCA = -1; /* T_pdcch_BlindDetectionCA */
|
|
static int hf_nr_rrc_tpc_PUSCH_RNTI_01 = -1; /* T_tpc_PUSCH_RNTI */
|
|
static int hf_nr_rrc_tpc_PUCCH_RNTI_01 = -1; /* T_tpc_PUCCH_RNTI */
|
|
static int hf_nr_rrc_tpc_SRS_RNTI_01 = -1; /* T_tpc_SRS_RNTI */
|
|
static int hf_nr_rrc_absoluteTPC_Command = -1; /* T_absoluteTPC_Command */
|
|
static int hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01 = -1; /* T_twoDifferentTPC_Loop_PUSCH_01 */
|
|
static int hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01 = -1; /* T_twoDifferentTPC_Loop_PUCCH_01 */
|
|
static int hf_nr_rrc_pusch_HalfPi_BPSK = -1; /* T_pusch_HalfPi_BPSK */
|
|
static int hf_nr_rrc_pucch_F3_4_HalfPi_BPSK = -1; /* T_pucch_F3_4_HalfPi_BPSK */
|
|
static int hf_nr_rrc_almostContiguousCP_OFDM_UL = -1; /* T_almostContiguousCP_OFDM_UL */
|
|
static int hf_nr_rrc_sp_CSI_RS = -1; /* T_sp_CSI_RS */
|
|
static int hf_nr_rrc_sp_CSI_IM = -1; /* T_sp_CSI_IM */
|
|
static int hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot = -1; /* T_tdd_MultiDL_UL_SwitchPerSlot */
|
|
static int hf_nr_rrc_multipleCORESET = -1; /* T_multipleCORESET */
|
|
static int hf_nr_rrc_pdcchMonitoringSingleOccasion = -1; /* T_pdcchMonitoringSingleOccasion */
|
|
static int hf_nr_rrc_scs_60kHz_03 = -1; /* T_scs_60kHz_03 */
|
|
static int hf_nr_rrc_pdsch_256QAM_FR1 = -1; /* T_pdsch_256QAM_FR1 */
|
|
static int hf_nr_rrc_pdsch_RE_MappingFR1 = -1; /* T_pdsch_RE_MappingFR1 */
|
|
static int hf_nr_rrc_calibrationGapPA = -1; /* T_calibrationGapPA */
|
|
static int hf_nr_rrc_pdsch_RE_MappingFR2 = -1; /* T_pdsch_RE_MappingFR2 */
|
|
static int hf_nr_rrc_supportedBandListNR = -1; /* SEQUENCE_SIZE_1_maxBands_OF_BandNR */
|
|
static int hf_nr_rrc_supportedBandListNR_item = -1; /* BandNR */
|
|
static int hf_nr_rrc_modifiedMPR_Behaviour = -1; /* BIT_STRING_SIZE_8 */
|
|
static int hf_nr_rrc_mimo_ParametersPerBand = -1; /* MIMO_ParametersPerBand */
|
|
static int hf_nr_rrc_extendedCP = -1; /* T_extendedCP */
|
|
static int hf_nr_rrc_multipleTCI = -1; /* T_multipleTCI */
|
|
static int hf_nr_rrc_bwp_WithoutRestriction = -1; /* T_bwp_WithoutRestriction */
|
|
static int hf_nr_rrc_bwp_SameNumerology = -1; /* T_bwp_SameNumerology */
|
|
static int hf_nr_rrc_bwp_DiffNumerology = -1; /* T_bwp_DiffNumerology */
|
|
static int hf_nr_rrc_crossCarrierSchedulingDL_SameSCS = -1; /* T_crossCarrierSchedulingDL_SameSCS */
|
|
static int hf_nr_rrc_crossCarrierSchedulingUL_SameSCS = -1; /* T_crossCarrierSchedulingUL_SameSCS */
|
|
static int hf_nr_rrc_pdsch_256QAM_FR2 = -1; /* T_pdsch_256QAM_FR2 */
|
|
static int hf_nr_rrc_pusch_256QAM = -1; /* T_pusch_256QAM */
|
|
static int hf_nr_rrc_ue_PowerClass = -1; /* T_ue_PowerClass */
|
|
static int hf_nr_rrc_rateMatchingLTE_CRS = -1; /* T_rateMatchingLTE_CRS */
|
|
static int hf_nr_rrc_tci_StatePDSCH = -1; /* T_tci_StatePDSCH */
|
|
static int hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC = -1; /* T_maxNumberConfiguredTCIstatesPerCC */
|
|
static int hf_nr_rrc_maxNumberActiveTCI_PerBWP = -1; /* T_maxNumberActiveTCI_PerBWP */
|
|
static int hf_nr_rrc_additionalActiveTCI_StatePDCCH = -1; /* T_additionalActiveTCI_StatePDCCH */
|
|
static int hf_nr_rrc_pusch_TransCoherence = -1; /* T_pusch_TransCoherence */
|
|
static int hf_nr_rrc_beamCorrespondence = -1; /* T_beamCorrespondence */
|
|
static int hf_nr_rrc_periodicBeamReport = -1; /* T_periodicBeamReport */
|
|
static int hf_nr_rrc_aperiodicBeamReport = -1; /* T_aperiodicBeamReport */
|
|
static int hf_nr_rrc_sp_BeamReportPUCCH = -1; /* T_sp_BeamReportPUCCH */
|
|
static int hf_nr_rrc_sp_BeamReportPUSCH = -1; /* T_sp_BeamReportPUSCH */
|
|
static int hf_nr_rrc_beamManagementSSB_CSI_RS = -1; /* BeamManagementSSB_CSI_RS */
|
|
static int hf_nr_rrc_maxNumberRxBeam = -1; /* INTEGER_2_8 */
|
|
static int hf_nr_rrc_maxNumberRxTxBeamSwitchDL = -1; /* T_maxNumberRxTxBeamSwitchDL */
|
|
static int hf_nr_rrc_scs_15kHz_02 = -1; /* T_scs_15kHz_02 */
|
|
static int hf_nr_rrc_scs_30kHz_02 = -1; /* T_scs_30kHz_02 */
|
|
static int hf_nr_rrc_scs_60kHz_04 = -1; /* T_scs_60kHz_04 */
|
|
static int hf_nr_rrc_scs_120kHz_02 = -1; /* T_scs_120kHz_02 */
|
|
static int hf_nr_rrc_scs_240kHz = -1; /* T_scs_240kHz */
|
|
static int hf_nr_rrc_maxNumberNonGroupBeamReporting = -1; /* T_maxNumberNonGroupBeamReporting */
|
|
static int hf_nr_rrc_groupBeamReporting = -1; /* T_groupBeamReporting */
|
|
static int hf_nr_rrc_uplinkBeamManagement = -1; /* T_uplinkBeamManagement */
|
|
static int hf_nr_rrc_maxNumberSRS_ResourcePerSet_01 = -1; /* T_maxNumberSRS_ResourcePerSet */
|
|
static int hf_nr_rrc_maxNumberSRS_ResourceSet = -1; /* INTEGER_1_8 */
|
|
static int hf_nr_rrc_maxNumberCSI_RS_BFR = -1; /* INTEGER_1_64 */
|
|
static int hf_nr_rrc_maxNumberSSB_BFR = -1; /* INTEGER_1_64 */
|
|
static int hf_nr_rrc_maxNumberCSI_RS_SSB_BFR = -1; /* INTEGER_1_256 */
|
|
static int hf_nr_rrc_twoPortsPTRS_DL = -1; /* T_twoPortsPTRS_DL */
|
|
static int hf_nr_rrc_twoPortsPTRS_UL = -1; /* T_twoPortsPTRS_UL */
|
|
static int hf_nr_rrc_maxNumberSimultaneousSRS_PerCC = -1; /* INTEGER_1_4 */
|
|
static int hf_nr_rrc_beamReportTiming = -1; /* T_beamReportTiming */
|
|
static int hf_nr_rrc_scs_15kHz_03 = -1; /* T_scs_15kHz_03 */
|
|
static int hf_nr_rrc_scs_30kHz_03 = -1; /* T_scs_30kHz_03 */
|
|
static int hf_nr_rrc_scs_60kHz_05 = -1; /* T_scs_60kHz_05 */
|
|
static int hf_nr_rrc_scs_120kHz_03 = -1; /* T_scs_120kHz_03 */
|
|
static int hf_nr_rrc_ptrs_DensityRecommendationSetDL = -1; /* T_ptrs_DensityRecommendationSetDL */
|
|
static int hf_nr_rrc_scs_15kHz_04 = -1; /* PTRS_DensityRecommendationDL */
|
|
static int hf_nr_rrc_scs_30kHz_04 = -1; /* PTRS_DensityRecommendationDL */
|
|
static int hf_nr_rrc_scs_60kHz_06 = -1; /* PTRS_DensityRecommendationDL */
|
|
static int hf_nr_rrc_scs_120kHz_04 = -1; /* PTRS_DensityRecommendationDL */
|
|
static int hf_nr_rrc_ptrs_DensityRecommendationSetUL = -1; /* T_ptrs_DensityRecommendationSetUL */
|
|
static int hf_nr_rrc_scs_15kHz_05 = -1; /* PTRS_DensityRecommendationUL */
|
|
static int hf_nr_rrc_scs_30kHz_05 = -1; /* PTRS_DensityRecommendationUL */
|
|
static int hf_nr_rrc_scs_60kHz_07 = -1; /* PTRS_DensityRecommendationUL */
|
|
static int hf_nr_rrc_scs_120kHz_05 = -1; /* PTRS_DensityRecommendationUL */
|
|
static int hf_nr_rrc_csi_RS_ForTracking = -1; /* CSI_RS_ForTracking */
|
|
static int hf_nr_rrc_aperiodicTRS = -1; /* T_aperiodicTRS */
|
|
static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceOneTx */
|
|
static int hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx = -1; /* T_maxNumberSSB_CSI_RS_ResourceTwoTx */
|
|
static int hf_nr_rrc_supportedCSI_RS_Density = -1; /* T_supportedCSI_RS_Density */
|
|
static int hf_nr_rrc_burstLength = -1; /* INTEGER_1_2 */
|
|
static int hf_nr_rrc_maxSimultaneousResourceSetsPerCC = -1; /* INTEGER_1_8 */
|
|
static int hf_nr_rrc_maxConfiguredResourceSetsPerCC = -1; /* INTEGER_1_64 */
|
|
static int hf_nr_rrc_maxConfiguredResourceSetsAllCC = -1; /* INTEGER_1_128 */
|
|
static int hf_nr_rrc_frequencyDensity1 = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_frequencyDensity2 = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_timeDensity1 = -1; /* INTEGER_0_29 */
|
|
static int hf_nr_rrc_timeDensity2 = -1; /* INTEGER_0_29 */
|
|
static int hf_nr_rrc_timeDensity3 = -1; /* INTEGER_0_29 */
|
|
static int hf_nr_rrc_sampleDensity1 = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_sampleDensity2 = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_sampleDensity3 = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_sampleDensity4 = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_sampleDensity5 = -1; /* INTEGER_1_276 */
|
|
static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP = -1; /* T_maxNumberAperiodicSRS_PerBWP */
|
|
static int hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
|
|
static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP = -1; /* T_maxNumberPeriodicSRS_PerBWP */
|
|
static int hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
|
|
static int hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP = -1; /* T_maxNumberSemiPersitentSRS_PerBWP */
|
|
static int hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot = -1; /* INTEGER_1_6 */
|
|
static int hf_nr_rrc_maxNumberSRS_Ports_PerResource = -1; /* T_maxNumberSRS_Ports_PerResource */
|
|
static int hf_nr_rrc_supportedSRS_TxPortSwitch = -1; /* T_supportedSRS_TxPortSwitch */
|
|
static int hf_nr_rrc_txSwitchImpactToRx = -1; /* T_txSwitchImpactToRx */
|
|
static int hf_nr_rrc_supportedROHC_Profiles = -1; /* T_supportedROHC_Profiles */
|
|
static int hf_nr_rrc_profile0x0000 = -1; /* BOOLEAN */
|
|
static int hf_nr_rrc_maxNumberROHC_ContextSessions = -1; /* T_maxNumberROHC_ContextSessions */
|
|
static int hf_nr_rrc_uplinkOnlyROHC_Profiles = -1; /* T_uplinkOnlyROHC_Profiles */
|
|
static int hf_nr_rrc_continueROHC_Context = -1; /* T_continueROHC_Context */
|
|
static int hf_nr_rrc_outOfOrderDelivery_01 = -1; /* T_outOfOrderDelivery_01 */
|
|
static int hf_nr_rrc_shortSN = -1; /* T_shortSN */
|
|
static int hf_nr_rrc_am_WithShortSN = -1; /* T_am_WithShortSN */
|
|
static int hf_nr_rrc_um_WithShortSN = -1; /* T_um_WithShortSN */
|
|
static int hf_nr_rrc_um_WIthLongSN = -1; /* T_um_WIthLongSN */
|
|
static int hf_nr_rrc_mac_ParametersCommon = -1; /* MAC_ParametersCommon */
|
|
static int hf_nr_rrc_lcp_Restriction = -1; /* T_lcp_Restriction */
|
|
static int hf_nr_rrc_pucch_SpatialRelInfoMAC_CE = -1; /* T_pucch_SpatialRelInfoMAC_CE */
|
|
static int hf_nr_rrc_skipUplinkTxDynamic_01 = -1; /* T_skipUplinkTxDynamic */
|
|
static int hf_nr_rrc_logicalChannelSR_DelayTimer_01 = -1; /* T_logicalChannelSR_DelayTimer_01 */
|
|
static int hf_nr_rrc_longDRX_Cycle = -1; /* T_longDRX_Cycle */
|
|
static int hf_nr_rrc_shortDRX_Cycle = -1; /* T_shortDRX_Cycle */
|
|
static int hf_nr_rrc_multipleSR_Configurations = -1; /* T_multipleSR_Configurations */
|
|
static int hf_nr_rrc_multipleConfiguredGrants = -1; /* T_multipleConfiguredGrants */
|
|
static int hf_nr_rrc_measParametersCommon = -1; /* MeasParametersCommon */
|
|
static int hf_nr_rrc_supportedGapPattern = -1; /* BIT_STRING_SIZE_22 */
|
|
static int hf_nr_rrc_intraAndInterF_MeasAndReport = -1; /* T_intraAndInterF_MeasAndReport */
|
|
static int hf_nr_rrc_eventA_MeasAndReport = -1; /* T_eventA_MeasAndReport */
|
|
static int hf_nr_rrc_ss_SINR_Meas = -1; /* T_ss_SINR_Meas */
|
|
static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithSSB */
|
|
static int hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB = -1; /* T_csi_RSRP_AndRSRQ_MeasWithoutSSB */
|
|
static int hf_nr_rrc_csi_SINR_Meas = -1; /* T_csi_SINR_Meas */
|
|
static int hf_nr_rrc_csi_RS_RLM = -1; /* T_csi_RS_RLM */
|
|
|
|
/*--- End of included file: packet-nr-rrc-hf.c ---*/
|
|
#line 40 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
|
|
/* Initialize the subtree pointers */
|
|
static gint ett_nr_rrc = -1;
|
|
|
|
/*--- Included file: packet-nr-rrc-ett.c ---*/
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-ett.c"
|
|
static gint ett_nr_rrc_HandoverCommand = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensions = -1;
|
|
static gint ett_nr_rrc_T_c1 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture = -1;
|
|
static gint ett_nr_rrc_HandoverCommand_IEs = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension = -1;
|
|
static gint ett_nr_rrc_HandoverPreparationInformation = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensions_01 = -1;
|
|
static gint ett_nr_rrc_T_c1_01 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture_01 = -1;
|
|
static gint ett_nr_rrc_HandoverPreparationInformation_IEs = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_01 = -1;
|
|
static gint ett_nr_rrc_AS_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_CG_Config = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensions_02 = -1;
|
|
static gint ett_nr_rrc_T_c1_02 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture_02 = -1;
|
|
static gint ett_nr_rrc_CG_Config_IEs = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_02 = -1;
|
|
static gint ett_nr_rrc_MeasConfigSN = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo = -1;
|
|
static gint ett_nr_rrc_NR_FreqInfo = -1;
|
|
static gint ett_nr_rrc_ConfigRestrictModReqSCG = -1;
|
|
static gint ett_nr_rrc_FR_InfoList = -1;
|
|
static gint ett_nr_rrc_FR_Info = -1;
|
|
static gint ett_nr_rrc_CG_ConfigInfo = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensions_03 = -1;
|
|
static gint ett_nr_rrc_T_c1_03 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture_03 = -1;
|
|
static gint ett_nr_rrc_CG_ConfigInfo_IEs = -1;
|
|
static gint ett_nr_rrc_T_scgFailureInfo = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_03 = -1;
|
|
static gint ett_nr_rrc_ConfigRestrictInfoSCG = -1;
|
|
static gint ett_nr_rrc_T_powerCoordination_FR1 = -1;
|
|
static gint ett_nr_rrc_T_servCellIndexRangeSCG = -1;
|
|
static gint ett_nr_rrc_BandCombinationIndexList = -1;
|
|
static gint ett_nr_rrc_DRX_Info = -1;
|
|
static gint ett_nr_rrc_T_drx_LongCycleStartOffset = -1;
|
|
static gint ett_nr_rrc_T_shortDRX = -1;
|
|
static gint ett_nr_rrc_MeasConfigMN = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo = -1;
|
|
static gint ett_nr_rrc_T_measGapConfig = -1;
|
|
static gint ett_nr_rrc_MeasurementTimingConfiguration = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensions_04 = -1;
|
|
static gint ett_nr_rrc_T_c1_04 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture_04 = -1;
|
|
static gint ett_nr_rrc_MeasurementTimingConfiguration_IEs = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_04 = -1;
|
|
static gint ett_nr_rrc_MeasTimingList = -1;
|
|
static gint ett_nr_rrc_MeasTiming = -1;
|
|
static gint ett_nr_rrc_T_frequencyAndTiming = -1;
|
|
static gint ett_nr_rrc_BCCH_BCH_Message = -1;
|
|
static gint ett_nr_rrc_BCCH_BCH_MessageType = -1;
|
|
static gint ett_nr_rrc_T_messageClassExtension = -1;
|
|
static gint ett_nr_rrc_DL_DCCH_Message = -1;
|
|
static gint ett_nr_rrc_DL_DCCH_MessageType = -1;
|
|
static gint ett_nr_rrc_T_c1_05 = -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_06 = -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_05 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture_05 = -1;
|
|
static gint ett_nr_rrc_MeasurementReport_IEs = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_05 = -1;
|
|
static gint ett_nr_rrc_RRCReconfiguration = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensions_06 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture_06 = -1;
|
|
static gint ett_nr_rrc_RRCReconfiguration_IEs = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_06 = -1;
|
|
static gint ett_nr_rrc_RRCReconfigurationComplete = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensions_07 = -1;
|
|
static gint ett_nr_rrc_T_criticalExtensionsFuture_07 = -1;
|
|
static gint ett_nr_rrc_RRCReconfigurationComplete_IEs = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_07 = -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_08 = -1;
|
|
static gint ett_nr_rrc_BWP = -1;
|
|
static gint ett_nr_rrc_BWP_Uplink = -1;
|
|
static gint ett_nr_rrc_BWP_UplinkCommon = -1;
|
|
static gint ett_nr_rrc_T_rach_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_T_pusch_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_T_pucch_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_BWP_UplinkDedicated = -1;
|
|
static gint ett_nr_rrc_T_pucch_Config = -1;
|
|
static gint ett_nr_rrc_T_pusch_Config = -1;
|
|
static gint ett_nr_rrc_T_configuredGrantConfig = -1;
|
|
static gint ett_nr_rrc_T_srs_Config = -1;
|
|
static gint ett_nr_rrc_T_beamFailureRecoveryConfig = -1;
|
|
static gint ett_nr_rrc_BWP_Downlink = -1;
|
|
static gint ett_nr_rrc_BWP_DownlinkCommon = -1;
|
|
static gint ett_nr_rrc_T_pdcch_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_T_pdsch_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_BWP_DownlinkDedicated = -1;
|
|
static gint ett_nr_rrc_T_pdcch_Config = -1;
|
|
static gint ett_nr_rrc_T_pdsch_Config = -1;
|
|
static gint ett_nr_rrc_T_sps_Config = -1;
|
|
static gint ett_nr_rrc_T_radioLinkMonitoringConfig = -1;
|
|
static gint ett_nr_rrc_BeamFailureRecoveryConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR = -1;
|
|
static gint ett_nr_rrc_PRACH_ResourceDedicatedBFR = -1;
|
|
static gint ett_nr_rrc_BFR_SSB_Resource = -1;
|
|
static gint ett_nr_rrc_BFR_CSIRS_Resource = -1;
|
|
static gint ett_nr_rrc_T_ra_OccasionList = -1;
|
|
static gint ett_nr_rrc_CellGroupConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex = -1;
|
|
static gint ett_nr_rrc_SpCellConfig = -1;
|
|
static gint ett_nr_rrc_T_rlf_TimersAndConstants = -1;
|
|
static gint ett_nr_rrc_ReconfigurationWithSync = -1;
|
|
static gint ett_nr_rrc_T_rach_ConfigDedicated = -1;
|
|
static gint ett_nr_rrc_SCellConfig = -1;
|
|
static gint ett_nr_rrc_CodebookConfig = -1;
|
|
static gint ett_nr_rrc_T_codebookType = -1;
|
|
static gint ett_nr_rrc_T_type1 = -1;
|
|
static gint ett_nr_rrc_T_subType = -1;
|
|
static gint ett_nr_rrc_T_typeI_SinglePanel = -1;
|
|
static gint ett_nr_rrc_T_nrOfAntennaPorts = -1;
|
|
static gint ett_nr_rrc_T_two = -1;
|
|
static gint ett_nr_rrc_T_moreThanTwo = -1;
|
|
static gint ett_nr_rrc_T_n1_n2 = -1;
|
|
static gint ett_nr_rrc_T_typeI_MultiPanel = -1;
|
|
static gint ett_nr_rrc_T_ng_n1_n2 = -1;
|
|
static gint ett_nr_rrc_T_type2 = -1;
|
|
static gint ett_nr_rrc_T_subType_01 = -1;
|
|
static gint ett_nr_rrc_T_typeII = -1;
|
|
static gint ett_nr_rrc_T_n1_n2_codebookSubsetRestriction = -1;
|
|
static gint ett_nr_rrc_T_typeII_PortSelection = -1;
|
|
static gint ett_nr_rrc_ConfiguredGrantConfig = -1;
|
|
static gint ett_nr_rrc_T_uci_OnPUSCH = -1;
|
|
static gint ett_nr_rrc_T_rrc_ConfiguredUplinkGrant = -1;
|
|
static gint ett_nr_rrc_CG_UCI_OnPUSCH = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets = -1;
|
|
static gint ett_nr_rrc_ControlResourceSet = -1;
|
|
static gint ett_nr_rrc_T_cce_REG_MappingType = -1;
|
|
static gint ett_nr_rrc_T_interleaved = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId = -1;
|
|
static gint ett_nr_rrc_CrossCarrierSchedulingConfig = -1;
|
|
static gint ett_nr_rrc_T_schedulingCellInfo = -1;
|
|
static gint ett_nr_rrc_T_own = -1;
|
|
static gint ett_nr_rrc_T_other = -1;
|
|
static gint ett_nr_rrc_CSI_AperiodicTriggerStateList = -1;
|
|
static gint ett_nr_rrc_CSI_AperiodicTriggerState = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo = -1;
|
|
static gint ett_nr_rrc_CSI_AssociatedReportConfigInfo = -1;
|
|
static gint ett_nr_rrc_T_resourcesForChannel = -1;
|
|
static gint ett_nr_rrc_T_nzp_CSI_RS = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId = -1;
|
|
static gint ett_nr_rrc_CSI_FrequencyOccupation = -1;
|
|
static gint ett_nr_rrc_CSI_IM_Resource = -1;
|
|
static gint ett_nr_rrc_T_csi_IM_ResourceElementPattern = -1;
|
|
static gint ett_nr_rrc_T_pattern0 = -1;
|
|
static gint ett_nr_rrc_T_pattern1 = -1;
|
|
static gint ett_nr_rrc_CSI_IM_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId = -1;
|
|
static gint ett_nr_rrc_CSI_MeasConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId = -1;
|
|
static gint ett_nr_rrc_T_aperiodicTriggerStateList = -1;
|
|
static gint ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList = -1;
|
|
static gint ett_nr_rrc_CSI_ReportConfig = -1;
|
|
static gint ett_nr_rrc_T_reportConfigType = -1;
|
|
static gint ett_nr_rrc_T_periodic = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource = -1;
|
|
static gint ett_nr_rrc_T_semiPersistentOnPUCCH = -1;
|
|
static gint ett_nr_rrc_T_semiPersistentOnPUSCH = -1;
|
|
static gint ett_nr_rrc_T_reportSlotOffsetList = -1;
|
|
static gint ett_nr_rrc_T_aperiodic = -1;
|
|
static gint ett_nr_rrc_T_reportSlotOffsetList_01 = -1;
|
|
static gint ett_nr_rrc_T_reportQuantity = -1;
|
|
static gint ett_nr_rrc_T_cri_RI_i1_CQI = -1;
|
|
static gint ett_nr_rrc_T_reportFreqConfiguration = -1;
|
|
static gint ett_nr_rrc_T_csi_ReportingBand = -1;
|
|
static gint ett_nr_rrc_T_groupBasedBeamReporting = -1;
|
|
static gint ett_nr_rrc_T_disabled = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks = -1;
|
|
static gint ett_nr_rrc_CSI_ReportPeriodicityAndOffset = -1;
|
|
static gint ett_nr_rrc_PUCCH_CSI_Resource = -1;
|
|
static gint ett_nr_rrc_PortIndexFor8Ranks = -1;
|
|
static gint ett_nr_rrc_T_portIndex8 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8 = -1;
|
|
static gint ett_nr_rrc_T_portIndex4 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4 = -1;
|
|
static gint ett_nr_rrc_T_portIndex2 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2 = -1;
|
|
static gint ett_nr_rrc_CSI_ResourceConfig = -1;
|
|
static gint ett_nr_rrc_T_csi_RS_ResourceSetList = -1;
|
|
static gint ett_nr_rrc_T_nzp_CSI_RS_SSB = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_CSI_ResourcePeriodicityAndOffset = -1;
|
|
static gint ett_nr_rrc_CSI_RS_ResourceConfigMobility = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility = -1;
|
|
static gint ett_nr_rrc_CSI_RS_CellMobility = -1;
|
|
static gint ett_nr_rrc_T_csi_rs_MeasurementBW = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility = -1;
|
|
static gint ett_nr_rrc_CSI_RS_Resource_Mobility = -1;
|
|
static gint ett_nr_rrc_T_slotConfig = -1;
|
|
static gint ett_nr_rrc_T_associatedSSB = -1;
|
|
static gint ett_nr_rrc_T_frequencyDomainAllocation = -1;
|
|
static gint ett_nr_rrc_CSI_RS_ResourceMapping = -1;
|
|
static gint ett_nr_rrc_T_frequencyDomainAllocation_01 = -1;
|
|
static gint ett_nr_rrc_T_density_01 = -1;
|
|
static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList = -1;
|
|
static gint ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState = -1;
|
|
static gint ett_nr_rrc_CSI_SSB_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index = -1;
|
|
static gint ett_nr_rrc_DMRS_DownlinkConfig = -1;
|
|
static gint ett_nr_rrc_T_phaseTrackingRS = -1;
|
|
static gint ett_nr_rrc_DMRS_UplinkConfig = -1;
|
|
static gint ett_nr_rrc_T_phaseTrackingRS_01 = -1;
|
|
static gint ett_nr_rrc_T_transformPrecodingDisabled = -1;
|
|
static gint ett_nr_rrc_T_transformPrecodingEnabled = -1;
|
|
static gint ett_nr_rrc_DownlinkConfigCommon = -1;
|
|
static gint ett_nr_rrc_DownlinkPreemption = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell = -1;
|
|
static gint ett_nr_rrc_INT_ConfigurationPerServingCell = -1;
|
|
static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList = -1;
|
|
static gint ett_nr_rrc_EUTRA_MBSFN_SubframeConfig = -1;
|
|
static gint ett_nr_rrc_T_subframeAllocation = -1;
|
|
static gint ett_nr_rrc_T_subframeAllocation_v1430 = -1;
|
|
static gint ett_nr_rrc_FrequencyInfoDL = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier = -1;
|
|
static gint ett_nr_rrc_FrequencyInfoUL = -1;
|
|
static gint ett_nr_rrc_LogicalChannelConfig = -1;
|
|
static gint ett_nr_rrc_T_ul_SpecificParameters = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing = -1;
|
|
static gint ett_nr_rrc_MAC_CellGroupConfig = -1;
|
|
static gint ett_nr_rrc_T_drx_Config = -1;
|
|
static gint ett_nr_rrc_T_phr_Config = -1;
|
|
static gint ett_nr_rrc_DRX_Config = -1;
|
|
static gint ett_nr_rrc_T_drx_onDurationTimer = -1;
|
|
static gint ett_nr_rrc_T_drx_LongCycleStartOffset_01 = -1;
|
|
static gint ett_nr_rrc_T_shortDRX_01 = -1;
|
|
static gint ett_nr_rrc_PHR_Config = -1;
|
|
static gint ett_nr_rrc_TAG_Config = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG = -1;
|
|
static gint ett_nr_rrc_TAG = -1;
|
|
static gint ett_nr_rrc_BSR_Config = -1;
|
|
static gint ett_nr_rrc_MeasConfig = -1;
|
|
static gint ett_nr_rrc_T_s_MeasureConfig = -1;
|
|
static gint ett_nr_rrc_MeasObjectToRemoveList = -1;
|
|
static gint ett_nr_rrc_MeasIdToRemoveList = -1;
|
|
static gint ett_nr_rrc_ReportConfigToRemoveList = -1;
|
|
static gint ett_nr_rrc_MeasGapConfig = -1;
|
|
static gint ett_nr_rrc_T_gapFR2 = -1;
|
|
static gint ett_nr_rrc_GapConfig = -1;
|
|
static gint ett_nr_rrc_MeasGapSharingConfig = -1;
|
|
static gint ett_nr_rrc_T_gapSharingFR2 = -1;
|
|
static gint ett_nr_rrc_MeasIdToAddModList = -1;
|
|
static gint ett_nr_rrc_MeasIdToAddMod = -1;
|
|
static gint ett_nr_rrc_MeasObjectNR = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement = -1;
|
|
static gint ett_nr_rrc_ReferenceSignalConfig = -1;
|
|
static gint ett_nr_rrc_T_csi_rs_ResourceConfigMobility = -1;
|
|
static gint ett_nr_rrc_SSB_ConfigMobility = -1;
|
|
static gint ett_nr_rrc_T_ssb_ToMeasure = -1;
|
|
static gint ett_nr_rrc_Q_OffsetRangeList = -1;
|
|
static gint ett_nr_rrc_SSB_ToMeasure = -1;
|
|
static gint ett_nr_rrc_ThresholdNR = -1;
|
|
static gint ett_nr_rrc_CellsToAddModList = -1;
|
|
static gint ett_nr_rrc_CellsToAddMod = -1;
|
|
static gint ett_nr_rrc_MeasObjectToAddModList = -1;
|
|
static gint ett_nr_rrc_MeasObjectToAddMod = -1;
|
|
static gint ett_nr_rrc_T_measObject = -1;
|
|
static gint ett_nr_rrc_MeasResults = -1;
|
|
static gint ett_nr_rrc_T_measResultNeighCells = -1;
|
|
static gint ett_nr_rrc_MeasResultServMOList = -1;
|
|
static gint ett_nr_rrc_MeasResultServMO = -1;
|
|
static gint ett_nr_rrc_MeasResultListNR = -1;
|
|
static gint ett_nr_rrc_MeasResultNR = -1;
|
|
static gint ett_nr_rrc_T_measResult = -1;
|
|
static gint ett_nr_rrc_T_cellResults = -1;
|
|
static gint ett_nr_rrc_T_rsIndexResults = -1;
|
|
static gint ett_nr_rrc_MeasQuantityResults = -1;
|
|
static gint ett_nr_rrc_ResultsPerSSB_IndexList = -1;
|
|
static gint ett_nr_rrc_ResultsPerSSB_Index = -1;
|
|
static gint ett_nr_rrc_ResultsPerCSI_RS_IndexList = -1;
|
|
static gint ett_nr_rrc_ResultsPerCSI_RS_Index = -1;
|
|
static gint ett_nr_rrc_MeasResultSCG_Failure = -1;
|
|
static gint ett_nr_rrc_MeasResultList2NR = -1;
|
|
static gint ett_nr_rrc_MeasResult2NR = -1;
|
|
static gint ett_nr_rrc_MeasResultCellListSFTD = -1;
|
|
static gint ett_nr_rrc_MeasResultCellSFTD = -1;
|
|
static gint ett_nr_rrc_MultiFrequencyBandListNR = -1;
|
|
static gint ett_nr_rrc_NZP_CSI_RS_Resource = -1;
|
|
static gint ett_nr_rrc_NZP_CSI_RS_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId = -1;
|
|
static gint ett_nr_rrc_PCI_List = -1;
|
|
static gint ett_nr_rrc_PCI_Range = -1;
|
|
static gint ett_nr_rrc_PCI_RangeElement = -1;
|
|
static gint ett_nr_rrc_PCI_RangeIndexList = -1;
|
|
static gint ett_nr_rrc_PDCCH_Config = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId = -1;
|
|
static gint ett_nr_rrc_T_downlinkPreemption = -1;
|
|
static gint ett_nr_rrc_T_tpc_PUSCH = -1;
|
|
static gint ett_nr_rrc_T_tpc_PUCCH = -1;
|
|
static gint ett_nr_rrc_T_tpc_SRS = -1;
|
|
static gint ett_nr_rrc_PDCCH_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace = -1;
|
|
static gint ett_nr_rrc_PDCCH_ServingCellConfig = -1;
|
|
static gint ett_nr_rrc_T_slotFormatIndicator = -1;
|
|
static gint ett_nr_rrc_PDCP_Config = -1;
|
|
static gint ett_nr_rrc_T_drb = -1;
|
|
static gint ett_nr_rrc_T_headerCompression = -1;
|
|
static gint ett_nr_rrc_T_rohc = -1;
|
|
static gint ett_nr_rrc_T_profiles = -1;
|
|
static gint ett_nr_rrc_T_uplinkOnlyROHC = -1;
|
|
static gint ett_nr_rrc_T_profiles_01 = -1;
|
|
static gint ett_nr_rrc_T_moreThanOneRLC = -1;
|
|
static gint ett_nr_rrc_T_primaryPath = -1;
|
|
static gint ett_nr_rrc_PDSCH_Config = -1;
|
|
static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA = -1;
|
|
static gint ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId = -1;
|
|
static gint ett_nr_rrc_T_pdsch_TimeDomainAllocationList = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId = -1;
|
|
static gint ett_nr_rrc_T_prb_BundlingType = -1;
|
|
static gint ett_nr_rrc_T_staticBundling = -1;
|
|
static gint ett_nr_rrc_T_dynamicBundling = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet = -1;
|
|
static gint ett_nr_rrc_RateMatchPatternGroup = -1;
|
|
static gint ett_nr_rrc_RateMatchPatternGroup_item = -1;
|
|
static gint ett_nr_rrc_PDSCH_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_PDSCH_ServingCellConfig = -1;
|
|
static gint ett_nr_rrc_T_codeBlockGroupTransmission = -1;
|
|
static gint ett_nr_rrc_PDSCH_CodeBlockGroupTransmission = -1;
|
|
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList = -1;
|
|
static gint ett_nr_rrc_PDSCH_TimeDomainResourceAllocation = -1;
|
|
static gint ett_nr_rrc_PhysicalCellGroupConfig = -1;
|
|
static gint ett_nr_rrc_T_cs_RNTI = -1;
|
|
static gint ett_nr_rrc_PTRS_DownlinkConfig = -1;
|
|
static gint ett_nr_rrc_T_frequencyDensity = -1;
|
|
static gint ett_nr_rrc_T_timeDensity = -1;
|
|
static gint ett_nr_rrc_PTRS_UplinkConfig = -1;
|
|
static gint ett_nr_rrc_T_modeSpecificParameters = -1;
|
|
static gint ett_nr_rrc_T_cp_OFDM = -1;
|
|
static gint ett_nr_rrc_T_frequencyDensity_01 = -1;
|
|
static gint ett_nr_rrc_T_timeDensity_01 = -1;
|
|
static gint ett_nr_rrc_T_dft_S_OFDM = -1;
|
|
static gint ett_nr_rrc_T_sampleDensity = -1;
|
|
static gint ett_nr_rrc_PUCCH_Config = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId = -1;
|
|
static gint ett_nr_rrc_T_format1 = -1;
|
|
static gint ett_nr_rrc_T_format2 = -1;
|
|
static gint ett_nr_rrc_T_format3 = -1;
|
|
static gint ett_nr_rrc_T_format4 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId = -1;
|
|
static gint ett_nr_rrc_T_dl_DataToUL_ACK = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId = -1;
|
|
static gint ett_nr_rrc_PUCCH_FormatConfig = -1;
|
|
static gint ett_nr_rrc_PUCCH_SpatialRelationInfo = -1;
|
|
static gint ett_nr_rrc_T_referenceSignal = -1;
|
|
static gint ett_nr_rrc_T_srs = -1;
|
|
static gint ett_nr_rrc_PUCCH_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId = -1;
|
|
static gint ett_nr_rrc_PUCCH_Resource = -1;
|
|
static gint ett_nr_rrc_T_format = -1;
|
|
static gint ett_nr_rrc_PUCCH_format0 = -1;
|
|
static gint ett_nr_rrc_PUCCH_format1 = -1;
|
|
static gint ett_nr_rrc_PUCCH_format2 = -1;
|
|
static gint ett_nr_rrc_PUCCH_format3 = -1;
|
|
static gint ett_nr_rrc_PUCCH_format4 = -1;
|
|
static gint ett_nr_rrc_PUCCH_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_PUCCH_PowerControl = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS = -1;
|
|
static gint ett_nr_rrc_P0_PUCCH = -1;
|
|
static gint ett_nr_rrc_PUCCH_PathlossReferenceRS = -1;
|
|
static gint ett_nr_rrc_T_referenceSignal_01 = -1;
|
|
static gint ett_nr_rrc_PUCCH_TPC_CommandConfig = -1;
|
|
static gint ett_nr_rrc_PUSCH_Config = -1;
|
|
static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA = -1;
|
|
static gint ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB = -1;
|
|
static gint ett_nr_rrc_T_frequencyHoppingOffsetLists = -1;
|
|
static gint ett_nr_rrc_T_pusch_TimeDomainAllocationList = -1;
|
|
static gint ett_nr_rrc_T_uci_OnPUSCH_01 = -1;
|
|
static gint ett_nr_rrc_UCI_OnPUSCH = -1;
|
|
static gint ett_nr_rrc_T_betaOffsets = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets = -1;
|
|
static gint ett_nr_rrc_PUSCH_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_PUSCH_PowerControl = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId = -1;
|
|
static gint ett_nr_rrc_P0_PUSCH_AlphaSet = -1;
|
|
static gint ett_nr_rrc_PUSCH_PathlossReferenceRS = -1;
|
|
static gint ett_nr_rrc_T_referenceSignal_02 = -1;
|
|
static gint ett_nr_rrc_SRI_PUSCH_PowerControl = -1;
|
|
static gint ett_nr_rrc_BetaOffsets = -1;
|
|
static gint ett_nr_rrc_PUSCH_ServingCellConfig = -1;
|
|
static gint ett_nr_rrc_T_codeBlockGroupTransmission_01 = -1;
|
|
static gint ett_nr_rrc_PUSCH_CodeBlockGroupTransmission = -1;
|
|
static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList = -1;
|
|
static gint ett_nr_rrc_PUSCH_TimeDomainResourceAllocation = -1;
|
|
static gint ett_nr_rrc_PUSCH_TPC_CommandConfig = -1;
|
|
static gint ett_nr_rrc_QuantityConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR = -1;
|
|
static gint ett_nr_rrc_QuantityConfigNR = -1;
|
|
static gint ett_nr_rrc_QuantityConfigRS = -1;
|
|
static gint ett_nr_rrc_FilterConfig = -1;
|
|
static gint ett_nr_rrc_RACH_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB = -1;
|
|
static gint ett_nr_rrc_T_groupBconfigured = -1;
|
|
static gint ett_nr_rrc_T_prach_RootSequenceIndex = -1;
|
|
static gint ett_nr_rrc_RACH_ConfigGeneric = -1;
|
|
static gint ett_nr_rrc_RACH_ConfigDedicated = -1;
|
|
static gint ett_nr_rrc_CFRA = -1;
|
|
static gint ett_nr_rrc_T_occasions = -1;
|
|
static gint ett_nr_rrc_T_resources = -1;
|
|
static gint ett_nr_rrc_T_ssb = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource = -1;
|
|
static gint ett_nr_rrc_T_csirs = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource = -1;
|
|
static gint ett_nr_rrc_CFRA_SSB_Resource = -1;
|
|
static gint ett_nr_rrc_CFRA_CSIRS_Resource = -1;
|
|
static gint ett_nr_rrc_T_ra_OccasionList_01 = -1;
|
|
static gint ett_nr_rrc_RA_Prioritization = -1;
|
|
static gint ett_nr_rrc_RadioBearerConfig = -1;
|
|
static gint ett_nr_rrc_SRB_ToAddModList = -1;
|
|
static gint ett_nr_rrc_SRB_ToAddMod = -1;
|
|
static gint ett_nr_rrc_DRB_ToAddModList = -1;
|
|
static gint ett_nr_rrc_DRB_ToAddMod = -1;
|
|
static gint ett_nr_rrc_T_cnAssociation = -1;
|
|
static gint ett_nr_rrc_DRB_ToReleaseList = -1;
|
|
static gint ett_nr_rrc_SecurityConfig = -1;
|
|
static gint ett_nr_rrc_RadioLinkMonitoringConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id = -1;
|
|
static gint ett_nr_rrc_RadioLinkMonitoringRS = -1;
|
|
static gint ett_nr_rrc_T_detectionResource = -1;
|
|
static gint ett_nr_rrc_RateMatchPattern = -1;
|
|
static gint ett_nr_rrc_T_patternType = -1;
|
|
static gint ett_nr_rrc_T_bitmaps = -1;
|
|
static gint ett_nr_rrc_T_symbolsInResourceBlock = -1;
|
|
static gint ett_nr_rrc_T_periodicityAndPattern = -1;
|
|
static gint ett_nr_rrc_RateMatchPatternLTE_CRS = -1;
|
|
static gint ett_nr_rrc_ReportConfigNR = -1;
|
|
static gint ett_nr_rrc_T_reportType = -1;
|
|
static gint ett_nr_rrc_EventTriggerConfig = -1;
|
|
static gint ett_nr_rrc_T_eventId = -1;
|
|
static gint ett_nr_rrc_T_eventA1 = -1;
|
|
static gint ett_nr_rrc_T_eventA2 = -1;
|
|
static gint ett_nr_rrc_T_eventA3 = -1;
|
|
static gint ett_nr_rrc_T_eventA4 = -1;
|
|
static gint ett_nr_rrc_T_eventA5 = -1;
|
|
static gint ett_nr_rrc_T_eventA6 = -1;
|
|
static gint ett_nr_rrc_PeriodicalReportConfig = -1;
|
|
static gint ett_nr_rrc_MeasTriggerQuantity = -1;
|
|
static gint ett_nr_rrc_MeasTriggerQuantityOffset = -1;
|
|
static gint ett_nr_rrc_MeasReportQuantity = -1;
|
|
static gint ett_nr_rrc_ReportConfigToAddModList = -1;
|
|
static gint ett_nr_rrc_ReportConfigToAddMod = -1;
|
|
static gint ett_nr_rrc_T_reportConfig = -1;
|
|
static gint ett_nr_rrc_RLC_BearerConfig = -1;
|
|
static gint ett_nr_rrc_T_servedRadioBearer = -1;
|
|
static gint ett_nr_rrc_RLC_Config = -1;
|
|
static gint ett_nr_rrc_T_am = -1;
|
|
static gint ett_nr_rrc_T_um_Bi_Directional = -1;
|
|
static gint ett_nr_rrc_T_um_Uni_Directional_UL = -1;
|
|
static gint ett_nr_rrc_T_um_Uni_Directional_DL = -1;
|
|
static gint ett_nr_rrc_UL_AM_RLC = -1;
|
|
static gint ett_nr_rrc_DL_AM_RLC = -1;
|
|
static gint ett_nr_rrc_UL_UM_RLC = -1;
|
|
static gint ett_nr_rrc_DL_UM_RLC = -1;
|
|
static gint ett_nr_rrc_RLF_TimersAndConstants = -1;
|
|
static gint ett_nr_rrc_SchedulingRequestConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId = -1;
|
|
static gint ett_nr_rrc_SchedulingRequestToAddMod = -1;
|
|
static gint ett_nr_rrc_SchedulingRequestResourceConfig = -1;
|
|
static gint ett_nr_rrc_T_periodicityAndOffset = -1;
|
|
static gint ett_nr_rrc_SCS_SpecificCarrier = -1;
|
|
static gint ett_nr_rrc_SDAP_Config = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI = -1;
|
|
static gint ett_nr_rrc_SearchSpace = -1;
|
|
static gint ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset = -1;
|
|
static gint ett_nr_rrc_T_nrofCandidates = -1;
|
|
static gint ett_nr_rrc_T_searchSpaceType = -1;
|
|
static gint ett_nr_rrc_T_common = -1;
|
|
static gint ett_nr_rrc_T_dci_Format0_0_AndFormat1_0 = -1;
|
|
static gint ett_nr_rrc_T_dci_Format2_0 = -1;
|
|
static gint ett_nr_rrc_T_nrofCandidates_SFI = -1;
|
|
static gint ett_nr_rrc_T_dci_Format2_1 = -1;
|
|
static gint ett_nr_rrc_T_dci_Format2_2 = -1;
|
|
static gint ett_nr_rrc_T_dci_Format2_3 = -1;
|
|
static gint ett_nr_rrc_T_ue_Specific = -1;
|
|
static gint ett_nr_rrc_SecurityAlgorithmConfig = -1;
|
|
static gint ett_nr_rrc_ServingCellConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink = -1;
|
|
static gint ett_nr_rrc_T_pdcch_ServingCellConfig = -1;
|
|
static gint ett_nr_rrc_T_pdsch_ServingCellConfig = -1;
|
|
static gint ett_nr_rrc_T_csi_MeasConfig = -1;
|
|
static gint ett_nr_rrc_UplinkConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink = -1;
|
|
static gint ett_nr_rrc_T_pusch_ServingCellConfig = -1;
|
|
static gint ett_nr_rrc_T_carrierSwitching = -1;
|
|
static gint ett_nr_rrc_ServingCellConfigCommon = -1;
|
|
static gint ett_nr_rrc_T_ssb_PositionsInBurst_01 = -1;
|
|
static gint ett_nr_rrc_T_lte_CRS_ToMatchAround = -1;
|
|
static gint ett_nr_rrc_SlotFormatCombinationsPerCell = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination = -1;
|
|
static gint ett_nr_rrc_SlotFormatCombination = -1;
|
|
static gint ett_nr_rrc_T_slotFormats = -1;
|
|
static gint ett_nr_rrc_SlotFormatIndicator = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex = -1;
|
|
static gint ett_nr_rrc_SS_RSSI_Measurement = -1;
|
|
static gint ett_nr_rrc_SPS_Config = -1;
|
|
static gint ett_nr_rrc_SRS_Config = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource = -1;
|
|
static gint ett_nr_rrc_SRS_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId = -1;
|
|
static gint ett_nr_rrc_T_resourceType_01 = -1;
|
|
static gint ett_nr_rrc_T_aperiodic_01 = -1;
|
|
static gint ett_nr_rrc_T_semi_persistent = -1;
|
|
static gint ett_nr_rrc_T_periodic_01 = -1;
|
|
static gint ett_nr_rrc_T_pathlossReferenceRS = -1;
|
|
static gint ett_nr_rrc_SRS_Resource = -1;
|
|
static gint ett_nr_rrc_T_transmissionComb = -1;
|
|
static gint ett_nr_rrc_T_n2 = -1;
|
|
static gint ett_nr_rrc_T_n4 = -1;
|
|
static gint ett_nr_rrc_T_resourceMapping = -1;
|
|
static gint ett_nr_rrc_T_freqHopping = -1;
|
|
static gint ett_nr_rrc_T_resourceType_02 = -1;
|
|
static gint ett_nr_rrc_T_aperiodic_02 = -1;
|
|
static gint ett_nr_rrc_T_semi_persistent_01 = -1;
|
|
static gint ett_nr_rrc_T_periodic_02 = -1;
|
|
static gint ett_nr_rrc_SRS_SpatialRelationInfo = -1;
|
|
static gint ett_nr_rrc_T_referenceSignal_03 = -1;
|
|
static gint ett_nr_rrc_T_srs_01 = -1;
|
|
static gint ett_nr_rrc_SRS_PeriodicityAndOffset = -1;
|
|
static gint ett_nr_rrc_SRS_CarrierSwitching = -1;
|
|
static gint ett_nr_rrc_T_srs_TPC_PDCCH_Group = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex = -1;
|
|
static gint ett_nr_rrc_SRS_TPC_PDCCH_Config = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex = -1;
|
|
static gint ett_nr_rrc_SRS_CC_SetIndex = -1;
|
|
static gint ett_nr_rrc_SRS_TPC_CommandConfig = -1;
|
|
static gint ett_nr_rrc_SSB_MTC = -1;
|
|
static gint ett_nr_rrc_T_periodicityAndOffset_01 = -1;
|
|
static gint ett_nr_rrc_SSB_MTC2 = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId = -1;
|
|
static gint ett_nr_rrc_TCI_State = -1;
|
|
static gint ett_nr_rrc_QCL_Info = -1;
|
|
static gint ett_nr_rrc_T_referenceSignal_04 = -1;
|
|
static gint ett_nr_rrc_TDD_UL_DL_ConfigCommon = -1;
|
|
static gint ett_nr_rrc_TDD_UL_DL_Pattern = -1;
|
|
static gint ett_nr_rrc_TDD_UL_DL_ConfigDedicated = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex = -1;
|
|
static gint ett_nr_rrc_TDD_UL_DL_SlotConfig = -1;
|
|
static gint ett_nr_rrc_T_symbols = -1;
|
|
static gint ett_nr_rrc_T_explicit = -1;
|
|
static gint ett_nr_rrc_UplinkConfigCommon = -1;
|
|
static gint ett_nr_rrc_ZP_CSI_RS_Resource = -1;
|
|
static gint ett_nr_rrc_ZP_CSI_RS_ResourceSet = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId = -1;
|
|
static gint ett_nr_rrc_BandCombinationList = -1;
|
|
static gint ett_nr_rrc_BandCombination = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters = -1;
|
|
static gint ett_nr_rrc_BandParameters = -1;
|
|
static gint ett_nr_rrc_T_eutra = -1;
|
|
static gint ett_nr_rrc_T_nr = -1;
|
|
static gint ett_nr_rrc_CA_ParametersNR = -1;
|
|
static gint ett_nr_rrc_CA_ParametersEUTRA = -1;
|
|
static gint ett_nr_rrc_FeatureSetCombination = -1;
|
|
static gint ett_nr_rrc_FeatureSetsPerBand = -1;
|
|
static gint ett_nr_rrc_FeatureSet = -1;
|
|
static gint ett_nr_rrc_T_eutra_01 = -1;
|
|
static gint ett_nr_rrc_T_nr_01 = -1;
|
|
static gint ett_nr_rrc_FeatureSetDownlink = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id = -1;
|
|
static gint ett_nr_rrc_T_timeDurationForQCL = -1;
|
|
static gint ett_nr_rrc_T_pdsch_DifferentTB_PerSlot = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection = -1;
|
|
static gint ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback = -1;
|
|
static gint ett_nr_rrc_TypeI_SinglePanelCodebook = -1;
|
|
static gint ett_nr_rrc_TypeI_MultiPanelCodebook = -1;
|
|
static gint ett_nr_rrc_TypeII_Codebook = -1;
|
|
static gint ett_nr_rrc_TypeII_CodebookPortSelection = -1;
|
|
static gint ett_nr_rrc_FeatureSetDownlinkPerCC = -1;
|
|
static gint ett_nr_rrc_FeatureSetUplink = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id = -1;
|
|
static gint ett_nr_rrc_T_pusch_DifferentTB_PerSlot = -1;
|
|
static gint ett_nr_rrc_CSI_ReportFramework = -1;
|
|
static gint ett_nr_rrc_FeatureSetUplinkPerCC = -1;
|
|
static gint ett_nr_rrc_T_mimo_CB_PUSCH = -1;
|
|
static gint ett_nr_rrc_FeatureSets = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC = -1;
|
|
static gint ett_nr_rrc_FreqBandList = -1;
|
|
static gint ett_nr_rrc_FreqBandInformation = -1;
|
|
static gint ett_nr_rrc_FreqBandInformationEUTRA = -1;
|
|
static gint ett_nr_rrc_FreqBandInformationNR = -1;
|
|
static gint ett_nr_rrc_MRDC_Parameters = -1;
|
|
static gint ett_nr_rrc_SupportedBandwidth = -1;
|
|
static gint ett_nr_rrc_UE_CapabilityRAT_ContainerList = -1;
|
|
static gint ett_nr_rrc_UE_CapabilityRAT_Container = -1;
|
|
static gint ett_nr_rrc_UE_MRDC_Capability = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination = -1;
|
|
static gint ett_nr_rrc_T_nonCriticalExtension_09 = -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;
|
|
static gint ett_nr_rrc_RF_ParametersMRDC = -1;
|
|
static gint ett_nr_rrc_MeasParametersMRDC = -1;
|
|
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_10 = -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;
|
|
static gint ett_nr_rrc_Phy_ParametersCommon = -1;
|
|
static gint ett_nr_rrc_Phy_ParametersXDD_Diff = -1;
|
|
static gint ett_nr_rrc_Phy_ParametersFRX_Diff = -1;
|
|
static gint ett_nr_rrc_Phy_ParametersFR1 = -1;
|
|
static gint ett_nr_rrc_Phy_ParametersFR2 = -1;
|
|
static gint ett_nr_rrc_RF_Parameters = -1;
|
|
static gint ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR = -1;
|
|
static gint ett_nr_rrc_BandNR = -1;
|
|
static gint ett_nr_rrc_MIMO_ParametersPerBand = -1;
|
|
static gint ett_nr_rrc_T_tci_StatePDSCH = -1;
|
|
static gint ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL = -1;
|
|
static gint ett_nr_rrc_T_uplinkBeamManagement = -1;
|
|
static gint ett_nr_rrc_T_beamReportTiming = -1;
|
|
static gint ett_nr_rrc_T_ptrs_DensityRecommendationSetDL = -1;
|
|
static gint ett_nr_rrc_T_ptrs_DensityRecommendationSetUL = -1;
|
|
static gint ett_nr_rrc_BeamManagementSSB_CSI_RS = -1;
|
|
static gint ett_nr_rrc_CSI_RS_ForTracking = -1;
|
|
static gint ett_nr_rrc_PTRS_DensityRecommendationDL = -1;
|
|
static gint ett_nr_rrc_PTRS_DensityRecommendationUL = -1;
|
|
static gint ett_nr_rrc_SRS_Resources = -1;
|
|
static gint ett_nr_rrc_SRS_TxSwitch = -1;
|
|
static gint ett_nr_rrc_PDCP_Parameters = -1;
|
|
static gint ett_nr_rrc_T_supportedROHC_Profiles = -1;
|
|
static gint ett_nr_rrc_RLC_Parameters = -1;
|
|
static gint ett_nr_rrc_MAC_Parameters = -1;
|
|
static gint ett_nr_rrc_MAC_ParametersCommon = -1;
|
|
static gint ett_nr_rrc_MAC_ParametersXDD_Diff = -1;
|
|
static gint ett_nr_rrc_MeasParameters = -1;
|
|
static gint ett_nr_rrc_MeasParametersCommon = -1;
|
|
static gint ett_nr_rrc_MeasParametersXDD_Diff = -1;
|
|
static gint ett_nr_rrc_MeasParametersFRX_Diff = -1;
|
|
|
|
/*--- End of included file: packet-nr-rrc-ett.c ---*/
|
|
#line 44 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
static gint ett_nr_rrc_UECapabilityInformation = -1;
|
|
|
|
typedef struct {
|
|
guint8 rat_type;
|
|
} nr_rrc_private_data_t;
|
|
|
|
/* Helper function to get or create a struct that will be actx->private_data */
|
|
static nr_rrc_private_data_t* nr_rrc_get_private_data(asn1_ctx_t *actx)
|
|
{
|
|
if (actx->private_data == NULL) {
|
|
actx->private_data = wmem_new0(wmem_packet_scope(), nr_rrc_private_data_t);
|
|
}
|
|
return (nr_rrc_private_data_t*)actx->private_data;
|
|
}
|
|
|
|
static guint8 private_data_get_rat_type(asn1_ctx_t *actx)
|
|
{
|
|
nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
|
|
return private_data->rat_type;
|
|
}
|
|
|
|
static void private_data_set_rat_type(asn1_ctx_t *actx, guint8 rat_type)
|
|
{
|
|
nr_rrc_private_data_t *private_data = (nr_rrc_private_data_t*)nr_rrc_get_private_data(actx);
|
|
private_data->rat_type = rat_type;
|
|
}
|
|
|
|
|
|
/*--- Included file: packet-nr-rrc-fn.c ---*/
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-fn.c"
|
|
/*--- PDUs declarations ---*/
|
|
static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
static int dissect_MeasResultSCG_Failure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_handoverCommandMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension, T_nonCriticalExtension_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverCommand_IEs_sequence[] = {
|
|
{ &hf_nr_rrc_handoverCommandMessage, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_handoverCommandMessage },
|
|
{ &hf_nr_rrc_nonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_HandoverCommand_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_HandoverCommand_IEs, HandoverCommand_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_c1_vals[] = {
|
|
{ 0, "handoverCommand" },
|
|
{ 1, "spare3" },
|
|
{ 2, "spare2" },
|
|
{ 3, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_c1_choice[] = {
|
|
{ 0, &hf_nr_rrc_handoverCommand, ASN1_NO_EXTENSIONS , dissect_nr_rrc_HandoverCommand_IEs },
|
|
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_c1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_c1, T_c1_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture, T_criticalExtensionsFuture_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_choice[] = {
|
|
{ 0, &hf_nr_rrc_c1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1 },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions, T_criticalExtensions_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverCommand_sequence[] = {
|
|
{ &hf_nr_rrc_criticalExtensions, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_HandoverCommand, HandoverCommand_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_RAT_Type_vals[] = {
|
|
{ RAT_Type_nr, "nr" },
|
|
{ RAT_Type_eutra_nr, "eutra-nr" },
|
|
{ RAT_Type_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 int
|
|
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_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;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1007U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_RSRP_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 127U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_RSRQ_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 127U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SINR_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 127U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasQuantityResults_sequence[] = {
|
|
{ &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
|
|
{ &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
|
|
{ &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasQuantityResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasQuantityResults, MeasQuantityResults_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_cellResults_sequence[] = {
|
|
{ &hf_nr_rrc_resultsSSB_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
|
|
{ &hf_nr_rrc_resultsCSI_RS_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cellResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_cellResults, T_cellResults_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResultsPerSSB_Index_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
|
|
{ &hf_nr_rrc_ssb_Results , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ResultsPerSSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ResultsPerSSB_Index, ResultsPerSSB_Index_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResultsPerSSB_IndexList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ResultsPerSSB_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerSSB_Index },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ResultsPerSSB_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ResultsPerSSB_IndexList, ResultsPerSSB_IndexList_sequence_of,
|
|
1, maxNrofSSBs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofCSI_RS_ResourcesRRM_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResultsPerCSI_RS_Index_sequence[] = {
|
|
{ &hf_nr_rrc_csi_RS_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
|
|
{ &hf_nr_rrc_csi_RS_Results, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasQuantityResults },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ResultsPerCSI_RS_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ResultsPerCSI_RS_Index, ResultsPerCSI_RS_Index_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ResultsPerCSI_RS_IndexList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ResultsPerCSI_RS_Index },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ResultsPerCSI_RS_IndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ResultsPerCSI_RS_IndexList, ResultsPerCSI_RS_IndexList_sequence_of,
|
|
1, maxNrofCSI_RS, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_rsIndexResults_sequence[] = {
|
|
{ &hf_nr_rrc_resultsSSB_Indexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerSSB_IndexList },
|
|
{ &hf_nr_rrc_resultsCSI_RS_Indexes, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ResultsPerCSI_RS_IndexList },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rsIndexResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_rsIndexResults, T_rsIndexResults_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_measResult_sequence[] = {
|
|
{ &hf_nr_rrc_cellResults , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellResults },
|
|
{ &hf_nr_rrc_rsIndexResults, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rsIndexResults },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_measResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_measResult, T_measResult_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResultNR_sequence[] = {
|
|
{ &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId },
|
|
{ &hf_nr_rrc_measResult , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measResult },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResultNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResultNR, MeasResultNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResultListNR_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasResultListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResultListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResultListNR, MeasResultListNR_sequence_of,
|
|
1, maxCellReport, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResult2NR_sequence[] = {
|
|
{ &hf_nr_rrc_ssbFrequency , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_refFreqCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_measResultServingCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR },
|
|
{ &hf_nr_rrc_measResultNeighCellListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultListNR },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResult2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResult2NR, MeasResult2NR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResultList2NR_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasResultList2NR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResult2NR },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResultList2NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResultList2NR, MeasResultList2NR_sequence_of,
|
|
1, maxFreq, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static 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_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_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_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 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 per_sequence_t ReestabNCellInfo_sequence[] = {
|
|
{ &hf_nr_rrc_cellIdentity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellIdentity },
|
|
{ &hf_nr_rrc_key_gNodeB_Star, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_256 },
|
|
{ &hf_nr_rrc_shortMAC_I , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ShortMAC_I },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReestabNCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReestabNCellInfo, ReestabNCellInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ReestabNCellInfoList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ReestabNCellInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReestabNCellInfo },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReestabNCellInfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReestabNCellInfoList, ReestabNCellInfoList_sequence_of,
|
|
1, maxCellPrep, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t 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_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 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);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BandCombinationIndexList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_BandCombinationIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombinationIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BandCombinationIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BandCombinationIndexList, BandCombinationIndexList_sequence_of,
|
|
1, maxBandComb, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_P_Max(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-30, 33U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_powerCoordination_FR1_sequence[] = {
|
|
{ &hf_nr_rrc_p_maxNR , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
|
|
{ &hf_nr_rrc_p_maxEUTRA , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_powerCoordination_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_powerCoordination_FR1, T_powerCoordination_FR1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofServingCells_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_servCellIndexRangeSCG_sequence[] = {
|
|
{ &hf_nr_rrc_lowBound , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_upBound , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_servCellIndexRangeSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_servCellIndexRangeSCG, T_servCellIndexRangeSCG_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxMeasFreqsMN, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxMeasIdentitiesMN, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ConfigRestrictInfoSCG_sequence[] = {
|
|
{ &hf_nr_rrc_allowedBC_ListMRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationIndexList },
|
|
{ &hf_nr_rrc_powerCoordination_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerCoordination_FR1 },
|
|
{ &hf_nr_rrc_servCellIndexRangeSCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_servCellIndexRangeSCG },
|
|
{ &hf_nr_rrc_maxMeasFreqsSCG_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasFreqsMN },
|
|
{ &hf_nr_rrc_maxMeasIdentitiesSCG_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxMeasIdentitiesMN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ConfigRestrictInfoSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ConfigRestrictInfoSCG, ConfigRestrictInfoSCG_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
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_01_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_01, T_nonCriticalExtension_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverPreparationInformation_IEs_sequence[] = {
|
|
{ &hf_nr_rrc_ue_CapabilityRAT_List, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UE_CapabilityRAT_ContainerList },
|
|
{ &hf_nr_rrc_sourceConfig , ASN1_NO_EXTENSIONS , ASN1_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_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_HandoverPreparationInformation_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_HandoverPreparationInformation_IEs, HandoverPreparationInformation_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_c1_01_vals[] = {
|
|
{ 0, "handoverPreparationInformation" },
|
|
{ 1, "spare3" },
|
|
{ 2, "spare2" },
|
|
{ 3, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_c1_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_handoverPreparationInformation, ASN1_NO_EXTENSIONS , dissect_nr_rrc_HandoverPreparationInformation_IEs },
|
|
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_c1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_c1_01, T_c1_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_01_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture_01, T_criticalExtensionsFuture_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_01_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_c1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_01 },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_01 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions_01, T_criticalExtensions_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t HandoverPreparationInformation_sequence[] = {
|
|
{ &hf_nr_rrc_criticalExtensions_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_HandoverPreparationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_HandoverPreparationInformation, HandoverPreparationInformation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scg_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ConfigRestrictModReqSCG_sequence[] = {
|
|
{ &hf_nr_rrc_requestedBC_MRDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationIndex },
|
|
{ &hf_nr_rrc_requestedP_MaxFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ConfigRestrictModReqSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ConfigRestrictModReqSCG, ConfigRestrictModReqSCG_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 9U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 19U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 31U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_39(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 39U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 59U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_69(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 69U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_79(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 79U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 127U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_159(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 159U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 255U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_319(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 319U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 511U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_639(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 639U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1023U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_1279(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1279U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 2047U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 2559U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_5119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 5119U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_10239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 10239U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_LongCycleStartOffset_vals[] = {
|
|
{ 0, "ms10" },
|
|
{ 1, "ms20" },
|
|
{ 2, "ms32" },
|
|
{ 3, "ms40" },
|
|
{ 4, "ms60" },
|
|
{ 5, "ms64" },
|
|
{ 6, "ms70" },
|
|
{ 7, "ms80" },
|
|
{ 8, "ms128" },
|
|
{ 9, "ms160" },
|
|
{ 10, "ms256" },
|
|
{ 11, "ms320" },
|
|
{ 12, "ms512" },
|
|
{ 13, "ms640" },
|
|
{ 14, "ms1024" },
|
|
{ 15, "ms1280" },
|
|
{ 16, "ms2048" },
|
|
{ 17, "ms2560" },
|
|
{ 18, "ms5120" },
|
|
{ 19, "ms10240" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_vals);
|
|
|
|
static const per_choice_t T_drx_LongCycleStartOffset_choice[] = {
|
|
{ 0, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 1, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 2, &hf_nr_rrc_ms32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 4, &hf_nr_rrc_ms60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_59 },
|
|
{ 5, &hf_nr_rrc_ms64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
|
|
{ 6, &hf_nr_rrc_ms70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_69 },
|
|
{ 7, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 8, &hf_nr_rrc_ms128 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_127 },
|
|
{ 9, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 10, &hf_nr_rrc_ms256 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 },
|
|
{ 11, &hf_nr_rrc_ms320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 12, &hf_nr_rrc_ms512 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_511 },
|
|
{ 13, &hf_nr_rrc_ms640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
|
|
{ 14, &hf_nr_rrc_ms1024 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1023 },
|
|
{ 15, &hf_nr_rrc_ms1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
|
|
{ 16, &hf_nr_rrc_ms2048 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2047 },
|
|
{ 17, &hf_nr_rrc_ms2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
|
|
{ 18, &hf_nr_rrc_ms5120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_5119 },
|
|
{ 19, &hf_nr_rrc_ms10240 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_10239 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_LongCycleStartOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_drx_LongCycleStartOffset, T_drx_LongCycleStartOffset_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_ShortCycle_vals[] = {
|
|
{ 0, "ms2" },
|
|
{ 1, "ms3" },
|
|
{ 2, "ms4" },
|
|
{ 3, "ms5" },
|
|
{ 4, "ms6" },
|
|
{ 5, "ms7" },
|
|
{ 6, "ms8" },
|
|
{ 7, "ms10" },
|
|
{ 8, "ms14" },
|
|
{ 9, "ms16" },
|
|
{ 10, "ms20" },
|
|
{ 11, "ms30" },
|
|
{ 12, "ms32" },
|
|
{ 13, "ms35" },
|
|
{ 14, "ms40" },
|
|
{ 15, "ms64" },
|
|
{ 16, "ms80" },
|
|
{ 17, "ms128" },
|
|
{ 18, "ms160" },
|
|
{ 19, "ms256" },
|
|
{ 20, "ms320" },
|
|
{ 21, "ms512" },
|
|
{ 22, "ms640" },
|
|
{ 23, "spare9" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_drx_ShortCycle_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_ShortCycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 16U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_shortDRX_sequence[] = {
|
|
{ &hf_nr_rrc_drx_ShortCycle, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle },
|
|
{ &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_shortDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_shortDRX, T_shortDRX_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRX_Info_sequence[] = {
|
|
{ &hf_nr_rrc_drx_LongCycleStartOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset },
|
|
{ &hf_nr_rrc_shortDRX , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DRX_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DRX_Info, DRX_Info_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_candidateCellInfoListSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultList2NR_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NR_FreqInfo_sequence[] = {
|
|
{ &hf_nr_rrc_measuredFrequency, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_NR_FreqInfo, NR_FreqInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo_sequence_of[1] = {
|
|
{ &hf_nr_rrc_measuredFrequenciesSN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_FreqInfo },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo, SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo_sequence_of,
|
|
1, maxMeasFreqsSN, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasConfigSN_sequence[] = {
|
|
{ &hf_nr_rrc_measuredFrequenciesSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasConfigSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasConfigSN, MeasConfigSN_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_fr_Type_vals[] = {
|
|
{ 0, "fr1" },
|
|
{ 1, "fr2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_fr_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FR_Info_sequence[] = {
|
|
{ &hf_nr_rrc_servCellIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_fr_Type , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_fr_Type },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FR_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FR_Info, FR_Info_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FR_InfoList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_FR_InfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FR_Info },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FR_InfoList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FR_InfoList, FR_InfoList_sequence_of,
|
|
1, maxNrofServingCells_1, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_02_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_02, T_nonCriticalExtension_02_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CG_Config_IEs_sequence[] = {
|
|
{ &hf_nr_rrc_scg_CellGroupConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_CellGroupConfig },
|
|
{ &hf_nr_rrc_scg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config },
|
|
{ &hf_nr_rrc_configRestrictModReq, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictModReqSCG },
|
|
{ &hf_nr_rrc_drx_InfoSCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info },
|
|
{ &hf_nr_rrc_candidateCellInfoListSN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN },
|
|
{ &hf_nr_rrc_measConfigSN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfigSN },
|
|
{ &hf_nr_rrc_selectedBandCombinationNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationIndex },
|
|
{ &hf_nr_rrc_fr_InfoListSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FR_InfoList },
|
|
{ &hf_nr_rrc_nonCriticalExtension_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_02 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CG_Config_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CG_Config_IEs, CG_Config_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_c1_02_vals[] = {
|
|
{ 0, "cg-Config" },
|
|
{ 1, "spare3" },
|
|
{ 2, "spare2" },
|
|
{ 3, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_c1_02_choice[] = {
|
|
{ 0, &hf_nr_rrc_cg_Config , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_Config_IEs },
|
|
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_c1_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_c1_02, T_c1_02_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_02_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture_02, T_criticalExtensionsFuture_02_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_02_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_02_choice[] = {
|
|
{ 0, &hf_nr_rrc_c1_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_02 },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_02 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions_02, T_criticalExtensions_02_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CG_Config_sequence[] = {
|
|
{ &hf_nr_rrc_criticalExtensions_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_02 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CG_Config, CG_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ue_CapabilityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_candidateCellInfoListSN_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_MeasResultList2NR_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M30720_30719(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-30720, 30719U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResultCellSFTD_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 const per_sequence_t SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of[1] = {
|
|
{ &hf_nr_rrc_measuredFrequenciesMN_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_FreqInfo },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo, SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo_sequence_of,
|
|
1, maxMeasFreqsMN, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mgl_vals[] = {
|
|
{ 0, "ms1dot5" },
|
|
{ 1, "ms3" },
|
|
{ 2, "ms3dot5" },
|
|
{ 3, "ms4" },
|
|
{ 4, "ms5dot5" },
|
|
{ 5, "ms6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mgl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mgrp_vals[] = {
|
|
{ 0, "ms20" },
|
|
{ 1, "ms40" },
|
|
{ 2, "ms80" },
|
|
{ 3, "ms160" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mgrp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mgta_vals[] = {
|
|
{ 0, "ms0" },
|
|
{ 1, "ms0dot25" },
|
|
{ 2, "ms0dot5" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mgta(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t GapConfig_sequence[] = {
|
|
{ &hf_nr_rrc_gapOffset , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_159 },
|
|
{ &hf_nr_rrc_mgl , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgl },
|
|
{ &hf_nr_rrc_mgrp , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgrp },
|
|
{ &hf_nr_rrc_mgta , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mgta },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_GapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_GapConfig, GapConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_measGapConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_measGapConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_measGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_measGapConfig, T_measGapConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_gapPurpose_vals[] = {
|
|
{ 0, "perUE" },
|
|
{ 1, "perFR1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_gapPurpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasConfigMN_sequence[] = {
|
|
{ &hf_nr_rrc_measuredFrequenciesMN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo },
|
|
{ &hf_nr_rrc_measGapConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measGapConfig },
|
|
{ &hf_nr_rrc_gapPurpose , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapPurpose },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasConfigMN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasConfigMN, MeasConfigMN_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sourceConfigSCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RRCReconfiguration_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scg_RB_Config_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mcg_RB_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_RadioBearerConfig_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_03_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_03, T_nonCriticalExtension_03_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CG_ConfigInfo_IEs_sequence[] = {
|
|
{ &hf_nr_rrc_ue_CapabilityInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_CapabilityInfo },
|
|
{ &hf_nr_rrc_candidateCellInfoListMN, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultList2NR },
|
|
{ &hf_nr_rrc_candidateCellInfoListSN_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_candidateCellInfoListSN_01 },
|
|
{ &hf_nr_rrc_measResultCellListSFTD, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultCellListSFTD },
|
|
{ &hf_nr_rrc_scgFailureInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scgFailureInfo },
|
|
{ &hf_nr_rrc_configRestrictInfo, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ConfigRestrictInfoSCG },
|
|
{ &hf_nr_rrc_drx_InfoMCG , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_DRX_Info },
|
|
{ &hf_nr_rrc_measConfigMN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfigMN },
|
|
{ &hf_nr_rrc_sourceConfigSCG, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sourceConfigSCG },
|
|
{ &hf_nr_rrc_scg_RB_Config_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scg_RB_Config_01 },
|
|
{ &hf_nr_rrc_mcg_RB_Config, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcg_RB_Config },
|
|
{ &hf_nr_rrc_nonCriticalExtension_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_03 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CG_ConfigInfo_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CG_ConfigInfo_IEs, CG_ConfigInfo_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_c1_03_vals[] = {
|
|
{ 0, "cg-ConfigInfo" },
|
|
{ 1, "spare3" },
|
|
{ 2, "spare2" },
|
|
{ 3, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_c1_03_choice[] = {
|
|
{ 0, &hf_nr_rrc_cg_ConfigInfo, ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_ConfigInfo_IEs },
|
|
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_c1_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_c1_03, T_c1_03_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_03_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture_03, T_criticalExtensionsFuture_03_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_03_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_03_choice[] = {
|
|
{ 0, &hf_nr_rrc_c1_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_03 },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture_03, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_03 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions_03, T_criticalExtensions_03_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CG_ConfigInfo_sequence[] = {
|
|
{ &hf_nr_rrc_criticalExtensions_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_03 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CG_ConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CG_ConfigInfo, CG_ConfigInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 4U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicityAndOffset_01_vals[] = {
|
|
{ 0, "sf5" },
|
|
{ 1, "sf10" },
|
|
{ 2, "sf20" },
|
|
{ 3, "sf40" },
|
|
{ 4, "sf80" },
|
|
{ 5, "sf160" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_periodicityAndOffset_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_sf5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
|
|
{ 1, &hf_nr_rrc_sf10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 2, &hf_nr_rrc_sf20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 3, &hf_nr_rrc_sf40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 4, &hf_nr_rrc_sf80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 5, &hf_nr_rrc_sf160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicityAndOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_periodicityAndOffset_01, T_periodicityAndOffset_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_duration_vals[] = {
|
|
{ 0, "sf1" },
|
|
{ 1, "sf2" },
|
|
{ 2, "sf3" },
|
|
{ 3, "sf4" },
|
|
{ 4, "sf5" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SSB_MTC_sequence[] = {
|
|
{ &hf_nr_rrc_periodicityAndOffset_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicityAndOffset_01 },
|
|
{ &hf_nr_rrc_duration_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_duration },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SSB_MTC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SSB_MTC, SSB_MTC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_frequencyAndTiming_sequence[] = {
|
|
{ &hf_nr_rrc_carrierFreq , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_ssb_MeasurementTimingConfiguration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_MTC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyAndTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_frequencyAndTiming, T_frequencyAndTiming_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasTiming_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyAndTiming, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyAndTiming },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasTiming, MeasTiming_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasTimingList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasTimingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTiming },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasTimingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasTimingList, MeasTimingList_sequence_of,
|
|
1, maxMeasFreqsMN, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_04_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_04, T_nonCriticalExtension_04_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasurementTimingConfiguration_IEs_sequence[] = {
|
|
{ &hf_nr_rrc_measTiming , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasTimingList },
|
|
{ &hf_nr_rrc_nonCriticalExtension_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_04 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasurementTimingConfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasurementTimingConfiguration_IEs, MeasurementTimingConfiguration_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_c1_04_vals[] = {
|
|
{ 0, "measTimingConf" },
|
|
{ 1, "spare3" },
|
|
{ 2, "spare2" },
|
|
{ 3, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_c1_04_choice[] = {
|
|
{ 0, &hf_nr_rrc_measTimingConf, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementTimingConfiguration_IEs },
|
|
{ 1, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_c1_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_c1_04, T_c1_04_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_04_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture_04, T_criticalExtensionsFuture_04_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_04_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_04_choice[] = {
|
|
{ 0, &hf_nr_rrc_c1_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_04 },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture_04, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_04 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions_04, T_criticalExtensions_04_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasurementTimingConfiguration_sequence[] = {
|
|
{ &hf_nr_rrc_criticalExtensions_04, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_04 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasurementTimingConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasurementTimingConfiguration, MeasurementTimingConfiguration_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
6, 6, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subCarrierSpacingCommon_vals[] = {
|
|
{ 0, "scs15or60" },
|
|
{ 1, "scs30or120" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subCarrierSpacingCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 15U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_TypeA_Position_vals[] = {
|
|
{ 0, "pos2" },
|
|
{ 1, "pos3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_TypeA_Position(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cellBarred_vals[] = {
|
|
{ 0, "barred" },
|
|
{ 1, "notBarred" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cellBarred(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_intraFreqReselection_vals[] = {
|
|
{ 0, "allowed" },
|
|
{ 1, "notAllowed" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_intraFreqReselection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
1, 1, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MIB_sequence[] = {
|
|
{ &hf_nr_rrc_systemFrameNumber, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
|
|
{ &hf_nr_rrc_subCarrierSpacingCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subCarrierSpacingCommon },
|
|
{ &hf_nr_rrc_ssb_SubcarrierOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_dmrs_TypeA_Position, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position },
|
|
{ &hf_nr_rrc_pdcch_ConfigSIB1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
|
|
{ &hf_nr_rrc_cellBarred , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cellBarred },
|
|
{ &hf_nr_rrc_intraFreqReselection, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_intraFreqReselection },
|
|
{ &hf_nr_rrc_spare , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MIB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MIB");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MIB, MIB_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_messageClassExtension_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_messageClassExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_messageClassExtension, T_messageClassExtension_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_BCCH_BCH_MessageType_vals[] = {
|
|
{ 0, "mib" },
|
|
{ 1, "messageClassExtension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t BCCH_BCH_MessageType_choice[] = {
|
|
{ 0, &hf_nr_rrc_mib , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MIB },
|
|
{ 1, &hf_nr_rrc_messageClassExtension, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BCCH_BCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BCCH_BCH_MessageType, BCCH_BCH_MessageType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BCCH_BCH_Message_sequence[] = {
|
|
{ &hf_nr_rrc_message , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BCCH_BCH_MessageType },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BCCH_BCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BCCH_BCH_Message, BCCH_BCH_Message_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_RRC_TransactionIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 3U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 3U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reestablishPDCP_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reestablishPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_discardOnPDCP_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_discardOnPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_discardTimer_vals[] = {
|
|
{ 0, "ms10" },
|
|
{ 1, "ms20" },
|
|
{ 2, "ms30" },
|
|
{ 3, "ms40" },
|
|
{ 4, "ms50" },
|
|
{ 5, "ms60" },
|
|
{ 6, "ms75" },
|
|
{ 7, "ms100" },
|
|
{ 8, "ms150" },
|
|
{ 9, "ms200" },
|
|
{ 10, "ms250" },
|
|
{ 11, "ms300" },
|
|
{ 12, "ms500" },
|
|
{ 13, "ms750" },
|
|
{ 14, "ms1500" },
|
|
{ 15, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_discardTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcp_SN_SizeUL_vals[] = {
|
|
{ 0, "len12bits" },
|
|
{ 1, "len18bits" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcp_SN_SizeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcp_SN_SizeDL_vals[] = {
|
|
{ 0, "len12bits" },
|
|
{ 1, "len18bits" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcp_SN_SizeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 16383U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_profiles_sequence[] = {
|
|
{ &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_profiles, T_profiles_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drb_ContinueROHC_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drb_ContinueROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_rohc_sequence[] = {
|
|
{ &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
|
|
{ &hf_nr_rrc_profiles , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles },
|
|
{ &hf_nr_rrc_drb_ContinueROHC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rohc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_rohc, T_rohc_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_profiles_01_sequence[] = {
|
|
{ &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_profiles_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_profiles_01, T_profiles_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drb_ContinueROHC_01_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drb_ContinueROHC_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_uplinkOnlyROHC_sequence[] = {
|
|
{ &hf_nr_rrc_maxCID , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_16383 },
|
|
{ &hf_nr_rrc_profiles_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_profiles_01 },
|
|
{ &hf_nr_rrc_drb_ContinueROHC_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_drb_ContinueROHC_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_uplinkOnlyROHC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_uplinkOnlyROHC, T_uplinkOnlyROHC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_headerCompression_vals[] = {
|
|
{ 0, "notUsed" },
|
|
{ 1, "rohc" },
|
|
{ 2, "uplinkOnlyROHC" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_headerCompression_choice[] = {
|
|
{ 0, &hf_nr_rrc_notUsed , ASN1_EXTENSION_ROOT , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_rohc , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_rohc },
|
|
{ 2, &hf_nr_rrc_uplinkOnlyROHC, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_uplinkOnlyROHC },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_headerCompression(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_headerCompression, T_headerCompression_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_integrityProtection_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_integrityProtection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_statusReportRequired_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_statusReportRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_outOfOrderDelivery_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_outOfOrderDelivery(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_drb_sequence[] = {
|
|
{ &hf_nr_rrc_discardTimer , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_discardTimer },
|
|
{ &hf_nr_rrc_pdcp_SN_SizeUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeUL },
|
|
{ &hf_nr_rrc_pdcp_SN_SizeDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcp_SN_SizeDL },
|
|
{ &hf_nr_rrc_headerCompression, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_headerCompression },
|
|
{ &hf_nr_rrc_integrityProtection, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_integrityProtection },
|
|
{ &hf_nr_rrc_statusReportRequired, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_statusReportRequired },
|
|
{ &hf_nr_rrc_outOfOrderDelivery, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_drb, T_drb_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CellGroupId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxSecondaryCellGroups, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxLC_ID, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_primaryPath_sequence[] = {
|
|
{ &hf_nr_rrc_cellGroup , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CellGroupId },
|
|
{ &hf_nr_rrc_logicalChannel, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelIdentity },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_primaryPath(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_primaryPath, T_primaryPath_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_UL_DataSplitThreshold_vals[] = {
|
|
{ 0, "b0" },
|
|
{ 1, "b100" },
|
|
{ 2, "b200" },
|
|
{ 3, "b400" },
|
|
{ 4, "b800" },
|
|
{ 5, "b1600" },
|
|
{ 6, "b3200" },
|
|
{ 7, "b6400" },
|
|
{ 8, "b12800" },
|
|
{ 9, "b25600" },
|
|
{ 10, "b51200" },
|
|
{ 11, "b102400" },
|
|
{ 12, "b204800" },
|
|
{ 13, "b409600" },
|
|
{ 14, "b819200" },
|
|
{ 15, "b1228800" },
|
|
{ 16, "b1638400" },
|
|
{ 17, "b2457600" },
|
|
{ 18, "b3276800" },
|
|
{ 19, "b4096000" },
|
|
{ 20, "b4915200" },
|
|
{ 21, "b5734400" },
|
|
{ 22, "b6553600" },
|
|
{ 23, "infinity" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_UL_DataSplitThreshold_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_UL_DataSplitThreshold_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_UL_DataSplitThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_moreThanOneRLC_sequence[] = {
|
|
{ &hf_nr_rrc_primaryPath , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_primaryPath },
|
|
{ &hf_nr_rrc_ul_DataSplitThreshold, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UL_DataSplitThreshold },
|
|
{ &hf_nr_rrc_pdcp_Duplication, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_moreThanOneRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_moreThanOneRLC, T_moreThanOneRLC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_t_Reordering_vals[] = {
|
|
{ 0, "ms0" },
|
|
{ 1, "ms1" },
|
|
{ 2, "ms2" },
|
|
{ 3, "ms4" },
|
|
{ 4, "ms5" },
|
|
{ 5, "ms8" },
|
|
{ 6, "ms10" },
|
|
{ 7, "ms15" },
|
|
{ 8, "ms20" },
|
|
{ 9, "ms30" },
|
|
{ 10, "ms40" },
|
|
{ 11, "ms50" },
|
|
{ 12, "ms60" },
|
|
{ 13, "ms80" },
|
|
{ 14, "ms100" },
|
|
{ 15, "ms120" },
|
|
{ 16, "ms140" },
|
|
{ 17, "ms160" },
|
|
{ 18, "ms180" },
|
|
{ 19, "ms200" },
|
|
{ 20, "ms220" },
|
|
{ 21, "ms240" },
|
|
{ 22, "ms260" },
|
|
{ 23, "ms280" },
|
|
{ 24, "ms300" },
|
|
{ 25, "ms500" },
|
|
{ 26, "ms750" },
|
|
{ 27, "ms1000" },
|
|
{ 28, "ms1250" },
|
|
{ 29, "ms1500" },
|
|
{ 30, "ms1750" },
|
|
{ 31, "ms2000" },
|
|
{ 32, "ms2250" },
|
|
{ 33, "ms2500" },
|
|
{ 34, "ms2750" },
|
|
{ 35, "ms3000" },
|
|
{ 36, "spare28" },
|
|
{ 37, "spare27" },
|
|
{ 38, "spare26" },
|
|
{ 39, "spare25" },
|
|
{ 40, "spare24" },
|
|
{ 41, "spare23" },
|
|
{ 42, "spare22" },
|
|
{ 43, "spare21" },
|
|
{ 44, "spare20" },
|
|
{ 45, "spare19" },
|
|
{ 46, "spare18" },
|
|
{ 47, "spare17" },
|
|
{ 48, "spare16" },
|
|
{ 49, "spare15" },
|
|
{ 50, "spare14" },
|
|
{ 51, "spare13" },
|
|
{ 52, "spare12" },
|
|
{ 53, "spare11" },
|
|
{ 54, "spare10" },
|
|
{ 55, "spare09" },
|
|
{ 56, "spare08" },
|
|
{ 57, "spare07" },
|
|
{ 58, "spare06" },
|
|
{ 59, "spare05" },
|
|
{ 60, "spare04" },
|
|
{ 61, "spare03" },
|
|
{ 62, "spare02" },
|
|
{ 63, "spare01" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_t_Reordering_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_t_Reordering_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_t_Reordering(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
64, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDCP_Config_sequence[] = {
|
|
{ &hf_nr_rrc_drb , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drb },
|
|
{ &hf_nr_rrc_moreThanOneRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_moreThanOneRLC },
|
|
{ &hf_nr_rrc_t_Reordering , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_t_Reordering },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDCP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDCP_Config, PDCP_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRB_ToAddMod_sequence[] = {
|
|
{ &hf_nr_rrc_srb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_Identity },
|
|
{ &hf_nr_rrc_reestablishPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP },
|
|
{ &hf_nr_rrc_discardOnPDCP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_discardOnPDCP },
|
|
{ &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRB_ToAddMod, SRB_ToAddMod_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRB_ToAddModList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_SRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRB_ToAddMod },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRB_ToAddModList, SRB_ToAddModList_sequence_of,
|
|
1, 2, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_srb3_ToRelease_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srb3_ToRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PDU_SessionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 255U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sdap_HeaderDL_vals[] = {
|
|
{ 0, "present" },
|
|
{ 1, "absent" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sdap_HeaderDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sdap_HeaderUL_vals[] = {
|
|
{ 0, "present" },
|
|
{ 1, "absent" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sdap_HeaderUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxQFI, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of[1] = {
|
|
{ &hf_nr_rrc_mappedQoS_FlowsToAdd_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QFI },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI, SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI_sequence_of,
|
|
1, maxNrofQFIs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SDAP_Config_sequence[] = {
|
|
{ &hf_nr_rrc_pdu_Session , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDU_SessionID },
|
|
{ &hf_nr_rrc_sdap_HeaderDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderDL },
|
|
{ &hf_nr_rrc_sdap_HeaderUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sdap_HeaderUL },
|
|
{ &hf_nr_rrc_defaultDRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_mappedQoS_FlowsToAdd, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
|
|
{ &hf_nr_rrc_mappedQoS_FlowsToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SDAP_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SDAP_Config, SDAP_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cnAssociation_vals[] = {
|
|
{ 0, "eps-BearerIdentity" },
|
|
{ 1, "sdap-Config" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_cnAssociation_choice[] = {
|
|
{ 0, &hf_nr_rrc_eps_BearerIdentity, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ 1, &hf_nr_rrc_sdap_Config , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SDAP_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cnAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_cnAssociation, T_cnAssociation_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_DRB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 32U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reestablishPDCP_01_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reestablishPDCP_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_recoverPDCP_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_recoverPDCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRB_ToAddMod_sequence[] = {
|
|
{ &hf_nr_rrc_cnAssociation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cnAssociation },
|
|
{ &hf_nr_rrc_drb_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
|
|
{ &hf_nr_rrc_reestablishPDCP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishPDCP_01 },
|
|
{ &hf_nr_rrc_recoverPDCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_recoverPDCP },
|
|
{ &hf_nr_rrc_pdcp_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDCP_Config },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DRB_ToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DRB_ToAddMod, DRB_ToAddMod_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRB_ToAddModList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_DRB_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_ToAddMod },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DRB_ToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DRB_ToAddModList, DRB_ToAddModList_sequence_of,
|
|
1, maxDRB, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRB_ToReleaseList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_DRB_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DRB_Identity },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DRB_ToReleaseList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DRB_ToReleaseList, DRB_ToReleaseList_sequence_of,
|
|
1, maxDRB, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_CipheringAlgorithm_vals[] = {
|
|
{ 0, "nea0" },
|
|
{ 1, "nea1" },
|
|
{ 2, "nea2" },
|
|
{ 3, "nea3" },
|
|
{ 4, "spare4" },
|
|
{ 5, "spare3" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CipheringAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_IntegrityProtAlgorithm_vals[] = {
|
|
{ 0, "nia0" },
|
|
{ 1, "nia1" },
|
|
{ 2, "nia2" },
|
|
{ 3, "nia3" },
|
|
{ 4, "spare4" },
|
|
{ 5, "spare3" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_IntegrityProtAlgorithm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SecurityAlgorithmConfig_sequence[] = {
|
|
{ &hf_nr_rrc_cipheringAlgorithm, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CipheringAlgorithm },
|
|
{ &hf_nr_rrc_integrityProtAlgorithm, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_IntegrityProtAlgorithm },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SecurityAlgorithmConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SecurityAlgorithmConfig, SecurityAlgorithmConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_keyToUse_vals[] = {
|
|
{ 0, "keNB" },
|
|
{ 1, "s-KgNB" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_keyToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SecurityConfig_sequence[] = {
|
|
{ &hf_nr_rrc_securityAlgorithmConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityAlgorithmConfig },
|
|
{ &hf_nr_rrc_keyToUse , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_keyToUse },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SecurityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SecurityConfig, SecurityConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RadioBearerConfig_sequence[] = {
|
|
{ &hf_nr_rrc_srb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRB_ToAddModList },
|
|
{ &hf_nr_rrc_srb3_ToRelease, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3_ToRelease },
|
|
{ &hf_nr_rrc_drb_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToAddModList },
|
|
{ &hf_nr_rrc_drb_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DRB_ToReleaseList },
|
|
{ &hf_nr_rrc_securityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SecurityConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RadioBearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RadioBearerConfig, RadioBearerConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_secondaryCellGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string_containing_pdu_new(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, dissect_nr_rrc_CellGroupConfig_PDU);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasObjectId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofObjectId, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasObjectToRemoveList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasObjectToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasObjectToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasObjectToRemoveList, MeasObjectToRemoveList_sequence_of,
|
|
1, maxNrofObjectId, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_SubcarrierSpacing_vals[] = {
|
|
{ 0, "kHz15" },
|
|
{ 1, "kHz30" },
|
|
{ 2, "kHz60" },
|
|
{ 3, "kHz120" },
|
|
{ 4, "kHz240" },
|
|
{ 5, "spare3" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_pci_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId, SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId_sequence_of,
|
|
1, maxNrofPCIsPerSMTC, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicity_02_vals[] = {
|
|
{ 0, "sf5" },
|
|
{ 1, "sf10" },
|
|
{ 2, "sf20" },
|
|
{ 3, "sf40" },
|
|
{ 4, "sf80" },
|
|
{ 5, "spare3" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicity_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SSB_MTC2_sequence[] = {
|
|
{ &hf_nr_rrc_pci_List , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId },
|
|
{ &hf_nr_rrc_periodicity_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_02 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SSB_MTC2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SSB_MTC2, SSB_MTC2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
4, 4, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
8, 8, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
64, 64, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_SSB_ToMeasure_vals[] = {
|
|
{ 0, "shortBitmap" },
|
|
{ 1, "mediumBitmap" },
|
|
{ 2, "longBitmap" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t SSB_ToMeasure_choice[] = {
|
|
{ 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
|
|
{ 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SSB_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SSB_ToMeasure, SSB_ToMeasure_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ssb_ToMeasure_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_ssb_ToMeasure_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_25 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_ToMeasure },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_ToMeasure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ssb_ToMeasure, T_ssb_ToMeasure_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_1_80(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
1, 80, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 3U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SS_RSSI_Measurement_sequence[] = {
|
|
{ &hf_nr_rrc_measurementSlots, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_1_80 },
|
|
{ &hf_nr_rrc_endSymbol , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SS_RSSI_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SS_RSSI_Measurement, SS_RSSI_Measurement_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SSB_ConfigMobility_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_ToMeasure, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_ToMeasure },
|
|
{ &hf_nr_rrc_useServingCellTimingForSync, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_ss_RSSI_Measurement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SS_RSSI_Measurement },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SSB_ConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SSB_ConfigMobility, SSB_ConfigMobility_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofPRBs_vals[] = {
|
|
{ 0, "size24" },
|
|
{ 1, "size48" },
|
|
{ 2, "size96" },
|
|
{ 3, "size192" },
|
|
{ 4, "size264" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofPRBs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_2169(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 2169U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_csi_rs_MeasurementBW_sequence[] = {
|
|
{ &hf_nr_rrc_nrofPRBs , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPRBs },
|
|
{ &hf_nr_rrc_startPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2169 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_rs_MeasurementBW(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_csi_rs_MeasurementBW, T_csi_rs_MeasurementBW_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_density_vals[] = {
|
|
{ 0, "d1" },
|
|
{ 1, "d3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_slotConfig_vals[] = {
|
|
{ 0, "ms4" },
|
|
{ 1, "ms5" },
|
|
{ 2, "ms10" },
|
|
{ 3, "ms20" },
|
|
{ 4, "ms40" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_slotConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_ms4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ 1, &hf_nr_rrc_ms5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 2, &hf_nr_rrc_ms10_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 3, &hf_nr_rrc_ms20_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 4, &hf_nr_rrc_ms40_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_slotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_slotConfig, T_slotConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_associatedSSB_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
|
|
{ &hf_nr_rrc_isQuasiColocated, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_associatedSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_associatedSSB, T_associatedSSB_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
12, 12, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_frequencyDomainAllocation_vals[] = {
|
|
{ 0, "row1" },
|
|
{ 1, "row2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_frequencyDomainAllocation_choice[] = {
|
|
{ 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
|
|
{ 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyDomainAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_frequencyDomainAllocation, T_frequencyDomainAllocation_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 13U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_RS_Resource_Mobility_sequence[] = {
|
|
{ &hf_nr_rrc_csi_RS_Index , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
|
|
{ &hf_nr_rrc_slotConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotConfig },
|
|
{ &hf_nr_rrc_associatedSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_associatedSSB },
|
|
{ &hf_nr_rrc_frequencyDomainAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation },
|
|
{ &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
|
|
{ &hf_nr_rrc_sequenceGenerationConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1023 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_RS_Resource_Mobility, CSI_RS_Resource_Mobility_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_rs_ResourceList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Resource_Mobility },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility_sequence_of,
|
|
1, maxNrofCSI_RS_ResourcesRRM, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_RS_CellMobility_sequence[] = {
|
|
{ &hf_nr_rrc_cellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
|
|
{ &hf_nr_rrc_csi_rs_MeasurementBW, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_rs_MeasurementBW },
|
|
{ &hf_nr_rrc_density , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_density },
|
|
{ &hf_nr_rrc_csi_rs_ResourceList_Mobility, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_RS_CellMobility, CSI_RS_CellMobility_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_RS_CellList_Mobility_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_CellMobility },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility, SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility_sequence_of,
|
|
1, maxNrofCSI_RS_CellsRRM, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_RS_ResourceConfigMobility_sequence[] = {
|
|
{ &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_csi_RS_CellList_Mobility, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_RS_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_RS_ResourceConfigMobility, CSI_RS_ResourceConfigMobility_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_rs_ResourceConfigMobility_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_csi_rs_ResourceConfigMobility_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_24 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_RS_ResourceConfigMobility },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_rs_ResourceConfigMobility(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_csi_rs_ResourceConfigMobility, T_csi_rs_ResourceConfigMobility_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ReferenceSignalConfig_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_ConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SSB_ConfigMobility },
|
|
{ &hf_nr_rrc_csi_rs_ResourceConfigMobility, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_rs_ResourceConfigMobility },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReferenceSignalConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReferenceSignalConfig, ReferenceSignalConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ThresholdNR_sequence[] = {
|
|
{ &hf_nr_rrc_thresholdRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
|
|
{ &hf_nr_rrc_thresholdRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RSRQ_Range },
|
|
{ &hf_nr_rrc_thresholdSINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SINR_Range },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ThresholdNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ThresholdNR, ThresholdNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
2U, maxNrofSS_BlocksToAverage, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
2U, maxNrofCSI_RS_ResourcesToAverage, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofQuantityConfig, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_Q_OffsetRange_vals[] = {
|
|
{ 0, "dB-24" },
|
|
{ 1, "dB-22" },
|
|
{ 2, "dB-20" },
|
|
{ 3, "dB-18" },
|
|
{ 4, "dB-16" },
|
|
{ 5, "dB-14" },
|
|
{ 6, "dB-12" },
|
|
{ 7, "dB-10" },
|
|
{ 8, "dB-8" },
|
|
{ 9, "dB-6" },
|
|
{ 10, "dB-5" },
|
|
{ 11, "dB-4" },
|
|
{ 12, "dB-3" },
|
|
{ 13, "dB-2" },
|
|
{ 14, "dB-1" },
|
|
{ 15, "dB0" },
|
|
{ 16, "dB1" },
|
|
{ 17, "dB2" },
|
|
{ 18, "dB3" },
|
|
{ 19, "dB4" },
|
|
{ 20, "dB5" },
|
|
{ 21, "dB6" },
|
|
{ 22, "dB8" },
|
|
{ 23, "dB10" },
|
|
{ 24, "dB12" },
|
|
{ 25, "dB14" },
|
|
{ 26, "dB16" },
|
|
{ 27, "dB18" },
|
|
{ 28, "dB20" },
|
|
{ 29, "dB22" },
|
|
{ 30, "dB24" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_Q_OffsetRange_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_Q_OffsetRange_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_Q_OffsetRange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
31, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Q_OffsetRangeList_sequence[] = {
|
|
{ &hf_nr_rrc_rsrpOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
|
|
{ &hf_nr_rrc_rsrqOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
|
|
{ &hf_nr_rrc_sinrOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
|
|
{ &hf_nr_rrc_rsrpOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
|
|
{ &hf_nr_rrc_rsrqOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
|
|
{ &hf_nr_rrc_sinrOffsetCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Q_OffsetRange },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_Q_OffsetRangeList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_Q_OffsetRangeList, Q_OffsetRangeList_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PCI_List_sequence_of[1] = {
|
|
{ &hf_nr_rrc_PCI_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PCI_List(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PCI_List, PCI_List_sequence_of,
|
|
1, maxNrofCellMeas, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CellsToAddMod_sequence[] = {
|
|
{ &hf_nr_rrc_physCellId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
|
|
{ &hf_nr_rrc_cellIndividualOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CellsToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CellsToAddMod, CellsToAddMod_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CellsToAddModList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_CellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellsToAddMod },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CellsToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CellsToAddModList, CellsToAddModList_sequence_of,
|
|
1, maxNrofCellMeas, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PCI_RangeIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofPCI_Ranges, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PCI_RangeIndexList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_PCI_RangeIndexList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PCI_RangeIndexList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PCI_RangeIndexList, PCI_RangeIndexList_sequence_of,
|
|
1, maxNrofPCI_Ranges, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_range_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n12" },
|
|
{ 3, "n16" },
|
|
{ 4, "n24" },
|
|
{ 5, "n32" },
|
|
{ 6, "n48" },
|
|
{ 7, "n64" },
|
|
{ 8, "n84" },
|
|
{ 9, "n96" },
|
|
{ 10, "n128" },
|
|
{ 11, "n168" },
|
|
{ 12, "n252" },
|
|
{ 13, "n504" },
|
|
{ 14, "n1008" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PCI_Range_sequence[] = {
|
|
{ &hf_nr_rrc_start , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PhysCellId },
|
|
{ &hf_nr_rrc_range , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_range },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PCI_Range(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PCI_Range, PCI_Range_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PCI_RangeElement_sequence[] = {
|
|
{ &hf_nr_rrc_pci_RangeIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeIndex },
|
|
{ &hf_nr_rrc_pci_Range , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_Range },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PCI_RangeElement, PCI_RangeElement_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of[1] = {
|
|
{ &hf_nr_rrc_blackCellsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PCI_RangeElement },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement, SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement_sequence_of,
|
|
1, maxNrofPCI_Ranges, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasObjectNR_sequence[] = {
|
|
{ &hf_nr_rrc_ssbFrequency , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_ssbSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_smtc1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC },
|
|
{ &hf_nr_rrc_smtc2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SSB_MTC2 },
|
|
{ &hf_nr_rrc_refFreqCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_referenceSignalConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReferenceSignalConfig },
|
|
{ &hf_nr_rrc_absThreshSS_BlocksConsolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
|
|
{ &hf_nr_rrc_absThreshCSI_RS_Consolidation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ThresholdNR },
|
|
{ &hf_nr_rrc_nrofSS_BlocksToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofSS_BlocksToAverage },
|
|
{ &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_maxNrofCSI_RS_ResourcesToAverage },
|
|
{ &hf_nr_rrc_quantityConfigIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofQuantityConfig },
|
|
{ &hf_nr_rrc_offsetMO , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Q_OffsetRangeList },
|
|
{ &hf_nr_rrc_cellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_List },
|
|
{ &hf_nr_rrc_cellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CellsToAddModList },
|
|
{ &hf_nr_rrc_blackCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
|
|
{ &hf_nr_rrc_blackCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
|
|
{ &hf_nr_rrc_whiteCellsToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PCI_RangeIndexList },
|
|
{ &hf_nr_rrc_whiteCellsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasObjectNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasObjectNR, MeasObjectNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_measObject_vals[] = {
|
|
{ 0, "measObjectNR" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_measObject_choice[] = {
|
|
{ 0, &hf_nr_rrc_measObjectNR , ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasObjectNR },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_measObject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_measObject, T_measObject_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasObjectToAddMod_sequence[] = {
|
|
{ &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
|
|
{ &hf_nr_rrc_measObject , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_measObject },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasObjectToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasObjectToAddMod, MeasObjectToAddMod_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasObjectToAddModList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasObjectToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectToAddMod },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasObjectToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasObjectToAddModList, MeasObjectToAddModList_sequence_of,
|
|
1, maxNrofObjectId, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxReportConfigId, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ReportConfigToRemoveList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ReportConfigToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReportConfigToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReportConfigToRemoveList, ReportConfigToRemoveList_sequence_of,
|
|
1, maxReportConfigId, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_NR_RS_Type_vals[] = {
|
|
{ 0, "ssb" },
|
|
{ 1, "csi-rs" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_NR_RS_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_ReportInterval_vals[] = {
|
|
{ 0, "ms120" },
|
|
{ 1, "ms240" },
|
|
{ 2, "ms480" },
|
|
{ 3, "ms640" },
|
|
{ 4, "ms1024" },
|
|
{ 5, "ms2048" },
|
|
{ 6, "ms5120" },
|
|
{ 7, "ms10240" },
|
|
{ 8, "ms20480" },
|
|
{ 9, "ms40960" },
|
|
{ 10, "min1" },
|
|
{ 11, "min6" },
|
|
{ 12, "min12" },
|
|
{ 13, "min30" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ReportInterval(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
14, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportAmount_01_vals[] = {
|
|
{ 0, "r1" },
|
|
{ 1, "r2" },
|
|
{ 2, "r4" },
|
|
{ 3, "r8" },
|
|
{ 4, "r16" },
|
|
{ 5, "r32" },
|
|
{ 6, "r64" },
|
|
{ 7, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportAmount_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasReportQuantity_sequence[] = {
|
|
{ &hf_nr_rrc_rsrp_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_rsrq_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_sinr_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasReportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasReportQuantity, MeasReportQuantity_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxCellReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxCellReport, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofIndexesToReport, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PeriodicalReportConfig_sequence[] = {
|
|
{ &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
|
|
{ &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
|
|
{ &hf_nr_rrc_reportAmount_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount_01 },
|
|
{ &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
|
|
{ &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
|
|
{ &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
|
|
{ &hf_nr_rrc_maxNrofRsIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
|
|
{ &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_useWhiteCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PeriodicalReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PeriodicalReportConfig, PeriodicalReportConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_MeasTriggerQuantity_vals[] = {
|
|
{ 0, "rsrp" },
|
|
{ 1, "rsrq" },
|
|
{ 2, "sinr" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t MeasTriggerQuantity_choice[] = {
|
|
{ 0, &hf_nr_rrc_rsrp , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
|
|
{ 1, &hf_nr_rrc_rsrq , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRQ_Range },
|
|
{ 2, &hf_nr_rrc_sinr , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SINR_Range },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasTriggerQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasTriggerQuantity, MeasTriggerQuantity_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_Hysteresis(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 30U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_TimeToTrigger_vals[] = {
|
|
{ 0, "ms0" },
|
|
{ 1, "ms40" },
|
|
{ 2, "ms64" },
|
|
{ 3, "ms80" },
|
|
{ 4, "ms100" },
|
|
{ 5, "ms128" },
|
|
{ 6, "ms160" },
|
|
{ 7, "ms256" },
|
|
{ 8, "ms320" },
|
|
{ 9, "ms480" },
|
|
{ 10, "ms512" },
|
|
{ 11, "ms640" },
|
|
{ 12, "ms1024" },
|
|
{ 13, "ms1280" },
|
|
{ 14, "ms2560" },
|
|
{ 15, "ms5120" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_TimeToTrigger(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eventA1_sequence[] = {
|
|
{ &hf_nr_rrc_a1_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
|
|
{ &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
|
|
{ &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eventA1, T_eventA1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eventA2_sequence[] = {
|
|
{ &hf_nr_rrc_a2_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
|
|
{ &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
|
|
{ &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eventA2, T_eventA2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M30_30(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-30, 30U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_MeasTriggerQuantityOffset_vals[] = {
|
|
{ 0, "rsrp" },
|
|
{ 1, "rsrq" },
|
|
{ 2, "sinr" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t MeasTriggerQuantityOffset_choice[] = {
|
|
{ 0, &hf_nr_rrc_rsrp_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
|
|
{ 1, &hf_nr_rrc_rsrq_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
|
|
{ 2, &hf_nr_rrc_sinr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_M30_30 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasTriggerQuantityOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasTriggerQuantityOffset, MeasTriggerQuantityOffset_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eventA3_sequence[] = {
|
|
{ &hf_nr_rrc_a3_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
|
|
{ &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
|
|
{ &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
|
|
{ &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventA3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eventA3, T_eventA3_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eventA4_sequence[] = {
|
|
{ &hf_nr_rrc_a4_Threshold , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
|
|
{ &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
|
|
{ &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
|
|
{ &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventA4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eventA4, T_eventA4_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eventA5_sequence[] = {
|
|
{ &hf_nr_rrc_a5_Threshold1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
|
|
{ &hf_nr_rrc_a5_Threshold2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantity },
|
|
{ &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
|
|
{ &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
|
|
{ &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventA5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eventA5, T_eventA5_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eventA6_sequence[] = {
|
|
{ &hf_nr_rrc_a6_Offset , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasTriggerQuantityOffset },
|
|
{ &hf_nr_rrc_reportOnLeave, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_hysteresis , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Hysteresis },
|
|
{ &hf_nr_rrc_timeToTrigger, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeToTrigger },
|
|
{ &hf_nr_rrc_useWhiteCellList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventA6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eventA6, T_eventA6_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_eventId_vals[] = {
|
|
{ 0, "eventA1" },
|
|
{ 1, "eventA2" },
|
|
{ 2, "eventA3" },
|
|
{ 3, "eventA4" },
|
|
{ 4, "eventA5" },
|
|
{ 5, "eventA6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_eventId_choice[] = {
|
|
{ 0, &hf_nr_rrc_eventA1 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA1 },
|
|
{ 1, &hf_nr_rrc_eventA2 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA2 },
|
|
{ 2, &hf_nr_rrc_eventA3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA3 },
|
|
{ 3, &hf_nr_rrc_eventA4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA4 },
|
|
{ 4, &hf_nr_rrc_eventA5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA5 },
|
|
{ 5, &hf_nr_rrc_eventA6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_eventA6 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eventId, T_eventId_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportAmount_vals[] = {
|
|
{ 0, "r1" },
|
|
{ 1, "r2" },
|
|
{ 2, "r4" },
|
|
{ 3, "r8" },
|
|
{ 4, "r16" },
|
|
{ 5, "r32" },
|
|
{ 6, "r64" },
|
|
{ 7, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportAmount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportAddNeighMeas_vals[] = {
|
|
{ 0, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportAddNeighMeas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t EventTriggerConfig_sequence[] = {
|
|
{ &hf_nr_rrc_eventId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_eventId },
|
|
{ &hf_nr_rrc_rsType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NR_RS_Type },
|
|
{ &hf_nr_rrc_reportInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportInterval },
|
|
{ &hf_nr_rrc_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportAmount },
|
|
{ &hf_nr_rrc_reportQuantityCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasReportQuantity },
|
|
{ &hf_nr_rrc_maxReportCells, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCellReport },
|
|
{ &hf_nr_rrc_reportQuantityRsIndexes, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasReportQuantity },
|
|
{ &hf_nr_rrc_maxNrofRSIndexesToReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofIndexesToReport },
|
|
{ &hf_nr_rrc_includeBeamMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_reportAddNeighMeas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportAddNeighMeas },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_EventTriggerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_EventTriggerConfig, EventTriggerConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportType_vals[] = {
|
|
{ 0, "periodical" },
|
|
{ 1, "eventTriggered" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_reportType_choice[] = {
|
|
{ 0, &hf_nr_rrc_periodical , ASN1_EXTENSION_ROOT , dissect_nr_rrc_PeriodicalReportConfig },
|
|
{ 1, &hf_nr_rrc_eventTriggered, ASN1_EXTENSION_ROOT , dissect_nr_rrc_EventTriggerConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_reportType, T_reportType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ReportConfigNR_sequence[] = {
|
|
{ &hf_nr_rrc_reportType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportType },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReportConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReportConfigNR, ReportConfigNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportConfig_vals[] = {
|
|
{ 0, "reportConfigNR" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_reportConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_reportConfigNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_ReportConfigNR },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_reportConfig, T_reportConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ReportConfigToAddMod_sequence[] = {
|
|
{ &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
|
|
{ &hf_nr_rrc_reportConfig , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReportConfigToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReportConfigToAddMod, ReportConfigToAddMod_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ReportConfigToAddModList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigToAddMod },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReportConfigToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReportConfigToAddModList, ReportConfigToAddModList_sequence_of,
|
|
1, maxReportConfigId, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofMeasId, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasIdToRemoveList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasIdToRemoveList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasIdToRemoveList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasIdToRemoveList, MeasIdToRemoveList_sequence_of,
|
|
1, maxNrofMeasId, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasIdToAddMod_sequence[] = {
|
|
{ &hf_nr_rrc_measId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
|
|
{ &hf_nr_rrc_measObjectId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasObjectId },
|
|
{ &hf_nr_rrc_reportConfigId_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ReportConfigId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasIdToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasIdToAddMod, MeasIdToAddMod_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasIdToAddModList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasIdToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasIdToAddMod },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasIdToAddModList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasIdToAddModList, MeasIdToAddModList_sequence_of,
|
|
1, maxNrofMeasId, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_s_MeasureConfig_vals[] = {
|
|
{ 0, "ssb-RSRP" },
|
|
{ 1, "csi-RSRP" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_s_MeasureConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
|
|
{ 1, &hf_nr_rrc_csi_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RSRP_Range },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_s_MeasureConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_s_MeasureConfig, T_s_MeasureConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_FilterCoefficient_vals[] = {
|
|
{ 0, "fc0" },
|
|
{ 1, "fc1" },
|
|
{ 2, "fc2" },
|
|
{ 3, "fc3" },
|
|
{ 4, "fc4" },
|
|
{ 5, "fc5" },
|
|
{ 6, "fc6" },
|
|
{ 7, "fc7" },
|
|
{ 8, "fc8" },
|
|
{ 9, "fc9" },
|
|
{ 10, "fc11" },
|
|
{ 11, "fc13" },
|
|
{ 12, "fc15" },
|
|
{ 13, "fc17" },
|
|
{ 14, "fc19" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FilterCoefficient(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FilterConfig_sequence[] = {
|
|
{ &hf_nr_rrc_filterCoefficientRSRP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
|
|
{ &hf_nr_rrc_filterCoefficientRSRQ, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
|
|
{ &hf_nr_rrc_filterCoefficientRS_SINR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FilterCoefficient },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FilterConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FilterConfig, FilterConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QuantityConfigRS_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
|
|
{ &hf_nr_rrc_cs_RS_FilterConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FilterConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_QuantityConfigRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_QuantityConfigRS, QuantityConfigRS_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QuantityConfigNR_sequence[] = {
|
|
{ &hf_nr_rrc_quantityConfigCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigRS },
|
|
{ &hf_nr_rrc_quantityConfigRS_Index, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfigRS },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_QuantityConfigNR, QuantityConfigNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of[1] = {
|
|
{ &hf_nr_rrc_quantityConfigNR_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QuantityConfigNR },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR, SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR_sequence_of,
|
|
1, maxNrofQuantityConfig, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QuantityConfig_sequence[] = {
|
|
{ &hf_nr_rrc_quantityConfigNR_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_QuantityConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_QuantityConfig, QuantityConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_gapFR2_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_gapFR2_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup , ASN1_NO_EXTENSIONS , dissect_nr_rrc_GapConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_gapFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_gapFR2, T_gapFR2_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasGapConfig_sequence[] = {
|
|
{ &hf_nr_rrc_gapFR2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapFR2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasGapConfig, MeasGapConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_MeasGapSharingScheme_vals[] = {
|
|
{ 0, "scheme00" },
|
|
{ 1, "scheme01" },
|
|
{ 2, "scheme10" },
|
|
{ 3, "scheme11" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasGapSharingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_gapSharingFR2_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_gapSharingFR2_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_23 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasGapSharingScheme },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_gapSharingFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_gapSharingFR2, T_gapSharingFR2_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasGapSharingConfig_sequence[] = {
|
|
{ &hf_nr_rrc_gapSharingFR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_gapSharingFR2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasGapSharingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasGapSharingConfig, MeasGapSharingConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasConfig_sequence[] = {
|
|
{ &hf_nr_rrc_measObjectToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToRemoveList },
|
|
{ &hf_nr_rrc_measObjectToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectToAddModList },
|
|
{ &hf_nr_rrc_reportConfigToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToRemoveList },
|
|
{ &hf_nr_rrc_reportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReportConfigToAddModList },
|
|
{ &hf_nr_rrc_measIdToRemoveList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToRemoveList },
|
|
{ &hf_nr_rrc_measIdToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasIdToAddModList },
|
|
{ &hf_nr_rrc_s_MeasureConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_s_MeasureConfig },
|
|
{ &hf_nr_rrc_quantityConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QuantityConfig },
|
|
{ &hf_nr_rrc_measGapConfig_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapConfig },
|
|
{ &hf_nr_rrc_measGapSharingConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasGapSharingConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasConfig, MeasConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
NO_BOUND, NO_BOUND, FALSE, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_06_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_06, T_nonCriticalExtension_06_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RRCReconfiguration_IEs_sequence[] = {
|
|
{ &hf_nr_rrc_radioBearerConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RadioBearerConfig },
|
|
{ &hf_nr_rrc_secondaryCellGroup, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_secondaryCellGroup },
|
|
{ &hf_nr_rrc_measConfig , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasConfig },
|
|
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
|
|
{ &hf_nr_rrc_nonCriticalExtension_06, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_06 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RRCReconfiguration_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RRCReconfiguration_IEs, RRCReconfiguration_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_06_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture_06, T_criticalExtensionsFuture_06_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_06_vals[] = {
|
|
{ 0, "rrcReconfiguration" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_06_choice[] = {
|
|
{ 0, &hf_nr_rrc_rrcReconfiguration_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfiguration_IEs },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture_06, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_06 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions_06, T_criticalExtensions_06_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RRCReconfiguration_sequence[] = {
|
|
{ &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
|
|
{ &hf_nr_rrc_criticalExtensions_06, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_06 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RRCReconfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RRCReconfiguration, RRCReconfiguration_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_c1_05_vals[] = {
|
|
{ 0, "rrcReconfiguration" },
|
|
{ 1, "spare15" },
|
|
{ 2, "spare14" },
|
|
{ 3, "spare13" },
|
|
{ 4, "spare12" },
|
|
{ 5, "spare11" },
|
|
{ 6, "spare10" },
|
|
{ 7, "spare9" },
|
|
{ 8, "spare8" },
|
|
{ 9, "spare7" },
|
|
{ 10, "spare6" },
|
|
{ 11, "spare5" },
|
|
{ 12, "spare4" },
|
|
{ 13, "spare3" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_c1_05_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 },
|
|
{ 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_c1_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_c1_05, T_c1_05_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_messageClassExtension_01_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_messageClassExtension_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_messageClassExtension_01, T_messageClassExtension_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_DL_DCCH_MessageType_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "messageClassExtension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t DL_DCCH_MessageType_choice[] = {
|
|
{ 0, &hf_nr_rrc_c1_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_05 },
|
|
{ 1, &hf_nr_rrc_messageClassExtension_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_01 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DL_DCCH_MessageType, DL_DCCH_MessageType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DL_DCCH_Message_sequence[] = {
|
|
{ &hf_nr_rrc_message_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_DCCH_MessageType },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
actx->pinfo->link_dir = P2P_DIR_DL;
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DL_DCCH_Message, DL_DCCH_Message_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResultServMO_sequence[] = {
|
|
{ &hf_nr_rrc_servCellId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_measResultServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultNR },
|
|
{ &hf_nr_rrc_measResultBestNeighCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasResultNR },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResultServMO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResultServMO, MeasResultServMO_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResultServMOList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MeasResultServMOList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMO },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResultServMOList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResultServMOList, MeasResultServMOList_sequence_of,
|
|
1, maxNrofServingCells, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_measResultNeighCells_vals[] = {
|
|
{ 0, "measResultListNR" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_measResultNeighCells_choice[] = {
|
|
{ 0, &hf_nr_rrc_measResultListNR, ASN1_EXTENSION_ROOT , dissect_nr_rrc_MeasResultListNR },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_measResultNeighCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_measResultNeighCells, T_measResultNeighCells_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResults_sequence[] = {
|
|
{ &hf_nr_rrc_measId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasId },
|
|
{ &hf_nr_rrc_measResultServingMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultServMOList },
|
|
{ &hf_nr_rrc_measResultNeighCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_measResultNeighCells },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResults(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResults, MeasResults_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_05_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_05, T_nonCriticalExtension_05_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t 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_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_05 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasurementReport_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasurementReport_IEs, MeasurementReport_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_05_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture_05, T_criticalExtensionsFuture_05_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_05_vals[] = {
|
|
{ 0, "measurementReport" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_05_choice[] = {
|
|
{ 0, &hf_nr_rrc_measurementReport_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_MeasurementReport_IEs },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture_05, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_05 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions_05, T_criticalExtensions_05_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasurementReport_sequence[] = {
|
|
{ &hf_nr_rrc_criticalExtensions_05, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_05 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Measurement Report");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasurementReport, MeasurementReport_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_07_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_07, T_nonCriticalExtension_07_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RRCReconfigurationComplete_IEs_sequence[] = {
|
|
{ &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 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RRCReconfigurationComplete_IEs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RRCReconfigurationComplete_IEs, RRCReconfigurationComplete_IEs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_criticalExtensionsFuture_07_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensionsFuture_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensionsFuture_07, T_criticalExtensionsFuture_07_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_criticalExtensions_07_vals[] = {
|
|
{ 0, "rrcReconfigurationComplete" },
|
|
{ 1, "criticalExtensionsFuture" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_criticalExtensions_07_choice[] = {
|
|
{ 0, &hf_nr_rrc_rrcReconfigurationComplete_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RRCReconfigurationComplete_IEs },
|
|
{ 1, &hf_nr_rrc_criticalExtensionsFuture_07, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_criticalExtensionsFuture_07 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_criticalExtensions_07(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_criticalExtensions_07, T_criticalExtensions_07_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RRCReconfigurationComplete_sequence[] = {
|
|
{ &hf_nr_rrc_rrc_TransactionIdentifier, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RRC_TransactionIdentifier },
|
|
{ &hf_nr_rrc_criticalExtensions_07, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_criticalExtensions_07 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RRCReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RRC Reconfiguration Complete");
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RRCReconfigurationComplete, RRCReconfigurationComplete_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_c1_06_vals[] = {
|
|
{ 0, "measurementReport" },
|
|
{ 1, "rrcReconfigurationComplete" },
|
|
{ 2, "spare14" },
|
|
{ 3, "spare13" },
|
|
{ 4, "spare12" },
|
|
{ 5, "spare11" },
|
|
{ 6, "spare10" },
|
|
{ 7, "spare9" },
|
|
{ 8, "spare8" },
|
|
{ 9, "spare7" },
|
|
{ 10, "spare6" },
|
|
{ 11, "spare5" },
|
|
{ 12, "spare4" },
|
|
{ 13, "spare3" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_c1_06_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 },
|
|
{ 3, &hf_nr_rrc_spare13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 4, &hf_nr_rrc_spare12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 5, &hf_nr_rrc_spare11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 6, &hf_nr_rrc_spare10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 7, &hf_nr_rrc_spare9 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 8, &hf_nr_rrc_spare8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 9, &hf_nr_rrc_spare7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 10, &hf_nr_rrc_spare6 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 11, &hf_nr_rrc_spare5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 12, &hf_nr_rrc_spare4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 13, &hf_nr_rrc_spare3 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 14, &hf_nr_rrc_spare2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 15, &hf_nr_rrc_spare1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_c1_06(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_c1_06, T_c1_06_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_messageClassExtension_02_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_messageClassExtension_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_messageClassExtension_02, T_messageClassExtension_02_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_UL_DCCH_MessageType_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "messageClassExtension" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t UL_DCCH_MessageType_choice[] = {
|
|
{ 0, &hf_nr_rrc_c1_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_c1_06 },
|
|
{ 1, &hf_nr_rrc_messageClassExtension_02, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_messageClassExtension_02 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UL_DCCH_MessageType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UL_DCCH_MessageType, UL_DCCH_MessageType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UL_DCCH_Message_sequence[] = {
|
|
{ &hf_nr_rrc_message_02 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_DCCH_MessageType },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UL_DCCH_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
proto_item *ti;
|
|
|
|
col_set_str(actx->pinfo->cinfo, COL_PROTOCOL, "NR RRC");
|
|
col_clear(actx->pinfo->cinfo, COL_INFO);
|
|
|
|
ti = proto_tree_add_item(tree, proto_nr_rrc, tvb, 0, -1, ENC_NA);
|
|
tree = proto_item_add_subtree(ti, ett_nr_rrc);
|
|
|
|
actx->pinfo->link_dir = P2P_DIR_UL;
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UL_DCCH_Message, UL_DCCH_Message_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_frequencyOffsetSSB_vals[] = {
|
|
{ 0, "khz-5" },
|
|
{ 1, "khz5" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyOffsetSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ssb_PositionsInBurst_sequence[] = {
|
|
{ &hf_nr_rrc_inOneGroup , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ &hf_nr_rrc_groupPresence, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_PositionsInBurst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ssb_PositionsInBurst, T_ssb_PositionsInBurst_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ssb_PeriodicityServingCell_vals[] = {
|
|
{ 0, "ms5" },
|
|
{ 1, "ms10" },
|
|
{ 2, "ms20" },
|
|
{ 3, "ms40" },
|
|
{ 4, "ms80" },
|
|
{ 5, "ms160" },
|
|
{ 6, "spare1" },
|
|
{ 7, "spare2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_PeriodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M60_50(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-60, 50U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FreqBandIndicatorNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 1024U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MultiFrequencyBandListNR_sequence_of[1] = {
|
|
{ &hf_nr_rrc_MultiFrequencyBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MultiFrequencyBandListNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MultiFrequencyBandListNR, MultiFrequencyBandListNR_sequence_of,
|
|
1, maxNrofMultiBands, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_2199(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 2199U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofPhysicalResourceBlocks, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SCS_SpecificCarrier_sequence[] = {
|
|
{ &hf_nr_rrc_offsetToCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_2199 },
|
|
{ &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_carrierBandwidth, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SCS_SpecificCarrier, SCS_SpecificCarrier_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of[1] = {
|
|
{ &hf_nr_rrc_scs_SpecificCarrierList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCS_SpecificCarrier },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier, SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier_sequence_of,
|
|
1, maxSCSs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_AdditionalSpectrumEmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 7U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_frequencyShift7p5khz_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyShift7p5khz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FrequencyInfoUL_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MultiFrequencyBandListNR },
|
|
{ &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
|
|
{ &hf_nr_rrc_additionalSpectrumEmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_AdditionalSpectrumEmission },
|
|
{ &hf_nr_rrc_p_Max , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
|
|
{ &hf_nr_rrc_frequencyShift7p5khz, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyShift7p5khz },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FrequencyInfoUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FrequencyInfoUL, FrequencyInfoUL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_37949(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 37949U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cyclicPrefix_vals[] = {
|
|
{ 0, "extended" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cyclicPrefix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BWP_sequence[] = {
|
|
{ &hf_nr_rrc_locationAndBandwidth, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_37949 },
|
|
{ &hf_nr_rrc_subcarrierSpacing, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_cyclicPrefix , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cyclicPrefix },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BWP, BWP_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_msg1_FDM_vals[] = {
|
|
{ 0, "one" },
|
|
{ 1, "two" },
|
|
{ 2, "four" },
|
|
{ 3, "eight" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_msg1_FDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M202_M60(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-202, -60, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_preambleTransMax_vals[] = {
|
|
{ 0, "n3" },
|
|
{ 1, "n4" },
|
|
{ 2, "n5" },
|
|
{ 3, "n6" },
|
|
{ 4, "n7" },
|
|
{ 5, "n8" },
|
|
{ 6, "n10" },
|
|
{ 7, "n20" },
|
|
{ 8, "n50" },
|
|
{ 9, "n100" },
|
|
{ 10, "n200" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_preambleTransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
11, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_powerRampingStep_vals[] = {
|
|
{ 0, "dB0" },
|
|
{ 1, "dB2" },
|
|
{ 2, "dB4" },
|
|
{ 3, "dB6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_powerRampingStep(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ra_ResponseWindow_vals[] = {
|
|
{ 0, "sl1" },
|
|
{ 1, "sl2" },
|
|
{ 2, "sl4" },
|
|
{ 3, "sl8" },
|
|
{ 4, "sl10" },
|
|
{ 5, "sl20" },
|
|
{ 6, "sl40" },
|
|
{ 7, "sl80" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ra_ResponseWindow(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RACH_ConfigGeneric_sequence[] = {
|
|
{ &hf_nr_rrc_prach_ConfigurationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
|
|
{ &hf_nr_rrc_msg1_FDM , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_msg1_FDM },
|
|
{ &hf_nr_rrc_msg1_FrequencyStart, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
|
|
{ &hf_nr_rrc_zeroCorrelationZoneConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_preambleReceivedTargetPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M202_M60 },
|
|
{ &hf_nr_rrc_preambleTransMax, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_preambleTransMax },
|
|
{ &hf_nr_rrc_powerRampingStep, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStep },
|
|
{ &hf_nr_rrc_ra_ResponseWindow, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ResponseWindow },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RACH_ConfigGeneric(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RACH_ConfigGeneric, RACH_ConfigGeneric_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 63U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_oneEighth_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n12" },
|
|
{ 3, "n16" },
|
|
{ 4, "n20" },
|
|
{ 5, "n24" },
|
|
{ 6, "n28" },
|
|
{ 7, "n32" },
|
|
{ 8, "n36" },
|
|
{ 9, "n40" },
|
|
{ 10, "n44" },
|
|
{ 11, "n48" },
|
|
{ 12, "n52" },
|
|
{ 13, "n56" },
|
|
{ 14, "n60" },
|
|
{ 15, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_oneEighth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_oneFourth_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n12" },
|
|
{ 3, "n16" },
|
|
{ 4, "n20" },
|
|
{ 5, "n24" },
|
|
{ 6, "n28" },
|
|
{ 7, "n32" },
|
|
{ 8, "n36" },
|
|
{ 9, "n40" },
|
|
{ 10, "n44" },
|
|
{ 11, "n48" },
|
|
{ 12, "n52" },
|
|
{ 13, "n56" },
|
|
{ 14, "n60" },
|
|
{ 15, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_oneFourth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_oneHalf_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n12" },
|
|
{ 3, "n16" },
|
|
{ 4, "n20" },
|
|
{ 5, "n24" },
|
|
{ 6, "n28" },
|
|
{ 7, "n32" },
|
|
{ 8, "n36" },
|
|
{ 9, "n40" },
|
|
{ 10, "n44" },
|
|
{ 11, "n48" },
|
|
{ 12, "n52" },
|
|
{ 13, "n56" },
|
|
{ 14, "n60" },
|
|
{ 15, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_oneHalf(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_one_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n12" },
|
|
{ 3, "n16" },
|
|
{ 4, "n20" },
|
|
{ 5, "n24" },
|
|
{ 6, "n28" },
|
|
{ 7, "n32" },
|
|
{ 8, "n36" },
|
|
{ 9, "n40" },
|
|
{ 10, "n44" },
|
|
{ 11, "n48" },
|
|
{ 12, "n52" },
|
|
{ 13, "n56" },
|
|
{ 14, "n60" },
|
|
{ 15, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_one(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_two_01_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n12" },
|
|
{ 3, "n16" },
|
|
{ 4, "n20" },
|
|
{ 5, "n24" },
|
|
{ 6, "n28" },
|
|
{ 7, "n32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_two_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 8U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 4U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals[] = {
|
|
{ 0, "oneEighth" },
|
|
{ 1, "oneFourth" },
|
|
{ 2, "oneHalf" },
|
|
{ 3, "one" },
|
|
{ 4, "two" },
|
|
{ 5, "four" },
|
|
{ 6, "eight" },
|
|
{ 7, "sixteen" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice[] = {
|
|
{ 0, &hf_nr_rrc_oneEighth , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneEighth },
|
|
{ 1, &hf_nr_rrc_oneFourth , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneFourth },
|
|
{ 2, &hf_nr_rrc_oneHalf , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_oneHalf },
|
|
{ 3, &hf_nr_rrc_one_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_one },
|
|
{ 4, &hf_nr_rrc_two_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_two_01 },
|
|
{ 5, &hf_nr_rrc_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_16 },
|
|
{ 6, &hf_nr_rrc_eight , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_8 },
|
|
{ 7, &hf_nr_rrc_sixteen , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_4 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ra_Msg3SizeGroupA_vals[] = {
|
|
{ 0, "b56" },
|
|
{ 1, "b144" },
|
|
{ 2, "b208" },
|
|
{ 3, "b256" },
|
|
{ 4, "b282" },
|
|
{ 5, "b480" },
|
|
{ 6, "b640" },
|
|
{ 7, "b800" },
|
|
{ 8, "b1000" },
|
|
{ 9, "spare7" },
|
|
{ 10, "spare6" },
|
|
{ 11, "spare5" },
|
|
{ 12, "spare4" },
|
|
{ 13, "spare3" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ra_Msg3SizeGroupA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_messagePowerOffsetGroupB_vals[] = {
|
|
{ 0, "minusinfinity" },
|
|
{ 1, "dB0" },
|
|
{ 2, "dB5" },
|
|
{ 3, "dB8" },
|
|
{ 4, "dB10" },
|
|
{ 5, "dB12" },
|
|
{ 6, "dB15" },
|
|
{ 7, "dB18" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_messagePowerOffsetGroupB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 64U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_groupBconfigured_sequence[] = {
|
|
{ &hf_nr_rrc_ra_Msg3SizeGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_Msg3SizeGroupA },
|
|
{ &hf_nr_rrc_messagePowerOffsetGroupB, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_messagePowerOffsetGroupB },
|
|
{ &hf_nr_rrc_numberOfRA_PreamblesGroupA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_groupBconfigured(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_groupBconfigured, T_groupBconfigured_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ra_ContentionResolutionTimer_vals[] = {
|
|
{ 0, "sf8" },
|
|
{ 1, "sf16" },
|
|
{ 2, "sf24" },
|
|
{ 3, "sf32" },
|
|
{ 4, "sf40" },
|
|
{ 5, "sf48" },
|
|
{ 6, "sf56" },
|
|
{ 7, "sf64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ra_ContentionResolutionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_837(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 837U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_137(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 137U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_prach_RootSequenceIndex_vals[] = {
|
|
{ 0, "l839" },
|
|
{ 1, "l139" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_prach_RootSequenceIndex_choice[] = {
|
|
{ 0, &hf_nr_rrc_l839 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_837 },
|
|
{ 1, &hf_nr_rrc_l139 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_137 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_prach_RootSequenceIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_prach_RootSequenceIndex, T_prach_RootSequenceIndex_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_restrictedSetConfig_vals[] = {
|
|
{ 0, "unrestrictedSet" },
|
|
{ 1, "restrictedSetTypeA" },
|
|
{ 2, "restrictedSetTypeB" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_restrictedSetConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_msg3_transformPrecoding_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_msg3_transformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RACH_ConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_rach_ConfigGeneric, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric },
|
|
{ &hf_nr_rrc_totalNumberOfRA_Preambles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_63 },
|
|
{ &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB },
|
|
{ &hf_nr_rrc_groupBconfigured, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBconfigured },
|
|
{ &hf_nr_rrc_ra_ContentionResolutionTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_ContentionResolutionTimer },
|
|
{ &hf_nr_rrc_rsrp_ThresholdSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
|
|
{ &hf_nr_rrc_rsrp_ThresholdSSB_SUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
|
|
{ &hf_nr_rrc_prach_RootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prach_RootSequenceIndex },
|
|
{ &hf_nr_rrc_msg1_SubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_restrictedSetConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_restrictedSetConfig },
|
|
{ &hf_nr_rrc_msg3_transformPrecoding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_msg3_transformPrecoding },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RACH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RACH_ConfigCommon, RACH_ConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rach_ConfigCommon_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_rach_ConfigCommon_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigCommon },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rach_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_rach_ConfigCommon, T_rach_ConfigCommon_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 32U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mappingType_01_vals[] = {
|
|
{ 0, "typeA" },
|
|
{ 1, "typeB" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mappingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_TimeDomainResourceAllocation_sequence[] = {
|
|
{ &hf_nr_rrc_k2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 },
|
|
{ &hf_nr_rrc_mappingType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType_01 },
|
|
{ &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_TimeDomainResourceAllocation, PUSCH_TimeDomainResourceAllocation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_TimeDomainResourceAllocationList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_TimeDomainResourceAllocation },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList, PUSCH_TimeDomainResourceAllocationList_sequence_of,
|
|
1, maxNrofUL_Allocations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-1, 6U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M202_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-202, 24U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_ConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_groupHoppingEnabledTransformPrecoding, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupHoppingEnabledTransformPrecoding },
|
|
{ &hf_nr_rrc_pusch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList },
|
|
{ &hf_nr_rrc_msg3_DeltaPreamble, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M1_6 },
|
|
{ &hf_nr_rrc_p0_NominalWithGrant, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_ConfigCommon, PUSCH_ConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_ConfigCommon_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pusch_ConfigCommon_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ConfigCommon },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pusch_ConfigCommon, T_pusch_ConfigCommon_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_GroupHopping_vals[] = {
|
|
{ 0, "neither" },
|
|
{ 1, "enable" },
|
|
{ 2, "disable" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_GroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_1024(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, 1024U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_ConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_pucch_ResourceCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_pucch_GroupHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pucch_GroupHopping },
|
|
{ &hf_nr_rrc_hoppingId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1024 },
|
|
{ &hf_nr_rrc_p0_nominal , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_ConfigCommon, PUCCH_ConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_ConfigCommon_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pucch_ConfigCommon_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_03 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_ConfigCommon },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pucch_ConfigCommon, T_pucch_ConfigCommon_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BWP_UplinkCommon_sequence[] = {
|
|
{ &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
|
|
{ &hf_nr_rrc_rach_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigCommon },
|
|
{ &hf_nr_rrc_pusch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ConfigCommon },
|
|
{ &hf_nr_rrc_pucch_ConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_ConfigCommon },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP_UplinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BWP_UplinkCommon, BWP_UplinkCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_TimeAlignmentTimer_vals[] = {
|
|
{ 0, "ms500" },
|
|
{ 1, "ms750" },
|
|
{ 2, "ms1280" },
|
|
{ 3, "ms1920" },
|
|
{ 4, "ms2560" },
|
|
{ 5, "ms5120" },
|
|
{ 6, "ms10240" },
|
|
{ 7, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_TimeAlignmentTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UplinkConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyInfoUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoUL },
|
|
{ &hf_nr_rrc_initialUplinkBWP_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon },
|
|
{ &hf_nr_rrc_timeAlignmentTimerCommon, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UplinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UplinkConfigCommon, UplinkConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_supplementaryUplink_sequence[] = {
|
|
{ &hf_nr_rrc_uplinkConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supplementaryUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_supplementaryUplink, T_supplementaryUplink_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dl_UL_TransmissionPeriodicity_vals[] = {
|
|
{ 0, "ms0p5" },
|
|
{ 1, "ms0p625" },
|
|
{ 2, "ms1" },
|
|
{ 3, "ms1p25" },
|
|
{ 4, "ms2" },
|
|
{ 5, "ms2p5" },
|
|
{ 6, "ms5" },
|
|
{ 7, "ms10" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxNrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSlots, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSymbols_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TDD_UL_DL_Pattern_sequence[] = {
|
|
{ &hf_nr_rrc_dl_UL_TransmissionPeriodicity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dl_UL_TransmissionPeriodicity },
|
|
{ &hf_nr_rrc_nrofDownlinkSlots, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots },
|
|
{ &hf_nr_rrc_nrofDownlinkSymbols, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
|
|
{ &hf_nr_rrc_nrofUplinkSlots, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSlots },
|
|
{ &hf_nr_rrc_nrofUplinkSymbols, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofSymbols_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TDD_UL_DL_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TDD_UL_DL_Pattern, TDD_UL_DL_Pattern_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TDD_UL_DL_ConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_referenceSubcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_pattern1_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_Pattern },
|
|
{ &hf_nr_rrc_pattern2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_Pattern },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TDD_UL_DL_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TDD_UL_DL_ConfigCommon, TDD_UL_DL_ConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofControlResourceSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_45(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
45, 45, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxCoReSetDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxCoReSetDuration, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reg_BundleSize_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n3" },
|
|
{ 2, "n6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reg_BundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_interleaverSize_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n3" },
|
|
{ 2, "n6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_interleaverSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_interleaved_sequence[] = {
|
|
{ &hf_nr_rrc_reg_BundleSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reg_BundleSize },
|
|
{ &hf_nr_rrc_interleaverSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_interleaverSize },
|
|
{ &hf_nr_rrc_shiftIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_interleaved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_interleaved, T_interleaved_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cce_REG_MappingType_vals[] = {
|
|
{ 0, "interleaved" },
|
|
{ 1, "nonInterleaved" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_cce_REG_MappingType_choice[] = {
|
|
{ 0, &hf_nr_rrc_interleaved , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_interleaved },
|
|
{ 1, &hf_nr_rrc_nonInterleaved, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cce_REG_MappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_cce_REG_MappingType, T_cce_REG_MappingType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_precoderGranularity_vals[] = {
|
|
{ 0, "sameAsREG-bundle" },
|
|
{ 1, "allContiguousRBs" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_precoderGranularity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofTCI_States_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId_sequence_of,
|
|
1, maxNrofTCI_StatesPDCCH, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tci_PresentInDCI_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tci_PresentInDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 65535U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ControlResourceSet_sequence[] = {
|
|
{ &hf_nr_rrc_controlResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
|
|
{ &hf_nr_rrc_frequencyDomainResources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_45 },
|
|
{ &hf_nr_rrc_duration , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxCoReSetDuration },
|
|
{ &hf_nr_rrc_cce_REG_MappingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cce_REG_MappingType },
|
|
{ &hf_nr_rrc_precoderGranularity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_precoderGranularity },
|
|
{ &hf_nr_rrc_tci_StatesPDCCH_ToAddList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
|
|
{ &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId },
|
|
{ &hf_nr_rrc_tci_PresentInDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_PresentInDCI },
|
|
{ &hf_nr_rrc_pdcch_DMRS_ScramblingID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ControlResourceSet, ControlResourceSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSearchSpaces_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 7U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals[] = {
|
|
{ 0, "sl1" },
|
|
{ 1, "sl2" },
|
|
{ 2, "sl4" },
|
|
{ 3, "sl5" },
|
|
{ 4, "sl8" },
|
|
{ 5, "sl10" },
|
|
{ 6, "sl16" },
|
|
{ 7, "sl20" },
|
|
{ 8, "sl40" },
|
|
{ 9, "sl80" },
|
|
{ 10, "sl160" },
|
|
{ 11, "sl320" },
|
|
{ 12, "sl640" },
|
|
{ 13, "sl1280" },
|
|
{ 14, "sl2560" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_monitoringSlotPeriodicityAndOffset_choice[] = {
|
|
{ 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
|
|
{ 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
|
|
{ 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
|
|
{ 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
|
|
{ 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 8, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 9, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 10, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 11, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 12, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
|
|
{ 13, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
|
|
{ 14, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset, T_monitoringSlotPeriodicityAndOffset_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_2_2559(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
2U, 2559U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
14, 14, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel1_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 2, "n2" },
|
|
{ 3, "n3" },
|
|
{ 4, "n4" },
|
|
{ 5, "n5" },
|
|
{ 6, "n6" },
|
|
{ 7, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel2_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 2, "n2" },
|
|
{ 3, "n3" },
|
|
{ 4, "n4" },
|
|
{ 5, "n5" },
|
|
{ 6, "n6" },
|
|
{ 7, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel4_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 2, "n2" },
|
|
{ 3, "n3" },
|
|
{ 4, "n4" },
|
|
{ 5, "n5" },
|
|
{ 6, "n6" },
|
|
{ 7, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel8_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 2, "n2" },
|
|
{ 3, "n3" },
|
|
{ 4, "n4" },
|
|
{ 5, "n5" },
|
|
{ 6, "n6" },
|
|
{ 7, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel16_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 2, "n2" },
|
|
{ 3, "n3" },
|
|
{ 4, "n4" },
|
|
{ 5, "n5" },
|
|
{ 6, "n6" },
|
|
{ 7, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nrofCandidates_sequence[] = {
|
|
{ &hf_nr_rrc_aggregationLevel1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel1 },
|
|
{ &hf_nr_rrc_aggregationLevel2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel2 },
|
|
{ &hf_nr_rrc_aggregationLevel4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel4 },
|
|
{ &hf_nr_rrc_aggregationLevel8, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel8 },
|
|
{ &hf_nr_rrc_aggregationLevel16, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_aggregationLevel16 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofCandidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nrofCandidates, T_nrofCandidates_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dci_Format0_0_AndFormat1_0_sequence[] = {
|
|
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dci_Format0_0_AndFormat1_0, T_dci_Format0_0_AndFormat1_0_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel1_01_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel1_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel2_01_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel2_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel4_01_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel4_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel8_01_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel8_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aggregationLevel16_01_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aggregationLevel16_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nrofCandidates_SFI_sequence[] = {
|
|
{ &hf_nr_rrc_aggregationLevel1_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel1_01 },
|
|
{ &hf_nr_rrc_aggregationLevel2_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel2_01 },
|
|
{ &hf_nr_rrc_aggregationLevel4_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel4_01 },
|
|
{ &hf_nr_rrc_aggregationLevel8_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel8_01 },
|
|
{ &hf_nr_rrc_aggregationLevel16_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_aggregationLevel16_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofCandidates_SFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nrofCandidates_SFI, T_nrofCandidates_SFI_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dci_Format2_0_sequence[] = {
|
|
{ &hf_nr_rrc_nrofCandidates_SFI, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCandidates_SFI },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dci_Format2_0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dci_Format2_0, T_dci_Format2_0_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dci_Format2_1_sequence[] = {
|
|
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dci_Format2_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dci_Format2_1, T_dci_Format2_1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dci_Format2_2_sequence[] = {
|
|
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dci_Format2_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dci_Format2_2, T_dci_Format2_2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_monitoringPeriodicity_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n5" },
|
|
{ 4, "n8" },
|
|
{ 5, "n10" },
|
|
{ 6, "n16" },
|
|
{ 7, "n20" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_monitoringPeriodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofPDCCH_Candidates_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofPDCCH_Candidates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dci_Format2_3_sequence[] = {
|
|
{ &hf_nr_rrc_monitoringPeriodicity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringPeriodicity },
|
|
{ &hf_nr_rrc_nrofPDCCH_Candidates, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPDCCH_Candidates },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dci_Format2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dci_Format2_3, T_dci_Format2_3_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_common_sequence[] = {
|
|
{ &hf_nr_rrc_dci_Format0_0_AndFormat1_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format0_0_AndFormat1_0 },
|
|
{ &hf_nr_rrc_dci_Format2_0, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_0 },
|
|
{ &hf_nr_rrc_dci_Format2_1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_1 },
|
|
{ &hf_nr_rrc_dci_Format2_2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_2 },
|
|
{ &hf_nr_rrc_dci_Format2_3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dci_Format2_3 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_common, T_common_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dci_Formats_vals[] = {
|
|
{ 0, "formats0-0-And-1-0" },
|
|
{ 1, "formats0-1-And-1-1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dci_Formats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ue_Specific_sequence[] = {
|
|
{ &hf_nr_rrc_dci_Formats , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dci_Formats },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ue_Specific(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ue_Specific, T_ue_Specific_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_searchSpaceType_vals[] = {
|
|
{ 0, "common" },
|
|
{ 1, "ue-Specific" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_searchSpaceType_choice[] = {
|
|
{ 0, &hf_nr_rrc_common , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_common },
|
|
{ 1, &hf_nr_rrc_ue_Specific , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_ue_Specific },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_searchSpaceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_searchSpaceType, T_searchSpaceType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SearchSpace_sequence[] = {
|
|
{ &hf_nr_rrc_searchSpaceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
|
|
{ &hf_nr_rrc_controlResourceSetId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSetId },
|
|
{ &hf_nr_rrc_monitoringSlotPeriodicityAndOffset, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_monitoringSlotPeriodicityAndOffset },
|
|
{ &hf_nr_rrc_duration_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_2559 },
|
|
{ &hf_nr_rrc_monitoringSymbolsWithinSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_14 },
|
|
{ &hf_nr_rrc_nrofCandidates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofCandidates },
|
|
{ &hf_nr_rrc_searchSpaceType, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceType },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SearchSpace, SearchSpace_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of[1] = {
|
|
{ &hf_nr_rrc_commonSearchSpace_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace, SEQUENCE_SIZE_1_4_OF_SearchSpace_sequence_of,
|
|
1, 4, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDCCH_ConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_controlResourceSetZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_commonControlResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ControlResourceSet },
|
|
{ &hf_nr_rrc_searchSpaceZero, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_commonSearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace },
|
|
{ &hf_nr_rrc_searchSpaceSIB1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
|
|
{ &hf_nr_rrc_searchSpaceOtherSystemInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
|
|
{ &hf_nr_rrc_pagingSearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
|
|
{ &hf_nr_rrc_ra_SearchSpace, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDCCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDCCH_ConfigCommon, PDCCH_ConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_08_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_08(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_08, T_nonCriticalExtension_08_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SIB1_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyOffsetSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyOffsetSSB },
|
|
{ &hf_nr_rrc_ssb_PositionsInBurst, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PositionsInBurst },
|
|
{ &hf_nr_rrc_ssb_PeriodicityServingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ssb_PeriodicityServingCell },
|
|
{ &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
|
|
{ &hf_nr_rrc_uplinkConfigCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
|
|
{ &hf_nr_rrc_supplementaryUplink, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_supplementaryUplink },
|
|
{ &hf_nr_rrc_tdd_UL_DL_Configuration, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
|
|
{ &hf_nr_rrc_tdd_UL_DL_configurationCommon2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
|
|
{ &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_08, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_08 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SIB1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SIB1, SIB1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_Alpha_vals[] = {
|
|
{ 0, "alpha0" },
|
|
{ 1, "alpha04" },
|
|
{ 2, "alpha05" },
|
|
{ 3, "alpha06" },
|
|
{ 4, "alpha07" },
|
|
{ 5, "alpha08" },
|
|
{ 6, "alpha09" },
|
|
{ 7, "alpha1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_Alpha(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofBWPs, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofPUCCH_ResourceSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofPUCCH_Resources_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_resourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId_sequence_of,
|
|
1, maxNrofPUCCH_ResourcesPerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_4_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
4U, 256U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_ResourceSet_sequence[] = {
|
|
{ &hf_nr_rrc_pucch_ResourceSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
|
|
{ &hf_nr_rrc_resourceList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId },
|
|
{ &hf_nr_rrc_maxPayloadMinus1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_4_256 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_ResourceSet, PUCCH_ResourceSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_resourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet_sequence_of,
|
|
1, maxNrofPUCCH_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_resourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId, SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId_sequence_of,
|
|
1, maxNrofPUCCH_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PRB_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_intraSlotFrequencyHopping_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_intraSlotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 11U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 2U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_format0_sequence[] = {
|
|
{ &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
|
|
{ &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
|
|
{ &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_format0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_format0, PUCCH_format0_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_4_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
4U, 14U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 10U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 6U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_format1_sequence[] = {
|
|
{ &hf_nr_rrc_initialCyclicShift, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
|
|
{ &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
|
|
{ &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
|
|
{ &hf_nr_rrc_timeDomainOCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_6 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_format1, PUCCH_format1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_format2_sequence[] = {
|
|
{ &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
|
|
{ &hf_nr_rrc_nrofSymbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
|
|
{ &hf_nr_rrc_startingSymbolIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_format2, PUCCH_format2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_format3_sequence[] = {
|
|
{ &hf_nr_rrc_nrofPRBs_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
|
|
{ &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
|
|
{ &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_format3, PUCCH_format3_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_occ_Length_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_occ_Length(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_occ_Index_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 2, "n2" },
|
|
{ 3, "n3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_occ_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_format4_sequence[] = {
|
|
{ &hf_nr_rrc_nrofSymbols_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_4_14 },
|
|
{ &hf_nr_rrc_occ_Length , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Length },
|
|
{ &hf_nr_rrc_occ_Index , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_occ_Index },
|
|
{ &hf_nr_rrc_startingSymbolIndex_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_10 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_format4, PUCCH_format4_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_format_vals[] = {
|
|
{ 0, "format0" },
|
|
{ 1, "format1" },
|
|
{ 2, "format2" },
|
|
{ 3, "format3" },
|
|
{ 4, "format4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_format_choice[] = {
|
|
{ 0, &hf_nr_rrc_format0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format0 },
|
|
{ 1, &hf_nr_rrc_format1_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format1 },
|
|
{ 2, &hf_nr_rrc_format2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format2 },
|
|
{ 3, &hf_nr_rrc_format3_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format3 },
|
|
{ 4, &hf_nr_rrc_format4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_format4 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_format(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_format, T_format_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_pucch_ResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
|
|
{ &hf_nr_rrc_startingPRB , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRB_Id },
|
|
{ &hf_nr_rrc_intraSlotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFrequencyHopping },
|
|
{ &hf_nr_rrc_secondHopPRB , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PRB_Id },
|
|
{ &hf_nr_rrc_format , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_format },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_Resource, PUCCH_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_resourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource_sequence_of,
|
|
1, maxNrofPUCCH_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_resourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId_sequence_of,
|
|
1, maxNrofPUCCH_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_interslotFrequencyHopping_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_interslotFrequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_additionalDMRS_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_additionalDMRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_PUCCH_MaxCodeRate_vals[] = {
|
|
{ 0, "zeroDot08" },
|
|
{ 1, "zeroDot15" },
|
|
{ 2, "zeroDot25" },
|
|
{ 3, "zeroDot35" },
|
|
{ 4, "zeroDot45" },
|
|
{ 5, "zeroDot60" },
|
|
{ 6, "zeroDot80" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_MaxCodeRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
7, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofSlots_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pi2BPSK_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_simultaneousHARQ_ACK_CSI_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_FormatConfig_sequence[] = {
|
|
{ &hf_nr_rrc_interslotFrequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_interslotFrequencyHopping },
|
|
{ &hf_nr_rrc_additionalDMRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalDMRS },
|
|
{ &hf_nr_rrc_maxCodeRate , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_MaxCodeRate },
|
|
{ &hf_nr_rrc_nrofSlots , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofSlots },
|
|
{ &hf_nr_rrc_pi2BPSK , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pi2BPSK },
|
|
{ &hf_nr_rrc_simultaneousHARQ_ACK_CSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousHARQ_ACK_CSI },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_FormatConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_FormatConfig, PUCCH_FormatConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_format1_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_format1_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_format1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_format1, T_format1_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_format2_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_format2_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_format2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_format2, T_format2_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_format3_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_format3_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_format3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_format3, T_format3_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_format4_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_format4_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_36 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_FormatConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_format4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_format4, T_format4_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofSR_Resources, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 7U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicityAndOffset_vals[] = {
|
|
{ 0, "sym2" },
|
|
{ 1, "sym6or7" },
|
|
{ 2, "sl1" },
|
|
{ 3, "sl2" },
|
|
{ 4, "sl4" },
|
|
{ 5, "sl5" },
|
|
{ 6, "sl8" },
|
|
{ 7, "sl10" },
|
|
{ 8, "sl16" },
|
|
{ 9, "sl20" },
|
|
{ 10, "sl40" },
|
|
{ 11, "sl80" },
|
|
{ 12, "sl160" },
|
|
{ 13, "sl320" },
|
|
{ 14, "sl640" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_periodicityAndOffset_choice[] = {
|
|
{ 0, &hf_nr_rrc_sym2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_sym6or7 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
|
|
{ 4, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
|
|
{ 5, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
|
|
{ 6, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
|
|
{ 7, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 8, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ 9, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 10, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_periodicityAndOffset, T_periodicityAndOffset_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SchedulingRequestResourceConfig_sequence[] = {
|
|
{ &hf_nr_rrc_schedulingRequestResourceId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
|
|
{ &hf_nr_rrc_schedulingRequestID, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
|
|
{ &hf_nr_rrc_periodicityAndOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndOffset },
|
|
{ &hf_nr_rrc_resource_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SchedulingRequestResourceConfig, SchedulingRequestResourceConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of[1] = {
|
|
{ &hf_nr_rrc_schedulingRequestResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceConfig },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig_sequence_of,
|
|
1, maxNrofSR_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_schedulingRequestResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId, SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId_sequence_of,
|
|
1, maxNrofSR_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId, SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId_sequence_of,
|
|
1, 2, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dl_DataToUL_ACK_sequence_of[1] = {
|
|
{ &hf_nr_rrc_dl_DataToUL_ACK_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dl_DataToUL_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dl_DataToUL_ACK, T_dl_DataToUL_ACK_sequence_of,
|
|
1, 8, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofSpatialRelationInfos, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofNZP_CSI_RS_Resources_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSRS_Resources_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_srs_sequence[] = {
|
|
{ &hf_nr_rrc_resource , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
|
|
{ &hf_nr_rrc_uplinkBWP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_srs, T_srs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_referenceSignal_vals[] = {
|
|
{ 0, "ssb-Index" },
|
|
{ 1, "csi-RS-Index" },
|
|
{ 2, "srs" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_referenceSignal_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
|
|
{ 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ 2, &hf_nr_rrc_srs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_referenceSignal(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_referenceSignal, T_referenceSignal_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofPUCCH_PathlossReferenceRSs_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_P0_PUCCH_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 8U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_closedLoopIndex_vals[] = {
|
|
{ 0, "i0" },
|
|
{ 1, "i1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_closedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_SpatialRelationInfo_sequence[] = {
|
|
{ &hf_nr_rrc_pucch_SpatialRelationInfoId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
|
|
{ &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_referenceSignal, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal },
|
|
{ &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
|
|
{ &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
|
|
{ &hf_nr_rrc_closedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_closedLoopIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_SpatialRelationInfo, PUCCH_SpatialRelationInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of[1] = {
|
|
{ &hf_nr_rrc_spatialRelationInfoToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfo },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo_sequence_of,
|
|
1, maxNrofSpatialRelationInfos, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_spatialRelationInfoToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_SpatialRelationInfoId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId, SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId_sequence_of,
|
|
1, maxNrofSpatialRelationInfos, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-16, 15U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t P0_PUCCH_sequence[] = {
|
|
{ &hf_nr_rrc_p0_PUCCH_Id , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH_Id },
|
|
{ &hf_nr_rrc_p0_PUCCH_Value, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M16_15 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_P0_PUCCH, P0_PUCCH_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of[1] = {
|
|
{ &hf_nr_rrc_p0_Set_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUCCH },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH, SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH_sequence_of,
|
|
1, maxNrofPUCCH_P0_PerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_referenceSignal_01_vals[] = {
|
|
{ 0, "ssb-Index" },
|
|
{ 1, "csi-RS-Index" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_referenceSignal_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
|
|
{ 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_referenceSignal_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_referenceSignal_01, T_referenceSignal_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_PathlossReferenceRS_sequence[] = {
|
|
{ &hf_nr_rrc_pucch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS_Id },
|
|
{ &hf_nr_rrc_referenceSignal_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_PathlossReferenceRS, PUCCH_PathlossReferenceRS_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of[1] = {
|
|
{ &hf_nr_rrc_pathlossReferenceRSs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_PathlossReferenceRS },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS_sequence_of,
|
|
1, maxNrofPUCCH_PathlossReferenceRSs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals[] = {
|
|
{ 0, "twoStates" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_PowerControl_sequence[] = {
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
|
|
{ &hf_nr_rrc_p0_Set , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH },
|
|
{ &hf_nr_rrc_pathlossReferenceRSs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS },
|
|
{ &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_PC_AdjustmentStates },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_PowerControl, PUCCH_PowerControl_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_Config_sequence[] = {
|
|
{ &hf_nr_rrc_resourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet },
|
|
{ &hf_nr_rrc_resourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId },
|
|
{ &hf_nr_rrc_resourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource },
|
|
{ &hf_nr_rrc_resourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId },
|
|
{ &hf_nr_rrc_format1 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format1 },
|
|
{ &hf_nr_rrc_format2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format2 },
|
|
{ &hf_nr_rrc_format3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format3 },
|
|
{ &hf_nr_rrc_format4 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_format4 },
|
|
{ &hf_nr_rrc_schedulingRequestResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig },
|
|
{ &hf_nr_rrc_schedulingRequestResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId },
|
|
{ &hf_nr_rrc_multi_CSI_PUCCH_ResourceList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId },
|
|
{ &hf_nr_rrc_dl_DataToUL_ACK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dl_DataToUL_ACK },
|
|
{ &hf_nr_rrc_spatialRelationInfoToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo },
|
|
{ &hf_nr_rrc_spatialRelationInfoToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId },
|
|
{ &hf_nr_rrc_pucch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_PowerControl },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_Config, PUCCH_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pucch_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_04 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pucch_Config, T_pucch_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_txConfig_vals[] = {
|
|
{ 0, "codebook" },
|
|
{ 1, "nonCodebook" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_txConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_Type_01_vals[] = {
|
|
{ 0, "type2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_Type_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_AdditionalPosition_01_vals[] = {
|
|
{ 0, "pos0" },
|
|
{ 1, "pos1" },
|
|
{ 2, "pos3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_AdditionalPosition_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_276(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 276U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_frequencyDensity_01_sequence_of[1] = {
|
|
{ &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_frequencyDensity_01, T_frequencyDensity_01_sequence_of,
|
|
2, 2, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_29(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 29U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_timeDensity_01_sequence_of[1] = {
|
|
{ &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_timeDensity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_timeDensity_01, T_timeDensity_01_sequence_of,
|
|
3, 3, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNrofPorts_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceElementOffset_01_vals[] = {
|
|
{ 0, "offset01" },
|
|
{ 1, "offset10" },
|
|
{ 2, "offset11" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceElementOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ptrs_Power_vals[] = {
|
|
{ 0, "p00" },
|
|
{ 1, "p01" },
|
|
{ 2, "p10" },
|
|
{ 3, "p11" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ptrs_Power(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_cp_OFDM_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity_01 },
|
|
{ &hf_nr_rrc_timeDensity_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity_01 },
|
|
{ &hf_nr_rrc_maxNrofPorts , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNrofPorts },
|
|
{ &hf_nr_rrc_resourceElementOffset_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset_01 },
|
|
{ &hf_nr_rrc_ptrs_Power , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ptrs_Power },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cp_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_cp_OFDM, T_cp_OFDM_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_sampleDensity_sequence_of[1] = {
|
|
{ &hf_nr_rrc_sampleDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sampleDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_sampleDensity, T_sampleDensity_sequence_of,
|
|
5, 5, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_timeDensityTransformPrecoding_vals[] = {
|
|
{ 0, "d2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_timeDensityTransformPrecoding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dft_S_OFDM_sequence[] = {
|
|
{ &hf_nr_rrc_sampleDensity, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sampleDensity },
|
|
{ &hf_nr_rrc_timeDensityTransformPrecoding, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensityTransformPrecoding },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dft_S_OFDM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dft_S_OFDM, T_dft_S_OFDM_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_modeSpecificParameters_vals[] = {
|
|
{ 0, "cp-OFDM" },
|
|
{ 1, "dft-S-OFDM" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_modeSpecificParameters_choice[] = {
|
|
{ 0, &hf_nr_rrc_cp_OFDM , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cp_OFDM },
|
|
{ 1, &hf_nr_rrc_dft_S_OFDM , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dft_S_OFDM },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_modeSpecificParameters(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_modeSpecificParameters, T_modeSpecificParameters_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PTRS_UplinkConfig_sequence[] = {
|
|
{ &hf_nr_rrc_modeSpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_modeSpecificParameters },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PTRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PTRS_UplinkConfig, PTRS_UplinkConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phaseTrackingRS_01_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_phaseTrackingRS_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_UplinkConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phaseTrackingRS_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_phaseTrackingRS_01, T_phaseTrackingRS_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxLength_01_vals[] = {
|
|
{ 0, "len2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxLength_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_transformPrecodingDisabled_sequence[] = {
|
|
{ &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
|
|
{ &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_transformPrecodingDisabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_transformPrecodingDisabled, T_transformPrecodingDisabled_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_1007(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1007U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_disableSequenceGroupHopping_vals[] = {
|
|
{ 0, "disabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_disableSequenceGroupHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sequenceHoppingEnabled_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sequenceHoppingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_transformPrecodingEnabled_sequence[] = {
|
|
{ &hf_nr_rrc_nPUSCH_Identity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1007 },
|
|
{ &hf_nr_rrc_disableSequenceGroupHopping, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_disableSequenceGroupHopping },
|
|
{ &hf_nr_rrc_sequenceHoppingEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sequenceHoppingEnabled },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_transformPrecodingEnabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_transformPrecodingEnabled, T_transformPrecodingEnabled_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DMRS_UplinkConfig_sequence[] = {
|
|
{ &hf_nr_rrc_dmrs_Type_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type_01 },
|
|
{ &hf_nr_rrc_dmrs_AdditionalPosition_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition_01 },
|
|
{ &hf_nr_rrc_phaseTrackingRS_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS_01 },
|
|
{ &hf_nr_rrc_maxLength_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength_01 },
|
|
{ &hf_nr_rrc_transformPrecodingDisabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingDisabled },
|
|
{ &hf_nr_rrc_transformPrecodingEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecodingEnabled },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DMRS_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DMRS_UplinkConfig, DMRS_UplinkConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeA_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA, T_dmrs_UplinkForPUSCH_MappingTypeA_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_dmrs_UplinkForPUSCH_MappingTypeB_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_37 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_UplinkConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB, T_dmrs_UplinkForPUSCH_MappingTypeB_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_Accumulation_vals[] = {
|
|
{ 0, "disabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_Accumulation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_P0_PUSCH_AlphaSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofP0_PUSCH_AlphaSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t P0_PUSCH_AlphaSet_sequence[] = {
|
|
{ &hf_nr_rrc_p0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
|
|
{ &hf_nr_rrc_p0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M16_15 },
|
|
{ &hf_nr_rrc_alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_P0_PUSCH_AlphaSet, P0_PUSCH_AlphaSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_p0_AlphaSets_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet, SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet_sequence_of,
|
|
1, maxNrofP0_PUSCH_AlphaSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_referenceSignal_02_vals[] = {
|
|
{ 0, "ssb-Index" },
|
|
{ 1, "csi-RS-Index" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_referenceSignal_02_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
|
|
{ 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_referenceSignal_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_referenceSignal_02, T_referenceSignal_02_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_PathlossReferenceRS_sequence[] = {
|
|
{ &hf_nr_rrc_pusch_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
|
|
{ &hf_nr_rrc_referenceSignal_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_02 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_PathlossReferenceRS, PUSCH_PathlossReferenceRS_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of[1] = {
|
|
{ &hf_nr_rrc_pathlossReferenceRSToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_sequence_of,
|
|
1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of[1] = {
|
|
{ &hf_nr_rrc_pathlossReferenceRSToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id, SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id_sequence_of,
|
|
1, maxNrofPUSCH_PathlossReferenceRSs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals[] = {
|
|
{ 0, "twoStates" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_deltaMCS_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_deltaMCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSRI_PUSCH_Mappings_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals[] = {
|
|
{ 0, "i0" },
|
|
{ 1, "i1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRI_PUSCH_PowerControl_sequence[] = {
|
|
{ &hf_nr_rrc_sri_PUSCH_PowerControlId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
|
|
{ &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUSCH_PathlossReferenceRS_Id },
|
|
{ &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
|
|
{ &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sri_PUSCH_ClosedLoopIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRI_PUSCH_PowerControl, SRI_PUSCH_PowerControl_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of[1] = {
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControl },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl_sequence_of,
|
|
1, maxNrofSRI_PUSCH_Mappings, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRI_PUSCH_PowerControlId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId, SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId_sequence_of,
|
|
1, maxNrofSRI_PUSCH_Mappings, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_PowerControl_sequence[] = {
|
|
{ &hf_nr_rrc_tpc_Accumulation, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation },
|
|
{ &hf_nr_rrc_msg3_Alpha , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
|
|
{ &hf_nr_rrc_p0_NominalWithoutGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
|
|
{ &hf_nr_rrc_p0_AlphaSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet },
|
|
{ &hf_nr_rrc_pathlossReferenceRSToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS },
|
|
{ &hf_nr_rrc_pathlossReferenceRSToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id },
|
|
{ &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUSCH_PC_AdjustmentStates },
|
|
{ &hf_nr_rrc_deltaMCS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_deltaMCS },
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl },
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_PowerControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_PowerControl, PUSCH_PowerControl_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_frequencyHopping_01_vals[] = {
|
|
{ 0, "mode1" },
|
|
{ 1, "mode2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyHopping_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofPhysicalResourceBlocks_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_frequencyHoppingOffsetLists_sequence_of[1] = {
|
|
{ &hf_nr_rrc_frequencyHoppingOffsetLists_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyHoppingOffsetLists(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_frequencyHoppingOffsetLists, T_frequencyHoppingOffsetLists_sequence_of,
|
|
1, 4, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceAllocation_02_vals[] = {
|
|
{ 0, "resourceAllocationType0" },
|
|
{ 1, "resourceAllocationType1" },
|
|
{ 2, "dynamicSwitch" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceAllocation_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_TimeDomainAllocationList_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pusch_TimeDomainAllocationList_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_38 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TimeDomainResourceAllocationList },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pusch_TimeDomainAllocationList, T_pusch_TimeDomainAllocationList_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_AggregationFactor_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mcs_Table_02_vals[] = {
|
|
{ 0, "qam256" },
|
|
{ 1, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mcs_Table_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mcs_TableTransformPrecoder_01_vals[] = {
|
|
{ 0, "qam256" },
|
|
{ 1, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mcs_TableTransformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_transformPrecoder_01_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 1, "disabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_transformPrecoder_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_codebookSubset_vals[] = {
|
|
{ 0, "fullyAndPartialAndNonCoherent" },
|
|
{ 1, "partialAndNonCoherent" },
|
|
{ 2, "nonCoherent" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_codebookSubset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rbg_Size_02_vals[] = {
|
|
{ 0, "config2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rbg_Size_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BetaOffsets_sequence[] = {
|
|
{ &hf_nr_rrc_betaOffsetACK_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_betaOffsetACK_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_betaOffsetACK_Index3, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part1_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part1_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part2_Index1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part2_Index2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BetaOffsets, BetaOffsets_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of[1] = {
|
|
{ &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets, SEQUENCE_SIZE_4_OF_BetaOffsets_sequence_of,
|
|
4, 4, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_betaOffsets_vals[] = {
|
|
{ 0, "dynamic" },
|
|
{ 1, "semiStatic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_betaOffsets_choice[] = {
|
|
{ 0, &hf_nr_rrc_dynamic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets },
|
|
{ 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_betaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_betaOffsets, T_betaOffsets_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scaling_vals[] = {
|
|
{ 0, "f0p5" },
|
|
{ 1, "f0p65" },
|
|
{ 2, "f0p8" },
|
|
{ 3, "f1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scaling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UCI_OnPUSCH_sequence[] = {
|
|
{ &hf_nr_rrc_betaOffsets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_betaOffsets },
|
|
{ &hf_nr_rrc_scaling , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_scaling },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UCI_OnPUSCH, UCI_OnPUSCH_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_uci_OnPUSCH_01_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_uci_OnPUSCH_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_39 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_UCI_OnPUSCH },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_uci_OnPUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_uci_OnPUSCH_01, T_uci_OnPUSCH_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tp_pi2BPSK_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tp_pi2BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_Config_sequence[] = {
|
|
{ &hf_nr_rrc_dataScramblingIdentityPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 },
|
|
{ &hf_nr_rrc_txConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_txConfig },
|
|
{ &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA },
|
|
{ &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB },
|
|
{ &hf_nr_rrc_pusch_PowerControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PUSCH_PowerControl },
|
|
{ &hf_nr_rrc_frequencyHopping_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping_01 },
|
|
{ &hf_nr_rrc_frequencyHoppingOffsetLists, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHoppingOffsetLists },
|
|
{ &hf_nr_rrc_resourceAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_02 },
|
|
{ &hf_nr_rrc_pusch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TimeDomainAllocationList },
|
|
{ &hf_nr_rrc_pusch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_AggregationFactor },
|
|
{ &hf_nr_rrc_mcs_Table_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_02 },
|
|
{ &hf_nr_rrc_mcs_TableTransformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder_01 },
|
|
{ &hf_nr_rrc_transformPrecoder_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder_01 },
|
|
{ &hf_nr_rrc_codebookSubset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codebookSubset },
|
|
{ &hf_nr_rrc_maxRank , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 },
|
|
{ &hf_nr_rrc_rbg_Size_02 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size_02 },
|
|
{ &hf_nr_rrc_uci_OnPUSCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_OnPUSCH_01 },
|
|
{ &hf_nr_rrc_tp_pi2BPSK , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tp_pi2BPSK },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_Config, PUSCH_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pusch_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_05 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pusch_Config, T_pusch_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_frequencyHopping_vals[] = {
|
|
{ 0, "mode1" },
|
|
{ 1, "mode2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mcs_Table_vals[] = {
|
|
{ 0, "qam256" },
|
|
{ 1, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mcs_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mcs_TableTransformPrecoder_vals[] = {
|
|
{ 0, "qam256" },
|
|
{ 1, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mcs_TableTransformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of[1] = {
|
|
{ &hf_nr_rrc_dynamic_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BetaOffsets },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets, SEQUENCE_SIZE_1_4_OF_BetaOffsets_sequence_of,
|
|
1, 4, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_CG_UCI_OnPUSCH_vals[] = {
|
|
{ 0, "dynamic" },
|
|
{ 1, "semiStatic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t CG_UCI_OnPUSCH_choice[] = {
|
|
{ 0, &hf_nr_rrc_dynamic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets },
|
|
{ 1, &hf_nr_rrc_semiStatic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BetaOffsets },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CG_UCI_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CG_UCI_OnPUSCH, CG_UCI_OnPUSCH_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_uci_OnPUSCH_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_uci_OnPUSCH_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CG_UCI_OnPUSCH },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_uci_OnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_uci_OnPUSCH, T_uci_OnPUSCH_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceAllocation_vals[] = {
|
|
{ 0, "resourceAllocationType0" },
|
|
{ 1, "resourceAllocationType1" },
|
|
{ 2, "dynamicSwitch" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rbg_Size_vals[] = {
|
|
{ 0, "config2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rbg_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_powerControlLoopToUse_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_powerControlLoopToUse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_transformPrecoder_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_transformPrecoder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_repK_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_repK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_repK_RV_vals[] = {
|
|
{ 0, "s1-0231" },
|
|
{ 1, "s2-0303" },
|
|
{ 2, "s3-0000" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_repK_RV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicity_vals[] = {
|
|
{ 0, "sym2" },
|
|
{ 1, "sym7" },
|
|
{ 2, "sym1x14" },
|
|
{ 3, "sym2x14" },
|
|
{ 4, "sym4x14" },
|
|
{ 5, "sym5x14" },
|
|
{ 6, "sym8x14" },
|
|
{ 7, "sym10x14" },
|
|
{ 8, "sym16x14" },
|
|
{ 9, "sym20x14" },
|
|
{ 10, "sym32x14" },
|
|
{ 11, "sym40x14" },
|
|
{ 12, "sym64x14" },
|
|
{ 13, "sym80x14" },
|
|
{ 14, "sym128x14" },
|
|
{ 15, "sym160x14" },
|
|
{ 16, "sym256x14" },
|
|
{ 17, "sym320x14" },
|
|
{ 18, "sym512x14" },
|
|
{ 19, "sym640x14" },
|
|
{ 20, "sym1024x14" },
|
|
{ 21, "sym1280x14" },
|
|
{ 22, "sym2560x14" },
|
|
{ 23, "sym5120x14" },
|
|
{ 24, "sym6" },
|
|
{ 25, "sym1x12" },
|
|
{ 26, "sym2x12" },
|
|
{ 27, "sym4x12" },
|
|
{ 28, "sym5x12" },
|
|
{ 29, "sym8x12" },
|
|
{ 30, "sym10x12" },
|
|
{ 31, "sym16x12" },
|
|
{ 32, "sym20x12" },
|
|
{ 33, "sym32x12" },
|
|
{ 34, "sym40x12" },
|
|
{ 35, "sym64x12" },
|
|
{ 36, "sym80x12" },
|
|
{ 37, "sym128x12" },
|
|
{ 38, "sym160x12" },
|
|
{ 39, "sym256x12" },
|
|
{ 40, "sym320x12" },
|
|
{ 41, "sym512x12" },
|
|
{ 42, "sym640x12" },
|
|
{ 43, "sym1280x12" },
|
|
{ 44, "sym2560x12" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_periodicity_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
45, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_18(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
18, 18, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofPUSCH_PathlossReferenceRSs_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_rrc_ConfiguredUplinkGrant_sequence[] = {
|
|
{ &hf_nr_rrc_timeDomainOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5119 },
|
|
{ &hf_nr_rrc_timeDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_frequencyDomainAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_18 },
|
|
{ &hf_nr_rrc_antennaPort , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_dmrs_SeqInitialization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
|
|
{ &hf_nr_rrc_precodingAndNumberOfLayers, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
|
|
{ &hf_nr_rrc_srs_ResourceIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_mcsAndTBS , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_frequencyHoppingOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofPhysicalResourceBlocks_1 },
|
|
{ &hf_nr_rrc_pathlossReferenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_rrc_ConfiguredUplinkGrant, T_rrc_ConfiguredUplinkGrant_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ConfiguredGrantConfig_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyHopping, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyHopping },
|
|
{ &hf_nr_rrc_cg_DMRS_Configuration, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DMRS_UplinkConfig },
|
|
{ &hf_nr_rrc_mcs_Table , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table },
|
|
{ &hf_nr_rrc_mcs_TableTransformPrecoder, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_TableTransformPrecoder },
|
|
{ &hf_nr_rrc_uci_OnPUSCH , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_uci_OnPUSCH },
|
|
{ &hf_nr_rrc_resourceAllocation, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation },
|
|
{ &hf_nr_rrc_rbg_Size , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rbg_Size },
|
|
{ &hf_nr_rrc_powerControlLoopToUse, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerControlLoopToUse },
|
|
{ &hf_nr_rrc_p0_PUSCH_Alpha, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
|
|
{ &hf_nr_rrc_transformPrecoder, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_transformPrecoder },
|
|
{ &hf_nr_rrc_nrofHARQ_Processes, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
|
|
{ &hf_nr_rrc_repK , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repK },
|
|
{ &hf_nr_rrc_repK_RV , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_repK_RV },
|
|
{ &hf_nr_rrc_periodicity , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity },
|
|
{ &hf_nr_rrc_configuredGrantTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_rrc_ConfiguredUplinkGrant, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_rrc_ConfiguredUplinkGrant },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ConfiguredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ConfiguredGrantConfig, ConfiguredGrantConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_configuredGrantConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_configuredGrantConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_06 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ConfiguredGrantConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_configuredGrantConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_configuredGrantConfig, T_configuredGrantConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSRS_ResourceSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_srs_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId_sequence_of,
|
|
1, maxNrofSRS_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_srs_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId_sequence_of,
|
|
1, maxNrofSRS_ResourcesPerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofSRS_TriggerStates_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 32U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_aperiodic_01_sequence[] = {
|
|
{ &hf_nr_rrc_aperiodicSRS_ResourceTrigger, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofSRS_TriggerStates_1 },
|
|
{ &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ &hf_nr_rrc_slotOffset , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_32 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aperiodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_aperiodic_01, T_aperiodic_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_semi_persistent_sequence[] = {
|
|
{ &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_semi_persistent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_semi_persistent, T_semi_persistent_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_periodic_01_sequence[] = {
|
|
{ &hf_nr_rrc_associatedCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodic_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_periodic_01, T_periodic_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceType_01_vals[] = {
|
|
{ 0, "aperiodic" },
|
|
{ 1, "semi-persistent" },
|
|
{ 2, "periodic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_resourceType_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_aperiodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_01 },
|
|
{ 1, &hf_nr_rrc_semi_persistent, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent },
|
|
{ 2, &hf_nr_rrc_periodic_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_01 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_resourceType_01, T_resourceType_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_usage_vals[] = {
|
|
{ 0, "beamManagement" },
|
|
{ 1, "codebook" },
|
|
{ 2, "nonCodebook" },
|
|
{ 3, "antennaSwitching" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pathlossReferenceRS_vals[] = {
|
|
{ 0, "ssb-Index" },
|
|
{ 1, "csi-RS-Index" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pathlossReferenceRS_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
|
|
{ 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pathlossReferenceRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pathlossReferenceRS, T_pathlossReferenceRS_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_srs_PowerControlAdjustmentStates_vals[] = {
|
|
{ 0, "sameAsFci2" },
|
|
{ 1, "separateClosedLoop" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srs_PowerControlAdjustmentStates(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_ResourceSet_sequence[] = {
|
|
{ &hf_nr_rrc_srs_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSetId },
|
|
{ &hf_nr_rrc_srs_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId },
|
|
{ &hf_nr_rrc_resourceType_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_01 },
|
|
{ &hf_nr_rrc_usage , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_usage },
|
|
{ &hf_nr_rrc_alpha , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_Alpha },
|
|
{ &hf_nr_rrc_p0_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_M202_24 },
|
|
{ &hf_nr_rrc_pathlossReferenceRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceRS },
|
|
{ &hf_nr_rrc_srs_PowerControlAdjustmentStates, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_PowerControlAdjustmentStates },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_ResourceSet, SRS_ResourceSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_srs_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet, SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet_sequence_of,
|
|
1, maxNrofSRS_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_srs_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId_sequence_of,
|
|
1, maxNrofSRS_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofSRS_Ports_vals[] = {
|
|
{ 0, "port1" },
|
|
{ 1, "ports2" },
|
|
{ 2, "ports4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofSRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ptrs_PortIndex_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ptrs_PortIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_n2_sequence[] = {
|
|
{ &hf_nr_rrc_combOffset_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_1 },
|
|
{ &hf_nr_rrc_cyclicShift_n2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_n2, T_n2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_n4_sequence[] = {
|
|
{ &hf_nr_rrc_combOffset_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
|
|
{ &hf_nr_rrc_cyclicShift_n4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_11 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_n4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_n4, T_n4_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_transmissionComb_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_transmissionComb_choice[] = {
|
|
{ 0, &hf_nr_rrc_n2_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n2 },
|
|
{ 1, &hf_nr_rrc_n4_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_n4 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_transmissionComb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_transmissionComb, T_transmissionComb_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 5U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofSymbols_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_repetitionFactor_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_repetitionFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_resourceMapping_sequence[] = {
|
|
{ &hf_nr_rrc_startPosition, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_5 },
|
|
{ &hf_nr_rrc_nrofSymbols_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSymbols },
|
|
{ &hf_nr_rrc_repetitionFactor, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_repetitionFactor },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_resourceMapping, T_resourceMapping_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_67(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 67U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_268(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 268U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_freqHopping_sequence[] = {
|
|
{ &hf_nr_rrc_c_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
|
|
{ &hf_nr_rrc_b_SRS , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
|
|
{ &hf_nr_rrc_b_hop , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_3 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_freqHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_freqHopping, T_freqHopping_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_groupOrSequenceHopping_vals[] = {
|
|
{ 0, "neither" },
|
|
{ 1, "groupHopping" },
|
|
{ 2, "sequenceHopping" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_groupOrSequenceHopping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_aperiodic_02_sequence[] = {
|
|
{ NULL, ASN1_EXTENSION_ROOT, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aperiodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_aperiodic_02, T_aperiodic_02_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_SRS_PeriodicityAndOffset_vals[] = {
|
|
{ 0, "sl1" },
|
|
{ 1, "sl2" },
|
|
{ 2, "sl4" },
|
|
{ 3, "sl5" },
|
|
{ 4, "sl8" },
|
|
{ 5, "sl10" },
|
|
{ 6, "sl16" },
|
|
{ 7, "sl20" },
|
|
{ 8, "sl32" },
|
|
{ 9, "sl40" },
|
|
{ 10, "sl64" },
|
|
{ 11, "sl80" },
|
|
{ 12, "sl160" },
|
|
{ 13, "sl320" },
|
|
{ 14, "sl640" },
|
|
{ 15, "sl1280" },
|
|
{ 16, "sl2560" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_SRS_PeriodicityAndOffset_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_SRS_PeriodicityAndOffset_vals);
|
|
|
|
static const per_choice_t SRS_PeriodicityAndOffset_choice[] = {
|
|
{ 0, &hf_nr_rrc_sl1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_sl2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1 },
|
|
{ 2, &hf_nr_rrc_sl4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
|
|
{ 3, &hf_nr_rrc_sl5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
|
|
{ 4, &hf_nr_rrc_sl8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
|
|
{ 5, &hf_nr_rrc_sl10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 6, &hf_nr_rrc_sl16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ 7, &hf_nr_rrc_sl20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 8, &hf_nr_rrc_sl32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ 9, &hf_nr_rrc_sl40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 10, &hf_nr_rrc_sl64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
|
|
{ 11, &hf_nr_rrc_sl80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 12, &hf_nr_rrc_sl160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 13, &hf_nr_rrc_sl320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 14, &hf_nr_rrc_sl640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
|
|
{ 15, &hf_nr_rrc_sl1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
|
|
{ 16, &hf_nr_rrc_sl2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_PeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_PeriodicityAndOffset, SRS_PeriodicityAndOffset_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_semi_persistent_01_sequence[] = {
|
|
{ &hf_nr_rrc_periodicityAndOffset_sp, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_semi_persistent_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_semi_persistent_01, T_semi_persistent_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_periodic_02_sequence[] = {
|
|
{ &hf_nr_rrc_periodicityAndOffset_p, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_PeriodicityAndOffset },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodic_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_periodic_02, T_periodic_02_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceType_02_vals[] = {
|
|
{ 0, "aperiodic" },
|
|
{ 1, "semi-persistent" },
|
|
{ 2, "periodic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_resourceType_02_choice[] = {
|
|
{ 0, &hf_nr_rrc_aperiodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic_02 },
|
|
{ 1, &hf_nr_rrc_semi_persistent_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semi_persistent_01 },
|
|
{ 2, &hf_nr_rrc_periodic_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic_02 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceType_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_resourceType_02, T_resourceType_02_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
10, 10, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_srs_01_sequence[] = {
|
|
{ &hf_nr_rrc_resourceId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
|
|
{ &hf_nr_rrc_uplinkBWP , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srs_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_srs_01, T_srs_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_referenceSignal_03_vals[] = {
|
|
{ 0, "ssb-Index" },
|
|
{ 1, "csi-RS-Index" },
|
|
{ 2, "srs" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_referenceSignal_03_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
|
|
{ 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ 2, &hf_nr_rrc_srs_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_srs_01 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_referenceSignal_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_referenceSignal_03, T_referenceSignal_03_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_SpatialRelationInfo_sequence[] = {
|
|
{ &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_referenceSignal_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_03 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_SpatialRelationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_SpatialRelationInfo, SRS_SpatialRelationInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_srs_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_ResourceId },
|
|
{ &hf_nr_rrc_nrofSRS_Ports, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofSRS_Ports },
|
|
{ &hf_nr_rrc_ptrs_PortIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_PortIndex },
|
|
{ &hf_nr_rrc_transmissionComb, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_transmissionComb },
|
|
{ &hf_nr_rrc_resourceMapping_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceMapping },
|
|
{ &hf_nr_rrc_freqDomainPosition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_67 },
|
|
{ &hf_nr_rrc_freqDomainShift, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_268 },
|
|
{ &hf_nr_rrc_freqHopping , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_freqHopping },
|
|
{ &hf_nr_rrc_groupOrSequenceHopping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupOrSequenceHopping },
|
|
{ &hf_nr_rrc_resourceType_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType_02 },
|
|
{ &hf_nr_rrc_sequenceId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_10 },
|
|
{ &hf_nr_rrc_spatialRelationInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_SpatialRelationInfo },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_Resource, SRS_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_srs_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource, SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource_sequence_of,
|
|
1, maxNrofSRS_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_Accumulation_01_vals[] = {
|
|
{ 0, "disabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_Accumulation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_Config_sequence[] = {
|
|
{ &hf_nr_rrc_srs_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId },
|
|
{ &hf_nr_rrc_srs_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet },
|
|
{ &hf_nr_rrc_srs_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId },
|
|
{ &hf_nr_rrc_srs_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource },
|
|
{ &hf_nr_rrc_tpc_Accumulation_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_Accumulation_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_Config, SRS_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_srs_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_srs_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_07 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srs_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_srs_Config, T_srs_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BFR_SSB_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
|
|
{ &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BFR_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BFR_SSB_Resource, BFR_SSB_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxRA_Occasions_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ra_OccasionList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ra_OccasionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ra_OccasionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ra_OccasionList, T_ra_OccasionList_sequence_of,
|
|
1, maxRA_OccasionsPerCSIRS, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BFR_CSIRS_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_csi_RS_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ &hf_nr_rrc_ra_OccasionList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_OccasionList },
|
|
{ &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_63 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BFR_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BFR_CSIRS_Resource, BFR_CSIRS_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_PRACH_ResourceDedicatedBFR_vals[] = {
|
|
{ 0, "ssb" },
|
|
{ 1, "csi-RS" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t PRACH_ResourceDedicatedBFR_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BFR_SSB_Resource },
|
|
{ 1, &hf_nr_rrc_csi_RS , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BFR_CSIRS_Resource },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PRACH_ResourceDedicatedBFR, PRACH_ResourceDedicatedBFR_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of[1] = {
|
|
{ &hf_nr_rrc_candidateBeamRSList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PRACH_ResourceDedicatedBFR },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR, SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR_sequence_of,
|
|
1, maxNrofCandidateBeams, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ssb_perRACH_Occasion_vals[] = {
|
|
{ 0, "oneEighth" },
|
|
{ 1, "oneFourth" },
|
|
{ 2, "oneHalf" },
|
|
{ 3, "one" },
|
|
{ 4, "two" },
|
|
{ 5, "four" },
|
|
{ 6, "eight" },
|
|
{ 7, "sixteen" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_perRACH_Occasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_powerRampingStepHighPriority_vals[] = {
|
|
{ 0, "dB0" },
|
|
{ 1, "dB2" },
|
|
{ 2, "dB4" },
|
|
{ 3, "dB6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_powerRampingStepHighPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scalingFactorBI_vals[] = {
|
|
{ 0, "zero" },
|
|
{ 1, "dot25" },
|
|
{ 2, "dot5" },
|
|
{ 3, "dot75" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scalingFactorBI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RA_Prioritization_sequence[] = {
|
|
{ &hf_nr_rrc_powerRampingStepHighPriority, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_powerRampingStepHighPriority },
|
|
{ &hf_nr_rrc_scalingFactorBI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactorBI },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RA_Prioritization(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RA_Prioritization, RA_Prioritization_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_beamFailureRecoveryTimer_vals[] = {
|
|
{ 0, "ms10" },
|
|
{ 1, "ms20" },
|
|
{ 2, "ms40" },
|
|
{ 3, "ms60" },
|
|
{ 4, "ms80" },
|
|
{ 5, "ms100" },
|
|
{ 6, "ms150" },
|
|
{ 7, "ms200" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_beamFailureRecoveryTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BeamFailureRecoveryConfig_sequence[] = {
|
|
{ &hf_nr_rrc_rootSequenceIndex_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_137 },
|
|
{ &hf_nr_rrc_rach_ConfigBFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RACH_ConfigGeneric },
|
|
{ &hf_nr_rrc_rsrp_ThresholdSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RSRP_Range },
|
|
{ &hf_nr_rrc_candidateBeamRSList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR },
|
|
{ &hf_nr_rrc_ssb_perRACH_Occasion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_perRACH_Occasion },
|
|
{ &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ &hf_nr_rrc_recoverySearchSpaceId, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SearchSpaceId },
|
|
{ &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization },
|
|
{ &hf_nr_rrc_beamFailureRecoveryTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryTimer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BeamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BeamFailureRecoveryConfig, BeamFailureRecoveryConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_beamFailureRecoveryConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_beamFailureRecoveryConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_08 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BeamFailureRecoveryConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_beamFailureRecoveryConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_beamFailureRecoveryConfig, T_beamFailureRecoveryConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BWP_UplinkDedicated_sequence[] = {
|
|
{ &hf_nr_rrc_pucch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Config },
|
|
{ &hf_nr_rrc_pusch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_Config },
|
|
{ &hf_nr_rrc_configuredGrantConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantConfig },
|
|
{ &hf_nr_rrc_srs_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_Config },
|
|
{ &hf_nr_rrc_beamFailureRecoveryConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureRecoveryConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP_UplinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BWP_UplinkDedicated, BWP_UplinkDedicated_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BWP_Uplink_sequence[] = {
|
|
{ &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_bwp_Common , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkCommon },
|
|
{ &hf_nr_rrc_bwp_Dedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BWP_Uplink, BWP_Uplink_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcch_ConfigCommon_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pdcch_ConfigCommon_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_09 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ConfigCommon },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdcch_ConfigCommon, T_pdcch_ConfigCommon_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mappingType_vals[] = {
|
|
{ 0, "typeA" },
|
|
{ 1, "typeB" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mappingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDSCH_TimeDomainResourceAllocation_sequence[] = {
|
|
{ &hf_nr_rrc_k0 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_32 },
|
|
{ &hf_nr_rrc_mappingType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mappingType },
|
|
{ &hf_nr_rrc_startSymbolAndLength, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_127 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDSCH_TimeDomainResourceAllocation, PDSCH_TimeDomainResourceAllocation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDSCH_TimeDomainResourceAllocationList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDSCH_TimeDomainResourceAllocation },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList, PDSCH_TimeDomainResourceAllocationList_sequence_of,
|
|
1, maxNrofDL_Allocations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDSCH_ConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_pdsch_TimeDomainAllocationList_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDSCH_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDSCH_ConfigCommon, PDSCH_ConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_ConfigCommon_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pdsch_ConfigCommon_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ConfigCommon },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_ConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdsch_ConfigCommon, T_pdsch_ConfigCommon_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BWP_DownlinkCommon_sequence[] = {
|
|
{ &hf_nr_rrc_genericParameters, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP },
|
|
{ &hf_nr_rrc_pdcch_ConfigCommon_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ConfigCommon },
|
|
{ &hf_nr_rrc_pdsch_ConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ConfigCommon },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP_DownlinkCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BWP_DownlinkCommon, BWP_DownlinkCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_controlResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet, SEQUENCE_SIZE_1_3_OF_ControlResourceSet_sequence_of,
|
|
1, 3, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_controlResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ControlResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId, SEQUENCE_SIZE_1_3_OF_ControlResourceSetId_sequence_of,
|
|
1, 3, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of[1] = {
|
|
{ &hf_nr_rrc_searchSpacesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpace },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace, SEQUENCE_SIZE_1_10_OF_SearchSpace_sequence_of,
|
|
1, 10, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_searchSpacesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SearchSpaceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId, SEQUENCE_SIZE_1_10_OF_SearchSpaceId_sequence_of,
|
|
1, 10, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_RNTI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 65535U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_timeFrequencySet_vals[] = {
|
|
{ 0, "set0" },
|
|
{ 1, "set1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_timeFrequencySet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxINT_DCI_PayloadSize, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxINT_DCI_PayloadSize_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t INT_ConfigurationPerServingCell_sequence[] = {
|
|
{ &hf_nr_rrc_servingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_positionInDCI, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_INT_ConfigurationPerServingCell, INT_ConfigurationPerServingCell_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of[1] = {
|
|
{ &hf_nr_rrc_int_ConfigurationPerServingCell_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INT_ConfigurationPerServingCell },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell, SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell_sequence_of,
|
|
1, maxNrofServingCells, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DownlinkPreemption_sequence[] = {
|
|
{ &hf_nr_rrc_int_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
|
|
{ &hf_nr_rrc_timeFrequencySet, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeFrequencySet },
|
|
{ &hf_nr_rrc_dci_PayloadSize, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxINT_DCI_PayloadSize },
|
|
{ &hf_nr_rrc_int_ConfigurationPerServingCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DownlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DownlinkPreemption, DownlinkPreemption_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_downlinkPreemption_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_downlinkPreemption_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_26 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DownlinkPreemption },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_downlinkPreemption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_downlinkPreemption, T_downlinkPreemption_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 15U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_TPC_CommandConfig_sequence[] = {
|
|
{ &hf_nr_rrc_tpc_Index , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
|
|
{ &hf_nr_rrc_tpc_IndexSUL , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
|
|
{ &hf_nr_rrc_targetCell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_TPC_CommandConfig, PUSCH_TPC_CommandConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_PUSCH_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_tpc_PUSCH_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_27 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_TPC_CommandConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_tpc_PUSCH, T_tpc_PUSCH_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_TPC_CommandConfig_sequence[] = {
|
|
{ &hf_nr_rrc_tpc_IndexPCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
|
|
{ &hf_nr_rrc_tpc_IndexPUCCH_SCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_15 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_TPC_CommandConfig, PUCCH_TPC_CommandConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_PUCCH_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_tpc_PUCCH_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_28 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUCCH_TPC_CommandConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_tpc_PUCCH, T_tpc_PUCCH_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 31U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_TPC_CommandConfig_sequence[] = {
|
|
{ &hf_nr_rrc_startingBitOfFormat2_3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_31 },
|
|
{ &hf_nr_rrc_fieldTypeFormat2_3, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_TPC_CommandConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_TPC_CommandConfig, SRS_TPC_CommandConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_SRS_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_tpc_SRS_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_29 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_CommandConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_SRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_tpc_SRS, T_tpc_SRS_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDCCH_Config_sequence[] = {
|
|
{ &hf_nr_rrc_controlResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet },
|
|
{ &hf_nr_rrc_controlResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId },
|
|
{ &hf_nr_rrc_searchSpacesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace },
|
|
{ &hf_nr_rrc_searchSpacesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId },
|
|
{ &hf_nr_rrc_downlinkPreemption, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkPreemption },
|
|
{ &hf_nr_rrc_tpc_PUSCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH },
|
|
{ &hf_nr_rrc_tpc_PUCCH , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH },
|
|
{ &hf_nr_rrc_tpc_SRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDCCH_Config, PDCCH_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcch_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pdcch_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_11 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdcch_Config, T_pdcch_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_Type_vals[] = {
|
|
{ 0, "type2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_AdditionalPosition_vals[] = {
|
|
{ 0, "pos0" },
|
|
{ 1, "pos1" },
|
|
{ 2, "pos3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_AdditionalPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxLength_vals[] = {
|
|
{ 0, "len2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxLength(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_frequencyDensity_sequence_of[1] = {
|
|
{ &hf_nr_rrc_frequencyDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_frequencyDensity, T_frequencyDensity_sequence_of,
|
|
2, 2, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_timeDensity_sequence_of[1] = {
|
|
{ &hf_nr_rrc_timeDensity_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_timeDensity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_timeDensity, T_timeDensity_sequence_of,
|
|
3, 3, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceElementOffset_vals[] = {
|
|
{ 0, "offset01" },
|
|
{ 1, "offset10" },
|
|
{ 2, "offset11" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceElementOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PTRS_DownlinkConfig_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyDensity, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_frequencyDensity },
|
|
{ &hf_nr_rrc_timeDensity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDensity },
|
|
{ &hf_nr_rrc_epre_Ratio , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 },
|
|
{ &hf_nr_rrc_resourceElementOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_resourceElementOffset },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PTRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PTRS_DownlinkConfig, PTRS_DownlinkConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phaseTrackingRS_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_phaseTrackingRS_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_19 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PTRS_DownlinkConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phaseTrackingRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_phaseTrackingRS, T_phaseTrackingRS_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DMRS_DownlinkConfig_sequence[] = {
|
|
{ &hf_nr_rrc_dmrs_Type , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_Type },
|
|
{ &hf_nr_rrc_dmrs_AdditionalPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_AdditionalPosition },
|
|
{ &hf_nr_rrc_maxLength , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxLength },
|
|
{ &hf_nr_rrc_scramblingID0, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
|
|
{ &hf_nr_rrc_scramblingID1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_65535 },
|
|
{ &hf_nr_rrc_phaseTrackingRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phaseTrackingRS },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DMRS_DownlinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DMRS_DownlinkConfig, DMRS_DownlinkConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeA_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA, T_dmrs_DownlinkForPDSCH_MappingTypeA_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_dmrs_DownlinkForPDSCH_MappingTypeB_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_31 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DMRS_DownlinkConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB, T_dmrs_DownlinkForPDSCH_MappingTypeB_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_referenceSignal_04_vals[] = {
|
|
{ 0, "csi-rs" },
|
|
{ 1, "ssb" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_referenceSignal_04_choice[] = {
|
|
{ 0, &hf_nr_rrc_csi_rs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ 1, &hf_nr_rrc_ssb_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_referenceSignal_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_referenceSignal_04, T_referenceSignal_04_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_qcl_Type_vals[] = {
|
|
{ 0, "typeA" },
|
|
{ 1, "typeB" },
|
|
{ 2, "typeC" },
|
|
{ 3, "typeD" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_qcl_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t QCL_Info_sequence[] = {
|
|
{ &hf_nr_rrc_cell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_referenceSignal_04, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_referenceSignal_04 },
|
|
{ &hf_nr_rrc_qcl_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_qcl_Type },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_QCL_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_QCL_Info, QCL_Info_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TCI_State_sequence[] = {
|
|
{ &hf_nr_rrc_tci_StateId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
|
|
{ &hf_nr_rrc_qcl_Type1 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_QCL_Info },
|
|
{ &hf_nr_rrc_qcl_Type2 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_QCL_Info },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TCI_State, TCI_State_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of[1] = {
|
|
{ &hf_nr_rrc_tci_StatesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_State },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State_sequence_of,
|
|
1, maxNrofTCI_States, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_tci_StatesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId_sequence_of,
|
|
1, maxNrofTCI_States, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_vrb_ToPRB_Interleaver_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_vrb_ToPRB_Interleaver(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceAllocation_01_vals[] = {
|
|
{ 0, "resourceAllocationType0" },
|
|
{ 1, "resourceAllocationType1" },
|
|
{ 2, "dynamicSwitch" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_TimeDomainAllocationList_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pdsch_TimeDomainAllocationList_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_TimeDomainResourceAllocationList },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_TimeDomainAllocationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdsch_TimeDomainAllocationList, T_pdsch_TimeDomainAllocationList_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_AggregationFactor_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_AggregationFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofRateMatchPatterns_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_275(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
275, 275, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
28, 28, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_symbolsInResourceBlock_vals[] = {
|
|
{ 0, "oneSlot" },
|
|
{ 1, "twoSlots" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_symbolsInResourceBlock_choice[] = {
|
|
{ 0, &hf_nr_rrc_oneSlot , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_14 },
|
|
{ 1, &hf_nr_rrc_twoSlots , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_28 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_symbolsInResourceBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_symbolsInResourceBlock, T_symbolsInResourceBlock_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
2, 2, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
5, 5, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
20, 20, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_40(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
40, 40, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicityAndPattern_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n5" },
|
|
{ 3, "n8" },
|
|
{ 4, "n10" },
|
|
{ 5, "n20" },
|
|
{ 6, "n40" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_periodicityAndPattern_choice[] = {
|
|
{ 0, &hf_nr_rrc_n2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ 1, &hf_nr_rrc_n4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
|
|
{ 2, &hf_nr_rrc_n5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_5 },
|
|
{ 3, &hf_nr_rrc_n8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 4, &hf_nr_rrc_n10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_10 },
|
|
{ 5, &hf_nr_rrc_n20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_20 },
|
|
{ 6, &hf_nr_rrc_n40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_40 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicityAndPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_periodicityAndPattern, T_periodicityAndPattern_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_bitmaps_sequence[] = {
|
|
{ &hf_nr_rrc_resourceBlocks, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_275 },
|
|
{ &hf_nr_rrc_symbolsInResourceBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbolsInResourceBlock },
|
|
{ &hf_nr_rrc_periodicityAndPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicityAndPattern },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bitmaps(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_bitmaps, T_bitmaps_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_patternType_vals[] = {
|
|
{ 0, "bitmaps" },
|
|
{ 1, "controlResourceSet" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_patternType_choice[] = {
|
|
{ 0, &hf_nr_rrc_bitmaps , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_bitmaps },
|
|
{ 1, &hf_nr_rrc_controlResourceSet, ASN1_NO_EXTENSIONS , dissect_nr_rrc_ControlResourceSetId },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_patternType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_patternType, T_patternType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mode_vals[] = {
|
|
{ 0, "dynamic" },
|
|
{ 1, "semiStatic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RateMatchPattern_sequence[] = {
|
|
{ &hf_nr_rrc_rateMatchPatternId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId },
|
|
{ &hf_nr_rrc_patternType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_patternType },
|
|
{ &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_mode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_mode },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RateMatchPattern, RateMatchPattern_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rateMatchPatternToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPattern },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern_sequence_of,
|
|
1, maxNrofRateMatchPatterns, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rateMatchPatternToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId, SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId_sequence_of,
|
|
1, maxNrofRateMatchPatterns, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_RateMatchPatternGroup_item_vals[] = {
|
|
{ 0, "cellLevel" },
|
|
{ 1, "bwpLevel" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t RateMatchPatternGroup_item_choice[] = {
|
|
{ 0, &hf_nr_rrc_cellLevel , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternId },
|
|
{ 1, &hf_nr_rrc_bwpLevel , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternId },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RateMatchPatternGroup_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RateMatchPatternGroup_item, RateMatchPatternGroup_item_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RateMatchPatternGroup_sequence_of[1] = {
|
|
{ &hf_nr_rrc_RateMatchPatternGroup_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RateMatchPatternGroup_item },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RateMatchPatternGroup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RateMatchPatternGroup, RateMatchPatternGroup_sequence_of,
|
|
1, maxNrofRateMatchPatternsPerGroup, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rbg_Size_01_vals[] = {
|
|
{ 0, "config1" },
|
|
{ 1, "config2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rbg_Size_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mcs_Table_01_vals[] = {
|
|
{ 0, "qam256" },
|
|
{ 1, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mcs_Table_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bundleSize_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "wideband" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bundleSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_staticBundling_sequence[] = {
|
|
{ &hf_nr_rrc_bundleSize , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSize },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_staticBundling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_staticBundling, T_staticBundling_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bundleSizeSet1_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "wideband" },
|
|
{ 2, "n2-wideband" },
|
|
{ 3, "n4-wideband" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bundleSizeSet1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bundleSizeSet2_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "wideband" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bundleSizeSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_dynamicBundling_sequence[] = {
|
|
{ &hf_nr_rrc_bundleSizeSet1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet1 },
|
|
{ &hf_nr_rrc_bundleSizeSet2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_bundleSizeSet2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicBundling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_dynamicBundling, T_dynamicBundling_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_prb_BundlingType_vals[] = {
|
|
{ 0, "staticBundling" },
|
|
{ 1, "dynamicBundling" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_prb_BundlingType_choice[] = {
|
|
{ 0, &hf_nr_rrc_staticBundling, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_staticBundling },
|
|
{ 1, &hf_nr_rrc_dynamicBundling, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dynamicBundling },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_prb_BundlingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_prb_BundlingType, T_prb_BundlingType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofZP_CSI_RS_Resources_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
3, 3, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_frequencyDomainAllocation_01_vals[] = {
|
|
{ 0, "row1" },
|
|
{ 1, "row2" },
|
|
{ 2, "row4" },
|
|
{ 3, "other" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_frequencyDomainAllocation_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_row1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
|
|
{ 1, &hf_nr_rrc_row2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_12 },
|
|
{ 2, &hf_nr_rrc_row4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_3 },
|
|
{ 3, &hf_nr_rrc_other_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_frequencyDomainAllocation_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_frequencyDomainAllocation_01, T_frequencyDomainAllocation_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofPorts_vals[] = {
|
|
{ 0, "p1" },
|
|
{ 1, "p2" },
|
|
{ 2, "p4" },
|
|
{ 3, "p8" },
|
|
{ 4, "p12" },
|
|
{ 5, "p16" },
|
|
{ 6, "p24" },
|
|
{ 7, "p32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_2_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
2U, 12U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cdm_Type_vals[] = {
|
|
{ 0, "noCDM" },
|
|
{ 1, "fd-CDM2" },
|
|
{ 2, "cdm4-FD2-TD2" },
|
|
{ 3, "cdm8-FD2-TD4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cdm_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dot5_vals[] = {
|
|
{ 0, "evenPRBs" },
|
|
{ 1, "oddPRBs" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dot5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_density_01_vals[] = {
|
|
{ 0, "dot5" },
|
|
{ 1, "one" },
|
|
{ 2, "three" },
|
|
{ 3, "spare" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_density_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_dot5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_dot5 },
|
|
{ 1, &hf_nr_rrc_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_spare_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_density_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_density_01, T_density_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocksPlus1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
24U, maxNrofPhysicalResourceBlocksPlus1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_FrequencyOccupation_sequence[] = {
|
|
{ &hf_nr_rrc_startingRB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxNrofPhysicalResourceBlocks_1 },
|
|
{ &hf_nr_rrc_nrofRBs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_24_maxNrofPhysicalResourceBlocksPlus1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_FrequencyOccupation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_FrequencyOccupation, CSI_FrequencyOccupation_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_RS_ResourceMapping_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyDomainAllocation_02, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_frequencyDomainAllocation_01 },
|
|
{ &hf_nr_rrc_nrofPorts , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofPorts },
|
|
{ &hf_nr_rrc_firstOFDMSymbolInTimeDomain, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
|
|
{ &hf_nr_rrc_firstOFDMSymbolInTimeDomain2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_12 },
|
|
{ &hf_nr_rrc_cdm_Type , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_cdm_Type },
|
|
{ &hf_nr_rrc_density_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_density_01 },
|
|
{ &hf_nr_rrc_freqBand , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_FrequencyOccupation },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_RS_ResourceMapping(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_RS_ResourceMapping, CSI_RS_ResourceMapping_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_CSI_ResourcePeriodicityAndOffset_vals[] = {
|
|
{ 0, "slots4" },
|
|
{ 1, "slots5" },
|
|
{ 2, "slots8" },
|
|
{ 3, "slots10" },
|
|
{ 4, "slots16" },
|
|
{ 5, "slots20" },
|
|
{ 6, "slots32" },
|
|
{ 7, "slots40" },
|
|
{ 8, "slots64" },
|
|
{ 9, "slots80" },
|
|
{ 10, "slots160" },
|
|
{ 11, "slots320" },
|
|
{ 12, "slots640" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t CSI_ResourcePeriodicityAndOffset_choice[] = {
|
|
{ 0, &hf_nr_rrc_slots4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
|
|
{ 1, &hf_nr_rrc_slots5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
|
|
{ 2, &hf_nr_rrc_slots8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
|
|
{ 3, &hf_nr_rrc_slots10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 4, &hf_nr_rrc_slots16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ 5, &hf_nr_rrc_slots20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 6, &hf_nr_rrc_slots32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ 7, &hf_nr_rrc_slots40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 8, &hf_nr_rrc_slots64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
|
|
{ 9, &hf_nr_rrc_slots80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 10, &hf_nr_rrc_slots160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 11, &hf_nr_rrc_slots320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 12, &hf_nr_rrc_slots640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_ResourcePeriodicityAndOffset, CSI_ResourcePeriodicityAndOffset_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ZP_CSI_RS_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
|
|
{ &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping },
|
|
{ &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ZP_CSI_RS_Resource, ZP_CSI_RS_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource_sequence_of,
|
|
1, maxNrofZP_CSI_RS_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId_sequence_of,
|
|
1, maxNrofZP_CSI_RS_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofZP_CSI_RS_ResourceSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId_sequence_of,
|
|
1, maxNrofZP_CSI_RS_ResourcesPerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ZP_CSI_RS_ResourceSet_sequence[] = {
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId },
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceIdList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ZP_CSI_RS_ResourceSet, ZP_CSI_RS_ResourceSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet_sequence_of,
|
|
1, maxNrofZP_CSI_RS_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ZP_CSI_RS_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId_sequence_of,
|
|
1, maxNrofZP_CSI_RS_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_p_ZP_CSI_RS_ResourceSet_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_p_ZP_CSI_RS_ResourceSet_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_33 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_ZP_CSI_RS_ResourceSet },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet, T_p_ZP_CSI_RS_ResourceSet_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDSCH_Config_sequence[] = {
|
|
{ &hf_nr_rrc_dataScramblingIdentityPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_1023 },
|
|
{ &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA },
|
|
{ &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB },
|
|
{ &hf_nr_rrc_tci_StatesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State },
|
|
{ &hf_nr_rrc_tci_StatesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId },
|
|
{ &hf_nr_rrc_vrb_ToPRB_Interleaver, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_vrb_ToPRB_Interleaver },
|
|
{ &hf_nr_rrc_resourceAllocation_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceAllocation_01 },
|
|
{ &hf_nr_rrc_pdsch_TimeDomainAllocationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_TimeDomainAllocationList },
|
|
{ &hf_nr_rrc_pdsch_AggregationFactor, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_AggregationFactor },
|
|
{ &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
|
|
{ &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
|
|
{ &hf_nr_rrc_rateMatchPatternGroup1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RateMatchPatternGroup },
|
|
{ &hf_nr_rrc_rateMatchPatternGroup2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RateMatchPatternGroup },
|
|
{ &hf_nr_rrc_rbg_Size_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_rbg_Size_01 },
|
|
{ &hf_nr_rrc_mcs_Table_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mcs_Table_01 },
|
|
{ &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNrofCodeWordsScheduledByDCI },
|
|
{ &hf_nr_rrc_prb_BundlingType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prb_BundlingType },
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource },
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId },
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet },
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId },
|
|
{ &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet },
|
|
{ &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId },
|
|
{ &hf_nr_rrc_p_ZP_CSI_RS_ResourceSet, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_p_ZP_CSI_RS_ResourceSet },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDSCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDSCH_Config, PDSCH_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pdsch_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_12 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdsch_Config, T_pdsch_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicity_01_vals[] = {
|
|
{ 0, "ms10" },
|
|
{ 1, "ms20" },
|
|
{ 2, "ms32" },
|
|
{ 3, "ms40" },
|
|
{ 4, "ms64" },
|
|
{ 5, "ms80" },
|
|
{ 6, "ms128" },
|
|
{ 7, "ms160" },
|
|
{ 8, "ms320" },
|
|
{ 9, "ms640" },
|
|
{ 10, "spare6" },
|
|
{ 11, "spare5" },
|
|
{ 12, "spare4" },
|
|
{ 13, "spare3" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_periodicity_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_periodicity_01_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicity_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SPS_Config_sequence[] = {
|
|
{ &hf_nr_rrc_periodicity_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicity_01 },
|
|
{ &hf_nr_rrc_nrofHARQ_Processes_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
|
|
{ &hf_nr_rrc_n1PUCCH_AN , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PUCCH_ResourceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SPS_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SPS_Config, SPS_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sps_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_sps_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_13 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SPS_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sps_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_sps_Config, T_sps_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_RadioLinkMonitoringRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofFailureDetectionResources_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_purpose_vals[] = {
|
|
{ 0, "beamFailure" },
|
|
{ 1, "rlf" },
|
|
{ 2, "both" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_purpose(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_detectionResource_vals[] = {
|
|
{ 0, "ssb-Index" },
|
|
{ 1, "csi-RS-Index" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_detectionResource_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_Index , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SSB_Index },
|
|
{ 1, &hf_nr_rrc_csi_RS_Index_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_detectionResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_detectionResource, T_detectionResource_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RadioLinkMonitoringRS_sequence[] = {
|
|
{ &hf_nr_rrc_radioLinkMonitoringRS_Id, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS_Id },
|
|
{ &hf_nr_rrc_purpose , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_purpose },
|
|
{ &hf_nr_rrc_detectionResource, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_detectionResource },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RadioLinkMonitoringRS, RadioLinkMonitoringRS_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of[1] = {
|
|
{ &hf_nr_rrc_failureDetectionResourcesToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS, SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_sequence_of,
|
|
1, maxNrofFailureDetectionResources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id_sequence_of[1] = {
|
|
{ &hf_nr_rrc_failureDetectionResourcesToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RadioLinkMonitoringRS_Id },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id, SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id_sequence_of,
|
|
1, maxNrofFailureDetectionResources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_beamFailureInstanceMaxCount_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n3" },
|
|
{ 3, "n4" },
|
|
{ 4, "n5" },
|
|
{ 5, "n6" },
|
|
{ 6, "n8" },
|
|
{ 7, "n10" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_beamFailureInstanceMaxCount(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_beamFailureDetectionTimer_vals[] = {
|
|
{ 0, "pbfd1" },
|
|
{ 1, "pbfd2" },
|
|
{ 2, "pbfd3" },
|
|
{ 3, "pbfd4" },
|
|
{ 4, "pbfd5" },
|
|
{ 5, "pbfd6" },
|
|
{ 6, "pbfd8" },
|
|
{ 7, "pbfd10" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_beamFailureDetectionTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RadioLinkMonitoringConfig_sequence[] = {
|
|
{ &hf_nr_rrc_failureDetectionResourcesToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS },
|
|
{ &hf_nr_rrc_failureDetectionResourcesToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id },
|
|
{ &hf_nr_rrc_beamFailureInstanceMaxCount, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureInstanceMaxCount },
|
|
{ &hf_nr_rrc_beamFailureDetectionTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamFailureDetectionTimer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RadioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RadioLinkMonitoringConfig, RadioLinkMonitoringConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_radioLinkMonitoringConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_radioLinkMonitoringConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_14 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RadioLinkMonitoringConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_radioLinkMonitoringConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_radioLinkMonitoringConfig, T_radioLinkMonitoringConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BWP_DownlinkDedicated_sequence[] = {
|
|
{ &hf_nr_rrc_pdcch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_Config },
|
|
{ &hf_nr_rrc_pdsch_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_Config },
|
|
{ &hf_nr_rrc_sps_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sps_Config },
|
|
{ &hf_nr_rrc_radioLinkMonitoringConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_radioLinkMonitoringConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP_DownlinkDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BWP_DownlinkDedicated, BWP_DownlinkDedicated_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BWP_Downlink_sequence[] = {
|
|
{ &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_bwp_Common_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon },
|
|
{ &hf_nr_rrc_bwp_Dedicated_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BWP_Downlink, BWP_Downlink_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_servedRadioBearer_vals[] = {
|
|
{ 0, "srb-Identity" },
|
|
{ 1, "drb-Identity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_servedRadioBearer_choice[] = {
|
|
{ 0, &hf_nr_rrc_srb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRB_Identity },
|
|
{ 1, &hf_nr_rrc_drb_Identity , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRB_Identity },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_servedRadioBearer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_servedRadioBearer, T_servedRadioBearer_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reestablishRLC_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reestablishRLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_SN_FieldLengthAM_vals[] = {
|
|
{ 0, "size12" },
|
|
{ 1, "size18" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SN_FieldLengthAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_PollRetransmit_vals[] = {
|
|
{ 0, "ms5" },
|
|
{ 1, "ms10" },
|
|
{ 2, "ms15" },
|
|
{ 3, "ms20" },
|
|
{ 4, "ms25" },
|
|
{ 5, "ms30" },
|
|
{ 6, "ms35" },
|
|
{ 7, "ms40" },
|
|
{ 8, "ms45" },
|
|
{ 9, "ms50" },
|
|
{ 10, "ms55" },
|
|
{ 11, "ms60" },
|
|
{ 12, "ms65" },
|
|
{ 13, "ms70" },
|
|
{ 14, "ms75" },
|
|
{ 15, "ms80" },
|
|
{ 16, "ms85" },
|
|
{ 17, "ms90" },
|
|
{ 18, "ms95" },
|
|
{ 19, "ms100" },
|
|
{ 20, "ms105" },
|
|
{ 21, "ms110" },
|
|
{ 22, "ms115" },
|
|
{ 23, "ms120" },
|
|
{ 24, "ms125" },
|
|
{ 25, "ms130" },
|
|
{ 26, "ms135" },
|
|
{ 27, "ms140" },
|
|
{ 28, "ms145" },
|
|
{ 29, "ms150" },
|
|
{ 30, "ms155" },
|
|
{ 31, "ms160" },
|
|
{ 32, "ms165" },
|
|
{ 33, "ms170" },
|
|
{ 34, "ms175" },
|
|
{ 35, "ms180" },
|
|
{ 36, "ms185" },
|
|
{ 37, "ms190" },
|
|
{ 38, "ms195" },
|
|
{ 39, "ms200" },
|
|
{ 40, "ms205" },
|
|
{ 41, "ms210" },
|
|
{ 42, "ms215" },
|
|
{ 43, "ms220" },
|
|
{ 44, "ms225" },
|
|
{ 45, "ms230" },
|
|
{ 46, "ms235" },
|
|
{ 47, "ms240" },
|
|
{ 48, "ms245" },
|
|
{ 49, "ms250" },
|
|
{ 50, "ms300" },
|
|
{ 51, "ms350" },
|
|
{ 52, "ms400" },
|
|
{ 53, "ms450" },
|
|
{ 54, "ms500" },
|
|
{ 55, "ms800" },
|
|
{ 56, "ms1000" },
|
|
{ 57, "ms2000" },
|
|
{ 58, "ms4000" },
|
|
{ 59, "spare5" },
|
|
{ 60, "spare4" },
|
|
{ 61, "spare3" },
|
|
{ 62, "spare2" },
|
|
{ 63, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_PollRetransmit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_PollRetransmit_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_PollRetransmit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
64, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_PollPDU_vals[] = {
|
|
{ 0, "p4" },
|
|
{ 1, "p8" },
|
|
{ 2, "p16" },
|
|
{ 3, "p32" },
|
|
{ 4, "p64" },
|
|
{ 5, "p128" },
|
|
{ 6, "p256" },
|
|
{ 7, "p512" },
|
|
{ 8, "p1024" },
|
|
{ 9, "p2048" },
|
|
{ 10, "p4096" },
|
|
{ 11, "p6144" },
|
|
{ 12, "p8192" },
|
|
{ 13, "p12288" },
|
|
{ 14, "p16384" },
|
|
{ 15, "p20480" },
|
|
{ 16, "p24576" },
|
|
{ 17, "p28672" },
|
|
{ 18, "p32768" },
|
|
{ 19, "p40960" },
|
|
{ 20, "p49152" },
|
|
{ 21, "p57344" },
|
|
{ 22, "p65536" },
|
|
{ 23, "infinity" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_PollPDU_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollPDU_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PollPDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_PollByte_vals[] = {
|
|
{ 0, "kB1" },
|
|
{ 1, "kB2" },
|
|
{ 2, "kB5" },
|
|
{ 3, "kB8" },
|
|
{ 4, "kB10" },
|
|
{ 5, "kB15" },
|
|
{ 6, "kB25" },
|
|
{ 7, "kB50" },
|
|
{ 8, "kB75" },
|
|
{ 9, "kB100" },
|
|
{ 10, "kB125" },
|
|
{ 11, "kB250" },
|
|
{ 12, "kB375" },
|
|
{ 13, "kB500" },
|
|
{ 14, "kB750" },
|
|
{ 15, "kB1000" },
|
|
{ 16, "kB1250" },
|
|
{ 17, "kB1500" },
|
|
{ 18, "kB2000" },
|
|
{ 19, "kB3000" },
|
|
{ 20, "kB4000" },
|
|
{ 21, "kB4500" },
|
|
{ 22, "kB5000" },
|
|
{ 23, "kB5500" },
|
|
{ 24, "kB6000" },
|
|
{ 25, "kB6500" },
|
|
{ 26, "kB7000" },
|
|
{ 27, "kB7500" },
|
|
{ 28, "mB8" },
|
|
{ 29, "mB9" },
|
|
{ 30, "mB10" },
|
|
{ 31, "mB11" },
|
|
{ 32, "mB12" },
|
|
{ 33, "mB13" },
|
|
{ 34, "mB14" },
|
|
{ 35, "mB15" },
|
|
{ 36, "mB16" },
|
|
{ 37, "mB17" },
|
|
{ 38, "mB18" },
|
|
{ 39, "mB20" },
|
|
{ 40, "mB25" },
|
|
{ 41, "mB30" },
|
|
{ 42, "mB40" },
|
|
{ 43, "infinity" },
|
|
{ 44, "spare20" },
|
|
{ 45, "spare19" },
|
|
{ 46, "spare18" },
|
|
{ 47, "spare17" },
|
|
{ 48, "spare16" },
|
|
{ 49, "spare15" },
|
|
{ 50, "spare14" },
|
|
{ 51, "spare13" },
|
|
{ 52, "spare12" },
|
|
{ 53, "spare11" },
|
|
{ 54, "spare10" },
|
|
{ 55, "spare9" },
|
|
{ 56, "spare8" },
|
|
{ 57, "spare7" },
|
|
{ 58, "spare6" },
|
|
{ 59, "spare5" },
|
|
{ 60, "spare4" },
|
|
{ 61, "spare3" },
|
|
{ 62, "spare2" },
|
|
{ 63, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_PollByte_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_PollByte_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PollByte(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
64, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxRetxThreshold_vals[] = {
|
|
{ 0, "t1" },
|
|
{ 1, "t2" },
|
|
{ 2, "t3" },
|
|
{ 3, "t4" },
|
|
{ 4, "t6" },
|
|
{ 5, "t8" },
|
|
{ 6, "t16" },
|
|
{ 7, "t32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxRetxThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UL_AM_RLC_sequence[] = {
|
|
{ &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM },
|
|
{ &hf_nr_rrc_t_PollRetransmit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_PollRetransmit },
|
|
{ &hf_nr_rrc_pollPDU , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollPDU },
|
|
{ &hf_nr_rrc_pollByte , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PollByte },
|
|
{ &hf_nr_rrc_maxRetxThreshold, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxRetxThreshold },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UL_AM_RLC, UL_AM_RLC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_Reassembly_vals[] = {
|
|
{ 0, "ms0" },
|
|
{ 1, "ms5" },
|
|
{ 2, "ms10" },
|
|
{ 3, "ms15" },
|
|
{ 4, "ms20" },
|
|
{ 5, "ms25" },
|
|
{ 6, "ms30" },
|
|
{ 7, "ms35" },
|
|
{ 8, "ms40" },
|
|
{ 9, "ms45" },
|
|
{ 10, "ms50" },
|
|
{ 11, "ms55" },
|
|
{ 12, "ms60" },
|
|
{ 13, "ms65" },
|
|
{ 14, "ms70" },
|
|
{ 15, "ms75" },
|
|
{ 16, "ms80" },
|
|
{ 17, "ms85" },
|
|
{ 18, "ms90" },
|
|
{ 19, "ms95" },
|
|
{ 20, "ms100" },
|
|
{ 21, "ms110" },
|
|
{ 22, "ms120" },
|
|
{ 23, "ms130" },
|
|
{ 24, "ms140" },
|
|
{ 25, "ms150" },
|
|
{ 26, "ms160" },
|
|
{ 27, "ms170" },
|
|
{ 28, "ms180" },
|
|
{ 29, "ms190" },
|
|
{ 30, "ms200" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_Reassembly_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_Reassembly_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_Reassembly(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_StatusProhibit_vals[] = {
|
|
{ 0, "ms0" },
|
|
{ 1, "ms5" },
|
|
{ 2, "ms10" },
|
|
{ 3, "ms15" },
|
|
{ 4, "ms20" },
|
|
{ 5, "ms25" },
|
|
{ 6, "ms30" },
|
|
{ 7, "ms35" },
|
|
{ 8, "ms40" },
|
|
{ 9, "ms45" },
|
|
{ 10, "ms50" },
|
|
{ 11, "ms55" },
|
|
{ 12, "ms60" },
|
|
{ 13, "ms65" },
|
|
{ 14, "ms70" },
|
|
{ 15, "ms75" },
|
|
{ 16, "ms80" },
|
|
{ 17, "ms85" },
|
|
{ 18, "ms90" },
|
|
{ 19, "ms95" },
|
|
{ 20, "ms100" },
|
|
{ 21, "ms105" },
|
|
{ 22, "ms110" },
|
|
{ 23, "ms115" },
|
|
{ 24, "ms120" },
|
|
{ 25, "ms125" },
|
|
{ 26, "ms130" },
|
|
{ 27, "ms135" },
|
|
{ 28, "ms140" },
|
|
{ 29, "ms145" },
|
|
{ 30, "ms150" },
|
|
{ 31, "ms155" },
|
|
{ 32, "ms160" },
|
|
{ 33, "ms165" },
|
|
{ 34, "ms170" },
|
|
{ 35, "ms175" },
|
|
{ 36, "ms180" },
|
|
{ 37, "ms185" },
|
|
{ 38, "ms190" },
|
|
{ 39, "ms195" },
|
|
{ 40, "ms200" },
|
|
{ 41, "ms205" },
|
|
{ 42, "ms210" },
|
|
{ 43, "ms215" },
|
|
{ 44, "ms220" },
|
|
{ 45, "ms225" },
|
|
{ 46, "ms230" },
|
|
{ 47, "ms235" },
|
|
{ 48, "ms240" },
|
|
{ 49, "ms245" },
|
|
{ 50, "ms250" },
|
|
{ 51, "ms300" },
|
|
{ 52, "ms350" },
|
|
{ 53, "ms400" },
|
|
{ 54, "ms450" },
|
|
{ 55, "ms500" },
|
|
{ 56, "ms800" },
|
|
{ 57, "ms1000" },
|
|
{ 58, "ms1200" },
|
|
{ 59, "ms1600" },
|
|
{ 60, "ms2000" },
|
|
{ 61, "ms2400" },
|
|
{ 62, "spare2" },
|
|
{ 63, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_StatusProhibit_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_StatusProhibit_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_StatusProhibit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
64, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DL_AM_RLC_sequence[] = {
|
|
{ &hf_nr_rrc_sn_FieldLength, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthAM },
|
|
{ &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
|
|
{ &hf_nr_rrc_t_StatusProhibit, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_StatusProhibit },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DL_AM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DL_AM_RLC, DL_AM_RLC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_am_sequence[] = {
|
|
{ &hf_nr_rrc_ul_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_AM_RLC },
|
|
{ &hf_nr_rrc_dl_AM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_AM_RLC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_am(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_am, T_am_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_SN_FieldLengthUM_vals[] = {
|
|
{ 0, "size6" },
|
|
{ 1, "size12" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SN_FieldLengthUM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UL_UM_RLC_sequence[] = {
|
|
{ &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UL_UM_RLC, UL_UM_RLC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DL_UM_RLC_sequence[] = {
|
|
{ &hf_nr_rrc_sn_FieldLength_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SN_FieldLengthUM },
|
|
{ &hf_nr_rrc_t_Reassembly , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_Reassembly },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DL_UM_RLC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DL_UM_RLC, DL_UM_RLC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_um_Bi_Directional_sequence[] = {
|
|
{ &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
|
|
{ &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_um_Bi_Directional(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_um_Bi_Directional, T_um_Bi_Directional_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_um_Uni_Directional_UL_sequence[] = {
|
|
{ &hf_nr_rrc_ul_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_UL_UM_RLC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_um_Uni_Directional_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_um_Uni_Directional_UL, T_um_Uni_Directional_UL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_um_Uni_Directional_DL_sequence[] = {
|
|
{ &hf_nr_rrc_dl_UM_RLC , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_DL_UM_RLC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_um_Uni_Directional_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_um_Uni_Directional_DL, T_um_Uni_Directional_DL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_RLC_Config_vals[] = {
|
|
{ 0, "am" },
|
|
{ 1, "um-Bi-Directional" },
|
|
{ 2, "um-Uni-Directional-UL" },
|
|
{ 3, "um-Uni-Directional-DL" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t RLC_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_am , ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_am },
|
|
{ 1, &hf_nr_rrc_um_Bi_Directional, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Bi_Directional },
|
|
{ 2, &hf_nr_rrc_um_Uni_Directional_UL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_UL },
|
|
{ 3, &hf_nr_rrc_um_Uni_Directional_DL, ASN1_EXTENSION_ROOT , dissect_nr_rrc_T_um_Uni_Directional_DL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RLC_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RLC_Config, RLC_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_prioritisedBitRate_vals[] = {
|
|
{ 0, "kBps0" },
|
|
{ 1, "kBps8" },
|
|
{ 2, "kBps16" },
|
|
{ 3, "kBps32" },
|
|
{ 4, "kBps64" },
|
|
{ 5, "kBps128" },
|
|
{ 6, "kBps256" },
|
|
{ 7, "kBps512" },
|
|
{ 8, "kBps1024" },
|
|
{ 9, "kBps2048" },
|
|
{ 10, "kBps4096" },
|
|
{ 11, "kBps8192" },
|
|
{ 12, "kBps16384" },
|
|
{ 13, "kBps32768" },
|
|
{ 14, "kBps65536" },
|
|
{ 15, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_prioritisedBitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bucketSizeDuration_vals[] = {
|
|
{ 0, "ms5" },
|
|
{ 1, "ms10" },
|
|
{ 2, "ms20" },
|
|
{ 3, "ms50" },
|
|
{ 4, "ms100" },
|
|
{ 5, "ms150" },
|
|
{ 6, "ms300" },
|
|
{ 7, "ms500" },
|
|
{ 8, "ms1000" },
|
|
{ 9, "spare7" },
|
|
{ 10, "spare6" },
|
|
{ 11, "spare5" },
|
|
{ 12, "spare4" },
|
|
{ 13, "spare3" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bucketSizeDuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of[1] = {
|
|
{ &hf_nr_rrc_allowedServingCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex_sequence_of,
|
|
1, maxNrofServingCells_1, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of[1] = {
|
|
{ &hf_nr_rrc_allowedSCS_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing, SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing_sequence_of,
|
|
1, maxSCSs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxPUSCH_Duration_vals[] = {
|
|
{ 0, "ms0p02" },
|
|
{ 1, "ms0p04" },
|
|
{ 2, "ms0p0625" },
|
|
{ 3, "ms0p125" },
|
|
{ 4, "ms0p25" },
|
|
{ 5, "ms0p5" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxPUSCH_Duration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_configuredGrantType1Allowed_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_configuredGrantType1Allowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxLCG_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxLCG_ID, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ul_SpecificParameters_sequence[] = {
|
|
{ &hf_nr_rrc_priority , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
|
|
{ &hf_nr_rrc_prioritisedBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_prioritisedBitRate },
|
|
{ &hf_nr_rrc_bucketSizeDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_bucketSizeDuration },
|
|
{ &hf_nr_rrc_allowedServingCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex },
|
|
{ &hf_nr_rrc_allowedSCS_List, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_maxPUSCH_Duration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxPUSCH_Duration },
|
|
{ &hf_nr_rrc_configuredGrantType1Allowed, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredGrantType1Allowed },
|
|
{ &hf_nr_rrc_logicalChannelGroup, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxLCG_ID },
|
|
{ &hf_nr_rrc_schedulingRequestID, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestId },
|
|
{ &hf_nr_rrc_logicalChannelSR_Mask, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_logicalChannelSR_DelayTimerApplied, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ul_SpecificParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ul_SpecificParameters, T_ul_SpecificParameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t LogicalChannelConfig_sequence[] = {
|
|
{ &hf_nr_rrc_ul_SpecificParameters, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SpecificParameters },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_LogicalChannelConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_LogicalChannelConfig, LogicalChannelConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RLC_BearerConfig_sequence[] = {
|
|
{ &hf_nr_rrc_logicalChannelIdentity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
|
|
{ &hf_nr_rrc_servedRadioBearer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_servedRadioBearer },
|
|
{ &hf_nr_rrc_reestablishRLC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reestablishRLC },
|
|
{ &hf_nr_rrc_rlc_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Config },
|
|
{ &hf_nr_rrc_mac_LogicalChannelConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_LogicalChannelConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RLC_BearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RLC_BearerConfig, RLC_BearerConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rlc_BearerToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RLC_BearerConfig },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig, SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig_sequence_of,
|
|
1, maxLC_ID, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rlc_BearerToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_LogicalChannelIdentity },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity, SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity_sequence_of,
|
|
1, maxLC_ID, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_milliSeconds_vals[] = {
|
|
{ 0, "ms1" },
|
|
{ 1, "ms2" },
|
|
{ 2, "ms3" },
|
|
{ 3, "ms4" },
|
|
{ 4, "ms5" },
|
|
{ 5, "ms6" },
|
|
{ 6, "ms8" },
|
|
{ 7, "ms10" },
|
|
{ 8, "ms20" },
|
|
{ 9, "ms30" },
|
|
{ 10, "ms40" },
|
|
{ 11, "ms50" },
|
|
{ 12, "ms60" },
|
|
{ 13, "ms80" },
|
|
{ 14, "ms100" },
|
|
{ 15, "ms200" },
|
|
{ 16, "ms300" },
|
|
{ 17, "ms400" },
|
|
{ 18, "ms500" },
|
|
{ 19, "ms600" },
|
|
{ 20, "ms800" },
|
|
{ 21, "ms1000" },
|
|
{ 22, "ms1200" },
|
|
{ 23, "ms1600" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_milliSeconds_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_milliSeconds_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_milliSeconds(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_onDurationTimer_vals[] = {
|
|
{ 0, "subMilliSeconds" },
|
|
{ 1, "milliSeconds" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_drx_onDurationTimer_choice[] = {
|
|
{ 0, &hf_nr_rrc_subMilliSeconds, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_31 },
|
|
{ 1, &hf_nr_rrc_milliSeconds , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_milliSeconds },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_onDurationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_drx_onDurationTimer, T_drx_onDurationTimer_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_InactivityTimer_vals[] = {
|
|
{ 0, "ms0" },
|
|
{ 1, "ms1" },
|
|
{ 2, "ms2" },
|
|
{ 3, "ms3" },
|
|
{ 4, "ms4" },
|
|
{ 5, "ms5" },
|
|
{ 6, "ms6" },
|
|
{ 7, "ms8" },
|
|
{ 8, "ms10" },
|
|
{ 9, "ms20" },
|
|
{ 10, "ms30" },
|
|
{ 11, "ms40" },
|
|
{ 12, "ms50" },
|
|
{ 13, "ms60" },
|
|
{ 14, "ms80" },
|
|
{ 15, "ms100" },
|
|
{ 16, "ms200" },
|
|
{ 17, "ms300" },
|
|
{ 18, "ms500" },
|
|
{ 19, "ms750" },
|
|
{ 20, "ms1280" },
|
|
{ 21, "ms1920" },
|
|
{ 22, "ms2560" },
|
|
{ 23, "spare9" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_drx_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_InactivityTimer_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_56(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 56U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_RetransmissionTimerDL_vals[] = {
|
|
{ 0, "sl0" },
|
|
{ 1, "sl1" },
|
|
{ 2, "sl2" },
|
|
{ 3, "sl4" },
|
|
{ 4, "sl6" },
|
|
{ 5, "sl8" },
|
|
{ 6, "sl16" },
|
|
{ 7, "sl24" },
|
|
{ 8, "sl33" },
|
|
{ 9, "sl40" },
|
|
{ 10, "sl64" },
|
|
{ 11, "sl80" },
|
|
{ 12, "sl96" },
|
|
{ 13, "sl112" },
|
|
{ 14, "sl128" },
|
|
{ 15, "sl160" },
|
|
{ 16, "sl320" },
|
|
{ 17, "spare15" },
|
|
{ 18, "spare14" },
|
|
{ 19, "spare13" },
|
|
{ 20, "spare12" },
|
|
{ 21, "spare11" },
|
|
{ 22, "spare10" },
|
|
{ 23, "spare9" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_drx_RetransmissionTimerDL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerDL_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_RetransmissionTimerDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_RetransmissionTimerUL_vals[] = {
|
|
{ 0, "sl0" },
|
|
{ 1, "sl1" },
|
|
{ 2, "sl2" },
|
|
{ 3, "sl4" },
|
|
{ 4, "sl6" },
|
|
{ 5, "sl8" },
|
|
{ 6, "sl16" },
|
|
{ 7, "sl24" },
|
|
{ 8, "sl33" },
|
|
{ 9, "sl40" },
|
|
{ 10, "sl64" },
|
|
{ 11, "sl80" },
|
|
{ 12, "sl96" },
|
|
{ 13, "sl112" },
|
|
{ 14, "sl128" },
|
|
{ 15, "sl160" },
|
|
{ 16, "sl320" },
|
|
{ 17, "spare15" },
|
|
{ 18, "spare14" },
|
|
{ 19, "spare13" },
|
|
{ 20, "spare12" },
|
|
{ 21, "spare11" },
|
|
{ 22, "spare10" },
|
|
{ 23, "spare9" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_drx_RetransmissionTimerUL_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_RetransmissionTimerUL_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_RetransmissionTimerUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_LongCycleStartOffset_01_vals[] = {
|
|
{ 0, "ms10" },
|
|
{ 1, "ms20" },
|
|
{ 2, "ms32" },
|
|
{ 3, "ms40" },
|
|
{ 4, "ms60" },
|
|
{ 5, "ms64" },
|
|
{ 6, "ms70" },
|
|
{ 7, "ms80" },
|
|
{ 8, "ms128" },
|
|
{ 9, "ms160" },
|
|
{ 10, "ms256" },
|
|
{ 11, "ms320" },
|
|
{ 12, "ms512" },
|
|
{ 13, "ms640" },
|
|
{ 14, "ms1024" },
|
|
{ 15, "ms1280" },
|
|
{ 16, "ms2048" },
|
|
{ 17, "ms2560" },
|
|
{ 18, "ms5120" },
|
|
{ 19, "ms10240" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_LongCycleStartOffset_01_vals);
|
|
|
|
static const per_choice_t T_drx_LongCycleStartOffset_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_ms10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 1, &hf_nr_rrc_ms20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 2, &hf_nr_rrc_ms32 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ 3, &hf_nr_rrc_ms40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 4, &hf_nr_rrc_ms60 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_59 },
|
|
{ 5, &hf_nr_rrc_ms64 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_63 },
|
|
{ 6, &hf_nr_rrc_ms70 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_69 },
|
|
{ 7, &hf_nr_rrc_ms80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 8, &hf_nr_rrc_ms128 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_127 },
|
|
{ 9, &hf_nr_rrc_ms160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 10, &hf_nr_rrc_ms256 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_255 },
|
|
{ 11, &hf_nr_rrc_ms320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 12, &hf_nr_rrc_ms512 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_511 },
|
|
{ 13, &hf_nr_rrc_ms640 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_639 },
|
|
{ 14, &hf_nr_rrc_ms1024 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1023 },
|
|
{ 15, &hf_nr_rrc_ms1280 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_1279 },
|
|
{ 16, &hf_nr_rrc_ms2048 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2047 },
|
|
{ 17, &hf_nr_rrc_ms2560 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_2559 },
|
|
{ 18, &hf_nr_rrc_ms5120 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_5119 },
|
|
{ 19, &hf_nr_rrc_ms10240 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_10239 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_LongCycleStartOffset_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_drx_LongCycleStartOffset_01, T_drx_LongCycleStartOffset_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_ShortCycle_01_vals[] = {
|
|
{ 0, "ms2" },
|
|
{ 1, "ms3" },
|
|
{ 2, "ms4" },
|
|
{ 3, "ms5" },
|
|
{ 4, "ms6" },
|
|
{ 5, "ms7" },
|
|
{ 6, "ms8" },
|
|
{ 7, "ms10" },
|
|
{ 8, "ms14" },
|
|
{ 9, "ms16" },
|
|
{ 10, "ms20" },
|
|
{ 11, "ms30" },
|
|
{ 12, "ms32" },
|
|
{ 13, "ms35" },
|
|
{ 14, "ms40" },
|
|
{ 15, "ms64" },
|
|
{ 16, "ms80" },
|
|
{ 17, "ms128" },
|
|
{ 18, "ms160" },
|
|
{ 19, "ms256" },
|
|
{ 20, "ms320" },
|
|
{ 21, "ms512" },
|
|
{ 22, "ms640" },
|
|
{ 23, "spare9" },
|
|
{ 24, "spare8" },
|
|
{ 25, "spare7" },
|
|
{ 26, "spare6" },
|
|
{ 27, "spare5" },
|
|
{ 28, "spare4" },
|
|
{ 29, "spare3" },
|
|
{ 30, "spare2" },
|
|
{ 31, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_drx_ShortCycle_01_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_drx_ShortCycle_01_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_ShortCycle_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
32, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_shortDRX_01_sequence[] = {
|
|
{ &hf_nr_rrc_drx_ShortCycle_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_ShortCycle_01 },
|
|
{ &hf_nr_rrc_drx_ShortCycleTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_16 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_shortDRX_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_shortDRX_01, T_shortDRX_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DRX_Config_sequence[] = {
|
|
{ &hf_nr_rrc_drx_onDurationTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_onDurationTimer },
|
|
{ &hf_nr_rrc_drx_InactivityTimer, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_InactivityTimer },
|
|
{ &hf_nr_rrc_drx_HARQ_RTT_TimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
|
|
{ &hf_nr_rrc_drx_HARQ_RTT_TimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_56 },
|
|
{ &hf_nr_rrc_drx_RetransmissionTimerDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerDL },
|
|
{ &hf_nr_rrc_drx_RetransmissionTimerUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_RetransmissionTimerUL },
|
|
{ &hf_nr_rrc_drx_LongCycleStartOffset_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_drx_LongCycleStartOffset_01 },
|
|
{ &hf_nr_rrc_shortDRX_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_01 },
|
|
{ &hf_nr_rrc_drx_SlotOffset, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_31 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DRX_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DRX_Config, DRX_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_drx_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_drx_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_21 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_DRX_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_drx_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_drx_Config, T_drx_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sr_ProhibitTimer_vals[] = {
|
|
{ 0, "ms1" },
|
|
{ 1, "ms2" },
|
|
{ 2, "ms4" },
|
|
{ 3, "ms8" },
|
|
{ 4, "ms16" },
|
|
{ 5, "ms32" },
|
|
{ 6, "ms64" },
|
|
{ 7, "ms128" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sr_TransMax_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n16" },
|
|
{ 3, "n32" },
|
|
{ 4, "n64" },
|
|
{ 5, "spare3" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sr_TransMax(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SchedulingRequestToAddMod_sequence[] = {
|
|
{ &hf_nr_rrc_schedulingRequestId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
|
|
{ &hf_nr_rrc_sr_ProhibitTimer, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sr_ProhibitTimer },
|
|
{ &hf_nr_rrc_sr_TransMax , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_sr_TransMax },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SchedulingRequestToAddMod, SchedulingRequestToAddMod_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of[1] = {
|
|
{ &hf_nr_rrc_schedulingRequestToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestToAddMod },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod_sequence_of,
|
|
1, maxNrofSR_ConfigPerCellGroup, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_schedulingRequestToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SchedulingRequestId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId, SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId_sequence_of,
|
|
1, maxNrofSR_ConfigPerCellGroup, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SchedulingRequestConfig_sequence[] = {
|
|
{ &hf_nr_rrc_schedulingRequestToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod },
|
|
{ &hf_nr_rrc_schedulingRequestToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SchedulingRequestConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SchedulingRequestConfig, SchedulingRequestConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicBSR_Timer_vals[] = {
|
|
{ 0, "sf1" },
|
|
{ 1, "sf5" },
|
|
{ 2, "sf10" },
|
|
{ 3, "sf16" },
|
|
{ 4, "sf20" },
|
|
{ 5, "sf32" },
|
|
{ 6, "sf40" },
|
|
{ 7, "sf64" },
|
|
{ 8, "sf80" },
|
|
{ 9, "sf128" },
|
|
{ 10, "sf160" },
|
|
{ 11, "sf320" },
|
|
{ 12, "sf640" },
|
|
{ 13, "sf1280" },
|
|
{ 14, "sf2560" },
|
|
{ 15, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_retxBSR_Timer_vals[] = {
|
|
{ 0, "sf10" },
|
|
{ 1, "sf20" },
|
|
{ 2, "sf40" },
|
|
{ 3, "sf80" },
|
|
{ 4, "sf160" },
|
|
{ 5, "sf320" },
|
|
{ 6, "sf640" },
|
|
{ 7, "sf1280" },
|
|
{ 8, "sf2560" },
|
|
{ 9, "sf5120" },
|
|
{ 10, "sf10240" },
|
|
{ 11, "spare5" },
|
|
{ 12, "spare4" },
|
|
{ 13, "spare3" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_retxBSR_Timer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_vals[] = {
|
|
{ 0, "sf20" },
|
|
{ 1, "sf40" },
|
|
{ 2, "sf64" },
|
|
{ 3, "sf128" },
|
|
{ 4, "sf512" },
|
|
{ 5, "sf1024" },
|
|
{ 6, "sf2560" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_logicalChannelSR_DelayTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BSR_Config_sequence[] = {
|
|
{ &hf_nr_rrc_periodicBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_periodicBSR_Timer },
|
|
{ &hf_nr_rrc_retxBSR_Timer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_retxBSR_Timer },
|
|
{ &hf_nr_rrc_logicalChannelSR_DelayTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BSR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BSR_Config, BSR_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofTAGs_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of[1] = {
|
|
{ &hf_nr_rrc_tag_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id_sequence_of,
|
|
1, maxNrofTAGs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TAG_sequence[] = {
|
|
{ &hf_nr_rrc_tag_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
|
|
{ &hf_nr_rrc_timeAlignmentTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TimeAlignmentTimer },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TAG, TAG_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_sequence_of[1] = {
|
|
{ &hf_nr_rrc_tag_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG, SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_sequence_of,
|
|
1, maxNrofTAGs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TAG_Config_sequence[] = {
|
|
{ &hf_nr_rrc_tag_ToReleaseList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id },
|
|
{ &hf_nr_rrc_tag_ToAddModList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TAG_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TAG_Config, TAG_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phr_PeriodicTimer_vals[] = {
|
|
{ 0, "sf10" },
|
|
{ 1, "sf20" },
|
|
{ 2, "sf50" },
|
|
{ 3, "sf100" },
|
|
{ 4, "sf200" },
|
|
{ 5, "sf500" },
|
|
{ 6, "sf1000" },
|
|
{ 7, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phr_PeriodicTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phr_ProhibitTimer_vals[] = {
|
|
{ 0, "sf0" },
|
|
{ 1, "sf10" },
|
|
{ 2, "sf20" },
|
|
{ 3, "sf50" },
|
|
{ 4, "sf100" },
|
|
{ 5, "sf200" },
|
|
{ 6, "sf500" },
|
|
{ 7, "sf1000" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phr_ProhibitTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phr_Tx_PowerFactorChange_vals[] = {
|
|
{ 0, "dB1" },
|
|
{ 1, "dB3" },
|
|
{ 2, "dB6" },
|
|
{ 3, "infinity" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phr_Tx_PowerFactorChange(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phr_ModeOtherCG_vals[] = {
|
|
{ 0, "real" },
|
|
{ 1, "virtual" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phr_ModeOtherCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PHR_Config_sequence[] = {
|
|
{ &hf_nr_rrc_phr_PeriodicTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_PeriodicTimer },
|
|
{ &hf_nr_rrc_phr_ProhibitTimer, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ProhibitTimer },
|
|
{ &hf_nr_rrc_phr_Tx_PowerFactorChange, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_Tx_PowerFactorChange },
|
|
{ &hf_nr_rrc_multiplePHR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_phr_Type2SpCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_phr_Type2OtherCell, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_phr_ModeOtherCG, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phr_ModeOtherCG },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PHR_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PHR_Config, PHR_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phr_Config_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_phr_Config_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_22 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PHR_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phr_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_phr_Config, T_phr_Config_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MAC_CellGroupConfig_sequence[] = {
|
|
{ &hf_nr_rrc_drx_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_drx_Config },
|
|
{ &hf_nr_rrc_schedulingRequestConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SchedulingRequestConfig },
|
|
{ &hf_nr_rrc_bsr_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BSR_Config },
|
|
{ &hf_nr_rrc_tag_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TAG_Config },
|
|
{ &hf_nr_rrc_phr_Config , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_phr_Config },
|
|
{ &hf_nr_rrc_skipUplinkTxDynamic, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MAC_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MAC_CellGroupConfig, MAC_CellGroupConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals[] = {
|
|
{ 0, "semiStatic" },
|
|
{ 1, "dynamic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cs_RNTI_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_cs_RNTI_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_35 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RNTI_Value },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cs_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_cs_RNTI, T_cs_RNTI_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PhysicalCellGroupConfig_sequence[] = {
|
|
{ &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUCCH },
|
|
{ &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_harq_ACK_SpatialBundlingPUSCH },
|
|
{ &hf_nr_rrc_p_NR , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_P_Max },
|
|
{ &hf_nr_rrc_pdsch_HARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_pdsch_HARQ_ACK_Codebook },
|
|
{ &hf_nr_rrc_tpc_SRS_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
|
|
{ &hf_nr_rrc_tpc_PUCCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
|
|
{ &hf_nr_rrc_tpc_PUSCH_RNTI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
|
|
{ &hf_nr_rrc_sp_CSI_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RNTI_Value },
|
|
{ &hf_nr_rrc_cs_RNTI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cs_RNTI },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PhysicalCellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PhysicalCellGroupConfig, PhysicalCellGroupConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FrequencyInfoDL_sequence[] = {
|
|
{ &hf_nr_rrc_absoluteFrequencySSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_frequencyBandList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MultiFrequencyBandListNR },
|
|
{ &hf_nr_rrc_absoluteFrequencyPointA, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ARFCN_ValueNR },
|
|
{ &hf_nr_rrc_scs_SpecificCarrierList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FrequencyInfoDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FrequencyInfoDL, FrequencyInfoDL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t DownlinkConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyInfoDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_FrequencyInfoDL },
|
|
{ &hf_nr_rrc_initialDownlinkBWP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkCommon },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_DownlinkConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_DownlinkConfigCommon, DownlinkConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_n_TimingAdvanceOffset_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n25600" },
|
|
{ 2, "n39936" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_n_TimingAdvanceOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ssb_PositionsInBurst_01_vals[] = {
|
|
{ 0, "shortBitmap" },
|
|
{ 1, "mediumBitmap" },
|
|
{ 2, "longBitmap" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_ssb_PositionsInBurst_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_shortBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_4 },
|
|
{ 1, &hf_nr_rrc_mediumBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 2, &hf_nr_rrc_longBitmap , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_PositionsInBurst_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_ssb_PositionsInBurst_01, T_ssb_PositionsInBurst_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ssb_periodicityServingCell_vals[] = {
|
|
{ 0, "ms5" },
|
|
{ 1, "ms10" },
|
|
{ 2, "ms20" },
|
|
{ 3, "ms40" },
|
|
{ 4, "ms80" },
|
|
{ 5, "ms160" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_periodicityServingCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dmrs_TypeA_Position_01_vals[] = {
|
|
{ 0, "pos2" },
|
|
{ 1, "pos3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dmrs_TypeA_Position_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 16383U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_carrierBandwidthDL_vals[] = {
|
|
{ 0, "n6" },
|
|
{ 1, "n15" },
|
|
{ 2, "n25" },
|
|
{ 3, "n50" },
|
|
{ 4, "n75" },
|
|
{ 5, "n100" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_carrierBandwidthDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_radioframeAllocationPeriod_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 4, "n16" },
|
|
{ 5, "n32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_radioframeAllocationPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
24, 24, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subframeAllocation_vals[] = {
|
|
{ 0, "oneFrame" },
|
|
{ 1, "fourFrames" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_subframeAllocation_choice[] = {
|
|
{ 0, &hf_nr_rrc_oneFrame , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_6 },
|
|
{ 1, &hf_nr_rrc_fourFrames , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_24 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subframeAllocation(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_subframeAllocation, T_subframeAllocation_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subframeAllocation_v1430_vals[] = {
|
|
{ 0, "oneFrame-v1430" },
|
|
{ 1, "fourFrames-v1430" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_subframeAllocation_v1430_choice[] = {
|
|
{ 0, &hf_nr_rrc_oneFrame_v1430, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ 1, &hf_nr_rrc_fourFrames_v1430, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subframeAllocation_v1430(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_subframeAllocation_v1430, T_subframeAllocation_v1430_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t EUTRA_MBSFN_SubframeConfig_sequence[] = {
|
|
{ &hf_nr_rrc_radioframeAllocationPeriod, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_radioframeAllocationPeriod },
|
|
{ &hf_nr_rrc_radioframeAllocationOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_7 },
|
|
{ &hf_nr_rrc_subframeAllocation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subframeAllocation },
|
|
{ &hf_nr_rrc_subframeAllocation_v1430, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_subframeAllocation_v1430 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_EUTRA_MBSFN_SubframeConfig, EUTRA_MBSFN_SubframeConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t EUTRA_MBSFN_SubframeConfigList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_EUTRA_MBSFN_SubframeConfig },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList, EUTRA_MBSFN_SubframeConfigList_sequence_of,
|
|
1, maxMBSFN_Allocations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofCRS_Ports_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofCRS_Ports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_v_Shift_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n1" },
|
|
{ 2, "n2" },
|
|
{ 3, "n3" },
|
|
{ 4, "n4" },
|
|
{ 5, "n5" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_v_Shift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RateMatchPatternLTE_CRS_sequence[] = {
|
|
{ &hf_nr_rrc_carrierFreqDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_16383 },
|
|
{ &hf_nr_rrc_carrierBandwidthDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_carrierBandwidthDL },
|
|
{ &hf_nr_rrc_mbsfn_SubframeConfigList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_EUTRA_MBSFN_SubframeConfigList },
|
|
{ &hf_nr_rrc_nrofCRS_Ports, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrofCRS_Ports },
|
|
{ &hf_nr_rrc_v_Shift , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_v_Shift },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RateMatchPatternLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RateMatchPatternLTE_CRS, RateMatchPatternLTE_CRS_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_lte_CRS_ToMatchAround_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_lte_CRS_ToMatchAround_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_46 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RateMatchPatternLTE_CRS },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_lte_CRS_ToMatchAround(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_lte_CRS_ToMatchAround, T_lte_CRS_ToMatchAround_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServingCellConfigCommon_sequence[] = {
|
|
{ &hf_nr_rrc_physCellId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysCellId },
|
|
{ &hf_nr_rrc_downlinkConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_DownlinkConfigCommon },
|
|
{ &hf_nr_rrc_uplinkConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
|
|
{ &hf_nr_rrc_supplementaryUplinkConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfigCommon },
|
|
{ &hf_nr_rrc_n_TimingAdvanceOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_n_TimingAdvanceOffset },
|
|
{ &hf_nr_rrc_ssb_PositionsInBurst_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_PositionsInBurst_01 },
|
|
{ &hf_nr_rrc_ssb_periodicityServingCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_periodicityServingCell },
|
|
{ &hf_nr_rrc_dmrs_TypeA_Position_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_dmrs_TypeA_Position_01 },
|
|
{ &hf_nr_rrc_lte_CRS_ToMatchAround, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lte_CRS_ToMatchAround },
|
|
{ &hf_nr_rrc_rateMatchPatternToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern },
|
|
{ &hf_nr_rrc_rateMatchPatternToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId },
|
|
{ &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigCommon },
|
|
{ &hf_nr_rrc_ss_PBCH_BlockPower, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M60_50 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ServingCellConfigCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ServingCellConfigCommon, ServingCellConfigCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_t304_vals[] = {
|
|
{ 0, "ms50" },
|
|
{ 1, "ms100" },
|
|
{ 2, "ms150" },
|
|
{ 3, "ms200" },
|
|
{ 4, "ms500" },
|
|
{ 5, "ms1000" },
|
|
{ 6, "ms2000" },
|
|
{ 7, "ms10000" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_t304(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ssb_perRACH_Occasion_01_vals[] = {
|
|
{ 0, "oneEighth" },
|
|
{ 1, "oneFourth" },
|
|
{ 2, "oneHalf" },
|
|
{ 3, "one" },
|
|
{ 4, "two" },
|
|
{ 5, "four" },
|
|
{ 6, "eight" },
|
|
{ 7, "sixteen" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb_perRACH_Occasion_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_occasions_sequence[] = {
|
|
{ &hf_nr_rrc_rach_ConfigGeneric, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RACH_ConfigGeneric },
|
|
{ &hf_nr_rrc_ssb_perRACH_Occasion_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ssb_perRACH_Occasion_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_occasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_occasions, T_occasions_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CFRA_SSB_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_01 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
|
|
{ &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CFRA_SSB_Resource, CFRA_SSB_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ssb_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_SSB_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource, SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource_sequence_of,
|
|
1, maxRA_SSB_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ssb_sequence[] = {
|
|
{ &hf_nr_rrc_ssb_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource },
|
|
{ &hf_nr_rrc_ra_ssb_OccasionMaskIndex, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_15 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ssb(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ssb, T_ssb_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ra_OccasionList_01_sequence_of[1] = {
|
|
{ &hf_nr_rrc_ra_OccasionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_maxRA_Occasions_1 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ra_OccasionList_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ra_OccasionList_01, T_ra_OccasionList_01_sequence_of,
|
|
1, maxRA_OccasionsPerCSIRS, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CFRA_CSIRS_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_csi_RS_02 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_Index },
|
|
{ &hf_nr_rrc_ra_OccasionList_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ra_OccasionList_01 },
|
|
{ &hf_nr_rrc_ra_PreambleIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_63 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CFRA_CSIRS_Resource, CFRA_CSIRS_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csirs_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CFRA_CSIRS_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource, SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource_sequence_of,
|
|
1, maxRA_CSIRS_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_csirs_sequence[] = {
|
|
{ &hf_nr_rrc_csirs_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource },
|
|
{ &hf_nr_rrc_rsrp_ThresholdCSI_RS, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RSRP_Range },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csirs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_csirs, T_csirs_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resources_vals[] = {
|
|
{ 0, "ssb" },
|
|
{ 1, "csirs" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_resources_choice[] = {
|
|
{ 0, &hf_nr_rrc_ssb_02 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_ssb },
|
|
{ 1, &hf_nr_rrc_csirs , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_csirs },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_resources, T_resources_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CFRA_sequence[] = {
|
|
{ &hf_nr_rrc_occasions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_occasions },
|
|
{ &hf_nr_rrc_resources , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resources },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CFRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CFRA, CFRA_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RACH_ConfigDedicated_sequence[] = {
|
|
{ &hf_nr_rrc_cfra , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CFRA },
|
|
{ &hf_nr_rrc_ra_Prioritization, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_RA_Prioritization },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RACH_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RACH_ConfigDedicated, RACH_ConfigDedicated_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rach_ConfigDedicated_vals[] = {
|
|
{ 0, "uplink" },
|
|
{ 1, "supplementaryUplink" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_rach_ConfigDedicated_choice[] = {
|
|
{ 0, &hf_nr_rrc_uplink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated },
|
|
{ 1, &hf_nr_rrc_supplementaryUplink_01, ASN1_NO_EXTENSIONS , dissect_nr_rrc_RACH_ConfigDedicated },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rach_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_rach_ConfigDedicated, T_rach_ConfigDedicated_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ReconfigurationWithSync_sequence[] = {
|
|
{ &hf_nr_rrc_spCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon },
|
|
{ &hf_nr_rrc_newUE_Identity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
|
|
{ &hf_nr_rrc_t304 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t304 },
|
|
{ &hf_nr_rrc_rach_ConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rach_ConfigDedicated },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ReconfigurationWithSync(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ReconfigurationWithSync, ReconfigurationWithSync_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_t310_vals[] = {
|
|
{ 0, "ms0" },
|
|
{ 1, "ms50" },
|
|
{ 2, "ms100" },
|
|
{ 3, "ms200" },
|
|
{ 4, "ms500" },
|
|
{ 5, "ms1000" },
|
|
{ 6, "ms2000" },
|
|
{ 7, "ms4000" },
|
|
{ 8, "ms6000" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_t310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
9, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_n310_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n3" },
|
|
{ 3, "n4" },
|
|
{ 4, "n6" },
|
|
{ 5, "n8" },
|
|
{ 6, "n10" },
|
|
{ 7, "n20" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_n310(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_n311_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n3" },
|
|
{ 3, "n4" },
|
|
{ 4, "n5" },
|
|
{ 5, "n6" },
|
|
{ 6, "n8" },
|
|
{ 7, "n10" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_n311(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RLF_TimersAndConstants_sequence[] = {
|
|
{ &hf_nr_rrc_t310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_t310 },
|
|
{ &hf_nr_rrc_n310 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n310 },
|
|
{ &hf_nr_rrc_n311 , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n311 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RLF_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RLF_TimersAndConstants, RLF_TimersAndConstants_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rlf_TimersAndConstants_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_rlf_TimersAndConstants_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_15 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_RLF_TimersAndConstants },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rlf_TimersAndConstants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_rlf_TimersAndConstants, T_rlf_TimersAndConstants_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rlmInSyncOutOfSyncThreshold_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rlmInSyncOutOfSyncThreshold(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSlots_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofSymbols_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_explicit_sequence[] = {
|
|
{ &hf_nr_rrc_nrofDownlinkSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
|
|
{ &hf_nr_rrc_nrofUplinkSymbols_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofSymbols_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_explicit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_explicit, T_explicit_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_symbols_vals[] = {
|
|
{ 0, "allDownlink" },
|
|
{ 1, "allUplink" },
|
|
{ 2, "explicit" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_symbols_choice[] = {
|
|
{ 0, &hf_nr_rrc_allDownlink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_allUplink , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_explicit , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_explicit },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_symbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_symbols, T_symbols_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TDD_UL_DL_SlotConfig_sequence[] = {
|
|
{ &hf_nr_rrc_slotIndex , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex },
|
|
{ &hf_nr_rrc_symbols , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_symbols },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TDD_UL_DL_SlotConfig, TDD_UL_DL_SlotConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of[1] = {
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotConfig },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig_sequence_of,
|
|
1, maxNrofSlots, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of[1] = {
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToreleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TDD_UL_DL_SlotIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex, SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex_sequence_of,
|
|
1, maxNrofSlots, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TDD_UL_DL_ConfigDedicated_sequence[] = {
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig },
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToreleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TDD_UL_DL_ConfigDedicated(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TDD_UL_DL_ConfigDedicated, TDD_UL_DL_ConfigDedicated_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of[1] = {
|
|
{ &hf_nr_rrc_downlinkBWP_ToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id_sequence_of,
|
|
1, maxNrofBWPs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of[1] = {
|
|
{ &hf_nr_rrc_downlinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Downlink },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink_sequence_of,
|
|
1, maxNrofBWPs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bwp_InactivityTimer_vals[] = {
|
|
{ 0, "ms2" },
|
|
{ 1, "ms3" },
|
|
{ 2, "ms4" },
|
|
{ 3, "ms5" },
|
|
{ 4, "ms6" },
|
|
{ 5, "ms8" },
|
|
{ 6, "ms10" },
|
|
{ 7, "ms20" },
|
|
{ 8, "ms30" },
|
|
{ 9, "ms40" },
|
|
{ 10, "ms50" },
|
|
{ 11, "ms60" },
|
|
{ 12, "ms80" },
|
|
{ 13, "ms100" },
|
|
{ 14, "ms200" },
|
|
{ 15, "ms300" },
|
|
{ 16, "ms500" },
|
|
{ 17, "ms750" },
|
|
{ 18, "ms1280" },
|
|
{ 19, "ms1920" },
|
|
{ 20, "ms2560" },
|
|
{ 21, "spare10" },
|
|
{ 22, "spare9" },
|
|
{ 23, "spare8" },
|
|
{ 24, "spare7" },
|
|
{ 25, "spare6" },
|
|
{ 26, "spare5" },
|
|
{ 27, "spare4" },
|
|
{ 28, "spare3" },
|
|
{ 29, "spare2" },
|
|
{ 30, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_bwp_InactivityTimer_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_bwp_InactivityTimer_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bwp_InactivityTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
31, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of[1] = {
|
|
{ &hf_nr_rrc_uplinkBWP_ToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Uplink },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink, SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink_sequence_of,
|
|
1, maxNrofBWPs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n6" },
|
|
{ 3, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_CodeBlockGroupTransmission_sequence[] = {
|
|
{ &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_CodeBlockGroupTransmission, PUSCH_CodeBlockGroupTransmission_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_codeBlockGroupTransmission_01_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_codeBlockGroupTransmission_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_CodeBlockGroupTransmission },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_codeBlockGroupTransmission_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_codeBlockGroupTransmission_01, T_codeBlockGroupTransmission_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rateMatching_vals[] = {
|
|
{ 0, "limitedBufferRM" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rateMatching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_xOverhead_01_vals[] = {
|
|
{ 0, "xoh6" },
|
|
{ 1, "xoh12" },
|
|
{ 2, "xoh18" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_xOverhead_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUSCH_ServingCellConfig_sequence[] = {
|
|
{ &hf_nr_rrc_codeBlockGroupTransmission_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission_01 },
|
|
{ &hf_nr_rrc_rateMatching , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatching },
|
|
{ &hf_nr_rrc_xOverhead_01 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUSCH_ServingCellConfig, PUSCH_ServingCellConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_ServingCellConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pusch_ServingCellConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_44 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PUSCH_ServingCellConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pusch_ServingCellConfig, T_pusch_ServingCellConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_srs_SwitchFromCarrier_vals[] = {
|
|
{ 0, "sUL" },
|
|
{ 1, "nUL" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srs_SwitchFromCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_CC_SetIndex_sequence[] = {
|
|
{ &hf_nr_rrc_cc_SetIndex , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_3 },
|
|
{ &hf_nr_rrc_cc_IndexInOneCC_Set, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_7 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_CC_SetIndex, SRS_CC_SetIndex_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of[1] = {
|
|
{ &hf_nr_rrc_srs_CC_SetIndexlist_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_CC_SetIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex, SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex_sequence_of,
|
|
1, 4, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_TPC_PDCCH_Config_sequence[] = {
|
|
{ &hf_nr_rrc_srs_CC_SetIndexlist, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_TPC_PDCCH_Config, SRS_TPC_PDCCH_Config_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of[1] = {
|
|
{ &hf_nr_rrc_typeA_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SRS_TPC_PDCCH_Config },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config, SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config_sequence_of,
|
|
1, 32, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_srs_TPC_PDCCH_Group_vals[] = {
|
|
{ 0, "typeA" },
|
|
{ 1, "typeB" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_srs_TPC_PDCCH_Group_choice[] = {
|
|
{ 0, &hf_nr_rrc_typeA , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config },
|
|
{ 1, &hf_nr_rrc_typeB , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_TPC_PDCCH_Config },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srs_TPC_PDCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_srs_TPC_PDCCH_Group, T_srs_TPC_PDCCH_Group_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of[1] = {
|
|
{ &hf_nr_rrc_monitoringCells_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex_sequence_of,
|
|
1, maxNrofServingCells, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_CarrierSwitching_sequence[] = {
|
|
{ &hf_nr_rrc_srs_SwitchFromServCellIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_31 },
|
|
{ &hf_nr_rrc_srs_SwitchFromCarrier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_srs_SwitchFromCarrier },
|
|
{ &hf_nr_rrc_srs_TPC_PDCCH_Group, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_TPC_PDCCH_Group },
|
|
{ &hf_nr_rrc_monitoringCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_CarrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_CarrierSwitching, SRS_CarrierSwitching_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_carrierSwitching_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_carrierSwitching_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_45 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SRS_CarrierSwitching },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_carrierSwitching(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_carrierSwitching, T_carrierSwitching_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UplinkConfig_sequence[] = {
|
|
{ &hf_nr_rrc_initialUplinkBWP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_UplinkDedicated },
|
|
{ &hf_nr_rrc_uplinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id },
|
|
{ &hf_nr_rrc_uplinkBWP_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink },
|
|
{ &hf_nr_rrc_firstActiveUplinkBWP_Id, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_pusch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_ServingCellConfig },
|
|
{ &hf_nr_rrc_carrierSwitching, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_carrierSwitching },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UplinkConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UplinkConfig, UplinkConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxSFI_DCI_PayloadSize, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SlotFormatCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofSlotFormatCombinationsPerSet_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_slotFormats_sequence_of[1] = {
|
|
{ &hf_nr_rrc_slotFormats_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_255 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_slotFormats(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_slotFormats, T_slotFormats_sequence_of,
|
|
1, maxNrofSlotFormatsPerCombination, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SlotFormatCombination_sequence[] = {
|
|
{ &hf_nr_rrc_slotFormatCombinationId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationId },
|
|
{ &hf_nr_rrc_slotFormats , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_slotFormats },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SlotFormatCombination, SlotFormatCombination_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of[1] = {
|
|
{ &hf_nr_rrc_slotFormatCombinations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombination },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination, SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination_sequence_of,
|
|
1, maxNrofSlotFormatCombinationsPerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxSFI_DCI_PayloadSize_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SlotFormatCombinationsPerCell_sequence[] = {
|
|
{ &hf_nr_rrc_servingCellId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_subcarrierSpacing, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_subcarrierSpacing2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_slotFormatCombinations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination },
|
|
{ &hf_nr_rrc_positionInDCI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_maxSFI_DCI_PayloadSize_1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SlotFormatCombinationsPerCell, SlotFormatCombinationsPerCell_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of[1] = {
|
|
{ &hf_nr_rrc_slotFormatCombToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SlotFormatCombinationsPerCell },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell_sequence_of,
|
|
1, maxNrofAggregatedCellsPerCellGroup, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of[1] = {
|
|
{ &hf_nr_rrc_slotFormatCombToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex, SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex_sequence_of,
|
|
1, maxNrofAggregatedCellsPerCellGroup, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SlotFormatIndicator_sequence[] = {
|
|
{ &hf_nr_rrc_sfi_RNTI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RNTI_Value },
|
|
{ &hf_nr_rrc_dci_PayloadSize_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxSFI_DCI_PayloadSize },
|
|
{ &hf_nr_rrc_slotFormatCombToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell },
|
|
{ &hf_nr_rrc_slotFormatCombToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SlotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SlotFormatIndicator, SlotFormatIndicator_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_slotFormatIndicator_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_slotFormatIndicator_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_30 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_SlotFormatIndicator },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_slotFormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_slotFormatIndicator, T_slotFormatIndicator_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDCCH_ServingCellConfig_sequence[] = {
|
|
{ &hf_nr_rrc_slotFormatIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_slotFormatIndicator },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDCCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDCCH_ServingCellConfig, PDCCH_ServingCellConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcch_ServingCellConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pdcch_ServingCellConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_41 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDCCH_ServingCellConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdcch_ServingCellConfig, T_pdcch_ServingCellConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n6" },
|
|
{ 3, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDSCH_CodeBlockGroupTransmission_sequence[] = {
|
|
{ &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxCodeBlockGroupsPerTransportBlock },
|
|
{ &hf_nr_rrc_codeBlockGroupFlushIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDSCH_CodeBlockGroupTransmission, PDSCH_CodeBlockGroupTransmission_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_codeBlockGroupTransmission_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_codeBlockGroupTransmission_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_34 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_CodeBlockGroupTransmission },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_codeBlockGroupTransmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_codeBlockGroupTransmission, T_codeBlockGroupTransmission_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_xOverhead_vals[] = {
|
|
{ 0, "xOh6" },
|
|
{ 1, "xOh12" },
|
|
{ 2, "xOh18" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_xOverhead(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n6" },
|
|
{ 3, "n10" },
|
|
{ 4, "n12" },
|
|
{ 5, "n16" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDSCH_ServingCellConfig_sequence[] = {
|
|
{ &hf_nr_rrc_codeBlockGroupTransmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_codeBlockGroupTransmission },
|
|
{ &hf_nr_rrc_xOverhead , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_xOverhead },
|
|
{ &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofHARQ_ProcessesForPDSCH },
|
|
{ &hf_nr_rrc_pucch_Cell , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDSCH_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDSCH_ServingCellConfig, PDSCH_ServingCellConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_ServingCellConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_pdsch_ServingCellConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_42 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_PDSCH_ServingCellConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdsch_ServingCellConfig, T_pdsch_ServingCellConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_M8_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
-8, 15U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_powerControlOffsetSS_vals[] = {
|
|
{ 0, "db-3" },
|
|
{ 1, "db0" },
|
|
{ 2, "db3" },
|
|
{ 3, "db6" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_powerControlOffsetSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ScramblingId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1023U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NZP_CSI_RS_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
{ &hf_nr_rrc_resourceMapping, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_RS_ResourceMapping },
|
|
{ &hf_nr_rrc_powerControlOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_M8_15 },
|
|
{ &hf_nr_rrc_powerControlOffsetSS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_powerControlOffsetSS },
|
|
{ &hf_nr_rrc_scramblingID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ScramblingId },
|
|
{ &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
|
|
{ &hf_nr_rrc_qcl_InfoPeriodicCSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TCI_StateId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_NZP_CSI_RS_Resource, NZP_CSI_RS_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource_sequence_of,
|
|
1, maxNrofNZP_CSI_RS_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId_sequence_of,
|
|
1, maxNrofNZP_CSI_RS_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofNZP_CSI_RS_ResourceSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId_sequence_of,
|
|
1, maxNrofNZP_CSI_RS_ResourcesPerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_repetition_vals[] = {
|
|
{ 0, "on" },
|
|
{ 1, "off" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_repetition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_trs_Info_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_trs_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t NZP_CSI_RS_ResourceSet_sequence[] = {
|
|
{ &hf_nr_rrc_nzp_CSI_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
|
|
{ &hf_nr_rrc_nzp_CSI_RS_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId },
|
|
{ &hf_nr_rrc_repetition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_repetition },
|
|
{ &hf_nr_rrc_aperiodicTriggeringOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_4 },
|
|
{ &hf_nr_rrc_trs_Info , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_trs_Info },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_NZP_CSI_RS_ResourceSet, NZP_CSI_RS_ResourceSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet_sequence_of,
|
|
1, maxNrofNZP_CSI_RS_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId_sequence_of,
|
|
1, maxNrofNZP_CSI_RS_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofCSI_IM_Resources_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subcarrierLocation_p0_vals[] = {
|
|
{ 0, "s0" },
|
|
{ 1, "s2" },
|
|
{ 2, "s4" },
|
|
{ 3, "s6" },
|
|
{ 4, "s8" },
|
|
{ 5, "s10" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subcarrierLocation_p0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_0_12(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 12U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_pattern0_sequence[] = {
|
|
{ &hf_nr_rrc_subcarrierLocation_p0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p0 },
|
|
{ &hf_nr_rrc_symbolLocation_p0, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_12 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pattern0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pattern0, T_pattern0_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subcarrierLocation_p1_vals[] = {
|
|
{ 0, "s0" },
|
|
{ 1, "s4" },
|
|
{ 2, "s8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subcarrierLocation_p1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_pattern1_sequence[] = {
|
|
{ &hf_nr_rrc_subcarrierLocation_p1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subcarrierLocation_p1 },
|
|
{ &hf_nr_rrc_symbolLocation_p1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_13 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pattern1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pattern1, T_pattern1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_IM_ResourceElementPattern_vals[] = {
|
|
{ 0, "pattern0" },
|
|
{ 1, "pattern1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_csi_IM_ResourceElementPattern_choice[] = {
|
|
{ 0, &hf_nr_rrc_pattern0 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pattern0 },
|
|
{ 1, &hf_nr_rrc_pattern1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_pattern1 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_IM_ResourceElementPattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_csi_IM_ResourceElementPattern, T_csi_IM_ResourceElementPattern_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_IM_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_csi_IM_ResourceId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
|
|
{ &hf_nr_rrc_csi_IM_ResourceElementPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_IM_ResourceElementPattern },
|
|
{ &hf_nr_rrc_freqBand , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_FrequencyOccupation },
|
|
{ &hf_nr_rrc_periodicityAndOffset, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourcePeriodicityAndOffset },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_IM_Resource, CSI_IM_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_IM_ResourceToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource_sequence_of,
|
|
1, maxNrofCSI_IM_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_IM_ResourceToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId_sequence_of,
|
|
1, maxNrofCSI_IM_Resources, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofCSI_IM_ResourceSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_IM_Resources_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId_sequence_of,
|
|
1, maxNrofCSI_IM_ResourcesPerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_IM_ResourceSet_sequence[] = {
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
|
|
{ &hf_nr_rrc_csi_IM_Resources, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_IM_ResourceSet, CSI_IM_ResourceSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet_sequence_of,
|
|
1, maxNrofCSI_IM_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId_sequence_of,
|
|
1, maxNrofCSI_IM_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofCSI_SSB_ResourceSets_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_SSB_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SSB_Index },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index_sequence_of,
|
|
1, maxNrofCSI_SSB_ResourcePerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_SSB_ResourceSet_sequence[] = {
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
|
|
{ &hf_nr_rrc_csi_SSB_ResourceList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_SSB_ResourceSet, CSI_SSB_ResourceSet_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet_sequence_of,
|
|
1, maxNrofCSI_SSB_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId_sequence_of,
|
|
1, maxNrofCSI_SSB_ResourceSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofCSI_ResourceConfigurations_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_NZP_CSI_RS_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId_sequence_of,
|
|
1, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SSB_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId_sequence_of,
|
|
1, maxNrofCSI_SSB_ResourceSetsPerConfig, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nzp_CSI_RS_SSB_sequence[] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId },
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nzp_CSI_RS_SSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nzp_CSI_RS_SSB, T_nzp_CSI_RS_SSB_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_IM_ResourceSetId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId, SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId_sequence_of,
|
|
1, maxNrofCSI_IM_ResourceSetsPerConfig, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_RS_ResourceSetList_vals[] = {
|
|
{ 0, "nzp-CSI-RS-SSB" },
|
|
{ 1, "csi-IM-ResourceSetList" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_csi_RS_ResourceSetList_choice[] = {
|
|
{ 0, &hf_nr_rrc_nzp_CSI_RS_SSB, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nzp_CSI_RS_SSB },
|
|
{ 1, &hf_nr_rrc_csi_IM_ResourceSetList, ASN1_NO_EXTENSIONS , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_RS_ResourceSetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_csi_RS_ResourceSetList, T_csi_RS_ResourceSetList_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourceType_vals[] = {
|
|
{ 0, "aperiodic" },
|
|
{ 1, "semiPersistent" },
|
|
{ 2, "periodic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_ResourceConfig_sequence[] = {
|
|
{ &hf_nr_rrc_csi_ResourceConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
|
|
{ &hf_nr_rrc_csi_RS_ResourceSetList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_csi_RS_ResourceSetList },
|
|
{ &hf_nr_rrc_bwp_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_resourceType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourceType },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_ResourceConfig, CSI_ResourceConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_ResourceConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfig },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig_sequence_of,
|
|
1, maxNrofCSI_ResourceConfigurations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_ResourceConfigToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId_sequence_of,
|
|
1, maxNrofCSI_ResourceConfigurations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxNrofCSI_ReportConfigurations_1, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_CSI_ReportPeriodicityAndOffset_vals[] = {
|
|
{ 0, "slots4" },
|
|
{ 1, "slots5" },
|
|
{ 2, "slots8" },
|
|
{ 3, "slots10" },
|
|
{ 4, "slots16" },
|
|
{ 5, "slots20" },
|
|
{ 6, "slots40" },
|
|
{ 7, "slots80" },
|
|
{ 8, "slots160" },
|
|
{ 9, "slots320" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t CSI_ReportPeriodicityAndOffset_choice[] = {
|
|
{ 0, &hf_nr_rrc_slots4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_3 },
|
|
{ 1, &hf_nr_rrc_slots5 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_4 },
|
|
{ 2, &hf_nr_rrc_slots8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_7 },
|
|
{ 3, &hf_nr_rrc_slots10 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_9 },
|
|
{ 4, &hf_nr_rrc_slots16 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_15 },
|
|
{ 5, &hf_nr_rrc_slots20 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_19 },
|
|
{ 6, &hf_nr_rrc_slots40 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_39 },
|
|
{ 7, &hf_nr_rrc_slots80 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_79 },
|
|
{ 8, &hf_nr_rrc_slots160 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_159 },
|
|
{ 9, &hf_nr_rrc_slots320 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_0_319 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_ReportPeriodicityAndOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_ReportPeriodicityAndOffset, CSI_ReportPeriodicityAndOffset_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PUCCH_CSI_Resource_sequence[] = {
|
|
{ &hf_nr_rrc_uplinkBandwidthPartId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_pucch_Resource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_ResourceId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PUCCH_CSI_Resource, PUCCH_CSI_Resource_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of[1] = {
|
|
{ &hf_nr_rrc_pucch_CSI_ResourceList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PUCCH_CSI_Resource },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource, SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource_sequence_of,
|
|
1, maxNrofBWPs, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_periodic_sequence[] = {
|
|
{ &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset },
|
|
{ &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_periodic, T_periodic_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_semiPersistentOnPUCCH_sequence[] = {
|
|
{ &hf_nr_rrc_reportSlotConfig, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportPeriodicityAndOffset },
|
|
{ &hf_nr_rrc_pucch_CSI_ResourceList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_semiPersistentOnPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_semiPersistentOnPUCCH, T_semiPersistentOnPUCCH_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportSlotConfig_vals[] = {
|
|
{ 0, "sl5" },
|
|
{ 1, "sl10" },
|
|
{ 2, "sl20" },
|
|
{ 3, "sl40" },
|
|
{ 4, "sl80" },
|
|
{ 5, "sl160" },
|
|
{ 6, "sl320" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportSlotConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
7, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_reportSlotOffsetList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportSlotOffsetList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_reportSlotOffsetList, T_reportSlotOffsetList_sequence_of,
|
|
1, maxNrofUL_Allocations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_semiPersistentOnPUSCH_sequence[] = {
|
|
{ &hf_nr_rrc_reportSlotConfig_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotConfig },
|
|
{ &hf_nr_rrc_reportSlotOffsetList, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList },
|
|
{ &hf_nr_rrc_p0alpha , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_P0_PUSCH_AlphaSetId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_semiPersistentOnPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_semiPersistentOnPUSCH, T_semiPersistentOnPUSCH_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_reportSlotOffsetList_01_sequence_of[1] = {
|
|
{ &hf_nr_rrc_reportSlotOffsetList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_32 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportSlotOffsetList_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_reportSlotOffsetList_01, T_reportSlotOffsetList_01_sequence_of,
|
|
1, maxNrofUL_Allocations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_aperiodic_sequence[] = {
|
|
{ &hf_nr_rrc_reportSlotOffsetList_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportSlotOffsetList_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aperiodic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_aperiodic, T_aperiodic_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportConfigType_vals[] = {
|
|
{ 0, "periodic" },
|
|
{ 1, "semiPersistentOnPUCCH" },
|
|
{ 2, "semiPersistentOnPUSCH" },
|
|
{ 3, "aperiodic" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_reportConfigType_choice[] = {
|
|
{ 0, &hf_nr_rrc_periodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_periodic },
|
|
{ 1, &hf_nr_rrc_semiPersistentOnPUCCH, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semiPersistentOnPUCCH },
|
|
{ 2, &hf_nr_rrc_semiPersistentOnPUSCH, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_semiPersistentOnPUSCH },
|
|
{ 3, &hf_nr_rrc_aperiodic , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_aperiodic },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportConfigType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_reportConfigType, T_reportConfigType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_BundleSizeForCSI_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_BundleSizeForCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_cri_RI_i1_CQI_sequence[] = {
|
|
{ &hf_nr_rrc_pdsch_BundleSizeForCSI, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_BundleSizeForCSI },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cri_RI_i1_CQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_cri_RI_i1_CQI, T_cri_RI_i1_CQI_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_reportQuantity_vals[] = {
|
|
{ 0, "none" },
|
|
{ 1, "cri-RI-PMI-CQI" },
|
|
{ 2, "cri-RI-i1" },
|
|
{ 3, "cri-RI-i1-CQI" },
|
|
{ 4, "cri-RI-CQI" },
|
|
{ 5, "cri-RSRP" },
|
|
{ 6, "ssb-Index-RSRP" },
|
|
{ 7, "cri-RI-LI-PMI-CQI" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_reportQuantity_choice[] = {
|
|
{ 0, &hf_nr_rrc_none , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_cri_RI_PMI_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 2, &hf_nr_rrc_cri_RI_i1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 3, &hf_nr_rrc_cri_RI_i1_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_cri_RI_i1_CQI },
|
|
{ 4, &hf_nr_rrc_cri_RI_CQI , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 5, &hf_nr_rrc_cri_RSRP , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 6, &hf_nr_rrc_ssb_Index_RSRP, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 7, &hf_nr_rrc_cri_RI_LI_PMI_CQI, ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportQuantity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_reportQuantity, T_reportQuantity_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cqi_FormatIndicator_vals[] = {
|
|
{ 0, "widebandCQI" },
|
|
{ 1, "subbandCQI" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cqi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pmi_FormatIndicator_vals[] = {
|
|
{ 0, "widebandPMI" },
|
|
{ 1, "subbandPMI" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pmi_FormatIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
7, 7, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
9, 9, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_11(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
11, 11, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
13, 13, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
15, 15, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
16, 16, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_17(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
17, 17, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_ReportingBand_vals[] = {
|
|
{ 0, "subbands3" },
|
|
{ 1, "subbands4" },
|
|
{ 2, "subbands5" },
|
|
{ 3, "subbands6" },
|
|
{ 4, "subbands7" },
|
|
{ 5, "subbands8" },
|
|
{ 6, "subbands9" },
|
|
{ 7, "subbands10" },
|
|
{ 8, "subbands11" },
|
|
{ 9, "subbands12" },
|
|
{ 10, "subbands13" },
|
|
{ 11, "subbands14" },
|
|
{ 12, "subbands15" },
|
|
{ 13, "subbands16" },
|
|
{ 14, "subbands17" },
|
|
{ 15, "subbands18" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_csi_ReportingBand_choice[] = {
|
|
{ 0, &hf_nr_rrc_subbands3 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_3 },
|
|
{ 1, &hf_nr_rrc_subbands4 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_4 },
|
|
{ 2, &hf_nr_rrc_subbands5 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_5 },
|
|
{ 3, &hf_nr_rrc_subbands6 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_6 },
|
|
{ 4, &hf_nr_rrc_subbands7 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_7 },
|
|
{ 5, &hf_nr_rrc_subbands8 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 6, &hf_nr_rrc_subbands9 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_9 },
|
|
{ 7, &hf_nr_rrc_subbands10 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_10 },
|
|
{ 8, &hf_nr_rrc_subbands11 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_11 },
|
|
{ 9, &hf_nr_rrc_subbands12 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_12 },
|
|
{ 10, &hf_nr_rrc_subbands13 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_13 },
|
|
{ 11, &hf_nr_rrc_subbands14 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_14 },
|
|
{ 12, &hf_nr_rrc_subbands15 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_15 },
|
|
{ 13, &hf_nr_rrc_subbands16 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_16 },
|
|
{ 14, &hf_nr_rrc_subbands17 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_17 },
|
|
{ 15, &hf_nr_rrc_subbands18 , ASN1_EXTENSION_ROOT , dissect_nr_rrc_BIT_STRING_SIZE_18 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_ReportingBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_csi_ReportingBand, T_csi_ReportingBand_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_reportFreqConfiguration_sequence[] = {
|
|
{ &hf_nr_rrc_cqi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_FormatIndicator },
|
|
{ &hf_nr_rrc_pmi_FormatIndicator, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pmi_FormatIndicator },
|
|
{ &hf_nr_rrc_csi_ReportingBand, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportingBand },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_reportFreqConfiguration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_reportFreqConfiguration, T_reportFreqConfiguration_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_timeRestrictionForChannelMeasurements_vals[] = {
|
|
{ 0, "configured" },
|
|
{ 1, "notConfigured" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_timeRestrictionForChannelMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals[] = {
|
|
{ 0, "configured" },
|
|
{ 1, "notConfigured" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_two_sequence[] = {
|
|
{ &hf_nr_rrc_twoTX_CodebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_6 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_two(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_two, T_two_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_96(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
96, 96, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
128, 128, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
32, 32, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_192(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
192, 192, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_48(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
48, 48, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_n1_n2_vals[] = {
|
|
{ 0, "two-one-TypeI-SinglePanel-Restriction" },
|
|
{ 1, "two-two-TypeI-SinglePanel-Restriction" },
|
|
{ 2, "four-one-TypeI-SinglePanel-Restriction" },
|
|
{ 3, "three-two-TypeI-SinglePanel-Restriction" },
|
|
{ 4, "six-one-TypeI-SinglePanel-Restriction" },
|
|
{ 5, "four-two-TypeI-SinglePanel-Restriction" },
|
|
{ 6, "eight-one-TypeI-SinglePanel-Restriction" },
|
|
{ 7, "four-three-TypeI-SinglePanel-Restriction" },
|
|
{ 8, "six-two-TypeI-SinglePanel-Restriction" },
|
|
{ 9, "twelve-one-TypeI-SinglePanel-Restriction" },
|
|
{ 10, "four-four-TypeI-SinglePanel-Restriction" },
|
|
{ 11, "eight-two-TypeI-SinglePanel-Restriction" },
|
|
{ 12, "sixteen-one-TypeI-SinglePanel-Restriction" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_n1_n2_choice[] = {
|
|
{ 0, &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 1, &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
|
|
{ 2, &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 },
|
|
{ 3, &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_96 },
|
|
{ 4, &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_24 },
|
|
{ 5, &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 },
|
|
{ 6, &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
|
|
{ 7, &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_192 },
|
|
{ 8, &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_192 },
|
|
{ 9, &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_48 },
|
|
{ 10, &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 },
|
|
{ 11, &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_256 },
|
|
{ 12, &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_n1_n2, T_n1_n2_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_moreThanTwo_sequence[] = {
|
|
{ &hf_nr_rrc_n1_n2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2 },
|
|
{ &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_16 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_moreThanTwo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_moreThanTwo, T_moreThanTwo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrOfAntennaPorts_vals[] = {
|
|
{ 0, "two" },
|
|
{ 1, "moreThanTwo" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_nrOfAntennaPorts_choice[] = {
|
|
{ 0, &hf_nr_rrc_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_two },
|
|
{ 1, &hf_nr_rrc_moreThanTwo , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_moreThanTwo },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrOfAntennaPorts(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nrOfAntennaPorts, T_nrOfAntennaPorts_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_typeI_SinglePanel_sequence[] = {
|
|
{ &hf_nr_rrc_nrOfAntennaPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_nrOfAntennaPorts },
|
|
{ &hf_nr_rrc_typeI_SinglePanel_ri_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_typeI_SinglePanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_typeI_SinglePanel, T_typeI_SinglePanel_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ng_n1_n2_vals[] = {
|
|
{ 0, "two-two-one-TypeI-MultiPanel-Restriction" },
|
|
{ 1, "two-four-one-TypeI-MultiPanel-Restriction" },
|
|
{ 2, "four-two-one-TypeI-MultiPanel-Restriction" },
|
|
{ 3, "two-two-two-TypeI-MultiPanel-Restriction" },
|
|
{ 4, "two-eight-one-TypeI-MultiPanel-Restriction" },
|
|
{ 5, "four-four-one-TypeI-MultiPanel-Restriction" },
|
|
{ 6, "two-four-two-TypeI-MultiPanel-Restriction" },
|
|
{ 7, "four-two-two-TypeI-MultiPanel-Restriction" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_ng_n1_n2_choice[] = {
|
|
{ 0, &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 1, &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 },
|
|
{ 2, &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ 3, &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
|
|
{ 4, &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
|
|
{ 5, &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 },
|
|
{ 6, &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 },
|
|
{ 7, &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction, ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ng_n1_n2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ng_n1_n2, T_ng_n1_n2_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_typeI_MultiPanel_sequence[] = {
|
|
{ &hf_nr_rrc_ng_n1_n2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_ng_n1_n2 },
|
|
{ &hf_nr_rrc_ri_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_4 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_typeI_MultiPanel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_typeI_MultiPanel, T_typeI_MultiPanel_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subType_vals[] = {
|
|
{ 0, "typeI-SinglePanel" },
|
|
{ 1, "typeI-MultiPanel" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_subType_choice[] = {
|
|
{ 0, &hf_nr_rrc_typeI_SinglePanel, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeI_SinglePanel },
|
|
{ 1, &hf_nr_rrc_typeI_MultiPanel, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeI_MultiPanel },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_subType, T_subType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_type1_sequence[] = {
|
|
{ &hf_nr_rrc_subType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType },
|
|
{ &hf_nr_rrc_codebookMode , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_type1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_type1, T_type1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_43(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
43, 43, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
59, 59, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_75(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
75, 75, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_107(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
107, 107, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_139(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
139, 139, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_n1_n2_codebookSubsetRestriction_vals[] = {
|
|
{ 0, "two-one" },
|
|
{ 1, "two-two" },
|
|
{ 2, "four-one" },
|
|
{ 3, "three-two" },
|
|
{ 4, "six-one" },
|
|
{ 5, "four-two" },
|
|
{ 6, "eight-one" },
|
|
{ 7, "four-three" },
|
|
{ 8, "six-two" },
|
|
{ 9, "twelve-one" },
|
|
{ 10, "four-four" },
|
|
{ 11, "eight-two" },
|
|
{ 12, "sixteen-one" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_n1_n2_codebookSubsetRestriction_choice[] = {
|
|
{ 0, &hf_nr_rrc_two_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_16 },
|
|
{ 1, &hf_nr_rrc_two_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_43 },
|
|
{ 2, &hf_nr_rrc_four_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_32 },
|
|
{ 3, &hf_nr_rrc_three_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_59 },
|
|
{ 4, &hf_nr_rrc_six_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_48 },
|
|
{ 5, &hf_nr_rrc_four_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_75 },
|
|
{ 6, &hf_nr_rrc_eight_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_64 },
|
|
{ 7, &hf_nr_rrc_four_three , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 },
|
|
{ 8, &hf_nr_rrc_six_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_107 },
|
|
{ 9, &hf_nr_rrc_twelve_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_96 },
|
|
{ 10, &hf_nr_rrc_four_four , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 },
|
|
{ 11, &hf_nr_rrc_eight_two , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_139 },
|
|
{ 12, &hf_nr_rrc_sixteen_one , ASN1_NO_EXTENSIONS , dissect_nr_rrc_BIT_STRING_SIZE_128 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_n1_n2_codebookSubsetRestriction, T_n1_n2_codebookSubsetRestriction_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_typeII_sequence[] = {
|
|
{ &hf_nr_rrc_n1_n2_codebookSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_n1_n2_codebookSubsetRestriction },
|
|
{ &hf_nr_rrc_typeII_RI_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_typeII(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_typeII, T_typeII_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_portSelectionSamplingSize_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n3" },
|
|
{ 3, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_portSelectionSamplingSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_typeII_PortSelection_sequence[] = {
|
|
{ &hf_nr_rrc_portSelectionSamplingSize, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_portSelectionSamplingSize },
|
|
{ &hf_nr_rrc_typeII_PortSelectionRI_Restriction, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_typeII_PortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_typeII_PortSelection, T_typeII_PortSelection_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subType_01_vals[] = {
|
|
{ 0, "typeII" },
|
|
{ 1, "typeII-PortSelection" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_subType_01_choice[] = {
|
|
{ 0, &hf_nr_rrc_typeII , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII },
|
|
{ 1, &hf_nr_rrc_typeII_PortSelection, ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_typeII_PortSelection },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_subType_01, T_subType_01_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_phaseAlphabetSize_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_phaseAlphabetSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_numberOfBeams_vals[] = {
|
|
{ 0, "two" },
|
|
{ 1, "three" },
|
|
{ 2, "four" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_numberOfBeams(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_type2_sequence[] = {
|
|
{ &hf_nr_rrc_subType_01 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subType_01 },
|
|
{ &hf_nr_rrc_phaseAlphabetSize, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_phaseAlphabetSize },
|
|
{ &hf_nr_rrc_subbandAmplitude, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_numberOfBeams, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_numberOfBeams },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_type2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_type2, T_type2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_codebookType_vals[] = {
|
|
{ 0, "type1" },
|
|
{ 1, "type2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_codebookType_choice[] = {
|
|
{ 0, &hf_nr_rrc_type1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type1 },
|
|
{ 1, &hf_nr_rrc_type2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_type2 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_codebookType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_codebookType, T_codebookType_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CodebookConfig_sequence[] = {
|
|
{ &hf_nr_rrc_codebookType , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_codebookType },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CodebookConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CodebookConfig, CodebookConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofCQIsPerReport_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofCQIsPerReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nrofReportedRS_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n3" },
|
|
{ 3, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nrofReportedRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_disabled_sequence[] = {
|
|
{ &hf_nr_rrc_nrofReportedRS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofReportedRS },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_disabled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_disabled, T_disabled_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_groupBasedBeamReporting_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 1, "disabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_groupBasedBeamReporting_choice[] = {
|
|
{ 0, &hf_nr_rrc_enabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_disabled , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_disabled },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_groupBasedBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_groupBasedBeamReporting, T_groupBasedBeamReporting_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cqi_Table_vals[] = {
|
|
{ 0, "table1" },
|
|
{ 1, "table2" },
|
|
{ 2, "spare2" },
|
|
{ 3, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cqi_Table(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_subbandSize_vals[] = {
|
|
{ 0, "value1" },
|
|
{ 1, "value2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_subbandSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 7U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex8_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank2_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8, SEQUENCE_SIZE_2_OF_PortIndex8_sequence_of,
|
|
2, 2, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_3_OF_PortIndex8_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank3_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8, SEQUENCE_SIZE_3_OF_PortIndex8_sequence_of,
|
|
3, 3, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_4_OF_PortIndex8_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank4_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8, SEQUENCE_SIZE_4_OF_PortIndex8_sequence_of,
|
|
4, 4, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_5_OF_PortIndex8_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank5_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8, SEQUENCE_SIZE_5_OF_PortIndex8_sequence_of,
|
|
5, 5, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_6_OF_PortIndex8_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank6_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8, SEQUENCE_SIZE_6_OF_PortIndex8_sequence_of,
|
|
6, 6, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_7_OF_PortIndex8_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank7_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8, SEQUENCE_SIZE_7_OF_PortIndex8_sequence_of,
|
|
7, 7, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_8_OF_PortIndex8_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank8_8_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex8 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8, SEQUENCE_SIZE_8_OF_PortIndex8_sequence_of,
|
|
8, 8, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_portIndex8_sequence[] = {
|
|
{ &hf_nr_rrc_rank1_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PortIndex8 },
|
|
{ &hf_nr_rrc_rank2_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8 },
|
|
{ &hf_nr_rrc_rank3_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8 },
|
|
{ &hf_nr_rrc_rank4_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8 },
|
|
{ &hf_nr_rrc_rank5_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8 },
|
|
{ &hf_nr_rrc_rank6_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8 },
|
|
{ &hf_nr_rrc_rank7_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8 },
|
|
{ &hf_nr_rrc_rank8_8 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_portIndex8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_portIndex8, T_portIndex8_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 3U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex4_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank2_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4, SEQUENCE_SIZE_2_OF_PortIndex4_sequence_of,
|
|
2, 2, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_3_OF_PortIndex4_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank3_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4, SEQUENCE_SIZE_3_OF_PortIndex4_sequence_of,
|
|
3, 3, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_4_OF_PortIndex4_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank4_4_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex4 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4, SEQUENCE_SIZE_4_OF_PortIndex4_sequence_of,
|
|
4, 4, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_portIndex4_sequence[] = {
|
|
{ &hf_nr_rrc_rank1_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PortIndex4 },
|
|
{ &hf_nr_rrc_rank2_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4 },
|
|
{ &hf_nr_rrc_rank3_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4 },
|
|
{ &hf_nr_rrc_rank4_4 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_portIndex4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_portIndex4, T_portIndex4_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, 1U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_2_OF_PortIndex2_sequence_of[1] = {
|
|
{ &hf_nr_rrc_rank2_2_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndex2 },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2, SEQUENCE_SIZE_2_OF_PortIndex2_sequence_of,
|
|
2, 2, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_portIndex2_sequence[] = {
|
|
{ &hf_nr_rrc_rank1_2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PortIndex2 },
|
|
{ &hf_nr_rrc_rank2_2 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_portIndex2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_portIndex2, T_portIndex2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_PortIndexFor8Ranks_vals[] = {
|
|
{ 0, "portIndex8" },
|
|
{ 1, "portIndex4" },
|
|
{ 2, "portIndex2" },
|
|
{ 3, "portIndex1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t PortIndexFor8Ranks_choice[] = {
|
|
{ 0, &hf_nr_rrc_portIndex8 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex8 },
|
|
{ 1, &hf_nr_rrc_portIndex4 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex4 },
|
|
{ 2, &hf_nr_rrc_portIndex2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_portIndex2 },
|
|
{ 3, &hf_nr_rrc_portIndex1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PortIndexFor8Ranks, PortIndexFor8Ranks_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of[1] = {
|
|
{ &hf_nr_rrc_non_PMI_PortIndication_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PortIndexFor8Ranks },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks, SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks_sequence_of,
|
|
1, maxNrofNZP_CSI_RS_ResourcesPerConfig, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_ReportConfig_sequence[] = {
|
|
{ &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
|
|
{ &hf_nr_rrc_carrier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_resourcesForChannelMeasurement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ResourceConfigId },
|
|
{ &hf_nr_rrc_csi_IM_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ResourceConfigId },
|
|
{ &hf_nr_rrc_reportConfigType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportConfigType },
|
|
{ &hf_nr_rrc_reportQuantity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_reportQuantity },
|
|
{ &hf_nr_rrc_reportFreqConfiguration, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_reportFreqConfiguration },
|
|
{ &hf_nr_rrc_timeRestrictionForChannelMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForChannelMeasurements },
|
|
{ &hf_nr_rrc_timeRestrictionForInterferenceMeasurements, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_timeRestrictionForInterferenceMeasurements },
|
|
{ &hf_nr_rrc_codebookConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CodebookConfig },
|
|
{ &hf_nr_rrc_nrofCQIsPerReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nrofCQIsPerReport },
|
|
{ &hf_nr_rrc_groupBasedBeamReporting, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_groupBasedBeamReporting },
|
|
{ &hf_nr_rrc_cqi_Table , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cqi_Table },
|
|
{ &hf_nr_rrc_subbandSize , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_subbandSize },
|
|
{ &hf_nr_rrc_non_PMI_PortIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_ReportConfig, CSI_ReportConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_ReportConfigToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfig },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig_sequence_of,
|
|
1, maxNrofCSI_ReportConfigurations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_csi_ReportConfigToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId, SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId_sequence_of,
|
|
1, maxNrofCSI_ReportConfigurations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofNZP_CSI_RS_ResourceSetsPerConfig, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of[1] = {
|
|
{ &hf_nr_rrc_qcl_info_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TCI_StateId },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId, SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId_sequence_of,
|
|
1, maxNrofAP_CSI_RS_ResourcesPerSet, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nzp_CSI_RS_sequence[] = {
|
|
{ &hf_nr_rrc_resourceSet , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
|
|
{ &hf_nr_rrc_qcl_info , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nzp_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nzp_CSI_RS, T_nzp_CSI_RS_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofCSI_SSB_ResourceSetsPerConfig, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_resourcesForChannel_vals[] = {
|
|
{ 0, "nzp-CSI-RS" },
|
|
{ 1, "csi-SSB-ResourceSet" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_resourcesForChannel_choice[] = {
|
|
{ 0, &hf_nr_rrc_nzp_CSI_RS , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nzp_CSI_RS },
|
|
{ 1, &hf_nr_rrc_csi_SSB_ResourceSet, ASN1_NO_EXTENSIONS , dissect_nr_rrc_INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_resourcesForChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_resourcesForChannel, T_resourcesForChannel_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofCSI_IM_ResourceSetsPerConfig, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_AssociatedReportConfigInfo_sequence[] = {
|
|
{ &hf_nr_rrc_reportConfigId, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
|
|
{ &hf_nr_rrc_resourcesForChannel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_resourcesForChannel },
|
|
{ &hf_nr_rrc_csi_IM_ResourcesforInteference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig },
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_AssociatedReportConfigInfo, CSI_AssociatedReportConfigInfo_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of[1] = {
|
|
{ &hf_nr_rrc_associatedReportConfigInfoList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AssociatedReportConfigInfo },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo, SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo_sequence_of,
|
|
1, maxNrofReportConfigPerAperiodicTrigger, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_AperiodicTriggerState_sequence[] = {
|
|
{ &hf_nr_rrc_associatedReportConfigInfoList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_AperiodicTriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_AperiodicTriggerState, CSI_AperiodicTriggerState_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_AperiodicTriggerStateList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_CSI_AperiodicTriggerStateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_AperiodicTriggerState },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_AperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_AperiodicTriggerStateList, CSI_AperiodicTriggerStateList_sequence_of,
|
|
1, maxNrOfCSI_AperiodicTriggers, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aperiodicTriggerStateList_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_aperiodicTriggerStateList_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_17 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_AperiodicTriggerStateList },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aperiodicTriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_aperiodicTriggerStateList, T_aperiodicTriggerStateList_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerState_sequence[] = {
|
|
{ &hf_nr_rrc_associatedReportConfigInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_ReportConfigId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState, CSI_SemiPersistentOnPUSCH_TriggerState_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList, CSI_SemiPersistentOnPUSCH_TriggerStateList_sequence_of,
|
|
1, maxNrOfSemiPersistentPUSCH_Triggers, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_semiPersistentOnPUSCH_TriggerStateList_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_18 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList, T_semiPersistentOnPUSCH_TriggerStateList_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_MeasConfig_sequence[] = {
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource },
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId },
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet },
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId },
|
|
{ &hf_nr_rrc_csi_IM_ResourceToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource },
|
|
{ &hf_nr_rrc_csi_IM_ResourceToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId },
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet },
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId },
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet },
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId },
|
|
{ &hf_nr_rrc_csi_ResourceConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig },
|
|
{ &hf_nr_rrc_csi_ResourceConfigToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId },
|
|
{ &hf_nr_rrc_csi_ReportConfigToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig },
|
|
{ &hf_nr_rrc_csi_ReportConfigToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId },
|
|
{ &hf_nr_rrc_reportTriggerSize, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_0_6 },
|
|
{ &hf_nr_rrc_aperiodicTriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTriggerStateList },
|
|
{ &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_MeasConfig, CSI_MeasConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_MeasConfig_vals[] = {
|
|
{ 0, "release" },
|
|
{ 1, "setup" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_csi_MeasConfig_choice[] = {
|
|
{ 0, &hf_nr_rrc_release , ASN1_NO_EXTENSIONS , dissect_nr_rrc_NULL },
|
|
{ 1, &hf_nr_rrc_setup_43 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_CSI_MeasConfig },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_MeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_csi_MeasConfig, T_csi_MeasConfig_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sCellDeactivationTimer_vals[] = {
|
|
{ 0, "ms20" },
|
|
{ 1, "ms40" },
|
|
{ 2, "ms80" },
|
|
{ 3, "ms160" },
|
|
{ 4, "ms200" },
|
|
{ 5, "ms240" },
|
|
{ 6, "ms320" },
|
|
{ 7, "ms400" },
|
|
{ 8, "ms480" },
|
|
{ 9, "ms520" },
|
|
{ 10, "ms640" },
|
|
{ 11, "ms720" },
|
|
{ 12, "ms840" },
|
|
{ 13, "ms1280" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sCellDeactivationTimer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_own_sequence[] = {
|
|
{ &hf_nr_rrc_cif_Presence , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_own(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_own, T_own_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 7U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_other_sequence[] = {
|
|
{ &hf_nr_rrc_schedulingCellId, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_cif_InSchedulingCell, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_7 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_other(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_other, T_other_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_schedulingCellInfo_vals[] = {
|
|
{ 0, "own" },
|
|
{ 1, "other" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t T_schedulingCellInfo_choice[] = {
|
|
{ 0, &hf_nr_rrc_own , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_own },
|
|
{ 1, &hf_nr_rrc_other , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_other },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_schedulingCellInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_schedulingCellInfo, T_schedulingCellInfo_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CrossCarrierSchedulingConfig_sequence[] = {
|
|
{ &hf_nr_rrc_schedulingCellInfo, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_schedulingCellInfo },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CrossCarrierSchedulingConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CrossCarrierSchedulingConfig, CrossCarrierSchedulingConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ue_BeamLockFunction_vals[] = {
|
|
{ 0, "enabled" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ue_BeamLockFunction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pathlossReferenceLinking_vals[] = {
|
|
{ 0, "pCell" },
|
|
{ 1, "sCell" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pathlossReferenceLinking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t ServingCellConfig_sequence[] = {
|
|
{ &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_TDD_UL_DL_ConfigDedicated },
|
|
{ &hf_nr_rrc_initialDownlinkBWP_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_DownlinkDedicated },
|
|
{ &hf_nr_rrc_downlinkBWP_ToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id },
|
|
{ &hf_nr_rrc_downlinkBWP_ToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink },
|
|
{ &hf_nr_rrc_firstActiveDownlinkBWP_Id, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_bwp_InactivityTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_InactivityTimer },
|
|
{ &hf_nr_rrc_defaultDownlinkBWP_Id, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BWP_Id },
|
|
{ &hf_nr_rrc_uplinkConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig },
|
|
{ &hf_nr_rrc_supplementaryUplink_02, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_UplinkConfig },
|
|
{ &hf_nr_rrc_pdcch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_ServingCellConfig },
|
|
{ &hf_nr_rrc_pdsch_ServingCellConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_ServingCellConfig },
|
|
{ &hf_nr_rrc_csi_MeasConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_MeasConfig },
|
|
{ &hf_nr_rrc_sCellDeactivationTimer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sCellDeactivationTimer },
|
|
{ &hf_nr_rrc_crossCarrierSchedulingConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CrossCarrierSchedulingConfig },
|
|
{ &hf_nr_rrc_tag_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TAG_Id },
|
|
{ &hf_nr_rrc_ue_BeamLockFunction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_BeamLockFunction },
|
|
{ &hf_nr_rrc_pathlossReferenceLinking, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pathlossReferenceLinking },
|
|
{ &hf_nr_rrc_servingCellMO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MeasObjectId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_ServingCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_ServingCellConfig, ServingCellConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SpCellConfig_sequence[] = {
|
|
{ &hf_nr_rrc_servCellIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServCellIndex },
|
|
{ &hf_nr_rrc_reconfigurationWithSync, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ReconfigurationWithSync },
|
|
{ &hf_nr_rrc_rlf_TimersAndConstants, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rlf_TimersAndConstants },
|
|
{ &hf_nr_rrc_rlmInSyncOutOfSyncThreshold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rlmInSyncOutOfSyncThreshold },
|
|
{ &hf_nr_rrc_spCellConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SpCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SpCellConfig, SpCellConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 31U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SCellConfig_sequence[] = {
|
|
{ &hf_nr_rrc_sCellIndex , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
|
|
{ &hf_nr_rrc_sCellConfigCommon, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfigCommon },
|
|
{ &hf_nr_rrc_sCellConfigDedicated, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_ServingCellConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SCellConfig, SCellConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of[1] = {
|
|
{ &hf_nr_rrc_sCellToAddModList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellConfig },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig_sequence_of,
|
|
1, maxNrofSCells, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of[1] = {
|
|
{ &hf_nr_rrc_sCellToReleaseList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SCellIndex },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex, SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex_sequence_of,
|
|
1, maxNrofSCells, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CellGroupConfig_sequence[] = {
|
|
{ &hf_nr_rrc_cellGroupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_CellGroupId },
|
|
{ &hf_nr_rrc_rlc_BearerToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig },
|
|
{ &hf_nr_rrc_rlc_BearerToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity },
|
|
{ &hf_nr_rrc_mac_CellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MAC_CellGroupConfig },
|
|
{ &hf_nr_rrc_physicalCellGroupConfig, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_PhysicalCellGroupConfig },
|
|
{ &hf_nr_rrc_spCellConfig , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SpCellConfig },
|
|
{ &hf_nr_rrc_sCellToAddModList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig },
|
|
{ &hf_nr_rrc_sCellToReleaseList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CellGroupConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CellGroupConfig, CellGroupConfig_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasResultSCG_Failure_sequence[] = {
|
|
{ &hf_nr_rrc_measResultPerMOList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasResultList2NR },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasResultSCG_Failure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasResultSCG_Failure, MeasResultSCG_Failure_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_AccessStratumRelease_vals[] = {
|
|
{ 0, "rel15" },
|
|
{ 1, "spare7" },
|
|
{ 2, "spare6" },
|
|
{ 3, "spare5" },
|
|
{ 4, "spare4" },
|
|
{ 5, "spare3" },
|
|
{ 6, "spare2" },
|
|
{ 7, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_AccessStratumRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
8, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FreqBandIndicatorEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxBandsEUTRA, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_CA_BandwidthClassEUTRA_vals[] = {
|
|
{ 0, "a" },
|
|
{ 1, "b" },
|
|
{ 2, "c" },
|
|
{ 3, "d" },
|
|
{ 4, "e" },
|
|
{ 5, "f" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CA_BandwidthClassEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eutra_sequence[] = {
|
|
{ &hf_nr_rrc_bandEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
|
|
{ &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA },
|
|
{ &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eutra(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eutra, T_eutra_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_CA_BandwidthClassNR_vals[] = {
|
|
{ 0, "a" },
|
|
{ 1, "b" },
|
|
{ 2, "c" },
|
|
{ 3, "d" },
|
|
{ 4, "e" },
|
|
{ 5, "f" },
|
|
{ 6, "g" },
|
|
{ 7, "h" },
|
|
{ 8, "i" },
|
|
{ 9, "j" },
|
|
{ 10, "k" },
|
|
{ 11, "l" },
|
|
{ 12, "m" },
|
|
{ 13, "n" },
|
|
{ 14, "o" },
|
|
{ 15, "p" },
|
|
{ 16, "q" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_CA_BandwidthClassNR_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_CA_BandwidthClassNR_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_CA_BandwidthClassNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
17, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nr_sequence[] = {
|
|
{ &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
|
|
{ &hf_nr_rrc_ca_BandwidthClassDL_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR },
|
|
{ &hf_nr_rrc_ca_BandwidthClassUL_NR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassNR },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nr(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nr, T_nr_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_BandParameters_vals[] = {
|
|
{ 0, "eutra" },
|
|
{ 1, "nr" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t BandParameters_choice[] = {
|
|
{ 0, &hf_nr_rrc_eutra , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra },
|
|
{ 1, &hf_nr_rrc_nr , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BandParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BandParameters, BandParameters_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_sequence_of[1] = {
|
|
{ &hf_nr_rrc_bandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandParameters },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters, SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters_sequence_of,
|
|
1, maxSimultaneousBands, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetCombinationId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxFeatureSetCombinations, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_multipleTimingAdvance_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_multipleTimingAdvance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_simultaneousRx_Tx_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_simultaneousRx_Tx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
1, 8, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_additionalRx_Tx_PerformanceReq_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_additionalRx_Tx_PerformanceReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ue_CA_PowerClass_N_vals[] = {
|
|
{ 0, "class2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ue_CA_PowerClass_N(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CA_ParametersEUTRA_sequence[] = {
|
|
{ &hf_nr_rrc_multipleTimingAdvance, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTimingAdvance },
|
|
{ &hf_nr_rrc_simultaneousRx_Tx, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRx_Tx },
|
|
{ &hf_nr_rrc_supportedNAICS_2CRS_AP, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_8 },
|
|
{ &hf_nr_rrc_additionalRx_Tx_PerformanceReq, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalRx_Tx_PerformanceReq },
|
|
{ &hf_nr_rrc_ue_CA_PowerClass_N, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_CA_PowerClass_N },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CA_ParametersEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CA_ParametersEUTRA, CA_ParametersEUTRA_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_multipleTimingAdvances_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_multipleTimingAdvances(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_simultaneousRxTxInterBandCA_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_simultaneousRxTxInterBandCA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_simultaneousRxTxSUL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_simultaneousRxTxSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_diffNumerologyWithinPUCCH_Group_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedNumberTAG_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n3" },
|
|
{ 2, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedNumberTAG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CA_ParametersNR_sequence[] = {
|
|
{ &hf_nr_rrc_multipleTimingAdvances, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTimingAdvances },
|
|
{ &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_parallelTxSRS_PUCCH_PUSCH },
|
|
{ &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH },
|
|
{ &hf_nr_rrc_simultaneousRxTxInterBandCA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandCA },
|
|
{ &hf_nr_rrc_simultaneousRxTxSUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxSUL },
|
|
{ &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyAcrossPUCCH_Group },
|
|
{ &hf_nr_rrc_diffNumerologyWithinPUCCH_Group, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_diffNumerologyWithinPUCCH_Group },
|
|
{ &hf_nr_rrc_supportedNumberTAG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedNumberTAG },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CA_ParametersNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CA_ParametersNR, CA_ParametersNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_singleUL_Transmission_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_singleUL_Transmission(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicPowerSharing_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicPowerSharing(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tdm_Pattern_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tdm_Pattern(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ul_SharingEUTRA_NR_vals[] = {
|
|
{ 0, "tdm" },
|
|
{ 1, "fdm" },
|
|
{ 2, "both" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ul_SharingEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals[] = {
|
|
{ 0, "type1" },
|
|
{ 1, "type2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_simultaneousRxTxInterBandENDC_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_simultaneousRxTxInterBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_asyncIntraBandENDC_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_asyncIntraBandENDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MRDC_Parameters_sequence[] = {
|
|
{ &hf_nr_rrc_singleUL_Transmission, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_singleUL_Transmission },
|
|
{ &hf_nr_rrc_dynamicPowerSharing, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPowerSharing },
|
|
{ &hf_nr_rrc_tdm_Pattern , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tdm_Pattern },
|
|
{ &hf_nr_rrc_ul_SharingEUTRA_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SharingEUTRA_NR },
|
|
{ &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ul_SwitchingTimeEUTRA_NR },
|
|
{ &hf_nr_rrc_simultaneousRxTxInterBandENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxTxInterBandENDC },
|
|
{ &hf_nr_rrc_asyncIntraBandENDC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_asyncIntraBandENDC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MRDC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MRDC_Parameters, MRDC_Parameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
1, 32, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BandCombination_sequence[] = {
|
|
{ &hf_nr_rrc_bandList , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters },
|
|
{ &hf_nr_rrc_featureSetCombination, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetCombinationId },
|
|
{ &hf_nr_rrc_ca_ParametersEUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersEUTRA },
|
|
{ &hf_nr_rrc_ca_ParametersNR, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_ParametersNR },
|
|
{ &hf_nr_rrc_mrdc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MRDC_Parameters },
|
|
{ &hf_nr_rrc_supportedBandwidthCombinationSet, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_1_32 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BandCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BandCombination, BandCombination_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BandCombinationList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_BandCombinationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandCombination },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BandCombinationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BandCombinationList, BandCombinationList_sequence_of,
|
|
1, maxBandComb, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetEUTRA_DownlinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxEUTRA_DL_FeatureSets, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetEUTRA_UplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxEUTRA_UL_FeatureSets, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_eutra_01_sequence[] = {
|
|
{ &hf_nr_rrc_downlinkSetEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_DownlinkId },
|
|
{ &hf_nr_rrc_uplinkSetEUTRA, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetEUTRA_UplinkId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eutra_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_eutra_01, T_eutra_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetDownlinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxDownlinkFeatureSets, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetUplinkId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
0U, maxUplinkFeatureSets, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nr_01_sequence[] = {
|
|
{ &hf_nr_rrc_downlinkSetNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkId },
|
|
{ &hf_nr_rrc_uplinkSetNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkId },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nr_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nr_01, T_nr_01_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_FeatureSet_vals[] = {
|
|
{ 0, "eutra" },
|
|
{ 1, "nr" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t FeatureSet_choice[] = {
|
|
{ 0, &hf_nr_rrc_eutra_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_eutra_01 },
|
|
{ 1, &hf_nr_rrc_nr_01 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_nr_01 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSet, FeatureSet_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FeatureSetsPerBand_sequence_of[1] = {
|
|
{ &hf_nr_rrc_FeatureSetsPerBand_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSet },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetsPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSetsPerBand, FeatureSetsPerBand_sequence_of,
|
|
1, maxFeatureSetsPerBand, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FeatureSetCombination_sequence_of[1] = {
|
|
{ &hf_nr_rrc_FeatureSetCombination_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetsPerBand },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSetCombination, FeatureSetCombination_sequence_of,
|
|
1, maxSimultaneousBands, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetDownlinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxPerCC_FeatureSets, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id_sequence_of[1] = {
|
|
{ &hf_nr_rrc_featureSetListPerDownlinkCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC_Id },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id, SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id_sequence_of,
|
|
1, maxNrofServingCells, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_FreqSeparationClass_vals[] = {
|
|
{ 0, "c1" },
|
|
{ 1, "c2" },
|
|
{ 2, "c3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FreqSeparationClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, TRUE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scalingFactor_vals[] = {
|
|
{ 0, "f0p4" },
|
|
{ 1, "f0p75" },
|
|
{ 2, "f0p8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scalingFactor(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_crossCarrierSchedulingDL_OtherSCS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_crossCarrierSchedulingDL_OtherSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scellWithoutSSB_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_srs_AssocCSI_RS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srs_AssocCSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_type1_3_CSS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_type1_3_CSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcchMonitoringAnyOccasions_vals[] = {
|
|
{ 0, "withoutDCI-Gap" },
|
|
{ 1, "withDCI-Gap" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcchMonitoringAnyOccasions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ue_SpecificUL_DL_Assignment_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_searchSpaceSharingCA_DL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_searchSpaceSharingCA_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_60kHz_vals[] = {
|
|
{ 0, "s7" },
|
|
{ 1, "s14" },
|
|
{ 2, "s28" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_60kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sch_120kHz_vals[] = {
|
|
{ 0, "s14" },
|
|
{ 1, "s28" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sch_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_timeDurationForQCL_sequence[] = {
|
|
{ &hf_nr_rrc_scs_60kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz },
|
|
{ &hf_nr_rrc_sch_120kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sch_120kHz },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_timeDurationForQCL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_timeDurationForQCL, T_timeDurationForQCL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_15kHz_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_15kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_30kHz_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_30kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_60kHz_01_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_60kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_120kHz_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_120kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_pdsch_DifferentTB_PerSlot_sequence[] = {
|
|
{ &hf_nr_rrc_scs_15kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz },
|
|
{ &hf_nr_rrc_scs_30kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz },
|
|
{ &hf_nr_rrc_scs_60kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_01 },
|
|
{ &hf_nr_rrc_scs_120kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pdsch_DifferentTB_PerSlot, T_pdsch_DifferentTB_PerSlot_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals[] = {
|
|
{ 0, "p2" },
|
|
{ 1, "p4" },
|
|
{ 2, "p8" },
|
|
{ 3, "p12" },
|
|
{ 4, "p16" },
|
|
{ 5, "p24" },
|
|
{ 6, "p32" },
|
|
{ 7, "p40" },
|
|
{ 8, "p48" },
|
|
{ 9, "p56" },
|
|
{ 10, "p64" },
|
|
{ 11, "p72" },
|
|
{ 12, "p80" },
|
|
{ 13, "p88" },
|
|
{ 14, "p96" },
|
|
{ 15, "p104" },
|
|
{ 16, "p112" },
|
|
{ 17, "p120" },
|
|
{ 18, "p128" },
|
|
{ 19, "p136" },
|
|
{ 20, "p144" },
|
|
{ 21, "p152" },
|
|
{ 22, "p160" },
|
|
{ 23, "p168" },
|
|
{ 24, "p176" },
|
|
{ 25, "p184" },
|
|
{ 26, "p192" },
|
|
{ 27, "p200" },
|
|
{ 28, "p208" },
|
|
{ 29, "p216" },
|
|
{ 30, "p224" },
|
|
{ 31, "p232" },
|
|
{ 32, "p240" },
|
|
{ 33, "p248" },
|
|
{ 34, "p256" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
35, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberCS_IM_PerCC_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 4, "n16" },
|
|
{ 5, "n32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberCS_IM_PerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals[] = {
|
|
{ 0, "n5" },
|
|
{ 1, "n6" },
|
|
{ 2, "n7" },
|
|
{ 3, "n8" },
|
|
{ 4, "n9" },
|
|
{ 5, "n10" },
|
|
{ 6, "n12" },
|
|
{ 7, "n14" },
|
|
{ 8, "n16" },
|
|
{ 9, "n18" },
|
|
{ 10, "n20" },
|
|
{ 11, "n22" },
|
|
{ 12, "n24" },
|
|
{ 13, "n26" },
|
|
{ 14, "n28" },
|
|
{ 15, "n30" },
|
|
{ 16, "n32" },
|
|
{ 17, "n34" },
|
|
{ 18, "n36" },
|
|
{ 19, "n38" },
|
|
{ 20, "n40" },
|
|
{ 21, "n42" },
|
|
{ 22, "n44" },
|
|
{ 23, "n46" },
|
|
{ 24, "n48" },
|
|
{ 25, "n50" },
|
|
{ 26, "n52" },
|
|
{ 27, "n54" },
|
|
{ 28, "n56" },
|
|
{ 29, "n58" },
|
|
{ 30, "n60" },
|
|
{ 31, "n62" },
|
|
{ 32, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
33, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals[] = {
|
|
{ 0, "p8" },
|
|
{ 1, "p12" },
|
|
{ 2, "p16" },
|
|
{ 3, "p24" },
|
|
{ 4, "p32" },
|
|
{ 5, "p40" },
|
|
{ 6, "p48" },
|
|
{ 7, "p56" },
|
|
{ 8, "p64" },
|
|
{ 9, "p72" },
|
|
{ 10, "p80" },
|
|
{ 11, "p88" },
|
|
{ 12, "p96" },
|
|
{ 13, "p104" },
|
|
{ 14, "p112" },
|
|
{ 15, "p120" },
|
|
{ 16, "p128" },
|
|
{ 17, "p136" },
|
|
{ 18, "p144" },
|
|
{ 19, "p152" },
|
|
{ 20, "p160" },
|
|
{ 21, "p168" },
|
|
{ 22, "p176" },
|
|
{ 23, "p184" },
|
|
{ 24, "p192" },
|
|
{ 25, "p200" },
|
|
{ 26, "p208" },
|
|
{ 27, "p216" },
|
|
{ 28, "p224" },
|
|
{ 29, "p232" },
|
|
{ 30, "p240" },
|
|
{ 31, "p248" },
|
|
{ 32, "p256" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static value_string_ext nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals_ext = VALUE_STRING_EXT_INIT(nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals);
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
33, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_RS_IM_ReceptionForFeedback_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_32 },
|
|
{ &hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC },
|
|
{ &hf_nr_rrc_maxNumberCS_IM_PerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberCS_IM_PerCC },
|
|
{ &hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC },
|
|
{ &hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback, CSI_RS_IM_ReceptionForFeedback_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberTxPortsPerResource_vals[] = {
|
|
{ 0, "p2" },
|
|
{ 1, "p4" },
|
|
{ 2, "p8" },
|
|
{ 3, "p12" },
|
|
{ 4, "p16" },
|
|
{ 5, "p24" },
|
|
{ 6, "p32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberTxPortsPerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
7, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_2_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
2U, 256U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedCodebookMode_vals[] = {
|
|
{ 0, "mode1" },
|
|
{ 1, "mode1AndMode2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedCodebookMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TypeI_SinglePanelCodebook_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource },
|
|
{ &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
|
|
{ &hf_nr_rrc_supportedCodebookMode, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCodebookMode },
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TypeI_SinglePanelCodebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TypeI_SinglePanelCodebook, TypeI_SinglePanelCodebook_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook_sequence_of[1] = {
|
|
{ &hf_nr_rrc_typeI_SinglePanelCodebookList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TypeI_SinglePanelCodebook },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook_sequence_of,
|
|
1, maxNrofCodebooks, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberTxPortsPerResource_01_vals[] = {
|
|
{ 0, "p8" },
|
|
{ 1, "p16" },
|
|
{ 2, "p32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberTxPortsPerResource_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedCodebookMode_01_vals[] = {
|
|
{ 0, "mode1" },
|
|
{ 1, "mode2" },
|
|
{ 2, "both" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedCodebookMode_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedNumberPanels_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedNumberPanels(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TypeI_MultiPanelCodebook_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_01 },
|
|
{ &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
|
|
{ &hf_nr_rrc_supportedCodebookMode_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCodebookMode_01 },
|
|
{ &hf_nr_rrc_supportedNumberPanels, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedNumberPanels },
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TypeI_MultiPanelCodebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TypeI_MultiPanelCodebook, TypeI_MultiPanelCodebook_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook_sequence_of[1] = {
|
|
{ &hf_nr_rrc_typeI_MultiPanelCodebookList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TypeI_MultiPanelCodebook },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook_sequence_of,
|
|
1, maxNrofCodebooks, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberTxPortsPerResource_02_vals[] = {
|
|
{ 0, "p4" },
|
|
{ 1, "p8" },
|
|
{ 2, "p12" },
|
|
{ 3, "p16" },
|
|
{ 4, "p24" },
|
|
{ 5, "p32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberTxPortsPerResource_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_2_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
2U, 4U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_amplitudeScalingType_vals[] = {
|
|
{ 0, "wideband" },
|
|
{ 1, "widebandAndSubband" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_amplitudeScalingType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_amplitudeSubsetRestriction_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_amplitudeSubsetRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TypeII_Codebook_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource_02, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_02 },
|
|
{ &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
|
|
{ &hf_nr_rrc_parameterLx , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
|
|
{ &hf_nr_rrc_amplitudeScalingType, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType },
|
|
{ &hf_nr_rrc_amplitudeSubsetRestriction, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_amplitudeSubsetRestriction },
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TypeII_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TypeII_Codebook, TypeII_Codebook_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook_sequence_of[1] = {
|
|
{ &hf_nr_rrc_typeII_CodebookList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TypeII_Codebook },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook_sequence_of,
|
|
1, maxNrofCodebooks, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberTxPortsPerResource_03_vals[] = {
|
|
{ 0, "p4" },
|
|
{ 1, "p8" },
|
|
{ 2, "p12" },
|
|
{ 3, "p16" },
|
|
{ 4, "p24" },
|
|
{ 5, "p32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberTxPortsPerResource_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_amplitudeScalingType_01_vals[] = {
|
|
{ 0, "wideband" },
|
|
{ 1, "widebandAndSubband" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_amplitudeScalingType_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t TypeII_CodebookPortSelection_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource_03, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberTxPortsPerResource_03 },
|
|
{ &hf_nr_rrc_maxNumberResources, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_totalNumberTxPorts, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_256 },
|
|
{ &hf_nr_rrc_parameterLx , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_2_4 },
|
|
{ &hf_nr_rrc_amplitudeScalingType_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_amplitudeScalingType_01 },
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_TypeII_CodebookPortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_TypeII_CodebookPortSelection, TypeII_CodebookPortSelection_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection_sequence_of[1] = {
|
|
{ &hf_nr_rrc_typeII_CodebookPortSelectionList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_TypeII_CodebookPortSelection },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection, SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection_sequence_of,
|
|
1, maxNrofCodebooks, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FeatureSetDownlink_sequence[] = {
|
|
{ &hf_nr_rrc_featureSetListPerDownlinkCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id },
|
|
{ &hf_nr_rrc_intraBandFreqSeparationDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass },
|
|
{ &hf_nr_rrc_scalingFactor, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor },
|
|
{ &hf_nr_rrc_crossCarrierSchedulingDL_OtherSCS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierSchedulingDL_OtherSCS },
|
|
{ &hf_nr_rrc_scellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scellWithoutSSB },
|
|
{ &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_MeasSCellWithoutSSB },
|
|
{ &hf_nr_rrc_srs_AssocCSI_RS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_srs_AssocCSI_RS },
|
|
{ &hf_nr_rrc_type1_3_CSS , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_3_CSS },
|
|
{ &hf_nr_rrc_pdcchMonitoringAnyOccasions, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringAnyOccasions },
|
|
{ &hf_nr_rrc_pdcchMonitoringAnyOccasionsWithSpanGap, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap },
|
|
{ &hf_nr_rrc_ue_SpecificUL_DL_Assignment, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_SpecificUL_DL_Assignment },
|
|
{ &hf_nr_rrc_searchSpaceSharingCA_DL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_DL },
|
|
{ &hf_nr_rrc_timeDurationForQCL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_timeDurationForQCL },
|
|
{ &hf_nr_rrc_pdsch_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_DifferentTB_PerSlot },
|
|
{ &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_IM_ReceptionForFeedback },
|
|
{ &hf_nr_rrc_typeI_SinglePanelCodebookList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook },
|
|
{ &hf_nr_rrc_typeI_MultiPanelCodebookList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook },
|
|
{ &hf_nr_rrc_typeII_CodebookList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook },
|
|
{ &hf_nr_rrc_typeII_CodebookPortSelectionList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSetDownlink, FeatureSetDownlink_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_fr1_vals[] = {
|
|
{ 0, "mhz5" },
|
|
{ 1, "mhz10" },
|
|
{ 2, "mhz15" },
|
|
{ 3, "mhz20" },
|
|
{ 4, "mhz25" },
|
|
{ 5, "mhz30" },
|
|
{ 6, "mhz40" },
|
|
{ 7, "mhz50" },
|
|
{ 8, "mhz60" },
|
|
{ 9, "mhz80" },
|
|
{ 10, "mhz100" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_fr1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
11, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_fr2_vals[] = {
|
|
{ 0, "mhz50" },
|
|
{ 1, "mhz100" },
|
|
{ 2, "mhz200" },
|
|
{ 3, "mhz400" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_fr2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_SupportedBandwidth_vals[] = {
|
|
{ 0, "fr1" },
|
|
{ 1, "fr2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t SupportedBandwidth_choice[] = {
|
|
{ 0, &hf_nr_rrc_fr1 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr1 },
|
|
{ 1, &hf_nr_rrc_fr2 , ASN1_NO_EXTENSIONS , dissect_nr_rrc_T_fr2 },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SupportedBandwidth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SupportedBandwidth, SupportedBandwidth_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_channelBW_90mhz_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_channelBW_90mhz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_MIMO_LayersDL_vals[] = {
|
|
{ 0, "twoLayers" },
|
|
{ 1, "fourLayers" },
|
|
{ 2, "eightLayers" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_MIMO_LayersDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_ModulationOrder_vals[] = {
|
|
{ 0, "bpsk-halfpi" },
|
|
{ 1, "bpsk" },
|
|
{ 2, "qpsk" },
|
|
{ 3, "qam16" },
|
|
{ 4, "qam64" },
|
|
{ 5, "qam256" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_ModulationOrder(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FeatureSetDownlinkPerCC_sequence[] = {
|
|
{ &hf_nr_rrc_supportedSubcarrierSpacingDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_supportedBandwidthDL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandwidth },
|
|
{ &hf_nr_rrc_channelBW_90mhz, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBW_90mhz },
|
|
{ &hf_nr_rrc_maxNumberMIMO_LayersPDSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersDL },
|
|
{ &hf_nr_rrc_supportedModulationOrderDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ModulationOrder },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSetDownlinkPerCC, FeatureSetDownlinkPerCC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetUplinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxPerCC_FeatureSets, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id_sequence_of[1] = {
|
|
{ &hf_nr_rrc_featureSetListPerUplinkCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC_Id },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id, SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id_sequence_of,
|
|
1, maxNrofServingCells, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scalingFactor_01_vals[] = {
|
|
{ 0, "f0p4" },
|
|
{ 1, "f0p75" },
|
|
{ 2, "f0p8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scalingFactor_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_crossCarrierSchedulingUL_OtherSCS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_crossCarrierSchedulingUL_OtherSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_searchSpaceSharingCA_UL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_searchSpaceSharingCA_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedSRS_TxPortSwitch_vals[] = {
|
|
{ 0, "t1r2" },
|
|
{ 1, "t1r4" },
|
|
{ 2, "t2r4" },
|
|
{ 3, "t1r4-t2r4" },
|
|
{ 4, "tr-equal" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedSRS_TxPortSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_txSwitchImpactToRx_vals[] = {
|
|
{ 0, "true" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_txSwitchImpactToRx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_TxSwitch_sequence[] = {
|
|
{ &hf_nr_rrc_supportedSRS_TxPortSwitch, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedSRS_TxPortSwitch },
|
|
{ &hf_nr_rrc_txSwitchImpactToRx, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_txSwitchImpactToRx },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_TxSwitch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_TxSwitch, SRS_TxSwitch_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 4, "n16" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_6(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 6U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 4, "n16" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 4, "n16" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberSRS_Ports_PerResource_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SRS_Resources_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberAperiodicSRS_PerBWP },
|
|
{ &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
|
|
{ &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberPeriodicSRS_PerBWP },
|
|
{ &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
|
|
{ &hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP },
|
|
{ &hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_6 },
|
|
{ &hf_nr_rrc_maxNumberSRS_Ports_PerResource, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_Ports_PerResource },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SRS_Resources(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SRS_Resources, SRS_Resources_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPUCCH_Group_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPUCCH_Group(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicSwitchSUL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicSwitchSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_15kHz_01_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_15kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_30kHz_01_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_30kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_60kHz_02_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_60kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_120kHz_01_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 2, "upto7" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_120kHz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_pusch_DifferentTB_PerSlot_sequence[] = {
|
|
{ &hf_nr_rrc_scs_15kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_01 },
|
|
{ &hf_nr_rrc_scs_30kHz_01 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_01 },
|
|
{ &hf_nr_rrc_scs_60kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_02 },
|
|
{ &hf_nr_rrc_scs_120kHz_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_01 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_DifferentTB_PerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_pusch_DifferentTB_PerSlot, T_pusch_DifferentTB_PerSlot_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_5_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
5U, 32U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_ReportFramework_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
|
|
{ &hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_4 },
|
|
{ &hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_4 },
|
|
{ &hf_nr_rrc_simultaneousCSI_ReportsAllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_5_32 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_ReportFramework(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_ReportFramework, CSI_ReportFramework_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FeatureSetUplink_sequence[] = {
|
|
{ &hf_nr_rrc_featureSetListPerUplinkCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id },
|
|
{ &hf_nr_rrc_scalingFactor_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scalingFactor_01 },
|
|
{ &hf_nr_rrc_crossCarrierSchedulingUL_OtherSCS, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierSchedulingUL_OtherSCS },
|
|
{ &hf_nr_rrc_intraBandFreqSeparationUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqSeparationClass },
|
|
{ &hf_nr_rrc_searchSpaceSharingCA_UL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_searchSpaceSharingCA_UL },
|
|
{ &hf_nr_rrc_srs_TxSwitch , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_TxSwitch },
|
|
{ &hf_nr_rrc_supportedSRS_Resources, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources },
|
|
{ &hf_nr_rrc_twoPUCCH_Group, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_Group },
|
|
{ &hf_nr_rrc_dynamicSwitchSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchSUL },
|
|
{ &hf_nr_rrc_pusch_DifferentTB_PerSlot, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_DifferentTB_PerSlot },
|
|
{ &hf_nr_rrc_csi_ReportFramework, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CSI_ReportFramework },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSetUplink, FeatureSetUplink_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_channelBW_90mhz_01_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_channelBW_90mhz_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_MIMO_LayersUL_vals[] = {
|
|
{ 0, "oneLayer" },
|
|
{ 1, "twoLayers" },
|
|
{ 2, "fourLayers" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_MIMO_LayersUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_mimo_CB_PUSCH_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
|
|
{ &hf_nr_rrc_maxNumberSRS_ResourcePerSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mimo_CB_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_mimo_CB_PUSCH, T_mimo_CB_PUSCH_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_simultaneousTxSUL_NonSUL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_simultaneousTxSUL_NonSUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FeatureSetUplinkPerCC_sequence[] = {
|
|
{ &hf_nr_rrc_supportedSubcarrierSpacingUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SubcarrierSpacing },
|
|
{ &hf_nr_rrc_supportedBandwidthUL, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SupportedBandwidth },
|
|
{ &hf_nr_rrc_channelBW_90mhz_01, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_channelBW_90mhz_01 },
|
|
{ &hf_nr_rrc_mimo_CB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_mimo_CB_PUSCH },
|
|
{ &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_LayersUL },
|
|
{ &hf_nr_rrc_supportedModulationOrderUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_ModulationOrder },
|
|
{ &hf_nr_rrc_simultaneousTxSUL_NonSUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousTxSUL_NonSUL },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSetUplinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSetUplinkPerCC, FeatureSetUplinkPerCC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of[1] = {
|
|
{ &hf_nr_rrc_featureSetsDownlink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlink },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink, SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink_sequence_of,
|
|
1, maxDownlinkFeatureSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of[1] = {
|
|
{ &hf_nr_rrc_featureSetsDownlinkPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetDownlinkPerCC },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC_sequence_of,
|
|
1, maxPerCC_FeatureSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of[1] = {
|
|
{ &hf_nr_rrc_featureSetsUplink_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplink },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink, SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink_sequence_of,
|
|
1, maxUplinkFeatureSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_sequence_of[1] = {
|
|
{ &hf_nr_rrc_featureSetsUplinkPerCC_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetUplinkPerCC },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC, SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC_sequence_of,
|
|
1, maxPerCC_FeatureSets, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FeatureSets_sequence[] = {
|
|
{ &hf_nr_rrc_featureSetsDownlink, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink },
|
|
{ &hf_nr_rrc_featureSetsDownlinkPerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC },
|
|
{ &hf_nr_rrc_featureSetsUplink, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink },
|
|
{ &hf_nr_rrc_featureSetsUplinkPerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FeatureSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FeatureSets, FeatureSets_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FreqBandInformationEUTRA_sequence[] = {
|
|
{ &hf_nr_rrc_bandEUTRA , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorEUTRA },
|
|
{ &hf_nr_rrc_ca_BandwidthClassDL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA },
|
|
{ &hf_nr_rrc_ca_BandwidthClassUL_EUTRA, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_CA_BandwidthClassEUTRA },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FreqBandInformationEUTRA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FreqBandInformationEUTRA, FreqBandInformationEUTRA_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_AggregatedBandwith_vals[] = {
|
|
{ 0, "mhz50" },
|
|
{ 1, "mhz100" },
|
|
{ 2, "mhz150" },
|
|
{ 3, "mhz200" },
|
|
{ 4, "mhz250" },
|
|
{ 5, "mhz300" },
|
|
{ 6, "mhz350" },
|
|
{ 7, "mhz400" },
|
|
{ 8, "mhz450" },
|
|
{ 9, "mhz500" },
|
|
{ 10, "mhz550" },
|
|
{ 11, "mhz600" },
|
|
{ 12, "mhz650" },
|
|
{ 13, "mhz700" },
|
|
{ 14, "mhz750" },
|
|
{ 15, "mhz800" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_AggregatedBandwith(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_maxNrofServingCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, maxNrofServingCells, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FreqBandInformationNR_sequence[] = {
|
|
{ &hf_nr_rrc_bandNR , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
|
|
{ &hf_nr_rrc_maxBandwidthRequestedDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AggregatedBandwith },
|
|
{ &hf_nr_rrc_maxBandwidthRequestedUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_AggregatedBandwith },
|
|
{ &hf_nr_rrc_maxCarriersRequestedDL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofServingCells },
|
|
{ &hf_nr_rrc_maxCarriersRequestedUL, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_maxNrofServingCells },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FreqBandInformationNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FreqBandInformationNR, FreqBandInformationNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_FreqBandInformation_vals[] = {
|
|
{ 0, "bandInformationEUTRA" },
|
|
{ 1, "bandInformationNR" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
static const per_choice_t FreqBandInformation_choice[] = {
|
|
{ 0, &hf_nr_rrc_bandInformationEUTRA, ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandInformationEUTRA },
|
|
{ 1, &hf_nr_rrc_bandInformationNR, ASN1_NO_EXTENSIONS , dissect_nr_rrc_FreqBandInformationNR },
|
|
{ 0, NULL, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FreqBandInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FreqBandInformation, FreqBandInformation_choice,
|
|
NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t FreqBandList_sequence_of[1] = {
|
|
{ &hf_nr_rrc_FreqBandList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandInformation },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_FreqBandList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_FreqBandList, FreqBandList_sequence_of,
|
|
1, maxBandsMRDC, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_independentGapConfig_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_independentGapConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParametersMRDC_Common_sequence[] = {
|
|
{ &hf_nr_rrc_independentGapConfig, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_independentGapConfig },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParametersMRDC_Common(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParametersMRDC_Common, MeasParametersMRDC_Common_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sftd_MeasPSCell_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sftd_MeasPSCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sftd_MeasNR_Cell_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sftd_MeasNR_Cell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParametersMRDC_XDD_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_sftd_MeasPSCell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasPSCell },
|
|
{ &hf_nr_rrc_sftd_MeasNR_Cell, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_sftd_MeasNR_Cell },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParametersMRDC_XDD_Diff, MeasParametersMRDC_XDD_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParametersMRDC_FRX_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_simultaneousRxDataSSB_DiffNumerology },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParametersMRDC_FRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParametersMRDC_FRX_Diff, MeasParametersMRDC_FRX_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParametersMRDC_sequence[] = {
|
|
{ &hf_nr_rrc_measParametersMRDC_Common, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_Common },
|
|
{ &hf_nr_rrc_measParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_XDD_Diff },
|
|
{ &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_FRX_Diff },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParametersMRDC, MeasParametersMRDC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RF_ParametersMRDC_sequence[] = {
|
|
{ &hf_nr_rrc_supportedBandCombinationList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList },
|
|
{ &hf_nr_rrc_appliedFreqBandListFilter, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RF_ParametersMRDC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RF_ParametersMRDC, RF_ParametersMRDC_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_splitSRB_WithOneUL_Path_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_splitSRB_WithOneUL_Path(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_srb3_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_srb3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t GeneralParametersMRDC_XDD_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_splitSRB_WithOneUL_Path, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_splitSRB_WithOneUL_Path },
|
|
{ &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_splitDRB_withUL_Both_MCG_SCG },
|
|
{ &hf_nr_rrc_srb3 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_srb3 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_GeneralParametersMRDC_XDD_Diff, GeneralParametersMRDC_XDD_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UE_MRDC_CapabilityAddXDD_Mode_sequence[] = {
|
|
{ &hf_nr_rrc_measParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC_XDD_Diff },
|
|
{ &hf_nr_rrc_generalParametersMRDC_XDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode, UE_MRDC_CapabilityAddXDD_Mode_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UE_MRDC_CapabilityAddFRX_Mode_sequence[] = {
|
|
{ &hf_nr_rrc_measParametersMRDC_FRX_Diff, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_MeasParametersMRDC_FRX_Diff },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode, UE_MRDC_CapabilityAddFRX_Mode_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination_sequence_of[1] = {
|
|
{ &hf_nr_rrc_featureSetCombinations_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FeatureSetCombination },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination, SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination_sequence_of,
|
|
1, maxFeatureSetCombinations, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_09_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_09(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_09, T_nonCriticalExtension_09_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UE_MRDC_Capability_sequence[] = {
|
|
{ &hf_nr_rrc_measParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersMRDC },
|
|
{ &hf_nr_rrc_rf_ParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_ParametersMRDC },
|
|
{ &hf_nr_rrc_generalParametersMRDC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_GeneralParametersMRDC_XDD_Diff },
|
|
{ &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
|
|
{ &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode },
|
|
{ &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
|
|
{ &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode },
|
|
{ &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
|
|
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
|
|
{ &hf_nr_rrc_nonCriticalExtension_09, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_09 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UE_MRDC_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UE_MRDC_Capability, UE_MRDC_Capability_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_supportedROHC_Profiles_sequence[] = {
|
|
{ &hf_nr_rrc_profile0x0000, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0001, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0002, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0003, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0004, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0006, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0101, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0102, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0103, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ &hf_nr_rrc_profile0x0104, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BOOLEAN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_supportedROHC_Profiles, T_supportedROHC_Profiles_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberROHC_ContextSessions_vals[] = {
|
|
{ 0, "cs2" },
|
|
{ 1, "cs4" },
|
|
{ 2, "cs8" },
|
|
{ 3, "cs12" },
|
|
{ 4, "cs16" },
|
|
{ 5, "cs24" },
|
|
{ 6, "cs32" },
|
|
{ 7, "cs48" },
|
|
{ 8, "cs64" },
|
|
{ 9, "cs128" },
|
|
{ 10, "cs256" },
|
|
{ 11, "cs512" },
|
|
{ 12, "cs1024" },
|
|
{ 13, "cs16384" },
|
|
{ 14, "spare2" },
|
|
{ 15, "spare1" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberROHC_ContextSessions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
16, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_uplinkOnlyROHC_Profiles_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_uplinkOnlyROHC_Profiles(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_continueROHC_Context_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_continueROHC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_outOfOrderDelivery_01_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_outOfOrderDelivery_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_shortSN_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_shortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PDCP_Parameters_sequence[] = {
|
|
{ &hf_nr_rrc_supportedROHC_Profiles, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedROHC_Profiles },
|
|
{ &hf_nr_rrc_maxNumberROHC_ContextSessions, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberROHC_ContextSessions },
|
|
{ &hf_nr_rrc_uplinkOnlyROHC_Profiles, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkOnlyROHC_Profiles },
|
|
{ &hf_nr_rrc_continueROHC_Context, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_continueROHC_Context },
|
|
{ &hf_nr_rrc_outOfOrderDelivery_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_outOfOrderDelivery_01 },
|
|
{ &hf_nr_rrc_shortSN , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortSN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PDCP_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PDCP_Parameters, PDCP_Parameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_am_WithShortSN_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_am_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_um_WithShortSN_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_um_WithShortSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_um_WIthLongSN_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_um_WIthLongSN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RLC_Parameters_sequence[] = {
|
|
{ &hf_nr_rrc_am_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_am_WithShortSN },
|
|
{ &hf_nr_rrc_um_WithShortSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WithShortSN },
|
|
{ &hf_nr_rrc_um_WIthLongSN, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_um_WIthLongSN },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RLC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RLC_Parameters, RLC_Parameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_lcp_Restriction_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_lcp_Restriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MAC_ParametersCommon_sequence[] = {
|
|
{ &hf_nr_rrc_lcp_Restriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_lcp_Restriction },
|
|
{ &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_SpatialRelInfoMAC_CE },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MAC_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MAC_ParametersCommon, MAC_ParametersCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_skipUplinkTxDynamic_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_skipUplinkTxDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_logicalChannelSR_DelayTimer_01_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_longDRX_Cycle_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_longDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_shortDRX_Cycle_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_shortDRX_Cycle(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_multipleSR_Configurations_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_multipleSR_Configurations(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_multipleConfiguredGrants_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_multipleConfiguredGrants(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MAC_ParametersXDD_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_skipUplinkTxDynamic_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_skipUplinkTxDynamic },
|
|
{ &hf_nr_rrc_logicalChannelSR_DelayTimer_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_logicalChannelSR_DelayTimer_01 },
|
|
{ &hf_nr_rrc_longDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_longDRX_Cycle },
|
|
{ &hf_nr_rrc_shortDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_shortDRX_Cycle },
|
|
{ &hf_nr_rrc_multipleSR_Configurations, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleSR_Configurations },
|
|
{ &hf_nr_rrc_multipleConfiguredGrants, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleConfiguredGrants },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MAC_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MAC_ParametersXDD_Diff, MAC_ParametersXDD_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MAC_Parameters_sequence[] = {
|
|
{ &hf_nr_rrc_mac_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersCommon },
|
|
{ &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MAC_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MAC_Parameters, MAC_Parameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_RS_CFRA_ForHO_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_RS_CFRA_ForHO(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicPRB_BundlingDL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicPRB_BundlingDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sp_CSI_ReportPUCCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sp_CSI_ReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sp_CSI_ReportPUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sp_CSI_ReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_precoderGranularityCORESET_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_precoderGranularityCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicHARQ_ACK_Codebook_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_spatialBundlingHARQ_ACK_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_spatialBundlingHARQ_ACK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_Repetition_F1_3_4_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_Repetition_F1_3_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ra_Type0_PUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ra_Type0_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_MappingTypeA_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_MappingTypeA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_MappingTypeB_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_MappingTypeB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_interSlotFreqHopping_PUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_interSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_RepetitionMultiSlots_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_RepetitionMultiSlots_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_RepetitionMultiSlots(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_downlinkSPS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_downlinkSPS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_configuredUL_GrantType1_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_configuredUL_GrantType1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_configuredUL_GrantType2_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_configuredUL_GrantType2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pre_EmptIndication_DL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pre_EmptIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cbg_TransIndication_DL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cbg_TransIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cbg_TransIndication_UL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cbg_TransIndication_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_cbg_FlushIndication_DL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_cbg_FlushIndication_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rateMatchingResrcSetSemi_Static_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rateMatchingResrcSetDynamic_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rateMatchingResrcSetDynamic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bwp_SwitchingDelay_vals[] = {
|
|
{ 0, "type1" },
|
|
{ 1, "type2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bwp_SwitchingDelay(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Phy_ParametersCommon_sequence[] = {
|
|
{ &hf_nr_rrc_csi_RS_CFRA_ForHO, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_CFRA_ForHO },
|
|
{ &hf_nr_rrc_dynamicPRB_BundlingDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicPRB_BundlingDL },
|
|
{ &hf_nr_rrc_sp_CSI_ReportPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUCCH },
|
|
{ &hf_nr_rrc_sp_CSI_ReportPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_ReportPUSCH },
|
|
{ &hf_nr_rrc_nzp_CSI_RS_IntefMgmt, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_nzp_CSI_RS_IntefMgmt },
|
|
{ &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH },
|
|
{ &hf_nr_rrc_precoderGranularityCORESET, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_precoderGranularityCORESET },
|
|
{ &hf_nr_rrc_dynamicHARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_Codebook },
|
|
{ &hf_nr_rrc_semiStaticHARQ_ACK_Codebook, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiStaticHARQ_ACK_Codebook },
|
|
{ &hf_nr_rrc_spatialBundlingHARQ_ACK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_spatialBundlingHARQ_ACK },
|
|
{ &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI },
|
|
{ &hf_nr_rrc_pucch_Repetition_F1_3_4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_Repetition_F1_3_4 },
|
|
{ &hf_nr_rrc_ra_Type0_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ra_Type0_PUSCH },
|
|
{ &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH },
|
|
{ &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH },
|
|
{ &hf_nr_rrc_pdsch_MappingTypeA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeA },
|
|
{ &hf_nr_rrc_pdsch_MappingTypeB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_MappingTypeB },
|
|
{ &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_interleavingVRB_ToPRB_PDSCH },
|
|
{ &hf_nr_rrc_interSlotFreqHopping_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_interSlotFreqHopping_PUSCH },
|
|
{ &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_type1_PUSCH_RepetitionMultiSlots },
|
|
{ &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_type2_PUSCH_RepetitionMultiSlots },
|
|
{ &hf_nr_rrc_pusch_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_RepetitionMultiSlots },
|
|
{ &hf_nr_rrc_pdsch_RepetitionMultiSlots, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RepetitionMultiSlots },
|
|
{ &hf_nr_rrc_downlinkSPS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_downlinkSPS },
|
|
{ &hf_nr_rrc_configuredUL_GrantType1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType1 },
|
|
{ &hf_nr_rrc_configuredUL_GrantType2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_configuredUL_GrantType2 },
|
|
{ &hf_nr_rrc_pre_EmptIndication_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pre_EmptIndication_DL },
|
|
{ &hf_nr_rrc_cbg_TransIndication_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_TransIndication_DL },
|
|
{ &hf_nr_rrc_cbg_TransIndication_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_TransIndication_UL },
|
|
{ &hf_nr_rrc_cbg_FlushIndication_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_cbg_FlushIndication_DL },
|
|
{ &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL },
|
|
{ &hf_nr_rrc_rateMatchingResrcSetSemi_Static, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetSemi_Static },
|
|
{ &hf_nr_rrc_rateMatchingResrcSetDynamic, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingResrcSetDynamic },
|
|
{ &hf_nr_rrc_bwp_SwitchingDelay, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SwitchingDelay },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_Phy_ParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_Phy_ParametersCommon, Phy_ParametersCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicSFI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicSFI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Phy_ParametersXDD_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_dynamicSFI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSFI },
|
|
{ &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols },
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH },
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_Phy_ParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_Phy_ParametersXDD_Diff, Phy_ParametersXDD_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_dynamicSFI_01_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_dynamicSFI_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedDMRS_TypeDL_vals[] = {
|
|
{ 0, "type1" },
|
|
{ 1, "type2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedDMRS_TypeDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedDMRS_TypeUL_vals[] = {
|
|
{ 0, "type1" },
|
|
{ 1, "type2" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedDMRS_TypeUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_semiOpenLoopCSI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_semiOpenLoopCSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_ReportWithoutPMI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_ReportWithoutPMI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_ReportWithoutCQI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_ReportWithoutCQI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_F2_WithFH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_F2_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_F3_WithFH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_F3_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_F4_WithFH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_F4_WithFH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_freqHoppingPUCCH_F0_2_vals[] = {
|
|
{ 0, "notSupported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_freqHoppingPUCCH_F0_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_freqHoppingPUCCH_F1_3_4_vals[] = {
|
|
{ 0, "notSupported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_freqHoppingPUCCH_F1_3_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_uci_CodeBlockSegmentation_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_uci_CodeBlockSegmentation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_onePUCCH_LongAndShortFormat_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_onePUCCH_LongAndShortFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_intraSlotFreqHopping_PUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_LBRM_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_LBRM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcch_BlindDetectionCA_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcch_BlindDetectionCA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_PUSCH_RNTI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_PUSCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_PUCCH_RNTI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_PUCCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tpc_SRS_RNTI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tpc_SRS_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_absoluteTPC_Command_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_absoluteTPC_Command(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_HalfPi_BPSK_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_almostContiguousCP_OFDM_UL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_almostContiguousCP_OFDM_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sp_CSI_RS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sp_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sp_CSI_IM_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sp_CSI_IM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_multipleCORESET_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_multipleCORESET(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Phy_ParametersFRX_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_dynamicSFI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_dynamicSFI_01 },
|
|
{ &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ &hf_nr_rrc_twoFL_DMRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ &hf_nr_rrc_supportedDMRS_TypeDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeDL },
|
|
{ &hf_nr_rrc_supportedDMRS_TypeUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_supportedDMRS_TypeUL },
|
|
{ &hf_nr_rrc_semiOpenLoopCSI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_semiOpenLoopCSI },
|
|
{ &hf_nr_rrc_csi_ReportWithoutPMI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutPMI },
|
|
{ &hf_nr_rrc_csi_ReportWithoutCQI, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_ReportWithoutCQI },
|
|
{ &hf_nr_rrc_onePortsPTRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_2 },
|
|
{ &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01 },
|
|
{ &hf_nr_rrc_pucch_F2_WithFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F2_WithFH },
|
|
{ &hf_nr_rrc_pucch_F3_WithFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_WithFH },
|
|
{ &hf_nr_rrc_pucch_F4_WithFH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F4_WithFH },
|
|
{ &hf_nr_rrc_freqHoppingPUCCH_F0_2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_freqHoppingPUCCH_F0_2 },
|
|
{ &hf_nr_rrc_freqHoppingPUCCH_F1_3_4, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_freqHoppingPUCCH_F1_3_4 },
|
|
{ &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH },
|
|
{ &hf_nr_rrc_uci_CodeBlockSegmentation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uci_CodeBlockSegmentation },
|
|
{ &hf_nr_rrc_onePUCCH_LongAndShortFormat, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_onePUCCH_LongAndShortFormat },
|
|
{ &hf_nr_rrc_twoPUCCH_AnyOthersInSlot, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPUCCH_AnyOthersInSlot },
|
|
{ &hf_nr_rrc_intraSlotFreqHopping_PUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_intraSlotFreqHopping_PUSCH },
|
|
{ &hf_nr_rrc_pusch_LBRM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_LBRM },
|
|
{ &hf_nr_rrc_pdcch_BlindDetectionCA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcch_BlindDetectionCA },
|
|
{ &hf_nr_rrc_tpc_PUSCH_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUSCH_RNTI },
|
|
{ &hf_nr_rrc_tpc_PUCCH_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_PUCCH_RNTI },
|
|
{ &hf_nr_rrc_tpc_SRS_RNTI_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tpc_SRS_RNTI },
|
|
{ &hf_nr_rrc_absoluteTPC_Command, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_absoluteTPC_Command },
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01 },
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01 },
|
|
{ &hf_nr_rrc_pusch_HalfPi_BPSK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_HalfPi_BPSK },
|
|
{ &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pucch_F3_4_HalfPi_BPSK },
|
|
{ &hf_nr_rrc_almostContiguousCP_OFDM_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_almostContiguousCP_OFDM_UL },
|
|
{ &hf_nr_rrc_sp_CSI_RS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_RS },
|
|
{ &hf_nr_rrc_sp_CSI_IM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_CSI_IM },
|
|
{ &hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot },
|
|
{ &hf_nr_rrc_multipleCORESET, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleCORESET },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_Phy_ParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_Phy_ParametersFRX_Diff, Phy_ParametersFRX_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdcchMonitoringSingleOccasion_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdcchMonitoringSingleOccasion(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_60kHz_03_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_60kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_256QAM_FR1_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_256QAM_FR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_RE_MappingFR1_vals[] = {
|
|
{ 0, "n10" },
|
|
{ 1, "n20" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_RE_MappingFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Phy_ParametersFR1_sequence[] = {
|
|
{ &hf_nr_rrc_pdcchMonitoringSingleOccasion, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdcchMonitoringSingleOccasion },
|
|
{ &hf_nr_rrc_scs_60kHz_03 , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_03 },
|
|
{ &hf_nr_rrc_pdsch_256QAM_FR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR1 },
|
|
{ &hf_nr_rrc_pdsch_RE_MappingFR1, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RE_MappingFR1 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_Phy_ParametersFR1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_Phy_ParametersFR1, Phy_ParametersFR1_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_calibrationGapPA_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_calibrationGapPA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_RE_MappingFR2_vals[] = {
|
|
{ 0, "n6" },
|
|
{ 1, "n20" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_RE_MappingFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Phy_ParametersFR2_sequence[] = {
|
|
{ &hf_nr_rrc_calibrationGapPA, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_calibrationGapPA },
|
|
{ &hf_nr_rrc_pdsch_RE_MappingFR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_RE_MappingFR2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_Phy_ParametersFR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_Phy_ParametersFR2, Phy_ParametersFR2_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t Phy_Parameters_sequence[] = {
|
|
{ &hf_nr_rrc_phy_ParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersCommon },
|
|
{ &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff },
|
|
{ &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff },
|
|
{ &hf_nr_rrc_phy_ParametersFR1, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFR1 },
|
|
{ &hf_nr_rrc_phy_ParametersFR2, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFR2 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_Phy_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_Phy_Parameters, Phy_Parameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n8" },
|
|
{ 2, "n16" },
|
|
{ 3, "n32" },
|
|
{ 4, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberConfiguredTCIstatesPerCC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberActiveTCI_PerBWP_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 3, "n8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberActiveTCI_PerBWP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_tci_StatePDSCH_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberConfiguredTCIstatesPerCC },
|
|
{ &hf_nr_rrc_maxNumberActiveTCI_PerBWP, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberActiveTCI_PerBWP },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_tci_StatePDSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_tci_StatePDSCH, T_tci_StatePDSCH_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_additionalActiveTCI_StatePDCCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_TransCoherence_vals[] = {
|
|
{ 0, "nonCoherent" },
|
|
{ 1, "partialNonCoherent" },
|
|
{ 2, "fullCoherent" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_TransCoherence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_beamCorrespondence_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_beamCorrespondence(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_periodicBeamReport_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_periodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aperiodicBeamReport_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aperiodicBeamReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sp_BeamReportPUCCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sp_BeamReportPUCCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_sp_BeamReportPUSCH_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_sp_BeamReportPUSCH(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals[] = {
|
|
{ 0, "n8" },
|
|
{ 1, "n16" },
|
|
{ 2, "n32" },
|
|
{ 3, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
4, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals[] = {
|
|
{ 0, "n0" },
|
|
{ 1, "n4" },
|
|
{ 2, "n8" },
|
|
{ 3, "n16" },
|
|
{ 4, "n32" },
|
|
{ 5, "n64" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
6, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_supportedCSI_RS_Density_vals[] = {
|
|
{ 0, "one" },
|
|
{ 1, "three" },
|
|
{ 2, "oneAndThree" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_supportedCSI_RS_Density(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BeamManagementSSB_CSI_RS_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx },
|
|
{ &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx },
|
|
{ &hf_nr_rrc_supportedCSI_RS_Density, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_supportedCSI_RS_Density },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BeamManagementSSB_CSI_RS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BeamManagementSSB_CSI_RS, BeamManagementSSB_CSI_RS_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_2_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
2U, 8U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_15kHz_02_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n7" },
|
|
{ 2, "n14" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_15kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_30kHz_02_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n7" },
|
|
{ 2, "n14" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_30kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_60kHz_04_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n7" },
|
|
{ 2, "n14" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_60kHz_04(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_120kHz_02_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n7" },
|
|
{ 2, "n14" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_120kHz_02(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_240kHz_vals[] = {
|
|
{ 0, "n4" },
|
|
{ 1, "n7" },
|
|
{ 2, "n14" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_240kHz(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_maxNumberRxTxBeamSwitchDL_sequence[] = {
|
|
{ &hf_nr_rrc_scs_15kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_02 },
|
|
{ &hf_nr_rrc_scs_30kHz_02 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_02 },
|
|
{ &hf_nr_rrc_scs_60kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_04 },
|
|
{ &hf_nr_rrc_scs_120kHz_02, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_02 },
|
|
{ &hf_nr_rrc_scs_240kHz , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_240kHz },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL, T_maxNumberRxTxBeamSwitchDL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberNonGroupBeamReporting_vals[] = {
|
|
{ 0, "n1" },
|
|
{ 1, "n2" },
|
|
{ 2, "n4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberNonGroupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_groupBeamReporting_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_groupBeamReporting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_maxNumberSRS_ResourcePerSet_vals[] = {
|
|
{ 0, "n2" },
|
|
{ 1, "n4" },
|
|
{ 2, "n8" },
|
|
{ 3, "n16" },
|
|
{ 4, "n32" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
5, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_uplinkBeamManagement_sequence[] = {
|
|
{ &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_T_maxNumberSRS_ResourcePerSet },
|
|
{ &hf_nr_rrc_maxNumberSRS_ResourceSet, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_uplinkBeamManagement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_uplinkBeamManagement, T_uplinkBeamManagement_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_256(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 256U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPortsPTRS_DL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPortsPTRS_DL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_twoPortsPTRS_UL_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_twoPortsPTRS_UL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_15kHz_03_vals[] = {
|
|
{ 0, "sym2" },
|
|
{ 1, "sym4" },
|
|
{ 2, "sym8" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_15kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_30kHz_03_vals[] = {
|
|
{ 0, "sym4" },
|
|
{ 1, "sym8" },
|
|
{ 2, "sym14" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_30kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_60kHz_05_vals[] = {
|
|
{ 0, "sym8" },
|
|
{ 1, "sym14" },
|
|
{ 2, "sym28" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_60kHz_05(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_scs_120kHz_03_vals[] = {
|
|
{ 0, "sym14" },
|
|
{ 1, "sym28" },
|
|
{ 2, "sym56" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_scs_120kHz_03(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
3, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_beamReportTiming_sequence[] = {
|
|
{ &hf_nr_rrc_scs_15kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_15kHz_03 },
|
|
{ &hf_nr_rrc_scs_30kHz_03 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_30kHz_03 },
|
|
{ &hf_nr_rrc_scs_60kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_60kHz_05 },
|
|
{ &hf_nr_rrc_scs_120kHz_03, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_scs_120kHz_03 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_beamReportTiming(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_beamReportTiming, T_beamReportTiming_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PTRS_DensityRecommendationDL_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
{ &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
{ &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PTRS_DensityRecommendationDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PTRS_DensityRecommendationDL, PTRS_DensityRecommendationDL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ptrs_DensityRecommendationSetDL_sequence[] = {
|
|
{ &hf_nr_rrc_scs_15kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
|
|
{ &hf_nr_rrc_scs_30kHz_04 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
|
|
{ &hf_nr_rrc_scs_60kHz_06 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
|
|
{ &hf_nr_rrc_scs_120kHz_04, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationDL },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ptrs_DensityRecommendationSetDL, T_ptrs_DensityRecommendationSetDL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t PTRS_DensityRecommendationUL_sequence[] = {
|
|
{ &hf_nr_rrc_frequencyDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_frequencyDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_timeDensity1 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
{ &hf_nr_rrc_timeDensity2 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
{ &hf_nr_rrc_timeDensity3 , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_0_29 },
|
|
{ &hf_nr_rrc_sampleDensity1, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_sampleDensity2, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_sampleDensity3, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_sampleDensity4, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ &hf_nr_rrc_sampleDensity5, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_276 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_PTRS_DensityRecommendationUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_PTRS_DensityRecommendationUL, PTRS_DensityRecommendationUL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_ptrs_DensityRecommendationSetUL_sequence[] = {
|
|
{ &hf_nr_rrc_scs_15kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
|
|
{ &hf_nr_rrc_scs_30kHz_05 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
|
|
{ &hf_nr_rrc_scs_60kHz_07 , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
|
|
{ &hf_nr_rrc_scs_120kHz_05, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_PTRS_DensityRecommendationUL },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_ptrs_DensityRecommendationSetUL, T_ptrs_DensityRecommendationSetUL_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_INTEGER_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
1U, 128U, NULL, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t CSI_RS_ForTracking_sequence[] = {
|
|
{ &hf_nr_rrc_burstLength , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_2 },
|
|
{ &hf_nr_rrc_maxSimultaneousResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_8 },
|
|
{ &hf_nr_rrc_maxConfiguredResourceSetsPerCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_maxConfiguredResourceSetsAllCC, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_INTEGER_1_128 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_CSI_RS_ForTracking(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_CSI_RS_ForTracking, CSI_RS_ForTracking_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_aperiodicTRS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_aperiodicTRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MIMO_ParametersPerBand_sequence[] = {
|
|
{ &hf_nr_rrc_tci_StatePDSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_tci_StatePDSCH },
|
|
{ &hf_nr_rrc_additionalActiveTCI_StatePDCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_additionalActiveTCI_StatePDCCH },
|
|
{ &hf_nr_rrc_pusch_TransCoherence, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_TransCoherence },
|
|
{ &hf_nr_rrc_beamCorrespondence, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamCorrespondence },
|
|
{ &hf_nr_rrc_periodicBeamReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_periodicBeamReport },
|
|
{ &hf_nr_rrc_aperiodicBeamReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicBeamReport },
|
|
{ &hf_nr_rrc_sp_BeamReportPUCCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUCCH },
|
|
{ &hf_nr_rrc_sp_BeamReportPUSCH, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_sp_BeamReportPUSCH },
|
|
{ &hf_nr_rrc_beamManagementSSB_CSI_RS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BeamManagementSSB_CSI_RS },
|
|
{ &hf_nr_rrc_maxNumberRxBeam, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_2_8 },
|
|
{ &hf_nr_rrc_maxNumberRxTxBeamSwitchDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberRxTxBeamSwitchDL },
|
|
{ &hf_nr_rrc_maxNumberNonGroupBeamReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_maxNumberNonGroupBeamReporting },
|
|
{ &hf_nr_rrc_groupBeamReporting, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_groupBeamReporting },
|
|
{ &hf_nr_rrc_uplinkBeamManagement, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_uplinkBeamManagement },
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_maxNumberSSB_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_64 },
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_256 },
|
|
{ &hf_nr_rrc_twoPortsPTRS_DL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPortsPTRS_DL },
|
|
{ &hf_nr_rrc_twoPortsPTRS_UL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_twoPortsPTRS_UL },
|
|
{ &hf_nr_rrc_supportedSRS_Resources, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_Resources },
|
|
{ &hf_nr_rrc_srs_TxSwitch , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_SRS_TxSwitch },
|
|
{ &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_INTEGER_1_4 },
|
|
{ &hf_nr_rrc_beamReportTiming, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_beamReportTiming },
|
|
{ &hf_nr_rrc_ptrs_DensityRecommendationSetDL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetDL },
|
|
{ &hf_nr_rrc_ptrs_DensityRecommendationSetUL, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ptrs_DensityRecommendationSetUL },
|
|
{ &hf_nr_rrc_csi_RS_ForTracking, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_CSI_RS_ForTracking },
|
|
{ &hf_nr_rrc_aperiodicTRS , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_aperiodicTRS },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MIMO_ParametersPerBand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MIMO_ParametersPerBand, MIMO_ParametersPerBand_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_extendedCP_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_extendedCP(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_multipleTCI_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_multipleTCI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bwp_WithoutRestriction_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bwp_WithoutRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bwp_SameNumerology_vals[] = {
|
|
{ 0, "upto2" },
|
|
{ 1, "upto4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bwp_SameNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_bwp_DiffNumerology_vals[] = {
|
|
{ 0, "upto4" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_bwp_DiffNumerology(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_crossCarrierSchedulingDL_SameSCS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_crossCarrierSchedulingDL_SameSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_crossCarrierSchedulingUL_SameSCS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_crossCarrierSchedulingUL_SameSCS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pdsch_256QAM_FR2_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pdsch_256QAM_FR2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_pusch_256QAM_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_pusch_256QAM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ue_PowerClass_vals[] = {
|
|
{ 0, "pc2" },
|
|
{ 1, "pc3" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ue_PowerClass(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
2, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_rateMatchingLTE_CRS_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_rateMatchingLTE_CRS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t BandNR_sequence[] = {
|
|
{ &hf_nr_rrc_bandNR , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nr_rrc_FreqBandIndicatorNR },
|
|
{ &hf_nr_rrc_modifiedMPR_Behaviour, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_8 },
|
|
{ &hf_nr_rrc_mimo_ParametersPerBand, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_MIMO_ParametersPerBand },
|
|
{ &hf_nr_rrc_extendedCP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_extendedCP },
|
|
{ &hf_nr_rrc_multipleTCI , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_multipleTCI },
|
|
{ &hf_nr_rrc_bwp_WithoutRestriction, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_WithoutRestriction },
|
|
{ &hf_nr_rrc_bwp_SameNumerology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_SameNumerology },
|
|
{ &hf_nr_rrc_bwp_DiffNumerology, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_bwp_DiffNumerology },
|
|
{ &hf_nr_rrc_crossCarrierSchedulingDL_SameSCS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierSchedulingDL_SameSCS },
|
|
{ &hf_nr_rrc_crossCarrierSchedulingUL_SameSCS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_crossCarrierSchedulingUL_SameSCS },
|
|
{ &hf_nr_rrc_pdsch_256QAM_FR2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pdsch_256QAM_FR2 },
|
|
{ &hf_nr_rrc_pusch_256QAM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_pusch_256QAM },
|
|
{ &hf_nr_rrc_ue_PowerClass, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ue_PowerClass },
|
|
{ &hf_nr_rrc_rateMatchingLTE_CRS, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_rateMatchingLTE_CRS },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_BandNR, BandNR_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of[1] = {
|
|
{ &hf_nr_rrc_supportedBandListNR_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_BandNR },
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR, SEQUENCE_SIZE_1_maxBands_OF_BandNR_sequence_of,
|
|
1, maxBands, FALSE);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t RF_Parameters_sequence[] = {
|
|
{ &hf_nr_rrc_supportedBandListNR, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR },
|
|
{ &hf_nr_rrc_supportedBandCombinationList, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_BandCombinationList },
|
|
{ &hf_nr_rrc_appliedFreqBandListFilter, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FreqBandList },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_RF_Parameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_RF_Parameters, RF_Parameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_BIT_STRING_SIZE_22(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
22, 22, FALSE, NULL, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParametersCommon_sequence[] = {
|
|
{ &hf_nr_rrc_supportedGapPattern, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_BIT_STRING_SIZE_22 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParametersCommon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParametersCommon, MeasParametersCommon_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_intraAndInterF_MeasAndReport_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_intraAndInterF_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_eventA_MeasAndReport_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_eventA_MeasAndReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParametersXDD_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_intraAndInterF_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_intraAndInterF_MeasAndReport },
|
|
{ &hf_nr_rrc_eventA_MeasAndReport, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_eventA_MeasAndReport },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParametersXDD_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParametersXDD_Diff, MeasParametersXDD_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_ss_SINR_Meas_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_ss_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_SINR_Meas_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_SINR_Meas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const value_string nr_rrc_T_csi_RS_RLM_vals[] = {
|
|
{ 0, "supported" },
|
|
{ 0, NULL }
|
|
};
|
|
|
|
|
|
static int
|
|
dissect_nr_rrc_T_csi_RS_RLM(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
|
|
1, NULL, FALSE, 0, NULL);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParametersFRX_Diff_sequence[] = {
|
|
{ &hf_nr_rrc_ss_SINR_Meas , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_ss_SINR_Meas },
|
|
{ &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB },
|
|
{ &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB },
|
|
{ &hf_nr_rrc_csi_SINR_Meas, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_SINR_Meas },
|
|
{ &hf_nr_rrc_csi_RS_RLM , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nr_rrc_T_csi_RS_RLM },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParametersFRX_Diff(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParametersFRX_Diff, MeasParametersFRX_Diff_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t MeasParameters_sequence[] = {
|
|
{ &hf_nr_rrc_measParametersCommon, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersCommon },
|
|
{ &hf_nr_rrc_measParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersXDD_Diff },
|
|
{ &hf_nr_rrc_measParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersFRX_Diff },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_MeasParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_MeasParameters, MeasParameters_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UE_NR_CapabilityAddXDD_Mode_sequence[] = {
|
|
{ &hf_nr_rrc_phy_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersXDD_Diff },
|
|
{ &hf_nr_rrc_mac_ParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_ParametersXDD_Diff },
|
|
{ &hf_nr_rrc_measParametersXDD_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersXDD_Diff },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode, UE_NR_CapabilityAddXDD_Mode_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UE_NR_CapabilityAddFRX_Mode_sequence[] = {
|
|
{ &hf_nr_rrc_phy_ParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_Phy_ParametersFRX_Diff },
|
|
{ &hf_nr_rrc_measParametersFRX_Diff, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParametersFRX_Diff },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode, UE_NR_CapabilityAddFRX_Mode_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t T_nonCriticalExtension_10_sequence[] = {
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_T_nonCriticalExtension_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_T_nonCriticalExtension_10, T_nonCriticalExtension_10_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
|
|
static const per_sequence_t UE_NR_Capability_sequence[] = {
|
|
{ &hf_nr_rrc_accessStratumRelease, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_AccessStratumRelease },
|
|
{ &hf_nr_rrc_pdcp_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_PDCP_Parameters },
|
|
{ &hf_nr_rrc_rlc_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_RLC_Parameters },
|
|
{ &hf_nr_rrc_mac_Parameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MAC_Parameters },
|
|
{ &hf_nr_rrc_phy_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_Phy_Parameters },
|
|
{ &hf_nr_rrc_rf_Parameters, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_nr_rrc_RF_Parameters },
|
|
{ &hf_nr_rrc_measParameters, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_MeasParameters },
|
|
{ &hf_nr_rrc_fdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
|
|
{ &hf_nr_rrc_tdd_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddXDD_Mode },
|
|
{ &hf_nr_rrc_fr1_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
|
|
{ &hf_nr_rrc_fr2_Add_UE_NR_Capabilities, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_UE_NR_CapabilityAddFRX_Mode },
|
|
{ &hf_nr_rrc_featureSets , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_FeatureSets },
|
|
{ &hf_nr_rrc_featureSetCombinations, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination },
|
|
{ &hf_nr_rrc_lateNonCriticalExtension, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_OCTET_STRING },
|
|
{ &hf_nr_rrc_nonCriticalExtension_10, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_nr_rrc_T_nonCriticalExtension_10 },
|
|
{ NULL, 0, 0, NULL }
|
|
};
|
|
|
|
static int
|
|
dissect_nr_rrc_UE_NR_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
ett_nr_rrc_UE_NR_Capability, UE_NR_Capability_sequence);
|
|
|
|
return offset;
|
|
}
|
|
|
|
/*--- PDUs ---*/
|
|
|
|
int dissect_nr_rrc_HandoverCommand_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_HandoverCommand(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_HandoverCommand_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_HandoverPreparationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_HandoverPreparationInformation(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_CG_Config_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_CG_Config(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CG_Config_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_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;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_CG_ConfigInfo(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_ConfigRestrictInfoSCG_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_ConfigRestrictInfoSCG(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_MeasurementTimingConfiguration_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_MeasurementTimingConfiguration(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_BCCH_BCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_BCCH_BCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_BCCH_BCH_Message_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_DL_DCCH_Message_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_DL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_DL_DCCH_Message_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_UL_DCCH_Message(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_MIB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_MIB(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MIB_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_RRCReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_RRCReconfiguration(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_RRCReconfigurationComplete(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_SIB1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_SIB1(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_SIB1_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_CellGroupConfig_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_CellGroupConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CellGroupConfig_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_MeasConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
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;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_MeasResults(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MeasResults_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_P_Max_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
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;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_RadioBearerConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_FreqBandList_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_FreqBandList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_FreqBandList_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_UE_CapabilityRAT_ContainerList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_UE_CapabilityRAT_ContainerList(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_UE_MRDC_Capability_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_UE_MRDC_Capability(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
int dissect_nr_rrc_UE_NR_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_UE_NR_Capability(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_MeasResultList2NR_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
|
int offset = 0;
|
|
asn1_ctx_t asn1_ctx;
|
|
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
|
offset = dissect_nr_rrc_MeasResultList2NR(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_MeasResultList2NR_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
static int dissect_MeasResultSCG_Failure_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_MeasResultSCG_Failure(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_MeasResultSCG_Failure_PDU);
|
|
offset += 7; offset >>= 3;
|
|
return offset;
|
|
}
|
|
|
|
|
|
/*--- End of included file: packet-nr-rrc-fn.c ---*/
|
|
#line 72 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
|
|
void proto_register_nr_rrc(void) {
|
|
|
|
/* List of fields */
|
|
static hf_register_info hf[] = {
|
|
|
|
|
|
/*--- Included file: packet-nr-rrc-hfarr.c ---*/
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-hfarr.c"
|
|
{ &hf_nr_rrc_nr_rrc_HandoverCommand_PDU,
|
|
{ "HandoverCommand", "nr-rrc.HandoverCommand_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_HandoverPreparationInformation_PDU,
|
|
{ "HandoverPreparationInformation", "nr-rrc.HandoverPreparationInformation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_CG_Config_PDU,
|
|
{ "CG-Config", "nr-rrc.CG_Config_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_CG_ConfigInfo_PDU,
|
|
{ "CG-ConfigInfo", "nr-rrc.CG_ConfigInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_ConfigRestrictInfoSCG_PDU,
|
|
{ "ConfigRestrictInfoSCG", "nr-rrc.ConfigRestrictInfoSCG_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_MeasurementTimingConfiguration_PDU,
|
|
{ "MeasurementTimingConfiguration", "nr-rrc.MeasurementTimingConfiguration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_BCCH_BCH_Message_PDU,
|
|
{ "BCCH-BCH-Message", "nr-rrc.BCCH_BCH_Message_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_DL_DCCH_Message_PDU,
|
|
{ "DL-DCCH-Message", "nr-rrc.DL_DCCH_Message_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU,
|
|
{ "UL-DCCH-Message", "nr-rrc.UL_DCCH_Message_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_MIB_PDU,
|
|
{ "MIB", "nr-rrc.MIB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU,
|
|
{ "RRCReconfiguration", "nr-rrc.RRCReconfiguration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU,
|
|
{ "RRCReconfigurationComplete", "nr-rrc.RRCReconfigurationComplete_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_SIB1_PDU,
|
|
{ "SIB1", "nr-rrc.SIB1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_CellGroupConfig_PDU,
|
|
{ "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,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_FreqBandList_PDU,
|
|
{ "FreqBandList", "nr-rrc.FreqBandList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_UE_CapabilityRAT_ContainerList_PDU,
|
|
{ "UE-CapabilityRAT-ContainerList", "nr-rrc.UE_CapabilityRAT_ContainerList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU,
|
|
{ "UE-MRDC-Capability", "nr-rrc.UE_MRDC_Capability_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nr_rrc_UE_NR_Capability_PDU,
|
|
{ "UE-NR-Capability", "nr-rrc.UE_NR_Capability_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_MeasResultList2NR_PDU,
|
|
{ "MeasResultList2NR", "nr-rrc.MeasResultList2NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_MeasResultSCG_Failure_PDU,
|
|
{ "MeasResultSCG-Failure", "nr-rrc.MeasResultSCG_Failure_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensions,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_c1,
|
|
{ "c1", "nr-rrc.c1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_handoverCommand,
|
|
{ "handoverCommand", "nr-rrc.handoverCommand_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"HandoverCommand_IEs", HFILL }},
|
|
{ &hf_nr_rrc_spare3,
|
|
{ "spare3", "nr-rrc.spare3_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare2,
|
|
{ "spare2", "nr-rrc.spare2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare1,
|
|
{ "spare1", "nr-rrc.spare1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_handoverCommandMessage,
|
|
{ "handoverCommandMessage", "nr-rrc.handoverCommandMessage",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensions_01,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_01_vals), 0,
|
|
"T_criticalExtensions_01", HFILL }},
|
|
{ &hf_nr_rrc_c1_01,
|
|
{ "c1", "nr-rrc.c1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_01_vals), 0,
|
|
"T_c1_01", HFILL }},
|
|
{ &hf_nr_rrc_handoverPreparationInformation,
|
|
{ "handoverPreparationInformation", "nr-rrc.handoverPreparationInformation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"HandoverPreparationInformation_IEs", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture_01,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_criticalExtensionsFuture_01", HFILL }},
|
|
{ &hf_nr_rrc_ue_CapabilityRAT_List,
|
|
{ "ue-CapabilityRAT-List", "nr-rrc.ue_CapabilityRAT_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"UE_CapabilityRAT_ContainerList", HFILL }},
|
|
{ &hf_nr_rrc_sourceConfig,
|
|
{ "sourceConfig", "nr-rrc.sourceConfig",
|
|
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_01,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_01", 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_criticalExtensions_02,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_02_vals), 0,
|
|
"T_criticalExtensions_02", HFILL }},
|
|
{ &hf_nr_rrc_c1_02,
|
|
{ "c1", "nr-rrc.c1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_02_vals), 0,
|
|
"T_c1_02", HFILL }},
|
|
{ &hf_nr_rrc_cg_Config,
|
|
{ "cg-Config", "nr-rrc.cg_Config_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"CG_Config_IEs", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture_02,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_criticalExtensionsFuture_02", HFILL }},
|
|
{ &hf_nr_rrc_scg_CellGroupConfig,
|
|
{ "scg-CellGroupConfig", "nr-rrc.scg_CellGroupConfig",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scg_RB_Config,
|
|
{ "scg-RB-Config", "nr-rrc.scg_RB_Config",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_configRestrictModReq,
|
|
{ "configRestrictModReq", "nr-rrc.configRestrictModReq_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ConfigRestrictModReqSCG", HFILL }},
|
|
{ &hf_nr_rrc_drx_InfoSCG,
|
|
{ "drx-InfoSCG", "nr-rrc.drx_InfoSCG_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DRX_Info", HFILL }},
|
|
{ &hf_nr_rrc_candidateCellInfoListSN,
|
|
{ "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measConfigSN,
|
|
{ "measConfigSN", "nr-rrc.measConfigSN_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_selectedBandCombinationNR,
|
|
{ "selectedBandCombinationNR", "nr-rrc.selectedBandCombinationNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BandCombinationIndex", HFILL }},
|
|
{ &hf_nr_rrc_fr_InfoListSCG,
|
|
{ "fr-InfoListSCG", "nr-rrc.fr_InfoListSCG",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FR_InfoList", HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_02,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_02", HFILL }},
|
|
{ &hf_nr_rrc_measuredFrequenciesSN,
|
|
{ "measuredFrequenciesSN", "nr-rrc.measuredFrequenciesSN",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo", HFILL }},
|
|
{ &hf_nr_rrc_measuredFrequenciesSN_item,
|
|
{ "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measuredFrequency,
|
|
{ "measuredFrequency", "nr-rrc.measuredFrequency",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ARFCN_ValueNR", HFILL }},
|
|
{ &hf_nr_rrc_requestedBC_MRDC,
|
|
{ "requestedBC-MRDC", "nr-rrc.requestedBC_MRDC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BandCombinationIndex", HFILL }},
|
|
{ &hf_nr_rrc_requestedP_MaxFR1,
|
|
{ "requestedP-MaxFR1", "nr-rrc.requestedP_MaxFR1",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"P_Max", HFILL }},
|
|
{ &hf_nr_rrc_FR_InfoList_item,
|
|
{ "FR-Info", "nr-rrc.FR_Info_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_servCellIndex,
|
|
{ "servCellIndex", "nr-rrc.servCellIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_fr_Type,
|
|
{ "fr-Type", "nr-rrc.fr_Type",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr_Type_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensions_03,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_03_vals), 0,
|
|
"T_criticalExtensions_03", HFILL }},
|
|
{ &hf_nr_rrc_c1_03,
|
|
{ "c1", "nr-rrc.c1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_03_vals), 0,
|
|
"T_c1_03", HFILL }},
|
|
{ &hf_nr_rrc_cg_ConfigInfo,
|
|
{ "cg-ConfigInfo", "nr-rrc.cg_ConfigInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"CG_ConfigInfo_IEs", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture_03,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_criticalExtensionsFuture_03", HFILL }},
|
|
{ &hf_nr_rrc_ue_CapabilityInfo,
|
|
{ "ue-CapabilityInfo", "nr-rrc.ue_CapabilityInfo",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_candidateCellInfoListMN,
|
|
{ "candidateCellInfoListMN", "nr-rrc.candidateCellInfoListMN",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MeasResultList2NR", HFILL }},
|
|
{ &hf_nr_rrc_candidateCellInfoListSN_01,
|
|
{ "candidateCellInfoListSN", "nr-rrc.candidateCellInfoListSN",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"T_candidateCellInfoListSN_01", HFILL }},
|
|
{ &hf_nr_rrc_measResultCellListSFTD,
|
|
{ "measResultCellListSFTD", "nr-rrc.measResultCellListSFTD",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scgFailureInfo,
|
|
{ "scgFailureInfo", "nr-rrc.scgFailureInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_failureType,
|
|
{ "failureType", "nr-rrc.failureType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_failureType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measResultSCG,
|
|
{ "measResultSCG", "nr-rrc.measResultSCG",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_InfoMCG,
|
|
{ "drx-InfoMCG", "nr-rrc.drx_InfoMCG_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DRX_Info", HFILL }},
|
|
{ &hf_nr_rrc_measConfigMN,
|
|
{ "measConfigMN", "nr-rrc.measConfigMN_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sourceConfigSCG,
|
|
{ "sourceConfigSCG", "nr-rrc.sourceConfigSCG",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scg_RB_Config_01,
|
|
{ "scg-RB-Config", "nr-rrc.scg_RB_Config",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"T_scg_RB_Config_01", HFILL }},
|
|
{ &hf_nr_rrc_mcg_RB_Config,
|
|
{ "mcg-RB-Config", "nr-rrc.mcg_RB_Config",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_03,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_03", HFILL }},
|
|
{ &hf_nr_rrc_allowedBC_ListMRDC,
|
|
{ "allowedBC-ListMRDC", "nr-rrc.allowedBC_ListMRDC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BandCombinationIndexList", HFILL }},
|
|
{ &hf_nr_rrc_powerCoordination_FR1,
|
|
{ "powerCoordination-FR1", "nr-rrc.powerCoordination_FR1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p_maxNR,
|
|
{ "p-maxNR", "nr-rrc.p_maxNR",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"P_Max", HFILL }},
|
|
{ &hf_nr_rrc_p_maxEUTRA,
|
|
{ "p-maxEUTRA", "nr-rrc.p_maxEUTRA",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"P_Max", HFILL }},
|
|
{ &hf_nr_rrc_servCellIndexRangeSCG,
|
|
{ "servCellIndexRangeSCG", "nr-rrc.servCellIndexRangeSCG_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_lowBound,
|
|
{ "lowBound", "nr-rrc.lowBound",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_upBound,
|
|
{ "upBound", "nr-rrc.upBound",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_maxMeasFreqsSCG_NR,
|
|
{ "maxMeasFreqsSCG-NR", "nr-rrc.maxMeasFreqsSCG_NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxMeasFreqsMN", HFILL }},
|
|
{ &hf_nr_rrc_maxMeasIdentitiesSCG_NR,
|
|
{ "maxMeasIdentitiesSCG-NR", "nr-rrc.maxMeasIdentitiesSCG_NR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxMeasIdentitiesMN", HFILL }},
|
|
{ &hf_nr_rrc_BandCombinationIndexList_item,
|
|
{ "BandCombinationIndex", "nr-rrc.BandCombinationIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_LongCycleStartOffset,
|
|
{ "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ms10,
|
|
{ "ms10", "nr-rrc.ms10",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_9", HFILL }},
|
|
{ &hf_nr_rrc_ms20,
|
|
{ "ms20", "nr-rrc.ms20",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_19", HFILL }},
|
|
{ &hf_nr_rrc_ms32,
|
|
{ "ms32", "nr-rrc.ms32",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_ms40,
|
|
{ "ms40", "nr-rrc.ms40",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_39", HFILL }},
|
|
{ &hf_nr_rrc_ms60,
|
|
{ "ms60", "nr-rrc.ms60",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_59", HFILL }},
|
|
{ &hf_nr_rrc_ms64,
|
|
{ "ms64", "nr-rrc.ms64",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_63", HFILL }},
|
|
{ &hf_nr_rrc_ms70,
|
|
{ "ms70", "nr-rrc.ms70",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_69", HFILL }},
|
|
{ &hf_nr_rrc_ms80,
|
|
{ "ms80", "nr-rrc.ms80",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_79", HFILL }},
|
|
{ &hf_nr_rrc_ms128,
|
|
{ "ms128", "nr-rrc.ms128",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_127", HFILL }},
|
|
{ &hf_nr_rrc_ms160,
|
|
{ "ms160", "nr-rrc.ms160",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_159", HFILL }},
|
|
{ &hf_nr_rrc_ms256,
|
|
{ "ms256", "nr-rrc.ms256",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_255", HFILL }},
|
|
{ &hf_nr_rrc_ms320,
|
|
{ "ms320", "nr-rrc.ms320",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_319", HFILL }},
|
|
{ &hf_nr_rrc_ms512,
|
|
{ "ms512", "nr-rrc.ms512",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_511", HFILL }},
|
|
{ &hf_nr_rrc_ms640,
|
|
{ "ms640", "nr-rrc.ms640",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_639", HFILL }},
|
|
{ &hf_nr_rrc_ms1024,
|
|
{ "ms1024", "nr-rrc.ms1024",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1023", HFILL }},
|
|
{ &hf_nr_rrc_ms1280,
|
|
{ "ms1280", "nr-rrc.ms1280",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1279", HFILL }},
|
|
{ &hf_nr_rrc_ms2048,
|
|
{ "ms2048", "nr-rrc.ms2048",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_2047", HFILL }},
|
|
{ &hf_nr_rrc_ms2560,
|
|
{ "ms2560", "nr-rrc.ms2560",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_2559", HFILL }},
|
|
{ &hf_nr_rrc_ms5120,
|
|
{ "ms5120", "nr-rrc.ms5120",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_5119", HFILL }},
|
|
{ &hf_nr_rrc_ms10240,
|
|
{ "ms10240", "nr-rrc.ms10240",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_10239", HFILL }},
|
|
{ &hf_nr_rrc_shortDRX,
|
|
{ "shortDRX", "nr-rrc.shortDRX_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_ShortCycle,
|
|
{ "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_ShortCycleTimer,
|
|
{ "drx-ShortCycleTimer", "nr-rrc.drx_ShortCycleTimer",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16", HFILL }},
|
|
{ &hf_nr_rrc_measuredFrequenciesMN,
|
|
{ "measuredFrequenciesMN", "nr-rrc.measuredFrequenciesMN",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo", HFILL }},
|
|
{ &hf_nr_rrc_measuredFrequenciesMN_item,
|
|
{ "NR-FreqInfo", "nr-rrc.NR_FreqInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measGapConfig,
|
|
{ "measGapConfig", "nr-rrc.measGapConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measGapConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_release,
|
|
{ "release", "nr-rrc.release_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"GapConfig", HFILL }},
|
|
{ &hf_nr_rrc_gapPurpose,
|
|
{ "gapPurpose", "nr-rrc.gapPurpose",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapPurpose_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensions_04,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_04_vals), 0,
|
|
"T_criticalExtensions_04", HFILL }},
|
|
{ &hf_nr_rrc_c1_04,
|
|
{ "c1", "nr-rrc.c1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_04_vals), 0,
|
|
"T_c1_04", HFILL }},
|
|
{ &hf_nr_rrc_measTimingConf,
|
|
{ "measTimingConf", "nr-rrc.measTimingConf_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasurementTimingConfiguration_IEs", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture_04,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_criticalExtensionsFuture_04", HFILL }},
|
|
{ &hf_nr_rrc_measTiming,
|
|
{ "measTiming", "nr-rrc.measTiming",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MeasTimingList", HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_04,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_04", HFILL }},
|
|
{ &hf_nr_rrc_MeasTimingList_item,
|
|
{ "MeasTiming", "nr-rrc.MeasTiming_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyAndTiming,
|
|
{ "frequencyAndTiming", "nr-rrc.frequencyAndTiming_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_carrierFreq,
|
|
{ "carrierFreq", "nr-rrc.carrierFreq",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ARFCN_ValueNR", HFILL }},
|
|
{ &hf_nr_rrc_ssb_MeasurementTimingConfiguration,
|
|
{ "ssb-MeasurementTimingConfiguration", "nr-rrc.ssb_MeasurementTimingConfiguration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SSB_MTC", HFILL }},
|
|
{ &hf_nr_rrc_message,
|
|
{ "message", "nr-rrc.message",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_BCCH_BCH_MessageType_vals), 0,
|
|
"BCCH_BCH_MessageType", HFILL }},
|
|
{ &hf_nr_rrc_mib,
|
|
{ "mib", "nr-rrc.mib_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_messageClassExtension,
|
|
{ "messageClassExtension", "nr-rrc.messageClassExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_message_01,
|
|
{ "message", "nr-rrc.message",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_DL_DCCH_MessageType_vals), 0,
|
|
"DL_DCCH_MessageType", HFILL }},
|
|
{ &hf_nr_rrc_c1_05,
|
|
{ "c1", "nr-rrc.c1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_05_vals), 0,
|
|
"T_c1_05", HFILL }},
|
|
{ &hf_nr_rrc_rrcReconfiguration,
|
|
{ "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare15,
|
|
{ "spare15", "nr-rrc.spare15_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare14,
|
|
{ "spare14", "nr-rrc.spare14_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare13,
|
|
{ "spare13", "nr-rrc.spare13_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare12,
|
|
{ "spare12", "nr-rrc.spare12_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare11,
|
|
{ "spare11", "nr-rrc.spare11_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare10,
|
|
{ "spare10", "nr-rrc.spare10_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare9,
|
|
{ "spare9", "nr-rrc.spare9_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare8,
|
|
{ "spare8", "nr-rrc.spare8_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare7,
|
|
{ "spare7", "nr-rrc.spare7_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare6,
|
|
{ "spare6", "nr-rrc.spare6_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare5,
|
|
{ "spare5", "nr-rrc.spare5_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare4,
|
|
{ "spare4", "nr-rrc.spare4_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_messageClassExtension_01,
|
|
{ "messageClassExtension", "nr-rrc.messageClassExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_messageClassExtension_01", HFILL }},
|
|
{ &hf_nr_rrc_message_02,
|
|
{ "message", "nr-rrc.message",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_UL_DCCH_MessageType_vals), 0,
|
|
"UL_DCCH_MessageType", HFILL }},
|
|
{ &hf_nr_rrc_c1_06,
|
|
{ "c1", "nr-rrc.c1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_c1_06_vals), 0,
|
|
"T_c1_06", HFILL }},
|
|
{ &hf_nr_rrc_measurementReport,
|
|
{ "measurementReport", "nr-rrc.measurementReport_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rrcReconfigurationComplete,
|
|
{ "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_messageClassExtension_02,
|
|
{ "messageClassExtension", "nr-rrc.messageClassExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_messageClassExtension_02", HFILL }},
|
|
{ &hf_nr_rrc_systemFrameNumber,
|
|
{ "systemFrameNumber", "nr-rrc.systemFrameNumber",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_6", HFILL }},
|
|
{ &hf_nr_rrc_subCarrierSpacingCommon,
|
|
{ "subCarrierSpacingCommon", "nr-rrc.subCarrierSpacingCommon",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subCarrierSpacingCommon_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_SubcarrierOffset,
|
|
{ "ssb-SubcarrierOffset", "nr-rrc.ssb_SubcarrierOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_dmrs_TypeA_Position,
|
|
{ "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcch_ConfigSIB1,
|
|
{ "pdcch-ConfigSIB1", "nr-rrc.pdcch_ConfigSIB1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_255", HFILL }},
|
|
{ &hf_nr_rrc_cellBarred,
|
|
{ "cellBarred", "nr-rrc.cellBarred",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cellBarred_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_intraFreqReselection,
|
|
{ "intraFreqReselection", "nr-rrc.intraFreqReselection",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraFreqReselection_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare,
|
|
{ "spare", "nr-rrc.spare",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_1", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensions_05,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_05_vals), 0,
|
|
"T_criticalExtensions_05", HFILL }},
|
|
{ &hf_nr_rrc_measurementReport_01,
|
|
{ "measurementReport", "nr-rrc.measurementReport_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasurementReport_IEs", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture_05,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_criticalExtensionsFuture_05", HFILL }},
|
|
{ &hf_nr_rrc_measResults,
|
|
{ "measResults", "nr-rrc.measResults_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_lateNonCriticalExtension,
|
|
{ "lateNonCriticalExtension", "nr-rrc.lateNonCriticalExtension",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"OCTET_STRING", HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_05,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_05", HFILL }},
|
|
{ &hf_nr_rrc_rrc_TransactionIdentifier,
|
|
{ "rrc-TransactionIdentifier", "nr-rrc.rrc_TransactionIdentifier",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensions_06,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_06_vals), 0,
|
|
"T_criticalExtensions_06", HFILL }},
|
|
{ &hf_nr_rrc_rrcReconfiguration_01,
|
|
{ "rrcReconfiguration", "nr-rrc.rrcReconfiguration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RRCReconfiguration_IEs", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture_06,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_criticalExtensionsFuture_06", HFILL }},
|
|
{ &hf_nr_rrc_radioBearerConfig,
|
|
{ "radioBearerConfig", "nr-rrc.radioBearerConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_secondaryCellGroup,
|
|
{ "secondaryCellGroup", "nr-rrc.secondaryCellGroup",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measConfig,
|
|
{ "measConfig", "nr-rrc.measConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_06,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_06", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensions_07,
|
|
{ "criticalExtensions", "nr-rrc.criticalExtensions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_criticalExtensions_07_vals), 0,
|
|
"T_criticalExtensions_07", HFILL }},
|
|
{ &hf_nr_rrc_rrcReconfigurationComplete_01,
|
|
{ "rrcReconfigurationComplete", "nr-rrc.rrcReconfigurationComplete_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RRCReconfigurationComplete_IEs", HFILL }},
|
|
{ &hf_nr_rrc_criticalExtensionsFuture_07,
|
|
{ "criticalExtensionsFuture", "nr-rrc.criticalExtensionsFuture_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_criticalExtensionsFuture_07", HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_07,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_07", HFILL }},
|
|
{ &hf_nr_rrc_frequencyOffsetSSB,
|
|
{ "frequencyOffsetSSB", "nr-rrc.frequencyOffsetSSB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyOffsetSSB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_PositionsInBurst,
|
|
{ "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_inOneGroup,
|
|
{ "inOneGroup", "nr-rrc.inOneGroup",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_groupPresence,
|
|
{ "groupPresence", "nr-rrc.groupPresence",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_ssb_PeriodicityServingCell,
|
|
{ "ssb-PeriodicityServingCell", "nr-rrc.ssb_PeriodicityServingCell",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PeriodicityServingCell_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ss_PBCH_BlockPower,
|
|
{ "ss-PBCH-BlockPower", "nr-rrc.ss_PBCH_BlockPower",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M60_50", HFILL }},
|
|
{ &hf_nr_rrc_uplinkConfigCommon,
|
|
{ "uplinkConfigCommon", "nr-rrc.uplinkConfigCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supplementaryUplink,
|
|
{ "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tdd_UL_DL_Configuration,
|
|
{ "tdd-UL-DL-Configuration", "nr-rrc.tdd_UL_DL_Configuration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"TDD_UL_DL_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_tdd_UL_DL_configurationCommon2,
|
|
{ "tdd-UL-DL-configurationCommon2", "nr-rrc.tdd_UL_DL_configurationCommon2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"TDD_UL_DL_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_pdcch_ConfigCommon,
|
|
{ "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_ConfigCommon,
|
|
{ "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_08,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_08", HFILL }},
|
|
{ &hf_nr_rrc_locationAndBandwidth,
|
|
{ "locationAndBandwidth", "nr-rrc.locationAndBandwidth",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_37949", HFILL }},
|
|
{ &hf_nr_rrc_subcarrierSpacing,
|
|
{ "subcarrierSpacing", "nr-rrc.subcarrierSpacing",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cyclicPrefix,
|
|
{ "cyclicPrefix", "nr-rrc.cyclicPrefix",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cyclicPrefix_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bwp_Id,
|
|
{ "bwp-Id", "nr-rrc.bwp_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bwp_Common,
|
|
{ "bwp-Common", "nr-rrc.bwp_Common_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_UplinkCommon", HFILL }},
|
|
{ &hf_nr_rrc_bwp_Dedicated,
|
|
{ "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_UplinkDedicated", HFILL }},
|
|
{ &hf_nr_rrc_genericParameters,
|
|
{ "genericParameters", "nr-rrc.genericParameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP", HFILL }},
|
|
{ &hf_nr_rrc_rach_ConfigCommon,
|
|
{ "rach-ConfigCommon", "nr-rrc.rach_ConfigCommon",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigCommon_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_01,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RACH_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_pusch_ConfigCommon,
|
|
{ "pusch-ConfigCommon", "nr-rrc.pusch_ConfigCommon",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ConfigCommon_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_02,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUSCH_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_pucch_ConfigCommon_01,
|
|
{ "pucch-ConfigCommon", "nr-rrc.pucch_ConfigCommon",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_ConfigCommon_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_03,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_pucch_Config,
|
|
{ "pucch-Config", "nr-rrc.pucch_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_04,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_Config", HFILL }},
|
|
{ &hf_nr_rrc_pusch_Config,
|
|
{ "pusch-Config", "nr-rrc.pusch_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_05,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUSCH_Config", HFILL }},
|
|
{ &hf_nr_rrc_configuredGrantConfig,
|
|
{ "configuredGrantConfig", "nr-rrc.configuredGrantConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_06,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ConfiguredGrantConfig", HFILL }},
|
|
{ &hf_nr_rrc_srs_Config,
|
|
{ "srs-Config", "nr-rrc.srs_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_07,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SRS_Config", HFILL }},
|
|
{ &hf_nr_rrc_beamFailureRecoveryConfig,
|
|
{ "beamFailureRecoveryConfig", "nr-rrc.beamFailureRecoveryConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_08,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BeamFailureRecoveryConfig", HFILL }},
|
|
{ &hf_nr_rrc_bwp_Common_01,
|
|
{ "bwp-Common", "nr-rrc.bwp_Common_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_DownlinkCommon", HFILL }},
|
|
{ &hf_nr_rrc_bwp_Dedicated_01,
|
|
{ "bwp-Dedicated", "nr-rrc.bwp_Dedicated_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_DownlinkDedicated", HFILL }},
|
|
{ &hf_nr_rrc_pdcch_ConfigCommon_01,
|
|
{ "pdcch-ConfigCommon", "nr-rrc.pdcch_ConfigCommon",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ConfigCommon_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_09,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PDCCH_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_ConfigCommon,
|
|
{ "pdsch-ConfigCommon", "nr-rrc.pdsch_ConfigCommon",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ConfigCommon_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_10,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PDSCH_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_pdcch_Config,
|
|
{ "pdcch-Config", "nr-rrc.pdcch_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_11,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PDCCH_Config", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_Config,
|
|
{ "pdsch-Config", "nr-rrc.pdsch_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_12,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PDSCH_Config", HFILL }},
|
|
{ &hf_nr_rrc_sps_Config,
|
|
{ "sps-Config", "nr-rrc.sps_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sps_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_13,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SPS_Config", HFILL }},
|
|
{ &hf_nr_rrc_radioLinkMonitoringConfig,
|
|
{ "radioLinkMonitoringConfig", "nr-rrc.radioLinkMonitoringConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioLinkMonitoringConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_14,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RadioLinkMonitoringConfig", HFILL }},
|
|
{ &hf_nr_rrc_rootSequenceIndex_BFR,
|
|
{ "rootSequenceIndex-BFR", "nr-rrc.rootSequenceIndex_BFR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_137", HFILL }},
|
|
{ &hf_nr_rrc_rach_ConfigBFR,
|
|
{ "rach-ConfigBFR", "nr-rrc.rach_ConfigBFR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RACH_ConfigGeneric", HFILL }},
|
|
{ &hf_nr_rrc_rsrp_ThresholdSSB,
|
|
{ "rsrp-ThresholdSSB", "nr-rrc.rsrp_ThresholdSSB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_candidateBeamRSList,
|
|
{ "candidateBeamRSList", "nr-rrc.candidateBeamRSList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR", HFILL }},
|
|
{ &hf_nr_rrc_candidateBeamRSList_item,
|
|
{ "PRACH-ResourceDedicatedBFR", "nr-rrc.PRACH_ResourceDedicatedBFR",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_PRACH_ResourceDedicatedBFR_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_perRACH_Occasion,
|
|
{ "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ra_ssb_OccasionMaskIndex,
|
|
{ "ra-ssb-OccasionMaskIndex", "nr-rrc.ra_ssb_OccasionMaskIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_recoverySearchSpaceId,
|
|
{ "recoverySearchSpaceId", "nr-rrc.recoverySearchSpaceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SearchSpaceId", HFILL }},
|
|
{ &hf_nr_rrc_ra_Prioritization,
|
|
{ "ra-Prioritization", "nr-rrc.ra_Prioritization_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_beamFailureRecoveryTimer,
|
|
{ "beamFailureRecoveryTimer", "nr-rrc.beamFailureRecoveryTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureRecoveryTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb,
|
|
{ "ssb", "nr-rrc.ssb_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BFR_SSB_Resource", HFILL }},
|
|
{ &hf_nr_rrc_csi_RS,
|
|
{ "csi-RS", "nr-rrc.csi_RS_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BFR_CSIRS_Resource", HFILL }},
|
|
{ &hf_nr_rrc_ssb_01,
|
|
{ "ssb", "nr-rrc.ssb",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SSB_Index", HFILL }},
|
|
{ &hf_nr_rrc_ra_PreambleIndex,
|
|
{ "ra-PreambleIndex", "nr-rrc.ra_PreambleIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_63", HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_01,
|
|
{ "csi-RS", "nr-rrc.csi_RS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_ra_OccasionList,
|
|
{ "ra-OccasionList", "nr-rrc.ra_OccasionList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ra_OccasionList_item,
|
|
{ "ra-OccasionList item", "nr-rrc.ra_OccasionList_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxRA_Occasions_1", HFILL }},
|
|
{ &hf_nr_rrc_cellGroupId,
|
|
{ "cellGroupId", "nr-rrc.cellGroupId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rlc_BearerToAddModList,
|
|
{ "rlc-BearerToAddModList", "nr-rrc.rlc_BearerToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig", HFILL }},
|
|
{ &hf_nr_rrc_rlc_BearerToAddModList_item,
|
|
{ "RLC-BearerConfig", "nr-rrc.RLC_BearerConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rlc_BearerToReleaseList,
|
|
{ "rlc-BearerToReleaseList", "nr-rrc.rlc_BearerToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity", HFILL }},
|
|
{ &hf_nr_rrc_rlc_BearerToReleaseList_item,
|
|
{ "LogicalChannelIdentity", "nr-rrc.LogicalChannelIdentity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mac_CellGroupConfig,
|
|
{ "mac-CellGroupConfig", "nr-rrc.mac_CellGroupConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_physicalCellGroupConfig,
|
|
{ "physicalCellGroupConfig", "nr-rrc.physicalCellGroupConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spCellConfig,
|
|
{ "spCellConfig", "nr-rrc.spCellConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sCellToAddModList,
|
|
{ "sCellToAddModList", "nr-rrc.sCellToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig", HFILL }},
|
|
{ &hf_nr_rrc_sCellToAddModList_item,
|
|
{ "SCellConfig", "nr-rrc.SCellConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sCellToReleaseList,
|
|
{ "sCellToReleaseList", "nr-rrc.sCellToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_sCellToReleaseList_item,
|
|
{ "SCellIndex", "nr-rrc.SCellIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reconfigurationWithSync,
|
|
{ "reconfigurationWithSync", "nr-rrc.reconfigurationWithSync_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rlf_TimersAndConstants,
|
|
{ "rlf-TimersAndConstants", "nr-rrc.rlf_TimersAndConstants",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlf_TimersAndConstants_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_15,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RLF_TimersAndConstants", HFILL }},
|
|
{ &hf_nr_rrc_rlmInSyncOutOfSyncThreshold,
|
|
{ "rlmInSyncOutOfSyncThreshold", "nr-rrc.rlmInSyncOutOfSyncThreshold",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rlmInSyncOutOfSyncThreshold_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spCellConfigDedicated,
|
|
{ "spCellConfigDedicated", "nr-rrc.spCellConfigDedicated_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServingCellConfig", HFILL }},
|
|
{ &hf_nr_rrc_spCellConfigCommon,
|
|
{ "spCellConfigCommon", "nr-rrc.spCellConfigCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServingCellConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_newUE_Identity,
|
|
{ "newUE-Identity", "nr-rrc.newUE_Identity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_t304,
|
|
{ "t304", "nr-rrc.t304",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t304_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rach_ConfigDedicated,
|
|
{ "rach-ConfigDedicated", "nr-rrc.rach_ConfigDedicated",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rach_ConfigDedicated_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_uplink,
|
|
{ "uplink", "nr-rrc.uplink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RACH_ConfigDedicated", HFILL }},
|
|
{ &hf_nr_rrc_supplementaryUplink_01,
|
|
{ "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RACH_ConfigDedicated", HFILL }},
|
|
{ &hf_nr_rrc_sCellIndex,
|
|
{ "sCellIndex", "nr-rrc.sCellIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sCellConfigCommon,
|
|
{ "sCellConfigCommon", "nr-rrc.sCellConfigCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServingCellConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_sCellConfigDedicated,
|
|
{ "sCellConfigDedicated", "nr-rrc.sCellConfigDedicated_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ServingCellConfig", HFILL }},
|
|
{ &hf_nr_rrc_codebookType,
|
|
{ "codebookType", "nr-rrc.codebookType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_type1,
|
|
{ "type1", "nr-rrc.type1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subType,
|
|
{ "subType", "nr-rrc.subType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeI_SinglePanel,
|
|
{ "typeI-SinglePanel", "nr-rrc.typeI_SinglePanel_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrOfAntennaPorts,
|
|
{ "nrOfAntennaPorts", "nr-rrc.nrOfAntennaPorts",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrOfAntennaPorts_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_two,
|
|
{ "two", "nr-rrc.two_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoTX_CodebookSubsetRestriction,
|
|
{ "twoTX-CodebookSubsetRestriction", "nr-rrc.twoTX_CodebookSubsetRestriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_6", HFILL }},
|
|
{ &hf_nr_rrc_moreThanTwo,
|
|
{ "moreThanTwo", "nr-rrc.moreThanTwo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_n1_n2,
|
|
{ "n1-n2", "nr-rrc.n1_n2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_two_one_TypeI_SinglePanel_Restriction,
|
|
{ "two-one-TypeI-SinglePanel-Restriction", "nr-rrc.two_one_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_two_two_TypeI_SinglePanel_Restriction,
|
|
{ "two-two-TypeI-SinglePanel-Restriction", "nr-rrc.two_two_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_64", HFILL }},
|
|
{ &hf_nr_rrc_four_one_TypeI_SinglePanel_Restriction,
|
|
{ "four-one-TypeI-SinglePanel-Restriction", "nr-rrc.four_one_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_16", HFILL }},
|
|
{ &hf_nr_rrc_three_two_TypeI_SinglePanel_Restriction,
|
|
{ "three-two-TypeI-SinglePanel-Restriction", "nr-rrc.three_two_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_96", HFILL }},
|
|
{ &hf_nr_rrc_six_one_TypeI_SinglePanel_Restriction,
|
|
{ "six-one-TypeI-SinglePanel-Restriction", "nr-rrc.six_one_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_24", HFILL }},
|
|
{ &hf_nr_rrc_four_two_TypeI_SinglePanel_Restriction,
|
|
{ "four-two-TypeI-SinglePanel-Restriction", "nr-rrc.four_two_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_128", HFILL }},
|
|
{ &hf_nr_rrc_eight_one_TypeI_SinglePanel_Restriction,
|
|
{ "eight-one-TypeI-SinglePanel-Restriction", "nr-rrc.eight_one_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_32", HFILL }},
|
|
{ &hf_nr_rrc_four_three_TypeI_SinglePanel_Restriction,
|
|
{ "four-three-TypeI-SinglePanel-Restriction", "nr-rrc.four_three_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_192", HFILL }},
|
|
{ &hf_nr_rrc_six_two_TypeI_SinglePanel_Restriction,
|
|
{ "six-two-TypeI-SinglePanel-Restriction", "nr-rrc.six_two_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_192", HFILL }},
|
|
{ &hf_nr_rrc_twelve_one_TypeI_SinglePanel_Restriction,
|
|
{ "twelve-one-TypeI-SinglePanel-Restriction", "nr-rrc.twelve_one_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_48", HFILL }},
|
|
{ &hf_nr_rrc_four_four_TypeI_SinglePanel_Restriction,
|
|
{ "four-four-TypeI-SinglePanel-Restriction", "nr-rrc.four_four_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_256", HFILL }},
|
|
{ &hf_nr_rrc_eight_two_TypeI_SinglePanel_Restriction,
|
|
{ "eight-two-TypeI-SinglePanel-Restriction", "nr-rrc.eight_two_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_256", HFILL }},
|
|
{ &hf_nr_rrc_sixteen_one_TypeI_SinglePanel_Restriction,
|
|
{ "sixteen-one-TypeI-SinglePanel-Restriction", "nr-rrc.sixteen_one_TypeI_SinglePanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_64", HFILL }},
|
|
{ &hf_nr_rrc_typeI_SinglePanel_codebookSubsetRestriction_i2,
|
|
{ "typeI-SinglePanel-codebookSubsetRestriction-i2", "nr-rrc.typeI_SinglePanel_codebookSubsetRestriction_i2",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_16", HFILL }},
|
|
{ &hf_nr_rrc_typeI_SinglePanel_ri_Restriction,
|
|
{ "typeI-SinglePanel-ri-Restriction", "nr-rrc.typeI_SinglePanel_ri_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_typeI_MultiPanel,
|
|
{ "typeI-MultiPanel", "nr-rrc.typeI_MultiPanel_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ng_n1_n2,
|
|
{ "ng-n1-n2", "nr-rrc.ng_n1_n2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ng_n1_n2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_two_two_one_TypeI_MultiPanel_Restriction,
|
|
{ "two-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_one_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_two_four_one_TypeI_MultiPanel_Restriction,
|
|
{ "two-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_one_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_16", HFILL }},
|
|
{ &hf_nr_rrc_four_two_one_TypeI_MultiPanel_Restriction,
|
|
{ "four-two-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_one_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_two_two_two_TypeI_MultiPanel_Restriction,
|
|
{ "two-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_two_two_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_64", HFILL }},
|
|
{ &hf_nr_rrc_two_eight_one_TypeI_MultiPanel_Restriction,
|
|
{ "two-eight-one-TypeI-MultiPanel-Restriction", "nr-rrc.two_eight_one_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_32", HFILL }},
|
|
{ &hf_nr_rrc_four_four_one_TypeI_MultiPanel_Restriction,
|
|
{ "four-four-one-TypeI-MultiPanel-Restriction", "nr-rrc.four_four_one_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_16", HFILL }},
|
|
{ &hf_nr_rrc_two_four_two_TypeI_MultiPanel_Restriction,
|
|
{ "two-four-two-TypeI-MultiPanel-Restriction", "nr-rrc.two_four_two_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_128", HFILL }},
|
|
{ &hf_nr_rrc_four_two_two_TypeI_MultiPanel_Restriction,
|
|
{ "four-two-two-TypeI-MultiPanel-Restriction", "nr-rrc.four_two_two_TypeI_MultiPanel_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_64", HFILL }},
|
|
{ &hf_nr_rrc_ri_Restriction,
|
|
{ "ri-Restriction", "nr-rrc.ri_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_4", HFILL }},
|
|
{ &hf_nr_rrc_codebookMode,
|
|
{ "codebookMode", "nr-rrc.codebookMode",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_2", HFILL }},
|
|
{ &hf_nr_rrc_type2,
|
|
{ "type2", "nr-rrc.type2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subType_01,
|
|
{ "subType", "nr-rrc.subType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subType_01_vals), 0,
|
|
"T_subType_01", HFILL }},
|
|
{ &hf_nr_rrc_typeII,
|
|
{ "typeII", "nr-rrc.typeII_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_n1_n2_codebookSubsetRestriction,
|
|
{ "n1-n2-codebookSubsetRestriction", "nr-rrc.n1_n2_codebookSubsetRestriction",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n1_n2_codebookSubsetRestriction_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_two_one,
|
|
{ "two-one", "nr-rrc.two_one",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_16", HFILL }},
|
|
{ &hf_nr_rrc_two_two,
|
|
{ "two-two", "nr-rrc.two_two",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_43", HFILL }},
|
|
{ &hf_nr_rrc_four_one,
|
|
{ "four-one", "nr-rrc.four_one",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_32", HFILL }},
|
|
{ &hf_nr_rrc_three_two,
|
|
{ "three-two", "nr-rrc.three_two",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_59", HFILL }},
|
|
{ &hf_nr_rrc_six_one,
|
|
{ "six-one", "nr-rrc.six_one",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_48", HFILL }},
|
|
{ &hf_nr_rrc_four_two,
|
|
{ "four-two", "nr-rrc.four_two",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_75", HFILL }},
|
|
{ &hf_nr_rrc_eight_one,
|
|
{ "eight-one", "nr-rrc.eight_one",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_64", HFILL }},
|
|
{ &hf_nr_rrc_four_three,
|
|
{ "four-three", "nr-rrc.four_three",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_107", HFILL }},
|
|
{ &hf_nr_rrc_six_two,
|
|
{ "six-two", "nr-rrc.six_two",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_107", HFILL }},
|
|
{ &hf_nr_rrc_twelve_one,
|
|
{ "twelve-one", "nr-rrc.twelve_one",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_96", HFILL }},
|
|
{ &hf_nr_rrc_four_four,
|
|
{ "four-four", "nr-rrc.four_four",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_139", HFILL }},
|
|
{ &hf_nr_rrc_eight_two,
|
|
{ "eight-two", "nr-rrc.eight_two",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_139", HFILL }},
|
|
{ &hf_nr_rrc_sixteen_one,
|
|
{ "sixteen-one", "nr-rrc.sixteen_one",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_128", HFILL }},
|
|
{ &hf_nr_rrc_typeII_RI_Restriction,
|
|
{ "typeII-RI-Restriction", "nr-rrc.typeII_RI_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_typeII_PortSelection,
|
|
{ "typeII-PortSelection", "nr-rrc.typeII_PortSelection_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_portSelectionSamplingSize,
|
|
{ "portSelectionSamplingSize", "nr-rrc.portSelectionSamplingSize",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_portSelectionSamplingSize_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeII_PortSelectionRI_Restriction,
|
|
{ "typeII-PortSelectionRI-Restriction", "nr-rrc.typeII_PortSelectionRI_Restriction",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_phaseAlphabetSize,
|
|
{ "phaseAlphabetSize", "nr-rrc.phaseAlphabetSize",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseAlphabetSize_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subbandAmplitude,
|
|
{ "subbandAmplitude", "nr-rrc.subbandAmplitude",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_numberOfBeams,
|
|
{ "numberOfBeams", "nr-rrc.numberOfBeams",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_numberOfBeams_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyHopping,
|
|
{ "frequencyHopping", "nr-rrc.frequencyHopping",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cg_DMRS_Configuration,
|
|
{ "cg-DMRS-Configuration", "nr-rrc.cg_DMRS_Configuration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DMRS_UplinkConfig", HFILL }},
|
|
{ &hf_nr_rrc_mcs_Table,
|
|
{ "mcs-Table", "nr-rrc.mcs_Table",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mcs_TableTransformPrecoder,
|
|
{ "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_uci_OnPUSCH,
|
|
{ "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_16,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_CG_UCI_OnPUSCH_vals), 0,
|
|
"CG_UCI_OnPUSCH", HFILL }},
|
|
{ &hf_nr_rrc_resourceAllocation,
|
|
{ "resourceAllocation", "nr-rrc.resourceAllocation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rbg_Size,
|
|
{ "rbg-Size", "nr-rrc.rbg_Size",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_powerControlLoopToUse,
|
|
{ "powerControlLoopToUse", "nr-rrc.powerControlLoopToUse",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlLoopToUse_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p0_PUSCH_Alpha,
|
|
{ "p0-PUSCH-Alpha", "nr-rrc.p0_PUSCH_Alpha",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"P0_PUSCH_AlphaSetId", HFILL }},
|
|
{ &hf_nr_rrc_transformPrecoder,
|
|
{ "transformPrecoder", "nr-rrc.transformPrecoder",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofHARQ_Processes,
|
|
{ "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16", HFILL }},
|
|
{ &hf_nr_rrc_repK,
|
|
{ "repK", "nr-rrc.repK",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_repK_RV,
|
|
{ "repK-RV", "nr-rrc.repK_RV",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repK_RV_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_periodicity,
|
|
{ "periodicity", "nr-rrc.periodicity",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_configuredGrantTimer,
|
|
{ "configuredGrantTimer", "nr-rrc.configuredGrantTimer",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_64", HFILL }},
|
|
{ &hf_nr_rrc_rrc_ConfiguredUplinkGrant,
|
|
{ "rrc-ConfiguredUplinkGrant", "nr-rrc.rrc_ConfiguredUplinkGrant_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_timeDomainOffset,
|
|
{ "timeDomainOffset", "nr-rrc.timeDomainOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_5119", HFILL }},
|
|
{ &hf_nr_rrc_timeDomainAllocation,
|
|
{ "timeDomainAllocation", "nr-rrc.timeDomainAllocation",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_frequencyDomainAllocation,
|
|
{ "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_18", HFILL }},
|
|
{ &hf_nr_rrc_antennaPort,
|
|
{ "antennaPort", "nr-rrc.antennaPort",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_dmrs_SeqInitialization,
|
|
{ "dmrs-SeqInitialization", "nr-rrc.dmrs_SeqInitialization",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1", HFILL }},
|
|
{ &hf_nr_rrc_precodingAndNumberOfLayers,
|
|
{ "precodingAndNumberOfLayers", "nr-rrc.precodingAndNumberOfLayers",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_63", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceIndicator,
|
|
{ "srs-ResourceIndicator", "nr-rrc.srs_ResourceIndicator",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_mcsAndTBS,
|
|
{ "mcsAndTBS", "nr-rrc.mcsAndTBS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_frequencyHoppingOffset,
|
|
{ "frequencyHoppingOffset", "nr-rrc.frequencyHoppingOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceIndex,
|
|
{ "pathlossReferenceIndex", "nr-rrc.pathlossReferenceIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofPUSCH_PathlossReferenceRSs_1", HFILL }},
|
|
{ &hf_nr_rrc_dynamic,
|
|
{ "dynamic", "nr-rrc.dynamic",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_4_OF_BetaOffsets", HFILL }},
|
|
{ &hf_nr_rrc_dynamic_item,
|
|
{ "BetaOffsets", "nr-rrc.BetaOffsets_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_semiStatic,
|
|
{ "semiStatic", "nr-rrc.semiStatic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BetaOffsets", HFILL }},
|
|
{ &hf_nr_rrc_controlResourceSetId,
|
|
{ "controlResourceSetId", "nr-rrc.controlResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyDomainResources,
|
|
{ "frequencyDomainResources", "nr-rrc.frequencyDomainResources",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_45", HFILL }},
|
|
{ &hf_nr_rrc_duration,
|
|
{ "duration", "nr-rrc.duration",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxCoReSetDuration", HFILL }},
|
|
{ &hf_nr_rrc_cce_REG_MappingType,
|
|
{ "cce-REG-MappingType", "nr-rrc.cce_REG_MappingType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cce_REG_MappingType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_interleaved,
|
|
{ "interleaved", "nr-rrc.interleaved_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reg_BundleSize,
|
|
{ "reg-BundleSize", "nr-rrc.reg_BundleSize",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reg_BundleSize_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_interleaverSize,
|
|
{ "interleaverSize", "nr-rrc.interleaverSize",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleaverSize_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_shiftIndex,
|
|
{ "shiftIndex", "nr-rrc.shiftIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
|
|
{ &hf_nr_rrc_nonInterleaved,
|
|
{ "nonInterleaved", "nr-rrc.nonInterleaved_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_precoderGranularity,
|
|
{ "precoderGranularity", "nr-rrc.precoderGranularity",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularity_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesPDCCH_ToAddList,
|
|
{ "tci-StatesPDCCH-ToAddList", "nr-rrc.tci_StatesPDCCH_ToAddList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId", HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesPDCCH_ToAddList_item,
|
|
{ "TCI-StateId", "nr-rrc.TCI_StateId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList,
|
|
{ "tci-StatesPDCCH-ToReleaseList", "nr-rrc.tci_StatesPDCCH_ToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId", HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesPDCCH_ToReleaseList_item,
|
|
{ "TCI-StateId", "nr-rrc.TCI_StateId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tci_PresentInDCI,
|
|
{ "tci-PresentInDCI", "nr-rrc.tci_PresentInDCI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tci_PresentInDCI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcch_DMRS_ScramblingID,
|
|
{ "pdcch-DMRS-ScramblingID", "nr-rrc.pdcch_DMRS_ScramblingID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_65535", HFILL }},
|
|
{ &hf_nr_rrc_schedulingCellInfo,
|
|
{ "schedulingCellInfo", "nr-rrc.schedulingCellInfo",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_schedulingCellInfo_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_own,
|
|
{ "own", "nr-rrc.own_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cif_Presence,
|
|
{ "cif-Presence", "nr-rrc.cif_Presence",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_other,
|
|
{ "other", "nr-rrc.other_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_schedulingCellId,
|
|
{ "schedulingCellId", "nr-rrc.schedulingCellId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_cif_InSchedulingCell,
|
|
{ "cif-InSchedulingCell", "nr-rrc.cif_InSchedulingCell",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_7", HFILL }},
|
|
{ &hf_nr_rrc_CSI_AperiodicTriggerStateList_item,
|
|
{ "CSI-AperiodicTriggerState", "nr-rrc.CSI_AperiodicTriggerState_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_associatedReportConfigInfoList,
|
|
{ "associatedReportConfigInfoList", "nr-rrc.associatedReportConfigInfoList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo", HFILL }},
|
|
{ &hf_nr_rrc_associatedReportConfigInfoList_item,
|
|
{ "CSI-AssociatedReportConfigInfo", "nr-rrc.CSI_AssociatedReportConfigInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportConfigId,
|
|
{ "reportConfigId", "nr-rrc.reportConfigId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_ReportConfigId", HFILL }},
|
|
{ &hf_nr_rrc_resourcesForChannel,
|
|
{ "resourcesForChannel", "nr-rrc.resourcesForChannel",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourcesForChannel_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS,
|
|
{ "nzp-CSI-RS", "nr-rrc.nzp_CSI_RS_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceSet,
|
|
{ "resourceSet", "nr-rrc.resourceSet",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
|
|
{ &hf_nr_rrc_qcl_info,
|
|
{ "qcl-info", "nr-rrc.qcl_info",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId", HFILL }},
|
|
{ &hf_nr_rrc_qcl_info_item,
|
|
{ "TCI-StateId", "nr-rrc.TCI_StateId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSet,
|
|
{ "csi-SSB-ResourceSet", "nr-rrc.csi_SSB_ResourceSet",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofCSI_SSB_ResourceSetsPerConfig", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourcesforInteference,
|
|
{ "csi-IM-ResourcesforInteference", "nr-rrc.csi_IM_ResourcesforInteference",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofCSI_IM_ResourceSetsPerConfig", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourcesforInterference,
|
|
{ "nzp-CSI-RS-ResourcesforInterference", "nr-rrc.nzp_CSI_RS_ResourcesforInterference",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig", HFILL }},
|
|
{ &hf_nr_rrc_startingRB,
|
|
{ "startingRB", "nr-rrc.startingRB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
|
|
{ &hf_nr_rrc_nrofRBs,
|
|
{ "nrofRBs", "nr-rrc.nrofRBs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_24_maxNrofPhysicalResourceBlocksPlus1", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceId,
|
|
{ "csi-IM-ResourceId", "nr-rrc.csi_IM_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceElementPattern,
|
|
{ "csi-IM-ResourceElementPattern", "nr-rrc.csi_IM_ResourceElementPattern",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_IM_ResourceElementPattern_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pattern0,
|
|
{ "pattern0", "nr-rrc.pattern0_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subcarrierLocation_p0,
|
|
{ "subcarrierLocation-p0", "nr-rrc.subcarrierLocation_p0",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p0_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_symbolLocation_p0,
|
|
{ "symbolLocation-p0", "nr-rrc.symbolLocation_p0",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_12", HFILL }},
|
|
{ &hf_nr_rrc_pattern1,
|
|
{ "pattern1", "nr-rrc.pattern1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subcarrierLocation_p1,
|
|
{ "subcarrierLocation-p1", "nr-rrc.subcarrierLocation_p1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subcarrierLocation_p1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_symbolLocation_p1,
|
|
{ "symbolLocation-p1", "nr-rrc.symbolLocation_p1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_13", HFILL }},
|
|
{ &hf_nr_rrc_freqBand,
|
|
{ "freqBand", "nr-rrc.freqBand_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"CSI_FrequencyOccupation", HFILL }},
|
|
{ &hf_nr_rrc_periodicityAndOffset,
|
|
{ "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ResourcePeriodicityAndOffset_vals), 0,
|
|
"CSI_ResourcePeriodicityAndOffset", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetId,
|
|
{ "csi-IM-ResourceSetId", "nr-rrc.csi_IM_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_Resources,
|
|
{ "csi-IM-Resources", "nr-rrc.csi_IM_Resources",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_Resources_item,
|
|
{ "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList,
|
|
{ "nzp-CSI-RS-ResourceToAddModList", "nr-rrc.nzp_CSI_RS_ResourceToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToAddModList_item,
|
|
{ "NZP-CSI-RS-Resource", "nr-rrc.NZP_CSI_RS_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList,
|
|
{ "nzp-CSI-RS-ResourceToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceToReleaseList_item,
|
|
{ "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList,
|
|
{ "nzp-CSI-RS-ResourceSetToAddModList", "nr-rrc.nzp_CSI_RS_ResourceSetToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToAddModList_item,
|
|
{ "NZP-CSI-RS-ResourceSet", "nr-rrc.NZP_CSI_RS_ResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList,
|
|
{ "nzp-CSI-RS-ResourceSetToReleaseList", "nr-rrc.nzp_CSI_RS_ResourceSetToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetToReleaseList_item,
|
|
{ "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceToAddModList,
|
|
{ "csi-IM-ResourceToAddModList", "nr-rrc.csi_IM_ResourceToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceToAddModList_item,
|
|
{ "CSI-IM-Resource", "nr-rrc.CSI_IM_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceToReleaseList,
|
|
{ "csi-IM-ResourceToReleaseList", "nr-rrc.csi_IM_ResourceToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceToReleaseList_item,
|
|
{ "CSI-IM-ResourceId", "nr-rrc.CSI_IM_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToAddModList,
|
|
{ "csi-IM-ResourceSetToAddModList", "nr-rrc.csi_IM_ResourceSetToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToAddModList_item,
|
|
{ "CSI-IM-ResourceSet", "nr-rrc.CSI_IM_ResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToReleaseList,
|
|
{ "csi-IM-ResourceSetToReleaseList", "nr-rrc.csi_IM_ResourceSetToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetToReleaseList_item,
|
|
{ "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddModList,
|
|
{ "csi-SSB-ResourceSetToAddModList", "nr-rrc.csi_SSB_ResourceSetToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddModList_item,
|
|
{ "CSI-SSB-ResourceSet", "nr-rrc.CSI_SSB_ResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList,
|
|
{ "csi-SSB-ResourceSetToAddReleaseList", "nr-rrc.csi_SSB_ResourceSetToAddReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetToAddReleaseList_item,
|
|
{ "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ResourceConfigToAddModList,
|
|
{ "csi-ResourceConfigToAddModList", "nr-rrc.csi_ResourceConfigToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig", HFILL }},
|
|
{ &hf_nr_rrc_csi_ResourceConfigToAddModList_item,
|
|
{ "CSI-ResourceConfig", "nr-rrc.CSI_ResourceConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ResourceConfigToReleaseList,
|
|
{ "csi-ResourceConfigToReleaseList", "nr-rrc.csi_ResourceConfigToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId", HFILL }},
|
|
{ &hf_nr_rrc_csi_ResourceConfigToReleaseList_item,
|
|
{ "CSI-ResourceConfigId", "nr-rrc.CSI_ResourceConfigId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportConfigToAddModList,
|
|
{ "csi-ReportConfigToAddModList", "nr-rrc.csi_ReportConfigToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig", HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportConfigToAddModList_item,
|
|
{ "CSI-ReportConfig", "nr-rrc.CSI_ReportConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportConfigToReleaseList,
|
|
{ "csi-ReportConfigToReleaseList", "nr-rrc.csi_ReportConfigToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId", HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportConfigToReleaseList_item,
|
|
{ "CSI-ReportConfigId", "nr-rrc.CSI_ReportConfigId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportTriggerSize,
|
|
{ "reportTriggerSize", "nr-rrc.reportTriggerSize",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_6", HFILL }},
|
|
{ &hf_nr_rrc_aperiodicTriggerStateList,
|
|
{ "aperiodicTriggerStateList", "nr-rrc.aperiodicTriggerStateList",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTriggerStateList_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_17,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_AperiodicTriggerStateList", HFILL }},
|
|
{ &hf_nr_rrc_semiPersistentOnPUSCH_TriggerStateList,
|
|
{ "semiPersistentOnPUSCH-TriggerStateList", "nr-rrc.semiPersistentOnPUSCH_TriggerStateList",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_18,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_SemiPersistentOnPUSCH_TriggerStateList", HFILL }},
|
|
{ &hf_nr_rrc_carrier,
|
|
{ "carrier", "nr-rrc.carrier",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_resourcesForChannelMeasurement,
|
|
{ "resourcesForChannelMeasurement", "nr-rrc.resourcesForChannelMeasurement",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_ResourceConfigId", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourcesForInterference,
|
|
{ "csi-IM-ResourcesForInterference", "nr-rrc.csi_IM_ResourcesForInterference",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_ResourceConfigId", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourcesForInterference,
|
|
{ "nzp-CSI-RS-ResourcesForInterference", "nr-rrc.nzp_CSI_RS_ResourcesForInterference",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_ResourceConfigId", HFILL }},
|
|
{ &hf_nr_rrc_reportConfigType,
|
|
{ "reportConfigType", "nr-rrc.reportConfigType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportConfigType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_periodic,
|
|
{ "periodic", "nr-rrc.periodic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportSlotConfig,
|
|
{ "reportSlotConfig", "nr-rrc.reportSlotConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_CSI_ReportPeriodicityAndOffset_vals), 0,
|
|
"CSI_ReportPeriodicityAndOffset", HFILL }},
|
|
{ &hf_nr_rrc_pucch_CSI_ResourceList,
|
|
{ "pucch-CSI-ResourceList", "nr-rrc.pucch_CSI_ResourceList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource", HFILL }},
|
|
{ &hf_nr_rrc_pucch_CSI_ResourceList_item,
|
|
{ "PUCCH-CSI-Resource", "nr-rrc.PUCCH_CSI_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_semiPersistentOnPUCCH,
|
|
{ "semiPersistentOnPUCCH", "nr-rrc.semiPersistentOnPUCCH_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_semiPersistentOnPUSCH,
|
|
{ "semiPersistentOnPUSCH", "nr-rrc.semiPersistentOnPUSCH_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportSlotConfig_01,
|
|
{ "reportSlotConfig", "nr-rrc.reportSlotConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportSlotConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportSlotOffsetList,
|
|
{ "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportSlotOffsetList_item,
|
|
{ "reportSlotOffsetList item", "nr-rrc.reportSlotOffsetList_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_32", HFILL }},
|
|
{ &hf_nr_rrc_p0alpha,
|
|
{ "p0alpha", "nr-rrc.p0alpha",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"P0_PUSCH_AlphaSetId", HFILL }},
|
|
{ &hf_nr_rrc_aperiodic,
|
|
{ "aperiodic", "nr-rrc.aperiodic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportSlotOffsetList_01,
|
|
{ "reportSlotOffsetList", "nr-rrc.reportSlotOffsetList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"T_reportSlotOffsetList_01", HFILL }},
|
|
{ &hf_nr_rrc_reportQuantity,
|
|
{ "reportQuantity", "nr-rrc.reportQuantity",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportQuantity_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_none,
|
|
{ "none", "nr-rrc.none_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cri_RI_PMI_CQI,
|
|
{ "cri-RI-PMI-CQI", "nr-rrc.cri_RI_PMI_CQI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cri_RI_i1,
|
|
{ "cri-RI-i1", "nr-rrc.cri_RI_i1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cri_RI_i1_CQI,
|
|
{ "cri-RI-i1-CQI", "nr-rrc.cri_RI_i1_CQI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_BundleSizeForCSI,
|
|
{ "pdsch-BundleSizeForCSI", "nr-rrc.pdsch_BundleSizeForCSI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_BundleSizeForCSI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cri_RI_CQI,
|
|
{ "cri-RI-CQI", "nr-rrc.cri_RI_CQI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cri_RSRP,
|
|
{ "cri-RSRP", "nr-rrc.cri_RSRP_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_Index_RSRP,
|
|
{ "ssb-Index-RSRP", "nr-rrc.ssb_Index_RSRP_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cri_RI_LI_PMI_CQI,
|
|
{ "cri-RI-LI-PMI-CQI", "nr-rrc.cri_RI_LI_PMI_CQI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportFreqConfiguration,
|
|
{ "reportFreqConfiguration", "nr-rrc.reportFreqConfiguration_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cqi_FormatIndicator,
|
|
{ "cqi-FormatIndicator", "nr-rrc.cqi_FormatIndicator",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_FormatIndicator_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pmi_FormatIndicator,
|
|
{ "pmi-FormatIndicator", "nr-rrc.pmi_FormatIndicator",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pmi_FormatIndicator_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportingBand,
|
|
{ "csi-ReportingBand", "nr-rrc.csi_ReportingBand",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportingBand_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subbands3,
|
|
{ "subbands3", "nr-rrc.subbands3",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_3", HFILL }},
|
|
{ &hf_nr_rrc_subbands4,
|
|
{ "subbands4", "nr-rrc.subbands4",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_4", HFILL }},
|
|
{ &hf_nr_rrc_subbands5,
|
|
{ "subbands5", "nr-rrc.subbands5",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_5", HFILL }},
|
|
{ &hf_nr_rrc_subbands6,
|
|
{ "subbands6", "nr-rrc.subbands6",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_6", HFILL }},
|
|
{ &hf_nr_rrc_subbands7,
|
|
{ "subbands7", "nr-rrc.subbands7",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_7", HFILL }},
|
|
{ &hf_nr_rrc_subbands8,
|
|
{ "subbands8", "nr-rrc.subbands8",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_subbands9,
|
|
{ "subbands9", "nr-rrc.subbands9",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_9", HFILL }},
|
|
{ &hf_nr_rrc_subbands10,
|
|
{ "subbands10", "nr-rrc.subbands10",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_10", HFILL }},
|
|
{ &hf_nr_rrc_subbands11,
|
|
{ "subbands11", "nr-rrc.subbands11",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_11", HFILL }},
|
|
{ &hf_nr_rrc_subbands12,
|
|
{ "subbands12", "nr-rrc.subbands12",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_12", HFILL }},
|
|
{ &hf_nr_rrc_subbands13,
|
|
{ "subbands13", "nr-rrc.subbands13",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_13", HFILL }},
|
|
{ &hf_nr_rrc_subbands14,
|
|
{ "subbands14", "nr-rrc.subbands14",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_14", HFILL }},
|
|
{ &hf_nr_rrc_subbands15,
|
|
{ "subbands15", "nr-rrc.subbands15",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_15", HFILL }},
|
|
{ &hf_nr_rrc_subbands16,
|
|
{ "subbands16", "nr-rrc.subbands16",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_16", HFILL }},
|
|
{ &hf_nr_rrc_subbands17,
|
|
{ "subbands17", "nr-rrc.subbands17",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_17", HFILL }},
|
|
{ &hf_nr_rrc_subbands18,
|
|
{ "subbands18", "nr-rrc.subbands18",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_18", HFILL }},
|
|
{ &hf_nr_rrc_timeRestrictionForChannelMeasurements,
|
|
{ "timeRestrictionForChannelMeasurements", "nr-rrc.timeRestrictionForChannelMeasurements",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForChannelMeasurements_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_timeRestrictionForInterferenceMeasurements,
|
|
{ "timeRestrictionForInterferenceMeasurements", "nr-rrc.timeRestrictionForInterferenceMeasurements",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeRestrictionForInterferenceMeasurements_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_codebookConfig,
|
|
{ "codebookConfig", "nr-rrc.codebookConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofCQIsPerReport,
|
|
{ "nrofCQIsPerReport", "nr-rrc.nrofCQIsPerReport",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofCQIsPerReport_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_groupBasedBeamReporting,
|
|
{ "groupBasedBeamReporting", "nr-rrc.groupBasedBeamReporting",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBasedBeamReporting_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_enabled,
|
|
{ "enabled", "nr-rrc.enabled_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_disabled,
|
|
{ "disabled", "nr-rrc.disabled_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofReportedRS,
|
|
{ "nrofReportedRS", "nr-rrc.nrofReportedRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofReportedRS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cqi_Table,
|
|
{ "cqi-Table", "nr-rrc.cqi_Table",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cqi_Table_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subbandSize,
|
|
{ "subbandSize", "nr-rrc.subbandSize",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subbandSize_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_non_PMI_PortIndication,
|
|
{ "non-PMI-PortIndication", "nr-rrc.non_PMI_PortIndication",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks", HFILL }},
|
|
{ &hf_nr_rrc_non_PMI_PortIndication_item,
|
|
{ "PortIndexFor8Ranks", "nr-rrc.PortIndexFor8Ranks",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_PortIndexFor8Ranks_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slots4,
|
|
{ "slots4", "nr-rrc.slots4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_slots5,
|
|
{ "slots5", "nr-rrc.slots5",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_4", HFILL }},
|
|
{ &hf_nr_rrc_slots8,
|
|
{ "slots8", "nr-rrc.slots8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_7", HFILL }},
|
|
{ &hf_nr_rrc_slots10,
|
|
{ "slots10", "nr-rrc.slots10",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_9", HFILL }},
|
|
{ &hf_nr_rrc_slots16,
|
|
{ "slots16", "nr-rrc.slots16",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_slots20,
|
|
{ "slots20", "nr-rrc.slots20",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_19", HFILL }},
|
|
{ &hf_nr_rrc_slots40,
|
|
{ "slots40", "nr-rrc.slots40",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_39", HFILL }},
|
|
{ &hf_nr_rrc_slots80,
|
|
{ "slots80", "nr-rrc.slots80",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_79", HFILL }},
|
|
{ &hf_nr_rrc_slots160,
|
|
{ "slots160", "nr-rrc.slots160",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_159", HFILL }},
|
|
{ &hf_nr_rrc_slots320,
|
|
{ "slots320", "nr-rrc.slots320",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_319", HFILL }},
|
|
{ &hf_nr_rrc_uplinkBandwidthPartId,
|
|
{ "uplinkBandwidthPartId", "nr-rrc.uplinkBandwidthPartId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BWP_Id", HFILL }},
|
|
{ &hf_nr_rrc_pucch_Resource,
|
|
{ "pucch-Resource", "nr-rrc.pucch_Resource",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PUCCH_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_portIndex8,
|
|
{ "portIndex8", "nr-rrc.portIndex8_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank1_8,
|
|
{ "rank1-8", "nr-rrc.rank1_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank2_8,
|
|
{ "rank2-8", "nr-rrc.rank2_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_2_OF_PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank2_8_item,
|
|
{ "PortIndex8", "nr-rrc.PortIndex8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank3_8,
|
|
{ "rank3-8", "nr-rrc.rank3_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_3_OF_PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank3_8_item,
|
|
{ "PortIndex8", "nr-rrc.PortIndex8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank4_8,
|
|
{ "rank4-8", "nr-rrc.rank4_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_4_OF_PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank4_8_item,
|
|
{ "PortIndex8", "nr-rrc.PortIndex8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank5_8,
|
|
{ "rank5-8", "nr-rrc.rank5_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_5_OF_PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank5_8_item,
|
|
{ "PortIndex8", "nr-rrc.PortIndex8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank6_8,
|
|
{ "rank6-8", "nr-rrc.rank6_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_6_OF_PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank6_8_item,
|
|
{ "PortIndex8", "nr-rrc.PortIndex8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank7_8,
|
|
{ "rank7-8", "nr-rrc.rank7_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_7_OF_PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank7_8_item,
|
|
{ "PortIndex8", "nr-rrc.PortIndex8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank8_8,
|
|
{ "rank8-8", "nr-rrc.rank8_8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_8_OF_PortIndex8", HFILL }},
|
|
{ &hf_nr_rrc_rank8_8_item,
|
|
{ "PortIndex8", "nr-rrc.PortIndex8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_portIndex4,
|
|
{ "portIndex4", "nr-rrc.portIndex4_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank1_4,
|
|
{ "rank1-4", "nr-rrc.rank1_4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PortIndex4", HFILL }},
|
|
{ &hf_nr_rrc_rank2_4,
|
|
{ "rank2-4", "nr-rrc.rank2_4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_2_OF_PortIndex4", HFILL }},
|
|
{ &hf_nr_rrc_rank2_4_item,
|
|
{ "PortIndex4", "nr-rrc.PortIndex4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank3_4,
|
|
{ "rank3-4", "nr-rrc.rank3_4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_3_OF_PortIndex4", HFILL }},
|
|
{ &hf_nr_rrc_rank3_4_item,
|
|
{ "PortIndex4", "nr-rrc.PortIndex4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank4_4,
|
|
{ "rank4-4", "nr-rrc.rank4_4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_4_OF_PortIndex4", HFILL }},
|
|
{ &hf_nr_rrc_rank4_4_item,
|
|
{ "PortIndex4", "nr-rrc.PortIndex4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_portIndex2,
|
|
{ "portIndex2", "nr-rrc.portIndex2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rank1_2,
|
|
{ "rank1-2", "nr-rrc.rank1_2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PortIndex2", HFILL }},
|
|
{ &hf_nr_rrc_rank2_2,
|
|
{ "rank2-2", "nr-rrc.rank2_2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_2_OF_PortIndex2", HFILL }},
|
|
{ &hf_nr_rrc_rank2_2_item,
|
|
{ "PortIndex2", "nr-rrc.PortIndex2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_portIndex1,
|
|
{ "portIndex1", "nr-rrc.portIndex1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ResourceConfigId,
|
|
{ "csi-ResourceConfigId", "nr-rrc.csi_ResourceConfigId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_ResourceSetList,
|
|
{ "csi-RS-ResourceSetList", "nr-rrc.csi_RS_ResourceSetList",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_ResourceSetList_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_SSB,
|
|
{ "nzp-CSI-RS-SSB", "nr-rrc.nzp_CSI_RS_SSB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetList,
|
|
{ "nzp-CSI-RS-ResourceSetList", "nr-rrc.nzp_CSI_RS_ResourceSetList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceSetList_item,
|
|
{ "NZP-CSI-RS-ResourceSetId", "nr-rrc.NZP_CSI_RS_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetList,
|
|
{ "csi-SSB-ResourceSetList", "nr-rrc.csi_SSB_ResourceSetList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetList_item,
|
|
{ "CSI-SSB-ResourceSetId", "nr-rrc.CSI_SSB_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetList,
|
|
{ "csi-IM-ResourceSetList", "nr-rrc.csi_IM_ResourceSetList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_csi_IM_ResourceSetList_item,
|
|
{ "CSI-IM-ResourceSetId", "nr-rrc.CSI_IM_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceType,
|
|
{ "resourceType", "nr-rrc.resourceType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slots32,
|
|
{ "slots32", "nr-rrc.slots32",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_slots64,
|
|
{ "slots64", "nr-rrc.slots64",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_63", HFILL }},
|
|
{ &hf_nr_rrc_slots640,
|
|
{ "slots640", "nr-rrc.slots640",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_639", HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_CellList_Mobility,
|
|
{ "csi-RS-CellList-Mobility", "nr-rrc.csi_RS_CellList_Mobility",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility", HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_CellList_Mobility_item,
|
|
{ "CSI-RS-CellMobility", "nr-rrc.CSI_RS_CellMobility_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cellId,
|
|
{ "cellId", "nr-rrc.cellId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PhysCellId", HFILL }},
|
|
{ &hf_nr_rrc_csi_rs_MeasurementBW,
|
|
{ "csi-rs-MeasurementBW", "nr-rrc.csi_rs_MeasurementBW_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofPRBs,
|
|
{ "nrofPRBs", "nr-rrc.nrofPRBs",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPRBs_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_startPRB,
|
|
{ "startPRB", "nr-rrc.startPRB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_2169", HFILL }},
|
|
{ &hf_nr_rrc_density,
|
|
{ "density", "nr-rrc.density",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_rs_ResourceList_Mobility,
|
|
{ "csi-rs-ResourceList-Mobility", "nr-rrc.csi_rs_ResourceList_Mobility",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility", HFILL }},
|
|
{ &hf_nr_rrc_csi_rs_ResourceList_Mobility_item,
|
|
{ "CSI-RS-Resource-Mobility", "nr-rrc.CSI_RS_Resource_Mobility_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_Index,
|
|
{ "csi-RS-Index", "nr-rrc.csi_RS_Index",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slotConfig,
|
|
{ "slotConfig", "nr-rrc.slotConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ms4,
|
|
{ "ms4", "nr-rrc.ms4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_ms5,
|
|
{ "ms5", "nr-rrc.ms5",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_39", HFILL }},
|
|
{ &hf_nr_rrc_ms10_01,
|
|
{ "ms10", "nr-rrc.ms10",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_79", HFILL }},
|
|
{ &hf_nr_rrc_ms20_01,
|
|
{ "ms20", "nr-rrc.ms20",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_159", HFILL }},
|
|
{ &hf_nr_rrc_ms40_01,
|
|
{ "ms40", "nr-rrc.ms40",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_319", HFILL }},
|
|
{ &hf_nr_rrc_associatedSSB,
|
|
{ "associatedSSB", "nr-rrc.associatedSSB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_Index,
|
|
{ "ssb-Index", "nr-rrc.ssb_Index",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_isQuasiColocated,
|
|
{ "isQuasiColocated", "nr-rrc.isQuasiColocated",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_frequencyDomainAllocation_01,
|
|
{ "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_row1,
|
|
{ "row1", "nr-rrc.row1",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_4", HFILL }},
|
|
{ &hf_nr_rrc_row2,
|
|
{ "row2", "nr-rrc.row2",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_12", HFILL }},
|
|
{ &hf_nr_rrc_firstOFDMSymbolInTimeDomain,
|
|
{ "firstOFDMSymbolInTimeDomain", "nr-rrc.firstOFDMSymbolInTimeDomain",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_13", HFILL }},
|
|
{ &hf_nr_rrc_sequenceGenerationConfig,
|
|
{ "sequenceGenerationConfig", "nr-rrc.sequenceGenerationConfig",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1023", HFILL }},
|
|
{ &hf_nr_rrc_frequencyDomainAllocation_02,
|
|
{ "frequencyDomainAllocation", "nr-rrc.frequencyDomainAllocation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyDomainAllocation_01_vals), 0,
|
|
"T_frequencyDomainAllocation_01", HFILL }},
|
|
{ &hf_nr_rrc_row4,
|
|
{ "row4", "nr-rrc.row4",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_3", HFILL }},
|
|
{ &hf_nr_rrc_other_01,
|
|
{ "other", "nr-rrc.other",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_6", HFILL }},
|
|
{ &hf_nr_rrc_nrofPorts,
|
|
{ "nrofPorts", "nr-rrc.nrofPorts",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPorts_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_firstOFDMSymbolInTimeDomain2,
|
|
{ "firstOFDMSymbolInTimeDomain2", "nr-rrc.firstOFDMSymbolInTimeDomain2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_2_12", HFILL }},
|
|
{ &hf_nr_rrc_cdm_Type,
|
|
{ "cdm-Type", "nr-rrc.cdm_Type",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cdm_Type_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_density_01,
|
|
{ "density", "nr-rrc.density",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_density_01_vals), 0,
|
|
"T_density_01", HFILL }},
|
|
{ &hf_nr_rrc_dot5,
|
|
{ "dot5", "nr-rrc.dot5",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dot5_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_one,
|
|
{ "one", "nr-rrc.one_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_three,
|
|
{ "three", "nr-rrc.three_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spare_01,
|
|
{ "spare", "nr-rrc.spare_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList_item,
|
|
{ "CSI-SemiPersistentOnPUSCH-TriggerState", "nr-rrc.CSI_SemiPersistentOnPUSCH_TriggerState_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_associatedReportConfigInfo,
|
|
{ "associatedReportConfigInfo", "nr-rrc.associatedReportConfigInfo",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_ReportConfigId", HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceSetId,
|
|
{ "csi-SSB-ResourceSetId", "nr-rrc.csi_SSB_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceList,
|
|
{ "csi-SSB-ResourceList", "nr-rrc.csi_SSB_ResourceList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index", HFILL }},
|
|
{ &hf_nr_rrc_csi_SSB_ResourceList_item,
|
|
{ "SSB-Index", "nr-rrc.SSB_Index",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dmrs_Type,
|
|
{ "dmrs-Type", "nr-rrc.dmrs_Type",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dmrs_AdditionalPosition,
|
|
{ "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxLength,
|
|
{ "maxLength", "nr-rrc.maxLength",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scramblingID0,
|
|
{ "scramblingID0", "nr-rrc.scramblingID0",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_65535", HFILL }},
|
|
{ &hf_nr_rrc_scramblingID1,
|
|
{ "scramblingID1", "nr-rrc.scramblingID1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_65535", HFILL }},
|
|
{ &hf_nr_rrc_phaseTrackingRS,
|
|
{ "phaseTrackingRS", "nr-rrc.phaseTrackingRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_19,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DownlinkConfig", HFILL }},
|
|
{ &hf_nr_rrc_dmrs_Type_01,
|
|
{ "dmrs-Type", "nr-rrc.dmrs_Type",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_Type_01_vals), 0,
|
|
"T_dmrs_Type_01", HFILL }},
|
|
{ &hf_nr_rrc_dmrs_AdditionalPosition_01,
|
|
{ "dmrs-AdditionalPosition", "nr-rrc.dmrs_AdditionalPosition",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_AdditionalPosition_01_vals), 0,
|
|
"T_dmrs_AdditionalPosition_01", HFILL }},
|
|
{ &hf_nr_rrc_phaseTrackingRS_01,
|
|
{ "phaseTrackingRS", "nr-rrc.phaseTrackingRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phaseTrackingRS_01_vals), 0,
|
|
"T_phaseTrackingRS_01", HFILL }},
|
|
{ &hf_nr_rrc_setup_20,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_UplinkConfig", HFILL }},
|
|
{ &hf_nr_rrc_maxLength_01,
|
|
{ "maxLength", "nr-rrc.maxLength",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxLength_01_vals), 0,
|
|
"T_maxLength_01", HFILL }},
|
|
{ &hf_nr_rrc_transformPrecodingDisabled,
|
|
{ "transformPrecodingDisabled", "nr-rrc.transformPrecodingDisabled_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_transformPrecodingEnabled,
|
|
{ "transformPrecodingEnabled", "nr-rrc.transformPrecodingEnabled_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nPUSCH_Identity,
|
|
{ "nPUSCH-Identity", "nr-rrc.nPUSCH_Identity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1007", HFILL }},
|
|
{ &hf_nr_rrc_disableSequenceGroupHopping,
|
|
{ "disableSequenceGroupHopping", "nr-rrc.disableSequenceGroupHopping",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_disableSequenceGroupHopping_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sequenceHoppingEnabled,
|
|
{ "sequenceHoppingEnabled", "nr-rrc.sequenceHoppingEnabled",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sequenceHoppingEnabled_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyInfoDL,
|
|
{ "frequencyInfoDL", "nr-rrc.frequencyInfoDL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_initialDownlinkBWP,
|
|
{ "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_DownlinkCommon", HFILL }},
|
|
{ &hf_nr_rrc_int_RNTI,
|
|
{ "int-RNTI", "nr-rrc.int_RNTI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_timeFrequencySet,
|
|
{ "timeFrequencySet", "nr-rrc.timeFrequencySet",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeFrequencySet_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dci_PayloadSize,
|
|
{ "dci-PayloadSize", "nr-rrc.dci_PayloadSize",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxINT_DCI_PayloadSize", HFILL }},
|
|
{ &hf_nr_rrc_int_ConfigurationPerServingCell,
|
|
{ "int-ConfigurationPerServingCell", "nr-rrc.int_ConfigurationPerServingCell",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell", HFILL }},
|
|
{ &hf_nr_rrc_int_ConfigurationPerServingCell_item,
|
|
{ "INT-ConfigurationPerServingCell", "nr-rrc.INT_ConfigurationPerServingCell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_servingCellId,
|
|
{ "servingCellId", "nr-rrc.servingCellId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_positionInDCI,
|
|
{ "positionInDCI", "nr-rrc.positionInDCI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxINT_DCI_PayloadSize_1", HFILL }},
|
|
{ &hf_nr_rrc_EUTRA_MBSFN_SubframeConfigList_item,
|
|
{ "EUTRA-MBSFN-SubframeConfig", "nr-rrc.EUTRA_MBSFN_SubframeConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_radioframeAllocationPeriod,
|
|
{ "radioframeAllocationPeriod", "nr-rrc.radioframeAllocationPeriod",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_radioframeAllocationPeriod_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_radioframeAllocationOffset,
|
|
{ "radioframeAllocationOffset", "nr-rrc.radioframeAllocationOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_7", HFILL }},
|
|
{ &hf_nr_rrc_subframeAllocation,
|
|
{ "subframeAllocation", "nr-rrc.subframeAllocation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_oneFrame,
|
|
{ "oneFrame", "nr-rrc.oneFrame",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_6", HFILL }},
|
|
{ &hf_nr_rrc_fourFrames,
|
|
{ "fourFrames", "nr-rrc.fourFrames",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_24", HFILL }},
|
|
{ &hf_nr_rrc_subframeAllocation_v1430,
|
|
{ "subframeAllocation-v1430", "nr-rrc.subframeAllocation_v1430",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_subframeAllocation_v1430_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_oneFrame_v1430,
|
|
{ "oneFrame-v1430", "nr-rrc.oneFrame_v1430",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_fourFrames_v1430,
|
|
{ "fourFrames-v1430", "nr-rrc.fourFrames_v1430",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_absoluteFrequencySSB,
|
|
{ "absoluteFrequencySSB", "nr-rrc.absoluteFrequencySSB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ARFCN_ValueNR", HFILL }},
|
|
{ &hf_nr_rrc_frequencyBandList,
|
|
{ "frequencyBandList", "nr-rrc.frequencyBandList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MultiFrequencyBandListNR", HFILL }},
|
|
{ &hf_nr_rrc_absoluteFrequencyPointA,
|
|
{ "absoluteFrequencyPointA", "nr-rrc.absoluteFrequencyPointA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ARFCN_ValueNR", HFILL }},
|
|
{ &hf_nr_rrc_scs_SpecificCarrierList,
|
|
{ "scs-SpecificCarrierList", "nr-rrc.scs_SpecificCarrierList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier", HFILL }},
|
|
{ &hf_nr_rrc_scs_SpecificCarrierList_item,
|
|
{ "SCS-SpecificCarrier", "nr-rrc.SCS_SpecificCarrier_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_additionalSpectrumEmission,
|
|
{ "additionalSpectrumEmission", "nr-rrc.additionalSpectrumEmission",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p_Max,
|
|
{ "p-Max", "nr-rrc.p_Max",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyShift7p5khz,
|
|
{ "frequencyShift7p5khz", "nr-rrc.frequencyShift7p5khz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyShift7p5khz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ul_SpecificParameters,
|
|
{ "ul-SpecificParameters", "nr-rrc.ul_SpecificParameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_priority,
|
|
{ "priority", "nr-rrc.priority",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16", HFILL }},
|
|
{ &hf_nr_rrc_prioritisedBitRate,
|
|
{ "prioritisedBitRate", "nr-rrc.prioritisedBitRate",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prioritisedBitRate_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bucketSizeDuration,
|
|
{ "bucketSizeDuration", "nr-rrc.bucketSizeDuration",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bucketSizeDuration_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_allowedServingCells,
|
|
{ "allowedServingCells", "nr-rrc.allowedServingCells",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_allowedServingCells_item,
|
|
{ "ServCellIndex", "nr-rrc.ServCellIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_allowedSCS_List,
|
|
{ "allowedSCS-List", "nr-rrc.allowedSCS_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing", HFILL }},
|
|
{ &hf_nr_rrc_allowedSCS_List_item,
|
|
{ "SubcarrierSpacing", "nr-rrc.SubcarrierSpacing",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxPUSCH_Duration,
|
|
{ "maxPUSCH-Duration", "nr-rrc.maxPUSCH_Duration",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxPUSCH_Duration_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_configuredGrantType1Allowed,
|
|
{ "configuredGrantType1Allowed", "nr-rrc.configuredGrantType1Allowed",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredGrantType1Allowed_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_logicalChannelGroup,
|
|
{ "logicalChannelGroup", "nr-rrc.logicalChannelGroup",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxLCG_ID", HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestID,
|
|
{ "schedulingRequestID", "nr-rrc.schedulingRequestID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_logicalChannelSR_Mask,
|
|
{ "logicalChannelSR-Mask", "nr-rrc.logicalChannelSR_Mask",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_logicalChannelSR_DelayTimerApplied,
|
|
{ "logicalChannelSR-DelayTimerApplied", "nr-rrc.logicalChannelSR_DelayTimerApplied",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_drx_Config,
|
|
{ "drx-Config", "nr-rrc.drx_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_21,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DRX_Config", HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestConfig,
|
|
{ "schedulingRequestConfig", "nr-rrc.schedulingRequestConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bsr_Config,
|
|
{ "bsr-Config", "nr-rrc.bsr_Config_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tag_Config,
|
|
{ "tag-Config", "nr-rrc.tag_Config_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phr_Config,
|
|
{ "phr-Config", "nr-rrc.phr_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_22,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PHR_Config", HFILL }},
|
|
{ &hf_nr_rrc_skipUplinkTxDynamic,
|
|
{ "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_drx_onDurationTimer,
|
|
{ "drx-onDurationTimer", "nr-rrc.drx_onDurationTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drx_onDurationTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_subMilliSeconds,
|
|
{ "subMilliSeconds", "nr-rrc.subMilliSeconds",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_31", HFILL }},
|
|
{ &hf_nr_rrc_milliSeconds,
|
|
{ "milliSeconds", "nr-rrc.milliSeconds",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_milliSeconds_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_InactivityTimer,
|
|
{ "drx-InactivityTimer", "nr-rrc.drx_InactivityTimer",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_InactivityTimer_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_HARQ_RTT_TimerDL,
|
|
{ "drx-HARQ-RTT-TimerDL", "nr-rrc.drx_HARQ_RTT_TimerDL",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_56", HFILL }},
|
|
{ &hf_nr_rrc_drx_HARQ_RTT_TimerUL,
|
|
{ "drx-HARQ-RTT-TimerUL", "nr-rrc.drx_HARQ_RTT_TimerUL",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_56", HFILL }},
|
|
{ &hf_nr_rrc_drx_RetransmissionTimerDL,
|
|
{ "drx-RetransmissionTimerDL", "nr-rrc.drx_RetransmissionTimerDL",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerDL_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_RetransmissionTimerUL,
|
|
{ "drx-RetransmissionTimerUL", "nr-rrc.drx_RetransmissionTimerUL",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_RetransmissionTimerUL_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drx_LongCycleStartOffset_01,
|
|
{ "drx-LongCycleStartOffset", "nr-rrc.drx_LongCycleStartOffset",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_LongCycleStartOffset_01_vals_ext, 0,
|
|
"T_drx_LongCycleStartOffset_01", HFILL }},
|
|
{ &hf_nr_rrc_shortDRX_01,
|
|
{ "shortDRX", "nr-rrc.shortDRX_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_shortDRX_01", HFILL }},
|
|
{ &hf_nr_rrc_drx_ShortCycle_01,
|
|
{ "drx-ShortCycle", "nr-rrc.drx_ShortCycle",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_drx_ShortCycle_01_vals_ext, 0,
|
|
"T_drx_ShortCycle_01", HFILL }},
|
|
{ &hf_nr_rrc_drx_SlotOffset,
|
|
{ "drx-SlotOffset", "nr-rrc.drx_SlotOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_phr_PeriodicTimer,
|
|
{ "phr-PeriodicTimer", "nr-rrc.phr_PeriodicTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_PeriodicTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phr_ProhibitTimer,
|
|
{ "phr-ProhibitTimer", "nr-rrc.phr_ProhibitTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ProhibitTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phr_Tx_PowerFactorChange,
|
|
{ "phr-Tx-PowerFactorChange", "nr-rrc.phr_Tx_PowerFactorChange",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_Tx_PowerFactorChange_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_multiplePHR,
|
|
{ "multiplePHR", "nr-rrc.multiplePHR",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_phr_Type2SpCell,
|
|
{ "phr-Type2SpCell", "nr-rrc.phr_Type2SpCell",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_phr_Type2OtherCell,
|
|
{ "phr-Type2OtherCell", "nr-rrc.phr_Type2OtherCell",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_phr_ModeOtherCG,
|
|
{ "phr-ModeOtherCG", "nr-rrc.phr_ModeOtherCG",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_phr_ModeOtherCG_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tag_ToReleaseList,
|
|
{ "tag-ToReleaseList", "nr-rrc.tag_ToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id", HFILL }},
|
|
{ &hf_nr_rrc_tag_ToReleaseList_item,
|
|
{ "TAG-Id", "nr-rrc.TAG_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tag_ToAddModList,
|
|
{ "tag-ToAddModList", "nr-rrc.tag_ToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG", HFILL }},
|
|
{ &hf_nr_rrc_tag_ToAddModList_item,
|
|
{ "TAG", "nr-rrc.TAG_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tag_Id,
|
|
{ "tag-Id", "nr-rrc.tag_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_timeAlignmentTimer,
|
|
{ "timeAlignmentTimer", "nr-rrc.timeAlignmentTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_periodicBSR_Timer,
|
|
{ "periodicBSR-Timer", "nr-rrc.periodicBSR_Timer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBSR_Timer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_retxBSR_Timer,
|
|
{ "retxBSR-Timer", "nr-rrc.retxBSR_Timer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_retxBSR_Timer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_logicalChannelSR_DelayTimer,
|
|
{ "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measObjectToRemoveList,
|
|
{ "measObjectToRemoveList", "nr-rrc.measObjectToRemoveList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measObjectToAddModList,
|
|
{ "measObjectToAddModList", "nr-rrc.measObjectToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportConfigToRemoveList,
|
|
{ "reportConfigToRemoveList", "nr-rrc.reportConfigToRemoveList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportConfigToAddModList,
|
|
{ "reportConfigToAddModList", "nr-rrc.reportConfigToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measIdToRemoveList,
|
|
{ "measIdToRemoveList", "nr-rrc.measIdToRemoveList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measIdToAddModList,
|
|
{ "measIdToAddModList", "nr-rrc.measIdToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_s_MeasureConfig,
|
|
{ "s-MeasureConfig", "nr-rrc.s_MeasureConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_s_MeasureConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_RSRP,
|
|
{ "ssb-RSRP", "nr-rrc.ssb_RSRP",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_csi_RSRP,
|
|
{ "csi-RSRP", "nr-rrc.csi_RSRP",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_quantityConfig,
|
|
{ "quantityConfig", "nr-rrc.quantityConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measGapConfig_01,
|
|
{ "measGapConfig", "nr-rrc.measGapConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measGapSharingConfig,
|
|
{ "measGapSharingConfig", "nr-rrc.measGapSharingConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_MeasObjectToRemoveList_item,
|
|
{ "MeasObjectId", "nr-rrc.MeasObjectId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_MeasIdToRemoveList_item,
|
|
{ "MeasId", "nr-rrc.MeasId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ReportConfigToRemoveList_item,
|
|
{ "ReportConfigId", "nr-rrc.ReportConfigId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_gapFR2,
|
|
{ "gapFR2", "nr-rrc.gapFR2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapFR2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_gapOffset,
|
|
{ "gapOffset", "nr-rrc.gapOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_159", HFILL }},
|
|
{ &hf_nr_rrc_mgl,
|
|
{ "mgl", "nr-rrc.mgl",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgl_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mgrp,
|
|
{ "mgrp", "nr-rrc.mgrp",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgrp_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mgta,
|
|
{ "mgta", "nr-rrc.mgta",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mgta_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_gapSharingFR2,
|
|
{ "gapSharingFR2", "nr-rrc.gapSharingFR2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_gapSharingFR2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_23,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasGapSharingScheme_vals), 0,
|
|
"MeasGapSharingScheme", HFILL }},
|
|
{ &hf_nr_rrc_MeasIdToAddModList_item,
|
|
{ "MeasIdToAddMod", "nr-rrc.MeasIdToAddMod_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measId,
|
|
{ "measId", "nr-rrc.measId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measObjectId,
|
|
{ "measObjectId", "nr-rrc.measObjectId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportConfigId_01,
|
|
{ "reportConfigId", "nr-rrc.reportConfigId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssbFrequency,
|
|
{ "ssbFrequency", "nr-rrc.ssbFrequency",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ARFCN_ValueNR", HFILL }},
|
|
{ &hf_nr_rrc_ssbSubcarrierSpacing,
|
|
{ "ssbSubcarrierSpacing", "nr-rrc.ssbSubcarrierSpacing",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
"SubcarrierSpacing", HFILL }},
|
|
{ &hf_nr_rrc_smtc1,
|
|
{ "smtc1", "nr-rrc.smtc1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SSB_MTC", HFILL }},
|
|
{ &hf_nr_rrc_smtc2,
|
|
{ "smtc2", "nr-rrc.smtc2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SSB_MTC2", HFILL }},
|
|
{ &hf_nr_rrc_refFreqCSI_RS,
|
|
{ "refFreqCSI-RS", "nr-rrc.refFreqCSI_RS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ARFCN_ValueNR", HFILL }},
|
|
{ &hf_nr_rrc_referenceSignalConfig,
|
|
{ "referenceSignalConfig", "nr-rrc.referenceSignalConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_absThreshSS_BlocksConsolidation,
|
|
{ "absThreshSS-BlocksConsolidation", "nr-rrc.absThreshSS_BlocksConsolidation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ThresholdNR", HFILL }},
|
|
{ &hf_nr_rrc_absThreshCSI_RS_Consolidation,
|
|
{ "absThreshCSI-RS-Consolidation", "nr-rrc.absThreshCSI_RS_Consolidation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ThresholdNR", HFILL }},
|
|
{ &hf_nr_rrc_nrofSS_BlocksToAverage,
|
|
{ "nrofSS-BlocksToAverage", "nr-rrc.nrofSS_BlocksToAverage",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_2_maxNrofSS_BlocksToAverage", HFILL }},
|
|
{ &hf_nr_rrc_nrofCSI_RS_ResourcesToAverage,
|
|
{ "nrofCSI-RS-ResourcesToAverage", "nr-rrc.nrofCSI_RS_ResourcesToAverage",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_2_maxNrofCSI_RS_ResourcesToAverage", HFILL }},
|
|
{ &hf_nr_rrc_quantityConfigIndex,
|
|
{ "quantityConfigIndex", "nr-rrc.quantityConfigIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofQuantityConfig", HFILL }},
|
|
{ &hf_nr_rrc_offsetMO,
|
|
{ "offsetMO", "nr-rrc.offsetMO_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"Q_OffsetRangeList", HFILL }},
|
|
{ &hf_nr_rrc_cellsToRemoveList,
|
|
{ "cellsToRemoveList", "nr-rrc.cellsToRemoveList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PCI_List", HFILL }},
|
|
{ &hf_nr_rrc_cellsToAddModList,
|
|
{ "cellsToAddModList", "nr-rrc.cellsToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_blackCellsToRemoveList,
|
|
{ "blackCellsToRemoveList", "nr-rrc.blackCellsToRemoveList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PCI_RangeIndexList", HFILL }},
|
|
{ &hf_nr_rrc_blackCellsToAddModList,
|
|
{ "blackCellsToAddModList", "nr-rrc.blackCellsToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement", HFILL }},
|
|
{ &hf_nr_rrc_blackCellsToAddModList_item,
|
|
{ "PCI-RangeElement", "nr-rrc.PCI_RangeElement_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_whiteCellsToRemoveList,
|
|
{ "whiteCellsToRemoveList", "nr-rrc.whiteCellsToRemoveList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PCI_RangeIndexList", HFILL }},
|
|
{ &hf_nr_rrc_whiteCellsToAddModList,
|
|
{ "whiteCellsToAddModList", "nr-rrc.whiteCellsToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement", HFILL }},
|
|
{ &hf_nr_rrc_whiteCellsToAddModList_item,
|
|
{ "PCI-RangeElement", "nr-rrc.PCI_RangeElement_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_ConfigMobility,
|
|
{ "ssb-ConfigMobility", "nr-rrc.ssb_ConfigMobility_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_rs_ResourceConfigMobility,
|
|
{ "csi-rs-ResourceConfigMobility", "nr-rrc.csi_rs_ResourceConfigMobility",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_rs_ResourceConfigMobility_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_24,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"CSI_RS_ResourceConfigMobility", HFILL }},
|
|
{ &hf_nr_rrc_ssb_ToMeasure,
|
|
{ "ssb-ToMeasure", "nr-rrc.ssb_ToMeasure",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_ToMeasure_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_25,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SSB_ToMeasure_vals), 0,
|
|
"SSB_ToMeasure", HFILL }},
|
|
{ &hf_nr_rrc_useServingCellTimingForSync,
|
|
{ "useServingCellTimingForSync", "nr-rrc.useServingCellTimingForSync",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_ss_RSSI_Measurement,
|
|
{ "ss-RSSI-Measurement", "nr-rrc.ss_RSSI_Measurement_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rsrpOffsetSSB,
|
|
{ "rsrpOffsetSSB", "nr-rrc.rsrpOffsetSSB",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
|
|
"Q_OffsetRange", HFILL }},
|
|
{ &hf_nr_rrc_rsrqOffsetSSB,
|
|
{ "rsrqOffsetSSB", "nr-rrc.rsrqOffsetSSB",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
|
|
"Q_OffsetRange", HFILL }},
|
|
{ &hf_nr_rrc_sinrOffsetSSB,
|
|
{ "sinrOffsetSSB", "nr-rrc.sinrOffsetSSB",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
|
|
"Q_OffsetRange", HFILL }},
|
|
{ &hf_nr_rrc_rsrpOffsetCSI_RS,
|
|
{ "rsrpOffsetCSI-RS", "nr-rrc.rsrpOffsetCSI_RS",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
|
|
"Q_OffsetRange", HFILL }},
|
|
{ &hf_nr_rrc_rsrqOffsetCSI_RS,
|
|
{ "rsrqOffsetCSI-RS", "nr-rrc.rsrqOffsetCSI_RS",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
|
|
"Q_OffsetRange", HFILL }},
|
|
{ &hf_nr_rrc_sinrOffsetCSI_RS,
|
|
{ "sinrOffsetCSI-RS", "nr-rrc.sinrOffsetCSI_RS",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_Q_OffsetRange_vals_ext, 0,
|
|
"Q_OffsetRange", HFILL }},
|
|
{ &hf_nr_rrc_shortBitmap,
|
|
{ "shortBitmap", "nr-rrc.shortBitmap",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_4", HFILL }},
|
|
{ &hf_nr_rrc_mediumBitmap,
|
|
{ "mediumBitmap", "nr-rrc.mediumBitmap",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_longBitmap,
|
|
{ "longBitmap", "nr-rrc.longBitmap",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_64", HFILL }},
|
|
{ &hf_nr_rrc_thresholdRSRP,
|
|
{ "thresholdRSRP", "nr-rrc.thresholdRSRP",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_thresholdRSRQ,
|
|
{ "thresholdRSRQ", "nr-rrc.thresholdRSRQ",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRQ_Range", HFILL }},
|
|
{ &hf_nr_rrc_thresholdSINR,
|
|
{ "thresholdSINR", "nr-rrc.thresholdSINR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SINR_Range", HFILL }},
|
|
{ &hf_nr_rrc_CellsToAddModList_item,
|
|
{ "CellsToAddMod", "nr-rrc.CellsToAddMod_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_physCellId,
|
|
{ "physCellId", "nr-rrc.physCellId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cellIndividualOffset,
|
|
{ "cellIndividualOffset", "nr-rrc.cellIndividualOffset_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"Q_OffsetRangeList", HFILL }},
|
|
{ &hf_nr_rrc_MeasObjectToAddModList_item,
|
|
{ "MeasObjectToAddMod", "nr-rrc.MeasObjectToAddMod_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measObject,
|
|
{ "measObject", "nr-rrc.measObject",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measObject_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measObjectNR,
|
|
{ "measObjectNR", "nr-rrc.measObjectNR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measResultServingMOList,
|
|
{ "measResultServingMOList", "nr-rrc.measResultServingMOList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MeasResultServMOList", HFILL }},
|
|
{ &hf_nr_rrc_measResultNeighCells,
|
|
{ "measResultNeighCells", "nr-rrc.measResultNeighCells",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_measResultNeighCells_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measResultListNR,
|
|
{ "measResultListNR", "nr-rrc.measResultListNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_MeasResultServMOList_item,
|
|
{ "MeasResultServMO", "nr-rrc.MeasResultServMO_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_servCellId,
|
|
{ "servCellId", "nr-rrc.servCellId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_measResultServingCell,
|
|
{ "measResultServingCell", "nr-rrc.measResultServingCell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasResultNR", HFILL }},
|
|
{ &hf_nr_rrc_measResultBestNeighCell,
|
|
{ "measResultBestNeighCell", "nr-rrc.measResultBestNeighCell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasResultNR", HFILL }},
|
|
{ &hf_nr_rrc_MeasResultListNR_item,
|
|
{ "MeasResultNR", "nr-rrc.MeasResultNR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measResult,
|
|
{ "measResult", "nr-rrc.measResult_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cellResults,
|
|
{ "cellResults", "nr-rrc.cellResults_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resultsSSB_Cell,
|
|
{ "resultsSSB-Cell", "nr-rrc.resultsSSB_Cell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasQuantityResults", HFILL }},
|
|
{ &hf_nr_rrc_resultsCSI_RS_Cell,
|
|
{ "resultsCSI-RS-Cell", "nr-rrc.resultsCSI_RS_Cell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasQuantityResults", HFILL }},
|
|
{ &hf_nr_rrc_rsIndexResults,
|
|
{ "rsIndexResults", "nr-rrc.rsIndexResults_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resultsSSB_Indexes,
|
|
{ "resultsSSB-Indexes", "nr-rrc.resultsSSB_Indexes",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ResultsPerSSB_IndexList", HFILL }},
|
|
{ &hf_nr_rrc_resultsCSI_RS_Indexes,
|
|
{ "resultsCSI-RS-Indexes", "nr-rrc.resultsCSI_RS_Indexes",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ResultsPerCSI_RS_IndexList", HFILL }},
|
|
{ &hf_nr_rrc_rsrp,
|
|
{ "rsrp", "nr-rrc.rsrp",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_rsrq,
|
|
{ "rsrq", "nr-rrc.rsrq",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRQ_Range", HFILL }},
|
|
{ &hf_nr_rrc_sinr,
|
|
{ "sinr", "nr-rrc.sinr",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SINR_Range", HFILL }},
|
|
{ &hf_nr_rrc_ResultsPerSSB_IndexList_item,
|
|
{ "ResultsPerSSB-Index", "nr-rrc.ResultsPerSSB_Index_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_Results,
|
|
{ "ssb-Results", "nr-rrc.ssb_Results_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasQuantityResults", HFILL }},
|
|
{ &hf_nr_rrc_ResultsPerCSI_RS_IndexList_item,
|
|
{ "ResultsPerCSI-RS-Index", "nr-rrc.ResultsPerCSI_RS_Index_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_Results,
|
|
{ "csi-RS-Results", "nr-rrc.csi_RS_Results_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasQuantityResults", HFILL }},
|
|
{ &hf_nr_rrc_measResultPerMOList,
|
|
{ "measResultPerMOList", "nr-rrc.measResultPerMOList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MeasResultList2NR", HFILL }},
|
|
{ &hf_nr_rrc_MeasResultList2NR_item,
|
|
{ "MeasResult2NR", "nr-rrc.MeasResult2NR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measResultNeighCellListNR,
|
|
{ "measResultNeighCellListNR", "nr-rrc.measResultNeighCellListNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MeasResultListNR", HFILL }},
|
|
{ &hf_nr_rrc_MeasResultCellListSFTD_item,
|
|
{ "MeasResultCellSFTD", "nr-rrc.MeasResultCellSFTD_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sfn_OffsetResult,
|
|
{ "sfn-OffsetResult", "nr-rrc.sfn_OffsetResult",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1023", HFILL }},
|
|
{ &hf_nr_rrc_frameBoundaryOffsetResult,
|
|
{ "frameBoundaryOffsetResult", "nr-rrc.frameBoundaryOffsetResult",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M30720_30719", HFILL }},
|
|
{ &hf_nr_rrc_rsrp_Result,
|
|
{ "rsrp-Result", "nr-rrc.rsrp_Result",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_MultiFrequencyBandListNR_item,
|
|
{ "FreqBandIndicatorNR", "nr-rrc.FreqBandIndicatorNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_ResourceId,
|
|
{ "nzp-CSI-RS-ResourceId", "nr-rrc.nzp_CSI_RS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceMapping,
|
|
{ "resourceMapping", "nr-rrc.resourceMapping_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"CSI_RS_ResourceMapping", HFILL }},
|
|
{ &hf_nr_rrc_powerControlOffset,
|
|
{ "powerControlOffset", "nr-rrc.powerControlOffset",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M8_15", HFILL }},
|
|
{ &hf_nr_rrc_powerControlOffsetSS,
|
|
{ "powerControlOffsetSS", "nr-rrc.powerControlOffsetSS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerControlOffsetSS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scramblingID,
|
|
{ "scramblingID", "nr-rrc.scramblingID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_qcl_InfoPeriodicCSI_RS,
|
|
{ "qcl-InfoPeriodicCSI-RS", "nr-rrc.qcl_InfoPeriodicCSI_RS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"TCI_StateId", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_ResourceSetId,
|
|
{ "nzp-CSI-ResourceSetId", "nr-rrc.nzp_CSI_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NZP_CSI_RS_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_Resources,
|
|
{ "nzp-CSI-RS-Resources", "nr-rrc.nzp_CSI_RS_Resources",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_Resources_item,
|
|
{ "NZP-CSI-RS-ResourceId", "nr-rrc.NZP_CSI_RS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_repetition,
|
|
{ "repetition", "nr-rrc.repetition",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetition_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aperiodicTriggeringOffset,
|
|
{ "aperiodicTriggeringOffset", "nr-rrc.aperiodicTriggeringOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_4", HFILL }},
|
|
{ &hf_nr_rrc_trs_Info,
|
|
{ "trs-Info", "nr-rrc.trs_Info",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_trs_Info_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_PCI_List_item,
|
|
{ "PhysCellId", "nr-rrc.PhysCellId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_start,
|
|
{ "start", "nr-rrc.start",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PhysCellId", HFILL }},
|
|
{ &hf_nr_rrc_range,
|
|
{ "range", "nr-rrc.range",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_range_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pci_RangeIndex,
|
|
{ "pci-RangeIndex", "nr-rrc.pci_RangeIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pci_Range,
|
|
{ "pci-Range", "nr-rrc.pci_Range_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_PCI_RangeIndexList_item,
|
|
{ "PCI-RangeIndex", "nr-rrc.PCI_RangeIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_controlResourceSetToAddModList,
|
|
{ "controlResourceSetToAddModList", "nr-rrc.controlResourceSetToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_3_OF_ControlResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_controlResourceSetToAddModList_item,
|
|
{ "ControlResourceSet", "nr-rrc.ControlResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_controlResourceSetToReleaseList,
|
|
{ "controlResourceSetToReleaseList", "nr-rrc.controlResourceSetToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_3_OF_ControlResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_controlResourceSetToReleaseList_item,
|
|
{ "ControlResourceSetId", "nr-rrc.ControlResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_searchSpacesToAddModList,
|
|
{ "searchSpacesToAddModList", "nr-rrc.searchSpacesToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_10_OF_SearchSpace", HFILL }},
|
|
{ &hf_nr_rrc_searchSpacesToAddModList_item,
|
|
{ "SearchSpace", "nr-rrc.SearchSpace_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_searchSpacesToReleaseList,
|
|
{ "searchSpacesToReleaseList", "nr-rrc.searchSpacesToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_10_OF_SearchSpaceId", HFILL }},
|
|
{ &hf_nr_rrc_searchSpacesToReleaseList_item,
|
|
{ "SearchSpaceId", "nr-rrc.SearchSpaceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_downlinkPreemption,
|
|
{ "downlinkPreemption", "nr-rrc.downlinkPreemption",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkPreemption_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_26,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DownlinkPreemption", HFILL }},
|
|
{ &hf_nr_rrc_tpc_PUSCH,
|
|
{ "tpc-PUSCH", "nr-rrc.tpc_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_27,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUSCH_TPC_CommandConfig", HFILL }},
|
|
{ &hf_nr_rrc_tpc_PUCCH,
|
|
{ "tpc-PUCCH", "nr-rrc.tpc_PUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_28,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_TPC_CommandConfig", HFILL }},
|
|
{ &hf_nr_rrc_tpc_SRS,
|
|
{ "tpc-SRS", "nr-rrc.tpc_SRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_SRS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_29,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SRS_TPC_CommandConfig", HFILL }},
|
|
{ &hf_nr_rrc_controlResourceSetZero,
|
|
{ "controlResourceSetZero", "nr-rrc.controlResourceSetZero",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_commonControlResourceSet,
|
|
{ "commonControlResourceSet", "nr-rrc.commonControlResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ControlResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_searchSpaceZero,
|
|
{ "searchSpaceZero", "nr-rrc.searchSpaceZero",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_commonSearchSpace,
|
|
{ "commonSearchSpace", "nr-rrc.commonSearchSpace",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_4_OF_SearchSpace", HFILL }},
|
|
{ &hf_nr_rrc_commonSearchSpace_item,
|
|
{ "SearchSpace", "nr-rrc.SearchSpace_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_searchSpaceSIB1,
|
|
{ "searchSpaceSIB1", "nr-rrc.searchSpaceSIB1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SearchSpaceId", HFILL }},
|
|
{ &hf_nr_rrc_searchSpaceOtherSystemInformation,
|
|
{ "searchSpaceOtherSystemInformation", "nr-rrc.searchSpaceOtherSystemInformation",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SearchSpaceId", HFILL }},
|
|
{ &hf_nr_rrc_pagingSearchSpace,
|
|
{ "pagingSearchSpace", "nr-rrc.pagingSearchSpace",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SearchSpaceId", HFILL }},
|
|
{ &hf_nr_rrc_ra_SearchSpace,
|
|
{ "ra-SearchSpace", "nr-rrc.ra_SearchSpace",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SearchSpaceId", HFILL }},
|
|
{ &hf_nr_rrc_slotFormatIndicator,
|
|
{ "slotFormatIndicator", "nr-rrc.slotFormatIndicator",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_slotFormatIndicator_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_30,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SlotFormatIndicator", HFILL }},
|
|
{ &hf_nr_rrc_drb,
|
|
{ "drb", "nr-rrc.drb_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_discardTimer,
|
|
{ "discardTimer", "nr-rrc.discardTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcp_SN_SizeUL,
|
|
{ "pdcp-SN-SizeUL", "nr-rrc.pdcp_SN_SizeUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeUL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcp_SN_SizeDL,
|
|
{ "pdcp-SN-SizeDL", "nr-rrc.pdcp_SN_SizeDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcp_SN_SizeDL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_headerCompression,
|
|
{ "headerCompression", "nr-rrc.headerCompression",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_headerCompression_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_notUsed,
|
|
{ "notUsed", "nr-rrc.notUsed_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rohc,
|
|
{ "rohc", "nr-rrc.rohc_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxCID,
|
|
{ "maxCID", "nr-rrc.maxCID",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16383", HFILL }},
|
|
{ &hf_nr_rrc_profiles,
|
|
{ "profiles", "nr-rrc.profiles_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_profile0x0001,
|
|
{ "profile0x0001", "nr-rrc.profile0x0001",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0002,
|
|
{ "profile0x0002", "nr-rrc.profile0x0002",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0003,
|
|
{ "profile0x0003", "nr-rrc.profile0x0003",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0004,
|
|
{ "profile0x0004", "nr-rrc.profile0x0004",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0006,
|
|
{ "profile0x0006", "nr-rrc.profile0x0006",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0101,
|
|
{ "profile0x0101", "nr-rrc.profile0x0101",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0102,
|
|
{ "profile0x0102", "nr-rrc.profile0x0102",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0103,
|
|
{ "profile0x0103", "nr-rrc.profile0x0103",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_profile0x0104,
|
|
{ "profile0x0104", "nr-rrc.profile0x0104",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_drb_ContinueROHC,
|
|
{ "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueROHC_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_uplinkOnlyROHC,
|
|
{ "uplinkOnlyROHC", "nr-rrc.uplinkOnlyROHC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_profiles_01,
|
|
{ "profiles", "nr-rrc.profiles_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_profiles_01", HFILL }},
|
|
{ &hf_nr_rrc_drb_ContinueROHC_01,
|
|
{ "drb-ContinueROHC", "nr-rrc.drb_ContinueROHC",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_drb_ContinueROHC_01_vals), 0,
|
|
"T_drb_ContinueROHC_01", HFILL }},
|
|
{ &hf_nr_rrc_integrityProtection,
|
|
{ "integrityProtection", "nr-rrc.integrityProtection",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_integrityProtection_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_statusReportRequired,
|
|
{ "statusReportRequired", "nr-rrc.statusReportRequired",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_statusReportRequired_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_outOfOrderDelivery,
|
|
{ "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_moreThanOneRLC,
|
|
{ "moreThanOneRLC", "nr-rrc.moreThanOneRLC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_primaryPath,
|
|
{ "primaryPath", "nr-rrc.primaryPath_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cellGroup,
|
|
{ "cellGroup", "nr-rrc.cellGroup",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CellGroupId", HFILL }},
|
|
{ &hf_nr_rrc_logicalChannel,
|
|
{ "logicalChannel", "nr-rrc.logicalChannel",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"LogicalChannelIdentity", HFILL }},
|
|
{ &hf_nr_rrc_ul_DataSplitThreshold,
|
|
{ "ul-DataSplitThreshold", "nr-rrc.ul_DataSplitThreshold",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_UL_DataSplitThreshold_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcp_Duplication,
|
|
{ "pdcp-Duplication", "nr-rrc.pdcp_Duplication",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_t_Reordering,
|
|
{ "t-Reordering", "nr-rrc.t_Reordering",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_t_Reordering_vals_ext, 0,
|
|
"T_t_Reordering", HFILL }},
|
|
{ &hf_nr_rrc_dataScramblingIdentityPDSCH,
|
|
{ "dataScramblingIdentityPDSCH", "nr-rrc.dataScramblingIdentityPDSCH",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1023", HFILL }},
|
|
{ &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeA,
|
|
{ "dmrs-DownlinkForPDSCH-MappingTypeA", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_31,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DMRS_DownlinkConfig", HFILL }},
|
|
{ &hf_nr_rrc_dmrs_DownlinkForPDSCH_MappingTypeB,
|
|
{ "dmrs-DownlinkForPDSCH-MappingTypeB", "nr-rrc.dmrs_DownlinkForPDSCH_MappingTypeB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesToAddModList,
|
|
{ "tci-StatesToAddModList", "nr-rrc.tci_StatesToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State", HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesToAddModList_item,
|
|
{ "TCI-State", "nr-rrc.TCI_State_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesToReleaseList,
|
|
{ "tci-StatesToReleaseList", "nr-rrc.tci_StatesToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId", HFILL }},
|
|
{ &hf_nr_rrc_tci_StatesToReleaseList_item,
|
|
{ "TCI-StateId", "nr-rrc.TCI_StateId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_vrb_ToPRB_Interleaver,
|
|
{ "vrb-ToPRB-Interleaver", "nr-rrc.vrb_ToPRB_Interleaver",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_vrb_ToPRB_Interleaver_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceAllocation_01,
|
|
{ "resourceAllocation", "nr-rrc.resourceAllocation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_01_vals), 0,
|
|
"T_resourceAllocation_01", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_TimeDomainAllocationList,
|
|
{ "pdsch-TimeDomainAllocationList", "nr-rrc.pdsch_TimeDomainAllocationList",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_TimeDomainAllocationList_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_32,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PDSCH_TimeDomainResourceAllocationList", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_AggregationFactor,
|
|
{ "pdsch-AggregationFactor", "nr-rrc.pdsch_AggregationFactor",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_AggregationFactor_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rateMatchPatternToAddModList,
|
|
{ "rateMatchPatternToAddModList", "nr-rrc.rateMatchPatternToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern", HFILL }},
|
|
{ &hf_nr_rrc_rateMatchPatternToAddModList_item,
|
|
{ "RateMatchPattern", "nr-rrc.RateMatchPattern_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rateMatchPatternToReleaseList,
|
|
{ "rateMatchPatternToReleaseList", "nr-rrc.rateMatchPatternToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId", HFILL }},
|
|
{ &hf_nr_rrc_rateMatchPatternToReleaseList_item,
|
|
{ "RateMatchPatternId", "nr-rrc.RateMatchPatternId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rateMatchPatternGroup1,
|
|
{ "rateMatchPatternGroup1", "nr-rrc.rateMatchPatternGroup1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RateMatchPatternGroup", HFILL }},
|
|
{ &hf_nr_rrc_rateMatchPatternGroup2,
|
|
{ "rateMatchPatternGroup2", "nr-rrc.rateMatchPatternGroup2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RateMatchPatternGroup", HFILL }},
|
|
{ &hf_nr_rrc_rbg_Size_01,
|
|
{ "rbg-Size", "nr-rrc.rbg_Size",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_01_vals), 0,
|
|
"T_rbg_Size_01", HFILL }},
|
|
{ &hf_nr_rrc_mcs_Table_01,
|
|
{ "mcs-Table", "nr-rrc.mcs_Table",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_01_vals), 0,
|
|
"T_mcs_Table_01", HFILL }},
|
|
{ &hf_nr_rrc_maxNrofCodeWordsScheduledByDCI,
|
|
{ "maxNrofCodeWordsScheduledByDCI", "nr-rrc.maxNrofCodeWordsScheduledByDCI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofCodeWordsScheduledByDCI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_prb_BundlingType,
|
|
{ "prb-BundlingType", "nr-rrc.prb_BundlingType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prb_BundlingType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_staticBundling,
|
|
{ "staticBundling", "nr-rrc.staticBundling_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bundleSize,
|
|
{ "bundleSize", "nr-rrc.bundleSize",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSize_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicBundling,
|
|
{ "dynamicBundling", "nr-rrc.dynamicBundling_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bundleSizeSet1,
|
|
{ "bundleSizeSet1", "nr-rrc.bundleSizeSet1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bundleSizeSet2,
|
|
{ "bundleSizeSet2", "nr-rrc.bundleSizeSet2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bundleSizeSet2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList,
|
|
{ "zp-CSI-RS-ResourceToAddModList", "nr-rrc.zp_CSI_RS_ResourceToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource", HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToAddModList_item,
|
|
{ "ZP-CSI-RS-Resource", "nr-rrc.ZP_CSI_RS_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList,
|
|
{ "zp-CSI-RS-ResourceToReleaseList", "nr-rrc.zp_CSI_RS_ResourceToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceToReleaseList_item,
|
|
{ "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList,
|
|
{ "aperiodic-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToAddModList_item,
|
|
{ "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList,
|
|
{ "aperiodic-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_aperiodic_ZP_CSI_RS_ResourceSetsToReleaseList_item,
|
|
{ "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList,
|
|
{ "sp-ZP-CSI-RS-ResourceSetsToAddModList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToAddModList_item,
|
|
{ "ZP-CSI-RS-ResourceSet", "nr-rrc.ZP_CSI_RS_ResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList,
|
|
{ "sp-ZP-CSI-RS-ResourceSetsToReleaseList", "nr-rrc.sp_ZP_CSI_RS_ResourceSetsToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_sp_ZP_CSI_RS_ResourceSetsToReleaseList_item,
|
|
{ "ZP-CSI-RS-ResourceSetId", "nr-rrc.ZP_CSI_RS_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p_ZP_CSI_RS_ResourceSet,
|
|
{ "p-ZP-CSI-RS-ResourceSet", "nr-rrc.p_ZP_CSI_RS_ResourceSet",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_p_ZP_CSI_RS_ResourceSet_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_33,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"ZP_CSI_RS_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_RateMatchPatternGroup_item,
|
|
{ "RateMatchPatternGroup item", "nr-rrc.RateMatchPatternGroup_item",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_RateMatchPatternGroup_item_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cellLevel,
|
|
{ "cellLevel", "nr-rrc.cellLevel",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RateMatchPatternId", HFILL }},
|
|
{ &hf_nr_rrc_bwpLevel,
|
|
{ "bwpLevel", "nr-rrc.bwpLevel",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RateMatchPatternId", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_TimeDomainAllocationList_01,
|
|
{ "pdsch-TimeDomainAllocationList", "nr-rrc.pdsch_TimeDomainAllocationList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PDSCH_TimeDomainResourceAllocationList", HFILL }},
|
|
{ &hf_nr_rrc_codeBlockGroupTransmission,
|
|
{ "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_34,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PDSCH_CodeBlockGroupTransmission", HFILL }},
|
|
{ &hf_nr_rrc_xOverhead,
|
|
{ "xOverhead", "nr-rrc.xOverhead",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofHARQ_ProcessesForPDSCH,
|
|
{ "nrofHARQ-ProcessesForPDSCH", "nr-rrc.nrofHARQ_ProcessesForPDSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofHARQ_ProcessesForPDSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_Cell,
|
|
{ "pucch-Cell", "nr-rrc.pucch_Cell",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock,
|
|
{ "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_codeBlockGroupFlushIndicator,
|
|
{ "codeBlockGroupFlushIndicator", "nr-rrc.codeBlockGroupFlushIndicator",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_PDSCH_TimeDomainResourceAllocationList_item,
|
|
{ "PDSCH-TimeDomainResourceAllocation", "nr-rrc.PDSCH_TimeDomainResourceAllocation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_k0,
|
|
{ "k0", "nr-rrc.k0",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_32", HFILL }},
|
|
{ &hf_nr_rrc_mappingType,
|
|
{ "mappingType", "nr-rrc.mappingType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_startSymbolAndLength,
|
|
{ "startSymbolAndLength", "nr-rrc.startSymbolAndLength",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_127", HFILL }},
|
|
{ &hf_nr_rrc_harq_ACK_SpatialBundlingPUCCH,
|
|
{ "harq-ACK-SpatialBundlingPUCCH", "nr-rrc.harq_ACK_SpatialBundlingPUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_harq_ACK_SpatialBundlingPUSCH,
|
|
{ "harq-ACK-SpatialBundlingPUSCH", "nr-rrc.harq_ACK_SpatialBundlingPUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_harq_ACK_SpatialBundlingPUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p_NR,
|
|
{ "p-NR", "nr-rrc.p_NR",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"P_Max", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_HARQ_ACK_Codebook,
|
|
{ "pdsch-HARQ-ACK-Codebook", "nr-rrc.pdsch_HARQ_ACK_Codebook",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_HARQ_ACK_Codebook_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tpc_SRS_RNTI,
|
|
{ "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_tpc_PUCCH_RNTI,
|
|
{ "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_tpc_PUSCH_RNTI,
|
|
{ "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_sp_CSI_RNTI,
|
|
{ "sp-CSI-RNTI", "nr-rrc.sp_CSI_RNTI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_cs_RNTI,
|
|
{ "cs-RNTI", "nr-rrc.cs_RNTI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cs_RNTI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_35,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_frequencyDensity,
|
|
{ "frequencyDensity", "nr-rrc.frequencyDensity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyDensity_item,
|
|
{ "frequencyDensity item", "nr-rrc.frequencyDensity_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_timeDensity,
|
|
{ "timeDensity", "nr-rrc.timeDensity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_timeDensity_item,
|
|
{ "timeDensity item", "nr-rrc.timeDensity_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_29", HFILL }},
|
|
{ &hf_nr_rrc_epre_Ratio,
|
|
{ "epre-Ratio", "nr-rrc.epre_Ratio",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_resourceElementOffset,
|
|
{ "resourceElementOffset", "nr-rrc.resourceElementOffset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_modeSpecificParameters,
|
|
{ "modeSpecificParameters", "nr-rrc.modeSpecificParameters",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_modeSpecificParameters_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cp_OFDM,
|
|
{ "cp-OFDM", "nr-rrc.cp_OFDM_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyDensity_01,
|
|
{ "frequencyDensity", "nr-rrc.frequencyDensity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"T_frequencyDensity_01", HFILL }},
|
|
{ &hf_nr_rrc_timeDensity_01,
|
|
{ "timeDensity", "nr-rrc.timeDensity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"T_timeDensity_01", HFILL }},
|
|
{ &hf_nr_rrc_maxNrofPorts,
|
|
{ "maxNrofPorts", "nr-rrc.maxNrofPorts",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNrofPorts_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceElementOffset_01,
|
|
{ "resourceElementOffset", "nr-rrc.resourceElementOffset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceElementOffset_01_vals), 0,
|
|
"T_resourceElementOffset_01", HFILL }},
|
|
{ &hf_nr_rrc_ptrs_Power,
|
|
{ "ptrs-Power", "nr-rrc.ptrs_Power",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_Power_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dft_S_OFDM,
|
|
{ "dft-S-OFDM", "nr-rrc.dft_S_OFDM_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_dft_S_OFDM", HFILL }},
|
|
{ &hf_nr_rrc_sampleDensity,
|
|
{ "sampleDensity", "nr-rrc.sampleDensity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sampleDensity_item,
|
|
{ "sampleDensity item", "nr-rrc.sampleDensity_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_timeDensityTransformPrecoding,
|
|
{ "timeDensityTransformPrecoding", "nr-rrc.timeDensityTransformPrecoding",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_timeDensityTransformPrecoding_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceSetToAddModList,
|
|
{ "resourceSetToAddModList", "nr-rrc.resourceSetToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_resourceSetToAddModList_item,
|
|
{ "PUCCH-ResourceSet", "nr-rrc.PUCCH_ResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceSetToReleaseList,
|
|
{ "resourceSetToReleaseList", "nr-rrc.resourceSetToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_resourceSetToReleaseList_item,
|
|
{ "PUCCH-ResourceSetId", "nr-rrc.PUCCH_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceToAddModList,
|
|
{ "resourceToAddModList", "nr-rrc.resourceToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource", HFILL }},
|
|
{ &hf_nr_rrc_resourceToAddModList_item,
|
|
{ "PUCCH-Resource", "nr-rrc.PUCCH_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceToReleaseList,
|
|
{ "resourceToReleaseList", "nr-rrc.resourceToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_resourceToReleaseList_item,
|
|
{ "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_format1,
|
|
{ "format1", "nr-rrc.format1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_36,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_FormatConfig", HFILL }},
|
|
{ &hf_nr_rrc_format2,
|
|
{ "format2", "nr-rrc.format2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_format3,
|
|
{ "format3", "nr-rrc.format3",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format3_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_format4,
|
|
{ "format4", "nr-rrc.format4",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format4_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestResourceToAddModList,
|
|
{ "schedulingRequestResourceToAddModList", "nr-rrc.schedulingRequestResourceToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig", HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestResourceToAddModList_item,
|
|
{ "SchedulingRequestResourceConfig", "nr-rrc.SchedulingRequestResourceConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestResourceToReleaseList,
|
|
{ "schedulingRequestResourceToReleaseList", "nr-rrc.schedulingRequestResourceToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId", HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestResourceToReleaseList_item,
|
|
{ "SchedulingRequestResourceId", "nr-rrc.SchedulingRequestResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_multi_CSI_PUCCH_ResourceList,
|
|
{ "multi-CSI-PUCCH-ResourceList", "nr-rrc.multi_CSI_PUCCH_ResourceList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_multi_CSI_PUCCH_ResourceList_item,
|
|
{ "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dl_DataToUL_ACK,
|
|
{ "dl-DataToUL-ACK", "nr-rrc.dl_DataToUL_ACK",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dl_DataToUL_ACK_item,
|
|
{ "dl-DataToUL-ACK item", "nr-rrc.dl_DataToUL_ACK_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_spatialRelationInfoToAddModList,
|
|
{ "spatialRelationInfoToAddModList", "nr-rrc.spatialRelationInfoToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo", HFILL }},
|
|
{ &hf_nr_rrc_spatialRelationInfoToAddModList_item,
|
|
{ "PUCCH-SpatialRelationInfo", "nr-rrc.PUCCH_SpatialRelationInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spatialRelationInfoToReleaseList,
|
|
{ "spatialRelationInfoToReleaseList", "nr-rrc.spatialRelationInfoToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId", HFILL }},
|
|
{ &hf_nr_rrc_spatialRelationInfoToReleaseList_item,
|
|
{ "PUCCH-SpatialRelationInfoId", "nr-rrc.PUCCH_SpatialRelationInfoId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_PowerControl,
|
|
{ "pucch-PowerControl", "nr-rrc.pucch_PowerControl_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_interslotFrequencyHopping,
|
|
{ "interslotFrequencyHopping", "nr-rrc.interslotFrequencyHopping",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interslotFrequencyHopping_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_additionalDMRS,
|
|
{ "additionalDMRS", "nr-rrc.additionalDMRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalDMRS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxCodeRate,
|
|
{ "maxCodeRate", "nr-rrc.maxCodeRate",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_PUCCH_MaxCodeRate_vals), 0,
|
|
"PUCCH_MaxCodeRate", HFILL }},
|
|
{ &hf_nr_rrc_nrofSlots,
|
|
{ "nrofSlots", "nr-rrc.nrofSlots",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSlots_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pi2BPSK,
|
|
{ "pi2BPSK", "nr-rrc.pi2BPSK",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pi2BPSK_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_simultaneousHARQ_ACK_CSI,
|
|
{ "simultaneousHARQ-ACK-CSI", "nr-rrc.simultaneousHARQ_ACK_CSI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousHARQ_ACK_CSI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_SpatialRelationInfoId,
|
|
{ "pucch-SpatialRelationInfoId", "nr-rrc.pucch_SpatialRelationInfoId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_referenceSignal,
|
|
{ "referenceSignal", "nr-rrc.referenceSignal",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_Index_01,
|
|
{ "csi-RS-Index", "nr-rrc.csi_RS_Index",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_srs,
|
|
{ "srs", "nr-rrc.srs_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resource,
|
|
{ "resource", "nr-rrc.resource",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SRS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_uplinkBWP,
|
|
{ "uplinkBWP", "nr-rrc.uplinkBWP",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BWP_Id", HFILL }},
|
|
{ &hf_nr_rrc_pucch_PathlossReferenceRS_Id,
|
|
{ "pucch-PathlossReferenceRS-Id", "nr-rrc.pucch_PathlossReferenceRS_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p0_PUCCH_Id,
|
|
{ "p0-PUCCH-Id", "nr-rrc.p0_PUCCH_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_closedLoopIndex,
|
|
{ "closedLoopIndex", "nr-rrc.closedLoopIndex",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_closedLoopIndex_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_ResourceSetId,
|
|
{ "pucch-ResourceSetId", "nr-rrc.pucch_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceList,
|
|
{ "resourceList", "nr-rrc.resourceList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_resourceList_item,
|
|
{ "PUCCH-ResourceId", "nr-rrc.PUCCH_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxPayloadMinus1,
|
|
{ "maxPayloadMinus1", "nr-rrc.maxPayloadMinus1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_4_256", HFILL }},
|
|
{ &hf_nr_rrc_pucch_ResourceId,
|
|
{ "pucch-ResourceId", "nr-rrc.pucch_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_startingPRB,
|
|
{ "startingPRB", "nr-rrc.startingPRB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PRB_Id", HFILL }},
|
|
{ &hf_nr_rrc_intraSlotFrequencyHopping,
|
|
{ "intraSlotFrequencyHopping", "nr-rrc.intraSlotFrequencyHopping",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFrequencyHopping_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_secondHopPRB,
|
|
{ "secondHopPRB", "nr-rrc.secondHopPRB",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PRB_Id", HFILL }},
|
|
{ &hf_nr_rrc_format,
|
|
{ "format", "nr-rrc.format",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_format_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_format0,
|
|
{ "format0", "nr-rrc.format0_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_format0", HFILL }},
|
|
{ &hf_nr_rrc_format1_01,
|
|
{ "format1", "nr-rrc.format1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_format1", HFILL }},
|
|
{ &hf_nr_rrc_format2_01,
|
|
{ "format2", "nr-rrc.format2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_format2", HFILL }},
|
|
{ &hf_nr_rrc_format3_01,
|
|
{ "format3", "nr-rrc.format3_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_format3", HFILL }},
|
|
{ &hf_nr_rrc_format4_01,
|
|
{ "format4", "nr-rrc.format4_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUCCH_format4", HFILL }},
|
|
{ &hf_nr_rrc_initialCyclicShift,
|
|
{ "initialCyclicShift", "nr-rrc.initialCyclicShift",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_11", HFILL }},
|
|
{ &hf_nr_rrc_nrofSymbols,
|
|
{ "nrofSymbols", "nr-rrc.nrofSymbols",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_2", HFILL }},
|
|
{ &hf_nr_rrc_startingSymbolIndex,
|
|
{ "startingSymbolIndex", "nr-rrc.startingSymbolIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_13", HFILL }},
|
|
{ &hf_nr_rrc_nrofSymbols_01,
|
|
{ "nrofSymbols", "nr-rrc.nrofSymbols",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_4_14", HFILL }},
|
|
{ &hf_nr_rrc_startingSymbolIndex_01,
|
|
{ "startingSymbolIndex", "nr-rrc.startingSymbolIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_10", HFILL }},
|
|
{ &hf_nr_rrc_timeDomainOCC,
|
|
{ "timeDomainOCC", "nr-rrc.timeDomainOCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_6", HFILL }},
|
|
{ &hf_nr_rrc_nrofPRBs_01,
|
|
{ "nrofPRBs", "nr-rrc.nrofPRBs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16", HFILL }},
|
|
{ &hf_nr_rrc_occ_Length,
|
|
{ "occ-Length", "nr-rrc.occ_Length",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Length_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_occ_Index,
|
|
{ "occ-Index", "nr-rrc.occ_Index",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_occ_Index_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_ResourceCommon,
|
|
{ "pucch-ResourceCommon", "nr-rrc.pucch_ResourceCommon",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_pucch_GroupHopping,
|
|
{ "pucch-GroupHopping", "nr-rrc.pucch_GroupHopping",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_GroupHopping_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_hoppingId,
|
|
{ "hoppingId", "nr-rrc.hoppingId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1024", HFILL }},
|
|
{ &hf_nr_rrc_p0_nominal,
|
|
{ "p0-nominal", "nr-rrc.p0_nominal",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M202_24", HFILL }},
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f0,
|
|
{ "deltaF-PUCCH-f0", "nr-rrc.deltaF_PUCCH_f0",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M16_15", HFILL }},
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f1,
|
|
{ "deltaF-PUCCH-f1", "nr-rrc.deltaF_PUCCH_f1",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M16_15", HFILL }},
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f2,
|
|
{ "deltaF-PUCCH-f2", "nr-rrc.deltaF_PUCCH_f2",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M16_15", HFILL }},
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f3,
|
|
{ "deltaF-PUCCH-f3", "nr-rrc.deltaF_PUCCH_f3",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M16_15", HFILL }},
|
|
{ &hf_nr_rrc_deltaF_PUCCH_f4,
|
|
{ "deltaF-PUCCH-f4", "nr-rrc.deltaF_PUCCH_f4",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M16_15", HFILL }},
|
|
{ &hf_nr_rrc_p0_Set,
|
|
{ "p0-Set", "nr-rrc.p0_Set",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH", HFILL }},
|
|
{ &hf_nr_rrc_p0_Set_item,
|
|
{ "P0-PUCCH", "nr-rrc.P0_PUCCH_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceRSs,
|
|
{ "pathlossReferenceRSs", "nr-rrc.pathlossReferenceRSs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS", HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceRSs_item,
|
|
{ "PUCCH-PathlossReferenceRS", "nr-rrc.PUCCH_PathlossReferenceRS_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoPUCCH_PC_AdjustmentStates,
|
|
{ "twoPUCCH-PC-AdjustmentStates", "nr-rrc.twoPUCCH_PC_AdjustmentStates",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_PC_AdjustmentStates_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p0_PUCCH_Value,
|
|
{ "p0-PUCCH-Value", "nr-rrc.p0_PUCCH_Value",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M16_15", HFILL }},
|
|
{ &hf_nr_rrc_referenceSignal_01,
|
|
{ "referenceSignal", "nr-rrc.referenceSignal",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_01_vals), 0,
|
|
"T_referenceSignal_01", HFILL }},
|
|
{ &hf_nr_rrc_tpc_IndexPCell,
|
|
{ "tpc-IndexPCell", "nr-rrc.tpc_IndexPCell",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_15", HFILL }},
|
|
{ &hf_nr_rrc_tpc_IndexPUCCH_SCell,
|
|
{ "tpc-IndexPUCCH-SCell", "nr-rrc.tpc_IndexPUCCH_SCell",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_15", HFILL }},
|
|
{ &hf_nr_rrc_dataScramblingIdentityPUSCH,
|
|
{ "dataScramblingIdentityPUSCH", "nr-rrc.dataScramblingIdentityPUSCH",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1023", HFILL }},
|
|
{ &hf_nr_rrc_txConfig,
|
|
{ "txConfig", "nr-rrc.txConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeA,
|
|
{ "dmrs-UplinkForPUSCH-MappingTypeA", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_37,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"DMRS_UplinkConfig", HFILL }},
|
|
{ &hf_nr_rrc_dmrs_UplinkForPUSCH_MappingTypeB,
|
|
{ "dmrs-UplinkForPUSCH-MappingTypeB", "nr-rrc.dmrs_UplinkForPUSCH_MappingTypeB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_PowerControl,
|
|
{ "pusch-PowerControl", "nr-rrc.pusch_PowerControl_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyHopping_01,
|
|
{ "frequencyHopping", "nr-rrc.frequencyHopping",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_frequencyHopping_01_vals), 0,
|
|
"T_frequencyHopping_01", HFILL }},
|
|
{ &hf_nr_rrc_frequencyHoppingOffsetLists,
|
|
{ "frequencyHoppingOffsetLists", "nr-rrc.frequencyHoppingOffsetLists",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_frequencyHoppingOffsetLists_item,
|
|
{ "frequencyHoppingOffsetLists item", "nr-rrc.frequencyHoppingOffsetLists_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofPhysicalResourceBlocks_1", HFILL }},
|
|
{ &hf_nr_rrc_resourceAllocation_02,
|
|
{ "resourceAllocation", "nr-rrc.resourceAllocation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceAllocation_02_vals), 0,
|
|
"T_resourceAllocation_02", HFILL }},
|
|
{ &hf_nr_rrc_pusch_TimeDomainAllocationList,
|
|
{ "pusch-TimeDomainAllocationList", "nr-rrc.pusch_TimeDomainAllocationList",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TimeDomainAllocationList_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_38,
|
|
{ "setup", "nr-rrc.setup",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PUSCH_TimeDomainResourceAllocationList", HFILL }},
|
|
{ &hf_nr_rrc_pusch_AggregationFactor,
|
|
{ "pusch-AggregationFactor", "nr-rrc.pusch_AggregationFactor",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_AggregationFactor_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mcs_Table_02,
|
|
{ "mcs-Table", "nr-rrc.mcs_Table",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_Table_02_vals), 0,
|
|
"T_mcs_Table_02", HFILL }},
|
|
{ &hf_nr_rrc_mcs_TableTransformPrecoder_01,
|
|
{ "mcs-TableTransformPrecoder", "nr-rrc.mcs_TableTransformPrecoder",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mcs_TableTransformPrecoder_01_vals), 0,
|
|
"T_mcs_TableTransformPrecoder_01", HFILL }},
|
|
{ &hf_nr_rrc_transformPrecoder_01,
|
|
{ "transformPrecoder", "nr-rrc.transformPrecoder",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transformPrecoder_01_vals), 0,
|
|
"T_transformPrecoder_01", HFILL }},
|
|
{ &hf_nr_rrc_codebookSubset,
|
|
{ "codebookSubset", "nr-rrc.codebookSubset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codebookSubset_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxRank,
|
|
{ "maxRank", "nr-rrc.maxRank",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_4", HFILL }},
|
|
{ &hf_nr_rrc_rbg_Size_02,
|
|
{ "rbg-Size", "nr-rrc.rbg_Size",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rbg_Size_02_vals), 0,
|
|
"T_rbg_Size_02", HFILL }},
|
|
{ &hf_nr_rrc_uci_OnPUSCH_01,
|
|
{ "uci-OnPUSCH", "nr-rrc.uci_OnPUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_OnPUSCH_01_vals), 0,
|
|
"T_uci_OnPUSCH_01", HFILL }},
|
|
{ &hf_nr_rrc_setup_39,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UCI_OnPUSCH", HFILL }},
|
|
{ &hf_nr_rrc_tp_pi2BPSK,
|
|
{ "tp-pi2BPSK", "nr-rrc.tp_pi2BPSK",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tp_pi2BPSK_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_betaOffsets,
|
|
{ "betaOffsets", "nr-rrc.betaOffsets",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_betaOffsets_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamic_01,
|
|
{ "dynamic", "nr-rrc.dynamic",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_4_OF_BetaOffsets", HFILL }},
|
|
{ &hf_nr_rrc_scaling,
|
|
{ "scaling", "nr-rrc.scaling",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scaling_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_groupHoppingEnabledTransformPrecoding,
|
|
{ "groupHoppingEnabledTransformPrecoding", "nr-rrc.groupHoppingEnabledTransformPrecoding",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupHoppingEnabledTransformPrecoding_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_TimeDomainAllocationList_01,
|
|
{ "pusch-TimeDomainAllocationList", "nr-rrc.pusch_TimeDomainAllocationList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PUSCH_TimeDomainResourceAllocationList", HFILL }},
|
|
{ &hf_nr_rrc_msg3_DeltaPreamble,
|
|
{ "msg3-DeltaPreamble", "nr-rrc.msg3_DeltaPreamble",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M1_6", HFILL }},
|
|
{ &hf_nr_rrc_p0_NominalWithGrant,
|
|
{ "p0-NominalWithGrant", "nr-rrc.p0_NominalWithGrant",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M202_24", HFILL }},
|
|
{ &hf_nr_rrc_tpc_Accumulation,
|
|
{ "tpc-Accumulation", "nr-rrc.tpc_Accumulation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_msg3_Alpha,
|
|
{ "msg3-Alpha", "nr-rrc.msg3_Alpha",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
|
|
"Alpha", HFILL }},
|
|
{ &hf_nr_rrc_p0_NominalWithoutGrant,
|
|
{ "p0-NominalWithoutGrant", "nr-rrc.p0_NominalWithoutGrant",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M202_24", HFILL }},
|
|
{ &hf_nr_rrc_p0_AlphaSets,
|
|
{ "p0-AlphaSets", "nr-rrc.p0_AlphaSets",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet", HFILL }},
|
|
{ &hf_nr_rrc_p0_AlphaSets_item,
|
|
{ "P0-PUSCH-AlphaSet", "nr-rrc.P0_PUSCH_AlphaSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceRSToAddModList,
|
|
{ "pathlossReferenceRSToAddModList", "nr-rrc.pathlossReferenceRSToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS", HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceRSToAddModList_item,
|
|
{ "PUSCH-PathlossReferenceRS", "nr-rrc.PUSCH_PathlossReferenceRS_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceRSToReleaseList,
|
|
{ "pathlossReferenceRSToReleaseList", "nr-rrc.pathlossReferenceRSToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id", HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceRSToReleaseList_item,
|
|
{ "PUSCH-PathlossReferenceRS-Id", "nr-rrc.PUSCH_PathlossReferenceRS_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoPUSCH_PC_AdjustmentStates,
|
|
{ "twoPUSCH-PC-AdjustmentStates", "nr-rrc.twoPUSCH_PC_AdjustmentStates",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUSCH_PC_AdjustmentStates_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_deltaMCS,
|
|
{ "deltaMCS", "nr-rrc.deltaMCS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_deltaMCS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToAddModList,
|
|
{ "sri-PUSCH-MappingToAddModList", "nr-rrc.sri_PUSCH_MappingToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl", HFILL }},
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToAddModList_item,
|
|
{ "SRI-PUSCH-PowerControl", "nr-rrc.SRI_PUSCH_PowerControl_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToReleaseList,
|
|
{ "sri-PUSCH-MappingToReleaseList", "nr-rrc.sri_PUSCH_MappingToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId", HFILL }},
|
|
{ &hf_nr_rrc_sri_PUSCH_MappingToReleaseList_item,
|
|
{ "SRI-PUSCH-PowerControlId", "nr-rrc.SRI_PUSCH_PowerControlId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p0_PUSCH_AlphaSetId,
|
|
{ "p0-PUSCH-AlphaSetId", "nr-rrc.p0_PUSCH_AlphaSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p0,
|
|
{ "p0", "nr-rrc.p0",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M16_15", HFILL }},
|
|
{ &hf_nr_rrc_alpha,
|
|
{ "alpha", "nr-rrc.alpha",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_Alpha_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_PathlossReferenceRS_Id,
|
|
{ "pusch-PathlossReferenceRS-Id", "nr-rrc.pusch_PathlossReferenceRS_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_referenceSignal_02,
|
|
{ "referenceSignal", "nr-rrc.referenceSignal",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_02_vals), 0,
|
|
"T_referenceSignal_02", HFILL }},
|
|
{ &hf_nr_rrc_sri_PUSCH_PowerControlId,
|
|
{ "sri-PUSCH-PowerControlId", "nr-rrc.sri_PUSCH_PowerControlId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sri_PUSCH_PathlossReferenceRS_Id,
|
|
{ "sri-PUSCH-PathlossReferenceRS-Id", "nr-rrc.sri_PUSCH_PathlossReferenceRS_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PUSCH_PathlossReferenceRS_Id", HFILL }},
|
|
{ &hf_nr_rrc_sri_P0_PUSCH_AlphaSetId,
|
|
{ "sri-P0-PUSCH-AlphaSetId", "nr-rrc.sri_P0_PUSCH_AlphaSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"P0_PUSCH_AlphaSetId", HFILL }},
|
|
{ &hf_nr_rrc_sri_PUSCH_ClosedLoopIndex,
|
|
{ "sri-PUSCH-ClosedLoopIndex", "nr-rrc.sri_PUSCH_ClosedLoopIndex",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sri_PUSCH_ClosedLoopIndex_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_betaOffsetACK_Index1,
|
|
{ "betaOffsetACK-Index1", "nr-rrc.betaOffsetACK_Index1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_betaOffsetACK_Index2,
|
|
{ "betaOffsetACK-Index2", "nr-rrc.betaOffsetACK_Index2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_betaOffsetACK_Index3,
|
|
{ "betaOffsetACK-Index3", "nr-rrc.betaOffsetACK_Index3",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part1_Index1,
|
|
{ "betaOffsetCSI-Part1-Index1", "nr-rrc.betaOffsetCSI_Part1_Index1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part1_Index2,
|
|
{ "betaOffsetCSI-Part1-Index2", "nr-rrc.betaOffsetCSI_Part1_Index2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part2_Index1,
|
|
{ "betaOffsetCSI-Part2-Index1", "nr-rrc.betaOffsetCSI_Part2_Index1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_betaOffsetCSI_Part2_Index2,
|
|
{ "betaOffsetCSI-Part2-Index2", "nr-rrc.betaOffsetCSI_Part2_Index2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_codeBlockGroupTransmission_01,
|
|
{ "codeBlockGroupTransmission", "nr-rrc.codeBlockGroupTransmission",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_codeBlockGroupTransmission_01_vals), 0,
|
|
"T_codeBlockGroupTransmission_01", HFILL }},
|
|
{ &hf_nr_rrc_setup_40,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUSCH_CodeBlockGroupTransmission", HFILL }},
|
|
{ &hf_nr_rrc_rateMatching,
|
|
{ "rateMatching", "nr-rrc.rateMatching",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatching_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_xOverhead_01,
|
|
{ "xOverhead", "nr-rrc.xOverhead",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_xOverhead_01_vals), 0,
|
|
"T_xOverhead_01", HFILL }},
|
|
{ &hf_nr_rrc_maxCodeBlockGroupsPerTransportBlock_01,
|
|
{ "maxCodeBlockGroupsPerTransportBlock", "nr-rrc.maxCodeBlockGroupsPerTransportBlock",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxCodeBlockGroupsPerTransportBlock_01_vals), 0,
|
|
"T_maxCodeBlockGroupsPerTransportBlock_01", HFILL }},
|
|
{ &hf_nr_rrc_PUSCH_TimeDomainResourceAllocationList_item,
|
|
{ "PUSCH-TimeDomainResourceAllocation", "nr-rrc.PUSCH_TimeDomainResourceAllocation_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_k2,
|
|
{ "k2", "nr-rrc.k2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_32", HFILL }},
|
|
{ &hf_nr_rrc_mappingType_01,
|
|
{ "mappingType", "nr-rrc.mappingType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mappingType_01_vals), 0,
|
|
"T_mappingType_01", HFILL }},
|
|
{ &hf_nr_rrc_tpc_Index,
|
|
{ "tpc-Index", "nr-rrc.tpc_Index",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_15", HFILL }},
|
|
{ &hf_nr_rrc_tpc_IndexSUL,
|
|
{ "tpc-IndexSUL", "nr-rrc.tpc_IndexSUL",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_15", HFILL }},
|
|
{ &hf_nr_rrc_targetCell,
|
|
{ "targetCell", "nr-rrc.targetCell",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_quantityConfigNR_List,
|
|
{ "quantityConfigNR-List", "nr-rrc.quantityConfigNR_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR", HFILL }},
|
|
{ &hf_nr_rrc_quantityConfigNR_List_item,
|
|
{ "QuantityConfigNR", "nr-rrc.QuantityConfigNR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_quantityConfigCell,
|
|
{ "quantityConfigCell", "nr-rrc.quantityConfigCell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"QuantityConfigRS", HFILL }},
|
|
{ &hf_nr_rrc_quantityConfigRS_Index,
|
|
{ "quantityConfigRS-Index", "nr-rrc.quantityConfigRS_Index_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"QuantityConfigRS", HFILL }},
|
|
{ &hf_nr_rrc_ssb_FilterConfig,
|
|
{ "ssb-FilterConfig", "nr-rrc.ssb_FilterConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"FilterConfig", HFILL }},
|
|
{ &hf_nr_rrc_cs_RS_FilterConfig,
|
|
{ "cs-RS-FilterConfig", "nr-rrc.cs_RS_FilterConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"FilterConfig", HFILL }},
|
|
{ &hf_nr_rrc_filterCoefficientRSRP,
|
|
{ "filterCoefficientRSRP", "nr-rrc.filterCoefficientRSRP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
|
|
"FilterCoefficient", HFILL }},
|
|
{ &hf_nr_rrc_filterCoefficientRSRQ,
|
|
{ "filterCoefficientRSRQ", "nr-rrc.filterCoefficientRSRQ",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
|
|
"FilterCoefficient", HFILL }},
|
|
{ &hf_nr_rrc_filterCoefficientRS_SINR,
|
|
{ "filterCoefficientRS-SINR", "nr-rrc.filterCoefficientRS_SINR",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_FilterCoefficient_vals), 0,
|
|
"FilterCoefficient", HFILL }},
|
|
{ &hf_nr_rrc_rach_ConfigGeneric,
|
|
{ "rach-ConfigGeneric", "nr-rrc.rach_ConfigGeneric_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_totalNumberOfRA_Preambles,
|
|
{ "totalNumberOfRA-Preambles", "nr-rrc.totalNumberOfRA_Preambles",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_63", HFILL }},
|
|
{ &hf_nr_rrc_ssb_perRACH_OccasionAndCB_PreamblesPerSSB,
|
|
{ "ssb-perRACH-OccasionAndCB-PreamblesPerSSB", "nr-rrc.ssb_perRACH_OccasionAndCB_PreamblesPerSSB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_oneEighth,
|
|
{ "oneEighth", "nr-rrc.oneEighth",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneEighth_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_oneFourth,
|
|
{ "oneFourth", "nr-rrc.oneFourth",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneFourth_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_oneHalf,
|
|
{ "oneHalf", "nr-rrc.oneHalf",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_oneHalf_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_one_01,
|
|
{ "one", "nr-rrc.one",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_one_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_two_01,
|
|
{ "two", "nr-rrc.two",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_two_01_vals), 0,
|
|
"T_two_01", HFILL }},
|
|
{ &hf_nr_rrc_four,
|
|
{ "four", "nr-rrc.four",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_16", HFILL }},
|
|
{ &hf_nr_rrc_eight,
|
|
{ "eight", "nr-rrc.eight",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_8", HFILL }},
|
|
{ &hf_nr_rrc_sixteen,
|
|
{ "sixteen", "nr-rrc.sixteen",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_4", HFILL }},
|
|
{ &hf_nr_rrc_groupBconfigured,
|
|
{ "groupBconfigured", "nr-rrc.groupBconfigured_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ra_Msg3SizeGroupA,
|
|
{ "ra-Msg3SizeGroupA", "nr-rrc.ra_Msg3SizeGroupA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_Msg3SizeGroupA_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_messagePowerOffsetGroupB,
|
|
{ "messagePowerOffsetGroupB", "nr-rrc.messagePowerOffsetGroupB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_messagePowerOffsetGroupB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_numberOfRA_PreamblesGroupA,
|
|
{ "numberOfRA-PreamblesGroupA", "nr-rrc.numberOfRA_PreamblesGroupA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_64", HFILL }},
|
|
{ &hf_nr_rrc_ra_ContentionResolutionTimer,
|
|
{ "ra-ContentionResolutionTimer", "nr-rrc.ra_ContentionResolutionTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ContentionResolutionTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rsrp_ThresholdSSB_SUL,
|
|
{ "rsrp-ThresholdSSB-SUL", "nr-rrc.rsrp_ThresholdSSB_SUL",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_prach_RootSequenceIndex,
|
|
{ "prach-RootSequenceIndex", "nr-rrc.prach_RootSequenceIndex",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_prach_RootSequenceIndex_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_l839,
|
|
{ "l839", "nr-rrc.l839",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_837", HFILL }},
|
|
{ &hf_nr_rrc_l139,
|
|
{ "l139", "nr-rrc.l139",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_137", HFILL }},
|
|
{ &hf_nr_rrc_msg1_SubcarrierSpacing,
|
|
{ "msg1-SubcarrierSpacing", "nr-rrc.msg1_SubcarrierSpacing",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
"SubcarrierSpacing", HFILL }},
|
|
{ &hf_nr_rrc_restrictedSetConfig,
|
|
{ "restrictedSetConfig", "nr-rrc.restrictedSetConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_restrictedSetConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_msg3_transformPrecoding,
|
|
{ "msg3-transformPrecoding", "nr-rrc.msg3_transformPrecoding",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg3_transformPrecoding_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_prach_ConfigurationIndex,
|
|
{ "prach-ConfigurationIndex", "nr-rrc.prach_ConfigurationIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_255", HFILL }},
|
|
{ &hf_nr_rrc_msg1_FDM,
|
|
{ "msg1-FDM", "nr-rrc.msg1_FDM",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_msg1_FDM_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_msg1_FrequencyStart,
|
|
{ "msg1-FrequencyStart", "nr-rrc.msg1_FrequencyStart",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofPhysicalResourceBlocks_1", HFILL }},
|
|
{ &hf_nr_rrc_zeroCorrelationZoneConfig,
|
|
{ "zeroCorrelationZoneConfig", "nr-rrc.zeroCorrelationZoneConfig",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_preambleReceivedTargetPower,
|
|
{ "preambleReceivedTargetPower", "nr-rrc.preambleReceivedTargetPower",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M202_M60", HFILL }},
|
|
{ &hf_nr_rrc_preambleTransMax,
|
|
{ "preambleTransMax", "nr-rrc.preambleTransMax",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_preambleTransMax_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_powerRampingStep,
|
|
{ "powerRampingStep", "nr-rrc.powerRampingStep",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStep_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ra_ResponseWindow,
|
|
{ "ra-ResponseWindow", "nr-rrc.ra_ResponseWindow",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_ResponseWindow_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cfra,
|
|
{ "cfra", "nr-rrc.cfra_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_occasions,
|
|
{ "occasions", "nr-rrc.occasions_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_perRACH_Occasion_01,
|
|
{ "ssb-perRACH-Occasion", "nr-rrc.ssb_perRACH_Occasion",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_perRACH_Occasion_01_vals), 0,
|
|
"T_ssb_perRACH_Occasion_01", HFILL }},
|
|
{ &hf_nr_rrc_resources,
|
|
{ "resources", "nr-rrc.resources",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resources_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_02,
|
|
{ "ssb", "nr-rrc.ssb_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_ResourceList,
|
|
{ "ssb-ResourceList", "nr-rrc.ssb_ResourceList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource", HFILL }},
|
|
{ &hf_nr_rrc_ssb_ResourceList_item,
|
|
{ "CFRA-SSB-Resource", "nr-rrc.CFRA_SSB_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csirs,
|
|
{ "csirs", "nr-rrc.csirs_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csirs_ResourceList,
|
|
{ "csirs-ResourceList", "nr-rrc.csirs_ResourceList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource", HFILL }},
|
|
{ &hf_nr_rrc_csirs_ResourceList_item,
|
|
{ "CFRA-CSIRS-Resource", "nr-rrc.CFRA_CSIRS_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rsrp_ThresholdCSI_RS,
|
|
{ "rsrp-ThresholdCSI-RS", "nr-rrc.rsrp_ThresholdCSI_RS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RSRP_Range", HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_02,
|
|
{ "csi-RS", "nr-rrc.csi_RS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"CSI_RS_Index", HFILL }},
|
|
{ &hf_nr_rrc_ra_OccasionList_01,
|
|
{ "ra-OccasionList", "nr-rrc.ra_OccasionList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"T_ra_OccasionList_01", HFILL }},
|
|
{ &hf_nr_rrc_powerRampingStepHighPriority,
|
|
{ "powerRampingStepHighPriority", "nr-rrc.powerRampingStepHighPriority",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_powerRampingStepHighPriority_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scalingFactorBI,
|
|
{ "scalingFactorBI", "nr-rrc.scalingFactorBI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactorBI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srb_ToAddModList,
|
|
{ "srb-ToAddModList", "nr-rrc.srb_ToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srb3_ToRelease,
|
|
{ "srb3-ToRelease", "nr-rrc.srb3_ToRelease",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_ToRelease_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drb_ToAddModList,
|
|
{ "drb-ToAddModList", "nr-rrc.drb_ToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drb_ToReleaseList,
|
|
{ "drb-ToReleaseList", "nr-rrc.drb_ToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_securityConfig,
|
|
{ "securityConfig", "nr-rrc.securityConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_SRB_ToAddModList_item,
|
|
{ "SRB-ToAddMod", "nr-rrc.SRB_ToAddMod_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srb_Identity,
|
|
{ "srb-Identity", "nr-rrc.srb_Identity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reestablishPDCP,
|
|
{ "reestablishPDCP", "nr-rrc.reestablishPDCP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_discardOnPDCP,
|
|
{ "discardOnPDCP", "nr-rrc.discardOnPDCP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_discardOnPDCP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcp_Config,
|
|
{ "pdcp-Config", "nr-rrc.pdcp_Config_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_DRB_ToAddModList_item,
|
|
{ "DRB-ToAddMod", "nr-rrc.DRB_ToAddMod_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cnAssociation,
|
|
{ "cnAssociation", "nr-rrc.cnAssociation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cnAssociation_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_eps_BearerIdentity,
|
|
{ "eps-BearerIdentity", "nr-rrc.eps_BearerIdentity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_sdap_Config,
|
|
{ "sdap-Config", "nr-rrc.sdap_Config_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_drb_Identity,
|
|
{ "drb-Identity", "nr-rrc.drb_Identity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reestablishPDCP_01,
|
|
{ "reestablishPDCP", "nr-rrc.reestablishPDCP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishPDCP_01_vals), 0,
|
|
"T_reestablishPDCP_01", HFILL }},
|
|
{ &hf_nr_rrc_recoverPDCP,
|
|
{ "recoverPDCP", "nr-rrc.recoverPDCP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_recoverPDCP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_DRB_ToReleaseList_item,
|
|
{ "DRB-Identity", "nr-rrc.DRB_Identity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_securityAlgorithmConfig,
|
|
{ "securityAlgorithmConfig", "nr-rrc.securityAlgorithmConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_keyToUse,
|
|
{ "keyToUse", "nr-rrc.keyToUse",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_keyToUse_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_failureDetectionResourcesToAddModList,
|
|
{ "failureDetectionResourcesToAddModList", "nr-rrc.failureDetectionResourcesToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS", HFILL }},
|
|
{ &hf_nr_rrc_failureDetectionResourcesToAddModList_item,
|
|
{ "RadioLinkMonitoringRS", "nr-rrc.RadioLinkMonitoringRS_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_failureDetectionResourcesToReleaseList,
|
|
{ "failureDetectionResourcesToReleaseList", "nr-rrc.failureDetectionResourcesToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id", HFILL }},
|
|
{ &hf_nr_rrc_failureDetectionResourcesToReleaseList_item,
|
|
{ "RadioLinkMonitoringRS-Id", "nr-rrc.RadioLinkMonitoringRS_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_beamFailureInstanceMaxCount,
|
|
{ "beamFailureInstanceMaxCount", "nr-rrc.beamFailureInstanceMaxCount",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureInstanceMaxCount_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_beamFailureDetectionTimer,
|
|
{ "beamFailureDetectionTimer", "nr-rrc.beamFailureDetectionTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamFailureDetectionTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_radioLinkMonitoringRS_Id,
|
|
{ "radioLinkMonitoringRS-Id", "nr-rrc.radioLinkMonitoringRS_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_purpose,
|
|
{ "purpose", "nr-rrc.purpose",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_purpose_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_detectionResource,
|
|
{ "detectionResource", "nr-rrc.detectionResource",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_detectionResource_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rateMatchPatternId,
|
|
{ "rateMatchPatternId", "nr-rrc.rateMatchPatternId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_patternType,
|
|
{ "patternType", "nr-rrc.patternType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_patternType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bitmaps,
|
|
{ "bitmaps", "nr-rrc.bitmaps_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceBlocks,
|
|
{ "resourceBlocks", "nr-rrc.resourceBlocks",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_275", HFILL }},
|
|
{ &hf_nr_rrc_symbolsInResourceBlock,
|
|
{ "symbolsInResourceBlock", "nr-rrc.symbolsInResourceBlock",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbolsInResourceBlock_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_oneSlot,
|
|
{ "oneSlot", "nr-rrc.oneSlot",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_14", HFILL }},
|
|
{ &hf_nr_rrc_twoSlots,
|
|
{ "twoSlots", "nr-rrc.twoSlots",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_28", HFILL }},
|
|
{ &hf_nr_rrc_periodicityAndPattern,
|
|
{ "periodicityAndPattern", "nr-rrc.periodicityAndPattern",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndPattern_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_n2,
|
|
{ "n2", "nr-rrc.n2",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_n4,
|
|
{ "n4", "nr-rrc.n4",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_4", HFILL }},
|
|
{ &hf_nr_rrc_n5,
|
|
{ "n5", "nr-rrc.n5",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_5", HFILL }},
|
|
{ &hf_nr_rrc_n8,
|
|
{ "n8", "nr-rrc.n8",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_n10,
|
|
{ "n10", "nr-rrc.n10",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_10", HFILL }},
|
|
{ &hf_nr_rrc_n20,
|
|
{ "n20", "nr-rrc.n20",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_20", HFILL }},
|
|
{ &hf_nr_rrc_n40,
|
|
{ "n40", "nr-rrc.n40",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_40", HFILL }},
|
|
{ &hf_nr_rrc_controlResourceSet,
|
|
{ "controlResourceSet", "nr-rrc.controlResourceSet",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ControlResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_mode,
|
|
{ "mode", "nr-rrc.mode",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mode_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_carrierFreqDL,
|
|
{ "carrierFreqDL", "nr-rrc.carrierFreqDL",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_16383", HFILL }},
|
|
{ &hf_nr_rrc_carrierBandwidthDL,
|
|
{ "carrierBandwidthDL", "nr-rrc.carrierBandwidthDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierBandwidthDL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mbsfn_SubframeConfigList,
|
|
{ "mbsfn-SubframeConfigList", "nr-rrc.mbsfn_SubframeConfigList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"EUTRA_MBSFN_SubframeConfigList", HFILL }},
|
|
{ &hf_nr_rrc_nrofCRS_Ports,
|
|
{ "nrofCRS-Ports", "nr-rrc.nrofCRS_Ports",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofCRS_Ports_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_v_Shift,
|
|
{ "v-Shift", "nr-rrc.v_Shift",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_v_Shift_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportType,
|
|
{ "reportType", "nr-rrc.reportType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_periodical,
|
|
{ "periodical", "nr-rrc.periodical_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PeriodicalReportConfig", HFILL }},
|
|
{ &hf_nr_rrc_eventTriggered,
|
|
{ "eventTriggered", "nr-rrc.eventTriggered_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"EventTriggerConfig", HFILL }},
|
|
{ &hf_nr_rrc_eventId,
|
|
{ "eventId", "nr-rrc.eventId",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventId_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_eventA1,
|
|
{ "eventA1", "nr-rrc.eventA1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_a1_Threshold,
|
|
{ "a1-Threshold", "nr-rrc.a1_Threshold",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
|
|
"MeasTriggerQuantity", HFILL }},
|
|
{ &hf_nr_rrc_reportOnLeave,
|
|
{ "reportOnLeave", "nr-rrc.reportOnLeave",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_hysteresis,
|
|
{ "hysteresis", "nr-rrc.hysteresis",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_timeToTrigger,
|
|
{ "timeToTrigger", "nr-rrc.timeToTrigger",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeToTrigger_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_eventA2,
|
|
{ "eventA2", "nr-rrc.eventA2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_a2_Threshold,
|
|
{ "a2-Threshold", "nr-rrc.a2_Threshold",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
|
|
"MeasTriggerQuantity", HFILL }},
|
|
{ &hf_nr_rrc_eventA3,
|
|
{ "eventA3", "nr-rrc.eventA3_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_a3_Offset,
|
|
{ "a3-Offset", "nr-rrc.a3_Offset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0,
|
|
"MeasTriggerQuantityOffset", HFILL }},
|
|
{ &hf_nr_rrc_useWhiteCellList,
|
|
{ "useWhiteCellList", "nr-rrc.useWhiteCellList",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_eventA4,
|
|
{ "eventA4", "nr-rrc.eventA4_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_a4_Threshold,
|
|
{ "a4-Threshold", "nr-rrc.a4_Threshold",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
|
|
"MeasTriggerQuantity", HFILL }},
|
|
{ &hf_nr_rrc_eventA5,
|
|
{ "eventA5", "nr-rrc.eventA5_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_a5_Threshold1,
|
|
{ "a5-Threshold1", "nr-rrc.a5_Threshold1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
|
|
"MeasTriggerQuantity", HFILL }},
|
|
{ &hf_nr_rrc_a5_Threshold2,
|
|
{ "a5-Threshold2", "nr-rrc.a5_Threshold2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantity_vals), 0,
|
|
"MeasTriggerQuantity", HFILL }},
|
|
{ &hf_nr_rrc_eventA6,
|
|
{ "eventA6", "nr-rrc.eventA6_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_a6_Offset,
|
|
{ "a6-Offset", "nr-rrc.a6_Offset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MeasTriggerQuantityOffset_vals), 0,
|
|
"MeasTriggerQuantityOffset", HFILL }},
|
|
{ &hf_nr_rrc_rsType,
|
|
{ "rsType", "nr-rrc.rsType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_NR_RS_Type_vals), 0,
|
|
"NR_RS_Type", HFILL }},
|
|
{ &hf_nr_rrc_reportInterval,
|
|
{ "reportInterval", "nr-rrc.reportInterval",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_ReportInterval_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportAmount,
|
|
{ "reportAmount", "nr-rrc.reportAmount",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportQuantityCell,
|
|
{ "reportQuantityCell", "nr-rrc.reportQuantityCell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasReportQuantity", HFILL }},
|
|
{ &hf_nr_rrc_maxReportCells,
|
|
{ "maxReportCells", "nr-rrc.maxReportCells",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxCellReport", HFILL }},
|
|
{ &hf_nr_rrc_reportQuantityRsIndexes,
|
|
{ "reportQuantityRsIndexes", "nr-rrc.reportQuantityRsIndexes_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"MeasReportQuantity", HFILL }},
|
|
{ &hf_nr_rrc_maxNrofRSIndexesToReport,
|
|
{ "maxNrofRSIndexesToReport", "nr-rrc.maxNrofRSIndexesToReport",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofIndexesToReport", HFILL }},
|
|
{ &hf_nr_rrc_includeBeamMeasurements,
|
|
{ "includeBeamMeasurements", "nr-rrc.includeBeamMeasurements",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_reportAddNeighMeas,
|
|
{ "reportAddNeighMeas", "nr-rrc.reportAddNeighMeas",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAddNeighMeas_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportAmount_01,
|
|
{ "reportAmount", "nr-rrc.reportAmount",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportAmount_01_vals), 0,
|
|
"T_reportAmount_01", HFILL }},
|
|
{ &hf_nr_rrc_maxNrofRsIndexesToReport,
|
|
{ "maxNrofRsIndexesToReport", "nr-rrc.maxNrofRsIndexesToReport",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofIndexesToReport", HFILL }},
|
|
{ &hf_nr_rrc_rsrp_01,
|
|
{ "rsrp", "nr-rrc.rsrp",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M30_30", HFILL }},
|
|
{ &hf_nr_rrc_rsrq_01,
|
|
{ "rsrq", "nr-rrc.rsrq",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M30_30", HFILL }},
|
|
{ &hf_nr_rrc_sinr_01,
|
|
{ "sinr", "nr-rrc.sinr",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M30_30", HFILL }},
|
|
{ &hf_nr_rrc_rsrp_02,
|
|
{ "rsrp", "nr-rrc.rsrp",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_rsrq_02,
|
|
{ "rsrq", "nr-rrc.rsrq",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_sinr_02,
|
|
{ "sinr", "nr-rrc.sinr",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_ReportConfigToAddModList_item,
|
|
{ "ReportConfigToAddMod", "nr-rrc.ReportConfigToAddMod_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportConfig,
|
|
{ "reportConfig", "nr-rrc.reportConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reportConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reportConfigNR,
|
|
{ "reportConfigNR", "nr-rrc.reportConfigNR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_logicalChannelIdentity,
|
|
{ "logicalChannelIdentity", "nr-rrc.logicalChannelIdentity",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_servedRadioBearer,
|
|
{ "servedRadioBearer", "nr-rrc.servedRadioBearer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_servedRadioBearer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_reestablishRLC,
|
|
{ "reestablishRLC", "nr-rrc.reestablishRLC",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_reestablishRLC_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rlc_Config,
|
|
{ "rlc-Config", "nr-rrc.rlc_Config",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_RLC_Config_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mac_LogicalChannelConfig,
|
|
{ "mac-LogicalChannelConfig", "nr-rrc.mac_LogicalChannelConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"LogicalChannelConfig", HFILL }},
|
|
{ &hf_nr_rrc_am,
|
|
{ "am", "nr-rrc.am_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ul_AM_RLC,
|
|
{ "ul-AM-RLC", "nr-rrc.ul_AM_RLC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dl_AM_RLC,
|
|
{ "dl-AM-RLC", "nr-rrc.dl_AM_RLC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_um_Bi_Directional,
|
|
{ "um-Bi-Directional", "nr-rrc.um_Bi_Directional_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ul_UM_RLC,
|
|
{ "ul-UM-RLC", "nr-rrc.ul_UM_RLC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dl_UM_RLC,
|
|
{ "dl-UM-RLC", "nr-rrc.dl_UM_RLC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_um_Uni_Directional_UL,
|
|
{ "um-Uni-Directional-UL", "nr-rrc.um_Uni_Directional_UL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_um_Uni_Directional_DL,
|
|
{ "um-Uni-Directional-DL", "nr-rrc.um_Uni_Directional_DL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sn_FieldLength,
|
|
{ "sn-FieldLength", "nr-rrc.sn_FieldLength",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthAM_vals), 0,
|
|
"SN_FieldLengthAM", HFILL }},
|
|
{ &hf_nr_rrc_t_PollRetransmit,
|
|
{ "t-PollRetransmit", "nr-rrc.t_PollRetransmit",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_PollRetransmit_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pollPDU,
|
|
{ "pollPDU", "nr-rrc.pollPDU",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollPDU_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pollByte,
|
|
{ "pollByte", "nr-rrc.pollByte",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_PollByte_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxRetxThreshold,
|
|
{ "maxRetxThreshold", "nr-rrc.maxRetxThreshold",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxRetxThreshold_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_t_Reassembly,
|
|
{ "t-Reassembly", "nr-rrc.t_Reassembly",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_Reassembly_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_t_StatusProhibit,
|
|
{ "t-StatusProhibit", "nr-rrc.t_StatusProhibit",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_StatusProhibit_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sn_FieldLength_01,
|
|
{ "sn-FieldLength", "nr-rrc.sn_FieldLength",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SN_FieldLengthUM_vals), 0,
|
|
"SN_FieldLengthUM", HFILL }},
|
|
{ &hf_nr_rrc_t310,
|
|
{ "t310", "nr-rrc.t310",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_t310_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_n310,
|
|
{ "n310", "nr-rrc.n310",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n310_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_n311,
|
|
{ "n311", "nr-rrc.n311",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n311_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestToAddModList,
|
|
{ "schedulingRequestToAddModList", "nr-rrc.schedulingRequestToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod", HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestToAddModList_item,
|
|
{ "SchedulingRequestToAddMod", "nr-rrc.SchedulingRequestToAddMod_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestToReleaseList,
|
|
{ "schedulingRequestToReleaseList", "nr-rrc.schedulingRequestToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId", HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestToReleaseList_item,
|
|
{ "SchedulingRequestId", "nr-rrc.SchedulingRequestId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestId,
|
|
{ "schedulingRequestId", "nr-rrc.schedulingRequestId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sr_ProhibitTimer,
|
|
{ "sr-ProhibitTimer", "nr-rrc.sr_ProhibitTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_ProhibitTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sr_TransMax,
|
|
{ "sr-TransMax", "nr-rrc.sr_TransMax",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sr_TransMax_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_schedulingRequestResourceId,
|
|
{ "schedulingRequestResourceId", "nr-rrc.schedulingRequestResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_periodicityAndOffset_01,
|
|
{ "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sym2,
|
|
{ "sym2", "nr-rrc.sym2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sym6or7,
|
|
{ "sym6or7", "nr-rrc.sym6or7_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sl1,
|
|
{ "sl1", "nr-rrc.sl1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sl2,
|
|
{ "sl2", "nr-rrc.sl2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1", HFILL }},
|
|
{ &hf_nr_rrc_sl4,
|
|
{ "sl4", "nr-rrc.sl4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_sl5,
|
|
{ "sl5", "nr-rrc.sl5",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_4", HFILL }},
|
|
{ &hf_nr_rrc_sl8,
|
|
{ "sl8", "nr-rrc.sl8",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_7", HFILL }},
|
|
{ &hf_nr_rrc_sl10,
|
|
{ "sl10", "nr-rrc.sl10",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_9", HFILL }},
|
|
{ &hf_nr_rrc_sl16,
|
|
{ "sl16", "nr-rrc.sl16",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_15", HFILL }},
|
|
{ &hf_nr_rrc_sl20,
|
|
{ "sl20", "nr-rrc.sl20",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_19", HFILL }},
|
|
{ &hf_nr_rrc_sl40,
|
|
{ "sl40", "nr-rrc.sl40",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_39", HFILL }},
|
|
{ &hf_nr_rrc_sl80,
|
|
{ "sl80", "nr-rrc.sl80",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_79", HFILL }},
|
|
{ &hf_nr_rrc_sl160,
|
|
{ "sl160", "nr-rrc.sl160",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_159", HFILL }},
|
|
{ &hf_nr_rrc_sl320,
|
|
{ "sl320", "nr-rrc.sl320",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_319", HFILL }},
|
|
{ &hf_nr_rrc_sl640,
|
|
{ "sl640", "nr-rrc.sl640",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_639", HFILL }},
|
|
{ &hf_nr_rrc_resource_01,
|
|
{ "resource", "nr-rrc.resource",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PUCCH_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_offsetToCarrier,
|
|
{ "offsetToCarrier", "nr-rrc.offsetToCarrier",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_2199", HFILL }},
|
|
{ &hf_nr_rrc_carrierBandwidth,
|
|
{ "carrierBandwidth", "nr-rrc.carrierBandwidth",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofPhysicalResourceBlocks", HFILL }},
|
|
{ &hf_nr_rrc_pdu_Session,
|
|
{ "pdu-Session", "nr-rrc.pdu_Session",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PDU_SessionID", HFILL }},
|
|
{ &hf_nr_rrc_sdap_HeaderDL,
|
|
{ "sdap-HeaderDL", "nr-rrc.sdap_HeaderDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderDL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sdap_HeaderUL,
|
|
{ "sdap-HeaderUL", "nr-rrc.sdap_HeaderUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sdap_HeaderUL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_defaultDRB,
|
|
{ "defaultDRB", "nr-rrc.defaultDRB",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_mappedQoS_FlowsToAdd,
|
|
{ "mappedQoS-FlowsToAdd", "nr-rrc.mappedQoS_FlowsToAdd",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }},
|
|
{ &hf_nr_rrc_mappedQoS_FlowsToAdd_item,
|
|
{ "QFI", "nr-rrc.QFI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mappedQoS_FlowsToRelease,
|
|
{ "mappedQoS-FlowsToRelease", "nr-rrc.mappedQoS_FlowsToRelease",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI", HFILL }},
|
|
{ &hf_nr_rrc_mappedQoS_FlowsToRelease_item,
|
|
{ "QFI", "nr-rrc.QFI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_searchSpaceId,
|
|
{ "searchSpaceId", "nr-rrc.searchSpaceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_monitoringSlotPeriodicityAndOffset,
|
|
{ "monitoringSlotPeriodicityAndOffset", "nr-rrc.monitoringSlotPeriodicityAndOffset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringSlotPeriodicityAndOffset_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sl1280,
|
|
{ "sl1280", "nr-rrc.sl1280",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1279", HFILL }},
|
|
{ &hf_nr_rrc_sl2560,
|
|
{ "sl2560", "nr-rrc.sl2560",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_2559", HFILL }},
|
|
{ &hf_nr_rrc_duration_01,
|
|
{ "duration", "nr-rrc.duration",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_2_2559", HFILL }},
|
|
{ &hf_nr_rrc_monitoringSymbolsWithinSlot,
|
|
{ "monitoringSymbolsWithinSlot", "nr-rrc.monitoringSymbolsWithinSlot",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_14", HFILL }},
|
|
{ &hf_nr_rrc_nrofCandidates,
|
|
{ "nrofCandidates", "nr-rrc.nrofCandidates_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel1,
|
|
{ "aggregationLevel1", "nr-rrc.aggregationLevel1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel2,
|
|
{ "aggregationLevel2", "nr-rrc.aggregationLevel2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel4,
|
|
{ "aggregationLevel4", "nr-rrc.aggregationLevel4",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel8,
|
|
{ "aggregationLevel8", "nr-rrc.aggregationLevel8",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel16,
|
|
{ "aggregationLevel16", "nr-rrc.aggregationLevel16",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_searchSpaceType,
|
|
{ "searchSpaceType", "nr-rrc.searchSpaceType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_common,
|
|
{ "common", "nr-rrc.common_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dci_Format0_0_AndFormat1_0,
|
|
{ "dci-Format0-0-AndFormat1-0", "nr-rrc.dci_Format0_0_AndFormat1_0_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dci_Format2_0,
|
|
{ "dci-Format2-0", "nr-rrc.dci_Format2_0_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofCandidates_SFI,
|
|
{ "nrofCandidates-SFI", "nr-rrc.nrofCandidates_SFI_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel1_01,
|
|
{ "aggregationLevel1", "nr-rrc.aggregationLevel1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel1_01_vals), 0,
|
|
"T_aggregationLevel1_01", HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel2_01,
|
|
{ "aggregationLevel2", "nr-rrc.aggregationLevel2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel2_01_vals), 0,
|
|
"T_aggregationLevel2_01", HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel4_01,
|
|
{ "aggregationLevel4", "nr-rrc.aggregationLevel4",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel4_01_vals), 0,
|
|
"T_aggregationLevel4_01", HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel8_01,
|
|
{ "aggregationLevel8", "nr-rrc.aggregationLevel8",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel8_01_vals), 0,
|
|
"T_aggregationLevel8_01", HFILL }},
|
|
{ &hf_nr_rrc_aggregationLevel16_01,
|
|
{ "aggregationLevel16", "nr-rrc.aggregationLevel16",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aggregationLevel16_01_vals), 0,
|
|
"T_aggregationLevel16_01", HFILL }},
|
|
{ &hf_nr_rrc_dci_Format2_1,
|
|
{ "dci-Format2-1", "nr-rrc.dci_Format2_1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dci_Format2_2,
|
|
{ "dci-Format2-2", "nr-rrc.dci_Format2_2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dci_Format2_3,
|
|
{ "dci-Format2-3", "nr-rrc.dci_Format2_3_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_monitoringPeriodicity,
|
|
{ "monitoringPeriodicity", "nr-rrc.monitoringPeriodicity",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_monitoringPeriodicity_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofPDCCH_Candidates,
|
|
{ "nrofPDCCH-Candidates", "nr-rrc.nrofPDCCH_Candidates",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofPDCCH_Candidates_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ue_Specific,
|
|
{ "ue-Specific", "nr-rrc.ue_Specific_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dci_Formats,
|
|
{ "dci-Formats", "nr-rrc.dci_Formats",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dci_Formats_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cipheringAlgorithm,
|
|
{ "cipheringAlgorithm", "nr-rrc.cipheringAlgorithm",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_CipheringAlgorithm_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_integrityProtAlgorithm,
|
|
{ "integrityProtAlgorithm", "nr-rrc.integrityProtAlgorithm",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_IntegrityProtAlgorithm_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tdd_UL_DL_ConfigurationDedicated,
|
|
{ "tdd-UL-DL-ConfigurationDedicated", "nr-rrc.tdd_UL_DL_ConfigurationDedicated_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"TDD_UL_DL_ConfigDedicated", HFILL }},
|
|
{ &hf_nr_rrc_initialDownlinkBWP_01,
|
|
{ "initialDownlinkBWP", "nr-rrc.initialDownlinkBWP_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_DownlinkDedicated", HFILL }},
|
|
{ &hf_nr_rrc_downlinkBWP_ToReleaseList,
|
|
{ "downlinkBWP-ToReleaseList", "nr-rrc.downlinkBWP_ToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }},
|
|
{ &hf_nr_rrc_downlinkBWP_ToReleaseList_item,
|
|
{ "BWP-Id", "nr-rrc.BWP_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_downlinkBWP_ToAddModList,
|
|
{ "downlinkBWP-ToAddModList", "nr-rrc.downlinkBWP_ToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink", HFILL }},
|
|
{ &hf_nr_rrc_downlinkBWP_ToAddModList_item,
|
|
{ "BWP-Downlink", "nr-rrc.BWP_Downlink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_firstActiveDownlinkBWP_Id,
|
|
{ "firstActiveDownlinkBWP-Id", "nr-rrc.firstActiveDownlinkBWP_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BWP_Id", HFILL }},
|
|
{ &hf_nr_rrc_bwp_InactivityTimer,
|
|
{ "bwp-InactivityTimer", "nr-rrc.bwp_InactivityTimer",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_bwp_InactivityTimer_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_defaultDownlinkBWP_Id,
|
|
{ "defaultDownlinkBWP-Id", "nr-rrc.defaultDownlinkBWP_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BWP_Id", HFILL }},
|
|
{ &hf_nr_rrc_uplinkConfig,
|
|
{ "uplinkConfig", "nr-rrc.uplinkConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supplementaryUplink_02,
|
|
{ "supplementaryUplink", "nr-rrc.supplementaryUplink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UplinkConfig", HFILL }},
|
|
{ &hf_nr_rrc_pdcch_ServingCellConfig,
|
|
{ "pdcch-ServingCellConfig", "nr-rrc.pdcch_ServingCellConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_ServingCellConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_41,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PDCCH_ServingCellConfig", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_ServingCellConfig,
|
|
{ "pdsch-ServingCellConfig", "nr-rrc.pdsch_ServingCellConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_ServingCellConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_42,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PDSCH_ServingCellConfig", HFILL }},
|
|
{ &hf_nr_rrc_csi_MeasConfig,
|
|
{ "csi-MeasConfig", "nr-rrc.csi_MeasConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_MeasConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_43,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"CSI_MeasConfig", HFILL }},
|
|
{ &hf_nr_rrc_sCellDeactivationTimer,
|
|
{ "sCellDeactivationTimer", "nr-rrc.sCellDeactivationTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sCellDeactivationTimer_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_crossCarrierSchedulingConfig,
|
|
{ "crossCarrierSchedulingConfig", "nr-rrc.crossCarrierSchedulingConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ue_BeamLockFunction,
|
|
{ "ue-BeamLockFunction", "nr-rrc.ue_BeamLockFunction",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_BeamLockFunction_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceLinking,
|
|
{ "pathlossReferenceLinking", "nr-rrc.pathlossReferenceLinking",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceLinking_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_servingCellMO,
|
|
{ "servingCellMO", "nr-rrc.servingCellMO",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"MeasObjectId", HFILL }},
|
|
{ &hf_nr_rrc_initialUplinkBWP,
|
|
{ "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_UplinkDedicated", HFILL }},
|
|
{ &hf_nr_rrc_uplinkBWP_ToReleaseList,
|
|
{ "uplinkBWP-ToReleaseList", "nr-rrc.uplinkBWP_ToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id", HFILL }},
|
|
{ &hf_nr_rrc_uplinkBWP_ToReleaseList_item,
|
|
{ "BWP-Id", "nr-rrc.BWP_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_uplinkBWP_ToAddModList,
|
|
{ "uplinkBWP-ToAddModList", "nr-rrc.uplinkBWP_ToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink", HFILL }},
|
|
{ &hf_nr_rrc_uplinkBWP_ToAddModList_item,
|
|
{ "BWP-Uplink", "nr-rrc.BWP_Uplink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_firstActiveUplinkBWP_Id,
|
|
{ "firstActiveUplinkBWP-Id", "nr-rrc.firstActiveUplinkBWP_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BWP_Id", HFILL }},
|
|
{ &hf_nr_rrc_pusch_ServingCellConfig,
|
|
{ "pusch-ServingCellConfig", "nr-rrc.pusch_ServingCellConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_ServingCellConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_44,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PUSCH_ServingCellConfig", HFILL }},
|
|
{ &hf_nr_rrc_carrierSwitching,
|
|
{ "carrierSwitching", "nr-rrc.carrierSwitching",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_carrierSwitching_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_45,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SRS_CarrierSwitching", HFILL }},
|
|
{ &hf_nr_rrc_downlinkConfigCommon,
|
|
{ "downlinkConfigCommon", "nr-rrc.downlinkConfigCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supplementaryUplinkConfig,
|
|
{ "supplementaryUplinkConfig", "nr-rrc.supplementaryUplinkConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UplinkConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_n_TimingAdvanceOffset,
|
|
{ "n-TimingAdvanceOffset", "nr-rrc.n_TimingAdvanceOffset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_n_TimingAdvanceOffset_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ssb_PositionsInBurst_01,
|
|
{ "ssb-PositionsInBurst", "nr-rrc.ssb_PositionsInBurst",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_PositionsInBurst_01_vals), 0,
|
|
"T_ssb_PositionsInBurst_01", HFILL }},
|
|
{ &hf_nr_rrc_ssb_periodicityServingCell,
|
|
{ "ssb-periodicityServingCell", "nr-rrc.ssb_periodicityServingCell",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ssb_periodicityServingCell_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dmrs_TypeA_Position_01,
|
|
{ "dmrs-TypeA-Position", "nr-rrc.dmrs_TypeA_Position",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dmrs_TypeA_Position_01_vals), 0,
|
|
"T_dmrs_TypeA_Position_01", HFILL }},
|
|
{ &hf_nr_rrc_lte_CRS_ToMatchAround,
|
|
{ "lte-CRS-ToMatchAround", "nr-rrc.lte_CRS_ToMatchAround",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lte_CRS_ToMatchAround_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_setup_46,
|
|
{ "setup", "nr-rrc.setup_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"RateMatchPatternLTE_CRS", HFILL }},
|
|
{ &hf_nr_rrc_tdd_UL_DL_ConfigurationCommon,
|
|
{ "tdd-UL-DL-ConfigurationCommon", "nr-rrc.tdd_UL_DL_ConfigurationCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"TDD_UL_DL_ConfigCommon", HFILL }},
|
|
{ &hf_nr_rrc_subcarrierSpacing2,
|
|
{ "subcarrierSpacing2", "nr-rrc.subcarrierSpacing2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
"SubcarrierSpacing", HFILL }},
|
|
{ &hf_nr_rrc_slotFormatCombinations,
|
|
{ "slotFormatCombinations", "nr-rrc.slotFormatCombinations",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination", HFILL }},
|
|
{ &hf_nr_rrc_slotFormatCombinations_item,
|
|
{ "SlotFormatCombination", "nr-rrc.SlotFormatCombination_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_positionInDCI_01,
|
|
{ "positionInDCI", "nr-rrc.positionInDCI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxSFI_DCI_PayloadSize_1", HFILL }},
|
|
{ &hf_nr_rrc_slotFormatCombinationId,
|
|
{ "slotFormatCombinationId", "nr-rrc.slotFormatCombinationId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slotFormats,
|
|
{ "slotFormats", "nr-rrc.slotFormats",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slotFormats_item,
|
|
{ "slotFormats item", "nr-rrc.slotFormats_item",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_255", HFILL }},
|
|
{ &hf_nr_rrc_sfi_RNTI,
|
|
{ "sfi-RNTI", "nr-rrc.sfi_RNTI",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"RNTI_Value", HFILL }},
|
|
{ &hf_nr_rrc_dci_PayloadSize_01,
|
|
{ "dci-PayloadSize", "nr-rrc.dci_PayloadSize",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxSFI_DCI_PayloadSize", HFILL }},
|
|
{ &hf_nr_rrc_slotFormatCombToAddModList,
|
|
{ "slotFormatCombToAddModList", "nr-rrc.slotFormatCombToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell", HFILL }},
|
|
{ &hf_nr_rrc_slotFormatCombToAddModList_item,
|
|
{ "SlotFormatCombinationsPerCell", "nr-rrc.SlotFormatCombinationsPerCell_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slotFormatCombToReleaseList,
|
|
{ "slotFormatCombToReleaseList", "nr-rrc.slotFormatCombToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_slotFormatCombToReleaseList_item,
|
|
{ "ServCellIndex", "nr-rrc.ServCellIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measurementSlots,
|
|
{ "measurementSlots", "nr-rrc.measurementSlots",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_1_80", HFILL }},
|
|
{ &hf_nr_rrc_endSymbol,
|
|
{ "endSymbol", "nr-rrc.endSymbol",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_periodicity_01,
|
|
{ "periodicity", "nr-rrc.periodicity",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_periodicity_01_vals_ext, 0,
|
|
"T_periodicity_01", HFILL }},
|
|
{ &hf_nr_rrc_nrofHARQ_Processes_01,
|
|
{ "nrofHARQ-Processes", "nr-rrc.nrofHARQ_Processes",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_8", HFILL }},
|
|
{ &hf_nr_rrc_n1PUCCH_AN,
|
|
{ "n1PUCCH-AN", "nr-rrc.n1PUCCH_AN",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"PUCCH_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceSetToReleaseList,
|
|
{ "srs-ResourceSetToReleaseList", "nr-rrc.srs_ResourceSetToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceSetToReleaseList_item,
|
|
{ "SRS-ResourceSetId", "nr-rrc.SRS_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceSetToAddModList,
|
|
{ "srs-ResourceSetToAddModList", "nr-rrc.srs_ResourceSetToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceSetToAddModList_item,
|
|
{ "SRS-ResourceSet", "nr-rrc.SRS_ResourceSet_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceToReleaseList,
|
|
{ "srs-ResourceToReleaseList", "nr-rrc.srs_ResourceToReleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceToReleaseList_item,
|
|
{ "SRS-ResourceId", "nr-rrc.SRS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceToAddModList,
|
|
{ "srs-ResourceToAddModList", "nr-rrc.srs_ResourceToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceToAddModList_item,
|
|
{ "SRS-Resource", "nr-rrc.SRS_Resource_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tpc_Accumulation_01,
|
|
{ "tpc-Accumulation", "nr-rrc.tpc_Accumulation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_Accumulation_01_vals), 0,
|
|
"T_tpc_Accumulation_01", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceSetId,
|
|
{ "srs-ResourceSetId", "nr-rrc.srs_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceIdList,
|
|
{ "srs-ResourceIdList", "nr-rrc.srs_ResourceIdList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceIdList_item,
|
|
{ "SRS-ResourceId", "nr-rrc.SRS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceType_01,
|
|
{ "resourceType", "nr-rrc.resourceType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_01_vals), 0,
|
|
"T_resourceType_01", HFILL }},
|
|
{ &hf_nr_rrc_aperiodic_01,
|
|
{ "aperiodic", "nr-rrc.aperiodic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_aperiodic_01", HFILL }},
|
|
{ &hf_nr_rrc_aperiodicSRS_ResourceTrigger,
|
|
{ "aperiodicSRS-ResourceTrigger", "nr-rrc.aperiodicSRS_ResourceTrigger",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofSRS_TriggerStates_1", HFILL }},
|
|
{ &hf_nr_rrc_slotOffset,
|
|
{ "slotOffset", "nr-rrc.slotOffset",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_32", HFILL }},
|
|
{ &hf_nr_rrc_semi_persistent,
|
|
{ "semi-persistent", "nr-rrc.semi_persistent_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_associatedCSI_RS,
|
|
{ "associatedCSI-RS", "nr-rrc.associatedCSI_RS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_periodic_01,
|
|
{ "periodic", "nr-rrc.periodic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_periodic_01", HFILL }},
|
|
{ &hf_nr_rrc_usage,
|
|
{ "usage", "nr-rrc.usage",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_usage_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_p0_01,
|
|
{ "p0", "nr-rrc.p0",
|
|
FT_INT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_M202_24", HFILL }},
|
|
{ &hf_nr_rrc_pathlossReferenceRS,
|
|
{ "pathlossReferenceRS", "nr-rrc.pathlossReferenceRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pathlossReferenceRS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_PowerControlAdjustmentStates,
|
|
{ "srs-PowerControlAdjustmentStates", "nr-rrc.srs_PowerControlAdjustmentStates",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_PowerControlAdjustmentStates_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_ResourceId,
|
|
{ "srs-ResourceId", "nr-rrc.srs_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofSRS_Ports,
|
|
{ "nrofSRS-Ports", "nr-rrc.nrofSRS_Ports",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSRS_Ports_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ptrs_PortIndex,
|
|
{ "ptrs-PortIndex", "nr-rrc.ptrs_PortIndex",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ptrs_PortIndex_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_transmissionComb,
|
|
{ "transmissionComb", "nr-rrc.transmissionComb",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_transmissionComb_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_n2_01,
|
|
{ "n2", "nr-rrc.n2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_combOffset_n2,
|
|
{ "combOffset-n2", "nr-rrc.combOffset_n2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1", HFILL }},
|
|
{ &hf_nr_rrc_cyclicShift_n2,
|
|
{ "cyclicShift-n2", "nr-rrc.cyclicShift_n2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_7", HFILL }},
|
|
{ &hf_nr_rrc_n4_01,
|
|
{ "n4", "nr-rrc.n4_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_combOffset_n4,
|
|
{ "combOffset-n4", "nr-rrc.combOffset_n4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_cyclicShift_n4,
|
|
{ "cyclicShift-n4", "nr-rrc.cyclicShift_n4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_11", HFILL }},
|
|
{ &hf_nr_rrc_resourceMapping_01,
|
|
{ "resourceMapping", "nr-rrc.resourceMapping_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_startPosition,
|
|
{ "startPosition", "nr-rrc.startPosition",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_5", HFILL }},
|
|
{ &hf_nr_rrc_nrofSymbols_02,
|
|
{ "nrofSymbols", "nr-rrc.nrofSymbols",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nrofSymbols_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_repetitionFactor,
|
|
{ "repetitionFactor", "nr-rrc.repetitionFactor",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_repetitionFactor_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_freqDomainPosition,
|
|
{ "freqDomainPosition", "nr-rrc.freqDomainPosition",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_67", HFILL }},
|
|
{ &hf_nr_rrc_freqDomainShift,
|
|
{ "freqDomainShift", "nr-rrc.freqDomainShift",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_268", HFILL }},
|
|
{ &hf_nr_rrc_freqHopping,
|
|
{ "freqHopping", "nr-rrc.freqHopping_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_c_SRS,
|
|
{ "c-SRS", "nr-rrc.c_SRS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_63", HFILL }},
|
|
{ &hf_nr_rrc_b_SRS,
|
|
{ "b-SRS", "nr-rrc.b_SRS",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_b_hop,
|
|
{ "b-hop", "nr-rrc.b_hop",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_groupOrSequenceHopping,
|
|
{ "groupOrSequenceHopping", "nr-rrc.groupOrSequenceHopping",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupOrSequenceHopping_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_resourceType_02,
|
|
{ "resourceType", "nr-rrc.resourceType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_resourceType_02_vals), 0,
|
|
"T_resourceType_02", HFILL }},
|
|
{ &hf_nr_rrc_aperiodic_02,
|
|
{ "aperiodic", "nr-rrc.aperiodic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_aperiodic_02", HFILL }},
|
|
{ &hf_nr_rrc_semi_persistent_01,
|
|
{ "semi-persistent", "nr-rrc.semi_persistent_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_semi_persistent_01", HFILL }},
|
|
{ &hf_nr_rrc_periodicityAndOffset_sp,
|
|
{ "periodicityAndOffset-sp", "nr-rrc.periodicityAndOffset_sp",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0,
|
|
"SRS_PeriodicityAndOffset", HFILL }},
|
|
{ &hf_nr_rrc_periodic_02,
|
|
{ "periodic", "nr-rrc.periodic_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_periodic_02", HFILL }},
|
|
{ &hf_nr_rrc_periodicityAndOffset_p,
|
|
{ "periodicityAndOffset-p", "nr-rrc.periodicityAndOffset_p",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_SRS_PeriodicityAndOffset_vals_ext, 0,
|
|
"SRS_PeriodicityAndOffset", HFILL }},
|
|
{ &hf_nr_rrc_sequenceId,
|
|
{ "sequenceId", "nr-rrc.sequenceId",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_10", HFILL }},
|
|
{ &hf_nr_rrc_spatialRelationInfo,
|
|
{ "spatialRelationInfo", "nr-rrc.spatialRelationInfo_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SRS_SpatialRelationInfo", HFILL }},
|
|
{ &hf_nr_rrc_referenceSignal_03,
|
|
{ "referenceSignal", "nr-rrc.referenceSignal",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_03_vals), 0,
|
|
"T_referenceSignal_03", HFILL }},
|
|
{ &hf_nr_rrc_srs_01,
|
|
{ "srs", "nr-rrc.srs_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_srs_01", HFILL }},
|
|
{ &hf_nr_rrc_resourceId,
|
|
{ "resourceId", "nr-rrc.resourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SRS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_sl32,
|
|
{ "sl32", "nr-rrc.sl32",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_sl64,
|
|
{ "sl64", "nr-rrc.sl64",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_63", HFILL }},
|
|
{ &hf_nr_rrc_srs_SwitchFromServCellIndex,
|
|
{ "srs-SwitchFromServCellIndex", "nr-rrc.srs_SwitchFromServCellIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_31", HFILL }},
|
|
{ &hf_nr_rrc_srs_SwitchFromCarrier,
|
|
{ "srs-SwitchFromCarrier", "nr-rrc.srs_SwitchFromCarrier",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_SwitchFromCarrier_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_TPC_PDCCH_Group,
|
|
{ "srs-TPC-PDCCH-Group", "nr-rrc.srs_TPC_PDCCH_Group",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_TPC_PDCCH_Group_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeA,
|
|
{ "typeA", "nr-rrc.typeA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config", HFILL }},
|
|
{ &hf_nr_rrc_typeA_item,
|
|
{ "SRS-TPC-PDCCH-Config", "nr-rrc.SRS_TPC_PDCCH_Config_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeB,
|
|
{ "typeB", "nr-rrc.typeB_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SRS_TPC_PDCCH_Config", HFILL }},
|
|
{ &hf_nr_rrc_monitoringCells,
|
|
{ "monitoringCells", "nr-rrc.monitoringCells",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_monitoringCells_item,
|
|
{ "ServCellIndex", "nr-rrc.ServCellIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_CC_SetIndexlist,
|
|
{ "srs-CC-SetIndexlist", "nr-rrc.srs_CC_SetIndexlist",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex", HFILL }},
|
|
{ &hf_nr_rrc_srs_CC_SetIndexlist_item,
|
|
{ "SRS-CC-SetIndex", "nr-rrc.SRS_CC_SetIndex_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cc_SetIndex,
|
|
{ "cc-SetIndex", "nr-rrc.cc_SetIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_3", HFILL }},
|
|
{ &hf_nr_rrc_cc_IndexInOneCC_Set,
|
|
{ "cc-IndexInOneCC-Set", "nr-rrc.cc_IndexInOneCC_Set",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_7", HFILL }},
|
|
{ &hf_nr_rrc_startingBitOfFormat2_3,
|
|
{ "startingBitOfFormat2-3", "nr-rrc.startingBitOfFormat2_3",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_31", HFILL }},
|
|
{ &hf_nr_rrc_fieldTypeFormat2_3,
|
|
{ "fieldTypeFormat2-3", "nr-rrc.fieldTypeFormat2_3",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_1", HFILL }},
|
|
{ &hf_nr_rrc_periodicityAndOffset_02,
|
|
{ "periodicityAndOffset", "nr-rrc.periodicityAndOffset",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicityAndOffset_01_vals), 0,
|
|
"T_periodicityAndOffset_01", HFILL }},
|
|
{ &hf_nr_rrc_sf5,
|
|
{ "sf5", "nr-rrc.sf5",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_4", HFILL }},
|
|
{ &hf_nr_rrc_sf10,
|
|
{ "sf10", "nr-rrc.sf10",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_9", HFILL }},
|
|
{ &hf_nr_rrc_sf20,
|
|
{ "sf20", "nr-rrc.sf20",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_19", HFILL }},
|
|
{ &hf_nr_rrc_sf40,
|
|
{ "sf40", "nr-rrc.sf40",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_39", HFILL }},
|
|
{ &hf_nr_rrc_sf80,
|
|
{ "sf80", "nr-rrc.sf80",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_79", HFILL }},
|
|
{ &hf_nr_rrc_sf160,
|
|
{ "sf160", "nr-rrc.sf160",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_159", HFILL }},
|
|
{ &hf_nr_rrc_duration_02,
|
|
{ "duration", "nr-rrc.duration",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_duration_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pci_List,
|
|
{ "pci-List", "nr-rrc.pci_List",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId", HFILL }},
|
|
{ &hf_nr_rrc_pci_List_item,
|
|
{ "PhysCellId", "nr-rrc.PhysCellId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_periodicity_02,
|
|
{ "periodicity", "nr-rrc.periodicity",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicity_02_vals), 0,
|
|
"T_periodicity_02", HFILL }},
|
|
{ &hf_nr_rrc_tci_StateId,
|
|
{ "tci-StateId", "nr-rrc.tci_StateId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_qcl_Type1,
|
|
{ "qcl-Type1", "nr-rrc.qcl_Type1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"QCL_Info", HFILL }},
|
|
{ &hf_nr_rrc_qcl_Type2,
|
|
{ "qcl-Type2", "nr-rrc.qcl_Type2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"QCL_Info", HFILL }},
|
|
{ &hf_nr_rrc_cell,
|
|
{ "cell", "nr-rrc.cell",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"ServCellIndex", HFILL }},
|
|
{ &hf_nr_rrc_referenceSignal_04,
|
|
{ "referenceSignal", "nr-rrc.referenceSignal",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_referenceSignal_04_vals), 0,
|
|
"T_referenceSignal_04", HFILL }},
|
|
{ &hf_nr_rrc_csi_rs,
|
|
{ "csi-rs", "nr-rrc.csi_rs",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"NZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_qcl_Type,
|
|
{ "qcl-Type", "nr-rrc.qcl_Type",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_qcl_Type_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_referenceSubcarrierSpacing,
|
|
{ "referenceSubcarrierSpacing", "nr-rrc.referenceSubcarrierSpacing",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
"SubcarrierSpacing", HFILL }},
|
|
{ &hf_nr_rrc_pattern1_01,
|
|
{ "pattern1", "nr-rrc.pattern1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"TDD_UL_DL_Pattern", HFILL }},
|
|
{ &hf_nr_rrc_pattern2,
|
|
{ "pattern2", "nr-rrc.pattern2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"TDD_UL_DL_Pattern", HFILL }},
|
|
{ &hf_nr_rrc_dl_UL_TransmissionPeriodicity,
|
|
{ "dl-UL-TransmissionPeriodicity", "nr-rrc.dl_UL_TransmissionPeriodicity",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dl_UL_TransmissionPeriodicity_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofDownlinkSlots,
|
|
{ "nrofDownlinkSlots", "nr-rrc.nrofDownlinkSlots",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofSlots", HFILL }},
|
|
{ &hf_nr_rrc_nrofDownlinkSymbols,
|
|
{ "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofSymbols_1", HFILL }},
|
|
{ &hf_nr_rrc_nrofUplinkSlots,
|
|
{ "nrofUplinkSlots", "nr-rrc.nrofUplinkSlots",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofSlots", HFILL }},
|
|
{ &hf_nr_rrc_nrofUplinkSymbols,
|
|
{ "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_maxNrofSymbols_1", HFILL }},
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToAddModList,
|
|
{ "slotSpecificConfigurationsToAddModList", "nr-rrc.slotSpecificConfigurationsToAddModList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig", HFILL }},
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToAddModList_item,
|
|
{ "TDD-UL-DL-SlotConfig", "nr-rrc.TDD_UL_DL_SlotConfig_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToreleaseList,
|
|
{ "slotSpecificConfigurationsToreleaseList", "nr-rrc.slotSpecificConfigurationsToreleaseList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex", HFILL }},
|
|
{ &hf_nr_rrc_slotSpecificConfigurationsToreleaseList_item,
|
|
{ "TDD-UL-DL-SlotIndex", "nr-rrc.TDD_UL_DL_SlotIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_slotIndex,
|
|
{ "slotIndex", "nr-rrc.slotIndex",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"TDD_UL_DL_SlotIndex", HFILL }},
|
|
{ &hf_nr_rrc_symbols,
|
|
{ "symbols", "nr-rrc.symbols",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_symbols_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_allDownlink,
|
|
{ "allDownlink", "nr-rrc.allDownlink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_allUplink,
|
|
{ "allUplink", "nr-rrc.allUplink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_explicit,
|
|
{ "explicit", "nr-rrc.explicit_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nrofDownlinkSymbols_01,
|
|
{ "nrofDownlinkSymbols", "nr-rrc.nrofDownlinkSymbols",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofSymbols_1", HFILL }},
|
|
{ &hf_nr_rrc_nrofUplinkSymbols_01,
|
|
{ "nrofUplinkSymbols", "nr-rrc.nrofUplinkSymbols",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofSymbols_1", HFILL }},
|
|
{ &hf_nr_rrc_frequencyInfoUL,
|
|
{ "frequencyInfoUL", "nr-rrc.frequencyInfoUL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_initialUplinkBWP_01,
|
|
{ "initialUplinkBWP", "nr-rrc.initialUplinkBWP_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"BWP_UplinkCommon", HFILL }},
|
|
{ &hf_nr_rrc_timeAlignmentTimerCommon,
|
|
{ "timeAlignmentTimerCommon", "nr-rrc.timeAlignmentTimerCommon",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_TimeAlignmentTimer_vals), 0,
|
|
"TimeAlignmentTimer", HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceId,
|
|
{ "zp-CSI-RS-ResourceId", "nr-rrc.zp_CSI_RS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceSetId,
|
|
{ "zp-CSI-RS-ResourceSetId", "nr-rrc.zp_CSI_RS_ResourceSetId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceIdList,
|
|
{ "zp-CSI-RS-ResourceIdList", "nr-rrc.zp_CSI_RS_ResourceIdList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId", HFILL }},
|
|
{ &hf_nr_rrc_zp_CSI_RS_ResourceIdList_item,
|
|
{ "ZP-CSI-RS-ResourceId", "nr-rrc.ZP_CSI_RS_ResourceId",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_BandCombinationList_item,
|
|
{ "BandCombination", "nr-rrc.BandCombination_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bandList,
|
|
{ "bandList", "nr-rrc.bandList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters", HFILL }},
|
|
{ &hf_nr_rrc_bandList_item,
|
|
{ "BandParameters", "nr-rrc.BandParameters",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_BandParameters_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_featureSetCombination,
|
|
{ "featureSetCombination", "nr-rrc.featureSetCombination",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FeatureSetCombinationId", HFILL }},
|
|
{ &hf_nr_rrc_ca_ParametersEUTRA,
|
|
{ "ca-ParametersEUTRA", "nr-rrc.ca_ParametersEUTRA_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ca_ParametersNR,
|
|
{ "ca-ParametersNR", "nr-rrc.ca_ParametersNR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mrdc_Parameters,
|
|
{ "mrdc-Parameters", "nr-rrc.mrdc_Parameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedBandwidthCombinationSet,
|
|
{ "supportedBandwidthCombinationSet", "nr-rrc.supportedBandwidthCombinationSet",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_1_32", HFILL }},
|
|
{ &hf_nr_rrc_eutra,
|
|
{ "eutra", "nr-rrc.eutra_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bandEUTRA,
|
|
{ "bandEUTRA", "nr-rrc.bandEUTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FreqBandIndicatorEUTRA", HFILL }},
|
|
{ &hf_nr_rrc_ca_BandwidthClassDL_EUTRA,
|
|
{ "ca-BandwidthClassDL-EUTRA", "nr-rrc.ca_BandwidthClassDL_EUTRA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0,
|
|
"CA_BandwidthClassEUTRA", HFILL }},
|
|
{ &hf_nr_rrc_ca_BandwidthClassUL_EUTRA,
|
|
{ "ca-BandwidthClassUL-EUTRA", "nr-rrc.ca_BandwidthClassUL_EUTRA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_CA_BandwidthClassEUTRA_vals), 0,
|
|
"CA_BandwidthClassEUTRA", HFILL }},
|
|
{ &hf_nr_rrc_nr,
|
|
{ "nr", "nr-rrc.nr_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bandNR,
|
|
{ "bandNR", "nr-rrc.bandNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FreqBandIndicatorNR", HFILL }},
|
|
{ &hf_nr_rrc_ca_BandwidthClassDL_NR,
|
|
{ "ca-BandwidthClassDL-NR", "nr-rrc.ca_BandwidthClassDL_NR",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0,
|
|
"CA_BandwidthClassNR", HFILL }},
|
|
{ &hf_nr_rrc_ca_BandwidthClassUL_NR,
|
|
{ "ca-BandwidthClassUL-NR", "nr-rrc.ca_BandwidthClassUL_NR",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_CA_BandwidthClassNR_vals_ext, 0,
|
|
"CA_BandwidthClassNR", HFILL }},
|
|
{ &hf_nr_rrc_multipleTimingAdvances,
|
|
{ "multipleTimingAdvances", "nr-rrc.multipleTimingAdvances",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvances_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_parallelTxSRS_PUCCH_PUSCH,
|
|
{ "parallelTxSRS-PUCCH-PUSCH", "nr-rrc.parallelTxSRS_PUCCH_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxSRS_PUCCH_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_parallelTxPRACH_SRS_PUCCH_PUSCH,
|
|
{ "parallelTxPRACH-SRS-PUCCH-PUSCH", "nr-rrc.parallelTxPRACH_SRS_PUCCH_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_parallelTxPRACH_SRS_PUCCH_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_simultaneousRxTxInterBandCA,
|
|
{ "simultaneousRxTxInterBandCA", "nr-rrc.simultaneousRxTxInterBandCA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandCA_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_simultaneousRxTxSUL,
|
|
{ "simultaneousRxTxSUL", "nr-rrc.simultaneousRxTxSUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxSUL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_diffNumerologyAcrossPUCCH_Group,
|
|
{ "diffNumerologyAcrossPUCCH-Group", "nr-rrc.diffNumerologyAcrossPUCCH_Group",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyAcrossPUCCH_Group_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_diffNumerologyWithinPUCCH_Group,
|
|
{ "diffNumerologyWithinPUCCH-Group", "nr-rrc.diffNumerologyWithinPUCCH_Group",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_diffNumerologyWithinPUCCH_Group_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedNumberTAG,
|
|
{ "supportedNumberTAG", "nr-rrc.supportedNumberTAG",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberTAG_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_multipleTimingAdvance,
|
|
{ "multipleTimingAdvance", "nr-rrc.multipleTimingAdvance",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTimingAdvance_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_simultaneousRx_Tx,
|
|
{ "simultaneousRx-Tx", "nr-rrc.simultaneousRx_Tx",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRx_Tx_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedNAICS_2CRS_AP,
|
|
{ "supportedNAICS-2CRS-AP", "nr-rrc.supportedNAICS_2CRS_AP",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_1_8", HFILL }},
|
|
{ &hf_nr_rrc_additionalRx_Tx_PerformanceReq,
|
|
{ "additionalRx-Tx-PerformanceReq", "nr-rrc.additionalRx_Tx_PerformanceReq",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalRx_Tx_PerformanceReq_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ue_CA_PowerClass_N,
|
|
{ "ue-CA-PowerClass-N", "nr-rrc.ue_CA_PowerClass_N",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_CA_PowerClass_N_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_FeatureSetCombination_item,
|
|
{ "FeatureSetsPerBand", "nr-rrc.FeatureSetsPerBand",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_FeatureSetsPerBand_item,
|
|
{ "FeatureSet", "nr-rrc.FeatureSet",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_FeatureSet_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_eutra_01,
|
|
{ "eutra", "nr-rrc.eutra_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_eutra_01", HFILL }},
|
|
{ &hf_nr_rrc_downlinkSetEUTRA,
|
|
{ "downlinkSetEUTRA", "nr-rrc.downlinkSetEUTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FeatureSetEUTRA_DownlinkId", HFILL }},
|
|
{ &hf_nr_rrc_uplinkSetEUTRA,
|
|
{ "uplinkSetEUTRA", "nr-rrc.uplinkSetEUTRA",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FeatureSetEUTRA_UplinkId", HFILL }},
|
|
{ &hf_nr_rrc_nr_01,
|
|
{ "nr", "nr-rrc.nr_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nr_01", HFILL }},
|
|
{ &hf_nr_rrc_downlinkSetNR,
|
|
{ "downlinkSetNR", "nr-rrc.downlinkSetNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FeatureSetDownlinkId", HFILL }},
|
|
{ &hf_nr_rrc_uplinkSetNR,
|
|
{ "uplinkSetNR", "nr-rrc.uplinkSetNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FeatureSetUplinkId", HFILL }},
|
|
{ &hf_nr_rrc_featureSetListPerDownlinkCC,
|
|
{ "featureSetListPerDownlinkCC", "nr-rrc.featureSetListPerDownlinkCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id", HFILL }},
|
|
{ &hf_nr_rrc_featureSetListPerDownlinkCC_item,
|
|
{ "FeatureSetDownlinkPerCC-Id", "nr-rrc.FeatureSetDownlinkPerCC_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_intraBandFreqSeparationDL,
|
|
{ "intraBandFreqSeparationDL", "nr-rrc.intraBandFreqSeparationDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0,
|
|
"FreqSeparationClass", HFILL }},
|
|
{ &hf_nr_rrc_scalingFactor,
|
|
{ "scalingFactor", "nr-rrc.scalingFactor",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_crossCarrierSchedulingDL_OtherSCS,
|
|
{ "crossCarrierSchedulingDL-OtherSCS", "nr-rrc.crossCarrierSchedulingDL_OtherSCS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingDL_OtherSCS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scellWithoutSSB,
|
|
{ "scellWithoutSSB", "nr-rrc.scellWithoutSSB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scellWithoutSSB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_MeasSCellWithoutSSB,
|
|
{ "csi-RS-MeasSCellWithoutSSB", "nr-rrc.csi_RS_MeasSCellWithoutSSB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_MeasSCellWithoutSSB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_AssocCSI_RS,
|
|
{ "srs-AssocCSI-RS", "nr-rrc.srs_AssocCSI_RS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srs_AssocCSI_RS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_type1_3_CSS,
|
|
{ "type1-3-CSS", "nr-rrc.type1_3_CSS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_3_CSS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcchMonitoringAnyOccasions,
|
|
{ "pdcchMonitoringAnyOccasions", "nr-rrc.pdcchMonitoringAnyOccasions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasions_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcchMonitoringAnyOccasionsWithSpanGap,
|
|
{ "pdcchMonitoringAnyOccasionsWithSpanGap", "nr-rrc.pdcchMonitoringAnyOccasionsWithSpanGap",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringAnyOccasionsWithSpanGap_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ue_SpecificUL_DL_Assignment,
|
|
{ "ue-SpecificUL-DL-Assignment", "nr-rrc.ue_SpecificUL_DL_Assignment",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_SpecificUL_DL_Assignment_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_searchSpaceSharingCA_DL,
|
|
{ "searchSpaceSharingCA-DL", "nr-rrc.searchSpaceSharingCA_DL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_DL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_timeDurationForQCL,
|
|
{ "timeDurationForQCL", "nr-rrc.timeDurationForQCL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sch_120kHz,
|
|
{ "sch-120kHz", "nr-rrc.sch_120kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sch_120kHz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_DifferentTB_PerSlot,
|
|
{ "pdsch-DifferentTB-PerSlot", "nr-rrc.pdsch_DifferentTB_PerSlot_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_15kHz,
|
|
{ "scs-15kHz", "nr-rrc.scs_15kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_30kHz,
|
|
{ "scs-30kHz", "nr-rrc.scs_30kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz_01,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_01_vals), 0,
|
|
"T_scs_60kHz_01", HFILL }},
|
|
{ &hf_nr_rrc_scs_120kHz,
|
|
{ "scs-120kHz", "nr-rrc.scs_120kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_IM_ReceptionForFeedback,
|
|
{ "csi-RS-IM-ReceptionForFeedback", "nr-rrc.csi_RS_IM_ReceptionForFeedback_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeI_SinglePanelCodebookList,
|
|
{ "typeI-SinglePanelCodebookList", "nr-rrc.typeI_SinglePanelCodebookList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook", HFILL }},
|
|
{ &hf_nr_rrc_typeI_SinglePanelCodebookList_item,
|
|
{ "TypeI-SinglePanelCodebook", "nr-rrc.TypeI_SinglePanelCodebook_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeI_MultiPanelCodebookList,
|
|
{ "typeI-MultiPanelCodebookList", "nr-rrc.typeI_MultiPanelCodebookList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook", HFILL }},
|
|
{ &hf_nr_rrc_typeI_MultiPanelCodebookList_item,
|
|
{ "TypeI-MultiPanelCodebook", "nr-rrc.TypeI_MultiPanelCodebook_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeII_CodebookList,
|
|
{ "typeII-CodebookList", "nr-rrc.typeII_CodebookList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook", HFILL }},
|
|
{ &hf_nr_rrc_typeII_CodebookList_item,
|
|
{ "TypeII-Codebook", "nr-rrc.TypeII_Codebook_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_typeII_CodebookPortSelectionList,
|
|
{ "typeII-CodebookPortSelectionList", "nr-rrc.typeII_CodebookPortSelectionList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection", HFILL }},
|
|
{ &hf_nr_rrc_typeII_CodebookPortSelectionList_item,
|
|
{ "TypeII-CodebookPortSelection", "nr-rrc.TypeII_CodebookPortSelection_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberNZP_CSI_RS_PerCC,
|
|
{ "maxNumberNZP-CSI-RS-PerCC", "nr-rrc.maxNumberNZP_CSI_RS_PerCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_32", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberPortsAcrossNZP_CSI_RS_PerCC,
|
|
{ "maxNumberPortsAcrossNZP-CSI-RS-PerCC", "nr-rrc.maxNumberPortsAcrossNZP_CSI_RS_PerCC",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_maxNumberPortsAcrossNZP_CSI_RS_PerCC_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberCS_IM_PerCC,
|
|
{ "maxNumberCS-IM-PerCC", "nr-rrc.maxNumberCS_IM_PerCC",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberCS_IM_PerCC_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSimultaneousCSI_RS_ActBWP_AllCC,
|
|
{ "maxNumberSimultaneousCSI-RS-ActBWP-AllCC", "nr-rrc.maxNumberSimultaneousCSI_RS_ActBWP_AllCC",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_maxNumberSimultaneousCSI_RS_ActBWP_AllCC_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC,
|
|
{ "totalNumberPortsSimultaneousCSI-RS-ActBWP-AllCC", "nr-rrc.totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC",
|
|
FT_UINT32, BASE_DEC|BASE_EXT_STRING, &nr_rrc_T_totalNumberPortsSimultaneousCSI_RS_ActBWP_AllCC_vals_ext, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource,
|
|
{ "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberResources,
|
|
{ "maxNumberResources", "nr-rrc.maxNumberResources",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_64", HFILL }},
|
|
{ &hf_nr_rrc_totalNumberTxPorts,
|
|
{ "totalNumberTxPorts", "nr-rrc.totalNumberTxPorts",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_2_256", HFILL }},
|
|
{ &hf_nr_rrc_supportedCodebookMode,
|
|
{ "supportedCodebookMode", "nr-rrc.supportedCodebookMode",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCodebookMode_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_PerResourceSet,
|
|
{ "maxNumberCSI-RS-PerResourceSet", "nr-rrc.maxNumberCSI_RS_PerResourceSet",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_8", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource_01,
|
|
{ "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_01_vals), 0,
|
|
"T_maxNumberTxPortsPerResource_01", HFILL }},
|
|
{ &hf_nr_rrc_supportedCodebookMode_01,
|
|
{ "supportedCodebookMode", "nr-rrc.supportedCodebookMode",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCodebookMode_01_vals), 0,
|
|
"T_supportedCodebookMode_01", HFILL }},
|
|
{ &hf_nr_rrc_supportedNumberPanels,
|
|
{ "supportedNumberPanels", "nr-rrc.supportedNumberPanels",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedNumberPanels_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource_02,
|
|
{ "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_02_vals), 0,
|
|
"T_maxNumberTxPortsPerResource_02", HFILL }},
|
|
{ &hf_nr_rrc_parameterLx,
|
|
{ "parameterLx", "nr-rrc.parameterLx",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_2_4", HFILL }},
|
|
{ &hf_nr_rrc_amplitudeScalingType,
|
|
{ "amplitudeScalingType", "nr-rrc.amplitudeScalingType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_amplitudeSubsetRestriction,
|
|
{ "amplitudeSubsetRestriction", "nr-rrc.amplitudeSubsetRestriction",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeSubsetRestriction_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberTxPortsPerResource_03,
|
|
{ "maxNumberTxPortsPerResource", "nr-rrc.maxNumberTxPortsPerResource",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberTxPortsPerResource_03_vals), 0,
|
|
"T_maxNumberTxPortsPerResource_03", HFILL }},
|
|
{ &hf_nr_rrc_amplitudeScalingType_01,
|
|
{ "amplitudeScalingType", "nr-rrc.amplitudeScalingType",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_amplitudeScalingType_01_vals), 0,
|
|
"T_amplitudeScalingType_01", HFILL }},
|
|
{ &hf_nr_rrc_supportedSubcarrierSpacingDL,
|
|
{ "supportedSubcarrierSpacingDL", "nr-rrc.supportedSubcarrierSpacingDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
"SubcarrierSpacing", HFILL }},
|
|
{ &hf_nr_rrc_supportedBandwidthDL,
|
|
{ "supportedBandwidthDL", "nr-rrc.supportedBandwidthDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_vals), 0,
|
|
"SupportedBandwidth", HFILL }},
|
|
{ &hf_nr_rrc_channelBW_90mhz,
|
|
{ "channelBW-90mhz", "nr-rrc.channelBW_90mhz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_90mhz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberMIMO_LayersPDSCH,
|
|
{ "maxNumberMIMO-LayersPDSCH", "nr-rrc.maxNumberMIMO_LayersPDSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersDL_vals), 0,
|
|
"MIMO_LayersDL", HFILL }},
|
|
{ &hf_nr_rrc_supportedModulationOrderDL,
|
|
{ "supportedModulationOrderDL", "nr-rrc.supportedModulationOrderDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0,
|
|
"ModulationOrder", HFILL }},
|
|
{ &hf_nr_rrc_featureSetListPerUplinkCC,
|
|
{ "featureSetListPerUplinkCC", "nr-rrc.featureSetListPerUplinkCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id", HFILL }},
|
|
{ &hf_nr_rrc_featureSetListPerUplinkCC_item,
|
|
{ "FeatureSetUplinkPerCC-Id", "nr-rrc.FeatureSetUplinkPerCC_Id",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scalingFactor_01,
|
|
{ "scalingFactor", "nr-rrc.scalingFactor",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scalingFactor_01_vals), 0,
|
|
"T_scalingFactor_01", HFILL }},
|
|
{ &hf_nr_rrc_crossCarrierSchedulingUL_OtherSCS,
|
|
{ "crossCarrierSchedulingUL-OtherSCS", "nr-rrc.crossCarrierSchedulingUL_OtherSCS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingUL_OtherSCS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_intraBandFreqSeparationUL,
|
|
{ "intraBandFreqSeparationUL", "nr-rrc.intraBandFreqSeparationUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqSeparationClass_vals), 0,
|
|
"FreqSeparationClass", HFILL }},
|
|
{ &hf_nr_rrc_searchSpaceSharingCA_UL,
|
|
{ "searchSpaceSharingCA-UL", "nr-rrc.searchSpaceSharingCA_UL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_searchSpaceSharingCA_UL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srs_TxSwitch,
|
|
{ "srs-TxSwitch", "nr-rrc.srs_TxSwitch_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedSRS_Resources,
|
|
{ "supportedSRS-Resources", "nr-rrc.supportedSRS_Resources_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"SRS_Resources", HFILL }},
|
|
{ &hf_nr_rrc_twoPUCCH_Group,
|
|
{ "twoPUCCH-Group", "nr-rrc.twoPUCCH_Group",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_Group_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicSwitchSUL,
|
|
{ "dynamicSwitchSUL", "nr-rrc.dynamicSwitchSUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchSUL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_DifferentTB_PerSlot,
|
|
{ "pusch-DifferentTB-PerSlot", "nr-rrc.pusch_DifferentTB_PerSlot_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_15kHz_01,
|
|
{ "scs-15kHz", "nr-rrc.scs_15kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_01_vals), 0,
|
|
"T_scs_15kHz_01", HFILL }},
|
|
{ &hf_nr_rrc_scs_30kHz_01,
|
|
{ "scs-30kHz", "nr-rrc.scs_30kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_01_vals), 0,
|
|
"T_scs_30kHz_01", HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz_02,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_02_vals), 0,
|
|
"T_scs_60kHz_02", HFILL }},
|
|
{ &hf_nr_rrc_scs_120kHz_01,
|
|
{ "scs-120kHz", "nr-rrc.scs_120kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_01_vals), 0,
|
|
"T_scs_120kHz_01", HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportFramework,
|
|
{ "csi-ReportFramework", "nr-rrc.csi_ReportFramework_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberPeriodicCSI_ReportPerBWP,
|
|
{ "maxNumberPeriodicCSI-ReportPerBWP", "nr-rrc.maxNumberPeriodicCSI_ReportPerBWP",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_4", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberAperiodicCSI_ReportPerBWP,
|
|
{ "maxNumberAperiodicCSI-ReportPerBWP", "nr-rrc.maxNumberAperiodicCSI_ReportPerBWP",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_4", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSemiPersistentCSI_ReportPerBWP,
|
|
{ "maxNumberSemiPersistentCSI-ReportPerBWP", "nr-rrc.maxNumberSemiPersistentCSI_ReportPerBWP",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_4", HFILL }},
|
|
{ &hf_nr_rrc_simultaneousCSI_ReportsAllCC,
|
|
{ "simultaneousCSI-ReportsAllCC", "nr-rrc.simultaneousCSI_ReportsAllCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_5_32", HFILL }},
|
|
{ &hf_nr_rrc_supportedSubcarrierSpacingUL,
|
|
{ "supportedSubcarrierSpacingUL", "nr-rrc.supportedSubcarrierSpacingUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SubcarrierSpacing_vals), 0,
|
|
"SubcarrierSpacing", HFILL }},
|
|
{ &hf_nr_rrc_supportedBandwidthUL,
|
|
{ "supportedBandwidthUL", "nr-rrc.supportedBandwidthUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_SupportedBandwidth_vals), 0,
|
|
"SupportedBandwidth", HFILL }},
|
|
{ &hf_nr_rrc_channelBW_90mhz_01,
|
|
{ "channelBW-90mhz", "nr-rrc.channelBW_90mhz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_channelBW_90mhz_01_vals), 0,
|
|
"T_channelBW_90mhz_01", HFILL }},
|
|
{ &hf_nr_rrc_mimo_CB_PUSCH,
|
|
{ "mimo-CB-PUSCH", "nr-rrc.mimo_CB_PUSCH_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberMIMO_LayersCB_PUSCH,
|
|
{ "maxNumberMIMO-LayersCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersCB_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
|
|
"MIMO_LayersUL", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSRS_ResourcePerSet,
|
|
{ "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_2", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberMIMO_LayersNonCB_PUSCH,
|
|
{ "maxNumberMIMO-LayersNonCB-PUSCH", "nr-rrc.maxNumberMIMO_LayersNonCB_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_MIMO_LayersUL_vals), 0,
|
|
"MIMO_LayersUL", HFILL }},
|
|
{ &hf_nr_rrc_supportedModulationOrderUL,
|
|
{ "supportedModulationOrderUL", "nr-rrc.supportedModulationOrderUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_ModulationOrder_vals), 0,
|
|
"ModulationOrder", HFILL }},
|
|
{ &hf_nr_rrc_simultaneousTxSUL_NonSUL,
|
|
{ "simultaneousTxSUL-NonSUL", "nr-rrc.simultaneousTxSUL_NonSUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousTxSUL_NonSUL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_featureSetsDownlink,
|
|
{ "featureSetsDownlink", "nr-rrc.featureSetsDownlink",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink", HFILL }},
|
|
{ &hf_nr_rrc_featureSetsDownlink_item,
|
|
{ "FeatureSetDownlink", "nr-rrc.FeatureSetDownlink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_featureSetsDownlinkPerCC,
|
|
{ "featureSetsDownlinkPerCC", "nr-rrc.featureSetsDownlinkPerCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC", HFILL }},
|
|
{ &hf_nr_rrc_featureSetsDownlinkPerCC_item,
|
|
{ "FeatureSetDownlinkPerCC", "nr-rrc.FeatureSetDownlinkPerCC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_featureSetsUplink,
|
|
{ "featureSetsUplink", "nr-rrc.featureSetsUplink",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink", HFILL }},
|
|
{ &hf_nr_rrc_featureSetsUplink_item,
|
|
{ "FeatureSetUplink", "nr-rrc.FeatureSetUplink_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_featureSetsUplinkPerCC,
|
|
{ "featureSetsUplinkPerCC", "nr-rrc.featureSetsUplinkPerCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC", HFILL }},
|
|
{ &hf_nr_rrc_featureSetsUplinkPerCC_item,
|
|
{ "FeatureSetUplinkPerCC", "nr-rrc.FeatureSetUplinkPerCC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_FreqBandList_item,
|
|
{ "FreqBandInformation", "nr-rrc.FreqBandInformation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_FreqBandInformation_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bandInformationEUTRA,
|
|
{ "bandInformationEUTRA", "nr-rrc.bandInformationEUTRA_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"FreqBandInformationEUTRA", HFILL }},
|
|
{ &hf_nr_rrc_bandInformationNR,
|
|
{ "bandInformationNR", "nr-rrc.bandInformationNR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"FreqBandInformationNR", HFILL }},
|
|
{ &hf_nr_rrc_maxBandwidthRequestedDL,
|
|
{ "maxBandwidthRequestedDL", "nr-rrc.maxBandwidthRequestedDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwith_vals), 0,
|
|
"AggregatedBandwith", HFILL }},
|
|
{ &hf_nr_rrc_maxBandwidthRequestedUL,
|
|
{ "maxBandwidthRequestedUL", "nr-rrc.maxBandwidthRequestedUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_AggregatedBandwith_vals), 0,
|
|
"AggregatedBandwith", HFILL }},
|
|
{ &hf_nr_rrc_maxCarriersRequestedDL,
|
|
{ "maxCarriersRequestedDL", "nr-rrc.maxCarriersRequestedDL",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofServingCells", HFILL }},
|
|
{ &hf_nr_rrc_maxCarriersRequestedUL,
|
|
{ "maxCarriersRequestedUL", "nr-rrc.maxCarriersRequestedUL",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_maxNrofServingCells", HFILL }},
|
|
{ &hf_nr_rrc_singleUL_Transmission,
|
|
{ "singleUL-Transmission", "nr-rrc.singleUL_Transmission",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_singleUL_Transmission_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicPowerSharing,
|
|
{ "dynamicPowerSharing", "nr-rrc.dynamicPowerSharing",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPowerSharing_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tdm_Pattern,
|
|
{ "tdm-Pattern", "nr-rrc.tdm_Pattern",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdm_Pattern_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ul_SharingEUTRA_NR,
|
|
{ "ul-SharingEUTRA-NR", "nr-rrc.ul_SharingEUTRA_NR",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SharingEUTRA_NR_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ul_SwitchingTimeEUTRA_NR,
|
|
{ "ul-SwitchingTimeEUTRA-NR", "nr-rrc.ul_SwitchingTimeEUTRA_NR",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ul_SwitchingTimeEUTRA_NR_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_simultaneousRxTxInterBandENDC,
|
|
{ "simultaneousRxTxInterBandENDC", "nr-rrc.simultaneousRxTxInterBandENDC",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxTxInterBandENDC_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_asyncIntraBandENDC,
|
|
{ "asyncIntraBandENDC", "nr-rrc.asyncIntraBandENDC",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_asyncIntraBandENDC_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_fr1,
|
|
{ "fr1", "nr-rrc.fr1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_fr2,
|
|
{ "fr2", "nr-rrc.fr2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_fr2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_UE_CapabilityRAT_ContainerList_item,
|
|
{ "UE-CapabilityRAT-Container", "nr-rrc.UE_CapabilityRAT_Container_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rat_Type,
|
|
{ "rat-Type", "nr-rrc.rat_Type",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_RAT_Type_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ue_CapabilityRAT_Container,
|
|
{ "ue-CapabilityRAT-Container", "nr-rrc.ue_CapabilityRAT_Container",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"T_ue_CapabilityRAT_Container", HFILL }},
|
|
{ &hf_nr_rrc_measParametersMRDC,
|
|
{ "measParametersMRDC", "nr-rrc.measParametersMRDC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rf_ParametersMRDC,
|
|
{ "rf-ParametersMRDC", "nr-rrc.rf_ParametersMRDC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_generalParametersMRDC,
|
|
{ "generalParametersMRDC", "nr-rrc.generalParametersMRDC_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"GeneralParametersMRDC_XDD_Diff", HFILL }},
|
|
{ &hf_nr_rrc_fdd_Add_UE_MRDC_Capabilities,
|
|
{ "fdd-Add-UE-MRDC-Capabilities", "nr-rrc.fdd_Add_UE_MRDC_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
|
|
{ &hf_nr_rrc_tdd_Add_UE_MRDC_Capabilities,
|
|
{ "tdd-Add-UE-MRDC-Capabilities", "nr-rrc.tdd_Add_UE_MRDC_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_MRDC_CapabilityAddXDD_Mode", HFILL }},
|
|
{ &hf_nr_rrc_fr1_Add_UE_MRDC_Capabilities,
|
|
{ "fr1-Add-UE-MRDC-Capabilities", "nr-rrc.fr1_Add_UE_MRDC_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
|
|
{ &hf_nr_rrc_fr2_Add_UE_MRDC_Capabilities,
|
|
{ "fr2-Add-UE-MRDC-Capabilities", "nr-rrc.fr2_Add_UE_MRDC_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_MRDC_CapabilityAddFRX_Mode", HFILL }},
|
|
{ &hf_nr_rrc_featureSetCombinations,
|
|
{ "featureSetCombinations", "nr-rrc.featureSetCombinations",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxFeatureSetCombinations_OF_FeatureSetCombination", HFILL }},
|
|
{ &hf_nr_rrc_featureSetCombinations_item,
|
|
{ "FeatureSetCombination", "nr-rrc.FeatureSetCombination",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_09,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_09", HFILL }},
|
|
{ &hf_nr_rrc_measParametersMRDC_XDD_Diff,
|
|
{ "measParametersMRDC-XDD-Diff", "nr-rrc.measParametersMRDC_XDD_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_generalParametersMRDC_XDD_Diff,
|
|
{ "generalParametersMRDC-XDD-Diff", "nr-rrc.generalParametersMRDC_XDD_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measParametersMRDC_FRX_Diff,
|
|
{ "measParametersMRDC-FRX-Diff", "nr-rrc.measParametersMRDC_FRX_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_splitSRB_WithOneUL_Path,
|
|
{ "splitSRB-WithOneUL-Path", "nr-rrc.splitSRB_WithOneUL_Path",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitSRB_WithOneUL_Path_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_splitDRB_withUL_Both_MCG_SCG,
|
|
{ "splitDRB-withUL-Both-MCG-SCG", "nr-rrc.splitDRB_withUL_Both_MCG_SCG",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_splitDRB_withUL_Both_MCG_SCG_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_srb3,
|
|
{ "srb3", "nr-rrc.srb3",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_srb3_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedBandCombinationList,
|
|
{ "supportedBandCombinationList", "nr-rrc.supportedBandCombinationList",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"BandCombinationList", HFILL }},
|
|
{ &hf_nr_rrc_appliedFreqBandListFilter,
|
|
{ "appliedFreqBandListFilter", "nr-rrc.appliedFreqBandListFilter",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"FreqBandList", HFILL }},
|
|
{ &hf_nr_rrc_measParametersMRDC_Common,
|
|
{ "measParametersMRDC-Common", "nr-rrc.measParametersMRDC_Common_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_independentGapConfig,
|
|
{ "independentGapConfig", "nr-rrc.independentGapConfig",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_independentGapConfig_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sftd_MeasPSCell,
|
|
{ "sftd-MeasPSCell", "nr-rrc.sftd_MeasPSCell",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasPSCell_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sftd_MeasNR_Cell,
|
|
{ "sftd-MeasNR-Cell", "nr-rrc.sftd_MeasNR_Cell",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sftd_MeasNR_Cell_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_simultaneousRxDataSSB_DiffNumerology,
|
|
{ "simultaneousRxDataSSB-DiffNumerology", "nr-rrc.simultaneousRxDataSSB_DiffNumerology",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_simultaneousRxDataSSB_DiffNumerology_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_accessStratumRelease,
|
|
{ "accessStratumRelease", "nr-rrc.accessStratumRelease",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_AccessStratumRelease_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcp_Parameters,
|
|
{ "pdcp-Parameters", "nr-rrc.pdcp_Parameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rlc_Parameters,
|
|
{ "rlc-Parameters", "nr-rrc.rlc_Parameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mac_Parameters,
|
|
{ "mac-Parameters", "nr-rrc.mac_Parameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phy_Parameters,
|
|
{ "phy-Parameters", "nr-rrc.phy_Parameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rf_Parameters,
|
|
{ "rf-Parameters", "nr-rrc.rf_Parameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measParameters,
|
|
{ "measParameters", "nr-rrc.measParameters_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_fdd_Add_UE_NR_Capabilities,
|
|
{ "fdd-Add-UE-NR-Capabilities", "nr-rrc.fdd_Add_UE_NR_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_NR_CapabilityAddXDD_Mode", HFILL }},
|
|
{ &hf_nr_rrc_tdd_Add_UE_NR_Capabilities,
|
|
{ "tdd-Add-UE-NR-Capabilities", "nr-rrc.tdd_Add_UE_NR_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_NR_CapabilityAddXDD_Mode", HFILL }},
|
|
{ &hf_nr_rrc_fr1_Add_UE_NR_Capabilities,
|
|
{ "fr1-Add-UE-NR-Capabilities", "nr-rrc.fr1_Add_UE_NR_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_NR_CapabilityAddFRX_Mode", HFILL }},
|
|
{ &hf_nr_rrc_fr2_Add_UE_NR_Capabilities,
|
|
{ "fr2-Add-UE-NR-Capabilities", "nr-rrc.fr2_Add_UE_NR_Capabilities_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"UE_NR_CapabilityAddFRX_Mode", HFILL }},
|
|
{ &hf_nr_rrc_featureSets,
|
|
{ "featureSets", "nr-rrc.featureSets_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nonCriticalExtension_10,
|
|
{ "nonCriticalExtension", "nr-rrc.nonCriticalExtension_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"T_nonCriticalExtension_10", HFILL }},
|
|
{ &hf_nr_rrc_phy_ParametersXDD_Diff,
|
|
{ "phy-ParametersXDD-Diff", "nr-rrc.phy_ParametersXDD_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mac_ParametersXDD_Diff,
|
|
{ "mac-ParametersXDD-Diff", "nr-rrc.mac_ParametersXDD_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measParametersXDD_Diff,
|
|
{ "measParametersXDD-Diff", "nr-rrc.measParametersXDD_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phy_ParametersFRX_Diff,
|
|
{ "phy-ParametersFRX-Diff", "nr-rrc.phy_ParametersFRX_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measParametersFRX_Diff,
|
|
{ "measParametersFRX-Diff", "nr-rrc.measParametersFRX_Diff_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phy_ParametersCommon,
|
|
{ "phy-ParametersCommon", "nr-rrc.phy_ParametersCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phy_ParametersFR1,
|
|
{ "phy-ParametersFR1", "nr-rrc.phy_ParametersFR1_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_phy_ParametersFR2,
|
|
{ "phy-ParametersFR2", "nr-rrc.phy_ParametersFR2_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_CFRA_ForHO,
|
|
{ "csi-RS-CFRA-ForHO", "nr-rrc.csi_RS_CFRA_ForHO",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_CFRA_ForHO_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicPRB_BundlingDL,
|
|
{ "dynamicPRB-BundlingDL", "nr-rrc.dynamicPRB_BundlingDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicPRB_BundlingDL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_CSI_ReportPUCCH,
|
|
{ "sp-CSI-ReportPUCCH", "nr-rrc.sp_CSI_ReportPUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_CSI_ReportPUSCH,
|
|
{ "sp-CSI-ReportPUSCH", "nr-rrc.sp_CSI_ReportPUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_ReportPUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_nzp_CSI_RS_IntefMgmt,
|
|
{ "nzp-CSI-RS-IntefMgmt", "nr-rrc.nzp_CSI_RS_IntefMgmt",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_nzp_CSI_RS_IntefMgmt_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_type2_SP_CSI_Feedback_LongPUCCH,
|
|
{ "type2-SP-CSI-Feedback-LongPUCCH", "nr-rrc.type2_SP_CSI_Feedback_LongPUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_SP_CSI_Feedback_LongPUCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_precoderGranularityCORESET,
|
|
{ "precoderGranularityCORESET", "nr-rrc.precoderGranularityCORESET",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_precoderGranularityCORESET_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicHARQ_ACK_Codebook,
|
|
{ "dynamicHARQ-ACK-Codebook", "nr-rrc.dynamicHARQ_ACK_Codebook",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_Codebook_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_semiStaticHARQ_ACK_Codebook,
|
|
{ "semiStaticHARQ-ACK-Codebook", "nr-rrc.semiStaticHARQ_ACK_Codebook",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiStaticHARQ_ACK_Codebook_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_spatialBundlingHARQ_ACK,
|
|
{ "spatialBundlingHARQ-ACK", "nr-rrc.spatialBundlingHARQ_ACK",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_spatialBundlingHARQ_ACK_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicBetaOffsetInd_HARQ_ACK_CSI,
|
|
{ "dynamicBetaOffsetInd-HARQ-ACK-CSI", "nr-rrc.dynamicBetaOffsetInd_HARQ_ACK_CSI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicBetaOffsetInd_HARQ_ACK_CSI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_Repetition_F1_3_4,
|
|
{ "pucch-Repetition-F1-3-4", "nr-rrc.pucch_Repetition_F1_3_4",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_Repetition_F1_3_4_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ra_Type0_PUSCH,
|
|
{ "ra-Type0-PUSCH", "nr-rrc.ra_Type0_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ra_Type0_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicSwitchRA_Type0_1_PDSCH,
|
|
{ "dynamicSwitchRA-Type0-1-PDSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PDSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PDSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicSwitchRA_Type0_1_PUSCH,
|
|
{ "dynamicSwitchRA-Type0-1-PUSCH", "nr-rrc.dynamicSwitchRA_Type0_1_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSwitchRA_Type0_1_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_MappingTypeA,
|
|
{ "pdsch-MappingTypeA", "nr-rrc.pdsch_MappingTypeA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeA_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_MappingTypeB,
|
|
{ "pdsch-MappingTypeB", "nr-rrc.pdsch_MappingTypeB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_MappingTypeB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_interleavingVRB_ToPRB_PDSCH,
|
|
{ "interleavingVRB-ToPRB-PDSCH", "nr-rrc.interleavingVRB_ToPRB_PDSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interleavingVRB_ToPRB_PDSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_interSlotFreqHopping_PUSCH,
|
|
{ "interSlotFreqHopping-PUSCH", "nr-rrc.interSlotFreqHopping_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_interSlotFreqHopping_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_type1_PUSCH_RepetitionMultiSlots,
|
|
{ "type1-PUSCH-RepetitionMultiSlots", "nr-rrc.type1_PUSCH_RepetitionMultiSlots",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type1_PUSCH_RepetitionMultiSlots_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_type2_PUSCH_RepetitionMultiSlots,
|
|
{ "type2-PUSCH-RepetitionMultiSlots", "nr-rrc.type2_PUSCH_RepetitionMultiSlots",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_type2_PUSCH_RepetitionMultiSlots_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_RepetitionMultiSlots,
|
|
{ "pusch-RepetitionMultiSlots", "nr-rrc.pusch_RepetitionMultiSlots",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_RepetitionMultiSlots_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_RepetitionMultiSlots,
|
|
{ "pdsch-RepetitionMultiSlots", "nr-rrc.pdsch_RepetitionMultiSlots",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RepetitionMultiSlots_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_downlinkSPS,
|
|
{ "downlinkSPS", "nr-rrc.downlinkSPS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_downlinkSPS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_configuredUL_GrantType1,
|
|
{ "configuredUL-GrantType1", "nr-rrc.configuredUL_GrantType1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_configuredUL_GrantType2,
|
|
{ "configuredUL-GrantType2", "nr-rrc.configuredUL_GrantType2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_configuredUL_GrantType2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pre_EmptIndication_DL,
|
|
{ "pre-EmptIndication-DL", "nr-rrc.pre_EmptIndication_DL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pre_EmptIndication_DL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cbg_TransIndication_DL,
|
|
{ "cbg-TransIndication-DL", "nr-rrc.cbg_TransIndication_DL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TransIndication_DL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cbg_TransIndication_UL,
|
|
{ "cbg-TransIndication-UL", "nr-rrc.cbg_TransIndication_UL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_TransIndication_UL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_cbg_FlushIndication_DL,
|
|
{ "cbg-FlushIndication-DL", "nr-rrc.cbg_FlushIndication_DL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_cbg_FlushIndication_DL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicHARQ_ACK_CodeB_CBG_Retx_DL,
|
|
{ "dynamicHARQ-ACK-CodeB-CBG-Retx-DL", "nr-rrc.dynamicHARQ_ACK_CodeB_CBG_Retx_DL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicHARQ_ACK_CodeB_CBG_Retx_DL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rateMatchingResrcSetSemi_Static,
|
|
{ "rateMatchingResrcSetSemi-Static", "nr-rrc.rateMatchingResrcSetSemi_Static",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetSemi_Static_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rateMatchingResrcSetDynamic,
|
|
{ "rateMatchingResrcSetDynamic", "nr-rrc.rateMatchingResrcSetDynamic",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingResrcSetDynamic_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bwp_SwitchingDelay,
|
|
{ "bwp-SwitchingDelay", "nr-rrc.bwp_SwitchingDelay",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SwitchingDelay_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicSFI,
|
|
{ "dynamicSFI", "nr-rrc.dynamicSFI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols,
|
|
{ "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH,
|
|
{ "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH,
|
|
{ "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_dynamicSFI_01,
|
|
{ "dynamicSFI", "nr-rrc.dynamicSFI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_dynamicSFI_01_vals), 0,
|
|
"T_dynamicSFI_01", HFILL }},
|
|
{ &hf_nr_rrc_oneFL_DMRS_TwoAdditionalDMRS,
|
|
{ "oneFL-DMRS-TwoAdditionalDMRS", "nr-rrc.oneFL_DMRS_TwoAdditionalDMRS",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_twoFL_DMRS,
|
|
{ "twoFL-DMRS", "nr-rrc.twoFL_DMRS",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_twoFL_DMRS_TwoAdditionalDMRS,
|
|
{ "twoFL-DMRS-TwoAdditionalDMRS", "nr-rrc.twoFL_DMRS_TwoAdditionalDMRS",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_oneFL_DMRS_ThreeAdditionalDMRS,
|
|
{ "oneFL-DMRS-ThreeAdditionalDMRS", "nr-rrc.oneFL_DMRS_ThreeAdditionalDMRS",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_supportedDMRS_TypeDL,
|
|
{ "supportedDMRS-TypeDL", "nr-rrc.supportedDMRS_TypeDL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeDL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedDMRS_TypeUL,
|
|
{ "supportedDMRS-TypeUL", "nr-rrc.supportedDMRS_TypeUL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedDMRS_TypeUL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_semiOpenLoopCSI,
|
|
{ "semiOpenLoopCSI", "nr-rrc.semiOpenLoopCSI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_semiOpenLoopCSI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportWithoutPMI,
|
|
{ "csi-ReportWithoutPMI", "nr-rrc.csi_ReportWithoutPMI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutPMI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_ReportWithoutCQI,
|
|
{ "csi-ReportWithoutCQI", "nr-rrc.csi_ReportWithoutCQI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_ReportWithoutCQI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_onePortsPTRS,
|
|
{ "onePortsPTRS", "nr-rrc.onePortsPTRS",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_2", HFILL }},
|
|
{ &hf_nr_rrc_twoPUCCH_F0_2_ConsecSymbols_01,
|
|
{ "twoPUCCH-F0-2-ConsecSymbols", "nr-rrc.twoPUCCH_F0_2_ConsecSymbols",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_F0_2_ConsecSymbols_01_vals), 0,
|
|
"T_twoPUCCH_F0_2_ConsecSymbols_01", HFILL }},
|
|
{ &hf_nr_rrc_pucch_F2_WithFH,
|
|
{ "pucch-F2-WithFH", "nr-rrc.pucch_F2_WithFH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F2_WithFH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_F3_WithFH,
|
|
{ "pucch-F3-WithFH", "nr-rrc.pucch_F3_WithFH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_WithFH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_F4_WithFH,
|
|
{ "pucch-F4-WithFH", "nr-rrc.pucch_F4_WithFH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F4_WithFH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_freqHoppingPUCCH_F0_2,
|
|
{ "freqHoppingPUCCH-F0-2", "nr-rrc.freqHoppingPUCCH_F0_2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqHoppingPUCCH_F0_2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_freqHoppingPUCCH_F1_3_4,
|
|
{ "freqHoppingPUCCH-F1-3-4", "nr-rrc.freqHoppingPUCCH_F1_3_4",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_freqHoppingPUCCH_F1_3_4_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mux_SR_HARQ_ACK_CSI_PUCCH,
|
|
{ "mux-SR-HARQ-ACK-CSI-PUCCH", "nr-rrc.mux_SR_HARQ_ACK_CSI_PUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_mux_SR_HARQ_ACK_CSI_PUCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_uci_CodeBlockSegmentation,
|
|
{ "uci-CodeBlockSegmentation", "nr-rrc.uci_CodeBlockSegmentation",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uci_CodeBlockSegmentation_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_onePUCCH_LongAndShortFormat,
|
|
{ "onePUCCH-LongAndShortFormat", "nr-rrc.onePUCCH_LongAndShortFormat",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_onePUCCH_LongAndShortFormat_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoPUCCH_AnyOthersInSlot,
|
|
{ "twoPUCCH-AnyOthersInSlot", "nr-rrc.twoPUCCH_AnyOthersInSlot",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPUCCH_AnyOthersInSlot_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_intraSlotFreqHopping_PUSCH,
|
|
{ "intraSlotFreqHopping-PUSCH", "nr-rrc.intraSlotFreqHopping_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraSlotFreqHopping_PUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_LBRM,
|
|
{ "pusch-LBRM", "nr-rrc.pusch_LBRM",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_LBRM_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcch_BlindDetectionCA,
|
|
{ "pdcch-BlindDetectionCA", "nr-rrc.pdcch_BlindDetectionCA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcch_BlindDetectionCA_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tpc_PUSCH_RNTI_01,
|
|
{ "tpc-PUSCH-RNTI", "nr-rrc.tpc_PUSCH_RNTI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUSCH_RNTI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tpc_PUCCH_RNTI_01,
|
|
{ "tpc-PUCCH-RNTI", "nr-rrc.tpc_PUCCH_RNTI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_PUCCH_RNTI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tpc_SRS_RNTI_01,
|
|
{ "tpc-SRS-RNTI", "nr-rrc.tpc_SRS_RNTI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tpc_SRS_RNTI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_absoluteTPC_Command,
|
|
{ "absoluteTPC-Command", "nr-rrc.absoluteTPC_Command",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_absoluteTPC_Command_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUSCH_01,
|
|
{ "twoDifferentTPC-Loop-PUSCH", "nr-rrc.twoDifferentTPC_Loop_PUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUSCH_01_vals), 0,
|
|
"T_twoDifferentTPC_Loop_PUSCH_01", HFILL }},
|
|
{ &hf_nr_rrc_twoDifferentTPC_Loop_PUCCH_01,
|
|
{ "twoDifferentTPC-Loop-PUCCH", "nr-rrc.twoDifferentTPC_Loop_PUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoDifferentTPC_Loop_PUCCH_01_vals), 0,
|
|
"T_twoDifferentTPC_Loop_PUCCH_01", HFILL }},
|
|
{ &hf_nr_rrc_pusch_HalfPi_BPSK,
|
|
{ "pusch-HalfPi-BPSK", "nr-rrc.pusch_HalfPi_BPSK",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_HalfPi_BPSK_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_F3_4_HalfPi_BPSK,
|
|
{ "pucch-F3-4-HalfPi-BPSK", "nr-rrc.pucch_F3_4_HalfPi_BPSK",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_F3_4_HalfPi_BPSK_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_almostContiguousCP_OFDM_UL,
|
|
{ "almostContiguousCP-OFDM-UL", "nr-rrc.almostContiguousCP_OFDM_UL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_almostContiguousCP_OFDM_UL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_CSI_RS,
|
|
{ "sp-CSI-RS", "nr-rrc.sp_CSI_RS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_RS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_CSI_IM,
|
|
{ "sp-CSI-IM", "nr-rrc.sp_CSI_IM",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_CSI_IM_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tdd_MultiDL_UL_SwitchPerSlot,
|
|
{ "tdd-MultiDL-UL-SwitchPerSlot", "nr-rrc.tdd_MultiDL_UL_SwitchPerSlot",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_tdd_MultiDL_UL_SwitchPerSlot_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_multipleCORESET,
|
|
{ "multipleCORESET", "nr-rrc.multipleCORESET",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleCORESET_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdcchMonitoringSingleOccasion,
|
|
{ "pdcchMonitoringSingleOccasion", "nr-rrc.pdcchMonitoringSingleOccasion",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdcchMonitoringSingleOccasion_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz_03,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_03_vals), 0,
|
|
"T_scs_60kHz_03", HFILL }},
|
|
{ &hf_nr_rrc_pdsch_256QAM_FR1,
|
|
{ "pdsch-256QAM-FR1", "nr-rrc.pdsch_256QAM_FR1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_RE_MappingFR1,
|
|
{ "pdsch-RE-MappingFR1", "nr-rrc.pdsch_RE_MappingFR1",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR1_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_calibrationGapPA,
|
|
{ "calibrationGapPA", "nr-rrc.calibrationGapPA",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_calibrationGapPA_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_RE_MappingFR2,
|
|
{ "pdsch-RE-MappingFR2", "nr-rrc.pdsch_RE_MappingFR2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_RE_MappingFR2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedBandListNR,
|
|
{ "supportedBandListNR", "nr-rrc.supportedBandListNR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"SEQUENCE_SIZE_1_maxBands_OF_BandNR", HFILL }},
|
|
{ &hf_nr_rrc_supportedBandListNR_item,
|
|
{ "BandNR", "nr-rrc.BandNR_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_modifiedMPR_Behaviour,
|
|
{ "modifiedMPR-Behaviour", "nr-rrc.modifiedMPR_Behaviour",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_8", HFILL }},
|
|
{ &hf_nr_rrc_mimo_ParametersPerBand,
|
|
{ "mimo-ParametersPerBand", "nr-rrc.mimo_ParametersPerBand_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_extendedCP,
|
|
{ "extendedCP", "nr-rrc.extendedCP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_extendedCP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_multipleTCI,
|
|
{ "multipleTCI", "nr-rrc.multipleTCI",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleTCI_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bwp_WithoutRestriction,
|
|
{ "bwp-WithoutRestriction", "nr-rrc.bwp_WithoutRestriction",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_WithoutRestriction_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bwp_SameNumerology,
|
|
{ "bwp-SameNumerology", "nr-rrc.bwp_SameNumerology",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_SameNumerology_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_bwp_DiffNumerology,
|
|
{ "bwp-DiffNumerology", "nr-rrc.bwp_DiffNumerology",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_bwp_DiffNumerology_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_crossCarrierSchedulingDL_SameSCS,
|
|
{ "crossCarrierSchedulingDL-SameSCS", "nr-rrc.crossCarrierSchedulingDL_SameSCS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingDL_SameSCS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_crossCarrierSchedulingUL_SameSCS,
|
|
{ "crossCarrierSchedulingUL-SameSCS", "nr-rrc.crossCarrierSchedulingUL_SameSCS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_crossCarrierSchedulingUL_SameSCS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pdsch_256QAM_FR2,
|
|
{ "pdsch-256QAM-FR2", "nr-rrc.pdsch_256QAM_FR2",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pdsch_256QAM_FR2_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_256QAM,
|
|
{ "pusch-256QAM", "nr-rrc.pusch_256QAM",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_256QAM_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ue_PowerClass,
|
|
{ "ue-PowerClass", "nr-rrc.ue_PowerClass",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ue_PowerClass_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_rateMatchingLTE_CRS,
|
|
{ "rateMatchingLTE-CRS", "nr-rrc.rateMatchingLTE_CRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_rateMatchingLTE_CRS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_tci_StatePDSCH,
|
|
{ "tci-StatePDSCH", "nr-rrc.tci_StatePDSCH_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberConfiguredTCIstatesPerCC,
|
|
{ "maxNumberConfiguredTCIstatesPerCC", "nr-rrc.maxNumberConfiguredTCIstatesPerCC",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberConfiguredTCIstatesPerCC_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberActiveTCI_PerBWP,
|
|
{ "maxNumberActiveTCI-PerBWP", "nr-rrc.maxNumberActiveTCI_PerBWP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberActiveTCI_PerBWP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_additionalActiveTCI_StatePDCCH,
|
|
{ "additionalActiveTCI-StatePDCCH", "nr-rrc.additionalActiveTCI_StatePDCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_additionalActiveTCI_StatePDCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pusch_TransCoherence,
|
|
{ "pusch-TransCoherence", "nr-rrc.pusch_TransCoherence",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pusch_TransCoherence_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_beamCorrespondence,
|
|
{ "beamCorrespondence", "nr-rrc.beamCorrespondence",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_beamCorrespondence_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_periodicBeamReport,
|
|
{ "periodicBeamReport", "nr-rrc.periodicBeamReport",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_periodicBeamReport_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aperiodicBeamReport,
|
|
{ "aperiodicBeamReport", "nr-rrc.aperiodicBeamReport",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicBeamReport_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_BeamReportPUCCH,
|
|
{ "sp-BeamReportPUCCH", "nr-rrc.sp_BeamReportPUCCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUCCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_sp_BeamReportPUSCH,
|
|
{ "sp-BeamReportPUSCH", "nr-rrc.sp_BeamReportPUSCH",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_sp_BeamReportPUSCH_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_beamManagementSSB_CSI_RS,
|
|
{ "beamManagementSSB-CSI-RS", "nr-rrc.beamManagementSSB_CSI_RS_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberRxBeam,
|
|
{ "maxNumberRxBeam", "nr-rrc.maxNumberRxBeam",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_2_8", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberRxTxBeamSwitchDL,
|
|
{ "maxNumberRxTxBeamSwitchDL", "nr-rrc.maxNumberRxTxBeamSwitchDL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_15kHz_02,
|
|
{ "scs-15kHz", "nr-rrc.scs_15kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_02_vals), 0,
|
|
"T_scs_15kHz_02", HFILL }},
|
|
{ &hf_nr_rrc_scs_30kHz_02,
|
|
{ "scs-30kHz", "nr-rrc.scs_30kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_02_vals), 0,
|
|
"T_scs_30kHz_02", HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz_04,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_04_vals), 0,
|
|
"T_scs_60kHz_04", HFILL }},
|
|
{ &hf_nr_rrc_scs_120kHz_02,
|
|
{ "scs-120kHz", "nr-rrc.scs_120kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_02_vals), 0,
|
|
"T_scs_120kHz_02", HFILL }},
|
|
{ &hf_nr_rrc_scs_240kHz,
|
|
{ "scs-240kHz", "nr-rrc.scs_240kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_240kHz_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberNonGroupBeamReporting,
|
|
{ "maxNumberNonGroupBeamReporting", "nr-rrc.maxNumberNonGroupBeamReporting",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberNonGroupBeamReporting_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_groupBeamReporting,
|
|
{ "groupBeamReporting", "nr-rrc.groupBeamReporting",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_groupBeamReporting_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_uplinkBeamManagement,
|
|
{ "uplinkBeamManagement", "nr-rrc.uplinkBeamManagement_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSRS_ResourcePerSet_01,
|
|
{ "maxNumberSRS-ResourcePerSet", "nr-rrc.maxNumberSRS_ResourcePerSet",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_ResourcePerSet_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSRS_ResourceSet,
|
|
{ "maxNumberSRS-ResourceSet", "nr-rrc.maxNumberSRS_ResourceSet",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_8", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_BFR,
|
|
{ "maxNumberCSI-RS-BFR", "nr-rrc.maxNumberCSI_RS_BFR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_64", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSSB_BFR,
|
|
{ "maxNumberSSB-BFR", "nr-rrc.maxNumberSSB_BFR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_64", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberCSI_RS_SSB_BFR,
|
|
{ "maxNumberCSI-RS-SSB-BFR", "nr-rrc.maxNumberCSI_RS_SSB_BFR",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_256", HFILL }},
|
|
{ &hf_nr_rrc_twoPortsPTRS_DL,
|
|
{ "twoPortsPTRS-DL", "nr-rrc.twoPortsPTRS_DL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPortsPTRS_DL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_twoPortsPTRS_UL,
|
|
{ "twoPortsPTRS-UL", "nr-rrc.twoPortsPTRS_UL",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_twoPortsPTRS_UL_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSimultaneousSRS_PerCC,
|
|
{ "maxNumberSimultaneousSRS-PerCC", "nr-rrc.maxNumberSimultaneousSRS_PerCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_4", HFILL }},
|
|
{ &hf_nr_rrc_beamReportTiming,
|
|
{ "beamReportTiming", "nr-rrc.beamReportTiming_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_15kHz_03,
|
|
{ "scs-15kHz", "nr-rrc.scs_15kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_15kHz_03_vals), 0,
|
|
"T_scs_15kHz_03", HFILL }},
|
|
{ &hf_nr_rrc_scs_30kHz_03,
|
|
{ "scs-30kHz", "nr-rrc.scs_30kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_30kHz_03_vals), 0,
|
|
"T_scs_30kHz_03", HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz_05,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_60kHz_05_vals), 0,
|
|
"T_scs_60kHz_05", HFILL }},
|
|
{ &hf_nr_rrc_scs_120kHz_03,
|
|
{ "scs-120kHz", "nr-rrc.scs_120kHz",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_scs_120kHz_03_vals), 0,
|
|
"T_scs_120kHz_03", HFILL }},
|
|
{ &hf_nr_rrc_ptrs_DensityRecommendationSetDL,
|
|
{ "ptrs-DensityRecommendationSetDL", "nr-rrc.ptrs_DensityRecommendationSetDL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_15kHz_04,
|
|
{ "scs-15kHz", "nr-rrc.scs_15kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationDL", HFILL }},
|
|
{ &hf_nr_rrc_scs_30kHz_04,
|
|
{ "scs-30kHz", "nr-rrc.scs_30kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationDL", HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz_06,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationDL", HFILL }},
|
|
{ &hf_nr_rrc_scs_120kHz_04,
|
|
{ "scs-120kHz", "nr-rrc.scs_120kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationDL", HFILL }},
|
|
{ &hf_nr_rrc_ptrs_DensityRecommendationSetUL,
|
|
{ "ptrs-DensityRecommendationSetUL", "nr-rrc.ptrs_DensityRecommendationSetUL_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_scs_15kHz_05,
|
|
{ "scs-15kHz", "nr-rrc.scs_15kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationUL", HFILL }},
|
|
{ &hf_nr_rrc_scs_30kHz_05,
|
|
{ "scs-30kHz", "nr-rrc.scs_30kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationUL", HFILL }},
|
|
{ &hf_nr_rrc_scs_60kHz_07,
|
|
{ "scs-60kHz", "nr-rrc.scs_60kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationUL", HFILL }},
|
|
{ &hf_nr_rrc_scs_120kHz_05,
|
|
{ "scs-120kHz", "nr-rrc.scs_120kHz_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
"PTRS_DensityRecommendationUL", HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_ForTracking,
|
|
{ "csi-RS-ForTracking", "nr-rrc.csi_RS_ForTracking_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_aperiodicTRS,
|
|
{ "aperiodicTRS", "nr-rrc.aperiodicTRS",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_aperiodicTRS_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceOneTx,
|
|
{ "maxNumberSSB-CSI-RS-ResourceOneTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceOneTx",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceOneTx_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSSB_CSI_RS_ResourceTwoTx,
|
|
{ "maxNumberSSB-CSI-RS-ResourceTwoTx", "nr-rrc.maxNumberSSB_CSI_RS_ResourceTwoTx",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSSB_CSI_RS_ResourceTwoTx_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedCSI_RS_Density,
|
|
{ "supportedCSI-RS-Density", "nr-rrc.supportedCSI_RS_Density",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedCSI_RS_Density_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_burstLength,
|
|
{ "burstLength", "nr-rrc.burstLength",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_2", HFILL }},
|
|
{ &hf_nr_rrc_maxSimultaneousResourceSetsPerCC,
|
|
{ "maxSimultaneousResourceSetsPerCC", "nr-rrc.maxSimultaneousResourceSetsPerCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_8", HFILL }},
|
|
{ &hf_nr_rrc_maxConfiguredResourceSetsPerCC,
|
|
{ "maxConfiguredResourceSetsPerCC", "nr-rrc.maxConfiguredResourceSetsPerCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_64", HFILL }},
|
|
{ &hf_nr_rrc_maxConfiguredResourceSetsAllCC,
|
|
{ "maxConfiguredResourceSetsAllCC", "nr-rrc.maxConfiguredResourceSetsAllCC",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_128", HFILL }},
|
|
{ &hf_nr_rrc_frequencyDensity1,
|
|
{ "frequencyDensity1", "nr-rrc.frequencyDensity1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_frequencyDensity2,
|
|
{ "frequencyDensity2", "nr-rrc.frequencyDensity2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_timeDensity1,
|
|
{ "timeDensity1", "nr-rrc.timeDensity1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_29", HFILL }},
|
|
{ &hf_nr_rrc_timeDensity2,
|
|
{ "timeDensity2", "nr-rrc.timeDensity2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_29", HFILL }},
|
|
{ &hf_nr_rrc_timeDensity3,
|
|
{ "timeDensity3", "nr-rrc.timeDensity3",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_0_29", HFILL }},
|
|
{ &hf_nr_rrc_sampleDensity1,
|
|
{ "sampleDensity1", "nr-rrc.sampleDensity1",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_sampleDensity2,
|
|
{ "sampleDensity2", "nr-rrc.sampleDensity2",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_sampleDensity3,
|
|
{ "sampleDensity3", "nr-rrc.sampleDensity3",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_sampleDensity4,
|
|
{ "sampleDensity4", "nr-rrc.sampleDensity4",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_sampleDensity5,
|
|
{ "sampleDensity5", "nr-rrc.sampleDensity5",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_276", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP,
|
|
{ "maxNumberAperiodicSRS-PerBWP", "nr-rrc.maxNumberAperiodicSRS_PerBWP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberAperiodicSRS_PerBWP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberAperiodicSRS_PerBWP_PerSlot,
|
|
{ "maxNumberAperiodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberAperiodicSRS_PerBWP_PerSlot",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_6", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP,
|
|
{ "maxNumberPeriodicSRS-PerBWP", "nr-rrc.maxNumberPeriodicSRS_PerBWP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberPeriodicSRS_PerBWP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberPeriodicSRS_PerBWP_PerSlot,
|
|
{ "maxNumberPeriodicSRS-PerBWP-PerSlot", "nr-rrc.maxNumberPeriodicSRS_PerBWP_PerSlot",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_6", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSemiPersitentSRS_PerBWP,
|
|
{ "maxNumberSemiPersitentSRS-PerBWP", "nr-rrc.maxNumberSemiPersitentSRS_PerBWP",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSemiPersitentSRS_PerBWP_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSP_SRS_PerBWP_PerSlot,
|
|
{ "maxNumberSP-SRS-PerBWP-PerSlot", "nr-rrc.maxNumberSP_SRS_PerBWP_PerSlot",
|
|
FT_UINT32, BASE_DEC, NULL, 0,
|
|
"INTEGER_1_6", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberSRS_Ports_PerResource,
|
|
{ "maxNumberSRS-Ports-PerResource", "nr-rrc.maxNumberSRS_Ports_PerResource",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberSRS_Ports_PerResource_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedSRS_TxPortSwitch,
|
|
{ "supportedSRS-TxPortSwitch", "nr-rrc.supportedSRS_TxPortSwitch",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_supportedSRS_TxPortSwitch_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_txSwitchImpactToRx,
|
|
{ "txSwitchImpactToRx", "nr-rrc.txSwitchImpactToRx",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_txSwitchImpactToRx_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedROHC_Profiles,
|
|
{ "supportedROHC-Profiles", "nr-rrc.supportedROHC_Profiles_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_profile0x0000,
|
|
{ "profile0x0000", "nr-rrc.profile0x0000",
|
|
FT_BOOLEAN, BASE_NONE, NULL, 0,
|
|
"BOOLEAN", HFILL }},
|
|
{ &hf_nr_rrc_maxNumberROHC_ContextSessions,
|
|
{ "maxNumberROHC-ContextSessions", "nr-rrc.maxNumberROHC_ContextSessions",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_maxNumberROHC_ContextSessions_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_uplinkOnlyROHC_Profiles,
|
|
{ "uplinkOnlyROHC-Profiles", "nr-rrc.uplinkOnlyROHC_Profiles",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_uplinkOnlyROHC_Profiles_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_continueROHC_Context,
|
|
{ "continueROHC-Context", "nr-rrc.continueROHC_Context",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_continueROHC_Context_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_outOfOrderDelivery_01,
|
|
{ "outOfOrderDelivery", "nr-rrc.outOfOrderDelivery",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_outOfOrderDelivery_01_vals), 0,
|
|
"T_outOfOrderDelivery_01", HFILL }},
|
|
{ &hf_nr_rrc_shortSN,
|
|
{ "shortSN", "nr-rrc.shortSN",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortSN_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_am_WithShortSN,
|
|
{ "am-WithShortSN", "nr-rrc.am_WithShortSN",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_am_WithShortSN_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_um_WithShortSN,
|
|
{ "um-WithShortSN", "nr-rrc.um_WithShortSN",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WithShortSN_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_um_WIthLongSN,
|
|
{ "um-WIthLongSN", "nr-rrc.um_WIthLongSN",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_um_WIthLongSN_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_mac_ParametersCommon,
|
|
{ "mac-ParametersCommon", "nr-rrc.mac_ParametersCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_lcp_Restriction,
|
|
{ "lcp-Restriction", "nr-rrc.lcp_Restriction",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_lcp_Restriction_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_pucch_SpatialRelInfoMAC_CE,
|
|
{ "pucch-SpatialRelInfoMAC-CE", "nr-rrc.pucch_SpatialRelInfoMAC_CE",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_pucch_SpatialRelInfoMAC_CE_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_skipUplinkTxDynamic_01,
|
|
{ "skipUplinkTxDynamic", "nr-rrc.skipUplinkTxDynamic",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_skipUplinkTxDynamic_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_logicalChannelSR_DelayTimer_01,
|
|
{ "logicalChannelSR-DelayTimer", "nr-rrc.logicalChannelSR_DelayTimer",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_logicalChannelSR_DelayTimer_01_vals), 0,
|
|
"T_logicalChannelSR_DelayTimer_01", HFILL }},
|
|
{ &hf_nr_rrc_longDRX_Cycle,
|
|
{ "longDRX-Cycle", "nr-rrc.longDRX_Cycle",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_longDRX_Cycle_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_shortDRX_Cycle,
|
|
{ "shortDRX-Cycle", "nr-rrc.shortDRX_Cycle",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_shortDRX_Cycle_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_multipleSR_Configurations,
|
|
{ "multipleSR-Configurations", "nr-rrc.multipleSR_Configurations",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleSR_Configurations_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_multipleConfiguredGrants,
|
|
{ "multipleConfiguredGrants", "nr-rrc.multipleConfiguredGrants",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_multipleConfiguredGrants_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_measParametersCommon,
|
|
{ "measParametersCommon", "nr-rrc.measParametersCommon_element",
|
|
FT_NONE, BASE_NONE, NULL, 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_supportedGapPattern,
|
|
{ "supportedGapPattern", "nr-rrc.supportedGapPattern",
|
|
FT_BYTES, BASE_NONE, NULL, 0,
|
|
"BIT_STRING_SIZE_22", HFILL }},
|
|
{ &hf_nr_rrc_intraAndInterF_MeasAndReport,
|
|
{ "intraAndInterF-MeasAndReport", "nr-rrc.intraAndInterF_MeasAndReport",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_intraAndInterF_MeasAndReport_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_eventA_MeasAndReport,
|
|
{ "eventA-MeasAndReport", "nr-rrc.eventA_MeasAndReport",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_eventA_MeasAndReport_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_ss_SINR_Meas,
|
|
{ "ss-SINR-Meas", "nr-rrc.ss_SINR_Meas",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_ss_SINR_Meas_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithSSB,
|
|
{ "csi-RSRP-AndRSRQ-MeasWithSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithSSB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithSSB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RSRP_AndRSRQ_MeasWithoutSSB,
|
|
{ "csi-RSRP-AndRSRQ-MeasWithoutSSB", "nr-rrc.csi_RSRP_AndRSRQ_MeasWithoutSSB",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RSRP_AndRSRQ_MeasWithoutSSB_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_SINR_Meas,
|
|
{ "csi-SINR-Meas", "nr-rrc.csi_SINR_Meas",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_SINR_Meas_vals), 0,
|
|
NULL, HFILL }},
|
|
{ &hf_nr_rrc_csi_RS_RLM,
|
|
{ "csi-RS-RLM", "nr-rrc.csi_RS_RLM",
|
|
FT_UINT32, BASE_DEC, VALS(nr_rrc_T_csi_RS_RLM_vals), 0,
|
|
NULL, HFILL }},
|
|
|
|
/*--- End of included file: packet-nr-rrc-hfarr.c ---*/
|
|
#line 79 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
|
|
};
|
|
|
|
static gint *ett[] = {
|
|
&ett_nr_rrc,
|
|
|
|
/*--- Included file: packet-nr-rrc-ettarr.c ---*/
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-ettarr.c"
|
|
&ett_nr_rrc_HandoverCommand,
|
|
&ett_nr_rrc_T_criticalExtensions,
|
|
&ett_nr_rrc_T_c1,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture,
|
|
&ett_nr_rrc_HandoverCommand_IEs,
|
|
&ett_nr_rrc_T_nonCriticalExtension,
|
|
&ett_nr_rrc_HandoverPreparationInformation,
|
|
&ett_nr_rrc_T_criticalExtensions_01,
|
|
&ett_nr_rrc_T_c1_01,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture_01,
|
|
&ett_nr_rrc_HandoverPreparationInformation_IEs,
|
|
&ett_nr_rrc_T_nonCriticalExtension_01,
|
|
&ett_nr_rrc_AS_Context,
|
|
&ett_nr_rrc_T_reestablishmentInfo,
|
|
&ett_nr_rrc_ReestabNCellInfoList,
|
|
&ett_nr_rrc_ReestabNCellInfo,
|
|
&ett_nr_rrc_RRM_Config,
|
|
&ett_nr_rrc_CG_Config,
|
|
&ett_nr_rrc_T_criticalExtensions_02,
|
|
&ett_nr_rrc_T_c1_02,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture_02,
|
|
&ett_nr_rrc_CG_Config_IEs,
|
|
&ett_nr_rrc_T_nonCriticalExtension_02,
|
|
&ett_nr_rrc_MeasConfigSN,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsSN_OF_NR_FreqInfo,
|
|
&ett_nr_rrc_NR_FreqInfo,
|
|
&ett_nr_rrc_ConfigRestrictModReqSCG,
|
|
&ett_nr_rrc_FR_InfoList,
|
|
&ett_nr_rrc_FR_Info,
|
|
&ett_nr_rrc_CG_ConfigInfo,
|
|
&ett_nr_rrc_T_criticalExtensions_03,
|
|
&ett_nr_rrc_T_c1_03,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture_03,
|
|
&ett_nr_rrc_CG_ConfigInfo_IEs,
|
|
&ett_nr_rrc_T_scgFailureInfo,
|
|
&ett_nr_rrc_T_nonCriticalExtension_03,
|
|
&ett_nr_rrc_ConfigRestrictInfoSCG,
|
|
&ett_nr_rrc_T_powerCoordination_FR1,
|
|
&ett_nr_rrc_T_servCellIndexRangeSCG,
|
|
&ett_nr_rrc_BandCombinationIndexList,
|
|
&ett_nr_rrc_DRX_Info,
|
|
&ett_nr_rrc_T_drx_LongCycleStartOffset,
|
|
&ett_nr_rrc_T_shortDRX,
|
|
&ett_nr_rrc_MeasConfigMN,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxMeasFreqsMN_OF_NR_FreqInfo,
|
|
&ett_nr_rrc_T_measGapConfig,
|
|
&ett_nr_rrc_MeasurementTimingConfiguration,
|
|
&ett_nr_rrc_T_criticalExtensions_04,
|
|
&ett_nr_rrc_T_c1_04,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture_04,
|
|
&ett_nr_rrc_MeasurementTimingConfiguration_IEs,
|
|
&ett_nr_rrc_T_nonCriticalExtension_04,
|
|
&ett_nr_rrc_MeasTimingList,
|
|
&ett_nr_rrc_MeasTiming,
|
|
&ett_nr_rrc_T_frequencyAndTiming,
|
|
&ett_nr_rrc_BCCH_BCH_Message,
|
|
&ett_nr_rrc_BCCH_BCH_MessageType,
|
|
&ett_nr_rrc_T_messageClassExtension,
|
|
&ett_nr_rrc_DL_DCCH_Message,
|
|
&ett_nr_rrc_DL_DCCH_MessageType,
|
|
&ett_nr_rrc_T_c1_05,
|
|
&ett_nr_rrc_T_messageClassExtension_01,
|
|
&ett_nr_rrc_UL_DCCH_Message,
|
|
&ett_nr_rrc_UL_DCCH_MessageType,
|
|
&ett_nr_rrc_T_c1_06,
|
|
&ett_nr_rrc_T_messageClassExtension_02,
|
|
&ett_nr_rrc_MIB,
|
|
&ett_nr_rrc_MeasurementReport,
|
|
&ett_nr_rrc_T_criticalExtensions_05,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture_05,
|
|
&ett_nr_rrc_MeasurementReport_IEs,
|
|
&ett_nr_rrc_T_nonCriticalExtension_05,
|
|
&ett_nr_rrc_RRCReconfiguration,
|
|
&ett_nr_rrc_T_criticalExtensions_06,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture_06,
|
|
&ett_nr_rrc_RRCReconfiguration_IEs,
|
|
&ett_nr_rrc_T_nonCriticalExtension_06,
|
|
&ett_nr_rrc_RRCReconfigurationComplete,
|
|
&ett_nr_rrc_T_criticalExtensions_07,
|
|
&ett_nr_rrc_T_criticalExtensionsFuture_07,
|
|
&ett_nr_rrc_RRCReconfigurationComplete_IEs,
|
|
&ett_nr_rrc_T_nonCriticalExtension_07,
|
|
&ett_nr_rrc_SIB1,
|
|
&ett_nr_rrc_T_ssb_PositionsInBurst,
|
|
&ett_nr_rrc_T_supplementaryUplink,
|
|
&ett_nr_rrc_T_nonCriticalExtension_08,
|
|
&ett_nr_rrc_BWP,
|
|
&ett_nr_rrc_BWP_Uplink,
|
|
&ett_nr_rrc_BWP_UplinkCommon,
|
|
&ett_nr_rrc_T_rach_ConfigCommon,
|
|
&ett_nr_rrc_T_pusch_ConfigCommon,
|
|
&ett_nr_rrc_T_pucch_ConfigCommon,
|
|
&ett_nr_rrc_BWP_UplinkDedicated,
|
|
&ett_nr_rrc_T_pucch_Config,
|
|
&ett_nr_rrc_T_pusch_Config,
|
|
&ett_nr_rrc_T_configuredGrantConfig,
|
|
&ett_nr_rrc_T_srs_Config,
|
|
&ett_nr_rrc_T_beamFailureRecoveryConfig,
|
|
&ett_nr_rrc_BWP_Downlink,
|
|
&ett_nr_rrc_BWP_DownlinkCommon,
|
|
&ett_nr_rrc_T_pdcch_ConfigCommon,
|
|
&ett_nr_rrc_T_pdsch_ConfigCommon,
|
|
&ett_nr_rrc_BWP_DownlinkDedicated,
|
|
&ett_nr_rrc_T_pdcch_Config,
|
|
&ett_nr_rrc_T_pdsch_Config,
|
|
&ett_nr_rrc_T_sps_Config,
|
|
&ett_nr_rrc_T_radioLinkMonitoringConfig,
|
|
&ett_nr_rrc_BeamFailureRecoveryConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCandidateBeams_OF_PRACH_ResourceDedicatedBFR,
|
|
&ett_nr_rrc_PRACH_ResourceDedicatedBFR,
|
|
&ett_nr_rrc_BFR_SSB_Resource,
|
|
&ett_nr_rrc_BFR_CSIRS_Resource,
|
|
&ett_nr_rrc_T_ra_OccasionList,
|
|
&ett_nr_rrc_CellGroupConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_RLC_BearerConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxLC_ID_OF_LogicalChannelIdentity,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSCells_OF_SCellIndex,
|
|
&ett_nr_rrc_SpCellConfig,
|
|
&ett_nr_rrc_T_rlf_TimersAndConstants,
|
|
&ett_nr_rrc_ReconfigurationWithSync,
|
|
&ett_nr_rrc_T_rach_ConfigDedicated,
|
|
&ett_nr_rrc_SCellConfig,
|
|
&ett_nr_rrc_CodebookConfig,
|
|
&ett_nr_rrc_T_codebookType,
|
|
&ett_nr_rrc_T_type1,
|
|
&ett_nr_rrc_T_subType,
|
|
&ett_nr_rrc_T_typeI_SinglePanel,
|
|
&ett_nr_rrc_T_nrOfAntennaPorts,
|
|
&ett_nr_rrc_T_two,
|
|
&ett_nr_rrc_T_moreThanTwo,
|
|
&ett_nr_rrc_T_n1_n2,
|
|
&ett_nr_rrc_T_typeI_MultiPanel,
|
|
&ett_nr_rrc_T_ng_n1_n2,
|
|
&ett_nr_rrc_T_type2,
|
|
&ett_nr_rrc_T_subType_01,
|
|
&ett_nr_rrc_T_typeII,
|
|
&ett_nr_rrc_T_n1_n2_codebookSubsetRestriction,
|
|
&ett_nr_rrc_T_typeII_PortSelection,
|
|
&ett_nr_rrc_ConfiguredGrantConfig,
|
|
&ett_nr_rrc_T_uci_OnPUSCH,
|
|
&ett_nr_rrc_T_rrc_ConfiguredUplinkGrant,
|
|
&ett_nr_rrc_CG_UCI_OnPUSCH,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_BetaOffsets,
|
|
&ett_nr_rrc_ControlResourceSet,
|
|
&ett_nr_rrc_T_cce_REG_MappingType,
|
|
&ett_nr_rrc_T_interleaved,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_StatesPDCCH_OF_TCI_StateId,
|
|
&ett_nr_rrc_CrossCarrierSchedulingConfig,
|
|
&ett_nr_rrc_T_schedulingCellInfo,
|
|
&ett_nr_rrc_T_own,
|
|
&ett_nr_rrc_T_other,
|
|
&ett_nr_rrc_CSI_AperiodicTriggerStateList,
|
|
&ett_nr_rrc_CSI_AperiodicTriggerState,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofReportConfigPerAperiodicTrigger_OF_CSI_AssociatedReportConfigInfo,
|
|
&ett_nr_rrc_CSI_AssociatedReportConfigInfo,
|
|
&ett_nr_rrc_T_resourcesForChannel,
|
|
&ett_nr_rrc_T_nzp_CSI_RS,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAP_CSI_RS_ResourcesPerSet_OF_TCI_StateId,
|
|
&ett_nr_rrc_CSI_FrequencyOccupation,
|
|
&ett_nr_rrc_CSI_IM_Resource,
|
|
&ett_nr_rrc_T_csi_IM_ResourceElementPattern,
|
|
&ett_nr_rrc_T_pattern0,
|
|
&ett_nr_rrc_T_pattern1,
|
|
&ett_nr_rrc_CSI_IM_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourcesPerSet_OF_CSI_IM_ResourceId,
|
|
&ett_nr_rrc_CSI_MeasConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_Resource,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_Resources_OF_NZP_CSI_RS_ResourceId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSets_OF_NZP_CSI_RS_ResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_Resource,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_Resources_OF_CSI_IM_ResourceId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSets_OF_CSI_IM_ResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSets_OF_CSI_SSB_ResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ResourceConfigurations_OF_CSI_ResourceConfigId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_ReportConfigurations_OF_CSI_ReportConfigId,
|
|
&ett_nr_rrc_T_aperiodicTriggerStateList,
|
|
&ett_nr_rrc_T_semiPersistentOnPUSCH_TriggerStateList,
|
|
&ett_nr_rrc_CSI_ReportConfig,
|
|
&ett_nr_rrc_T_reportConfigType,
|
|
&ett_nr_rrc_T_periodic,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_PUCCH_CSI_Resource,
|
|
&ett_nr_rrc_T_semiPersistentOnPUCCH,
|
|
&ett_nr_rrc_T_semiPersistentOnPUSCH,
|
|
&ett_nr_rrc_T_reportSlotOffsetList,
|
|
&ett_nr_rrc_T_aperiodic,
|
|
&ett_nr_rrc_T_reportSlotOffsetList_01,
|
|
&ett_nr_rrc_T_reportQuantity,
|
|
&ett_nr_rrc_T_cri_RI_i1_CQI,
|
|
&ett_nr_rrc_T_reportFreqConfiguration,
|
|
&ett_nr_rrc_T_csi_ReportingBand,
|
|
&ett_nr_rrc_T_groupBasedBeamReporting,
|
|
&ett_nr_rrc_T_disabled,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerConfig_OF_PortIndexFor8Ranks,
|
|
&ett_nr_rrc_CSI_ReportPeriodicityAndOffset,
|
|
&ett_nr_rrc_PUCCH_CSI_Resource,
|
|
&ett_nr_rrc_PortIndexFor8Ranks,
|
|
&ett_nr_rrc_T_portIndex8,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex8,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex8,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex8,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_5_OF_PortIndex8,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_6_OF_PortIndex8,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_7_OF_PortIndex8,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_8_OF_PortIndex8,
|
|
&ett_nr_rrc_T_portIndex4,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex4,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_3_OF_PortIndex4,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_4_OF_PortIndex4,
|
|
&ett_nr_rrc_T_portIndex2,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_2_OF_PortIndex2,
|
|
&ett_nr_rrc_CSI_ResourceConfig,
|
|
&ett_nr_rrc_T_csi_RS_ResourceSetList,
|
|
&ett_nr_rrc_T_nzp_CSI_RS_SSB,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourceSetsPerConfig_OF_NZP_CSI_RS_ResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourceSetsPerConfig_OF_CSI_SSB_ResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_IM_ResourceSetsPerConfig_OF_CSI_IM_ResourceSetId,
|
|
&ett_nr_rrc_CSI_ResourcePeriodicityAndOffset,
|
|
&ett_nr_rrc_CSI_RS_ResourceConfigMobility,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_CellsRRM_OF_CSI_RS_CellMobility,
|
|
&ett_nr_rrc_CSI_RS_CellMobility,
|
|
&ett_nr_rrc_T_csi_rs_MeasurementBW,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_RS_ResourcesRRM_OF_CSI_RS_Resource_Mobility,
|
|
&ett_nr_rrc_CSI_RS_Resource_Mobility,
|
|
&ett_nr_rrc_T_slotConfig,
|
|
&ett_nr_rrc_T_associatedSSB,
|
|
&ett_nr_rrc_T_frequencyDomainAllocation,
|
|
&ett_nr_rrc_CSI_RS_ResourceMapping,
|
|
&ett_nr_rrc_T_frequencyDomainAllocation_01,
|
|
&ett_nr_rrc_T_density_01,
|
|
&ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerStateList,
|
|
&ett_nr_rrc_CSI_SemiPersistentOnPUSCH_TriggerState,
|
|
&ett_nr_rrc_CSI_SSB_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCSI_SSB_ResourcePerSet_OF_SSB_Index,
|
|
&ett_nr_rrc_DMRS_DownlinkConfig,
|
|
&ett_nr_rrc_T_phaseTrackingRS,
|
|
&ett_nr_rrc_DMRS_UplinkConfig,
|
|
&ett_nr_rrc_T_phaseTrackingRS_01,
|
|
&ett_nr_rrc_T_transformPrecodingDisabled,
|
|
&ett_nr_rrc_T_transformPrecodingEnabled,
|
|
&ett_nr_rrc_DownlinkConfigCommon,
|
|
&ett_nr_rrc_DownlinkPreemption,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_INT_ConfigurationPerServingCell,
|
|
&ett_nr_rrc_INT_ConfigurationPerServingCell,
|
|
&ett_nr_rrc_EUTRA_MBSFN_SubframeConfigList,
|
|
&ett_nr_rrc_EUTRA_MBSFN_SubframeConfig,
|
|
&ett_nr_rrc_T_subframeAllocation,
|
|
&ett_nr_rrc_T_subframeAllocation_v1430,
|
|
&ett_nr_rrc_FrequencyInfoDL,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SCS_SpecificCarrier,
|
|
&ett_nr_rrc_FrequencyInfoUL,
|
|
&ett_nr_rrc_LogicalChannelConfig,
|
|
&ett_nr_rrc_T_ul_SpecificParameters,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_1_OF_ServCellIndex,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxSCSs_OF_SubcarrierSpacing,
|
|
&ett_nr_rrc_MAC_CellGroupConfig,
|
|
&ett_nr_rrc_T_drx_Config,
|
|
&ett_nr_rrc_T_phr_Config,
|
|
&ett_nr_rrc_DRX_Config,
|
|
&ett_nr_rrc_T_drx_onDurationTimer,
|
|
&ett_nr_rrc_T_drx_LongCycleStartOffset_01,
|
|
&ett_nr_rrc_T_shortDRX_01,
|
|
&ett_nr_rrc_PHR_Config,
|
|
&ett_nr_rrc_TAG_Config,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG_Id,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTAGs_OF_TAG,
|
|
&ett_nr_rrc_TAG,
|
|
&ett_nr_rrc_BSR_Config,
|
|
&ett_nr_rrc_MeasConfig,
|
|
&ett_nr_rrc_T_s_MeasureConfig,
|
|
&ett_nr_rrc_MeasObjectToRemoveList,
|
|
&ett_nr_rrc_MeasIdToRemoveList,
|
|
&ett_nr_rrc_ReportConfigToRemoveList,
|
|
&ett_nr_rrc_MeasGapConfig,
|
|
&ett_nr_rrc_T_gapFR2,
|
|
&ett_nr_rrc_GapConfig,
|
|
&ett_nr_rrc_MeasGapSharingConfig,
|
|
&ett_nr_rrc_T_gapSharingFR2,
|
|
&ett_nr_rrc_MeasIdToAddModList,
|
|
&ett_nr_rrc_MeasIdToAddMod,
|
|
&ett_nr_rrc_MeasObjectNR,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCI_Ranges_OF_PCI_RangeElement,
|
|
&ett_nr_rrc_ReferenceSignalConfig,
|
|
&ett_nr_rrc_T_csi_rs_ResourceConfigMobility,
|
|
&ett_nr_rrc_SSB_ConfigMobility,
|
|
&ett_nr_rrc_T_ssb_ToMeasure,
|
|
&ett_nr_rrc_Q_OffsetRangeList,
|
|
&ett_nr_rrc_SSB_ToMeasure,
|
|
&ett_nr_rrc_ThresholdNR,
|
|
&ett_nr_rrc_CellsToAddModList,
|
|
&ett_nr_rrc_CellsToAddMod,
|
|
&ett_nr_rrc_MeasObjectToAddModList,
|
|
&ett_nr_rrc_MeasObjectToAddMod,
|
|
&ett_nr_rrc_T_measObject,
|
|
&ett_nr_rrc_MeasResults,
|
|
&ett_nr_rrc_T_measResultNeighCells,
|
|
&ett_nr_rrc_MeasResultServMOList,
|
|
&ett_nr_rrc_MeasResultServMO,
|
|
&ett_nr_rrc_MeasResultListNR,
|
|
&ett_nr_rrc_MeasResultNR,
|
|
&ett_nr_rrc_T_measResult,
|
|
&ett_nr_rrc_T_cellResults,
|
|
&ett_nr_rrc_T_rsIndexResults,
|
|
&ett_nr_rrc_MeasQuantityResults,
|
|
&ett_nr_rrc_ResultsPerSSB_IndexList,
|
|
&ett_nr_rrc_ResultsPerSSB_Index,
|
|
&ett_nr_rrc_ResultsPerCSI_RS_IndexList,
|
|
&ett_nr_rrc_ResultsPerCSI_RS_Index,
|
|
&ett_nr_rrc_MeasResultSCG_Failure,
|
|
&ett_nr_rrc_MeasResultList2NR,
|
|
&ett_nr_rrc_MeasResult2NR,
|
|
&ett_nr_rrc_MeasResultCellListSFTD,
|
|
&ett_nr_rrc_MeasResultCellSFTD,
|
|
&ett_nr_rrc_MultiFrequencyBandListNR,
|
|
&ett_nr_rrc_NZP_CSI_RS_Resource,
|
|
&ett_nr_rrc_NZP_CSI_RS_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofNZP_CSI_RS_ResourcesPerSet_OF_NZP_CSI_RS_ResourceId,
|
|
&ett_nr_rrc_PCI_List,
|
|
&ett_nr_rrc_PCI_Range,
|
|
&ett_nr_rrc_PCI_RangeElement,
|
|
&ett_nr_rrc_PCI_RangeIndexList,
|
|
&ett_nr_rrc_PDCCH_Config,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_3_OF_ControlResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpace,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_10_OF_SearchSpaceId,
|
|
&ett_nr_rrc_T_downlinkPreemption,
|
|
&ett_nr_rrc_T_tpc_PUSCH,
|
|
&ett_nr_rrc_T_tpc_PUCCH,
|
|
&ett_nr_rrc_T_tpc_SRS,
|
|
&ett_nr_rrc_PDCCH_ConfigCommon,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SearchSpace,
|
|
&ett_nr_rrc_PDCCH_ServingCellConfig,
|
|
&ett_nr_rrc_T_slotFormatIndicator,
|
|
&ett_nr_rrc_PDCP_Config,
|
|
&ett_nr_rrc_T_drb,
|
|
&ett_nr_rrc_T_headerCompression,
|
|
&ett_nr_rrc_T_rohc,
|
|
&ett_nr_rrc_T_profiles,
|
|
&ett_nr_rrc_T_uplinkOnlyROHC,
|
|
&ett_nr_rrc_T_profiles_01,
|
|
&ett_nr_rrc_T_moreThanOneRLC,
|
|
&ett_nr_rrc_T_primaryPath,
|
|
&ett_nr_rrc_PDSCH_Config,
|
|
&ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeA,
|
|
&ett_nr_rrc_T_dmrs_DownlinkForPDSCH_MappingTypeB,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_State,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofTCI_States_OF_TCI_StateId,
|
|
&ett_nr_rrc_T_pdsch_TimeDomainAllocationList,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPattern,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofRateMatchPatterns_OF_RateMatchPatternId,
|
|
&ett_nr_rrc_T_prb_BundlingType,
|
|
&ett_nr_rrc_T_staticBundling,
|
|
&ett_nr_rrc_T_dynamicBundling,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_Resource,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_Resources_OF_ZP_CSI_RS_ResourceId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourceSets_OF_ZP_CSI_RS_ResourceSetId,
|
|
&ett_nr_rrc_T_p_ZP_CSI_RS_ResourceSet,
|
|
&ett_nr_rrc_RateMatchPatternGroup,
|
|
&ett_nr_rrc_RateMatchPatternGroup_item,
|
|
&ett_nr_rrc_PDSCH_ConfigCommon,
|
|
&ett_nr_rrc_PDSCH_ServingCellConfig,
|
|
&ett_nr_rrc_T_codeBlockGroupTransmission,
|
|
&ett_nr_rrc_PDSCH_CodeBlockGroupTransmission,
|
|
&ett_nr_rrc_PDSCH_TimeDomainResourceAllocationList,
|
|
&ett_nr_rrc_PDSCH_TimeDomainResourceAllocation,
|
|
&ett_nr_rrc_PhysicalCellGroupConfig,
|
|
&ett_nr_rrc_T_cs_RNTI,
|
|
&ett_nr_rrc_PTRS_DownlinkConfig,
|
|
&ett_nr_rrc_T_frequencyDensity,
|
|
&ett_nr_rrc_T_timeDensity,
|
|
&ett_nr_rrc_PTRS_UplinkConfig,
|
|
&ett_nr_rrc_T_modeSpecificParameters,
|
|
&ett_nr_rrc_T_cp_OFDM,
|
|
&ett_nr_rrc_T_frequencyDensity_01,
|
|
&ett_nr_rrc_T_timeDensity_01,
|
|
&ett_nr_rrc_T_dft_S_OFDM,
|
|
&ett_nr_rrc_T_sampleDensity,
|
|
&ett_nr_rrc_PUCCH_Config,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourceSets_OF_PUCCH_ResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_Resource,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_Resources_OF_PUCCH_ResourceId,
|
|
&ett_nr_rrc_T_format1,
|
|
&ett_nr_rrc_T_format2,
|
|
&ett_nr_rrc_T_format3,
|
|
&ett_nr_rrc_T_format4,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_Resources_OF_SchedulingRequestResourceId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_2_OF_PUCCH_ResourceId,
|
|
&ett_nr_rrc_T_dl_DataToUL_ACK,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfo,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSpatialRelationInfos_OF_PUCCH_SpatialRelationInfoId,
|
|
&ett_nr_rrc_PUCCH_FormatConfig,
|
|
&ett_nr_rrc_PUCCH_SpatialRelationInfo,
|
|
&ett_nr_rrc_T_referenceSignal,
|
|
&ett_nr_rrc_T_srs,
|
|
&ett_nr_rrc_PUCCH_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_ResourcesPerSet_OF_PUCCH_ResourceId,
|
|
&ett_nr_rrc_PUCCH_Resource,
|
|
&ett_nr_rrc_T_format,
|
|
&ett_nr_rrc_PUCCH_format0,
|
|
&ett_nr_rrc_PUCCH_format1,
|
|
&ett_nr_rrc_PUCCH_format2,
|
|
&ett_nr_rrc_PUCCH_format3,
|
|
&ett_nr_rrc_PUCCH_format4,
|
|
&ett_nr_rrc_PUCCH_ConfigCommon,
|
|
&ett_nr_rrc_PUCCH_PowerControl,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_P0_PerSet_OF_P0_PUCCH,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUCCH_PathlossReferenceRSs_OF_PUCCH_PathlossReferenceRS,
|
|
&ett_nr_rrc_P0_PUCCH,
|
|
&ett_nr_rrc_PUCCH_PathlossReferenceRS,
|
|
&ett_nr_rrc_T_referenceSignal_01,
|
|
&ett_nr_rrc_PUCCH_TPC_CommandConfig,
|
|
&ett_nr_rrc_PUSCH_Config,
|
|
&ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeA,
|
|
&ett_nr_rrc_T_dmrs_UplinkForPUSCH_MappingTypeB,
|
|
&ett_nr_rrc_T_frequencyHoppingOffsetLists,
|
|
&ett_nr_rrc_T_pusch_TimeDomainAllocationList,
|
|
&ett_nr_rrc_T_uci_OnPUSCH_01,
|
|
&ett_nr_rrc_UCI_OnPUSCH,
|
|
&ett_nr_rrc_T_betaOffsets,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_4_OF_BetaOffsets,
|
|
&ett_nr_rrc_PUSCH_ConfigCommon,
|
|
&ett_nr_rrc_PUSCH_PowerControl,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofP0_PUSCH_AlphaSets_OF_P0_PUSCH_AlphaSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPUSCH_PathlossReferenceRSs_OF_PUSCH_PathlossReferenceRS_Id,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControl,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRI_PUSCH_Mappings_OF_SRI_PUSCH_PowerControlId,
|
|
&ett_nr_rrc_P0_PUSCH_AlphaSet,
|
|
&ett_nr_rrc_PUSCH_PathlossReferenceRS,
|
|
&ett_nr_rrc_T_referenceSignal_02,
|
|
&ett_nr_rrc_SRI_PUSCH_PowerControl,
|
|
&ett_nr_rrc_BetaOffsets,
|
|
&ett_nr_rrc_PUSCH_ServingCellConfig,
|
|
&ett_nr_rrc_T_codeBlockGroupTransmission_01,
|
|
&ett_nr_rrc_PUSCH_CodeBlockGroupTransmission,
|
|
&ett_nr_rrc_PUSCH_TimeDomainResourceAllocationList,
|
|
&ett_nr_rrc_PUSCH_TimeDomainResourceAllocation,
|
|
&ett_nr_rrc_PUSCH_TPC_CommandConfig,
|
|
&ett_nr_rrc_QuantityConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQuantityConfig_OF_QuantityConfigNR,
|
|
&ett_nr_rrc_QuantityConfigNR,
|
|
&ett_nr_rrc_QuantityConfigRS,
|
|
&ett_nr_rrc_FilterConfig,
|
|
&ett_nr_rrc_RACH_ConfigCommon,
|
|
&ett_nr_rrc_T_ssb_perRACH_OccasionAndCB_PreamblesPerSSB,
|
|
&ett_nr_rrc_T_groupBconfigured,
|
|
&ett_nr_rrc_T_prach_RootSequenceIndex,
|
|
&ett_nr_rrc_RACH_ConfigGeneric,
|
|
&ett_nr_rrc_RACH_ConfigDedicated,
|
|
&ett_nr_rrc_CFRA,
|
|
&ett_nr_rrc_T_occasions,
|
|
&ett_nr_rrc_T_resources,
|
|
&ett_nr_rrc_T_ssb,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_SSB_Resources_OF_CFRA_SSB_Resource,
|
|
&ett_nr_rrc_T_csirs,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxRA_CSIRS_Resources_OF_CFRA_CSIRS_Resource,
|
|
&ett_nr_rrc_CFRA_SSB_Resource,
|
|
&ett_nr_rrc_CFRA_CSIRS_Resource,
|
|
&ett_nr_rrc_T_ra_OccasionList_01,
|
|
&ett_nr_rrc_RA_Prioritization,
|
|
&ett_nr_rrc_RadioBearerConfig,
|
|
&ett_nr_rrc_SRB_ToAddModList,
|
|
&ett_nr_rrc_SRB_ToAddMod,
|
|
&ett_nr_rrc_DRB_ToAddModList,
|
|
&ett_nr_rrc_DRB_ToAddMod,
|
|
&ett_nr_rrc_T_cnAssociation,
|
|
&ett_nr_rrc_DRB_ToReleaseList,
|
|
&ett_nr_rrc_SecurityConfig,
|
|
&ett_nr_rrc_RadioLinkMonitoringConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofFailureDetectionResources_OF_RadioLinkMonitoringRS_Id,
|
|
&ett_nr_rrc_RadioLinkMonitoringRS,
|
|
&ett_nr_rrc_T_detectionResource,
|
|
&ett_nr_rrc_RateMatchPattern,
|
|
&ett_nr_rrc_T_patternType,
|
|
&ett_nr_rrc_T_bitmaps,
|
|
&ett_nr_rrc_T_symbolsInResourceBlock,
|
|
&ett_nr_rrc_T_periodicityAndPattern,
|
|
&ett_nr_rrc_RateMatchPatternLTE_CRS,
|
|
&ett_nr_rrc_ReportConfigNR,
|
|
&ett_nr_rrc_T_reportType,
|
|
&ett_nr_rrc_EventTriggerConfig,
|
|
&ett_nr_rrc_T_eventId,
|
|
&ett_nr_rrc_T_eventA1,
|
|
&ett_nr_rrc_T_eventA2,
|
|
&ett_nr_rrc_T_eventA3,
|
|
&ett_nr_rrc_T_eventA4,
|
|
&ett_nr_rrc_T_eventA5,
|
|
&ett_nr_rrc_T_eventA6,
|
|
&ett_nr_rrc_PeriodicalReportConfig,
|
|
&ett_nr_rrc_MeasTriggerQuantity,
|
|
&ett_nr_rrc_MeasTriggerQuantityOffset,
|
|
&ett_nr_rrc_MeasReportQuantity,
|
|
&ett_nr_rrc_ReportConfigToAddModList,
|
|
&ett_nr_rrc_ReportConfigToAddMod,
|
|
&ett_nr_rrc_T_reportConfig,
|
|
&ett_nr_rrc_RLC_BearerConfig,
|
|
&ett_nr_rrc_T_servedRadioBearer,
|
|
&ett_nr_rrc_RLC_Config,
|
|
&ett_nr_rrc_T_am,
|
|
&ett_nr_rrc_T_um_Bi_Directional,
|
|
&ett_nr_rrc_T_um_Uni_Directional_UL,
|
|
&ett_nr_rrc_T_um_Uni_Directional_DL,
|
|
&ett_nr_rrc_UL_AM_RLC,
|
|
&ett_nr_rrc_DL_AM_RLC,
|
|
&ett_nr_rrc_UL_UM_RLC,
|
|
&ett_nr_rrc_DL_UM_RLC,
|
|
&ett_nr_rrc_RLF_TimersAndConstants,
|
|
&ett_nr_rrc_SchedulingRequestConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestToAddMod,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSR_ConfigPerCellGroup_OF_SchedulingRequestId,
|
|
&ett_nr_rrc_SchedulingRequestToAddMod,
|
|
&ett_nr_rrc_SchedulingRequestResourceConfig,
|
|
&ett_nr_rrc_T_periodicityAndOffset,
|
|
&ett_nr_rrc_SCS_SpecificCarrier,
|
|
&ett_nr_rrc_SDAP_Config,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofQFIs_OF_QFI,
|
|
&ett_nr_rrc_SearchSpace,
|
|
&ett_nr_rrc_T_monitoringSlotPeriodicityAndOffset,
|
|
&ett_nr_rrc_T_nrofCandidates,
|
|
&ett_nr_rrc_T_searchSpaceType,
|
|
&ett_nr_rrc_T_common,
|
|
&ett_nr_rrc_T_dci_Format0_0_AndFormat1_0,
|
|
&ett_nr_rrc_T_dci_Format2_0,
|
|
&ett_nr_rrc_T_nrofCandidates_SFI,
|
|
&ett_nr_rrc_T_dci_Format2_1,
|
|
&ett_nr_rrc_T_dci_Format2_2,
|
|
&ett_nr_rrc_T_dci_Format2_3,
|
|
&ett_nr_rrc_T_ue_Specific,
|
|
&ett_nr_rrc_SecurityAlgorithmConfig,
|
|
&ett_nr_rrc_ServingCellConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Id,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Downlink,
|
|
&ett_nr_rrc_T_pdcch_ServingCellConfig,
|
|
&ett_nr_rrc_T_pdsch_ServingCellConfig,
|
|
&ett_nr_rrc_T_csi_MeasConfig,
|
|
&ett_nr_rrc_UplinkConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofBWPs_OF_BWP_Uplink,
|
|
&ett_nr_rrc_T_pusch_ServingCellConfig,
|
|
&ett_nr_rrc_T_carrierSwitching,
|
|
&ett_nr_rrc_ServingCellConfigCommon,
|
|
&ett_nr_rrc_T_ssb_PositionsInBurst_01,
|
|
&ett_nr_rrc_T_lte_CRS_ToMatchAround,
|
|
&ett_nr_rrc_SlotFormatCombinationsPerCell,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlotFormatCombinationsPerSet_OF_SlotFormatCombination,
|
|
&ett_nr_rrc_SlotFormatCombination,
|
|
&ett_nr_rrc_T_slotFormats,
|
|
&ett_nr_rrc_SlotFormatIndicator,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_SlotFormatCombinationsPerCell,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofAggregatedCellsPerCellGroup_OF_ServCellIndex,
|
|
&ett_nr_rrc_SS_RSSI_Measurement,
|
|
&ett_nr_rrc_SPS_Config,
|
|
&ett_nr_rrc_SRS_Config,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSetId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourceSets_OF_SRS_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_ResourceId,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_Resources_OF_SRS_Resource,
|
|
&ett_nr_rrc_SRS_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSRS_ResourcesPerSet_OF_SRS_ResourceId,
|
|
&ett_nr_rrc_T_resourceType_01,
|
|
&ett_nr_rrc_T_aperiodic_01,
|
|
&ett_nr_rrc_T_semi_persistent,
|
|
&ett_nr_rrc_T_periodic_01,
|
|
&ett_nr_rrc_T_pathlossReferenceRS,
|
|
&ett_nr_rrc_SRS_Resource,
|
|
&ett_nr_rrc_T_transmissionComb,
|
|
&ett_nr_rrc_T_n2,
|
|
&ett_nr_rrc_T_n4,
|
|
&ett_nr_rrc_T_resourceMapping,
|
|
&ett_nr_rrc_T_freqHopping,
|
|
&ett_nr_rrc_T_resourceType_02,
|
|
&ett_nr_rrc_T_aperiodic_02,
|
|
&ett_nr_rrc_T_semi_persistent_01,
|
|
&ett_nr_rrc_T_periodic_02,
|
|
&ett_nr_rrc_SRS_SpatialRelationInfo,
|
|
&ett_nr_rrc_T_referenceSignal_03,
|
|
&ett_nr_rrc_T_srs_01,
|
|
&ett_nr_rrc_SRS_PeriodicityAndOffset,
|
|
&ett_nr_rrc_SRS_CarrierSwitching,
|
|
&ett_nr_rrc_T_srs_TPC_PDCCH_Group,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_32_OF_SRS_TPC_PDCCH_Config,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_ServCellIndex,
|
|
&ett_nr_rrc_SRS_TPC_PDCCH_Config,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_4_OF_SRS_CC_SetIndex,
|
|
&ett_nr_rrc_SRS_CC_SetIndex,
|
|
&ett_nr_rrc_SRS_TPC_CommandConfig,
|
|
&ett_nr_rrc_SSB_MTC,
|
|
&ett_nr_rrc_T_periodicityAndOffset_01,
|
|
&ett_nr_rrc_SSB_MTC2,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofPCIsPerSMTC_OF_PhysCellId,
|
|
&ett_nr_rrc_TCI_State,
|
|
&ett_nr_rrc_QCL_Info,
|
|
&ett_nr_rrc_T_referenceSignal_04,
|
|
&ett_nr_rrc_TDD_UL_DL_ConfigCommon,
|
|
&ett_nr_rrc_TDD_UL_DL_Pattern,
|
|
&ett_nr_rrc_TDD_UL_DL_ConfigDedicated,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotConfig,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofSlots_OF_TDD_UL_DL_SlotIndex,
|
|
&ett_nr_rrc_TDD_UL_DL_SlotConfig,
|
|
&ett_nr_rrc_T_symbols,
|
|
&ett_nr_rrc_T_explicit,
|
|
&ett_nr_rrc_UplinkConfigCommon,
|
|
&ett_nr_rrc_ZP_CSI_RS_Resource,
|
|
&ett_nr_rrc_ZP_CSI_RS_ResourceSet,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofZP_CSI_RS_ResourcesPerSet_OF_ZP_CSI_RS_ResourceId,
|
|
&ett_nr_rrc_BandCombinationList,
|
|
&ett_nr_rrc_BandCombination,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxSimultaneousBands_OF_BandParameters,
|
|
&ett_nr_rrc_BandParameters,
|
|
&ett_nr_rrc_T_eutra,
|
|
&ett_nr_rrc_T_nr,
|
|
&ett_nr_rrc_CA_ParametersNR,
|
|
&ett_nr_rrc_CA_ParametersEUTRA,
|
|
&ett_nr_rrc_FeatureSetCombination,
|
|
&ett_nr_rrc_FeatureSetsPerBand,
|
|
&ett_nr_rrc_FeatureSet,
|
|
&ett_nr_rrc_T_eutra_01,
|
|
&ett_nr_rrc_T_nr_01,
|
|
&ett_nr_rrc_FeatureSetDownlink,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetDownlinkPerCC_Id,
|
|
&ett_nr_rrc_T_timeDurationForQCL,
|
|
&ett_nr_rrc_T_pdsch_DifferentTB_PerSlot,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_SinglePanelCodebook,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeI_MultiPanelCodebook,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_Codebook,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofCodebooks_OF_TypeII_CodebookPortSelection,
|
|
&ett_nr_rrc_CSI_RS_IM_ReceptionForFeedback,
|
|
&ett_nr_rrc_TypeI_SinglePanelCodebook,
|
|
&ett_nr_rrc_TypeI_MultiPanelCodebook,
|
|
&ett_nr_rrc_TypeII_Codebook,
|
|
&ett_nr_rrc_TypeII_CodebookPortSelection,
|
|
&ett_nr_rrc_FeatureSetDownlinkPerCC,
|
|
&ett_nr_rrc_FeatureSetUplink,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxNrofServingCells_OF_FeatureSetUplinkPerCC_Id,
|
|
&ett_nr_rrc_T_pusch_DifferentTB_PerSlot,
|
|
&ett_nr_rrc_CSI_ReportFramework,
|
|
&ett_nr_rrc_FeatureSetUplinkPerCC,
|
|
&ett_nr_rrc_T_mimo_CB_PUSCH,
|
|
&ett_nr_rrc_FeatureSets,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxDownlinkFeatureSets_OF_FeatureSetDownlink,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetDownlinkPerCC,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxUplinkFeatureSets_OF_FeatureSetUplink,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxPerCC_FeatureSets_OF_FeatureSetUplinkPerCC,
|
|
&ett_nr_rrc_FreqBandList,
|
|
&ett_nr_rrc_FreqBandInformation,
|
|
&ett_nr_rrc_FreqBandInformationEUTRA,
|
|
&ett_nr_rrc_FreqBandInformationNR,
|
|
&ett_nr_rrc_MRDC_Parameters,
|
|
&ett_nr_rrc_SupportedBandwidth,
|
|
&ett_nr_rrc_UE_CapabilityRAT_ContainerList,
|
|
&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_09,
|
|
&ett_nr_rrc_UE_MRDC_CapabilityAddXDD_Mode,
|
|
&ett_nr_rrc_UE_MRDC_CapabilityAddFRX_Mode,
|
|
&ett_nr_rrc_GeneralParametersMRDC_XDD_Diff,
|
|
&ett_nr_rrc_RF_ParametersMRDC,
|
|
&ett_nr_rrc_MeasParametersMRDC,
|
|
&ett_nr_rrc_MeasParametersMRDC_Common,
|
|
&ett_nr_rrc_MeasParametersMRDC_XDD_Diff,
|
|
&ett_nr_rrc_MeasParametersMRDC_FRX_Diff,
|
|
&ett_nr_rrc_UE_NR_Capability,
|
|
&ett_nr_rrc_T_nonCriticalExtension_10,
|
|
&ett_nr_rrc_UE_NR_CapabilityAddXDD_Mode,
|
|
&ett_nr_rrc_UE_NR_CapabilityAddFRX_Mode,
|
|
&ett_nr_rrc_Phy_Parameters,
|
|
&ett_nr_rrc_Phy_ParametersCommon,
|
|
&ett_nr_rrc_Phy_ParametersXDD_Diff,
|
|
&ett_nr_rrc_Phy_ParametersFRX_Diff,
|
|
&ett_nr_rrc_Phy_ParametersFR1,
|
|
&ett_nr_rrc_Phy_ParametersFR2,
|
|
&ett_nr_rrc_RF_Parameters,
|
|
&ett_nr_rrc_SEQUENCE_SIZE_1_maxBands_OF_BandNR,
|
|
&ett_nr_rrc_BandNR,
|
|
&ett_nr_rrc_MIMO_ParametersPerBand,
|
|
&ett_nr_rrc_T_tci_StatePDSCH,
|
|
&ett_nr_rrc_T_maxNumberRxTxBeamSwitchDL,
|
|
&ett_nr_rrc_T_uplinkBeamManagement,
|
|
&ett_nr_rrc_T_beamReportTiming,
|
|
&ett_nr_rrc_T_ptrs_DensityRecommendationSetDL,
|
|
&ett_nr_rrc_T_ptrs_DensityRecommendationSetUL,
|
|
&ett_nr_rrc_BeamManagementSSB_CSI_RS,
|
|
&ett_nr_rrc_CSI_RS_ForTracking,
|
|
&ett_nr_rrc_PTRS_DensityRecommendationDL,
|
|
&ett_nr_rrc_PTRS_DensityRecommendationUL,
|
|
&ett_nr_rrc_SRS_Resources,
|
|
&ett_nr_rrc_SRS_TxSwitch,
|
|
&ett_nr_rrc_PDCP_Parameters,
|
|
&ett_nr_rrc_T_supportedROHC_Profiles,
|
|
&ett_nr_rrc_RLC_Parameters,
|
|
&ett_nr_rrc_MAC_Parameters,
|
|
&ett_nr_rrc_MAC_ParametersCommon,
|
|
&ett_nr_rrc_MAC_ParametersXDD_Diff,
|
|
&ett_nr_rrc_MeasParameters,
|
|
&ett_nr_rrc_MeasParametersCommon,
|
|
&ett_nr_rrc_MeasParametersXDD_Diff,
|
|
&ett_nr_rrc_MeasParametersFRX_Diff,
|
|
|
|
/*--- End of included file: packet-nr-rrc-ettarr.c ---*/
|
|
#line 85 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
&ett_nr_rrc_UECapabilityInformation
|
|
};
|
|
|
|
/* Register protocol */
|
|
proto_nr_rrc = proto_register_protocol(PNAME, PSNAME, PFNAME);
|
|
|
|
/* Register fields and subtrees */
|
|
proto_register_field_array(proto_nr_rrc, hf, array_length(hf));
|
|
proto_register_subtree_array(ett, array_length(ett));
|
|
|
|
/* Register the dissectors defined in nr-rrc.cnf */
|
|
|
|
/*--- Included file: packet-nr-rrc-dis-reg.c ---*/
|
|
#line 1 "./asn1/nr-rrc/packet-nr-rrc-dis-reg.c"
|
|
register_dissector("nr-rrc.bcch.bch", dissect_BCCH_BCH_Message_PDU, proto_nr_rrc);
|
|
register_dissector("nr-rrc.dl.dcch", dissect_DL_DCCH_Message_PDU, proto_nr_rrc);
|
|
register_dissector("nr-rrc.ul.dcch", dissect_nr_rrc_UL_DCCH_Message_PDU, proto_nr_rrc);
|
|
register_dissector("nr-rrc.ue_mrdc_cap", dissect_nr_rrc_UE_MRDC_Capability_PDU, proto_nr_rrc);
|
|
register_dissector("nr-rrc.ue_nr_cap", dissect_nr_rrc_UE_NR_Capability_PDU, proto_nr_rrc);
|
|
|
|
|
|
/*--- End of included file: packet-nr-rrc-dis-reg.c ---*/
|
|
#line 97 "./asn1/nr-rrc/packet-nr-rrc-template.c"
|
|
}
|
|
|
|
void
|
|
proto_reg_handoff_nr_rrc(void)
|
|
{
|
|
}
|